aboutsummaryrefslogtreecommitdiff
path: root/audio/mixxx22/files/patch-build_depends.py
blob: 4d0da8778a3d0b5a39ab899575facf6b57929e04 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
--- build/depends.py	2018-12-24 01:37:23.000000000 -0500
+++ build/depends.py	2018-12-26 22:17:54.336049000 -0500
@@ -12,7 +12,7 @@
         if not conf.CheckLib('portaudio'):
             raise Exception(
                 'Did not find libportaudio.a, portaudio.lib, or the PortAudio-v19 development header files.')
-        elif build.platform_is_linux:
+        elif build.platform_is_linux or build.platform_is_bsd:
             build.env.ParseConfig('pkg-config portaudio-2.0 --silence-errors --cflags --libs')
 
         # Turn on PortAudio support in Mixxx
@@ -74,7 +74,8 @@
 
         if (not conf.CheckLib('GLU') and
                 not conf.CheckLib('glu32') and
-                not conf.CheckCHeader('OpenGL/glu.h')):
+                not conf.CheckCHeader('OpenGL/glu.h') and
+                not conf.CheckCHeader('GL/glu.h')):
             raise Exception('Did not find GLU development files')
 
 
@@ -106,7 +107,7 @@
 class UPower(Dependence):
     """UPower is used to get battery measurements on Linux."""
     def configure(self, build, conf):
-        if not build.platform_is_linux:
+        if not build.platform_is_linux or not build.platform_is_bsd:
             return
         build.env.ParseConfig(
                 'pkg-config upower-glib --silence-errors --cflags --libs')
@@ -185,15 +186,17 @@
 
 class Qt(Dependence):
     DEFAULT_QT4DIRS = {'linux': '/usr/share/qt4',
-                       'bsd': '/usr/local/lib/qt4',
+                       'bsd': '%%LOCALBASE%%/share/qt4',
                        'osx': '/Library/Frameworks',
                        'windows': 'C:\\qt\\4.6.0'}
 
     DEFAULT_QT5DIRS64 = {'linux': '/usr/lib/x86_64-linux-gnu/qt5',
+			 'bsd': '%%LOCALBASE%%/lib/qt5',
                          'osx': '/Library/Frameworks',
                          'windows': 'C:\\qt\\5.11.1'}
 
     DEFAULT_QT5DIRS32 = {'linux': '/usr/lib/i386-linux-gnu/qt5',
+			 'bsd': '%%LOCALBASE%%/lib/qt5',
                          'osx': '/Library/Frameworks',
                          'windows': 'C:\\qt\\5.11.1'}
 
@@ -324,9 +327,17 @@
                 build.env.Append(CCFLAGS='-fPIC')
 
         elif build.platform_is_bsd:
-            build.env.Append(LIBS=qt_modules)
-            include_paths = ['$QTDIR/include/%s' % module
-                             for module in qt_modules]
+            qt_modules.extend(['QtDBus'])
+            if qt5:
+               qt5_modules = [w.replace('Qt', 'Qt5') for w in qt_modules]
+               build.env.Append(LIBS = qt5_modules)
+               build.env.Append(CCFLAGS='-fPIC')
+               include_paths = ['%%LOCALBASE%%/include/qt5/%s' % module
+                                for module in qt_modules]
+            else:
+               build.env.Append(LIBS = qt_modules)
+               include_paths = ['%%LOCALBASE%%/include/qt4/%s' % module
+                                for module in qt_modules]
             build.env.Append(CPPPATH=include_paths)
         elif build.platform_is_osx:
             qtdir = build.env['QTDIR']
@@ -492,7 +503,7 @@
         if not build.platform_is_windows and not (using_104_sdk or compiling_on_104):
             qtdir = build.env['QTDIR']
             framework_path = Qt.find_framework_libdir(qtdir, qt5)
-            if os.path.isdir(framework_path):
+            if framework_path and os.path.isdir(framework_path):
                 build.env.Append(LINKFLAGS="-L" + framework_path)
 
         # Mixxx requires C++11 support. Windows enables C++11 features by
@@ -586,7 +597,7 @@
         if env is None:
             env = build.env
 
-        if build.platform_is_linux:
+        if build.platform_is_linux or build.platform_is_bsd:
             # Try using system lib
             if conf.CheckForPKG('soundtouch', '2.0.0'):
                 # System Lib found
@@ -630,7 +641,7 @@
         # the files correctly. Adding this folder to the include path should fix
         # it, though might cause issues. This is safe to remove once we
         # deprecate Karmic support. rryan 2/2011
-        build.env.Append(CPPPATH='/usr/include/taglib/')
+        build.env.Append(CPPPATH='%%LOCALBASE%%/include/taglib/')
 
         if build.platform_is_windows and build.static_dependencies:
             build.env.Append(CPPDEFINES='TAGLIB_STATIC')
@@ -1343,7 +1354,6 @@
 
         if build.toolchain_is_gnu:
             # Default GNU Options
-            build.env.Append(CCFLAGS='-pipe')
             build.env.Append(CCFLAGS='-Wall')
             if build.compiler_is_clang:
                 # Quiet down Clang warnings about inconsistent use of override
@@ -1472,17 +1482,24 @@
                 build.env.Append(CPPPATH=['/opt/local/include'])
 
         elif build.platform_is_bsd:
+            qt5 = Qt.qt5_enabled(build)
+
+            if qt5:
+              qtdirectory = 'qt5'
+            else:
+              qtdirectory = 'qt4'
+
             build.env.Append(CPPDEFINES='__BSD__')
             build.env.Append(CPPPATH=['/usr/include',
-                                      '/usr/local/include',
-                                      '/usr/X11R6/include/'])
+                                      '%%LOCALBASE%%/include',
+                                      '%%LOCALBASE%%/include/'+ qtdirectory])
             build.env.Append(LIBPATH=['/usr/lib/',
-                                      '/usr/local/lib',
-                                      '/usr/X11R6/lib'])
+                                      '%%LOCALBASE%%/lib',
+                                      '%%LOCALBASE%%/lib/'+ qtdirectory])
             build.env.Append(LIBS='pthread')
             # why do we need to do this on OpenBSD and not on Linux?  if we
             # don't then CheckLib("vorbisfile") fails
-            build.env.Append(LIBS=['ogg', 'vorbis'])
+            build.env.Append(LIBS=['ogg', 'vorbis','X11'])
 
         # Define for things that would like to special case UNIX (Linux or BSD)
         if build.platform_is_bsd or build.platform_is_linux:
@@ -1515,7 +1532,7 @@
         # Say where to find resources on Unix. TODO(XXX) replace this with a
         # RESOURCE_PATH that covers Win and OSX too:
         if build.platform_is_linux or build.platform_is_bsd:
-            prefix = SCons.ARGUMENTS.get('prefix', '/usr/local')
+            prefix = SCons.ARGUMENTS.get('prefix', '%%PREFIX%%')
             share_path = os.path.join (prefix, build.env.get(
                 'SHAREDIR', default='share'), 'mixxx')
             build.env.Append(
@@ -1526,10 +1543,10 @@
                 CPPDEFINES=('UNIX_LIB_PATH', r'\"%s\"' % lib_path))
 
     def depends(self, build):
-        return [SoundTouch, ReplayGain, Ebur128Mit, PortAudio, PortMIDI, Qt, TestHeaders,
-                FidLib, SndFile, FLAC, OggVorbis, OpenGL, TagLib, ProtoBuf,
-                Chromaprint, RubberBand, SecurityFramework, CoreServices, Foundation, IOKit,
-                QtScriptByteArray, Reverb, FpClassify, PortAudioRingBuffer, OSXFilePathUrlBackport]
+        return [SoundTouch, ReplayGain, Ebur128Mit, PortAudio, Qt, TestHeaders,
+                 FidLib, SndFile, FLAC, OggVorbis, OpenGL, TagLib, ProtoBuf,
+                 Chromaprint, RubberBand, SecurityFramework, CoreServices, IOKit,
+                 QtScriptByteArray, Reverb, FpClassify, PortAudioRingBuffer]
 
     def post_dependency_check_configure(self, build, conf):
         """Sets up additional things in the Environment that must happen