summaryrefslogtreecommitdiff
path: root/media-sound/gsm
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound/gsm')
-rw-r--r--media-sound/gsm/Manifest4
-rw-r--r--media-sound/gsm/files/gsm-1.0.22-makefile.patch188
-rw-r--r--media-sound/gsm/gsm-1.0.22_p1.ebuild63
3 files changed, 255 insertions, 0 deletions
diff --git a/media-sound/gsm/Manifest b/media-sound/gsm/Manifest
index 7ce0f5dfde56..e55f71075c9c 100644
--- a/media-sound/gsm/Manifest
+++ b/media-sound/gsm/Manifest
@@ -1,6 +1,10 @@
AUX gsm-1.0.12-64bit.patch 591 BLAKE2B f72688a27c9e52bd3e0b40018f2e035da4284c40e27cc0bb39b7ce0df361840304ee06d3d321ee39209e3dc7bb6424d64490b3174c5d24b3cd1cbe1ccde2787d SHA512 33b559da974d89487f41e24fe9fee4ac4df6383e27835f710f50deaca76c5077fc24b20fe4d306f1b8c2ca6f3e9cf99c5934796e3795354dee63061e305d4c72
AUX gsm-1.0.12-memcpy.patch 301 BLAKE2B 887d9dd0c9220284f1ef69bad73e5e311994fb020bc06742cd931fead416937ae25d0e3364432be5c4cc408c57fad80bb524fddf7db75bf53e70158da4a8f089 SHA512 922999a35a5d8f646ebe61d7b7aacadbd75848a5446462a8173e040f7d4b0748c55196c1be0653752f076a01d7eb07e5bfce3fe23b81a38f1ee9f97d61cd6200
AUX gsm-1.0.13-shared.patch 3750 BLAKE2B 62fda4c22ab90ab5c77211b9c6966eb8286e6c938f5c4b883b3b6efb6e787a0a84f2f5f9b5f124cf10d4ab3055c3c0e6f8ffb81998654720dd621353fe7b80c9 SHA512 b18273436158dc410e7c40a9a290d365f8bf89977663f35f38d783d46d858163cf0b6f73e88e57d928eafc5de7489643ac7194f72fc7a604ef7cba95e8bf6285
+AUX gsm-1.0.22-makefile.patch 4777 BLAKE2B e42ae0e6004aa2aaaf26b9a4911681d3ba20e29bff885bbd64334549e57e264a80d2052c8c9938592a62fce17d23b124bb657056ab19485a76c1349a87a143d8 SHA512 c130621500c11364a35b2565c1ba68c2d872efca4ee1a2f55651fcb864d06d152c9b49e7a4751e718f28d8a1416572829e285cb96791442f2f83eb36a781b0cc
DIST gsm-1.0.13.tar.gz 65318 BLAKE2B 22bb79e3afd9a2e99041693288342b55969207223486200d4aebc61908930040b6b766a9bf673ec6b484eeb95833684c79f34c95d32da17cfb4c36d025004858 SHA512 0d0cf9e1e81e64cd84f588c1e4f0cb74b849d45e41fdebf860f63588084c73c7c5198bfe73a6c976bda5735ee516661d3db00afbb5cc5886a7ee3a7b31d673aa
+DIST gsm-1.0.22.tar.gz 66583 BLAKE2B 4c654997e2dd91bc5cee406bd664426f86479bfa8624abb0d7ec164eaebe83c3f534b5ee16952b302500630a6f53df26bbb2287f7a329c8878ae48e61fb770ab SHA512 f4284f096ed4d606ddece5c1b28edb63feacc26a0b664f1350c040dbf50113d27bedfd9896bf1620cb4fc3a6c8f6a5244955a6c625ded833dcee607c63c97dd2
+DIST libgsm_1.0.22-1.debian.tar.xz 10516 BLAKE2B 8839082ec446c3eb9dde5d1348806ac5015557257b0c1d319945c36080277b40b25f4903013c5242115467a73e425731661ad4882cf35bba51a90e4f44f284ae SHA512 21929f790d7c821e03113baf3e0690e8cb4b8b3c9015ca6fa05593dba9c4fb000ad41546826bc623c69b19689e81092afe0f7e266b22f9db35e8c735516c9de4
EBUILD gsm-1.0.13-r1.ebuild 1618 BLAKE2B 5bed41ca314d68c3c56186d3cd27110ef64dab5ce30788122d60b6f2ccdd861bf9a67c6aebc904b123f27910145e39db8d355b6d408781e17d5726e21f37ef39 SHA512 0afe85dd7395efdd3b7d2572e011810dc085a060de4b7545f9a8c5a15f64b0b5df2635d268066c906529bbf55a2fc980ee8a385179929f4994aa4843688f4d28
+EBUILD gsm-1.0.22_p1.ebuild 1882 BLAKE2B 09c1735f904826d30da9e155e113f32efc6e067682ca0819506c951f55254f21a5c9fb25295710d245579e87a0200ee9e43a9debe21fc81cd637beec279ad3eb SHA512 3f7ed3c1e269c8a7c480ed1993365933ef6075c527e85f6725d50733cd3fcd784e4d9c76ef51980f3b7c8b833bc600a2670dba5d4265baec5c7a9c9129cb2b54
MISC metadata.xml 250 BLAKE2B 3e6dae5d5f3b3ac412806dd8615a1975c7ea8a64bfd72ad54f2c93a9b24c19c620ac3e8b26e1f6cadec899443e138ee4fb7a82ecb83c784d0c03ee91854d8622 SHA512 2bfce2cf73aefce6dda06ea351cb93b2990b9543f48be1ae5406a5a5acf2c34faed1eb2ce715eb689eb50a9a1add5576b39232eb818c233f5a5589e16032aca8
diff --git a/media-sound/gsm/files/gsm-1.0.22-makefile.patch b/media-sound/gsm/files/gsm-1.0.22-makefile.patch
new file mode 100644
index 000000000000..9ef9e5a246c6
--- /dev/null
+++ b/media-sound/gsm/files/gsm-1.0.22-makefile.patch
@@ -0,0 +1,188 @@
+https://src.fedoraproject.org/rpms/gsm/blob/rawhide/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 -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 = 19
++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.22_p1.ebuild b/media-sound/gsm/gsm-1.0.22_p1.ebuild
new file mode 100644
index 000000000000..44152f94e8de
--- /dev/null
+++ b/media-sound/gsm/gsm-1.0.22_p1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2022 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://packages.qa.debian.org/libg/libgsm.html"
+SRC_URI="
+ https://www.quut.com/gsm/${PN}-$(ver_cut 1-3).tar.gz
+ mirror://debian/pool/main/libg/lib${PN}/lib${PN}_${PV/_p/-}.debian.tar.xz
+"
+S="${WORKDIR}/${PN}-$(ver_cut 1-2)-pl$(ver_cut 3)"
+
+LICENSE="gsm"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.12-memcpy.patch
+ "${FILESDIR}"/${PN}-1.0.12-64bit.patch
+ "${WORKDIR}"/debian/patches
+ "${FILESDIR}"/${PN}-1.0.22-makefile.patch
+)
+
+DOCS=( ChangeLog MACHINES MANIFEST README )
+
+src_prepare() {
+ # Use Fedora's instead as it handles install perms (bug #554358)
+ rm "${WORKDIR}"/debian/patches/01_makefile.patch || die
+
+ default
+
+ sed -e 's/\$(GSM_INSTALL_LIB)\/libgsm.a //g' -i Makefile || die
+
+ 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() {
+ emake -j1 CCFLAGS="${CFLAGS} -c -DNeedFunctionPrototypes=1 -fPIC" \
+ LD="$(tc-getCC)" AR="$(tc-getAR)" CC="$(tc-getCC)" RANLIB="$(tc-getRANLIB)"
+}
+
+multilib_src_install() {
+ dodir /usr/bin /usr/$(get_libdir) /usr/include/gsm /usr/share/man/man{1,3}
+
+ emake -j1 INSTALL_ROOT="${ED}"/usr \
+ LD="$(tc-getCC)" AR="$(tc-getAR)" CC="$(tc-getCC)" RANLIB="$(tc-getRANLIB)" \
+ 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 \
+ install
+
+ dosym ../gsm/gsm.h /usr/include/libgsm/gsm.h
+}