forked from rosa/hakurei
508 lines
10 KiB
Go
508 lines
10 KiB
Go
package python {
|
|
description = "the Python programming language interpreter";
|
|
website = "https://www.python.org";
|
|
anitya = 13254;
|
|
|
|
version* = "3.14.5";
|
|
source = remoteTar {
|
|
url = "https://www.python.org/ftp/python/"+version+
|
|
"/Python-"+version+".tgz";
|
|
checksum = "zYIpDlk2ftZ-UVGCQS1rthle2OHoyXV653ztWiopKV1NhmIJf1K2hHbkwM4DozQ9";
|
|
compress = gzip;
|
|
};
|
|
patches = [ "zipfile-no-default-strict_timestamps.patch" ];
|
|
|
|
// test_synopsis_sourceless assumes this is writable and checks __pycache__
|
|
writable = true;
|
|
chmod = true;
|
|
|
|
env = [
|
|
"EXTRATESTOPTS=-j0 -x " + join {
|
|
elems = [
|
|
// requires internet access (http://www.pythontest.net/)
|
|
"test_asyncio",
|
|
"test_socket",
|
|
"test_urllib2",
|
|
"test_urllibnet",
|
|
"test_urllib2net",
|
|
|
|
// makes assumptions about uid_map/gid_map
|
|
"test_os",
|
|
"test_subprocess",
|
|
|
|
// patched out insane strict_timestamps default
|
|
"test_zipfile",
|
|
|
|
// requires gcc
|
|
"test_ctypes",
|
|
|
|
// breaks on llvm
|
|
"test_dbm_gnu",
|
|
];
|
|
sep = " -x ";
|
|
},
|
|
|
|
// _ctypes appears to infer something from the linker name
|
|
"LDFLAGS=-Wl,--dynamic-linker=/system/lib/" +
|
|
"ld-musl-" + linuxArch + ".so.1",
|
|
];
|
|
|
|
exec = make {
|
|
check = [ "test" ];
|
|
};
|
|
|
|
inputs = [
|
|
zlib,
|
|
bzip2,
|
|
libffi,
|
|
openssl,
|
|
|
|
pkg-config,
|
|
xz,
|
|
];
|
|
|
|
runtime = [
|
|
zlib,
|
|
bzip2,
|
|
libffi,
|
|
openssl,
|
|
];
|
|
}
|
|
|
|
package python-setuptools {
|
|
description = "the autotools of the Python ecosystem";
|
|
website = "https://pypi.org/project/setuptools";
|
|
anitya = 4021;
|
|
|
|
version* = "82.0.1";
|
|
source = remoteGitHub {
|
|
suffix = "pypa/setuptools";
|
|
tag = "v"+version;
|
|
checksum = "nznP46Tj539yqswtOrIM4nQgwLA1h-ApKX7z7ghazROCpyF5swtQGwsZoI93wkhc";
|
|
};
|
|
|
|
exec = pip {
|
|
// error: invalid command 'dist_info'
|
|
buildIsolation = true;
|
|
// pytest circular dependency
|
|
skipCheck = true;
|
|
};
|
|
|
|
runtime = [ python ];
|
|
}
|
|
|
|
package python-wheel {
|
|
description = "the official binary distribution format for Python";
|
|
website = "https://peps.python.org/pep-0427";
|
|
anitya = 11428;
|
|
|
|
version* = "0.47.0";
|
|
source = remoteGitHub {
|
|
suffix = "pypa/wheel";
|
|
tag = version;
|
|
checksum = "HZ-MvkUP8mbbx2YmsRNswj_bbOCIiXckuHqL5Qbvb5NxN5DYfWnqwkGNyS7OrId0";
|
|
};
|
|
|
|
exec = pip {
|
|
install = true;
|
|
};
|
|
|
|
inputs = [
|
|
python-flit-core,
|
|
python-setuptools,
|
|
];
|
|
|
|
runtime = [ python ];
|
|
}
|
|
|
|
package python-vcs-versioning {
|
|
description = "core VCS versioning functionality extracted as a standalone library";
|
|
website = "https://setuptools-scm.readthedocs.io/en/latest";
|
|
anitya = 389421;
|
|
|
|
version* = "1.1.1";
|
|
source = remoteGitHub {
|
|
suffix = "pypa/setuptools-scm";
|
|
tag = "vcs-versioning-v"+version;
|
|
checksum = "rXZixTsZcRcIoUC1LvWrjySsiXSv5uhW6ng2P-yXZrbdj7FrSrDeJLCfC2b-ladV";
|
|
};
|
|
|
|
env = [
|
|
"SETUPTOOLS_SCM_PRETEND_VERSION=" + version,
|
|
];
|
|
|
|
exec = pip {
|
|
// upstream is monorepo of two packages (setuptools-scm)
|
|
append = [ "vcs-versioning" ];
|
|
// pytest circular dependency
|
|
skipCheck = true;
|
|
};
|
|
|
|
inputs = [
|
|
python-setuptools,
|
|
python-packaging,
|
|
];
|
|
|
|
runtime = [
|
|
python-setuptools,
|
|
python-packaging,
|
|
];
|
|
}
|
|
|
|
package python-setuptools-scm {
|
|
description = "extracts Python package versions from Git or Mercurial metadata";
|
|
website = "https://setuptools-scm.readthedocs.io/en/latest";
|
|
anitya = 7874;
|
|
|
|
version* = "10.0.5";
|
|
source = remoteGitHub {
|
|
suffix = "pypa/setuptools-scm";
|
|
tag = "setuptools-scm-v"+version;
|
|
checksum = "vTN_TPd-b4Wbsw5WmAcsWjrs-FNXXznOeVTDnb54NtXve9Oy-eb2HPy-RG3FzNqp";
|
|
};
|
|
|
|
env = [
|
|
"SETUPTOOLS_SCM_PRETEND_VERSION=" + version,
|
|
];
|
|
|
|
exec = pip {
|
|
// upstream is monorepo of two packages
|
|
append = [ "setuptools-scm" ];
|
|
// pytest circular dependency
|
|
skipCheck = true;
|
|
};
|
|
|
|
inputs = [
|
|
python-setuptools,
|
|
python-vcs-versioning,
|
|
];
|
|
|
|
runtime = [
|
|
python-setuptools,
|
|
python-vcs-versioning,
|
|
];
|
|
}
|
|
|
|
package python-flit-core {
|
|
description = "a PEP 517 build backend for packages using Flit";
|
|
website = "https://flit.pypa.io";
|
|
anitya = 44841;
|
|
|
|
version* = "3.12.0";
|
|
source = remoteGitHub {
|
|
suffix = "pypa/flit";
|
|
tag = version;
|
|
checksum = "VcTsiGiDU1aPLbjSPe38f9OjJDCLcxFz9loObJqUI1ZxDHXAaQMxBpNyLz_G1Rff";
|
|
};
|
|
|
|
exec = pip {
|
|
// upstream has other unused packages with many dependencies
|
|
append = [ "flit_core" ];
|
|
// pytest circular dependency
|
|
skipCheck = true;
|
|
};
|
|
|
|
runtime = [ python ];
|
|
}
|
|
|
|
package python-packaging {
|
|
description = "reusable core utilities for various Python Packaging interoperability specifications";
|
|
website = "https://packaging.pypa.io";
|
|
anitya = 60461;
|
|
|
|
version* = "26.2";
|
|
source = remoteGitHub {
|
|
suffix = "pypa/packaging";
|
|
tag = version;
|
|
checksum = "rdpGa2EkPFbj1mFtLKLnSwIX9gPfELcuneiICjRVDNw6By49szTFVoW8gtMMZ6ZS";
|
|
};
|
|
|
|
exec = pip {
|
|
// pytest circular dependency
|
|
skipCheck = true;
|
|
};
|
|
|
|
inputs = [ python-flit-core ];
|
|
runtime = [ python ];
|
|
}
|
|
|
|
package python-pathspec {
|
|
description = "utility library for gitignore style pattern matching of file paths";
|
|
website = "https://github.com/cpburnz/python-pathspec";
|
|
anitya = 23424;
|
|
|
|
version* = "1.1.1";
|
|
source = remoteGitHub {
|
|
suffix = "cpburnz/python-pathspec";
|
|
tag = "v"+version;
|
|
checksum = "1fVwoal6FoKXczoG3qRUi87TxSWESSGcgvnbEZDYuaOgsO25o36iF3SbAhwkr4Va";
|
|
};
|
|
|
|
exec = pip {
|
|
// pytest circular dependency
|
|
skipCheck = true;
|
|
};
|
|
|
|
inputs = [ python-flit-core ];
|
|
runtime = [ python ];
|
|
}
|
|
|
|
package python-trove-classifiers {
|
|
description = "canonical source for classifiers on PyPI";
|
|
website = "https://pypi.org/p/trove-classifiers";
|
|
anitya = 88298;
|
|
|
|
version* = "2026.5.22.10";
|
|
source = remoteGitHub {
|
|
suffix = "pypa/trove-classifiers";
|
|
tag = version;
|
|
checksum = "PgFh58qkPCee5SIN62a_8s5kYRrydXODZEqeSgMJItiLrT5kaz8senRGn5B1Hv56";
|
|
};
|
|
|
|
exec = pip {
|
|
// pytest circular dependency
|
|
skipCheck = true;
|
|
};
|
|
|
|
inputs = [ python-setuptools ];
|
|
runtime = [ python ];
|
|
}
|
|
|
|
package python-pluggy {
|
|
description = "the core framework used by the pytest, tox, and devpi projects";
|
|
website = "https://pluggy.readthedocs.io/en/latest";
|
|
anitya = 7500;
|
|
|
|
version* = "1.6.0";
|
|
source = remoteGitHub {
|
|
suffix = "pytest-dev/pluggy";
|
|
tag = version;
|
|
checksum = "GiUgDkKjF8Xn1cmq6iMhTGXzcPIYeaJrvQpHBSAJapNVx4UyuiTXqd5eVlxSClJu";
|
|
};
|
|
|
|
env = [
|
|
"SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PLUGGY=" + version,
|
|
];
|
|
|
|
exec = pip {
|
|
// pytest circular dependency
|
|
skipCheck = true;
|
|
};
|
|
|
|
inputs = [ python-setuptools-scm ];
|
|
runtime = [ python ];
|
|
}
|
|
|
|
package python-hatchling {
|
|
description = "the extensible, standards compliant build backend used by Hatch";
|
|
website = "https://hatch.pypa.io";
|
|
anitya = 16137;
|
|
|
|
version* = "1.16.5";
|
|
source = remoteGitHub {
|
|
suffix = "pypa/hatch";
|
|
tag = "hatch-v"+version;
|
|
checksum = "V2eREtqZLZeV85yb4O-bfAJCUluHcQP76Qfs0QH5s7RF_Oc8xIP8jD0jl85qFyWk";
|
|
};
|
|
|
|
exec = pip {
|
|
// upstream has other unused packages with many dependencies
|
|
append = [ "backend" ];
|
|
// pytest circular dependency
|
|
skipCheck = true;
|
|
};
|
|
|
|
inputs = [
|
|
python-packaging,
|
|
python-pathspec,
|
|
python-trove-classifiers,
|
|
python-pluggy,
|
|
];
|
|
|
|
runtime = [
|
|
python-packaging,
|
|
python-pathspec,
|
|
python-trove-classifiers,
|
|
python-pluggy,
|
|
];
|
|
}
|
|
|
|
package python-pygments {
|
|
description = "a syntax highlighting package written in Python";
|
|
website = "https://pygments.org";
|
|
anitya = 3986;
|
|
|
|
version* = "2.20.0";
|
|
source = remoteGitHub {
|
|
suffix = "pygments/pygments";
|
|
tag = version;
|
|
checksum = "L-2P6vn7c_CNZYliE5CJAWLxO1ziDQVVkf8bnZbHj8aSCQ43oWv11wC9KzU9MeCa";
|
|
};
|
|
|
|
exec = pip {
|
|
// pytest circular dependency
|
|
skipCheck = true;
|
|
};
|
|
|
|
inputs = [ python-hatchling ];
|
|
runtime = [ python ];
|
|
}
|
|
|
|
package python-iniconfig {
|
|
description = "a small and simple INI-file parser module";
|
|
website = "https://github.com/pytest-dev/iniconfig";
|
|
anitya = 114778;
|
|
|
|
version* = "2.3.0";
|
|
source = remoteGitHub {
|
|
suffix = "pytest-dev/iniconfig";
|
|
tag = "v"+version;
|
|
checksum = "mH7VBZaXcYatBPE3RQQZvSzz_Ay8IPPek60NpPHZulPq4ReAFUUsA4EPWfiyMknZ";
|
|
};
|
|
|
|
env = [
|
|
"SETUPTOOLS_SCM_PRETEND_VERSION_FOR_INICONFIG=" + version,
|
|
];
|
|
|
|
exec = pip {
|
|
// pytest circular dependency
|
|
skipCheck = true;
|
|
};
|
|
|
|
inputs = [ python-setuptools-scm ];
|
|
runtime = [ python ];
|
|
}
|
|
|
|
package python-pytest {
|
|
description = "the pytest framework";
|
|
website = "https://pytest.org";
|
|
anitya = 3765;
|
|
|
|
version* = "9.0.3";
|
|
source = remoteGitHub {
|
|
suffix = "pytest-dev/pytest";
|
|
tag = version;
|
|
checksum = "qfLL_znWhbJCDbNJvrx9H3-orJ86z4ifhaW0bIn21jl2sDP-FVoX_1yieOypArQe";
|
|
};
|
|
|
|
env = [
|
|
"SETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTEST=" + version,
|
|
];
|
|
|
|
exec = pip {
|
|
// many dependencies
|
|
skipCheck = true;
|
|
};
|
|
|
|
inputs = [
|
|
python-iniconfig,
|
|
python-packaging,
|
|
python-pluggy,
|
|
python-pygments,
|
|
|
|
python-setuptools-scm,
|
|
];
|
|
|
|
runtime = [
|
|
python-iniconfig,
|
|
python-packaging,
|
|
python-pluggy,
|
|
python-pygments,
|
|
];
|
|
}
|
|
|
|
package python-markupsafe {
|
|
description = "implements a text object that escapes characters so it is safe to use in HTML and XML";
|
|
website = "https://markupsafe.palletsprojects.com";
|
|
anitya = 3918;
|
|
|
|
version* = "3.0.3";
|
|
source = remoteGitHub {
|
|
suffix = "pallets/markupsafe";
|
|
tag = version;
|
|
checksum = "txRGYdWE3his1lHHRI-lZADw0-ILvUg2l5OGdFHtFXIb_QowGxwdxHCUSJIgmjQs";
|
|
};
|
|
|
|
exec = pip {
|
|
// ModuleNotFoundError: No module named 'markupsafe'
|
|
install = true;
|
|
};
|
|
|
|
inputs = [ python-setuptools ];
|
|
runtime = [ python ];
|
|
}
|
|
|
|
package python-mako {
|
|
description = "a template library written in Python";
|
|
website = "https://www.makotemplates.org";
|
|
anitya = 3915;
|
|
|
|
version* = "1.3.12";
|
|
source = remoteGitHub {
|
|
suffix = "sqlalchemy/mako";
|
|
tag = "rel_"+join {
|
|
elems = split {
|
|
s = version;
|
|
sep = ".";
|
|
n = 3;
|
|
};
|
|
sep = "_";
|
|
};
|
|
checksum = "OZbBsQe2MzRuAo5Mr4qRwWHGqU1EEZeBuSprDDIceAtMLIUJtO7SbERlxHIxNhLk";
|
|
};
|
|
|
|
exec = pip {};
|
|
|
|
inputs = [
|
|
python-markupsafe,
|
|
|
|
python-setuptools,
|
|
];
|
|
|
|
runtime = [ python-markupsafe ];
|
|
}
|
|
|
|
package python-pyyaml {
|
|
description = "a YAML parser and emitter for Python";
|
|
website = "https://pyyaml.org";
|
|
anitya = 4123;
|
|
|
|
version* = "6.0.3";
|
|
source = remoteGitHub {
|
|
suffix = "yaml/pyyaml";
|
|
tag = version;
|
|
checksum = "7wDv0RW9chBdu9l5Q4Hun5F2HHdo105ZSIixwdFPKbEYbftW9YxmsegfL-zafnbJ";
|
|
};
|
|
|
|
exec = pip {
|
|
// ModuleNotFoundError: No module named 'yaml'
|
|
install = true;
|
|
};
|
|
|
|
inputs = [ python-setuptools ];
|
|
runtime = [ python ];
|
|
}
|
|
|
|
package python-pycparser {
|
|
description = "complete C99 parser in pure Python";
|
|
website = "https://github.com/eliben/pycparser";
|
|
anitya = 8175;
|
|
|
|
version* = "3.00";
|
|
source = remoteGitHub {
|
|
suffix = "eliben/pycparser";
|
|
tag = "release_v"+version;
|
|
checksum = "4qfCMFKp0fLsRsloOAF780tXX_Ce_68RwinCmjNGObAX32WpF_iBafIKW1S1bYlA";
|
|
};
|
|
|
|
// test case hard codes gcc
|
|
early = `
|
|
ln -s clang /system/bin/gcc
|
|
`;
|
|
|
|
exec = pip {};
|
|
|
|
inputs = [ python-setuptools ];
|
|
runtime = [ python ];
|
|
}
|