Skip to content

Commit

Permalink
scons: Rebuild.
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexpux committed Nov 4, 2014
1 parent 2df2b02 commit 39a6f66
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 96 deletions.
12 changes: 4 additions & 8 deletions scons/PKGBUILD
Expand Up @@ -2,25 +2,21 @@

pkgname=scons
pkgver=2.3.4
pkgrel=1
pkgrel=2
pkgdesc="Extensible Python-based build utility"
arch=('any')
groups=('base-devel')
url="http://scons.org"
license=('MIT')
depends=('python2')
source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz"
cygwin-use_usr_bin.patch
scons-2.3.1-cyglink-msys2.patch)
scons-2.3.4-cyglink-msys2.patch)
md5sums=('91fbbb67c2c65b03c746601baac4a6a5'
'e1f81fdd3b0748674d982b2ecbc379c5'
'468f1c1d1cdaf109fe3e1a45594b6413')
'8449f7f389bdd54f07d8ab27a8b7b48f')

prepare() {
cd "$srcdir/$pkgname-$pkgver"

patch -p2 -i ${srcdir}/cygwin-use_usr_bin.patch
patch -p1 -i ${srcdir}/scons-2.3.1-cyglink-msys2.patch
patch -p1 -i ${srcdir}/scons-2.3.4-cyglink-msys2.patch
}

package() {
Expand Down
12 changes: 0 additions & 12 deletions scons/cygwin-use_usr_bin.patch

This file was deleted.

@@ -1,9 +1,9 @@
diff -Naur a/engine/SCons/Node/FS.py b/engine/SCons/Node/FS.py
--- a/engine/SCons/Node/FS.py 2013-03-03 18:48:39.000000000 +0400
+++ b/engine/SCons/Node/FS.py 2013-07-25 23:37:33.856445300 +0400
@@ -364,7 +364,7 @@
diff -Naur scons-2.3.4-orig/engine/SCons/Node/FS.py scons-2.3.4/engine/SCons/Node/FS.py
--- scons-2.3.4-orig/engine/SCons/Node/FS.py 2014-09-27 19:51:48.000000000 +0300
+++ scons-2.3.4/engine/SCons/Node/FS.py 2014-11-05 01:00:41.503600000 +0300
@@ -365,7 +365,7 @@
return DefaultRCSBuilder

# Cygwin's os.path.normcase pretends it's on a case-sensitive filesystem.
-_is_cygwin = sys.platform == "cygwin"
+_is_cygwin = sys.platform in ["cygwin", "msys"]
Expand All @@ -19,9 +19,9 @@ diff -Naur a/engine/SCons/Node/FS.py b/engine/SCons/Node/FS.py
name = _my_normcase(name)
result = d.get(name)
if result is None:
diff -Naur a/engine/SCons/Platform/__init__.py b/engine/SCons/Platform/__init__.py
--- a/engine/SCons/Platform/__init__.py 2013-03-03 18:48:39.000000000 +0400
+++ b/engine/SCons/Platform/__init__.py 2013-07-25 23:38:42.231445300 +0400
diff -Naur scons-2.3.4-orig/engine/SCons/Platform/__init__.py scons-2.3.4/engine/SCons/Platform/__init__.py
--- scons-2.3.4-orig/engine/SCons/Platform/__init__.py 2014-09-27 19:51:48.000000000 +0300
+++ scons-2.3.4/engine/SCons/Platform/__init__.py 2014-11-05 01:00:42.034000000 +0300
@@ -68,6 +68,8 @@
if osname == 'posix':
if sys.platform == 'cygwin':
Expand All @@ -31,9 +31,9 @@ diff -Naur a/engine/SCons/Platform/__init__.py b/engine/SCons/Platform/__init__.
elif sys.platform.find('irix') != -1:
return 'irix'
elif sys.platform.find('sunos') != -1:
diff -Naur a/engine/SCons/Platform/msys.py b/engine/SCons/Platform/msys.py
--- a/engine/SCons/Platform/msys.py 1970-01-01 03:00:00.000000000 +0300
+++ b/engine/SCons/Platform/msys.py 2013-07-25 23:45:27.056640600 +0400
diff -Naur scons-2.3.4-orig/engine/SCons/Platform/msys.py scons-2.3.4/engine/SCons/Platform/msys.py
--- scons-2.3.4-orig/engine/SCons/Platform/msys.py 1970-01-01 03:00:00.000000000 +0300
+++ scons-2.3.4/engine/SCons/Platform/msys.py 2014-11-05 01:00:42.034000000 +0300
@@ -0,0 +1,59 @@
+"""SCons.Platform.msys
+
Expand Down Expand Up @@ -94,22 +94,22 @@ diff -Naur a/engine/SCons/Platform/msys.py b/engine/SCons/Platform/msys.py
+# End:
+# vim: set expandtab tabstop=4 shiftwidth=4:
+
diff -Naur a/engine/SCons/Script/Main.py b/engine/SCons/Script/Main.py
--- a/engine/SCons/Script/Main.py 2013-03-03 18:48:39.000000000 +0400
+++ b/engine/SCons/Script/Main.py 2013-07-25 23:39:22.528320300 +0400
@@ -755,7 +755,7 @@
diff -Naur scons-2.3.4-orig/engine/SCons/Script/Main.py scons-2.3.4/engine/SCons/Script/Main.py
--- scons-2.3.4-orig/engine/SCons/Script/Main.py 2014-09-27 19:51:48.000000000 +0300
+++ scons-2.3.4/engine/SCons/Script/Main.py 2014-11-05 01:00:42.034000000 +0300
@@ -770,7 +770,7 @@
def homedir(d):
return os.path.expanduser('~/'+d)

- if platform == 'win32' or platform == 'cygwin':
+ if platform == 'win32' or platform == 'cygwin' or platform == 'msys':
# Note we use $ here instead of %...% because older
# pythons (prior to 2.6?) didn't expand %...% on Windows.
# This set of dirs should work on XP, Vista, 7 and later.
diff -Naur a/engine/SCons/Tool/__init__.py b/engine/SCons/Tool/__init__.py
--- a/engine/SCons/Tool/__init__.py 2013-03-03 18:48:39.000000000 +0400
+++ b/engine/SCons/Tool/__init__.py 2013-07-25 23:49:27.673828100 +0400
@@ -309,7 +309,7 @@
diff -Naur scons-2.3.4-orig/engine/SCons/Tool/__init__.py scons-2.3.4/engine/SCons/Tool/__init__.py
--- scons-2.3.4-orig/engine/SCons/Tool/__init__.py 2014-09-27 19:51:48.000000000 +0300
+++ scons-2.3.4/engine/SCons/Tool/__init__.py 2014-11-05 01:00:42.034000000 +0300
@@ -317,7 +317,7 @@
shlink_flags += [ '-Wl,-soname=%s' % soname ]
if Verbose:
print " soname ",soname,", shlink_flags ",shlink_flags
Expand All @@ -118,37 +118,37 @@ diff -Naur a/engine/SCons/Tool/__init__.py b/engine/SCons/Tool/__init__.py
shlink_flags += [ '-Wl,-Bsymbolic',
'-Wl,--out-implib,${TARGET.base}.a' ]
elif platform == 'darwin':
@@ -763,6 +763,14 @@
@@ -761,6 +761,14 @@
c_compilers = ['gcc', 'msvc', 'intelc', 'icc', 'cc']
cxx_compilers = ['g++', 'msvc', 'intelc', 'icc', 'c++']
assemblers = ['gas', 'nasm', 'masm']
fortran_compilers = ['gfortran', 'g77', 'ifort', 'ifl', 'f95', 'f90', 'f77']
ars = ['ar', 'mslib']
+ fortran_compilers = ['gfortran', 'g77', 'ifort', 'ifl', 'f95', 'f90', 'f77']
+ ars = ['ar', 'mslib']
+ elif str(platform) == 'msys':
+ "prefer GNU tools on MSYS, except for a platform-specific linker"
+ linkers = ['msyslink', 'mslink', 'ilink']
+ c_compilers = ['gcc', 'msvc', 'intelc', 'icc', 'cc']
+ cxx_compilers = ['g++', 'msvc', 'intelc', 'icc', 'c++']
+ assemblers = ['gas', 'nasm', 'masm']
+ fortran_compilers = ['gfortran', 'g77', 'ifort', 'ifl', 'f95', 'f90', 'f77']
+ ars = ['ar', 'mslib']
fortran_compilers = ['gfortran', 'g77', 'ifort', 'ifl', 'f95', 'f90', 'f77']
ars = ['ar', 'mslib']
else:
"prefer GNU tools on all other platforms"
linkers = ['gnulink', 'mslink', 'ilink']
diff -Naur a/engine/SCons/Tool/g77.py b/engine/SCons/Tool/g77.py
--- a/engine/SCons/Tool/g77.py 2013-03-03 18:48:40.000000000 +0400
+++ b/engine/SCons/Tool/g77.py 2013-07-25 23:39:42.200195300 +0400
diff -Naur scons-2.3.4-orig/engine/SCons/Tool/g77.py scons-2.3.4/engine/SCons/Tool/g77.py
--- scons-2.3.4-orig/engine/SCons/Tool/g77.py 2014-09-27 19:51:48.000000000 +0300
+++ scons-2.3.4/engine/SCons/Tool/g77.py 2014-11-05 01:00:42.049600000 +0300
@@ -44,7 +44,7 @@
add_f77_to_env(env)

fcomp = env.Detect(compilers) or 'g77'
- if env['PLATFORM'] in ['cygwin', 'win32']:
+ if env['PLATFORM'] in ['cygwin', 'msys', 'win32']:
env['SHFORTRANFLAGS'] = SCons.Util.CLVar('$FORTRANFLAGS')
env['SHF77FLAGS'] = SCons.Util.CLVar('$F77FLAGS')
else:
diff -Naur a/engine/SCons/Tool/gcc.py b/engine/SCons/Tool/gcc.py
--- a/engine/SCons/Tool/gcc.py 2013-03-03 18:48:40.000000000 +0400
+++ b/engine/SCons/Tool/gcc.py 2013-07-25 23:40:01.637695300 +0400
@@ -47,7 +47,7 @@
diff -Naur scons-2.3.4-orig/engine/SCons/Tool/gcc.py scons-2.3.4/engine/SCons/Tool/gcc.py
--- scons-2.3.4-orig/engine/SCons/Tool/gcc.py 2014-09-27 19:51:48.000000000 +0300
+++ scons-2.3.4/engine/SCons/Tool/gcc.py 2014-11-05 01:00:42.049600000 +0300
@@ -50,7 +50,7 @@

cc.generate(env)

Expand All @@ -157,9 +157,9 @@ diff -Naur a/engine/SCons/Tool/gcc.py b/engine/SCons/Tool/gcc.py
env['SHCCFLAGS'] = SCons.Util.CLVar('$CCFLAGS')
else:
env['SHCCFLAGS'] = SCons.Util.CLVar('$CCFLAGS -fPIC')
diff -Naur a/engine/SCons/Tool/gfortran.py b/engine/SCons/Tool/gfortran.py
--- a/engine/SCons/Tool/gfortran.py 2013-03-03 18:48:40.000000000 +0400
+++ b/engine/SCons/Tool/gfortran.py 2013-07-25 23:40:17.715820300 +0400
diff -Naur scons-2.3.4-orig/engine/SCons/Tool/gfortran.py scons-2.3.4/engine/SCons/Tool/gfortran.py
--- scons-2.3.4-orig/engine/SCons/Tool/gfortran.py 2014-09-27 19:51:48.000000000 +0300
+++ scons-2.3.4/engine/SCons/Tool/gfortran.py 2014-11-05 01:00:42.049600000 +0300
@@ -46,7 +46,7 @@
for dialect in ['F77', 'F90', 'FORTRAN', 'F95', 'F03']:
env['%s' % dialect] = 'gfortran'
Expand All @@ -169,21 +169,33 @@ diff -Naur a/engine/SCons/Tool/gfortran.py b/engine/SCons/Tool/gfortran.py
env['SH%sFLAGS' % dialect] = SCons.Util.CLVar('$%sFLAGS' % dialect)
else:
env['SH%sFLAGS' % dialect] = SCons.Util.CLVar('$%sFLAGS -fPIC' % dialect)
diff -Naur a/engine/SCons/Tool/hpc++.py b/engine/SCons/Tool/hpc++.py
--- a/engine/SCons/Tool/hpc++.py 2013-03-03 18:48:40.000000000 +0400
+++ b/engine/SCons/Tool/hpc++.py 2013-07-25 23:41:16.731445300 +0400
diff -Naur scons-2.3.4-orig/engine/SCons/Tool/hpc++.py scons-2.3.4/engine/SCons/Tool/hpc++.py
--- scons-2.3.4-orig/engine/SCons/Tool/hpc++.py 2014-09-27 19:51:48.000000000 +0300
+++ scons-2.3.4/engine/SCons/Tool/hpc++.py 2014-11-05 01:00:42.049600000 +0300
@@ -69,7 +69,7 @@
if line.find('aCC: HP ANSI C++') == 0:
env['CXXVERSION'] = line.split()[-1]

- if env['PLATFORM'] == 'cygwin':
+ if env['PLATFORM'] == 'cygwin' or env['PLATFORM'] == 'msys':
env['SHCXXFLAGS'] = SCons.Util.CLVar('$CXXFLAGS')
else:
env['SHCXXFLAGS'] = SCons.Util.CLVar('$CXXFLAGS +Z')
diff -Naur a/engine/SCons/Tool/msyslink.py b/engine/SCons/Tool/msyslink.py
--- a/engine/SCons/Tool/msyslink.py 1970-01-01 03:00:00.000000000 +0300
+++ b/engine/SCons/Tool/msyslink.py 2013-07-25 23:49:10.017578100 +0400
diff -Naur scons-2.3.4-orig/engine/SCons/Tool/link.py scons-2.3.4/engine/SCons/Tool/link.py
--- scons-2.3.4-orig/engine/SCons/Tool/link.py 2014-09-27 19:51:48.000000000 +0300
+++ scons-2.3.4/engine/SCons/Tool/link.py 2014-11-05 01:00:42.049600000 +0300
@@ -134,7 +134,7 @@
print "shlib_emitter_names: side effect: ", name
# add version_name to list of names to be a Side effect
version_names.append(version_name)
- elif platform == 'cygwin':
+ elif platform in ['cygwin', 'msys']:
shlib_suffix = env.subst('$SHLIBSUFFIX')
name = target[0].name
# generate library name with the version number
diff -Naur scons-2.3.4-orig/engine/SCons/Tool/msyslink.py scons-2.3.4/engine/SCons/Tool/msyslink.py
--- scons-2.3.4-orig/engine/SCons/Tool/msyslink.py 1970-01-01 03:00:00.000000000 +0300
+++ scons-2.3.4/engine/SCons/Tool/msyslink.py 2014-11-05 01:18:06.061600000 +0300
@@ -0,0 +1,95 @@
+"""SCons.Tool.msyslink
+
Expand Down Expand Up @@ -217,9 +229,9 @@ diff -Naur a/engine/SCons/Tool/msyslink.py b/engine/SCons/Tool/msyslink.py
+ '-Wl,--whole-archive', '$SOURCES',
+ '-Wl,--no-whole-archive', '$_LIBDIRFLAGS', '$_LIBFLAGS'
+ ])
+
+ else:
+ cmd.extend(['$SOURCES', '$_LIBDIRFLAGS', '$_LIBFLAGS'])
+
+ return [cmd]
+
+def shlib_emitter(target, source, env):
Expand All @@ -228,7 +240,7 @@ diff -Naur a/engine/SCons/Tool/msyslink.py b/engine/SCons/Tool/msyslink.py
+
+ if not dll or len(target) > 1:
+ raise SCons.Errors.UserError("A shared library should have exactly one target with the suffix: %s" % env.subst("$SHLIBSUFFIX"))
+
+
+ # Remove any "lib" after the prefix
+ pre = env.subst('$SHLIBPREFIX')
+ if dll.name[len(pre):len(pre)+3] == 'lib':
Expand All @@ -244,13 +256,13 @@ diff -Naur a/engine/SCons/Tool/msyslink.py b/engine/SCons/Tool/msyslink.py
+ target_strings = env.ReplaceIxes(orig_target[0],
+ 'SHLIBPREFIX', 'SHLIBSUFFIX',
+ 'IMPLIBPREFIX', 'IMPLIBSUFFIX')
+
+
+ implib_target = env.fs.File(target_strings)
+ implib_target.attributes.shared = 1
+ target.append(implib_target)
+
+ return (target, source)
+
+
+
+shlib_action = SCons.Action.Action(shlib_generator, generator=1)
+
Expand All @@ -264,8 +276,8 @@ diff -Naur a/engine/SCons/Tool/msyslink.py b/engine/SCons/Tool/msyslink.py
+ env['LDMODULECOM'] = shlib_action
+ env.Append(SHLIBEMITTER = [shlib_emitter])
+
+ env['SHLIBPREFIX'] = 'msys-'
+ env['SHLIBSUFFIX'] = '.dll'
+ env['SHLIBPREFIX'] = 'msys-'
+ env['SHLIBSUFFIX'] = '.dll'
+
+ env['IMPLIBPREFIX'] = 'lib'
+ env['IMPLIBSUFFIX'] = '.dll.a'
Expand All @@ -280,43 +292,30 @@ diff -Naur a/engine/SCons/Tool/msyslink.py b/engine/SCons/Tool/msyslink.py
+# End:
+# vim: set expandtab tabstop=4 shiftwidth=4:
+
diff --git a/engine/SCons/Tool/link.py b/engine/SCons/Tool/link.py
index 008a7d7..173f091 100644
--- a/engine/SCons/Tool/link.py
+++ b/engine/SCons/Tool/link.py
@@ -127,7 +127,7 @@ def shlib_emitter_names(target, source, env):
print "shlib_emitter_names: side effect: ", name
# add version_name to list of names to be a Side effect
version_names.append(version_name)
- elif platform == 'cygwin':
+ elif platform in ['cygwin', 'msys']:
shlib_suffix = env.subst('$SHLIBSUFFIX')
name = target[0].name
# generate library name with the version number
diff -Naur a/engine/SCons/Util.py b/engine/SCons/Util.py
--- a/engine/SCons/Util.py 2013-03-03 18:48:40.000000000 +0400
+++ b/engine/SCons/Util.py 2013-07-25 23:36:54.231445300 +0400
diff -Naur scons-2.3.4-orig/engine/SCons/Util.py scons-2.3.4/engine/SCons/Util.py
--- scons-2.3.4-orig/engine/SCons/Util.py 2014-09-27 19:51:48.000000000 +0300
+++ scons-2.3.4/engine/SCons/Util.py 2014-11-05 01:00:42.049600000 +0300
@@ -889,7 +889,7 @@
else:
return sep.join(paths)

-if sys.platform == 'cygwin':
+if sys.platform in ['cygwin', 'msys']:
def get_native_path(path):
"""Transforms an absolute path into a native path for the system. In
Cygwin, this converts from a Cygwin path to a Windows one."""
@@ -1020,7 +1020,7 @@
return None


-if sys.platform == 'cygwin':
+if sys.platform in ['cygwin', 'msys']:
# On Cygwin, os.path.normcase() lies, so just report back the
# fact that the underlying Windows OS is case-insensitive.
def case_sensitive_suffixes(s1, s2):
diff -Naur a/MANIFEST b/MANIFEST
--- a/MANIFEST 2013-03-03 18:48:41.000000000 +0400
+++ b/MANIFEST 2013-07-25 23:52:35.781250000 +0400
diff -Naur scons-2.3.4-orig/MANIFEST scons-2.3.4/MANIFEST
--- scons-2.3.4-orig/MANIFEST 2014-09-27 19:52:20.000000000 +0300
+++ scons-2.3.4/MANIFEST 2014-11-05 01:00:42.065200000 +0300
@@ -31,6 +31,7 @@
engine/SCons/Platform/darwin.py
engine/SCons/Platform/hpux.py
Expand All @@ -325,15 +324,15 @@ diff -Naur a/MANIFEST b/MANIFEST
engine/SCons/Platform/os2.py
engine/SCons/Platform/posix.py
engine/SCons/Platform/sunos.py
@@ -83,6 +84,7 @@
@@ -84,6 +85,7 @@
engine/SCons/Tool/bcc32.py
engine/SCons/Tool/c++.py
engine/SCons/Tool/cc.py
+engine/SCons/Tool/cyglink.py
engine/SCons/Tool/cvf.py
engine/SCons/Tool/cyglink.py
engine/SCons/Tool/default.py
engine/SCons/Tool/dmd.py
@@ -134,6 +136,7 @@
@@ -139,6 +141,7 @@
engine/SCons/Tool/mssdk.py
engine/SCons/Tool/msvc.py
engine/SCons/Tool/msvs.py
Expand Down

0 comments on commit 39a6f66

Please sign in to comment.