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 |
+} |