File praat-use_system_libs.patch of Package praat
From: Luigi Baldoni <aloisio@gmx.com>
Date: 2021-04-13 15:36:58 +0200
Subject: Use system libraries when possible
Praat includes a number of external libraries that then builds
internally.
Some (gsl, glpk, vorbis, ogg, opus) can be replaced by system ones,
other like espeak, and FLAC are too heavily patched for the program
to be compatible with upstream ones.
Praat also supplies an unstable upstream portaudio version that's
not recommendable for distro inclusion.
Index: praat-6.4.21/melder/NUMlinprog.cpp
===================================================================
--- praat-6.4.21.orig/melder/NUMlinprog.cpp
+++ praat-6.4.21/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.4.21/melder/NUMspecfunc.cpp
===================================================================
--- praat-6.4.21.orig/melder/NUMspecfunc.cpp
+++ praat-6.4.21/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.4.21/melder/melder.cpp
===================================================================
--- praat-6.4.21.orig/melder/melder.cpp
+++ praat-6.4.21/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.4.21/dwsys/Makefile
===================================================================
--- praat-6.4.21.orig/dwsys/Makefile
+++ praat-6.4.21/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 -I ../dwtools
+CPPFLAGS = -I ../melder -I ../stat -I ../sys -I ../fon -I /usr/include/gsl -I ../external/clapack -I ../kar -I ../dwtools
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.4.21/Makefile
===================================================================
--- praat-6.4.21.orig/Makefile
+++ praat-6.4.21/Makefile
@@ -21,25 +21,20 @@ all: all-external all-self
dwsys/libdwsys.a sys/libsys.a melder/libmelder.a kar/libkar.a \
external/espeak/libespeak.a \
external/portaudio/libportaudio.a \
- external/flac/libflac.a external/lame/liblame.a external/mp3/libmp3.a \
- external/glpk/libglpk.a \
+ external/flac/libflac.a external/mp3/libmp3.a \
+ `pkg-config --libs libpulse` -lglpk \
+ `pkg-config --libs gsl` \
+ `pkg-config --libs lame` \
external/clapack/libclapack.a \
- external/gsl/libgsl.a \
- external/vorbis/libvorbis.a \
- external/opusfile/libopusfile.a \
+ `pkg-config --libs vorbis vorbisfile ogg opusfile` \
$(LIBS)
all-external:
$(MAKE) -C external/clapack
- $(MAKE) -C external/gsl
- $(MAKE) -C external/glpk
- $(MAKE) -C external/lame
$(MAKE) -C external/mp3
$(MAKE) -C external/flac
$(MAKE) -C external/portaudio
$(MAKE) -C external/espeak
- $(MAKE) -C external/vorbis
- $(MAKE) -C external/opusfile
all-self:
$(MAKE) -C kar
Index: praat-6.4.21/dwtools/Makefile
===================================================================
--- praat-6.4.21.orig/dwtools/Makefile
+++ praat-6.4.21/dwtools/Makefile
@@ -5,7 +5,7 @@
include ../makefile.defs
CPPFLAGS = -I . -I ../kar -I ../melder -I ../sys -I ../dwsys -I ../stat -I ../fon -I ../LPC -I ../foned -I ../EEG \
- -I ../external/clapack -I ../external/vorbis -I ../external/opusfile -I ../external/portaudio -I ../external/espeak
+ -I ../external/clapack -I /usr/include/opus -I ../external/portaudio -I ../external/espeak
OBJECTS = ActivationList.o AffineTransform.o AnalyticSound.o \
Categories.o CategoriesEditor.o \
Index: praat-6.4.21/dwtools/Sound_extensions.cpp
===================================================================
--- praat-6.4.21.orig/dwtools/Sound_extensions.cpp
+++ praat-6.4.21/dwtools/Sound_extensions.cpp
@@ -37,10 +37,10 @@
#include "Manipulation.h"
#include "NUMcomplex.h"
#include "melder.h"
-#include "../external/vorbis/vorbis_codec.h"
-#include "../external/vorbis/vorbisfile.h"
-#include "../external/opusfile/opusfile.h"
-#include "../external/lame/lame.h"
+#include <vorbis/codec.h>
+#include <vorbis/vorbisfile.h>
+#include <opusfile.h>
+#include <lame/lame.h>
#include "enums_getText.h"
#include "Sound_extensions_enums.h"