diff --git a/srcpkgs/idle-python3 b/srcpkgs/idle-python3 index b8a0adbbb97..8f29de68d45 120000 --- a/srcpkgs/idle-python3 +++ b/srcpkgs/idle-python3 @@ -1 +1 @@ -python3 \ No newline at end of file +python3-tkinter \ No newline at end of file diff --git a/srcpkgs/python3-tkinter b/srcpkgs/python3-tkinter deleted file mode 120000 index b8a0adbbb97..00000000000 --- a/srcpkgs/python3-tkinter +++ /dev/null @@ -1 +0,0 @@ -python3 \ No newline at end of file diff --git a/srcpkgs/python3-tkinter/files/cross.patch b/srcpkgs/python3-tkinter/files/cross.patch new file mode 120000 index 00000000000..9cf8e343ffa --- /dev/null +++ b/srcpkgs/python3-tkinter/files/cross.patch @@ -0,0 +1 @@ +../../python3/files/cross.patch \ No newline at end of file diff --git a/srcpkgs/python3/files/idle3.desktop b/srcpkgs/python3-tkinter/files/idle3.desktop similarity index 100% rename from srcpkgs/python3/files/idle3.desktop rename to srcpkgs/python3-tkinter/files/idle3.desktop diff --git a/srcpkgs/python3/files/idle3.xpm b/srcpkgs/python3-tkinter/files/idle3.xpm similarity index 100% rename from srcpkgs/python3/files/idle3.xpm rename to srcpkgs/python3-tkinter/files/idle3.xpm diff --git a/srcpkgs/python3-tkinter/template b/srcpkgs/python3-tkinter/template new file mode 100644 index 00000000000..d0961fe1e73 --- /dev/null +++ b/srcpkgs/python3-tkinter/template @@ -0,0 +1,91 @@ +# Template file for 'python3-tkinter'. +# +# THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/python3"; IT IS SPLITTED TO AVOID +# A CYCLIC DEPENDENCY: python3 -> tk -> libX11 -> libxcb -> xcb-proto -> python3 +# + +_desc="Interpreted, interactive, object-oriented programming language" + +pkgname=python3-tkinter +version=3.6.4 +revision=4 +wrksrc="Python-${version}" +hostmakedepends="pkg-config" +pycompile_dirs=" + usr/lib/python${version%.*}/tkinter + usr/lib/python${version%.*}/turtledemo + usr/lib/python${version%.*}/turtle.py" +makedepends="libffi-devel readline-devel gdbm-devel libressl-devel expat-devel + sqlite-devel bzip2-devel zlib-devel tk-devel" +short_desc="${_desc} - GUI toolkit for Python3" +maintainer="Juan RP " +homepage="https://www.python.org" +license="PSF-2" +distfiles="https://www.python.org/ftp/python/${version}/Python-${version}.tar.xz" +checksum=159b932bf56aeaa76fd66e7420522d8c8853d486b8567c459b84fe2ed13bcaba + +pre_configure() { + # Ensure that internal copies of zlib, expat and libffi are not used. + rm -r Modules/zlib + rm -r Modules/expat + rm -r Modules/_ctypes/{darwin,libffi}* +} +do_configure() { + local _args + unset GCC CC CXX CPP LD AR AS RANLIB + if [ "$CROSS_BUILD" ]; then + mkdir -p host-build + cd host-build + env -i PATH=$PATH CFLAGS=-Os ../configure + env -i PATH=$PATH make ${makejobs} python + mkdir -p ../hostpython + mv python ../hostpython + cd .. + patch -Np0 -i ${FILESDIR}/cross.patch + _args="--build=${XBPS_MACHINE%%-musl}" + fi + ./configure ${configure_args} ${_args} \ + --enable-shared --enable-ipv6 --enable-loadable-sqlite-extensions \ + --with-threads --with-computed-gotos --with-dbmliborder=gdbm:ndbm \ + --with-system-expat --with-system-ffi --without-ensurepip +} +do_build() { + export PATH="$PATH:$wrksrc/hostpython" + make ${makejobs} +} +do_install() { + export PATH="$PATH:$wrksrc/hostpython" + make DESTDIR=${wrksrc}/${pkgname}-${version}-install altinstall + vlicense LICENSE + + # We only care for the idle and tkinter modules. + vmkdir usr/bin + vmkdir usr/lib/python${version%.*}/lib-dynload + if [ -e ${wrksrc}/${pkgname}-${version}-install/usr/lib32 ]; then + _libdir=lib32 + else + _libdir=lib + fi + mv ${wrksrc}/${pkgname}-${version}-install/usr/bin/idle${version%.*} \ + ${DESTDIR}/usr/bin/idle${version%.*} + for lib in idlelib tkinter turtledemo turtle.py; do + mv ${wrksrc}/${pkgname}-${version}-install/usr/lib/python${version%.*}/${lib} \ + ${DESTDIR}/usr/lib/python${version%.*}/ + done + mv ${wrksrc}/${pkgname}-${version}-install/usr/${_libdir}/python${version%.*}/lib-dynload/_tkinter.cpython-*m*.so \ + ${DESTDIR}/usr/lib/python${version%.*}/lib-dynload/ + ln -sf idle${version%.*} ${DESTDIR}/usr/bin/idle3 +} + +idle-python3_package() { + noarch=yes + short_desc="${_desc} - IDE for Python3 using Tkinter" + pycompile_dirs="usr/lib/python${version%.*}/idlelib" + depends="${sourcepkg}-${version}_${revision}" + pkg_install() { + vmove usr/bin/idle3* + vmove usr/lib/python${version%.*}/idlelib + vinstall ${FILESDIR}/idle3.xpm 644 usr/share/pixmaps + vinstall ${FILESDIR}/idle3.desktop 644 usr/share/applications + } +} diff --git a/srcpkgs/python3-tkinter/update b/srcpkgs/python3-tkinter/update new file mode 120000 index 00000000000..f9bf96a4148 --- /dev/null +++ b/srcpkgs/python3-tkinter/update @@ -0,0 +1 @@ +../python3/update \ No newline at end of file diff --git a/srcpkgs/python3/template b/srcpkgs/python3/template index 083e048742f..399286077e7 100644 --- a/srcpkgs/python3/template +++ b/srcpkgs/python3/template @@ -1,18 +1,22 @@ # Template file for 'python3' +# +# THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/python3-tkinter". +# pkgname=python3 version=3.6.4 -revision=3 +revision=4 wrksrc="Python-${version}" short_desc="Interpreted, interactive, object-oriented programming language (${version%.*} series)" maintainer="Juan RP " homepage="https://www.python.org" -license="PSF" +license="PSF-2" distfiles="https://www.python.org/ftp/python/${version}/Python-${version}.tar.xz" checksum=159b932bf56aeaa76fd66e7420522d8c8853d486b8567c459b84fe2ed13bcaba pycompile_dirs="usr/lib/python${version%.*}" +hostmakedepends="pkg-config" makedepends="libffi-devel readline-devel gdbm-devel libressl-devel expat-devel - sqlite-devel bzip2-devel zlib-devel liblzma-devel tcl-devel tk-devel libX11-devel" + sqlite-devel bzip2-devel zlib-devel liblzma-devel" depends="ca-certificates" alternatives=" @@ -57,6 +61,12 @@ do_install() { vlicense LICENSE rm -f ${DESTDIR}/usr/bin/2to3 + # Remove files that belong to python3-tkinter and idle-python3 + rm -f ${DESTDIR}/usr/bin/idle3* + rm -rf ${DESTDIR}/usr/lib/python${version%.*}/idlelib + rm -rf ${DESTDIR}/usr/lib/python${version%.*}/tkinter + rm -rf ${DESTDIR}/usr/lib/python${version%.*}/turtledemo + rm -f ${DESTDIR}/usr/lib/python${version%.*}/turtle.py # Remove test module and tests that fail to be byte-compiled. rm -rf ${DESTDIR}/usr/lib/python${version%.*}/test rm -rf ${DESTDIR}/usr/lib/python${version%.*}/lib2to3/tests @@ -73,8 +83,8 @@ do_install() { } python3-devel_package() { - depends="${sourcepkg}-${version}_${revision}" short_desc+=" - development files" + depends="${sourcepkg}-${version}_${revision}" pkg_install() { vmove usr/bin/python*-config vmove usr/lib/pkgconfig @@ -86,25 +96,3 @@ python3-devel_package() { ${DESTDIR}/usr/include/python${version%.*}m } } -python3-tkinter_package() { - pycompile_dirs="usr/lib/python${version%.*}" - depends="${sourcepkg}-${version}_${revision}" - short_desc+=" - GUI toolkit for Python3" - pkg_install() { - vmove usr/lib/python${version%.*}/tkinter - vmove usr/lib/python${version%.*}/turtle.py - vmove usr/lib/python${version%.*}/turtledemo - vmove usr/lib/python${version%.*}/lib-dynload/_tkinter.cpython-*m*.so - } -} -idle-python3_package() { - pycompile_dirs="usr/lib/python${version%.*}/idlelib" - depends="${sourcepkg}-${version}_${revision} python3-tkinter" - short_desc+=" - IDE for Python3 using Tkinter" - pkg_install() { - vmove usr/bin/idle3* - vmove usr/lib/python${version%.*}/idlelib - vinstall ${FILESDIR}/idle3.xpm 644 usr/share/pixmaps - vinstall ${FILESDIR}/idle3.desktop 644 usr/share/applications - } -}