New package: python3.5-3.5.1 (#4119)

This commit is contained in:
Alessio Sergi 2016-05-02 07:57:09 +02:00 committed by Juan RP
parent 39067d5c13
commit 9670b411ce
9 changed files with 398 additions and 0 deletions

View file

@ -1694,6 +1694,7 @@ libportaudiocpp.so.0 portaudio-cpp-19.20140130_1
libdar.so.5000 libdar-2.4.14_1
libpython3.so python3.4-3.4.1_1
libpython3.4m.so.1.0 python3.4-3.4.1_1
libpython3.5m.so.1.0 python3.5-3.5.1_1
libbrscandec2.so.1 brother-brscan3-0.2.11_2
libpyglib-2.0-python.so.0 python-gobject2-2.28.6_11
libxmlrpc_server_abyss.so.3 xmlrpc-c-1.25.28_1

1
srcpkgs/idle-python3.5 Symbolic link
View file

@ -0,0 +1 @@
python3.5

1
srcpkgs/python3.5-devel Symbolic link
View file

@ -0,0 +1 @@
python3.5

1
srcpkgs/python3.5-tkinter Symbolic link
View file

@ -0,0 +1 @@
python3.5

View file

@ -0,0 +1,120 @@
--- setup.py.orig 2014-05-19 07:19:40.000000000 +0200
+++ setup.py 2014-06-18 09:50:55.950072020 +0200
@@ -17,7 +17,7 @@ from distutils.command.install_lib impor
from distutils.command.build_scripts import build_scripts
from distutils.spawn import find_executable
-cross_compiling = "_PYTHON_HOST_PLATFORM" in os.environ
+cross_compiling = ("_PYTHON_HOST_PLATFORM" in os.environ) or ('PYTHONXCPREFIX' in os.environ)
def get_platform():
# cross build
@@ -486,7 +486,7 @@ class PyBuildExt(build_ext):
for directory in reversed(options.dirs):
add_dir_to_list(dir_list, directory)
- if os.path.normpath(sys.base_prefix) != '/usr' \
+ if os.path.normpath(sys.base_prefix) != '/usr' and not cross_compiling \
and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
# OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework
# (PYTHONFRAMEWORK is set) to avoid # linking problems when
@@ -549,6 +549,11 @@ class PyBuildExt(build_ext):
if host_platform == 'darwin':
math_libs = []
+ # Insert libraries and headers from XBPS_CROSS_BASE
+ if 'XBPS_CROSS_BASE' in os.environ:
+ lib_dirs += [os.environ['XBPS_CROSS_BASE'] + '/usr/lib']
+ inc_dirs += [os.environ['XBPS_CROSS_BASE'] + '/usr/include']
+
# XXX Omitted modules: gl, pure, dl, SGI-specific modules
#
@@ -1852,8 +1857,13 @@ class PyBuildExt(build_ext):
# Pass empty CFLAGS because we'll just append the resulting
# CFLAGS to Python's; -g or -O2 is to be avoided.
- cmd = "cd %s && env CFLAGS='' '%s/configure' %s" \
- % (ffi_builddir, ffi_srcdir, " ".join(config_args))
+ if cross_compiling:
+ cmd = "cd %s && env CFLAGS='' '%s/configure' --host=%s --build=%s %s" \
+ % (ffi_builddir, ffi_srcdir, os.environ.get('HOSTARCH'),
+ os.environ.get('BUILDARCH'), " ".join(config_args))
+ else:
+ cmd = "cd %s && env CFLAGS='' '%s/configure' %s" \
+ % (ffi_builddir, ffi_srcdir, " ".join(config_args))
res = os.system(cmd)
if res or not os.path.exists(ffi_configfile):
--- Makefile.pre.in.orig 2015-09-13 13:41:23.000000000 +0200
+++ Makefile.pre.in 2015-09-14 17:56:11.792632577 +0200
@@ -691,16 +691,16 @@
############################################################################
# Importlib
-Programs/_freeze_importlib.o: Programs/_freeze_importlib.c Makefile
-
Programs/_freeze_importlib: Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN)
$(LINKCC) $(PY_LDFLAGS) -o $@ Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
-Python/importlib_external.h: $(srcdir)/Lib/importlib/_bootstrap_external.py Programs/_freeze_importlib
+Python/importlib_external.h: $(srcdir)/Lib/importlib/_bootstrap_external.py Programs/_freeze_importlib.c
+ $(MAKE) Programs/_freeze_importlib
./Programs/_freeze_importlib \
$(srcdir)/Lib/importlib/_bootstrap_external.py Python/importlib_external.h
-Python/importlib.h: $(srcdir)/Lib/importlib/_bootstrap.py Programs/_freeze_importlib
+Python/importlib.h: $(srcdir)/Lib/importlib/_bootstrap.py Programs/_freeze_importlib.c
+ $(MAKE) Programs/_freeze_importlib
./Programs/_freeze_importlib \
$(srcdir)/Lib/importlib/_bootstrap.py Python/importlib.h
@@ -762,10 +762,12 @@
$(IO_OBJS): $(IO_H)
-$(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGEN)
+$(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGENSRCS)
@$(MKDIR_P) Include
+ $(MAKE) $(PGEN)
$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
-$(GRAMMAR_C): $(GRAMMAR_H)
+$(GRAMMAR_C): $(GRAMMAR_H) $(GRAMMAR_INPUT) $(PGENSRCS)
+ $(MAKE) $(GRAMMAR_H)
touch $(GRAMMAR_C)
$(PGEN): $(PGENOBJS)
@@ -1011,8 +1013,6 @@
upgrade) ensurepip="--upgrade" ;; \
install|*) ensurepip="" ;; \
esac; \
- $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
- $$ensurepip --root=$(DESTDIR)/ ; \
fi
altinstall: commoninstall
@@ -1021,8 +1021,6 @@
upgrade) ensurepip="--altinstall --upgrade" ;; \
install|*) ensurepip="--altinstall" ;; \
esac; \
- $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
- $$ensurepip --root=$(DESTDIR)/ ; \
fi
commoninstall: @FRAMEWORKALTINSTALLFIRST@ \
@@ -1400,11 +1398,12 @@
# Install the dynamically loadable modules
# This goes into $(exec_prefix)
sharedinstall: sharedmods
+ CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
$(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
--prefix=$(prefix) \
- --install-scripts=$(BINDIR) \
- --install-platlib=$(DESTSHARED) \
- --root=$(DESTDIR)/
+ --install-scripts=$(DESTDIR)$(BINDIR) \
+ --install-platlib=$(DESTDIR)$(DESTSHARED) \
+ --root=/
-rm $(DESTDIR)$(DESTSHARED)/_sysconfigdata.py
-rm -r $(DESTDIR)$(DESTSHARED)/__pycache__

View file

@ -0,0 +1,9 @@
[Desktop Entry]
Name=IDLE (using Python3.5)
Comment=IDE for Python (using Python3.5)
Exec=idle3.5
Icon=idle3.5
Terminal=false
Type=Application
Categories=Development;
StartupNotify=true

View file

@ -0,0 +1,124 @@
/* XPM */
static char *python[] = {
/* columns rows colors chars-per-pixel */
"16 16 102 2 ",
" c #EBBB18",
". c #EBBE21",
"X c #F3C11A",
"o c #FAC719",
"O c #FDCB1B",
"+ c #FFCC1C",
"@ c #EBC22A",
"# c #FFCF23",
"$ c #FFCF24",
"% c #FFD025",
"& c #FFD026",
"* c #FFD32D",
"= c #FDD22F",
"- c #FFD32E",
"; c #FFD32F",
": c #EBC534",
"> c #E8C73D",
", c #FFD330",
"< c #FFD430",
"1 c #FDD536",
"2 c #FFD637",
"3 c #FAD339",
"4 c #FFD738",
"5 c #FFD739",
"6 c #FFD73A",
"7 c #F9D53E",
"8 c #FFD83A",
"9 c #ECCE45",
"0 c #FDD941",
"q c #FFDA41",
"w c #FFDA42",
"e c #FFDB42",
"r c #FFDB43",
"t c #FFDB44",
"y c #FDDD4A",
"u c #FFDE4B",
"i c #FFDF4D",
"p c #FDDE4E",
"a c #FFDF4E",
"s c #FFE255",
"d c #FFE357",
"f c #FFE358",
"g c #FFE661",
"h c #FFE761",
"j c #FFE762",
"k c #F2E16E",
"l c #F5E36F",
"z c #FDE96A",
"x c #FFEB6C",
"c c #326087",
"v c #366690",
"b c #366791",
"n c #356892",
"m c #366993",
"M c #366994",
"N c #376896",
"B c #376A96",
"V c #396C96",
"C c #386C97",
"Z c #396D99",
"A c #3A6F9B",
"S c #3A709C",
"D c #3B709C",
"F c #3B709D",
"G c #3C719E",
"H c #3D73A0",
"J c #3D73A2",
"K c #3D74A1",
"L c #3E74A2",
"P c #3E75A3",
"I c #3F76A5",
"U c #4078A6",
"Y c #4078A7",
"T c #4179A8",
"R c #427BAA",
"E c #437CAB",
"W c #437DAD",
"Q c #437DAE",
"! c #447DAD",
"~ c #447EAD",
"^ c #457FAF",
"/ c #4680B0",
"( c #4680B1",
") c #4681B2",
"_ c #4781B2",
"` c #4883B4",
"' c #4884B5",
"] c #4885B6",
"[ c #4985B7",
"{ c #4A87B9",
"} c #4A86BA",
"| c #4B88BB",
" . c #4C89BC",
".. c #4C8ABC",
"X. c #4D8BBE",
"o. c #4C8ABF",
"O. c #4E8DC0",
"+. c #4F8DC1",
"@. c #508FC3",
"#. c #5291C6",
"$. c gray100",
"%. c None",
/* pixels */
"%.%.%.%.+.} ( W I G N %.%.%.%.%.",
"%.%.%.%...$.( R L S B %.%.%.%.%.",
"%.%.%.%.] ( R L D B m %.%.%.%.%.",
"%.%.o.] W L V v V B B %.%.%.%.%.",
"#.+. .` ^ U G A m B B %.s u 7 %.",
"@.o._ ^ R G A m m m c %.u q 1 %.",
"o.] _ R L G B B n c %.9 q 1 * %.",
"] _ E U m %.%.%.%.%.%.q 5 * # %.",
"( E U n %.k z j s a t 5 * $ O %.",
"W R K %.l x j f a t 5 * $ + X %.",
"%.K D %.x j f a q 8 * $ + + %.%.",
"%.%.%.%.j f a > : @ . %.%.%.",
"%.%.%.%.f a t 5 , % + %.%.%.%.%.",
"%.%.%.%.a t 5 < % $.O %.%.%.%.%.",
"%.%.%.%.%.3 , % + o %.%.%.%.%.%.",
"%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%."
};

138
srcpkgs/python3.5/template Normal file
View file

@ -0,0 +1,138 @@
# Template file for 'python3.5'
pkgname=python3.5
version=3.5.1
revision=1
wrksrc="Python-${version}"
short_desc="Interpreted, interactive, object-oriented programming language (${version%.*} series)"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://www.python.org"
license="PSF"
distfiles="http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz"
checksum=c6d57c0c366d9060ab6c0cdf889ebf3d92711d466cc0119c441dbf2746f725c9
pycompile_version="3.5"
pycompile_dirs="usr/lib/python3.5"
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"
depends="ca-certificates"
alternatives="
python:idle:/usr/bin/idle3.5
python:2to3:/usr/bin/2to3-3.5
python:pydoc:/usr/bin/pydoc3.5
python:python:/usr/bin/python3.5
python:python.1:/usr/share/man/man1/python3.5.1
python3:idle3:/usr/bin/idle3.5
python3:2to3:/usr/bin/2to3-3.5
python3:pydoc3:/usr/bin/pydoc3.5
python3:python3:/usr/bin/python3.5
python3:pyvenv3:/usr/bin/pyvenv-3.5
python3:python3-config:/usr/bin/python3.5-config
python3:libpython3.so:/usr/lib/libpython3.5m.so
python3:python3.pc:/usr/lib/pkgconfig/python-3.5.pc
python3:python3.1:/usr/share/man/man1/python3.5.1"
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} \
--with-threads --enable-ipv6 --with-signal-module \
--with-system-ffi --with-system-expat \
--enable-shared --without-ensurepip
}
do_build() {
# Avoid invoking pgen for cross-compiles.
touch Include/graminit.h Python/graminit.c
export PATH="$PATH:$wrksrc/hostpython"
make ${makejobs}
}
do_install() {
export PATH="$PATH:$wrksrc/hostpython"
make DESTDIR=${DESTDIR} install maninstall
vlicense LICENSE
rm -f ${DESTDIR}/usr/bin/2to3
rm -f ${DESTDIR}/usr/bin/pyvenv
rm -f ${DESTDIR}/usr/bin/{idle,pydoc,python}3
rm -f ${DESTDIR}/usr/share/man/man1/python3.1
rm -f ${DESTDIR}/usr/bin/python3-config
rm -f ${DESTDIR}/usr/lib/libpython3.so
rm -f ${DESTDIR}/usr/lib/pkgconfig/python3.pc
ln -sf ../../libpython${version%.*}m.so \
${DESTDIR}/usr/lib/python${version%.*}/config-${version%.*}m/libpython${version%.*}m.so
# 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
# Remove references to hardening -specs.
sed -e 's|\(-specs=.*hardened-ld\)||g' -e 's|\(-specs=.*hardened-cc1\)||g' -i \
${DESTDIR}/usr/lib/python${version%.*}/_sysconfigdata.py \
${DESTDIR}/usr/lib/python${version%.*}/config-${version%.*}m/Makefile \
${DESTDIR}/usr/bin/python${version%.*}*-config
# Remove references to the install(1) wrapper.
sed -e "s,${XBPS_WRAPPERDIR},/usr/bin,g" -i \
${DESTDIR}/usr/lib/python${version%.*}/_sysconfigdata.py \
${DESTDIR}/usr/lib/python${version%.*}/config-${version%.*}m/Makefile
if [ "$CROSS_BUILD" ]; then
# Remove references to cross toolchain.
sed -i "s/$XBPS_CROSS_TRIPLET-//g" \
${DESTDIR}/usr/lib/python${version%.*}/_sysconfigdata.py \
${DESTDIR}/usr/lib/python${version%.*}/config-${version%.*}m/Makefile
fi
}
python3.5-devel_package() {
depends="${sourcepkg}-${version}_${revision}"
short_desc+=" - development files"
pkg_install() {
vmove usr/bin/python*-config
vmove usr/lib/pkgconfig
vmove usr/include
vmove usr/lib/python${version%.*}/config-${version%.*}m/libpython${version%.*}m.a
mkdir -p ${DESTDIR}/usr/include/python${version%.*}m
mv ${PKGDESTDIR}/usr/include/python${version%.*}m/pyconfig.h \
${DESTDIR}/usr/include/python${version%.*}m
}
}
python3.5-tkinter_package() {
pycompile_version="3.5"
pycompile_dirs="usr/lib/python3.5"
depends="${sourcepkg}-${version}_${revision}"
short_desc+=" - GUI toolkit for Python${version%.*}"
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.5_package() {
pycompile_version="3.5"
pycompile_dirs="usr/lib/python3.5/idlelib"
depends="${sourcepkg}-${version}_${revision} python3.5-tkinter"
short_desc+=" - IDE for Python${version%.*} using Tkinter"
pkg_install() {
vmove usr/bin/idle${version%.*}
vmove usr/lib/python${version%.*}/idlelib
vinstall ${FILESDIR}/idle${version%.*}.xpm 644 usr/share/pixmaps
vinstall ${FILESDIR}/idle${version%.*}.desktop 644 usr/share/applications
}
}

3
srcpkgs/python3.5/update Normal file
View file

@ -0,0 +1,3 @@
pkgname=Python
site="${homepage}/downloads/source/"
ignore="*rc* *b* *a*"