You've already forked macports-ports
mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
libgsm: fix dylib and links
This commit is contained in:
committed by
Herby Gillot
parent
717bd7ce8a
commit
05ff3c227e
+10
-20
@@ -5,7 +5,7 @@ PortGroup makefile 1.0
|
||||
|
||||
name libgsm
|
||||
version 1.0.24
|
||||
revision 0
|
||||
revision 1
|
||||
license public-domain
|
||||
|
||||
categories audio
|
||||
@@ -25,29 +25,19 @@ worksrcdir gsm-1.0-pl24
|
||||
|
||||
patchfiles-append patch-makefile.diff
|
||||
|
||||
post-patch {
|
||||
reinplace "s|@@VERSION@@|${version}|g" ${worksrcpath}/Makefile
|
||||
}
|
||||
|
||||
variant universal {}
|
||||
use_parallel_build no
|
||||
|
||||
destroot.env INSTALL_ROOT=${destroot}${prefix}
|
||||
makefile.prefix_name INSTALL_ROOT
|
||||
makefile.override-append PREFIX
|
||||
|
||||
build.args VERSION=${version} \
|
||||
GSM_INSTALL_INC=${prefix}/include \
|
||||
GSM_INSTALL_MAN=${prefix}/share/man/man3 \
|
||||
TOAST_INSTALL_MAN=${prefix}/share/man/man1
|
||||
|
||||
destroot.args {*}${build.args}
|
||||
|
||||
post-destroot {
|
||||
move ${worksrcpath}/lib/libgsm.${version}.dylib ${destroot}${prefix}/lib
|
||||
move ${worksrcpath}/lib/libgsm.1.dylib ${destroot}${prefix}/lib
|
||||
move ${worksrcpath}/lib/libgsm.dylib ${destroot}${prefix}/lib
|
||||
|
||||
system -W ${destroot}${prefix} \
|
||||
"install_name_tool -id ${prefix}/lib/libgsm.${version}.dylib ./lib/libgsm.${version}.dylib"
|
||||
system -W ${destroot}${prefix} \
|
||||
"install_name_tool -change ./lib/libgsm.${version}.dylib ${prefix}/lib/libgsm.${version}.dylib ./bin/tcat"
|
||||
system -W ${destroot}${prefix} \
|
||||
"install_name_tool -change ./lib/libgsm.${version}.dylib ${prefix}/lib/libgsm.${version}.dylib ./bin/toast"
|
||||
system -W ${destroot}${prefix} \
|
||||
"install_name_tool -change ./lib/libgsm.${version}.dylib ${prefix}/lib/libgsm.${version}.dylib ./bin/untoast"
|
||||
|
||||
# Rename tcat to gsm-tcat
|
||||
# https://trac.macports.org/ticket/67865
|
||||
move ${destroot}${prefix}/bin/tcat ${destroot}${prefix}/bin/gsm-tcat
|
||||
|
||||
@@ -1,49 +1,45 @@
|
||||
--- ./Makefile 2023-11-11 06:19:26
|
||||
+++ ./Makefile 2023-11-11 06:24:44
|
||||
@@ -71,7 +71,7 @@
|
||||
# Leave INSTALL_ROOT empty (or just don't execute "make install") to
|
||||
# not install gsm and toast outside of this directory.
|
||||
|
||||
-INSTALL_ROOT =
|
||||
+INSTALL_ROOT ?=
|
||||
|
||||
# Where do you want to install the gsm library, header file, and manpages?
|
||||
#
|
||||
@@ -80,8 +80,8 @@
|
||||
|
||||
GSM_INSTALL_ROOT = $(INSTALL_ROOT)
|
||||
GSM_INSTALL_LIB = $(GSM_INSTALL_ROOT)/lib
|
||||
-GSM_INSTALL_INC = $(GSM_INSTALL_ROOT)/inc
|
||||
-GSM_INSTALL_MAN = $(GSM_INSTALL_ROOT)/man/man3
|
||||
+GSM_INSTALL_INC = $(GSM_INSTALL_ROOT)/include
|
||||
+GSM_INSTALL_MAN = $(GSM_INSTALL_ROOT)/share/man/man3
|
||||
|
||||
|
||||
# Where do you want to install the toast binaries and their manpage?
|
||||
@@ -91,12 +91,12 @@
|
||||
|
||||
TOAST_INSTALL_ROOT = $(INSTALL_ROOT)
|
||||
TOAST_INSTALL_BIN = $(TOAST_INSTALL_ROOT)/bin
|
||||
-TOAST_INSTALL_MAN = $(TOAST_INSTALL_ROOT)/man/man1
|
||||
+TOAST_INSTALL_MAN = $(TOAST_INSTALL_ROOT)/share/man/man1
|
||||
|
||||
# Other tools
|
||||
|
||||
SHELL = /bin/sh
|
||||
-LN = ln
|
||||
+LN = ln -s
|
||||
BASENAME = basename
|
||||
AR = ar
|
||||
ARFLAGS = cr
|
||||
--- Makefile.orig 2026-03-06 19:16:07
|
||||
+++ Makefile 2026-04-07 20:55:17
|
||||
@@ -140,6 +140,7 @@
|
||||
# Targets
|
||||
|
||||
LIBGSM = $(LIB)/libgsm.a
|
||||
+LIBGSMSO= $(LIB)/libgsm.@@VERSION@@.dylib
|
||||
+LIBGSMSO= $(LIB)/libgsm.1.dylib
|
||||
|
||||
TOAST = $(BIN)/toast
|
||||
UNTOAST = $(BIN)/untoast
|
||||
@@ -279,7 +280,7 @@
|
||||
@@ -257,18 +258,20 @@
|
||||
# Install targets
|
||||
|
||||
GSM_INSTALL_TARGETS = \
|
||||
- $(GSM_INSTALL_LIB)/libgsm.a \
|
||||
- $(GSM_INSTALL_INC)/gsm.h \
|
||||
- $(GSM_INSTALL_MAN)/gsm.3 \
|
||||
- $(GSM_INSTALL_MAN)/gsm_explode.3 \
|
||||
- $(GSM_INSTALL_MAN)/gsm_option.3 \
|
||||
- $(GSM_INSTALL_MAN)/gsm_print.3
|
||||
+ $(DESTDIR)$(GSM_INSTALL_LIB)/libgsm.a \
|
||||
+ $(DESTDIR)$(GSM_INSTALL_LIB)/libgsm.1.dylib \
|
||||
+ $(DESTDIR)$(GSM_INSTALL_LIB)/libgsm.dylib \
|
||||
+ $(DESTDIR)$(GSM_INSTALL_INC)/gsm.h \
|
||||
+ $(DESTDIR)$(GSM_INSTALL_MAN)/gsm.3 \
|
||||
+ $(DESTDIR)$(GSM_INSTALL_MAN)/gsm_explode.3 \
|
||||
+ $(DESTDIR)$(GSM_INSTALL_MAN)/gsm_option.3 \
|
||||
+ $(DESTDIR)$(GSM_INSTALL_MAN)/gsm_print.3
|
||||
|
||||
TOAST_INSTALL_TARGETS = \
|
||||
- $(TOAST_INSTALL_BIN)/toast \
|
||||
- $(TOAST_INSTALL_BIN)/tcat \
|
||||
- $(TOAST_INSTALL_BIN)/untoast \
|
||||
- $(TOAST_INSTALL_MAN)/toast.1
|
||||
+ $(DESTDIR)$(TOAST_INSTALL_BIN)/toast \
|
||||
+ $(DESTDIR)$(TOAST_INSTALL_BIN)/tcat \
|
||||
+ $(DESTDIR)$(TOAST_INSTALL_BIN)/untoast \
|
||||
+ $(DESTDIR)$(TOAST_INSTALL_MAN)/toast.1
|
||||
|
||||
|
||||
# Default rules
|
||||
@@ -279,7 +282,7 @@
|
||||
|
||||
# Target rules
|
||||
|
||||
@@ -52,48 +48,98 @@
|
||||
@-echo $(ROOT): Done.
|
||||
|
||||
tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result
|
||||
@@ -299,24 +300,30 @@
|
||||
|
||||
# The basic API: libgsm
|
||||
|
||||
+$(LIBGSMSO): $(LIB) $(GSM_OBJECTS)
|
||||
+ $(LD) -o $(LIBGSMSO) -dynamiclib -Wl,-compatibility_version,1,-current_version,@@VERSION@@,-install_name,$(LIBGSMSO) $(GSM_OBJECTS) -lc
|
||||
+ ln -fs libgsm.@@VERSION@@.dylib lib/libgsm.1.dylib
|
||||
+ ln -fs libgsm.@@VERSION@@.dylib lib/libgsm.dylib
|
||||
+
|
||||
$(LIBGSM): $(LIB) $(GSM_OBJECTS)
|
||||
-rm $(RMFLAGS) $(LIBGSM)
|
||||
@@ -304,11 +307,15 @@
|
||||
$(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)
|
||||
$(RANLIB) $(LIBGSM)
|
||||
|
||||
+$(LIBGSMSO): $(LIB) $(GSM_OBJECTS)
|
||||
+ -rm $(RMFLAGS) $(LIBGSMSO)
|
||||
+ $(LD) $(LFLAGS) -o $@ -dynamiclib -Wl,-compatibility_version,1,-current_version,$(VERSION),-install_name,$(GSM_INSTALL_LIB)/libgsm.1.dylib $(GSM_OBJECTS)
|
||||
|
||||
+
|
||||
# Toast, Untoast and Tcat -- the compress-like frontends to gsm.
|
||||
|
||||
$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM)
|
||||
-$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM)
|
||||
- $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(LDLIB)
|
||||
+ $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(LIBGSMO) $(LDLIB)
|
||||
+$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSMSO)
|
||||
+ $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSMSO) $(LDLIB)
|
||||
|
||||
$(UNTOAST): $(BIN) $(TOAST)
|
||||
-rm $(RMFLAGS) $(UNTOAST)
|
||||
- $(LN) $(TOAST) $(UNTOAST)
|
||||
+ $(LN) toast $(UNTOAST)
|
||||
@@ -350,55 +357,64 @@
|
||||
rm $(RMFLAGS) $(TOAST_INSTALL_TARGETS); \
|
||||
fi
|
||||
|
||||
$(TCAT): $(BIN) $(TOAST)
|
||||
-rm $(RMFLAGS) $(TCAT)
|
||||
- $(LN) $(TOAST) $(TCAT)
|
||||
+ $(LN) toast $(TCAT)
|
||||
-$(TOAST_INSTALL_BIN)/toast: $(TOAST)
|
||||
+$(DESTDIR)$(TOAST_INSTALL_BIN)/toast: $(TOAST)
|
||||
-rm $(RMFLAGS) $@
|
||||
cp $(TOAST) $@
|
||||
chmod 755 $@
|
||||
|
||||
-$(TOAST_INSTALL_BIN)/untoast: $(TOAST_INSTALL_BIN)/toast
|
||||
+$(DESTDIR)$(TOAST_INSTALL_BIN)/untoast: $(DESTDIR)$(TOAST_INSTALL_BIN)/toast
|
||||
-rm $(RMFLAGS) $@
|
||||
- $(LN) $? $@
|
||||
+ $(LN) -s toast $@
|
||||
|
||||
# The local bin and lib directories
|
||||
@@ -426,7 +433,9 @@
|
||||
-$(TOAST_INSTALL_BIN)/tcat: $(TOAST_INSTALL_BIN)/toast
|
||||
+$(DESTDIR)$(TOAST_INSTALL_BIN)/tcat: $(DESTDIR)$(TOAST_INSTALL_BIN)/toast
|
||||
-rm $(RMFLAGS) $@
|
||||
- $(LN) $? $@
|
||||
+ $(LN) -s toast $@
|
||||
|
||||
clean: semi-clean
|
||||
-rm $(RMFLAGS) $(LIBGSM) $(ADDTST)/add \
|
||||
- $(TOAST) $(TCAT) $(UNTOAST) \
|
||||
+ $(LIBGSMSO) $(LIB)/libgsm.1.dylib \
|
||||
+ $(LIB)/libgsm.dylib \
|
||||
+ $(TOAST) $(TCAT) $(UNTOAST) \
|
||||
$(ROOT)/gsm-1.0.tar.gz
|
||||
-$(TOAST_INSTALL_MAN)/toast.1: $(MAN)/toast.1
|
||||
+$(DESTDIR)$(TOAST_INSTALL_MAN)/toast.1: $(MAN)/toast.1
|
||||
-rm $(RMFLAGS) $@
|
||||
cp $? $@
|
||||
chmod 444 $@
|
||||
|
||||
-$(GSM_INSTALL_MAN)/gsm.3: $(MAN)/gsm.3
|
||||
+$(DESTDIR)$(GSM_INSTALL_MAN)/gsm.3: $(MAN)/gsm.3
|
||||
-rm $(RMFLAGS) $@
|
||||
cp $? $@
|
||||
chmod 444 $@
|
||||
|
||||
-$(GSM_INSTALL_MAN)/gsm_option.3: $(MAN)/gsm_option.3
|
||||
+$(DESTDIR)$(GSM_INSTALL_MAN)/gsm_option.3: $(MAN)/gsm_option.3
|
||||
-rm $(RMFLAGS) $@
|
||||
cp $? $@
|
||||
chmod 444 $@
|
||||
|
||||
-$(GSM_INSTALL_MAN)/gsm_explode.3: $(MAN)/gsm_explode.3
|
||||
+$(DESTDIR)$(GSM_INSTALL_MAN)/gsm_explode.3: $(MAN)/gsm_explode.3
|
||||
-rm $(RMFLAGS) $@
|
||||
cp $? $@
|
||||
chmod 444 $@
|
||||
|
||||
-$(GSM_INSTALL_MAN)/gsm_print.3: $(MAN)/gsm_print.3
|
||||
+$(DESTDIR)$(GSM_INSTALL_MAN)/gsm_print.3: $(MAN)/gsm_print.3
|
||||
-rm $(RMFLAGS) $@
|
||||
cp $? $@
|
||||
chmod 444 $@
|
||||
|
||||
-$(GSM_INSTALL_INC)/gsm.h: $(INC)/gsm.h
|
||||
+$(DESTDIR)$(GSM_INSTALL_INC)/gsm.h: $(INC)/gsm.h
|
||||
-rm $(RMFLAGS) $@
|
||||
cp $? $@
|
||||
chmod 444 $@
|
||||
|
||||
-$(GSM_INSTALL_LIB)/libgsm.a: $(LIBGSM)
|
||||
+$(DESTDIR)$(GSM_INSTALL_LIB)/libgsm.a: $(LIBGSM)
|
||||
-rm $(RMFLAGS) $@
|
||||
cp $? $@
|
||||
chmod 444 $@
|
||||
|
||||
+$(DESTDIR)$(GSM_INSTALL_LIB)/libgsm.1.dylib: $(LIBGSMSO)
|
||||
+ -rm $(RMFLAGS) $@
|
||||
+ cp $? $@
|
||||
+ chmod 755 $@
|
||||
|
||||
+$(DESTDIR)$(GSM_INSTALL_LIB)/libgsm.dylib: $(DESTDIR)$(GSM_INSTALL_LIB)/libgsm.1.dylib
|
||||
+ -rm $(RMFLAGS) $@
|
||||
+ $(LN) -s libgsm.1.dylib $@
|
||||
+
|
||||
+
|
||||
# Distribution
|
||||
|
||||
dist: gsm-1.0.tar.gz
|
||||
|
||||
Reference in New Issue
Block a user