diff --git a/programming/language/python/sip3/actions.py b/programming/language/python/sip3/actions.py new file mode 100644 index 0000000000..7036746626 --- /dev/null +++ b/programming/language/python/sip3/actions.py @@ -0,0 +1,42 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import shelltools +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import pythonmodules +from pisi.actionsapi import get +WorkDir = "sip-%s" % get.srcVERSION() +py3dir = "python3.4" + +def setup(): + shelltools.system("find . -type f -exec sed -i 's/Python.h/python3.4m\/Python.h/g' {} \;") + + shelltools.cd("..") + shelltools.makedirs("build_python3") + shelltools.copytree("./%s" % WorkDir, "build_python3") + shelltools.cd(WorkDir) + + shelltools.cd("../build_python3/%s" % WorkDir) + pythonmodules.run('configure.py \ + -b /usr/bin \ + -d /usr/lib/%s/site-packages/ \ + -e /usr/include/%s/ \ + CFLAGS="%s" CXXFLAGS="%s"' % (py3dir, py3dir, get.CFLAGS(), get.CXXFLAGS()), pyVer = "3") + +def build(): + + shelltools.cd("../build_python3/%s" % WorkDir) + autotools.make() + +def install(): + + shelltools.cd("../build_python3/%s" % WorkDir) + autotools.rawInstall("DESTDIR=%s -C sipgen" % get.installDIR()) + + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + pisitools.rename("/usr/bin/sip", "sip3") + diff --git a/programming/language/python/sip3/files/disable-rpaths.diff b/programming/language/python/sip3/files/disable-rpaths.diff new file mode 100644 index 0000000000..7aab12987a --- /dev/null +++ b/programming/language/python/sip3/files/disable-rpaths.diff @@ -0,0 +1,10 @@ +--- siputils.py ++++ siputils.py +@@ -737,6 +737,7 @@ class Makefile: + rpaths is the cannonical list of rpaths. + """ + flags = [] ++ return flags + prefix = self.optional_string("RPATH") + + if prefix: diff --git a/programming/language/python/sip3/files/fix-linking.diff b/programming/language/python/sip3/files/fix-linking.diff new file mode 100644 index 0000000000..e97281a507 --- /dev/null +++ b/programming/language/python/sip3/files/fix-linking.diff @@ -0,0 +1,11 @@ +--- specs/linux-g++ 2009/08/31 11:59:37 1.1 ++++ specs/linux-g++ 2009/08/31 12:00:19 +@@ -53,7 +53,7 @@ + QMAKE_LFLAGS = + QMAKE_LFLAGS_RELEASE = + QMAKE_LFLAGS_DEBUG = +-QMAKE_LFLAGS_SHLIB = -shared ++QMAKE_LFLAGS_SHLIB = -shared -lpython2.7 + QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB + QMAKE_LFLAGS_SONAME = -Wl,-soname, + QMAKE_LFLAGS_THREAD = diff --git a/programming/language/python/sip3/files/no-strip.patch b/programming/language/python/sip3/files/no-strip.patch new file mode 100644 index 0000000000..033b54f968 --- /dev/null +++ b/programming/language/python/sip3/files/no-strip.patch @@ -0,0 +1,26 @@ +Index: sip-4.8.2/specs/linux-g++ +=================================================================== +--- sip-4.8.2.orig/specs/linux-g++ ++++ sip-4.8.2/specs/linux-g++ +@@ -83,7 +83,7 @@ QMAKE_COPY_DIR = $(COPY) -r + QMAKE_MOVE = mv -f + QMAKE_DEL_FILE = rm -f + QMAKE_DEL_DIR = rmdir +-QMAKE_STRIP = strip ++QMAKE_STRIP = + QMAKE_STRIPFLAGS_LIB += --strip-unneeded + QMAKE_CHK_DIR_EXISTS = test -d + QMAKE_MKDIR = mkdir -p +Index: sip-4.8.2/specs/linux-lsb +=================================================================== +--- sip-4.8.2.orig/specs/linux-lsb ++++ sip-4.8.2/specs/linux-lsb +@@ -83,7 +83,7 @@ QMAKE_COPY_DIR = $(COPY) -r + QMAKE_MOVE = mv -f + QMAKE_DEL_FILE = rm -f + QMAKE_DEL_DIR = rmdir +-QMAKE_STRIP = strip ++QMAKE_STRIP = + QMAKE_STRIPFLAGS_LIB += --strip-unneeded + QMAKE_CHK_DIR_EXISTS = test -d + QMAKE_MKDIR = mkdir -p diff --git a/programming/language/python/sip3/files/sip-outoftree.patch b/programming/language/python/sip3/files/sip-outoftree.patch new file mode 100644 index 0000000000..d394a9dcf6 --- /dev/null +++ b/programming/language/python/sip3/files/sip-outoftree.patch @@ -0,0 +1,73 @@ +--- sip-4.16.3/configure.py.orig 2014-09-11 19:12:51.000000000 +0200 ++++ sip-4.16.3/configure.py 2014-10-27 17:54:50.981640566 +0100 +@@ -47,6 +47,7 @@ + sip_sip_dir = '' + sysroot = '' + src_dir = os.path.dirname(os.path.abspath(__file__)) ++build_dir = os.getcwd() + sip_module_base = None + build_platform = None + +--- sip-4.16.3/siputils.py.orig 2014-09-07 17:30:09.000000000 +0200 ++++ sip-4.16.3/siputils.py 2014-10-27 22:19:01.287642057 +0100 +@@ -202,7 +202,7 @@ + def __init__(self, configuration, console=0, qt=0, opengl=0, python=0, + threaded=0, warnings=1, debug=0, dir=None, + makefile="Makefile", installs=None, universal=None, +- arch=None, deployment_target=None): ++ arch=None, deployment_target=None, src_dir=None): + """Initialise an instance of the target. All the macros are left + unchanged allowing scripts to manipulate them at will. + +@@ -264,8 +264,11 @@ + else: + self.dir = os.path.curdir + +- # Assume we are building in the source tree. +- self._src_dir = self.dir ++ if src_dir is not None: ++ self._src_dir = src_dir ++ else: ++ # Assume we are building in the source tree. ++ self._src_dir = self.dir + + if universal is None: + self._universal = configuration.universal +@@ -381,6 +381,8 @@ + defines.extend(self.optional_list("DEFINES")) + + incdir = _UniqueList(["."]) ++ if self.dir != self._src_dir: ++ incdir.append(self._src_dir) + incdir.extend(self.extra_include_dirs) + incdir.extend(self.optional_list("INCDIR")) + +@@ -1029,7 +1031,8 @@ + else: + if os.path.isabs(filename): + # We appear to be building out of the source tree. +- self._src_dir = os.path.dirname(filename) ++ if self._src_dir == self.dir: ++ self._src_dir = os.path.dirname(filename) + bfname = filename + else: + bfname = os.path.join(self.dir, filename) +@@ -1465,7 +1471,7 @@ + console=0, qt=0, opengl=0, threaded=0, warnings=1, debug=0, + dir=None, makefile="Makefile", installs=None, strip=1, + export_all=0, universal=None, arch=None, +- deployment_target=None): ++ deployment_target=None, src_dir=None): + """Initialise an instance of a module Makefile. + + build_file is the file containing the target specific information. If +@@ -1479,7 +1485,7 @@ + increases the size of the module and slows down module load times but + may avoid problems with modules that use exceptions. The default is 0. + """ +- Makefile.__init__(self, configuration, console, qt, opengl, 1, threaded, warnings, debug, dir, makefile, installs, universal, arch, deployment_target) ++ Makefile.__init__(self, configuration, console, qt, opengl, 1, threaded, warnings, debug, dir, makefile, installs, universal, arch, deployment_target, src_dir) + + self._build = self.parse_build_file(build_file) + self._install_dir = install_dir + \ No newline at end of file diff --git a/programming/language/python/sip3/pspec.xml b/programming/language/python/sip3/pspec.xml new file mode 100644 index 0000000000..35b5aa5023 --- /dev/null +++ b/programming/language/python/sip3/pspec.xml @@ -0,0 +1,77 @@ + + + + + sip3 + http://www.riverbankcomputing.co.uk/sip + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + app:console + SIP is a tool for generating bindings for C++ classes so that they can be used by Python + SIP is a tool for generating bindings for C and C++ libraries so that they can be used by Python. It takes any C or C++ libraries and converts them into Python extension modules. + mirrors://sourceforge/pyqt/sip-4.16.7.tar.gz + + python3-devek + + + no-strip.patch + disable-rpaths.diff + fix-linking.diff + sip-outoftree.patch + + + + + sip3 + + /usr/bin + /usr/local/bin + /usr/sbin + /usr/share/doc + + + + + python3-sip3 + Python 3.x SIP bindings for C and C++ libraries + + sip3 + python3 + + + /usr/lib/python3* + + + + + sip3-devel + Development files for sip + + sip3 + python3-sip3 + + + /usr/include + + + + + + 2015-06-14 + 4.16.7 + Version Bump. + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-04-23 + 4.16.6 + First release + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + diff --git a/programming/language/python/sip3/translations.xml b/programming/language/python/sip3/translations.xml new file mode 100644 index 0000000000..ce9ed07862 --- /dev/null +++ b/programming/language/python/sip3/translations.xml @@ -0,0 +1,28 @@ + + + + sip3 + C ve C++ kütüphaneleri için python bağlayıcıları oluşturan bir araç + Generator powiązań Pythona z bibliotekami klas C++ + SIP3 C ve C++ kütüphanelerini Python'da kullanabilmek için bağlayıcılar oluşturan bir araçtır. Herhangi bir C veya C++ kütüphanesini Python genişletme modülüne dönüştürür. + SIP est un outil de génération de bindings (liens) pour librairies C et C++ afin de les rendre utilisables depuis Python. Il prend n'importe quelle librairie C ou C++ et la convertit en module d'extension Python. + SIP es una herramienta para generar librerías de acceso a clases C++, para poder usarlos desde Python. Puede tomar cualquier librería C o C++ y convertirlo en módulos de extensión para Python. + Generuje powiązania Pythona z bibliotekami klas C++ ze zbioru plików ze specyfikacjami klas. Obsługiwany jest Python 2 i 3. + + + + sip-devel + sip3 için geliştirme dosyaları + Pliki nagłówkowe sip + + + + python-sip + Moduł python2 wymagany przez wygenerowane powiązania + + + + python3-sip + Moduł python3 wymagany przez wygenerowane powiązania + +