File praat-use_system_libs.patch of Package praat

From: Luigi Baldoni <aloisio@gmx.com>
Date: 2017-07-29 13:47:50 +0200
Subject: Use system libraries when possible

Praat includes a number of external libraries that then builds
internally.
Some (gsl, glpk and portaudio) can be replaced by system ones,
other like espeak and FLAC are too heavily patched for the program
to be compatible with upstream ones.

Index: praat-6.1.10/fon/SoundRecorder.h
===================================================================
--- praat-6.1.10.orig/fon/SoundRecorder.h
+++ praat-6.1.10/fon/SoundRecorder.h
@@ -25,7 +25,7 @@
 
 #include "SoundRecorder_enums.h"
 
-#include "../external/portaudio/portaudio.h"
+#include <portaudio.h>
 #if defined (_WIN32)
 #elif defined (macintosh)
 #elif defined (linux)
Index: praat-6.1.10/melder/NUMlinprog.cpp
===================================================================
--- praat-6.1.10.orig/melder/NUMlinprog.cpp
+++ praat-6.1.10/melder/NUMlinprog.cpp
@@ -17,7 +17,7 @@
  */
 
 #include "melder.h"
-#include "../external/glpk/glpk.h"
+#include <glpk.h>
 
 struct structNUMlinprog {
 	glp_prob *linearProgram;
Index: praat-6.1.10/dwtools/VowelEditor.cpp
===================================================================
--- praat-6.1.10.orig/dwtools/VowelEditor.cpp
+++ praat-6.1.10/dwtools/VowelEditor.cpp
@@ -53,7 +53,7 @@ trajectory --> path ????
 
 #include "FormantGrid.h"
 #include "KlattGrid.h"
-#include "../external/portaudio/portaudio.h"
+#include <portaudio.h>
 #include "PitchTier_to_PointProcess.h"
 #include "PitchTier_to_Sound.h"
 #include "PointProcess_and_Sound.h"
Index: praat-6.1.10/melder/melder_audio.cpp
===================================================================
--- praat-6.1.10.orig/melder/melder_audio.cpp
+++ praat-6.1.10/melder/melder_audio.cpp
@@ -45,7 +45,7 @@
 #include <time.h>
 #include "../sys/Gui.h"
 #include "../sys/Preferences.h"
-#include "../external/portaudio/portaudio.h"
+#include <portaudio.h>
 
 #ifdef HAVE_PULSEAUDIO
 	void pulseAudio_initialize ();
Index: praat-6.1.10/melder/NUMspecfunc.cpp
===================================================================
--- praat-6.1.10.orig/melder/NUMspecfunc.cpp
+++ praat-6.1.10/melder/NUMspecfunc.cpp
@@ -31,10 +31,10 @@
 #include "melder.h"
 #include "../dwsys/NUM2.h"   // NUMridders
 
-#include "../external/gsl/gsl_errno.h"
-#include "../external/gsl/gsl_sf_bessel.h"
-#include "../external/gsl/gsl_sf_gamma.h"
-#include "../external/gsl/gsl_sf_erf.h"
+#include <gsl/gsl_errno.h>
+#include <gsl/gsl_sf_bessel.h>
+#include <gsl/gsl_sf_gamma.h>
+#include <gsl/gsl_sf_erf.h>
 
 double NUMlnGamma (double x) {
 	gsl_sf_result result;
Index: praat-6.1.10/melder/melder.cpp
===================================================================
--- praat-6.1.10.orig/melder/melder.cpp
+++ praat-6.1.10/melder/melder.cpp
@@ -24,7 +24,7 @@
 #include "melder_enums.h"
 
 #include "../dwsys/NUMmachar.h"
-#include "../external/gsl/gsl_errno.h"
+#include <gsl/gsl_errno.h>
 #ifdef macintosh
 	#include <Carbon/Carbon.h>   // Gestalt
 #endif
Index: praat-6.1.10/fon/Sound_audio.cpp
===================================================================
--- praat-6.1.10.orig/fon/Sound_audio.cpp
+++ praat-6.1.10/fon/Sound_audio.cpp
@@ -26,7 +26,7 @@
 
 #include "Sound.h"
 #include "Preferences.h"
-#include "../external/portaudio/portaudio.h"
+#include <portaudio.h>
 
 #if defined (macintosh)
 	#include "macport_on.h"
Index: praat-6.1.10/Makefile
===================================================================
--- praat-6.1.10.orig/Makefile
+++ praat-6.1.10/Makefile
@@ -14,11 +14,8 @@ include makefile.defs
 # Makes the Praat executable in the source directory.
 all:
 	$(MAKE) -C external/clapack
-	$(MAKE) -C external/gsl
-	$(MAKE) -C external/glpk
 	$(MAKE) -C external/mp3
 	$(MAKE) -C external/flac
-	$(MAKE) -C external/portaudio
 	$(MAKE) -C external/espeak
 	$(MAKE) -C kar
 	$(MAKE) -C melder
@@ -40,11 +37,10 @@ all:
 		fon/libfon.a stat/libstat.a dwsys/libdwsys.a \
 		sys/libsys.a melder/libmelder.a kar/libkar.a \
 		external/espeak/libespeak.a \
-		external/portaudio/libportaudio.a \
+		`pkg-config --libs portaudio-2.0` `pkg-config --libs gtk+-2.0` \
 		external/flac/libflac.a external/mp3/libmp3.a \
-		external/glpk/libglpk.a \
+		`pkg-config --libs libpulse` -lglpk `pkg-config --libs gsl` \
 		external/clapack/liblapack.a external/clapack/libblas.a \
-		external/gsl/libgsl.a \
 		$(LIBS)
 
 clean:
Index: praat-6.1.10/dwsys/Makefile
===================================================================
--- praat-6.1.10.orig/dwsys/Makefile
+++ praat-6.1.10/dwsys/Makefile
@@ -4,7 +4,7 @@
 
 include ../makefile.defs
 
-CPPFLAGS = -I ../melder -I ../stat -I ../sys -I ../fon -I ../external/gsl -I ../external/clapack -I ../kar
+CPPFLAGS = -I ../melder -I ../stat -I ../sys -I ../fon -I /usr/include/gsl -I ../external/clapack -I ../kar
 
 all: libdwsys.a
 
@@ -37,5 +37,5 @@ libdwsys.a: $(OBJECTS) NUMmachar.o
 	$(AR) cq libdwsys.a $(OBJECTS)
 	$(RANLIB) libdwsys.a
 
-$(OBJECTS): *.h ../melder/*.h ../stat/*.h ../sys/*.h ../fon/*.h ../external/gsl/*.h ../dwsys/*.h ../kar/*.h
+$(OBJECTS): *.h ../melder/*.h ../stat/*.h ../sys/*.h ../fon/*.h /usr/include/gsl/*.h ../dwsys/*.h ../kar/*.h
 
Index: praat-6.1.10/fon/Makefile
===================================================================
--- praat-6.1.10.orig/fon/Makefile
+++ praat-6.1.10/fon/Makefile
@@ -3,7 +3,7 @@
 
 include ../makefile.defs
 
-CPPFLAGS = -I ../kar -I ../melder -I ../sys -I ../dwsys -I ../stat -I ../dwtools -I ../LPC -I ../fon -I ../external/portaudio -I ../external/flac -I ../external/mp3 -I ../external/espeak
+CPPFLAGS = -I ../kar -I ../melder -I ../sys -I ../dwsys -I ../stat -I ../dwtools -I ../LPC -I ../fon -I /usr/include/portaudio -I ../external/flac -I ../external/mp3 -I ../external/espeak
 
 OBJECTS = Transition.o Distributions_and_Transition.o \
    Function.o Sampled.o SampledXY.o Matrix.o Vector.o Polygon.o PointProcess.o \
@@ -54,4 +54,4 @@ libfon.a: $(OBJECTS)
 	$(AR) cq libfon.a $(OBJECTS)
 	$(RANLIB) libfon.a
 
-$(OBJECTS): *.h ../external/portaudio/*.h ../kar/*.h ../melder/*.h ../sys/*.h ../dwsys/*.h ../stat/*.h ../dwtools/*.h ../LPC/*.h ../external/flac/*.h ../external/mp3/mp3.h
+$(OBJECTS): *.h ../kar/*.h ../melder/*.h ../sys/*.h ../dwsys/*.h ../stat/*.h ../dwtools/*.h ../LPC/*.h ../external/flac/*.h ../external/mp3/mp3.h
Index: praat-6.1.10/dwtools/Makefile
===================================================================
--- praat-6.1.10.orig/dwtools/Makefile
+++ praat-6.1.10/dwtools/Makefile
@@ -4,7 +4,7 @@
 
 include ../makefile.defs
 
-CPPFLAGS = -I ../kar -I ../melder -I ../LPC -I ../fon -I ../sys -I ../stat -I ../dwsys -I ../external/portaudio -I ../external/espeak -I ../external/clapack -I ../EEG -I ../kar
+CPPFLAGS = -I ../kar -I ../melder -I ../LPC -I ../fon -I ../sys -I ../stat -I ../dwsys -I /usr/include/portaudio -I ../external/espeak -I ../external/clapack -I ../EEG -I ../kar
 
 OBJECTS = ActivationList.o AffineTransform.o \
 	Categories.o CategoriesEditor.o \
openSUSE Build Service is sponsored by