commit:     43aca57fd186fc43432825b2c44fb63a83fafb86
Author:     Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Mon Oct 13 12:51:28 2025 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Thu Oct 16 13:38:50 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43aca57f

media-sound/gsm: add 1.0.23

bugfix release

update HOMEPAGE with website-project / redirect tracker-debian

use array

Closes: https://bugs.gentoo.org/880383
Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/44161
Closes: https://github.com/gentoo/gentoo/pull/44161
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 media-sound/gsm/Manifest                        |   1 +
 media-sound/gsm/files/gsm-1.0.23-makefile.patch | 186 ++++++++++++++++++++++++
 media-sound/gsm/gsm-1.0.23.ebuild               |  62 ++++++++
 3 files changed, 249 insertions(+)

diff --git a/media-sound/gsm/Manifest b/media-sound/gsm/Manifest
index 8f0f4b727115..3cf8f4c23111 100644
--- a/media-sound/gsm/Manifest
+++ b/media-sound/gsm/Manifest
@@ -1,2 +1,3 @@
 DIST gsm-1.0.22.tar.gz 66583 BLAKE2B 
4c654997e2dd91bc5cee406bd664426f86479bfa8624abb0d7ec164eaebe83c3f534b5ee16952b302500630a6f53df26bbb2287f7a329c8878ae48e61fb770ab
 SHA512 
f4284f096ed4d606ddece5c1b28edb63feacc26a0b664f1350c040dbf50113d27bedfd9896bf1620cb4fc3a6c8f6a5244955a6c625ded833dcee607c63c97dd2
+DIST gsm-1.0.23.tar.gz 66158 BLAKE2B 
e6a790f44f10074103f86f33b25ec7e956ad3fa447a6681a2a51d0a56cdae22f05ac35761fcf77b2269349c57ee184e838d8e0a91674f28a672797775a654f58
 SHA512 
96a477f7f4a2ad8319d97c4010e3e2ddb453fa6eda44dac83a62f060a3e6790cc0298d3f402eab52e1a7c0f5c001ab793baefd1fc876ff6432efeb506981bdd8
 DIST libgsm_1.0.22-1.debian.tar.xz 10516 BLAKE2B 
8839082ec446c3eb9dde5d1348806ac5015557257b0c1d319945c36080277b40b25f4903013c5242115467a73e425731661ad4882cf35bba51a90e4f44f284ae
 SHA512 
21929f790d7c821e03113baf3e0690e8cb4b8b3c9015ca6fa05593dba9c4fb000ad41546826bc623c69b19689e81092afe0f7e266b22f9db35e8c735516c9de4

diff --git a/media-sound/gsm/files/gsm-1.0.23-makefile.patch 
b/media-sound/gsm/files/gsm-1.0.23-makefile.patch
new file mode 100644
index 000000000000..77f1d4567bef
--- /dev/null
+++ b/media-sound/gsm/files/gsm-1.0.23-makefile.patch
@@ -0,0 +1,186 @@
+https://src.fedoraproject.org/rpms/gsm/raw/f43/f/gsm-makefile.patch
+--- a/Makefile
++++ b/Makefile
+@@ -44,13 +44,17 @@ WAV49      = -DWAV49
+ # CCFLAGS     = -c -O
+ 
+ CC            = gcc -ansi -pedantic
+-CCFLAGS       = -c -O2 -DNeedFunctionPrototypes=1 -Wall -Wno-comment
++CCFLAGS       = -c $(RPM_OPT_FLAGS) -DNeedFunctionPrototypes=1 -Wall 
-Wno-comment -D_XOPEN_SOURCE=700 -D_REENTRANT -fPIC
+ 
+ LD            = $(CC)
+ 
+ # LD          = gcc
+ # LDFLAGS     =
+ 
++SO_MAJOR = 1
++SO_MINOR = 0
++SO_PATCH = 23
++SO_VER = $(SO_MAJOR).$(SO_MINOR).$(SO_PATCH)
+ 
+ # If your compiler needs additional flags/libraries, regardless of
+ # the source compiled, configure them here.
+@@ -81,7 +85,7 @@ INSTALL_ROOT =
+ 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_MAN = $(GSM_INSTALL_ROOT)/share/man/man3
+ 
+ 
+ # Where do you want to install the toast binaries and their manpage?
+@@ -91,12 +95,12 @@ GSM_INSTALL_MAN = $(GSM_INSTALL_ROOT)/man/man3
+ 
+ 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
+@@ -140,6 +144,7 @@ LFLAGS     = $(LDFLAGS) $(LDINC)
+ # Targets
+ 
+ LIBGSM        = $(LIB)/libgsm.a
++LIBGSMSO = $(LIB)/libgsm.so
+ 
+ TOAST = $(BIN)/toast
+ UNTOAST       = $(BIN)/untoast
+@@ -257,7 +262,9 @@ STUFF =    ChangeLog                       \
+ # Install targets
+ 
+ GSM_INSTALL_TARGETS = \
+-              $(GSM_INSTALL_LIB)/libgsm.a             \
++              $(GSM_INSTALL_LIB)/libgsm.so.$(SO_VER)  \
++              $(GSM_INSTALL_LIB)/libgsm.so.$(SO_MAJOR)\
++              $(GSM_INSTALL_LIB)/libgsm.so            \
+               $(GSM_INSTALL_INC)/gsm.h                \
+               $(GSM_INSTALL_MAN)/gsm.3                \
+               $(GSM_INSTALL_MAN)/gsm_explode.3        \
+@@ -279,7 +286,7 @@ TOAST_INSTALL_TARGETS =    \
+ 
+ # Target rules
+ 
+-all:          $(LIBGSM) $(TOAST) $(TCAT) $(UNTOAST)
++all:          $(LIBGSMSO) $(TOAST) $(TCAT) $(UNTOAST)
+               @-echo $(ROOT): Done.
+ 
+ tst:          $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result
+@@ -299,24 +306,32 @@ install: toastinstall gsminstall
+ 
+ # The basic API: libgsm
+ 
++$(LIBGSMSO).$(SO_VER): $(LIB) $(GSM_OBJECTS)
++              $(LD) $(LFLAGS) -o $@ -shared -Xlinker -soname -Xlinker 
libgsm.so.$(SO_MAJOR) $(GSM_OBJECTS) -lc
++
++$(LIBGSMSO).$(SO_MAJOR): $(LIBGSMSO).$(SO_VER)
++              ln -fs libgsm.so.$(SO_VER) lib/libgsm.so.$(SO_MAJOR)
++
++$(LIBGSMSO): $(LIBGSMSO).$(SO_VER)
++              ln -fs libgsm.so.$(SO_VER) lib/libgsm.so
++
+ $(LIBGSM):    $(LIB) $(GSM_OBJECTS)
+               -rm $(RMFLAGS) $(LIBGSM)
+               $(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)
+               $(RANLIB) $(LIBGSM)
+ 
+-
+ # Toast, Untoast and Tcat -- the compress-like frontends to gsm.
+ 
+-$(TOAST):     $(BIN) $(TOAST_OBJECTS) $(LIBGSM)
+-              $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(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)
+ 
+ $(TCAT):      $(BIN) $(TOAST)
+               -rm $(RMFLAGS) $(TCAT)
+-              $(LN) $(TOAST) $(TCAT)
++              $(LN) toast $(TCAT)
+ 
+ 
+ # The local bin and lib directories
+@@ -352,52 +367,55 @@ toastuninstall:
+ 
+ $(TOAST_INSTALL_BIN)/toast:   $(TOAST)
+               -rm $(RMFLAGS) $@
+-              cp $(TOAST) $@
+-              chmod 755 $@
++              install -pm755 $(TOAST) $@
+ 
+ $(TOAST_INSTALL_BIN)/untoast: $(TOAST_INSTALL_BIN)/toast
+               -rm $(RMFLAGS) $@
+-              $(LN) $? $@
++              $(LN) -rs $? $@
+ 
+ $(TOAST_INSTALL_BIN)/tcat:    $(TOAST_INSTALL_BIN)/toast
+               -rm $(RMFLAGS) $@
+-              $(LN) $? $@
++              $(LN) -rs $? $@
+ 
+ $(TOAST_INSTALL_MAN)/toast.1: $(MAN)/toast.1
+               -rm $(RMFLAGS) $@
+-              cp $? $@
+-              chmod 444 $@
++              install -pm644 $? $@
+ 
+ $(GSM_INSTALL_MAN)/gsm.3:     $(MAN)/gsm.3
+               -rm $(RMFLAGS) $@
+-              cp $? $@
+-              chmod 444 $@
++              install -pm644 $? $@
+ 
+ $(GSM_INSTALL_MAN)/gsm_option.3:      $(MAN)/gsm_option.3
+               -rm $(RMFLAGS) $@
+-              cp $? $@
+-              chmod 444 $@
++              install -pm644 $? $@
+ 
+ $(GSM_INSTALL_MAN)/gsm_explode.3:     $(MAN)/gsm_explode.3
+               -rm $(RMFLAGS) $@
+-              cp $? $@
+-              chmod 444 $@
++              install -pm644 $? $@
+ 
+ $(GSM_INSTALL_MAN)/gsm_print.3:       $(MAN)/gsm_print.3
+               -rm $(RMFLAGS) $@
+-              cp $? $@
+-              chmod 444 $@
++              install -pm644 $? $@
+ 
+ $(GSM_INSTALL_INC)/gsm.h:     $(INC)/gsm.h
+               -rm $(RMFLAGS) $@
+-              cp $? $@
+-              chmod 444 $@
++              install -pm644 $? $@
+ 
+ $(GSM_INSTALL_LIB)/libgsm.a:  $(LIBGSM)
+               -rm $(RMFLAGS) $@
+-              cp $? $@
+-              chmod 444 $@
++              install -pm644 $? $@
+ 
++$(GSM_INSTALL_LIB)/libgsm.so.$(SO_VER):       $(LIBGSMSO).$(SO_VER)
++              -rm $(RMFLAGS) $@
++              install -pm755 $? $@
++
++$(GSM_INSTALL_LIB)/libgsm.so.$(SO_MAJOR):     $(LIBGSMSO).$(SO_MAJOR)
++              -rm $(RMFLAGS) $@
++              ln -s libgsm.so.$(SO_VER) $@
++
++$(GSM_INSTALL_LIB)/libgsm.so: $(LIBGSMSO)
++              -rm $(RMFLAGS) $@
++              ln -s libgsm.so.$(SO_VER) $@
+ 
+ # Distribution
+ 

diff --git a/media-sound/gsm/gsm-1.0.23.ebuild 
b/media-sound/gsm/gsm-1.0.23.ebuild
new file mode 100644
index 000000000000..9e2d01b26fd2
--- /dev/null
+++ b/media-sound/gsm/gsm-1.0.23.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic multilib-minimal toolchain-funcs
+
+DESCRIPTION="Lossy speech compression library and tool"
+HOMEPAGE="https://www.quut.com/gsm/  https://tracker.debian.org/pkg/libgsm";
+SRC_URI="https://www.quut.com/gsm/${P}.tar.gz";
+S="${WORKDIR}/${PN}-$(ver_cut 1-2)-pl$(ver_cut 3)"
+
+LICENSE="gsm"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv 
~s390 ~sparc ~x86"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.0.23-makefile.patch
+)
+
+DOCS=( ChangeLog MACHINES MANIFEST README )
+
+src_prepare() {
+       default
+
+       multilib_copy_sources
+}
+
+src_configure() {
+       # From upstream Makefile. Define this if your host multiplies
+       # floats faster than integers, e.g. on a SPARCstation.
+       use sparc && append-flags -DUSE_FLOAT_MUL -DFAST
+}
+
+multilib_src_compile() {
+       local myemakeargs=(
+               CC="$(tc-getCC)"
+               LD="$(tc-getCC)"
+               AR="$(tc-getAR)"
+               RANLIB="$(tc-getRANLIB)"
+       )
+       emake -j1 CCFLAGS="${CFLAGS} -c -DNeedFunctionPrototypes=1 -fPIC" 
"${myemakeargs[@]}"
+}
+
+multilib_src_install() {
+       dodir /usr/bin /usr/$(get_libdir) /usr/include/gsm 
/usr/share/man/man{1,3}
+
+       local myemakeargs=(
+               CC="$(tc-getCC)"
+               LD="$(tc-getCC)"
+               AR="$(tc-getAR)"
+               RANLIB="$(tc-getRANLIB)"
+               INSTALL_ROOT="${ED}"/usr
+               GSM_INSTALL_LIB="${ED}"/usr/$(get_libdir)
+               GSM_INSTALL_INC="${ED}"/usr/include/gsm
+               GSM_INSTALL_MAN="${ED}"/usr/share/man/man3
+               TOAST_INSTALL_MAN="${ED}"/usr/share/man/man1
+       )
+       emake -j1 "${myemakeargs[@]}" install
+
+       dosym ../gsm/gsm.h /usr/include/libgsm/gsm.h
+}

Reply via email to