Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-sound/gsm/, media-sound/gsm/files/
Date: Sun, 06 Nov 2022 07:06:27
Message-Id: 1667718317.27a8253e1709891f385278b26ba4b6a41059d7ef.sam@gentoo
1 commit: 27a8253e1709891f385278b26ba4b6a41059d7ef
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Sun Nov 6 07:03:25 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Sun Nov 6 07:05:17 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=27a8253e
7
8 media-sound/gsm: add 1.0.22_p1
9
10 Closes: https://bugs.gentoo.org/554358
11 Closes: https://bugs.gentoo.org/879849
12 Signed-off-by: Sam James <sam <AT> gentoo.org>
13
14 media-sound/gsm/Manifest | 2 +
15 media-sound/gsm/files/gsm-1.0.22-makefile.patch | 188 ++++++++++++++++++++++++
16 media-sound/gsm/gsm-1.0.22_p1.ebuild | 63 ++++++++
17 3 files changed, 253 insertions(+)
18
19 diff --git a/media-sound/gsm/Manifest b/media-sound/gsm/Manifest
20 index 377c6dd24e40..f0e396447e37 100644
21 --- a/media-sound/gsm/Manifest
22 +++ b/media-sound/gsm/Manifest
23 @@ -1 +1,3 @@
24 DIST gsm-1.0.13.tar.gz 65318 BLAKE2B 22bb79e3afd9a2e99041693288342b55969207223486200d4aebc61908930040b6b766a9bf673ec6b484eeb95833684c79f34c95d32da17cfb4c36d025004858 SHA512 0d0cf9e1e81e64cd84f588c1e4f0cb74b849d45e41fdebf860f63588084c73c7c5198bfe73a6c976bda5735ee516661d3db00afbb5cc5886a7ee3a7b31d673aa
25 +DIST gsm-1.0.22.tar.gz 66583 BLAKE2B 4c654997e2dd91bc5cee406bd664426f86479bfa8624abb0d7ec164eaebe83c3f534b5ee16952b302500630a6f53df26bbb2287f7a329c8878ae48e61fb770ab SHA512 f4284f096ed4d606ddece5c1b28edb63feacc26a0b664f1350c040dbf50113d27bedfd9896bf1620cb4fc3a6c8f6a5244955a6c625ded833dcee607c63c97dd2
26 +DIST libgsm_1.0.22-1.debian.tar.xz 10516 BLAKE2B 8839082ec446c3eb9dde5d1348806ac5015557257b0c1d319945c36080277b40b25f4903013c5242115467a73e425731661ad4882cf35bba51a90e4f44f284ae SHA512 21929f790d7c821e03113baf3e0690e8cb4b8b3c9015ca6fa05593dba9c4fb000ad41546826bc623c69b19689e81092afe0f7e266b22f9db35e8c735516c9de4
27
28 diff --git a/media-sound/gsm/files/gsm-1.0.22-makefile.patch b/media-sound/gsm/files/gsm-1.0.22-makefile.patch
29 new file mode 100644
30 index 000000000000..9ef9e5a246c6
31 --- /dev/null
32 +++ b/media-sound/gsm/files/gsm-1.0.22-makefile.patch
33 @@ -0,0 +1,188 @@
34 +https://src.fedoraproject.org/rpms/gsm/blob/rawhide/f/gsm-makefile.patch
35 +
36 +--- a/Makefile
37 ++++ b/Makefile
38 +@@ -44,13 +44,17 @@ WAV49 = -DWAV49
39 + # CCFLAGS = -c -O
40 +
41 + CC = gcc -ansi -pedantic
42 +-CCFLAGS = -c -O2 -DNeedFunctionPrototypes=1 -Wall -Wno-comment
43 ++CCFLAGS = -c -DNeedFunctionPrototypes=1 -Wall -Wno-comment -D_XOPEN_SOURCE=700 -D_REENTRANT -fPIC
44 +
45 + LD = $(CC)
46 +
47 + # LD = gcc
48 + # LDFLAGS =
49 +
50 ++SO_MAJOR = 1
51 ++SO_MINOR = 0
52 ++SO_PATCH = 19
53 ++SO_VER = $(SO_MAJOR).$(SO_MINOR).$(SO_PATCH)
54 +
55 + # If your compiler needs additional flags/libraries, regardless of
56 + # the source compiled, configure them here.
57 +@@ -81,7 +85,7 @@ INSTALL_ROOT =
58 + GSM_INSTALL_ROOT = $(INSTALL_ROOT)
59 + GSM_INSTALL_LIB = $(GSM_INSTALL_ROOT)/lib
60 + GSM_INSTALL_INC = $(GSM_INSTALL_ROOT)/inc
61 +-GSM_INSTALL_MAN = $(GSM_INSTALL_ROOT)/man/man3
62 ++GSM_INSTALL_MAN = $(GSM_INSTALL_ROOT)/share/man/man3
63 +
64 +
65 + # Where do you want to install the toast binaries and their manpage?
66 +@@ -91,12 +95,12 @@ GSM_INSTALL_MAN = $(GSM_INSTALL_ROOT)/man/man3
67 +
68 + TOAST_INSTALL_ROOT = $(INSTALL_ROOT)
69 + TOAST_INSTALL_BIN = $(TOAST_INSTALL_ROOT)/bin
70 +-TOAST_INSTALL_MAN = $(TOAST_INSTALL_ROOT)/man/man1
71 ++TOAST_INSTALL_MAN = $(TOAST_INSTALL_ROOT)/share/man/man1
72 +
73 + # Other tools
74 +
75 + SHELL = /bin/sh
76 +-LN = ln
77 ++LN = ln -s
78 + BASENAME = basename
79 + AR = ar
80 + ARFLAGS = cr
81 +@@ -140,6 +144,7 @@ LFLAGS = $(LDFLAGS) $(LDINC)
82 + # Targets
83 +
84 + LIBGSM = $(LIB)/libgsm.a
85 ++LIBGSMSO = $(LIB)/libgsm.so
86 +
87 + TOAST = $(BIN)/toast
88 + UNTOAST = $(BIN)/untoast
89 +@@ -257,7 +262,9 @@ STUFF = ChangeLog \
90 + # Install targets
91 +
92 + GSM_INSTALL_TARGETS = \
93 +- $(GSM_INSTALL_LIB)/libgsm.a \
94 ++ $(GSM_INSTALL_LIB)/libgsm.so.$(SO_VER) \
95 ++ $(GSM_INSTALL_LIB)/libgsm.so.$(SO_MAJOR)\
96 ++ $(GSM_INSTALL_LIB)/libgsm.so \
97 + $(GSM_INSTALL_INC)/gsm.h \
98 + $(GSM_INSTALL_MAN)/gsm.3 \
99 + $(GSM_INSTALL_MAN)/gsm_explode.3 \
100 +@@ -279,7 +286,7 @@ TOAST_INSTALL_TARGETS = \
101 +
102 + # Target rules
103 +
104 +-all: $(LIBGSM) $(TOAST) $(TCAT) $(UNTOAST)
105 ++all: $(LIBGSMSO) $(TOAST) $(TCAT) $(UNTOAST)
106 + @-echo $(ROOT): Done.
107 +
108 + tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result
109 +@@ -299,24 +306,32 @@ install: toastinstall gsminstall
110 +
111 + # The basic API: libgsm
112 +
113 ++$(LIBGSMSO).$(SO_VER): $(LIB) $(GSM_OBJECTS)
114 ++ $(LD) $(LFLAGS) -o $@ -shared -Xlinker -soname -Xlinker libgsm.so.$(SO_MAJOR) $(GSM_OBJECTS) -lc
115 ++
116 ++$(LIBGSMSO).$(SO_MAJOR): $(LIBGSMSO).$(SO_VER)
117 ++ ln -fs libgsm.so.$(SO_VER) lib/libgsm.so.$(SO_MAJOR)
118 ++
119 ++$(LIBGSMSO): $(LIBGSMSO).$(SO_VER)
120 ++ ln -fs libgsm.so.$(SO_VER) lib/libgsm.so
121 ++
122 + $(LIBGSM): $(LIB) $(GSM_OBJECTS)
123 + -rm $(RMFLAGS) $(LIBGSM)
124 + $(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)
125 + $(RANLIB) $(LIBGSM)
126 +
127 +-
128 + # Toast, Untoast and Tcat -- the compress-like frontends to gsm.
129 +
130 +-$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM)
131 +- $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(LDLIB)
132 ++$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSMSO)
133 ++ $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSMSO) $(LDLIB)
134 +
135 + $(UNTOAST): $(BIN) $(TOAST)
136 + -rm $(RMFLAGS) $(UNTOAST)
137 +- $(LN) $(TOAST) $(UNTOAST)
138 ++ $(LN) toast $(UNTOAST)
139 +
140 + $(TCAT): $(BIN) $(TOAST)
141 + -rm $(RMFLAGS) $(TCAT)
142 +- $(LN) $(TOAST) $(TCAT)
143 ++ $(LN) toast $(TCAT)
144 +
145 +
146 + # The local bin and lib directories
147 +@@ -352,52 +367,55 @@ toastuninstall:
148 +
149 + $(TOAST_INSTALL_BIN)/toast: $(TOAST)
150 + -rm $(RMFLAGS) $@
151 +- cp $(TOAST) $@
152 +- chmod 755 $@
153 ++ install -pm755 $(TOAST) $@
154 +
155 + $(TOAST_INSTALL_BIN)/untoast: $(TOAST_INSTALL_BIN)/toast
156 + -rm $(RMFLAGS) $@
157 +- $(LN) $? $@
158 ++ $(LN) -rs $? $@
159 +
160 + $(TOAST_INSTALL_BIN)/tcat: $(TOAST_INSTALL_BIN)/toast
161 + -rm $(RMFLAGS) $@
162 +- $(LN) $? $@
163 ++ $(LN) -rs $? $@
164 +
165 + $(TOAST_INSTALL_MAN)/toast.1: $(MAN)/toast.1
166 + -rm $(RMFLAGS) $@
167 +- cp $? $@
168 +- chmod 444 $@
169 ++ install -pm644 $? $@
170 +
171 + $(GSM_INSTALL_MAN)/gsm.3: $(MAN)/gsm.3
172 + -rm $(RMFLAGS) $@
173 +- cp $? $@
174 +- chmod 444 $@
175 ++ install -pm644 $? $@
176 +
177 + $(GSM_INSTALL_MAN)/gsm_option.3: $(MAN)/gsm_option.3
178 + -rm $(RMFLAGS) $@
179 +- cp $? $@
180 +- chmod 444 $@
181 ++ install -pm644 $? $@
182 +
183 + $(GSM_INSTALL_MAN)/gsm_explode.3: $(MAN)/gsm_explode.3
184 + -rm $(RMFLAGS) $@
185 +- cp $? $@
186 +- chmod 444 $@
187 ++ install -pm644 $? $@
188 +
189 + $(GSM_INSTALL_MAN)/gsm_print.3: $(MAN)/gsm_print.3
190 + -rm $(RMFLAGS) $@
191 +- cp $? $@
192 +- chmod 444 $@
193 ++ install -pm644 $? $@
194 +
195 + $(GSM_INSTALL_INC)/gsm.h: $(INC)/gsm.h
196 + -rm $(RMFLAGS) $@
197 +- cp $? $@
198 +- chmod 444 $@
199 ++ install -pm644 $? $@
200 +
201 + $(GSM_INSTALL_LIB)/libgsm.a: $(LIBGSM)
202 + -rm $(RMFLAGS) $@
203 +- cp $? $@
204 +- chmod 444 $@
205 ++ install -pm644 $? $@
206 +
207 ++$(GSM_INSTALL_LIB)/libgsm.so.$(SO_VER): $(LIBGSMSO).$(SO_VER)
208 ++ -rm $(RMFLAGS) $@
209 ++ install -pm755 $? $@
210 ++
211 ++$(GSM_INSTALL_LIB)/libgsm.so.$(SO_MAJOR): $(LIBGSMSO).$(SO_MAJOR)
212 ++ -rm $(RMFLAGS) $@
213 ++ ln -s libgsm.so.$(SO_VER) $@
214 ++
215 ++$(GSM_INSTALL_LIB)/libgsm.so: $(LIBGSMSO)
216 ++ -rm $(RMFLAGS) $@
217 ++ ln -s libgsm.so.$(SO_VER) $@
218 +
219 + # Distribution
220 +
221 +
222
223 diff --git a/media-sound/gsm/gsm-1.0.22_p1.ebuild b/media-sound/gsm/gsm-1.0.22_p1.ebuild
224 new file mode 100644
225 index 000000000000..44152f94e8de
226 --- /dev/null
227 +++ b/media-sound/gsm/gsm-1.0.22_p1.ebuild
228 @@ -0,0 +1,63 @@
229 +# Copyright 1999-2022 Gentoo Authors
230 +# Distributed under the terms of the GNU General Public License v2
231 +
232 +EAPI=8
233 +
234 +inherit flag-o-matic multilib-minimal toolchain-funcs
235 +
236 +DESCRIPTION="Lossy speech compression library and tool"
237 +HOMEPAGE="https://packages.qa.debian.org/libg/libgsm.html"
238 +SRC_URI="
239 + https://www.quut.com/gsm/${PN}-$(ver_cut 1-3).tar.gz
240 + mirror://debian/pool/main/libg/lib${PN}/lib${PN}_${PV/_p/-}.debian.tar.xz
241 +"
242 +S="${WORKDIR}/${PN}-$(ver_cut 1-2)-pl$(ver_cut 3)"
243 +
244 +LICENSE="gsm"
245 +SLOT="0"
246 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
247 +
248 +PATCHES=(
249 + "${FILESDIR}"/${PN}-1.0.12-memcpy.patch
250 + "${FILESDIR}"/${PN}-1.0.12-64bit.patch
251 + "${WORKDIR}"/debian/patches
252 + "${FILESDIR}"/${PN}-1.0.22-makefile.patch
253 +)
254 +
255 +DOCS=( ChangeLog MACHINES MANIFEST README )
256 +
257 +src_prepare() {
258 + # Use Fedora's instead as it handles install perms (bug #554358)
259 + rm "${WORKDIR}"/debian/patches/01_makefile.patch || die
260 +
261 + default
262 +
263 + sed -e 's/\$(GSM_INSTALL_LIB)\/libgsm.a //g' -i Makefile || die
264 +
265 + multilib_copy_sources
266 +}
267 +
268 +src_configure() {
269 + # From upstream Makefile. Define this if your host multiplies
270 + # floats faster than integers, e.g. on a SPARCstation.
271 + use sparc && append-flags -DUSE_FLOAT_MUL -DFAST
272 +}
273 +
274 +multilib_src_compile() {
275 + emake -j1 CCFLAGS="${CFLAGS} -c -DNeedFunctionPrototypes=1 -fPIC" \
276 + LD="$(tc-getCC)" AR="$(tc-getAR)" CC="$(tc-getCC)" RANLIB="$(tc-getRANLIB)"
277 +}
278 +
279 +multilib_src_install() {
280 + dodir /usr/bin /usr/$(get_libdir) /usr/include/gsm /usr/share/man/man{1,3}
281 +
282 + emake -j1 INSTALL_ROOT="${ED}"/usr \
283 + LD="$(tc-getCC)" AR="$(tc-getAR)" CC="$(tc-getCC)" RANLIB="$(tc-getRANLIB)" \
284 + GSM_INSTALL_LIB="${ED}"/usr/$(get_libdir) \
285 + GSM_INSTALL_INC="${ED}"/usr/include/gsm \
286 + GSM_INSTALL_MAN="${ED}"/usr/share/man/man3 \
287 + TOAST_INSTALL_MAN="${ED}"/usr/share/man/man1 \
288 + install
289 +
290 + dosym ../gsm/gsm.h /usr/include/libgsm/gsm.h
291 +}