Thomas Frohwein <tfrohw...@fastmail.com> writes:

> I discussed with Omar off-list that it may be worth tackling this in
> chunks. He suggested starting with games/boswars and games/pingus that
> compile with current scons.
>
> On Tue, Oct 26, 2021 at 05:51:45PM +0200, Omar Polo wrote:
> [...]
>> games/boswars
>> 
>>      2to3 changes plus:
>> 
>>      - some love for the makefile (only aesthetic changes)
>>      - drop -fexpensive-optimizations: base clang complained that's a
>>        "optimization flag not supported".  Should be a no-op.
>> 
> [...]
>> games/pingus
>> 
>>      2to3 then runs fine.
>
> Both ports are without maintainer; I built both with current scons and
> tested quick runtime without problems. I think it may be best to bump
> REVISION even with the changes applying mainly to the build system.

the content of the packages should be the same because the removal of
-fexpensive-optimizations should be a noop on clang (11 at least), but I
agree: let's stay on the safe side and bump the REVISION.

> Here is the diff for just the 2 ports with my ok.

thanks :)

games/dangerdeep also could be committed before the scons update.

The following diff only changes BuildDir to VariantDir (builddir was
deprecated in scons 2 if not even before and removed with 3.x or 4.x)
and fixes the indentation (python3 is picky wrt mixing spaces and tabs.)

The port runs fine and is without a MAINTAINER.  I've not bumped the
REVISION this time.


Cheers,

Omar Polo


P.S.: with these three in, the diff for scons 4 is significantly
      smaller, thanks again!  I should have splitted them from the
      start.


Index: patches/patch-SConstruct
===================================================================
RCS file: /home/cvs/ports/games/dangerdeep/patches/patch-SConstruct,v
retrieving revision 1.2
diff -u -p -r1.2 patch-SConstruct
--- patches/patch-SConstruct    12 Jan 2018 20:13:31 -0000      1.2
+++ patches/patch-SConstruct    21 Oct 2021 09:12:50 -0000
@@ -1,6 +1,143 @@
 $OpenBSD: patch-SConstruct,v 1.2 2018/01/12 20:13:31 kili Exp $
---- SConstruct.orig    Sat May  8 03:41:20 2010
-+++ SConstruct Sat Jun  1 11:12:50 2013
+Index: SConstruct
+--- SConstruct.orig
++++ SConstruct
+@@ -49,7 +49,7 @@ if (env.GetOption('clean') or conf == '0'):
+ 
+ if sys.platform == 'win32':
+       checkconf = False
+-      print "Compiling for Win32 Environment"
++      print("Compiling for Win32 Environment")
+       env = Environment(ENV = os.environ)
+ 
+       env.Append(CPPDEFINES = ['WIN32','NOMINMAX','DEBUG']) 
+@@ -68,7 +68,7 @@ if sys.platform == 'win32':
+       build_dir = 'win32'
+ 
+ elif sys.platform == 'darwin':
+-      print "Compiling for MacOSX"
++      print("Compiling for MacOSX")
+       env = Environment(ENV = os.environ)
+       env.Append(CPPPATH = 
['/System/Library/Frameworks/AGL.framework/Headers', 
'/System/Library/Frameworks/OpenGL.framework/Headers','/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/include'
 , './Mac'])
+       libpath = ['/System/Library/Frameworks/OpenGL.framework/Libraries', 
'/usr/local/lib', '/usr/lib']
+@@ -79,11 +79,11 @@ elif sys.platform == 'darwin':
+       datadir = './data'      # use slashes as separator always. C/C++ want 
it so.
+       build_dir = 'macosx'
+       osspecificsrc = Split("""Mac/SDLMain.m""")
+-        if (debug == 1):
+-                env.Append(CCFLAGS = '-g')
+-                env.Append(CPPDEFINES = ['DEBUG'])
++      if (debug == 1):
++              env.Append(CCFLAGS = '-g')
++              env.Append(CPPDEFINES = ['DEBUG'])
+ elif (sys.platform == 'freebsd5') or (sys.platform == 'freebsd6') or 
(sys.platform == 'freebsd7'):
+-      print "Compiling for FreeBSD Environment"
++      print("Compiling for FreeBSD Environment")
+       env = Environment(ENV = os.environ)
+       LOCALBASE = os.environ['LOCALBASE']
+       X11BASE = os.environ['X11BASE']
+@@ -99,45 +99,45 @@ elif (sys.platform == 'freebsd5') or (sys.platform == 
+       cpuinfol = cpuinfof.readlines()
+       mmxsupported = False
+       ssesupported = False
+-        for i in cpuinfol:
++      for i in cpuinfol:
+               if i == '1\n':
+                       mmxsupported = True
+                       ssesupported = True
+               if (usex86sse == 0) and (mmxsupported and ssesupported):
+-                      usex86sse = 1
+-              if usex86sse >= 1:
++                      usex86sse = 1
++              if usex86sse >= 1:
+                       env.Append(CCFLAGS = '-msse')
+-                      env.Append(CPPDEFINES = ['USE_SSE'])
+-                      osspecificsrc += []
+-                      print 'Using x86 SSE/MMX optimizations.'
++                      env.Append(CPPDEFINES = ['USE_SSE'])
++                      osspecificsrc += []
++                      print('Using x86 SSE/MMX optimizations.')
+ 
+-        env.Replace(CCFLAGS = os.environ['CFLAGS'])
++      env.Replace(CCFLAGS = os.environ['CFLAGS'])
+       if (debug == 1):
+               env.Append(CCFLAGS = '-g')
+               env.Append(CPPDEFINES = ['DEBUG'])
+-        env.Replace(CXXFLAGS = os.environ['CXXFLAGS'] + ' `' + SDL_CONFIG + ' 
--cflags`')
+-        env.Append(LINKFLAGS = '`' + SDL_CONFIG + ' --libs`')
+-        datadir = '/usr/local/share/dangerdeep'
+-        build_dir = 'freebsd'
++      env.Replace(CXXFLAGS = os.environ['CXXFLAGS'] + ' `' + SDL_CONFIG + ' 
--cflags`')
++      env.Append(LINKFLAGS = '`' + SDL_CONFIG + ' --libs`')
++      datadir = '/usr/local/share/dangerdeep'
++      build_dir = 'freebsd'
+       
+-        if (checkconf == True and os.system('grep glBindProgram ' + X11BASE + 
'/include/GL/gl*.h > /dev/null') == 0):
+-                gllibdirs = [X11BASE + '/lib/', '/usr/lib/', LOCALBASE + 
'/lib/']
+-                gllibdir = ''
+-                for i in gllibdirs:
+-                        if (os.system('test -f '+i+'libGL.so') == 0):
+-                                gllibdir = i
+-                                break
+-                if (gllibdir == ''):
+-                        print 'ERROR: no libGL.so detected!'
+-                else:
+-                      print 'Found GL library "'+gllibdir+'libGL.so"'
+-                if (os.system('grep glBindProgram '+gllibdir+'libGL.so > 
/dev/null') != 0):
+-                        print 'GL headers declare glBindProgram, but libGL.so 
has no such symbol! Ignoring all undefined symbols...'
+-                        # I'm not sure which option will hopefully fix the 
problem... so i use both...
+-                        env.Append(LINKFLAGS = 
'--unresolved-symbols=ignore-all')
+-                        env.Append(LINKFLAGS = '-Xlinker --unresolved-symbols 
-Xlinker ignore-all')
++      if (checkconf == True and os.system('grep glBindProgram ' + X11BASE + 
'/include/GL/gl*.h > /dev/null') == 0):
++              gllibdirs = [X11BASE + '/lib/', '/usr/lib/', LOCALBASE + 
'/lib/']
++              gllibdir = ''
++              for i in gllibdirs:
++                      if (os.system('test -f '+i+'libGL.so') == 0):
++                              gllibdir = i
++                              break
++              if (gllibdir == ''):
++                      print('ERROR: no libGL.so detected!')
++              else:
++                      print('Found GL library "'+gllibdir+'libGL.so"')
++              if (os.system('grep glBindProgram '+gllibdir+'libGL.so > 
/dev/null') != 0):
++                      print('GL headers declare glBindProgram, but libGL.so 
has no such symbol! Ignoring all undefined symbols...')
++                      # I'm not sure which option will hopefully fix the 
problem... so i use both...
++                      env.Append(LINKFLAGS = 
'--unresolved-symbols=ignore-all')
++                      env.Append(LINKFLAGS = '-Xlinker --unresolved-symbols 
-Xlinker ignore-all')
+ elif 0 != mingw32:
+-      print "Compiling for mingw32 Environment"
++      print("Compiling for mingw32 Environment")
+       env = Environment(ENV = os.environ, tools = ['mingw'])
+ 
+       env.Append(CPPPATH = [ mingw32root + '/usr/include/', mingw32root + 
'/usr/include/GL/', mingw32root + '/usr/include/SDL/' ] )
+@@ -171,12 +171,12 @@ elif 0 != mingw32:
+               osspecificsrc += []
+               env.Append(CCFLAGS = '-msse')
+               env.Append(CPPDEFINES = ['USE_SSE'])
+-              print 'Using x86 SSE/MMX optimizations with GCC intrinsics.'
++              print('Using x86 SSE/MMX optimizations with GCC intrinsics.')
+       datadir = './data'      # use slashes as separator always. C/C++ want 
it so.
+       build_dir = 'mingw32'
+ else:
+       SConsignFile()
+-      print "Compiling for GNU/Linux Environment (" + sys.platform + ")"
++      print("Compiling for GNU/Linux Environment (" + sys.platform + ")")
+       env = Environment(ENV = os.environ)
+ 
+       env.Append(CPPPATH = ['/usr/include/SDL', '/usr/include/GL'])
+@@ -192,10 +192,10 @@ else:
+ 
+       # allow arch to be over-ridden if need be.
+       if archflag != '':
+-              print 'Using architecture: ' + archflag + ' (Changed from ' + 
arch + ')'
++              print('Using architecture: ' + archflag + ' (Changed from ' + 
arch + ')')
+               arch = archflag
+       else:
+-              print 'Using architecture: ' + arch
++              print('Using architecture: ' + arch)
+ 
+       # Set libpath accordingly
+       if arch == 'x86_64':
 @@ -207,8 +207,6 @@ else:
        # Set libpath for real
        libpath = [archlib, archlib + '/X11', '/usr/X11R6/lib']
@@ -18,7 +155,28 @@ $OpenBSD: patch-SConstruct,v 1.2 2018/01
                env.Append(CPPDEFINES = ['DEBUG'])
        elif (debug == -1):
                ccflags += ' -g -O3 -mfpmath=sse -mmmx -msse -m3dnow'
-@@ -258,18 +255,18 @@ else:
+@@ -239,10 +236,10 @@ else:
+ 
+       if (useefence >= 1):
+               extralibs += ['efence']
+-              print 'Linking to ElectricFence library!'
++              print('Linking to ElectricFence library!')
+       elif (useduma >= 1):
+               extralibs += ['duma']
+-              print 'Linking to DUMA (EletricFence successor) library!'
++              print('Linking to DUMA (EletricFence successor) library!')
+       if (cvedit == 1):
+               env.Append(CPPDEFINES = ['CVEDIT'])
+ 
+@@ -252,25 +249,25 @@ else:
+               osspecificsrc += []
+               if (usex86sse >= 2):
+                       env.Append(CPPDEFINES = ['USE_SSE_ALWAYS'])
+-                      print 'Using x86 SSE/MMX optimizations with GCC 
intrinsics ALWAYS WITHOUT DETECTION!'
++                      print('Using x86 SSE/MMX optimizations with GCC 
intrinsics ALWAYS WITHOUT DETECTION!')
+               else:
+-                      print 'Using x86 SSE/MMX optimizations with GCC 
intrinsics.'
++                      print('Using x86 SSE/MMX optimizations with GCC 
intrinsics.')
        env.Append(CCFLAGS = ccflags)
  
        # check for broken libGL, ignore undefined symbols then
@@ -32,15 +190,28 @@ $OpenBSD: patch-SConstruct,v 1.2 2018/01
                                gllibdir = i
                                break
                if (gllibdir == ''):
-                       print 'ERROR: no libGL.so detected!'
+-                      print 'ERROR: no libGL.so detected!'
++                      print('ERROR: no libGL.so detected!')
                else:
-                       print 'Found GL library "'+gllibdir+'libGL.so"'
+-                      print 'Found GL library "'+gllibdir+'libGL.so"'
 -              if (os.system('grep glBindProgram '+gllibdir+'libGL.so > 
/dev/null') != 0):
+-                      print 'GL headers declare glBindProgram, but libGL.so 
has no such symbol! Ignoring all undefined symbols...'
++                      print('Found GL library "'+gllibdir+'libGL.so"')
 +              if (os.system('grep glBindProgram '+gllibdir+'libGL.so* > 
/dev/null') != 0):
-                       print 'GL headers declare glBindProgram, but libGL.so 
has no such symbol! Ignoring all undefined symbols...'
++                      print('GL headers declare glBindProgram, but libGL.so 
has no such symbol! Ignoring all undefined symbols...')
                        # I'm not sure which option will hopefully fix the 
problem... so i use both...
                        env.Append(LINKFLAGS = 
'--unresolved-symbols=ignore-all')
-@@ -289,6 +286,12 @@ target_dir = '#build' + os.sep + build_dir
+                       env.Append(LINKFLAGS = '-Xlinker --unresolved-symbols 
-Xlinker ignore-all')
+@@ -282,13 +279,19 @@ installbindir = '/usr/local/bin'
+ if ARGUMENTS.get('installbindir', 0):
+       installbindir = ARGUMENTS.get('installbindir', 0)
+ 
+-print 'Install binary path: ' + installbindir
+-print 'Using data dir: ' + datadir
++print('Install binary path: ' + installbindir)
++print('Using data dir: ' + datadir)
+ 
+ target_dir = '#build' + os.sep + build_dir
  source_base_dir = 'src'
  libpath = libpath + [target_dir]
  env.Append(LIBPATH = libpath)
@@ -53,3 +224,38 @@ $OpenBSD: patch-SConstruct,v 1.2 2018/01
  
  ################ configure
  if(checkconf == True):
+@@ -297,20 +300,20 @@ if(checkconf == True):
+       if (devel == 0):
+               for i in ['GL', 'GLU', 'SDL', 'SDL_image', 'SDL_mixer', 
'fftw3', 'bz2']:
+                       if not conf.CheckLib(i):
+-                              print 'Library ' + i + ' is missing, it must be 
installed!'
++                              print('Library ' + i + ' is missing, it must be 
installed!')
+                               Exit(1)
+               for i in ['gl.h', 'glu.h', 'SDL.h', 'SDL_image.h', 
'SDL_mixer.h', 'fftw3.h', 'bzlib.h']:
+                       if not conf.CheckHeader(i):
+-                              print 'Include file ' + i + ' is missing, 
install matching development library!'
++                              print('Include file ' + i + ' is missing, 
install matching development library!')
+                               Exit(1)
+               if conf.CheckLibWithHeader('fftw3f', 'fftw3.h', 'C'):
+-                      print 'fftw3 library supports float type. Using it...'
++                      print('fftw3 library supports float type. Using it...')
+                       fftwlib = 'fftw3f'
+                       conf.env.Append(CPPDEFINES = ['WITH_FLOAT_FFTW'])
+               else:
+-                      print 'fftw3 library does not support float type.'
++                      print('fftw3 library does not support float type.')
+               if conf.CheckLibWithHeader('avutil', 
'ffmpeg/libavutil/avutil.h', 'C'):
+-                      print 'libavutil found...'
++                      print('libavutil found...')
+                       ffmpeg_available = True
+       else:
+               fftwlib = 'fftw3f'
+@@ -347,7 +350,7 @@ Export('env', 'gfxlibs', 'alllibs', 'installbindir', '
+ 
+ SConscript(source_base_dir + os.sep + 'SConscript', build_dir = target_dir, 
duplicate = 0)
+ 
+-BuildDir(target_dir, source_base_dir, duplicate=0)
++VariantDir(target_dir, source_base_dir, duplicate=0)
+ 
+ ############### Helper functions
+ def findSVN(basedir):


Reply via email to