diff --git a/libs/gsm/Makefile b/libs/gsm/Makefile index 16795ee33..3b8c67c8b 100644 --- a/libs/gsm/Makefile +++ b/libs/gsm/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2006 OpenWrt.org +# Copyright (C) 2006-2009 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -8,45 +8,53 @@ include $(TOPDIR)/rules.mk PKG_NAME:=gsm -PKG_VERSION:=1.0.10 -PKG_RELEASE:=3 +PKG_VERSION:=1.0.13 +PKG_RELEASE:=1 -PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-1.0-pl10 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=ftp://ftp.cs.tu-berlin.de/pub/local/kbs/tubmik/gsm/ -PKG_MD5SUM:=4b148480f82e96d274248e13880ec873 +PKG_SOURCE_URL:=http://user.cs.tu-berlin.de/~jutta/gsm/ +PKG_MD5SUM:=c1ba392ce61dc4aff1c29ea4e92f6df4 + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-1.0-pl13 include $(INCLUDE_DIR)/package.mk +define Package/gsm/Default + TITLE:=GSM transcoding + URL:=http://user.cs.tu-berlin.de/~jutta/toast.html +endef + +define Package/gsm/description/Default + An implementation of the European GSM 06.10 provisional standard + for full-rate speech transcoding, prI-ETS 300 036, which uses + RPE/LTP (residual pulse excitation/long term prediction) coding + at 13 kbit/s. +endef + define Package/libgsm +$(call Package/gsm/Default) SECTION:=libs CATEGORY:=Libraries - TITLE:=A GSM transcoding library - URL:=ftp://ftp.cs.tu-berlin.de/pub/local/kbs/tubmik/gsm/ + TITLE+= library endef define Package/libgsm/description -A GSM 06.10 full-rate speech transcoding implementation (library). - An implementation of the European GSM 06.10 provisional standard - for full-rate speech transcoding, prI-ETS 300 036, which uses - RPE/LTP (residual pulse excitation/long term prediction) coding - at 13 kbit/s. +$(call Package/gsm/description/Default) + This package contains a shared GSM transcoding library, used by other + programs. endef define Package/gsm-utils +$(call Package/gsm/Default) SECTION:=utils CATEGORY:=Utilities DEPENDS:=+libgsm - TITLE:=GSM transcoding utilities - URL:=ftp://ftp.cs.tu-berlin.de/pub/local/kbs/tubmik/gsm/ + TITLE+= utilities endef define Package/gsm-utils/description -A GSM 06.10 full-rate speech transcoding implementation (utilities). - An implementation of the European GSM 06.10 provisional standard - for full-rate speech transcoding, prI-ETS 300 036, which uses - RPE/LTP (residual pulse excitation/long term prediction) coding - at 13 kbit/s. +$(call Package/gsm/description/Default) + This package contains GSM transcoding utilities. endef define Build/Configure @@ -72,14 +80,14 @@ endef define Package/gsm-utils/install $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/toast $(1)/usr/bin/ + $(CP) $(PKG_INSTALL_DIR)/usr/bin/toast $(1)/usr/bin/ (cd $(1)/usr/bin; ln -sf toast untoast; ln -sf toast tcat) endef define Build/InstallDev - mkdir -p $(1)/usr/include/gsm + $(INSTALL_DIR) $(1)/usr/include/gsm $(CP) $(PKG_INSTALL_DIR)/usr/include/gsm.h $(1)/usr/include/gsm/ - mkdir -p $(1)/usr/lib + $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgsm.{a,so*} $(1)/usr/lib/ endef diff --git a/libs/gsm/patches/001-debian-libsgm-1.0.10-13.patch b/libs/gsm/patches/001-debian-libsgm-1.0.10-13.patch index 4e6e71cce..479c63d34 100644 --- a/libs/gsm/patches/001-debian-libsgm-1.0.10-13.patch +++ b/libs/gsm/patches/001-debian-libsgm-1.0.10-13.patch @@ -1,23 +1,30 @@ -diff -ruN gsm-1.0.10-orig/Makefile gsm-1.0.10-1/Makefile ---- gsm-1.0.10-orig/Makefile 1996-07-02 16:36:06.000000000 +0200 -+++ gsm-1.0.10-1/Makefile 2005-04-08 18:47:52.000000000 +0200 -@@ -7,11 +7,13 @@ - SASR = -DSASR +--- a/Makefile ++++ b/Makefile +@@ -8,10 +8,12 @@ SASR = -DSASR ######### Define SASR if >> is a signed arithmetic shift (-1 >> 1 == -1) --MULHACK = -DUSE_FLOAT_MUL -+#MULHACK = -DUSE_FLOAT_MUL + # MULHACK = -DUSE_FLOAT_MUL +MULHACK = ######### Define this if your host multiplies floats faster than integers, ######### e.g. on a SPARCstation. --FAST = -DFAST -+#FAST = -DFAST + # FAST = -DFAST +FAST = ######### Define together with USE_FLOAT_MUL to enable the GSM library's ######### approximation option for incorrect, but good-enough results. -@@ -44,7 +46,8 @@ +@@ -22,8 +24,8 @@ LTP_CUT = + ######### both integer and floating point multiplications. + ######### This flag is still in the experimental stage. + +-WAV49 = -DWAV49 +-# WAV49 = ++# WAV49 = -DWAV49 ++WAV49 = + ######### Define to enable the GSM library's option to pack GSM frames + ######### in the style used by the WAV #49 format. If you want to write + ######### a tool that produces .WAV files which contain GSM-encoded data, +@@ -44,7 +46,8 @@ WAV49 = -DWAV49 # CCFLAGS = -c -O CC = gcc -ansi -pedantic @@ -27,7 +34,7 @@ diff -ruN gsm-1.0.10-orig/Makefile gsm-1.0.10-1/Makefile LD = $(CC) -@@ -78,10 +81,10 @@ +@@ -78,10 +81,10 @@ INSTALL_ROOT = # Leave GSM_INSTALL_ROOT empty to not install the GSM library outside of # this directory. @@ -41,7 +48,7 @@ diff -ruN gsm-1.0.10-orig/Makefile gsm-1.0.10-1/Makefile # Where do you want to install the toast binaries and their manpage? -@@ -89,14 +92,14 @@ +@@ -89,14 +92,14 @@ GSM_INSTALL_MAN = $(GSM_INSTALL_ROOT)/ma # Leave TOAST_INSTALL_ROOT empty to not install the toast binaries outside # of this directory. @@ -59,7 +66,7 @@ diff -ruN gsm-1.0.10-orig/Makefile gsm-1.0.10-1/Makefile BASENAME = basename AR = ar ARFLAGS = cr -@@ -126,7 +129,7 @@ +@@ -126,7 +129,7 @@ INC = $(ROOT)/inc # Flags @@ -68,7 +75,7 @@ diff -ruN gsm-1.0.10-orig/Makefile gsm-1.0.10-1/Makefile ######### Remove -DNDEBUG to enable assertions. CFLAGS = $(CCFLAGS) $(SASR) $(DEBUG) $(MULHACK) $(FAST) $(LTP_CUT) \ -@@ -140,6 +143,7 @@ +@@ -140,6 +143,7 @@ LFLAGS = $(LDFLAGS) $(LDINC) # Targets LIBGSM = $(LIB)/libgsm.a @@ -76,7 +83,7 @@ diff -ruN gsm-1.0.10-orig/Makefile gsm-1.0.10-1/Makefile TOAST = $(BIN)/toast UNTOAST = $(BIN)/untoast -@@ -258,6 +262,9 @@ +@@ -258,6 +262,9 @@ STUFF = ChangeLog \ GSM_INSTALL_TARGETS = \ $(GSM_INSTALL_LIB)/libgsm.a \ @@ -86,7 +93,7 @@ diff -ruN gsm-1.0.10-orig/Makefile gsm-1.0.10-1/Makefile $(GSM_INSTALL_INC)/gsm.h \ $(GSM_INSTALL_MAN)/gsm.3 \ $(GSM_INSTALL_MAN)/gsm_explode.3 \ -@@ -279,7 +286,7 @@ +@@ -279,7 +286,7 @@ TOAST_INSTALL_TARGETS = \ # Target rules @@ -95,7 +102,7 @@ diff -ruN gsm-1.0.10-orig/Makefile gsm-1.0.10-1/Makefile @-echo $(ROOT): Done. tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result -@@ -299,6 +306,11 @@ +@@ -299,6 +306,11 @@ install: toastinstall gsminstall # The basic API: libgsm @@ -107,7 +114,7 @@ diff -ruN gsm-1.0.10-orig/Makefile gsm-1.0.10-1/Makefile $(LIBGSM): $(LIB) $(GSM_OBJECTS) -rm $(RMFLAGS) $(LIBGSM) $(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS) -@@ -308,15 +320,15 @@ +@@ -308,15 +320,15 @@ $(LIBGSM): $(LIB) $(GSM_OBJECTS) # Toast, Untoast and Tcat -- the compress-like frontends to gsm. $(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM) @@ -126,7 +133,7 @@ diff -ruN gsm-1.0.10-orig/Makefile gsm-1.0.10-1/Makefile # The local bin and lib directories -@@ -351,53 +363,66 @@ +@@ -351,53 +363,66 @@ toastuninstall: fi $(TOAST_INSTALL_BIN)/toast: $(TOAST) @@ -213,7 +220,7 @@ diff -ruN gsm-1.0.10-orig/Makefile gsm-1.0.10-1/Makefile # Distribution -@@ -426,7 +451,9 @@ +@@ -426,7 +451,9 @@ semi-clean: clean: semi-clean -rm $(RMFLAGS) $(LIBGSM) $(ADDTST)/add \ @@ -224,52 +231,43 @@ diff -ruN gsm-1.0.10-orig/Makefile gsm-1.0.10-1/Makefile $(ROOT)/gsm-1.0.tar.Z -diff -ruN gsm-1.0.10-orig/inc/config.h gsm-1.0.10-1/inc/config.h ---- gsm-1.0.10-orig/inc/config.h 1996-07-02 16:32:27.000000000 +0200 -+++ gsm-1.0.10-1/inc/config.h 2005-04-08 18:24:31.000000000 +0200 -@@ -9,29 +9,29 @@ +--- a/inc/config.h ++++ b/inc/config.h +@@ -9,8 +9,8 @@ #ifndef CONFIG_H #define CONFIG_H -/*efine SIGHANDLER_T int /* signal handlers are void */ -/*efine HAS_SYSV_SIGNAL 1 /* sigs not blocked/reset? */ -+/*efine SIGHANDLER_T int -* signal handlers are void */ -+/*efine HAS_SYSV_SIGNAL 1 -* sigs not blocked/reset? */ ++/*efine SIGHANDLER_T int *//* signal handlers are void */ ++/*efine HAS_SYSV_SIGNAL 1 *//* sigs not blocked/reset? */ #define HAS_STDLIB_H 1 /* /usr/include/stdlib.h */ --/*efine HAS_LIMITS_H 1 /* /usr/include/limits.h */ -+#define HAS_STDIO_H 1 /* /usr/include/stdio.h */ -+/*efine HAS_LIMITS_H 1 -* /usr/include/limits.h */ - #define HAS_FCNTL_H 1 /* /usr/include/fcntl.h */ --/*efine HAS_ERRNO_DECL 1 /* errno.h declares errno */ - - #define HAS_FSTAT 1 /* fstat syscall */ - #define HAS_FCHMOD 1 /* fchmod syscall */ + #define HAS_LIMITS_H 1 /* /usr/include/limits.h */ +@@ -22,16 +22,16 @@ #define HAS_CHMOD 1 /* chmod syscall */ #define HAS_FCHOWN 1 /* fchown syscall */ #define HAS_CHOWN 1 /* chown syscall */ -/*efine HAS__FSETMODE 1 /* _fsetmode -- set file mode */ -+/*efine HAS__FSETMODE 1 -* _fsetmode -- set file mode */ ++/*efine HAS__FSETMODE 1 *//* _fsetmode -- set file mode */ #define HAS_STRING_H 1 /* /usr/include/string.h */ -/*efine HAS_STRINGS_H 1 /* /usr/include/strings.h */ -+/*efine HAS_STRINGS_H 1 -* /usr/include/strings.h */ ++/*efine HAS_STRINGS_H 1 *//* /usr/include/strings.h */ #define HAS_UNISTD_H 1 /* /usr/include/unistd.h */ #define HAS_UTIME 1 /* POSIX utime(path, times) */ -/*efine HAS_UTIMES 1 /* use utimes() syscall instead */ -+/*efine HAS_UTIMES 1 -* use utimes() syscall instead */ ++/*efine HAS_UTIMES 1 *//* use utimes() syscall instead */ #define HAS_UTIME_H 1 /* UTIME header file */ --/*efine HAS_UTIMBUF 1 /* struct utimbuf */ + #define HAS_UTIMBUF 1 /* struct utimbuf */ -/*efine HAS_UTIMEUSEC 1 /* microseconds in utimbuf? */ -+/*efine HAS_UTIMBUF 1 -* struct utimbuf */ -+/*efine HAS_UTIMEUSEC 1 -* microseconds in utimbuf? */ ++/*efine HAS_UTIMEUSEC 1 *//* microseconds in utimbuf? */ #endif /* CONFIG_H */ -diff -ruN gsm-1.0.10-orig/inc/gsm.h gsm-1.0.10-1/inc/gsm.h ---- gsm-1.0.10-orig/inc/gsm.h 1996-07-05 20:31:51.000000000 +0200 -+++ gsm-1.0.10-1/inc/gsm.h 2005-04-08 18:24:31.000000000 +0200 -@@ -54,6 +54,10 @@ +--- a/inc/gsm.h ++++ b/inc/gsm.h +@@ -54,6 +54,10 @@ typedef gsm_byte gsm_frame[33]; /* 33 #define GSM_OPT_FRAME_INDEX 5 #define GSM_OPT_FRAME_CHAIN 6 @@ -280,7 +278,7 @@ diff -ruN gsm-1.0.10-orig/inc/gsm.h gsm-1.0.10-1/inc/gsm.h extern gsm gsm_create GSM_P((void)); extern void gsm_destroy GSM_P((gsm)); -@@ -66,6 +70,10 @@ +@@ -66,6 +70,10 @@ extern int gsm_decode GSM_P((gsm, gsm_ extern int gsm_explode GSM_P((gsm, gsm_byte *, gsm_signal *)); extern void gsm_implode GSM_P((gsm, gsm_signal *, gsm_byte *)); @@ -291,9 +289,8 @@ diff -ruN gsm-1.0.10-orig/inc/gsm.h gsm-1.0.10-1/inc/gsm.h #undef GSM_P #endif /* GSM_H */ -diff -ruN gsm-1.0.10-orig/inc/toast.h gsm-1.0.10-1/inc/toast.h ---- gsm-1.0.10-orig/inc/toast.h 1996-07-02 16:32:29.000000000 +0200 -+++ gsm-1.0.10-1/inc/toast.h 2005-04-08 18:24:31.000000000 +0200 +--- a/inc/toast.h ++++ b/inc/toast.h @@ -16,11 +16,12 @@ #include @@ -320,9 +317,8 @@ diff -ruN gsm-1.0.10-orig/inc/toast.h gsm-1.0.10-1/inc/toast.h #include "gsm.h" #ifndef S_ISREG -diff -ruN gsm-1.0.10-orig/src/code.c gsm-1.0.10-1/src/code.c ---- gsm-1.0.10-orig/src/code.c 1996-07-02 16:32:36.000000000 +0200 -+++ gsm-1.0.10-1/src/code.c 2005-04-08 18:24:31.000000000 +0200 +--- a/src/code.c ++++ b/src/code.c @@ -9,8 +9,8 @@ #include "config.h" @@ -334,10 +330,9 @@ diff -ruN gsm-1.0.10-orig/src/code.c gsm-1.0.10-1/src/code.c #else # include "proto.h" extern char * memcpy P((char *, char *, int)); -diff -ruN gsm-1.0.10-orig/src/debug.c gsm-1.0.10-1/src/debug.c ---- gsm-1.0.10-orig/src/debug.c 1996-07-02 16:32:37.000000000 +0200 -+++ gsm-1.0.10-1/src/debug.c 2005-04-08 18:24:31.000000000 +0200 -@@ -49,7 +49,7 @@ +--- a/src/debug.c ++++ b/src/debug.c +@@ -49,7 +49,7 @@ void gsm_debug_longwords P4( (name, from fprintf( stderr, "%s [%d .. %d]: ", name, from, to ); while (from <= to) { @@ -346,7 +341,7 @@ diff -ruN gsm-1.0.10-orig/src/debug.c gsm-1.0.10-1/src/debug.c from++; if (nprinted++ >= 7) { nprinted = 0; -@@ -63,14 +63,14 @@ +@@ -63,14 +63,14 @@ void gsm_debug_longword P2( (name, valu char * name, longword value ) { @@ -363,10 +358,9 @@ diff -ruN gsm-1.0.10-orig/src/debug.c gsm-1.0.10-1/src/debug.c } #endif -diff -ruN gsm-1.0.10-orig/src/toast.c gsm-1.0.10-1/src/toast.c ---- gsm-1.0.10-orig/src/toast.c 1996-07-02 16:32:55.000000000 +0200 -+++ gsm-1.0.10-1/src/toast.c 2005-04-08 18:24:31.000000000 +0200 -@@ -251,8 +251,8 @@ +--- a/src/toast.c ++++ b/src/toast.c +@@ -251,8 +251,8 @@ static char * emalloc P1((len), size_t l { char * s; if (!(s = malloc(len))) { @@ -377,7 +371,7 @@ diff -ruN gsm-1.0.10-orig/src/toast.c gsm-1.0.10-1/src/toast.c onintr(); exit(1); } -@@ -270,7 +270,7 @@ +@@ -270,7 +270,7 @@ static char* normalname P3((name, want, maxlen = strlen(name) + 1 + strlen(want) + strlen(cut); p = strcpy(emalloc(maxlen), name); @@ -386,7 +380,7 @@ diff -ruN gsm-1.0.10-orig/src/toast.c gsm-1.0.10-1/src/toast.c else if (*want && !suffix(p, want)) strcat(p, want); return p; -@@ -386,7 +386,7 @@ +@@ -386,7 +386,7 @@ static void update_times P0() ut[0] = instat.st_atime; ut[1] = instat.st_mtime; @@ -395,7 +389,7 @@ diff -ruN gsm-1.0.10-orig/src/toast.c gsm-1.0.10-1/src/toast.c #endif /* UTIMBUF */ } -@@ -416,7 +416,7 @@ +@@ -416,7 +416,7 @@ static int okay_as_input P3((name,f,st), } if (st->st_nlink > 1 && !f_cat && !f_precious) { fprintf(stderr, @@ -404,7 +398,7 @@ diff -ruN gsm-1.0.10-orig/src/toast.c gsm-1.0.10-1/src/toast.c progname,name,st->st_nlink - 1,"s" + (st->st_nlink<=2)); return 0; } -@@ -585,8 +585,8 @@ +@@ -585,8 +585,8 @@ static int process_decode P0() if (cc != sizeof(s)) { if (cc >= 0) fprintf(stderr, @@ -415,7 +409,7 @@ diff -ruN gsm-1.0.10-orig/src/toast.c gsm-1.0.10-1/src/toast.c "s" + (sizeof(s) - cc == 1), inname ? inname : "stdin" ); gsm_destroy(r); -@@ -624,8 +624,6 @@ +@@ -624,8 +624,6 @@ static int process_decode P0() static int process P1((name), char * name) { @@ -424,7 +418,7 @@ diff -ruN gsm-1.0.10-orig/src/toast.c gsm-1.0.10-1/src/toast.c out = (FILE *)0; in = (FILE *)0; -@@ -779,7 +777,6 @@ +@@ -779,7 +777,6 @@ int main P2((ac, av), int ac, char **av) case 'h': help(); exit(0); default: