sip: More python paths fixes.

This commit is contained in:
Alexpux
2014-07-28 14:52:35 +04:00
parent eea390428e
commit 3ce37f6820
2 changed files with 66 additions and 180 deletions

View File

@@ -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)

View File

@@ -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