Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions py3.12-pip.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package:
name: py3.12-pip
version: "24.0"
epoch: 0
epoch: 1
description: The PyPA recommended tool for installing Python packages.
copyright:
- license: MIT
Expand Down Expand Up @@ -30,10 +30,10 @@ pipeline:
tag: ${{package.version}}

- name: Python Build
runs: python setup.py build
runs: python3 setup.py build

- name: Python Install
runs: python setup.py install --prefix=/usr --root="${{targets.destdir}}"
runs: python3 setup.py install --prefix=/usr --root="${{targets.destdir}}"

- uses: strip

Expand Down
6 changes: 3 additions & 3 deletions py3.12-setuptools.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package:
name: py3.12-setuptools
version: 69.1.1
epoch: 0
epoch: 1
description: Easily download, build, install, upgrade, and uninstall Python packages
copyright:
- license: "MIT"
Expand All @@ -27,10 +27,10 @@ pipeline:
uri: https://files.pythonhosted.org/packages/source/s/setuptools/setuptools-${{package.version}}.tar.gz

- name: Python Build
runs: python setup.py build
runs: python3 setup.py build

- name: Python Install
runs: python setup.py install --prefix=/usr --root="${{targets.destdir}}" --skip-build
runs: python3 setup.py install --prefix=/usr --root="${{targets.destdir}}" --skip-build

update:
enabled: true
Expand Down
79 changes: 55 additions & 24 deletions python-3.12.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
package:
name: python-3.12
version: 3.12.2
epoch: 6
epoch: 7
description: "the Python programming language"
copyright:
- license: PSF-2.0
dependencies:
provides:
- python3=${{package.full-version}}
- python-3=${{package.full-version}}
runtime:
- ${{package.name}}-base=${{package.full-version}}

environment:
contents:
Expand Down Expand Up @@ -87,7 +93,7 @@ pipeline:
find ${{targets.destdir}}/usr/lib -type d -name 'idle_test' -exec rm -rf '{}' +

cd ${{targets.destdir}}/usr/bin
rm -f python3 pydoc3 idle3* 2to3*
rm -f idle3* 2to3*
rm ${{targets.destdir}}/usr/lib/libpython3.so

# Drop site-packages README.txt to avoid SCA dep on python3~3.M
Expand All @@ -111,20 +117,29 @@ test:
${{vars.python}} CVE-2023-27043-unittest.py

subpackages:
- name: "${{package.name}}-default"
- name: "${{package.name}}-base"
description: "${{package.name}} as /usr/bin/python3"
dependencies:
provides:
- python3=${{package.full-version}}
- python-3=${{package.full-version}}
runtime:
- ${{package.name}}
pipeline:
- runs: |
mkdir -p ${{targets.subpkgdir}}/usr/bin
ln -sf ${{vars.python}} "${{targets.subpkgdir}}"/usr/bin/python3
ln -sf pydoc${{vars.pyversion}} "${{targets.subpkgdir}}"/usr/bin/pydoc3
ln -sf python3 "${{targets.subpkgdir}}"/usr/bin/python
mkdir -p ${{targets.subpkgdir}}/usr/bin ${{targets.subpkgdir}}/usr/lib
mv ${{targets.destdir}}/usr/bin/${{vars.python}} \
${{targets.destdir}}/usr/bin/pydoc${{vars.pyversion}} \
${{targets.subpkgdir}}/usr/bin
mv -v ${{targets.destdir}}/usr/lib/${{vars.python}} \
${{targets.subpkgdir}}/usr/lib
mv -v ${{targets.destdir}}/usr/lib/libpython${{vars.pyversion}}.so.* \
${{targets.subpkgdir}}/usr/lib

# pyconfig.h is needed at runtime... ugh.
d=usr/include/${{vars.python}}
mkdir -p "${{targets.subpkgdir}}"/$d
mv "${{targets.destdir}}"/$d/pyconfig.h "${{targets.subpkgdir}}"/$d/
# this does not belong here. picked up by -base-dev below.
# config-3.12-x86_64-linux-gnu
d="usr/lib/${{vars.python}}"
mkdir -p "${{targets.destdir}}/$d"
mv -v "${{targets.subpkgdir}}/$d"/config-${{vars.pyversion}}* \
"${{targets.destdir}}/$d"

- name: "${{package.name}}-doc"
description: "python3 documentation"
Expand All @@ -133,22 +148,38 @@ subpackages:

- name: "${{package.name}}-dev"
description: "python3 development headers"
dependencies:
provides:
- python3-dev=${{package.full-version}}
- python-3-dev=${{package.full-version}}
runtime:
- ${{package.name}}-base-dev=${{package.full-version}}
pipeline:
- uses: split/dev
- runs: |
# pyconfig.h is needed at runtime... ugh.
mkdir -p "${{targets.destdir}}"/usr/include/${{vars.python}}
mv "${{targets.subpkgdir}}"/usr/include/${{vars.python}}/pyconfig.h "${{targets.destdir}}"/usr/include/${{vars.python}}
mkdir -p ${{targets.subpkgdir}}/usr/bin
mv -v ${{targets.destdir}}/usr/bin/python3-config ${{targets.subpkgdir}}/usr/bin

- name: "${{package.name}}-dev-default"
description: "python3 by default with development headers"
d="usr/lib/pkgconfig"
mkdir -p "${{targets.subpkgdir}}/$d"
mv -v \
"${{targets.destdir}}"/$d/python3-embed.pc \
"${{targets.destdir}}"/$d/python3.pc \
"${{targets.subpkgdir}}/$d/"

- name: "${{package.name}}-base-dev"
description: "python3 development headers"
dependencies:
runtime:
- ${{package.name}}-dev
- ${{package.name}}-default
provides:
- python3-dev=${{package.full-version}}
- python-3-dev=${{package.full-version}}
- ${{package.name}}-base=${{package.full-version}}
pipeline:
- uses: split/dev
- runs: |
# expect a dir like config-3.12-x86_64-linux-gnu
d="usr/lib/${{vars.python}}"
mkdir -p "${{targets.subpkgdir}}/$d"
mv -v "${{targets.destdir}}"/$d/config-${{vars.pyversion}}* \
"${{targets.subpkgdir}}"/$d/config-${{vars.pyversion}}*
rm -rf "${{targets.destdir}}"/$d/config-${{vars.pyversion}}*

update:
enabled: true
Expand Down