changeset 6293:e5f0e1d2b917

Fix libwinpthread-1.dll dependency
author Masamichi Hosoda <trueroad@users.noreply.github.com>
date Sun, 30 Nov 2014 18:52:57 +0900
parents 4af0bd462b71
children 42ff97e65b36
files gub/gup.py gub/specs/lilypond.py gub/specs/mingw-w64-runtime.py gub/specs/python.py
diffstat 4 files changed, 14 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/gub/gup.py	Sun Nov 30 02:58:04 2014 +0900
+++ b/gub/gup.py	Sun Nov 30 18:52:57 2014 +0900
@@ -427,15 +427,17 @@
     # FIXME: rename packages, fragile
     if [True for x in [
             'freebsd-runtime',
-            'mingw-w64-runtime',
             'lilypond-doc',
             'cygwin::',
             ] if x in name]:
         return name
+    if re.search('mingw-w64-runtime$', name):
+        return name
     name = re.sub ('(gcc(-.*)?)-c[+][+]-runtime', r'\1', name)
     name = re.sub ('-devel$', '', name)
     name = re.sub ('-runtime$', '', name)
     name = re.sub ('-doc$', '', name)
+    name = re.sub ('(mingw-w64-runtime(-.*)?)-winpthread-dll', r'\1', name)
     return name
 
 def get_source_packages (settings, const_todo):
--- a/gub/specs/lilypond.py	Sun Nov 30 02:58:04 2014 +0900
+++ b/gub/specs/lilypond.py	Sun Nov 30 18:52:57 2014 +0900
@@ -171,6 +171,7 @@
     dependencies = LilyPond.dependencies + [
             'tools::imagemagick',
             'tools::icoutils',
+            'mingw-w64-runtime-winpthread-dll',
             ]
     python_lib = '%(system_prefix)s/bin/libpython*.dll'
     configure_flags = (LilyPond.configure_flags
--- a/gub/specs/mingw-w64-runtime.py	Sun Nov 30 02:58:04 2014 +0900
+++ b/gub/specs/mingw-w64-runtime.py	Sun Nov 30 18:52:57 2014 +0900
@@ -2,6 +2,14 @@
 
 class Mingw_w64_runtime (build.BinaryBuild, build.SdkBuild):
     source = 'http://sourceforge.net/projects/mingw-w64/files/Toolchains%%20targetting%%20Win32/Personal%%20Builds/mingw-builds/4.8.2/threads-posix/sjlj/i686-4.8.2-release-posix-sjlj-rt_v3-rev4.7z'
+    subpackage_names = ['winpthread-dll', '']
+    def get_subpackage_definitions (self):
+        d = build.BinaryBuild.get_subpackage_definitions (self)
+        prefix_dir = self.settings.prefix_dir
+        d['winpthread-dll'] = [
+            prefix_dir + '/bin/libwinpthread-*.dll',
+        ]
+        return d
     def install (self):
         self.system ('''
 mkdir -p %(install_prefix)s/include
@@ -9,7 +17,7 @@
 mkdir -p %(install_prefix)s/bin
 cd %(srcdir)s/mingw32/i686-w64-mingw32/include/ && tar -C %(srcdir)s/mingw32/i686-w64-mingw32/include/ -cf - . | tar -C %(install_prefix)s/include/ -xf -
 cd %(srcdir)s/mingw32/i686-w64-mingw32/lib/ && tar -C %(srcdir)s/mingw32/i686-w64-mingw32/lib/ -cf - . | tar -C %(install_prefix)s/lib/ -xf -
-cp %(srcdir)s/mingw32/bin/libwinpthread-1.dll %(install_prefix)s/bin/
+cp %(srcdir)s/mingw32/bin/libwinpthread-*.dll %(install_prefix)s/bin/
 rm -f %(install_prefix)s/lib/libgcc_s.a # for cross/gcc conflict
 rm -f %(install_prefix)s/lib/libquadmath-0.dll # for cross/gcc conflict
 rm -f %(install_prefix)s/lib/libssp-0.dll # for cross/gcc conflict
--- a/gub/specs/python.py	Sun Nov 30 02:58:04 2014 +0900
+++ b/gub/specs/python.py	Sun Nov 30 18:52:57 2014 +0900
@@ -119,6 +119,7 @@
     def __init__ (self, settings, source):
         Python.__init__ (self, settings, source)
         self.target_gcc_flags = '-DMS_WINDOWS -DPy_WIN_WIDE_FILENAMES -I%(system_prefix)s/include' % self.settings.__dict__
+    dependencies = Python.dependencies + ['mingw-w64-runtime-winpthread-dll']
     # FIXME: first is cross compile + mingw patch, backported to
     # 2.4.2 and combined in one patch; move to cross-Python?
     def patch (self):