pkgname: python pkgver: '3.14.7' pkgrel: '2' pkgdesc: Next generation of the python high-level scripting language url: 'https://www.python.org' arch: x86_64 license: - PSF-2.0 depends: - openssl # OpenSSL jest twardą zależnością RUNTIME: moduł _ssl (a więc cały HTTPS w # urllib/requests) linkuje do libssl.so.4/libcrypto.so.4 z pakietu openssl. # Bez wpisu w depends `pag install python` nie dociągał OpenSSL, a na systemie # zostawał sam libssl.so.3 → `import ssl` → „cannot open shared object file: # libssl.so.4”, a `pag self-update` — „unknown url type: https”. # Wirtualna nazwa `python3` – w repo pakiet nazywa się `python`, ale `pag` # i `ca-certificates` deklarują zależność `python3` (konwencja LFS/BLFS). # Bez tego `pag install pag` szuka pakietu `python3` i nie znajduje go, # mimo że interpreter jest w rootfs. pagbuild zapisuje to do metadata.json # (pole `provides`), a repo.json i klient `pag` rozwiązują przez nie. provides: - python3 makedepends: - openssl - bzip2 - xz - gdbm - zlib - util-linux - ncurses - sqlite - expat - libffi - libxcrypt source: - 'https://www.python.org/ftp/python/${pkgver}/Python-${pkgver}.tar.xz' - 'https://www.python.org/ftp/python/doc/${pkgver}/python-${pkgver}-docs-html.tar.bz2' - python.png - ${pkgname}-${pkgver}-openssl_4-1.patch sha256sums: - 3b48dac8fb59f62eaa67ac83c1eb12bda1b7a08406dd286e252c11a66be27f81 - d484b784ec35c5776c5ff55f81fa984b5251a38b532b24bb00e43148bd73ffe9 - f1dda89944f7526ed47a710463f91c3d1b7dd5121ca64328657bed6c490b3466 - 707a0c457192ac2f3b5b8a51481bc5ebd12db22d57c1dbe0256138ee6e070792 build: "bsdtar -xf Python-${pkgver}.tar.xz\ncd Python-${pkgver}\npatch -Np1 -i ../${pkgname}-${pkgver}-openssl_4-1.patch\nCXX=\"/usr/bin/g++\" \\\n./configure --prefix=/usr \\\n --enable-shared \\\n --with-system-expat \\\n --with-ensurepip=no\nmake\n\nmake DESTDIR=${PKGDIR} install\n\nchmod -v 755 ${PKGDIR}/usr/lib/libpython3.14.so\nchmod -v 755 ${PKGDIR}//usr/lib/libpython3.so\n\nln -s python3 ${PKGDIR}/usr/bin/python\nln -s python3-config ${PKGDIR}/usr/bin/python-config\nln -s idle3 ${PKGDIR}/usr/bin/idle\nln -s pydoc3 ${PKGDIR}/usr/bin/pydoc\nfor i in pep517 tomli\ndo\n\n\tln -s /usr/lib/python3.14/site-packages/pip/_vendor/$i \\\n\t\t${PKGDIR}//usr/lib/python3.14/site-packages/$i\ndone\nln -s python3.14.1 ${PKGDIR}/usr/share/man/man1/python.1\n\n# Install all HTML Docs files with desktop menu integration\n\n install -v -dm755 ${PKGDIR}/usr/share/doc/${pkgname}/html\n cd .\n tar --strip-components=1 \\\n --no-same-owner \\\n --no-same-permissions \\\n -C ${PKGDIR}/usr/share/doc/${pkgname}/html \\\n -xvf ../python-${pkgver}-docs-html.tar.bz2 || true\n\n find ${PKGDIR}/usr/share/doc/${pkgname} -type d -exec chmod 0755 {} \\;\n find ${PKGDIR}/usr/share/doc/${pkgname} -type f -exec chmod 0644 {} \\;\n\n mkdir -p ${PKGDIR}/usr/share/applications\n echo \"[Desktop Entry]\nCategories=Development;Documentation\nExec=xdg-open file:///usr/share/doc/${pkgname}/html/index.html\nIcon=${pkgname}\nStartupNotify=false\nTerminal=false\nType=Application\nName=Python Documentation\nName[fr]=Documentation Python\" > ${PKGDIR}/usr/share/applications/${pkgname}.desktop\n install -Dm644 ../${pkgname}.png \\\n ${PKGDIR}/usr/share/icons/hicolor/16x16/apps/${pkgname}.png\n\n# Sanity: _ssl musi istnieć – inaczej HTTPS w Pythonie nie działa\n# (urllib/requests, pip, a więc i `pag self-update`).\nif ! ls ${PKGDIR}/usr/lib/python3.14/lib-dynload/_ssl*.so >/dev/null 2>&1; then\n echo \"❌ python: brak modułu _ssl – OpenSSL nie wykryty przy budowie\" >&2\n exit 1\nfi\n" package: | true