Merge pull request #209317 from wegank/fluxus-scons

fluxus: migrate to scons_latest
This commit is contained in:
Thiago Kenji Okada 2023-01-06 18:14:07 +00:00 committed by GitHub
commit 1384e038f9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 85 additions and 5 deletions

View file

@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
openssl.dev
racket_7_9
];
nativeBuildInputs = [ sconsPackages.scons_3_1_2 ];
nativeBuildInputs = [ sconsPackages.scons_latest ];
patches = [ ./fix-build.patch ];
sconsFlags = [

View file

@ -1,11 +1,20 @@
diff --git a/SConstruct b/SConstruct
index 32cb644..0b3a208 100644
index 32cb644..650333a 100644
--- a/SConstruct
+++ b/SConstruct
@@ -225,6 +225,11 @@ if env['PLATFORM'] == 'posix':
@@ -6,7 +6,7 @@
# application, then calls the sconscripts for libfluxus and
# the fluxus Racket modules
-import os, os.path, sys, commands, subprocess
+import os, os.path, sys, subprocess
MajorVersion = "0"
MinorVersion = "19"
@@ -225,13 +225,18 @@ if env['PLATFORM'] == 'posix':
["asound", "alsa/asoundlib.h"],
["openal", "AL/al.h"]]
+env.Append(ENV={'PATH': ' ' + os.environ['PATH'], })
+env.Append(LIBPATH=ARGUMENTS.get('LIBPATH', '').split(':'))
+env.Append(CCFLAGS=' ' + os.environ.get('NIX_CFLAGS_COMPILE',''))
@ -13,4 +22,75 @@ index 32cb644..0b3a208 100644
+
################################################################################
# Make sure we have these libraries availible
if not GetOption('clean'):
- print '--------------------------------------------------------'
- print 'Fluxus: Configuring Build Environment'
- print '--------------------------------------------------------'
+ print('--------------------------------------------------------')
+ print('Fluxus: Configuring Build Environment')
+ print('--------------------------------------------------------')
# detect ode precision
if not GetOption('clean'):
try:
@@ -240,27 +245,27 @@ if not GetOption('clean'):
if isinstance(ode_str[0], str):
env.MergeFlags(ode_str[0])
except:
- print 'WARNING: unable to run ode-config, cannot detect ODE precision'
+ print('WARNING: unable to run ode-config, cannot detect ODE precision')
conf = Configure(env)
# check Racket and OpenAL frameworks on osx
if env['PLATFORM'] == 'darwin':
if not conf.CheckHeader('scheme.h'):
- print "ERROR: 'racket3m' must be installed!"
+ print("ERROR: 'racket3m' must be installed!")
Exit(1)
if racket_framework:
LibList = filter(lambda x: x[0] != 'racket3m', LibList)
# OpenAL should be installed everywhere
if not conf.CheckHeader('OpenAL/al.h'):
- print "ERROR: 'OpenAL' must be installed!"
+ print("ERROR: 'OpenAL' must be installed!")
Exit(1)
# all libraries are required, and some of them require each other,
# hence the order is important, and autoadd=1
for (lib,headers) in LibList:
if not conf.CheckLibWithHeader(lib, headers, 'C', autoadd = 1):
- print "ERROR: '%s' must be installed!" % (lib)
+ print("ERROR: '%s' must be installed!" % (lib))
Exit(1)
if not conf.CheckFunc("dInitODE2"):
@@ -334,7 +339,7 @@ if not GetOption('clean'):
])
if raco_status != 0:
- print "ERROR: Failed to run command 'raco'"
+ print("ERROR: Failed to run command 'raco'")
Exit(1)
@@ -377,8 +382,8 @@ if not GetOption('clean') and static_modules:
app_env['LIBS'].remove("pthread")
app_env['LIBS'].remove("dl")
- app_env['LIBS'].remove("ode")
- app_env['LIBS'].remove("sndfile")
+ app_env['LIBS'].remove("ode")
+ app_env['LIBS'].remove("sndfile")
# now go through the rest of the libs, removing them from
# the environment at the same time
@@ -425,7 +430,7 @@ SConscript(dirs = build_dirs,
if not GetOption('clean'):
helpmap_status = subprocess.call(["racket", "makehelpmap.scm"], cwd="docs/helpmap")
if helpmap_status != 0:
- print "ERROR: Failed to build 'docs/helpmap'"
+ print("ERROR: Failed to build 'docs/helpmap'")
Exit(1)
################################################################################