diff --git a/mingw-w64-sip/0001-mingw-python.patch b/mingw-w64-sip/0001-mingw-python.patch index 7894bafac2..8f832e40c5 100644 --- a/mingw-w64-sip/0001-mingw-python.patch +++ b/mingw-w64-sip/0001-mingw-python.patch @@ -1,6 +1,6 @@ diff -Naur sip-4.16.2/configure.py sip-4.16.2-mingw/configure.py ---- sip-4.16.2/configure.py 2014-07-03 11:08:46.000000000 +0400 -+++ sip-4.16.2-mingw/configure.py 2014-07-25 09:13:15.468200000 +0400 +--- sip-4.16.2/configure.py 2014-07-03 14:08:46.000000000 +0400 ++++ sip-4.16.2-mingw/configure.py 2014-07-28 14:40:41.708000000 +0400 @@ -20,6 +20,7 @@ import glob import optparse @@ -9,63 +9,51 @@ diff -Naur sip-4.16.2/configure.py sip-4.16.2-mingw/configure.py try: from importlib import invalidate_caches -@@ -157,7 +158,12 @@ +@@ -157,7 +158,9 @@ build_platform = "none" if py_platform == "win32": - if py_version >= 0x030300: + if _POSIX_BUILD: -+ if "MSYSTEM" in os.environ: -+ build_platform = "win32-g++-shell" -+ else: -+ build_platform = "win32-g++" ++ build_platform = "win32-g++" + elif py_version >= 0x030300: build_platform = "win32-msvc2010" elif py_version >= 0x020600: build_platform = "win32-msvc2008" -@@ -207,20 +213,33 @@ - global plat_bin_dir, plat_py_lib_dir, plat_sip_dir - - # We trust distutils for some stuff. -- plat_py_site_dir = sysconfig.get_python_lib(plat_specific=1) -- plat_py_inc_dir = sysconfig.get_python_inc() -- plat_py_conf_inc_dir = os.path.dirname(sysconfig.get_config_h_filename()) -+ if sys.platform == "win32" and "MSYSTEM" in os.environ: -+ plat_py_site_dir = "/" + sysconfig.get_python_lib(plat_specific=1, prefix='') -+ plat_py_inc_dir = "/" + sysconfig.get_python_inc(plat_specific=0, prefix='') -+ plat_py_conf_inc_dir = os.path.dirname(sysconfig.get_config_h_filename()) +@@ -211,16 +214,28 @@ + plat_py_inc_dir = sysconfig.get_python_inc() + plat_py_conf_inc_dir = os.path.dirname(sysconfig.get_config_h_filename()) - if sys.platform == "win32": -+ else: -+ plat_py_site_dir = sysconfig.get_python_lib(plat_specific=1) -+ plat_py_inc_dir = sysconfig.get_python_inc() -+ plat_py_conf_inc_dir = os.path.dirname(sysconfig.get_config_h_filename()) -+ + if sys.platform == "win32" and not _POSIX_BUILD: plat_py_lib_dir = sys.prefix + "\\libs" plat_bin_dir = sys.exec_prefix plat_sip_dir = sys.prefix + "\\sip" else: -- lib_dir = sysconfig.get_python_lib(plat_specific=1, standard_lib=1) -+ if "MSYSTEM" in os.environ: -+ lib_dir = sysconfig.get_python_lib(plat_specific=1, standard_lib=1, prefix='') -+ -+ plat_py_lib_dir = lib_dir + "/config" -+ plat_bin_dir = "/bin" -+ plat_sip_dir = "/share/sip" -+ else: -+ lib_dir = sysconfig.get_python_lib(plat_specific=1, standard_lib=1) + lib_dir = sysconfig.get_python_lib(plat_specific=1, standard_lib=1) - plat_py_lib_dir = lib_dir + "/config" - plat_bin_dir = sys.exec_prefix + "/bin" - plat_sip_dir = sys.prefix + "/share/sip" -+ plat_py_lib_dir = lib_dir + "/config" -+ plat_bin_dir = sys.exec_prefix + "/bin" -+ plat_sip_dir = sys.prefix + "/share/sip" ++ if "MSYSTEM" in os.environ: ++ plat_py_site_dir = os.popen(' '.join(['cygpath', '--unix', plat_py_site_dir])).readline().strip() ++ plat_py_inc_dir = os.popen(' '.join(['cygpath', '--unix', plat_py_inc_dir])).readline().strip() ++ plat_py_conf_inc_dir = os.popen(' '.join(['cygpath', '--unix', plat_py_conf_inc_dir])).readline().strip() ++ lib_dir = os.popen(' '.join(['cygpath', '--unix', lib_dir])).readline().strip() ++ ++ plat_py_lib_dir = lib_dir + "/config" ++ temp_sys_exec_prefix = os.popen(' '.join(['cygpath', '--unix', sys.exec_prefix])).readline().strip() ++ plat_bin_dir = temp_sys_exec_prefix + "/bin" ++ temp_sys_prefix = os.popen(' '.join(['cygpath', '--unix', sys.prefix])).readline().strip() ++ plat_sip_dir = temp_sys_prefix + "/share/sip" ++ else: ++ plat_py_lib_dir = lib_dir + "/config" ++ plat_bin_dir = sys.exec_prefix + "/bin" ++ plat_sip_dir = sys.prefix + "/share/sip" def patch_files(): -@@ -398,12 +417,15 @@ +@@ -398,12 +413,15 @@ if not opts.static: # These only need to be correct for Windows. debug_suffix = "_d" if opts.debug else "" @@ -84,8 +72,8 @@ diff -Naur sip-4.16.2/configure.py sip-4.16.2-mingw/configure.py QMAKE_POST_LINK = $(COPY_FILE) $(DESTDIR_TARGET) $$PY_MODULE } else { diff -Naur sip-4.16.2/siputils.py sip-4.16.2-mingw/siputils.py ---- sip-4.16.2/siputils.py 2014-05-10 16:00:48.000000000 +0400 -+++ sip-4.16.2-mingw/siputils.py 2014-07-25 09:19:29.519400000 +0400 +--- sip-4.16.2/siputils.py 2014-05-10 19:00:48.000000000 +0400 ++++ sip-4.16.2-mingw/siputils.py 2014-07-28 14:33:49.217000000 +0400 @@ -22,7 +22,8 @@ import stat import string @@ -105,28 +93,16 @@ diff -Naur sip-4.16.2/siputils.py sip-4.16.2-mingw/siputils.py def_copy = "copy" def_rm = "del" def_mkdir = "mkdir" -@@ -437,11 +438,17 @@ - rpaths.append(l) - - if self._python: -- incdir.append(self.config.py_inc_dir) -+ if "MSYSTEM" in os.environ: -+ incdir.append(sys.prefix+"/"+self.config.py_inc_dir) -+ else: -+ incdir.append(self.config.py_inc_dir) +@@ -440,7 +441,7 @@ + incdir.append(self.config.py_inc_dir) incdir.append(self.config.py_conf_inc_dir) - if sys.platform == "cygwin": -- libdir.append(self.config.py_lib_dir) + if sys.platform == "cygwin" or _POSIX_BUILD: -+ if "MSYSTEM" in os.environ: -+ libdir.append(sys.prefix+"/"+self.config.py_lib_dir) -+ else: -+ libdir.append(self.config.py_lib_dir) + libdir.append(self.config.py_lib_dir) py_lib = "python%u.%u" % ((self.config.py_version >> 16), ((self.config.py_version >> 8) & 0xff)) - libs.append(self.platform_lib(py_lib)) -@@ -1625,13 +1632,17 @@ +@@ -1625,13 +1626,17 @@ mfile is the file object. """ if self.static: @@ -146,7 +122,7 @@ diff -Naur sip-4.16.2/siputils.py sip-4.16.2-mingw/siputils.py elif sys.platform == "darwin": ext = "so" elif sys.platform == "cygwin": -@@ -2021,7 +2032,7 @@ +@@ -2021,7 +2026,7 @@ s is the string. """ # On Qt5 paths often includes forward slashes so convert them. @@ -156,116 +132,30 @@ diff -Naur sip-4.16.2/siputils.py sip-4.16.2-mingw/siputils.py if s.find(" ") >= 0: diff -Naur sip-4.16.2/specs/win32-g++ sip-4.16.2-mingw/specs/win32-g++ ---- sip-4.16.2/specs/win32-g++ 2011-05-11 19:39:20.000000000 +0400 -+++ sip-4.16.2-mingw/specs/win32-g++ 2014-07-25 07:24:55.973200000 +0400 -@@ -71,13 +71,15 @@ +--- sip-4.16.2/specs/win32-g++ 2011-05-11 22:39:21.000000000 +0400 ++++ sip-4.16.2-mingw/specs/win32-g++ 2014-07-28 14:41:45.615800000 +0400 +@@ -69,23 +69,16 @@ + QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32 + QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain - MINGW_IN_SHELL = $$(MINGW_IN_SHELL) - isEqual(MINGW_IN_SHELL, 1) { -+ MAKEFILE_GENERATOR = UNIX - QMAKE_DIR_SEP = / - QMAKE_COPY = cp +-MINGW_IN_SHELL = $$(MINGW_IN_SHELL) +-isEqual(MINGW_IN_SHELL, 1) { +- QMAKE_DIR_SEP = / +- QMAKE_COPY = cp - QMAKE_COPY_DIR = xcopy /s /q /y /i -+ QMAKE_COPY_DIR = cp -r - QMAKE_MOVE = mv - QMAKE_DEL_FILE = rm - QMAKE_MKDIR = mkdir - QMAKE_DEL_DIR = rmdir -+ QMAKE_CHK_DIR_EXISTS = test -d - } else { - QMAKE_COPY = copy /y - QMAKE_COPY_DIR = xcopy /s /q /y /i -@@ -85,7 +87,9 @@ - QMAKE_DEL_FILE = del - QMAKE_MKDIR = mkdir - QMAKE_DEL_DIR = rmdir -+ QMAKE_CHK_DIR_EXISTS = if not exist - } -+ - QMAKE_MOC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc.exe - QMAKE_UIC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic.exe - QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc.exe -@@ -98,5 +102,4 @@ - - QMAKE_STRIP = strip - QMAKE_STRIPFLAGS_LIB += --strip-unneeded --QMAKE_CHK_DIR_EXISTS = if not exist - load(qt_config) -diff -Naur sip-4.16.2/specs/win32-g++-shell sip-4.16.2-mingw/specs/win32-g++-shell ---- sip-4.16.2/specs/win32-g++-shell 1970-01-01 03:00:00.000000000 +0300 -+++ sip-4.16.2-mingw/specs/win32-g++-shell 2014-07-25 08:44:42.242600000 +0400 -@@ -0,0 +1,93 @@ -+# -+# qmake configuration for win32-g++ -+# -+# Written for MinGW -+# -+ +- QMAKE_MOVE = mv +- QMAKE_DEL_FILE = rm +- QMAKE_MKDIR = mkdir +- QMAKE_DEL_DIR = rmdir +-} else { +- QMAKE_COPY = copy /y +- QMAKE_COPY_DIR = xcopy /s /q /y /i +- QMAKE_MOVE = move +- QMAKE_DEL_FILE = del +- QMAKE_MKDIR = mkdir +- QMAKE_DEL_DIR = rmdir +-} +MAKEFILE_GENERATOR = UNIX -+TEMPLATE = app -+CONFIG += qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_header -+QT += core gui -+DEFINES += UNICODE QT_LARGEFILE_SUPPORT -+QMAKE_COMPILER_DEFINES += __GNUC__ WIN32 -+ -+QMAKE_EXT_OBJ = .o -+ -+QMAKE_CC = gcc -+QMAKE_LEX = flex -+QMAKE_LEXFLAGS = -+QMAKE_YACC = byacc -+QMAKE_YACCFLAGS = -d -+QMAKE_CFLAGS = -+QMAKE_CFLAGS_DEPS = -M -+QMAKE_CFLAGS_WARN_ON = -Wall -+QMAKE_CFLAGS_WARN_OFF = -w -+QMAKE_CFLAGS_RELEASE = -O2 -+QMAKE_CFLAGS_DEBUG = -g -+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses -+QMAKE_CFLAGS_THREAD = -mthreads -+ -+QMAKE_CXX = g++ -+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS -+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD -+QMAKE_CXXFLAGS_RTTI_ON = -frtti -+QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti -+QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -+QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions -+ -+QMAKE_INCDIR = -+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS] -+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS] -+ -+QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src -+QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< -+QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src -+QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< -+ -+QMAKE_LINK = g++ -+QMAKE_LFLAGS = -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -+QMAKE_LFLAGS_RELEASE = -Wl,-s -+QMAKE_LFLAGS_DEBUG = -+QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console -+QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows -+QMAKE_LFLAGS_DLL = -shared -+QMAKE_LINK_OBJECT_MAX = 10 -+QMAKE_LINK_OBJECT_SCRIPT= object_script -+ -+ -+QMAKE_LIBS = -+QMAKE_LIBS_CORE = -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32 -+QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -+QMAKE_LIBS_NETWORK = -lws2_32 -+QMAKE_LIBS_OPENGL = -lopengl32 -lglu32 -lgdi32 -luser32 -+QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32 -+QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain -+ +QMAKE_DIR_SEP = / +QMAKE_COPY = cp +QMAKE_COPY_DIR = cp -r @@ -275,16 +165,12 @@ diff -Naur sip-4.16.2/specs/win32-g++-shell sip-4.16.2-mingw/specs/win32-g++-she +QMAKE_DEL_DIR = rmdir +QMAKE_CHK_DIR_EXISTS = test -d + -+QMAKE_MOC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc.exe -+QMAKE_UIC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic.exe -+QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc.exe -+ -+QMAKE_IDL = midl -+QMAKE_LIB = ar -ru -+QMAKE_RC = windres -+ -+QMAKE_ZIP = zip -r -9 -+ -+QMAKE_STRIP = strip -+QMAKE_STRIPFLAGS_LIB += --strip-unneeded -+load(qt_config) + QMAKE_MOC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc.exe + QMAKE_UIC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic.exe + QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc.exe +@@ -98,5 +91,4 @@ + + QMAKE_STRIP = strip + QMAKE_STRIPFLAGS_LIB += --strip-unneeded +-QMAKE_CHK_DIR_EXISTS = if not exist + load(qt_config) diff --git a/mingw-w64-sip/PKGBUILD b/mingw-w64-sip/PKGBUILD index ab49a28e0a..3aeb6c9064 100644 --- a/mingw-w64-sip/PKGBUILD +++ b/mingw-w64-sip/PKGBUILD @@ -5,7 +5,7 @@ _realname=sip pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}" "${MINGW_PACKAGE_PREFIX}-python2-${_realname}" "${MINGW_PACKAGE_PREFIX}-python3-${_realname}") pkgver=4.16.2 -pkgrel=2 +pkgrel=3 pkgdesc="Tool to create Python bindings for C and C++ libraries" arch=('any') license=('GPL') @@ -17,7 +17,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" source=("http://downloads.sourceforge.net/project/pyqt/${_realname}/${_realname}-${pkgver}/${_realname}-${pkgver}.tar.gz" "0001-mingw-python.patch") md5sums=('1ca96f90a7496a3c9664fdaa76205719' - '3bc606bdcc6c64cd71719ca2f764a9f7') + 'bac0cdd9aac20ad55bf6bb8aee134b99') prepare() { cd "${srcdir}"/${_realname}-${pkgver} @@ -43,7 +43,7 @@ package_sip() { depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") cd python2-${MINGW_CHOST} - make DESTDIR="${pkgdir}${MINGW_PREFIX}" install -C sipgen + make DESTDIR="${pkgdir}" install -C sipgen install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" } @@ -53,7 +53,7 @@ package_python3-sip() { depends=("${MINGW_PACKAGE_PREFIX}-sip" "${MINGW_PACKAGE_PREFIX}-python3") cd python3-${MINGW_CHOST} - make DESTDIR="${pkgdir}${MINGW_PREFIX}" install -C siplib + make DESTDIR="${pkgdir}" install -C siplib install -Dm644 sipconfig.py "${pkgdir}${MINGW_PREFIX}"/lib/python3.4/site-packages/sipconfig.py install -Dm644 sipdistutils.py "${pkgdir}${MINGW_PREFIX}"/lib/python3.4/site-packages/sipdistutils.py @@ -66,7 +66,7 @@ package_python2-sip() { depends=("${MINGW_PACKAGE_PREFIX}-sip" "${MINGW_PACKAGE_PREFIX}-python2") cd python2-${MINGW_CHOST} - make DESTDIR="${pkgdir}${MINGW_PREFIX}" install -C siplib + make DESTDIR="${pkgdir}" install -C siplib install -Dm644 sipconfig.py "${pkgdir}${MINGW_PREFIX}"/lib/python2.7/site-packages/sipconfig.py install -Dm644 sipdistutils.py "${pkgdir}${MINGW_PREFIX}"/lib/python2.7/site-packages/sipdistutils.py