From: Peter Korsgaard Date: Tue, 3 Feb 2015 13:52:07 +0000 (+0100) Subject: package/*: rename patches according to the new policy X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=298cd8eaa21a21eee85f9551a26ad294347b1d5a;p=buildroot.git package/*: rename patches according to the new policy Autogenerated from rename-patch.py (http://patchwork.ozlabs.org/patch/403345) Signed-off-by: Samuel Martin Signed-off-by: Peter Korsgaard --- diff --git a/package/acl/0001-support-static-installation.patch b/package/acl/0001-support-static-installation.patch new file mode 100644 index 0000000000..4cb473ffc2 --- /dev/null +++ b/package/acl/0001-support-static-installation.patch @@ -0,0 +1,29 @@ +Support installation of .a file when doing static linking + +When doing static linking (i.e ENABLE_SHARED != yes), the acl build +logic wasn't installing any library at all, not even the .a file which +is needed for static linking. This patch fixes that. + +Signed-off-by: Thomas Petazzoni + +Index: b/include/buildmacros +=================================================================== +--- a/include/buildmacros ++++ b/include/buildmacros +@@ -97,7 +97,15 @@ + + INSTALL_LTLIB_STATIC = \ + cd $(TOPDIR)/$(LIBNAME)/.libs; \ +- ../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR); ++ ../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR); \ ++ ../$(INSTALL) -m 644 -T old_lib $(LIBNAME).la $(PKG_DEVLIB_DIR); \ ++ ../$(INSTALL) -m 644 $(LIBNAME).la $(PKG_DEVLIB_DIR)/$(LIBNAME).la ; \ ++ ../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \ ++ ../$(INSTALL) -T so_base $(LIBNAME).la $(PKG_LIB_DIR); \ ++ if test "x$(PKG_DEVLIB_DIR)" != "x$(PKG_LIB_DIR)" ; then \ ++ ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).a $(PKG_LIB_DIR)/$(LIBNAME).a; \ ++ ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).la $(PKG_LIB_DIR)/$(LIBNAME).la; \ ++ fi + + INSTALL_MAN = \ + @for d in $(MAN_PAGES); do \ diff --git a/package/acl/acl-01-support-static-installation.patch b/package/acl/acl-01-support-static-installation.patch deleted file mode 100644 index 4cb473ffc2..0000000000 --- a/package/acl/acl-01-support-static-installation.patch +++ /dev/null @@ -1,29 +0,0 @@ -Support installation of .a file when doing static linking - -When doing static linking (i.e ENABLE_SHARED != yes), the acl build -logic wasn't installing any library at all, not even the .a file which -is needed for static linking. This patch fixes that. - -Signed-off-by: Thomas Petazzoni - -Index: b/include/buildmacros -=================================================================== ---- a/include/buildmacros -+++ b/include/buildmacros -@@ -97,7 +97,15 @@ - - INSTALL_LTLIB_STATIC = \ - cd $(TOPDIR)/$(LIBNAME)/.libs; \ -- ../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR); -+ ../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR); \ -+ ../$(INSTALL) -m 644 -T old_lib $(LIBNAME).la $(PKG_DEVLIB_DIR); \ -+ ../$(INSTALL) -m 644 $(LIBNAME).la $(PKG_DEVLIB_DIR)/$(LIBNAME).la ; \ -+ ../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \ -+ ../$(INSTALL) -T so_base $(LIBNAME).la $(PKG_LIB_DIR); \ -+ if test "x$(PKG_DEVLIB_DIR)" != "x$(PKG_LIB_DIR)" ; then \ -+ ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).a $(PKG_LIB_DIR)/$(LIBNAME).a; \ -+ ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).la $(PKG_LIB_DIR)/$(LIBNAME).la; \ -+ fi - - INSTALL_MAN = \ - @for d in $(MAN_PAGES); do \ diff --git a/package/acpid/0001-dont-use-isfdtype.patch b/package/acpid/0001-dont-use-isfdtype.patch new file mode 100644 index 0000000000..2fe6c2183b --- /dev/null +++ b/package/acpid/0001-dont-use-isfdtype.patch @@ -0,0 +1,20 @@ +Partially roll back upstream commit 4711119089e1ad08dad206f4fded68f1972fdeed +since released versions of uClibc don't support isfdtype(). + +Signed-off-by: Gustavo Zaarias + +diff -Nura acpid-2.0.22.orig/sock.c acpid-2.0.22/sock.c +--- acpid-2.0.22.orig/sock.c 2014-04-22 18:04:19.706841764 -0300 ++++ acpid-2.0.22/sock.c 2014-04-22 18:05:08.285479625 -0300 +@@ -53,7 +53,10 @@ + int + is_socket(int fd) + { +- return (isfdtype(fd, S_IFSOCK) == 1); ++ int v; ++ socklen_t l = sizeof(int); ++ ++ return (getsockopt(fd, SOL_SOCKET, SO_TYPE, (char *)&v, &l) == 0); + } + + /* accept a new client connection */ diff --git a/package/acpid/0002-add-missing-defines.patch b/package/acpid/0002-add-missing-defines.patch new file mode 100644 index 0000000000..a85315911f --- /dev/null +++ b/package/acpid/0002-add-missing-defines.patch @@ -0,0 +1,40 @@ +Add missing MSG_CMSG_CLOEXEC + +Unpatched uClibc toolchains, even using the latest 0.9.33.2, do not +have the MSG_CMSG_CLOEXEC definition. Even though the Buildroot +internal toolchain backend has a uClibc patch to provide it, it +doesn't apply to external toolchains. This patch provides the +definition of MSG_CMSG_CLOEXEC. + +Signed-off-by: Thomas Petazzoni + +Index: b/libnetlink.h +=================================================================== +--- a/libnetlink.h ++++ b/libnetlink.h +@@ -7,6 +7,10 @@ + #include + #include + ++#ifndef MSG_CMSG_CLOEXEC ++#define MSG_CMSG_CLOEXEC 0x40000000 ++#endif ++ + struct rtnl_handle + { + int fd; +Index: b/kacpimon/libnetlink.h +=================================================================== +--- a/kacpimon/libnetlink.h ++++ b/kacpimon/libnetlink.h +@@ -7,6 +7,10 @@ + #include + #include + ++#ifndef MSG_CMSG_CLOEXEC ++#define MSG_CMSG_CLOEXEC 0x40000000 ++#endif ++ + struct rtnl_handle + { + int fd; diff --git a/package/acpid/acpid-01-dont-use-isfdtype.patch b/package/acpid/acpid-01-dont-use-isfdtype.patch deleted file mode 100644 index 2fe6c2183b..0000000000 --- a/package/acpid/acpid-01-dont-use-isfdtype.patch +++ /dev/null @@ -1,20 +0,0 @@ -Partially roll back upstream commit 4711119089e1ad08dad206f4fded68f1972fdeed -since released versions of uClibc don't support isfdtype(). - -Signed-off-by: Gustavo Zaarias - -diff -Nura acpid-2.0.22.orig/sock.c acpid-2.0.22/sock.c ---- acpid-2.0.22.orig/sock.c 2014-04-22 18:04:19.706841764 -0300 -+++ acpid-2.0.22/sock.c 2014-04-22 18:05:08.285479625 -0300 -@@ -53,7 +53,10 @@ - int - is_socket(int fd) - { -- return (isfdtype(fd, S_IFSOCK) == 1); -+ int v; -+ socklen_t l = sizeof(int); -+ -+ return (getsockopt(fd, SOL_SOCKET, SO_TYPE, (char *)&v, &l) == 0); - } - - /* accept a new client connection */ diff --git a/package/acpid/acpid-02-add-missing-defines.patch b/package/acpid/acpid-02-add-missing-defines.patch deleted file mode 100644 index a85315911f..0000000000 --- a/package/acpid/acpid-02-add-missing-defines.patch +++ /dev/null @@ -1,40 +0,0 @@ -Add missing MSG_CMSG_CLOEXEC - -Unpatched uClibc toolchains, even using the latest 0.9.33.2, do not -have the MSG_CMSG_CLOEXEC definition. Even though the Buildroot -internal toolchain backend has a uClibc patch to provide it, it -doesn't apply to external toolchains. This patch provides the -definition of MSG_CMSG_CLOEXEC. - -Signed-off-by: Thomas Petazzoni - -Index: b/libnetlink.h -=================================================================== ---- a/libnetlink.h -+++ b/libnetlink.h -@@ -7,6 +7,10 @@ - #include - #include - -+#ifndef MSG_CMSG_CLOEXEC -+#define MSG_CMSG_CLOEXEC 0x40000000 -+#endif -+ - struct rtnl_handle - { - int fd; -Index: b/kacpimon/libnetlink.h -=================================================================== ---- a/kacpimon/libnetlink.h -+++ b/kacpimon/libnetlink.h -@@ -7,6 +7,10 @@ - #include - #include - -+#ifndef MSG_CMSG_CLOEXEC -+#define MSG_CMSG_CLOEXEC 0x40000000 -+#endif -+ - struct rtnl_handle - { - int fd; diff --git a/package/aiccu/0001-gnutls-and-uclibc-fixes.patch b/package/aiccu/0001-gnutls-and-uclibc-fixes.patch new file mode 100644 index 0000000000..d316f8f6ca --- /dev/null +++ b/package/aiccu/0001-gnutls-and-uclibc-fixes.patch @@ -0,0 +1,104 @@ +aiccu.h, common.c, common.h: fixes for deprecated GNUTLS functions and types +resolver.c: fixes for selection of wrong resolver function under uclibc + +Signed-off-by: Michael Rommel + +diff -purN aiccu_20070115.orig/common/aiccu.h aiccu_20070115/common/aiccu.h +--- aiccu_20070115.orig/common/aiccu.h 2007-01-15 13:01:43.000000000 +0100 ++++ aiccu_20070115/common/aiccu.h 2013-08-31 23:50:53.651936146 +0200 +@@ -111,7 +111,7 @@ struct AICCU_conf + #endif + + #ifdef AICCU_GNUTLS +- gnutls_certificate_credentials tls_cred; /* GNUTLS credentials */ ++ gnutls_certificate_credentials_t tls_cred; /* GNUTLS credentials */ + #endif + + bool daemonize; /* Daemonize? */ +diff -purN aiccu_20070115.orig/common/common.c aiccu_20070115/common/common.c +--- aiccu_20070115.orig/common/common.c 2006-12-21 15:08:50.000000000 +0100 ++++ aiccu_20070115/common/common.c 2013-09-01 01:21:36.031396740 +0200 +@@ -271,9 +271,8 @@ TLSSOCKET sock_alloc(void); + TLSSOCKET sock_alloc(void) + { + #ifdef AICCU_GNUTLS +- /* Allow connections to servers that have OpenPGP keys as well */ +- const int cert_type_priority[3] = { GNUTLS_CRT_X509, GNUTLS_CRT_OPENPGP, 0 }; + int ret; ++ const char *err; + #endif /* AICCU_GNUTLS*/ + + TLSSOCKET sock; +@@ -297,11 +296,16 @@ TLSSOCKET sock_alloc(void) + } + + /* Use default priorities */ +- gnutls_set_default_priority(sock->session); +- /* XXX: Return value is not documented in GNUTLS documentation! */ +- +- gnutls_certificate_type_set_priority(sock->session, cert_type_priority); +- /* XXX: Return value is not documented in GNUTLS documentation! */ ++ ret = gnutls_priority_set_direct(sock->session, "NORMAL", &err); ++ if (ret < 0) ++ { ++ if (ret == GNUTLS_E_INVALID_REQUEST) ++ { ++ dolog( LOG_ERR, "TLS set priority failed, syntax error at: %s\n", err); ++ } ++ free(sock); ++ return NULL; ++ } + + /* Configure the x509 credentials for the current session */ + gnutls_credentials_set(sock->session, GNUTLS_CRD_CERTIFICATE, g_aiccu->tls_cred); +@@ -474,7 +478,7 @@ bool sock_gotls(TLSSOCKET sock) + } + + /* Set the transport */ +- gnutls_transport_set_ptr(sock->session, (gnutls_transport_ptr)sock->socket); ++ gnutls_transport_set_ptr(sock->session, (gnutls_transport_ptr_t) sock->socket); + + /* Perform the TLS handshake */ + ret = gnutls_handshake(sock->session); +diff -purN aiccu_20070115.orig/common/common.h aiccu_20070115/common/common.h +--- aiccu_20070115.orig/common/common.h 2007-01-11 15:50:51.000000000 +0100 ++++ aiccu_20070115/common/common.h 2013-08-31 23:26:13.683659455 +0200 +@@ -381,7 +381,7 @@ struct tlssocket + SOCKET socket; + #ifdef AICCU_GNUTLS + bool tls_active; /* TLS active? */ +- gnutls_session session; /* The GnuTLS sesision */ ++ gnutls_session_t session; /* The GnuTLS sesision */ + #endif + }; + +diff -purN aiccu_20070115.orig/common/resolver.c aiccu_20070115/common/resolver.c +--- aiccu_20070115.orig/common/resolver.c 2006-07-23 16:55:14.000000000 +0200 ++++ aiccu_20070115/common/resolver.c 2013-08-31 23:44:31.574866862 +0200 +@@ -26,7 +26,7 @@ + + int getrrs(const char *label, int rrtype, void gotrec(unsigned int num, int type, const char *record)) + { +-#ifdef _LINUX ++#if defined(_LINUX) && !defined(__UCLIBC__) + struct __res_state res; + #endif + unsigned char answer[8192]; +@@ -38,7 +38,7 @@ int getrrs(const char *label, int rrtype + uint16_t type = 0, class = 0; + uint32_t ttl = 0; + +-#ifdef _LINUX ++#if defined(_LINUX) && !defined(__UCLIBC__) + memset(&res, 0, sizeof(res)); + res.options = RES_DEBUG; + res_ninit(&res); +@@ -47,7 +47,7 @@ int getrrs(const char *label, int rrtype + #endif + + memset(answer, 0, sizeof(answer)); +-#ifdef _LINUX ++#if defined(_LINUX) && !defined(__UCLIBC__) + ret = res_nquery(&res, label, C_IN, rrtype, answer, sizeof(answer)); + #else + ret = res_query(label, C_IN, rrtype, answer, sizeof(answer)); diff --git a/package/aiccu/0002-makefile-reorder-linked-libraries.patch b/package/aiccu/0002-makefile-reorder-linked-libraries.patch new file mode 100644 index 0000000000..22f04a91a4 --- /dev/null +++ b/package/aiccu/0002-makefile-reorder-linked-libraries.patch @@ -0,0 +1,15 @@ +Makefile: change LDFLAGS order on the compile line for --static + +Signed-off-by: Michael Rommel + +--- aiccu_20070115.orig/unix-console/Makefile 2007-01-15 12:04:27.000000000 +0100 ++++ aiccu_20070115/unix-console/Makefile 2013-09-29 22:54:42.742963861 +0200 +@@ -144,7 +144,7 @@ endif + all: aiccu + + aiccu: $(OBJS) ${SRCS} ${INCS} +- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) ++ $(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS) + ifeq ($(shell echo $(CFLAGS) | grep -c "DEBUG"),0) + ifeq ($(shell echo "$(RPM_OPT_FLAGS)" | wc -c),1) + strip $@ diff --git a/package/aiccu/0003-clock-suite-functions-fix.patch b/package/aiccu/0003-clock-suite-functions-fix.patch new file mode 100644 index 0000000000..365e72a227 --- /dev/null +++ b/package/aiccu/0003-clock-suite-functions-fix.patch @@ -0,0 +1,18 @@ +aiccu: fix undefined reference to clock_* functions + +Since glibc 2.17 the clock_* suite functions are available directly in +the main C library. For previous versions we still need -lrt to link. + +Signed-off-by: Vicente Olivert Riera + +--- aiccu/unix-console/Makefile.orig 2014-01-14 10:17:20.204602513 +0000 ++++ aiccu/unix-console/Makefile 2014-01-14 10:17:31.435777359 +0000 +@@ -42,7 +42,7 @@ CFLAGS += -D AICCU_CONSOLE + # Currently defaultly builds only on Linux, but other platforms might easily also support it + ifeq ($(shell uname | grep -c "Linux"),1) + CFLAGS += -D AICCU_GNUTLS +-LDFLAGS += -lgnutls ++LDFLAGS += -lgnutls -lrt + endif + + # Linux diff --git a/package/aiccu/aiccu-0001-gnutls-and-uclibc-fixes.patch b/package/aiccu/aiccu-0001-gnutls-and-uclibc-fixes.patch deleted file mode 100644 index d316f8f6ca..0000000000 --- a/package/aiccu/aiccu-0001-gnutls-and-uclibc-fixes.patch +++ /dev/null @@ -1,104 +0,0 @@ -aiccu.h, common.c, common.h: fixes for deprecated GNUTLS functions and types -resolver.c: fixes for selection of wrong resolver function under uclibc - -Signed-off-by: Michael Rommel - -diff -purN aiccu_20070115.orig/common/aiccu.h aiccu_20070115/common/aiccu.h ---- aiccu_20070115.orig/common/aiccu.h 2007-01-15 13:01:43.000000000 +0100 -+++ aiccu_20070115/common/aiccu.h 2013-08-31 23:50:53.651936146 +0200 -@@ -111,7 +111,7 @@ struct AICCU_conf - #endif - - #ifdef AICCU_GNUTLS -- gnutls_certificate_credentials tls_cred; /* GNUTLS credentials */ -+ gnutls_certificate_credentials_t tls_cred; /* GNUTLS credentials */ - #endif - - bool daemonize; /* Daemonize? */ -diff -purN aiccu_20070115.orig/common/common.c aiccu_20070115/common/common.c ---- aiccu_20070115.orig/common/common.c 2006-12-21 15:08:50.000000000 +0100 -+++ aiccu_20070115/common/common.c 2013-09-01 01:21:36.031396740 +0200 -@@ -271,9 +271,8 @@ TLSSOCKET sock_alloc(void); - TLSSOCKET sock_alloc(void) - { - #ifdef AICCU_GNUTLS -- /* Allow connections to servers that have OpenPGP keys as well */ -- const int cert_type_priority[3] = { GNUTLS_CRT_X509, GNUTLS_CRT_OPENPGP, 0 }; - int ret; -+ const char *err; - #endif /* AICCU_GNUTLS*/ - - TLSSOCKET sock; -@@ -297,11 +296,16 @@ TLSSOCKET sock_alloc(void) - } - - /* Use default priorities */ -- gnutls_set_default_priority(sock->session); -- /* XXX: Return value is not documented in GNUTLS documentation! */ -- -- gnutls_certificate_type_set_priority(sock->session, cert_type_priority); -- /* XXX: Return value is not documented in GNUTLS documentation! */ -+ ret = gnutls_priority_set_direct(sock->session, "NORMAL", &err); -+ if (ret < 0) -+ { -+ if (ret == GNUTLS_E_INVALID_REQUEST) -+ { -+ dolog( LOG_ERR, "TLS set priority failed, syntax error at: %s\n", err); -+ } -+ free(sock); -+ return NULL; -+ } - - /* Configure the x509 credentials for the current session */ - gnutls_credentials_set(sock->session, GNUTLS_CRD_CERTIFICATE, g_aiccu->tls_cred); -@@ -474,7 +478,7 @@ bool sock_gotls(TLSSOCKET sock) - } - - /* Set the transport */ -- gnutls_transport_set_ptr(sock->session, (gnutls_transport_ptr)sock->socket); -+ gnutls_transport_set_ptr(sock->session, (gnutls_transport_ptr_t) sock->socket); - - /* Perform the TLS handshake */ - ret = gnutls_handshake(sock->session); -diff -purN aiccu_20070115.orig/common/common.h aiccu_20070115/common/common.h ---- aiccu_20070115.orig/common/common.h 2007-01-11 15:50:51.000000000 +0100 -+++ aiccu_20070115/common/common.h 2013-08-31 23:26:13.683659455 +0200 -@@ -381,7 +381,7 @@ struct tlssocket - SOCKET socket; - #ifdef AICCU_GNUTLS - bool tls_active; /* TLS active? */ -- gnutls_session session; /* The GnuTLS sesision */ -+ gnutls_session_t session; /* The GnuTLS sesision */ - #endif - }; - -diff -purN aiccu_20070115.orig/common/resolver.c aiccu_20070115/common/resolver.c ---- aiccu_20070115.orig/common/resolver.c 2006-07-23 16:55:14.000000000 +0200 -+++ aiccu_20070115/common/resolver.c 2013-08-31 23:44:31.574866862 +0200 -@@ -26,7 +26,7 @@ - - int getrrs(const char *label, int rrtype, void gotrec(unsigned int num, int type, const char *record)) - { --#ifdef _LINUX -+#if defined(_LINUX) && !defined(__UCLIBC__) - struct __res_state res; - #endif - unsigned char answer[8192]; -@@ -38,7 +38,7 @@ int getrrs(const char *label, int rrtype - uint16_t type = 0, class = 0; - uint32_t ttl = 0; - --#ifdef _LINUX -+#if defined(_LINUX) && !defined(__UCLIBC__) - memset(&res, 0, sizeof(res)); - res.options = RES_DEBUG; - res_ninit(&res); -@@ -47,7 +47,7 @@ int getrrs(const char *label, int rrtype - #endif - - memset(answer, 0, sizeof(answer)); --#ifdef _LINUX -+#if defined(_LINUX) && !defined(__UCLIBC__) - ret = res_nquery(&res, label, C_IN, rrtype, answer, sizeof(answer)); - #else - ret = res_query(label, C_IN, rrtype, answer, sizeof(answer)); diff --git a/package/aiccu/aiccu-0002-makefile-reorder-linked-libraries.patch b/package/aiccu/aiccu-0002-makefile-reorder-linked-libraries.patch deleted file mode 100644 index 22f04a91a4..0000000000 --- a/package/aiccu/aiccu-0002-makefile-reorder-linked-libraries.patch +++ /dev/null @@ -1,15 +0,0 @@ -Makefile: change LDFLAGS order on the compile line for --static - -Signed-off-by: Michael Rommel - ---- aiccu_20070115.orig/unix-console/Makefile 2007-01-15 12:04:27.000000000 +0100 -+++ aiccu_20070115/unix-console/Makefile 2013-09-29 22:54:42.742963861 +0200 -@@ -144,7 +144,7 @@ endif - all: aiccu - - aiccu: $(OBJS) ${SRCS} ${INCS} -- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) -+ $(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS) - ifeq ($(shell echo $(CFLAGS) | grep -c "DEBUG"),0) - ifeq ($(shell echo "$(RPM_OPT_FLAGS)" | wc -c),1) - strip $@ diff --git a/package/aiccu/aiccu-0003-clock-suite-functions-fix.patch b/package/aiccu/aiccu-0003-clock-suite-functions-fix.patch deleted file mode 100644 index 365e72a227..0000000000 --- a/package/aiccu/aiccu-0003-clock-suite-functions-fix.patch +++ /dev/null @@ -1,18 +0,0 @@ -aiccu: fix undefined reference to clock_* functions - -Since glibc 2.17 the clock_* suite functions are available directly in -the main C library. For previous versions we still need -lrt to link. - -Signed-off-by: Vicente Olivert Riera - ---- aiccu/unix-console/Makefile.orig 2014-01-14 10:17:20.204602513 +0000 -+++ aiccu/unix-console/Makefile 2014-01-14 10:17:31.435777359 +0000 -@@ -42,7 +42,7 @@ CFLAGS += -D AICCU_CONSOLE - # Currently defaultly builds only on Linux, but other platforms might easily also support it - ifeq ($(shell uname | grep -c "Linux"),1) - CFLAGS += -D AICCU_GNUTLS --LDFLAGS += -lgnutls -+LDFLAGS += -lgnutls -lrt - endif - - # Linux diff --git a/package/alsa-lib/0001-avr32-bad-inline.patch b/package/alsa-lib/0001-avr32-bad-inline.patch new file mode 100644 index 0000000000..568ba40a4e --- /dev/null +++ b/package/alsa-lib/0001-avr32-bad-inline.patch @@ -0,0 +1,91 @@ +diff -urN alsa-lib-1.0.18-0rig//src/pcm/pcm_local.h alsa-lib-1.0.18/src/pcm/pcm_local.h +--- alsa-lib-1.0.18-0rig//src/pcm/pcm_local.h 2009-01-31 11:02:12.000000000 +0100 ++++ alsa-lib-1.0.18/src/pcm/pcm_local.h 2009-01-31 11:03:24.000000000 +0100 +@@ -611,6 +611,13 @@ + snd_pcm_hw_param_t var); + int _snd_pcm_hw_param_set(snd_pcm_hw_params_t *params, + snd_pcm_hw_param_t var, unsigned int val, int dir); ++ ++#if defined(AVR32_INLINE_BUG) ++int _snd_pcm_hw_params_set_format(snd_pcm_hw_params_t *params, ++ snd_pcm_format_t val); ++int _snd_pcm_hw_params_set_subformat(snd_pcm_hw_params_t *params, ++ snd_pcm_subformat_t val); ++#else + static inline int _snd_pcm_hw_params_set_format(snd_pcm_hw_params_t *params, + snd_pcm_format_t val) + { +@@ -624,7 +631,7 @@ + return _snd_pcm_hw_param_set(params, SND_PCM_HW_PARAM_SUBFORMAT, + (unsigned long) val, 0); + } +- ++#endif + int _snd_pcm_hw_param_set_min(snd_pcm_hw_params_t *params, + snd_pcm_hw_param_t var, unsigned int val, int dir); + int _snd_pcm_hw_param_set_max(snd_pcm_hw_params_t *params, +diff -urN alsa-lib-1.0.18-0rig//src/pcm/pcm_route.c alsa-lib-1.0.18/src/pcm/pcm_route.c +--- alsa-lib-1.0.18-0rig//src/pcm/pcm_route.c 2009-01-31 11:02:12.000000000 +0100 ++++ alsa-lib-1.0.18/src/pcm/pcm_route.c 2009-01-31 11:03:18.000000000 +0100 +@@ -26,6 +26,7 @@ + * + */ + ++ + #include + #include + #include "pcm_local.h" +@@ -106,6 +107,23 @@ + + #endif /* DOC_HIDDEN */ + ++ ++#if defined(AVR32_INLINE_BUG) ++int _snd_pcm_hw_params_set_format(snd_pcm_hw_params_t *params, ++ snd_pcm_format_t val) ++{ ++ return _snd_pcm_hw_param_set(params, SND_PCM_HW_PARAM_FORMAT, ++ (unsigned long) val, 0); ++} ++ ++int _snd_pcm_hw_params_set_subformat(snd_pcm_hw_params_t *params, ++ snd_pcm_subformat_t val) ++{ ++ return _snd_pcm_hw_param_set(params, SND_PCM_HW_PARAM_SUBFORMAT, ++ (unsigned long) val, 0); ++} ++#endif ++ + static void snd_pcm_route_convert1_zero(const snd_pcm_channel_area_t *dst_area, + snd_pcm_uframes_t dst_offset, + const snd_pcm_channel_area_t *src_areas ATTRIBUTE_UNUSED, +@@ -483,6 +501,8 @@ + snd_pcm_uframes_t frames, + snd_pcm_route_params_t *params) + { ++#if defined(AVR32_INLINE_BUG) ++#endif + unsigned int dst_channel; + snd_pcm_route_ttable_dst_t *dstp; + const snd_pcm_channel_area_t *dst_area; +@@ -551,8 +571,20 @@ + _snd_pcm_hw_param_set_mask(sparams, SND_PCM_HW_PARAM_ACCESS, + &saccess_mask); + if (route->sformat != SND_PCM_FORMAT_UNKNOWN) { ++#if defined(AVR32_INLINE_BUG) ++/* Start of of problem */ ++#endif + _snd_pcm_hw_params_set_format(sparams, route->sformat); + _snd_pcm_hw_params_set_subformat(sparams, SND_PCM_SUBFORMAT_STD); ++#if 0 ++ _snd_pcm_hw_param_set(sparams, SND_PCM_HW_PARAM_FORMAT, ++ (unsigned long) route->sformat, 0); ++ _snd_pcm_hw_param_set(sparams, SND_PCM_HW_PARAM_SUBFORMAT, ++ (unsigned long) SND_PCM_SUBFORMAT_STD, 0); ++#endif ++#if defined(AVR32_INLINE_BUG) ++/* End of problem */ ++#endif + } + if (route->schannels >= 0) { + _snd_pcm_hw_param_set(sparams, SND_PCM_HW_PARAM_CHANNELS, diff --git a/package/alsa-lib/0002-no-mmu.patch b/package/alsa-lib/0002-no-mmu.patch new file mode 100644 index 0000000000..2ae0f67158 --- /dev/null +++ b/package/alsa-lib/0002-no-mmu.patch @@ -0,0 +1,45 @@ +Don't use fork() on noMMU platforms + +[Gustavo: update patch for 1.0.28] +Signed-off-by: Thomas Petazzoni + +Index: alsa-lib-1.0.26/configure.ac +=================================================================== +--- alsa-lib-1.0.26.orig/configure.ac 2012-09-06 10:55:14.000000000 +0200 ++++ alsa-lib-1.0.26/configure.ac 2013-03-09 16:22:08.000000000 +0100 +@@ -66,6 +66,8 @@ + AM_CONDITIONAL(ALSA_HSEARCH_R, [test "x$HAVE_HSEARCH_R" != xyes]) + AC_CHECK_FUNCS([uselocale]) + ++AC_CHECK_FUNC([fork]) ++ + SAVE_LIBRARY_VERSION + AC_SUBST(LIBTOOL_VERSION_INFO) + +Index: alsa-lib-1.0.26/src/pcm/pcm_direct.c +=================================================================== +--- alsa-lib-1.0.26.orig/src/pcm/pcm_direct.c 2012-09-06 10:55:14.000000000 +0200 ++++ alsa-lib-1.0.26/src/pcm/pcm_direct.c 2013-03-09 16:22:51.000000000 +0100 +@@ -424,13 +424,21 @@ + close(dmix->server_fd); + return ret; + } +- ++ ++#ifdef HAVE_FORK + ret = fork(); ++#else ++ ret = vfork(); ++#endif + if (ret < 0) { + close(dmix->server_fd); + return ret; + } else if (ret == 0) { ++#ifdef HAVE_FORK + ret = fork(); ++#else ++ ret = vfork(); ++#endif + if (ret == 0) + server_job(dmix); + _exit(EXIT_SUCCESS); diff --git a/package/alsa-lib/0003-dlmisc.patch b/package/alsa-lib/0003-dlmisc.patch new file mode 100644 index 0000000000..05dc70ee7e --- /dev/null +++ b/package/alsa-lib/0003-dlmisc.patch @@ -0,0 +1,57 @@ +alsa-lib: provide dummy definitions of RTLD_* if necessary + +The FLAT GNU toolchain (e.g. blackfin) doesn't include the dlfcn.h header +file, so we need to guard that include. Additionally, provide dummy +definitions for parameters RTLD_GLOBAL / RTLD_NOW which are normally +provided by dlfcn.h. + +Signed-off-by: Sonic Zhang +[Thomas: don't add separate dlmisc.h, move dummy defs to global.h] +Signed-off-by: Thomas De Schampheleire + +diff --git a/include/global.h b/include/global.h +--- a/include/global.h ++++ b/include/global.h +@@ -97,6 +97,16 @@ extern struct snd_dlsym_link *snd_dlsym_ + /** \brief Returns the version of a dynamic symbol as a string. */ + #define SND_DLSYM_VERSION(version) __STRING(version) + ++/* RTLD_NOW and RTLD_GLOBAL (used for 'mode' in snd_dlopen) are not defined ++ * on all arches (e.g. blackfin), so provide a dummy definition here. */ ++#ifndef RTLD_NOW ++#define RTLD_NOW 0 ++#endif ++ ++#ifndef RTLD_GLOBAL ++#define RTLD_GLOBAL 0 ++#endif ++ + void *snd_dlopen(const char *file, int mode); + void *snd_dlsym(void *handle, const char *name, const char *version); + int snd_dlclose(void *handle); +diff --git a/modules/mixer/simple/sbasedl.c b/modules/mixer/simple/sbasedl.c +--- a/modules/mixer/simple/sbasedl.c ++++ b/modules/mixer/simple/sbasedl.c +@@ -27,7 +27,9 @@ + #include + #include + #include ++#ifdef HAVE_LIBDL + #include ++#endif + #include "config.h" + #include "asoundlib.h" + #include "mixer_abst.h" +diff --git a/src/mixer/simple_abst.c b/src/mixer/simple_abst.c +--- a/src/mixer/simple_abst.c ++++ b/src/mixer/simple_abst.c +@@ -34,7 +34,9 @@ + #include + #include + #include ++#ifdef HAVE_LIBDL + #include ++#endif + #include "config.h" + #include "asoundlib.h" + #include "mixer_simple.h" diff --git a/package/alsa-lib/0004-conditional-enabling-of-libdl-in-m4.patch b/package/alsa-lib/0004-conditional-enabling-of-libdl-in-m4.patch new file mode 100644 index 0000000000..c533419baa --- /dev/null +++ b/package/alsa-lib/0004-conditional-enabling-of-libdl-in-m4.patch @@ -0,0 +1,35 @@ +alsa-lib: conditionally enable libdl in AM_PATH_ALSA m4 macro + +The AM_PATH_ALSA macro in utils/alsa.m4 unconditionally uses -ldl. This +breaks compilation of alsa-utils (and probably other packages using this +macro) for targets that do not support dynamic loading, such as for +Blackfin FLAT binaries. + +This patch updates the macro to check if dlopen is available, and use that +result to conditionally add -ldl to the list of libraries. + +Signed-off-by: Thomas De Schampheleire + +--- + +diff --git a/utils/alsa.m4 b/utils/alsa.m4 +--- a/utils/alsa.m4 ++++ b/utils/alsa.m4 +@@ -44,6 +44,8 @@ if test "$alsa_inc_prefix" != "" ; then + fi + AC_MSG_RESULT($ALSA_CFLAGS) + ++AC_CHECK_LIB(c, dlopen, LIBDL="", [AC_CHECK_LIB(dl, dlopen, LIBDL="-ldl")]) ++ + dnl add any special lib dirs + AC_MSG_CHECKING(for ALSA LDFLAGS) + if test "$alsa_prefix" != "" ; then +@@ -52,7 +54,7 @@ if test "$alsa_prefix" != "" ; then + fi + + dnl add the alsa library +-ALSA_LIBS="$ALSA_LIBS -lasound -lm -ldl -lpthread" ++ALSA_LIBS="$ALSA_LIBS -lasound -lm $LIBDL -lpthread" + LIBS="$ALSA_LIBS $LIBS" + AC_MSG_RESULT($ALSA_LIBS) + diff --git a/package/alsa-lib/alsa-lib-0001-avr32-bad-inline.patch b/package/alsa-lib/alsa-lib-0001-avr32-bad-inline.patch deleted file mode 100644 index 568ba40a4e..0000000000 --- a/package/alsa-lib/alsa-lib-0001-avr32-bad-inline.patch +++ /dev/null @@ -1,91 +0,0 @@ -diff -urN alsa-lib-1.0.18-0rig//src/pcm/pcm_local.h alsa-lib-1.0.18/src/pcm/pcm_local.h ---- alsa-lib-1.0.18-0rig//src/pcm/pcm_local.h 2009-01-31 11:02:12.000000000 +0100 -+++ alsa-lib-1.0.18/src/pcm/pcm_local.h 2009-01-31 11:03:24.000000000 +0100 -@@ -611,6 +611,13 @@ - snd_pcm_hw_param_t var); - int _snd_pcm_hw_param_set(snd_pcm_hw_params_t *params, - snd_pcm_hw_param_t var, unsigned int val, int dir); -+ -+#if defined(AVR32_INLINE_BUG) -+int _snd_pcm_hw_params_set_format(snd_pcm_hw_params_t *params, -+ snd_pcm_format_t val); -+int _snd_pcm_hw_params_set_subformat(snd_pcm_hw_params_t *params, -+ snd_pcm_subformat_t val); -+#else - static inline int _snd_pcm_hw_params_set_format(snd_pcm_hw_params_t *params, - snd_pcm_format_t val) - { -@@ -624,7 +631,7 @@ - return _snd_pcm_hw_param_set(params, SND_PCM_HW_PARAM_SUBFORMAT, - (unsigned long) val, 0); - } -- -+#endif - int _snd_pcm_hw_param_set_min(snd_pcm_hw_params_t *params, - snd_pcm_hw_param_t var, unsigned int val, int dir); - int _snd_pcm_hw_param_set_max(snd_pcm_hw_params_t *params, -diff -urN alsa-lib-1.0.18-0rig//src/pcm/pcm_route.c alsa-lib-1.0.18/src/pcm/pcm_route.c ---- alsa-lib-1.0.18-0rig//src/pcm/pcm_route.c 2009-01-31 11:02:12.000000000 +0100 -+++ alsa-lib-1.0.18/src/pcm/pcm_route.c 2009-01-31 11:03:18.000000000 +0100 -@@ -26,6 +26,7 @@ - * - */ - -+ - #include - #include - #include "pcm_local.h" -@@ -106,6 +107,23 @@ - - #endif /* DOC_HIDDEN */ - -+ -+#if defined(AVR32_INLINE_BUG) -+int _snd_pcm_hw_params_set_format(snd_pcm_hw_params_t *params, -+ snd_pcm_format_t val) -+{ -+ return _snd_pcm_hw_param_set(params, SND_PCM_HW_PARAM_FORMAT, -+ (unsigned long) val, 0); -+} -+ -+int _snd_pcm_hw_params_set_subformat(snd_pcm_hw_params_t *params, -+ snd_pcm_subformat_t val) -+{ -+ return _snd_pcm_hw_param_set(params, SND_PCM_HW_PARAM_SUBFORMAT, -+ (unsigned long) val, 0); -+} -+#endif -+ - static void snd_pcm_route_convert1_zero(const snd_pcm_channel_area_t *dst_area, - snd_pcm_uframes_t dst_offset, - const snd_pcm_channel_area_t *src_areas ATTRIBUTE_UNUSED, -@@ -483,6 +501,8 @@ - snd_pcm_uframes_t frames, - snd_pcm_route_params_t *params) - { -+#if defined(AVR32_INLINE_BUG) -+#endif - unsigned int dst_channel; - snd_pcm_route_ttable_dst_t *dstp; - const snd_pcm_channel_area_t *dst_area; -@@ -551,8 +571,20 @@ - _snd_pcm_hw_param_set_mask(sparams, SND_PCM_HW_PARAM_ACCESS, - &saccess_mask); - if (route->sformat != SND_PCM_FORMAT_UNKNOWN) { -+#if defined(AVR32_INLINE_BUG) -+/* Start of of problem */ -+#endif - _snd_pcm_hw_params_set_format(sparams, route->sformat); - _snd_pcm_hw_params_set_subformat(sparams, SND_PCM_SUBFORMAT_STD); -+#if 0 -+ _snd_pcm_hw_param_set(sparams, SND_PCM_HW_PARAM_FORMAT, -+ (unsigned long) route->sformat, 0); -+ _snd_pcm_hw_param_set(sparams, SND_PCM_HW_PARAM_SUBFORMAT, -+ (unsigned long) SND_PCM_SUBFORMAT_STD, 0); -+#endif -+#if defined(AVR32_INLINE_BUG) -+/* End of problem */ -+#endif - } - if (route->schannels >= 0) { - _snd_pcm_hw_param_set(sparams, SND_PCM_HW_PARAM_CHANNELS, diff --git a/package/alsa-lib/alsa-lib-0002-no-mmu.patch b/package/alsa-lib/alsa-lib-0002-no-mmu.patch deleted file mode 100644 index 2ae0f67158..0000000000 --- a/package/alsa-lib/alsa-lib-0002-no-mmu.patch +++ /dev/null @@ -1,45 +0,0 @@ -Don't use fork() on noMMU platforms - -[Gustavo: update patch for 1.0.28] -Signed-off-by: Thomas Petazzoni - -Index: alsa-lib-1.0.26/configure.ac -=================================================================== ---- alsa-lib-1.0.26.orig/configure.ac 2012-09-06 10:55:14.000000000 +0200 -+++ alsa-lib-1.0.26/configure.ac 2013-03-09 16:22:08.000000000 +0100 -@@ -66,6 +66,8 @@ - AM_CONDITIONAL(ALSA_HSEARCH_R, [test "x$HAVE_HSEARCH_R" != xyes]) - AC_CHECK_FUNCS([uselocale]) - -+AC_CHECK_FUNC([fork]) -+ - SAVE_LIBRARY_VERSION - AC_SUBST(LIBTOOL_VERSION_INFO) - -Index: alsa-lib-1.0.26/src/pcm/pcm_direct.c -=================================================================== ---- alsa-lib-1.0.26.orig/src/pcm/pcm_direct.c 2012-09-06 10:55:14.000000000 +0200 -+++ alsa-lib-1.0.26/src/pcm/pcm_direct.c 2013-03-09 16:22:51.000000000 +0100 -@@ -424,13 +424,21 @@ - close(dmix->server_fd); - return ret; - } -- -+ -+#ifdef HAVE_FORK - ret = fork(); -+#else -+ ret = vfork(); -+#endif - if (ret < 0) { - close(dmix->server_fd); - return ret; - } else if (ret == 0) { -+#ifdef HAVE_FORK - ret = fork(); -+#else -+ ret = vfork(); -+#endif - if (ret == 0) - server_job(dmix); - _exit(EXIT_SUCCESS); diff --git a/package/alsa-lib/alsa-lib-0003-dlmisc.patch b/package/alsa-lib/alsa-lib-0003-dlmisc.patch deleted file mode 100644 index 05dc70ee7e..0000000000 --- a/package/alsa-lib/alsa-lib-0003-dlmisc.patch +++ /dev/null @@ -1,57 +0,0 @@ -alsa-lib: provide dummy definitions of RTLD_* if necessary - -The FLAT GNU toolchain (e.g. blackfin) doesn't include the dlfcn.h header -file, so we need to guard that include. Additionally, provide dummy -definitions for parameters RTLD_GLOBAL / RTLD_NOW which are normally -provided by dlfcn.h. - -Signed-off-by: Sonic Zhang -[Thomas: don't add separate dlmisc.h, move dummy defs to global.h] -Signed-off-by: Thomas De Schampheleire - -diff --git a/include/global.h b/include/global.h ---- a/include/global.h -+++ b/include/global.h -@@ -97,6 +97,16 @@ extern struct snd_dlsym_link *snd_dlsym_ - /** \brief Returns the version of a dynamic symbol as a string. */ - #define SND_DLSYM_VERSION(version) __STRING(version) - -+/* RTLD_NOW and RTLD_GLOBAL (used for 'mode' in snd_dlopen) are not defined -+ * on all arches (e.g. blackfin), so provide a dummy definition here. */ -+#ifndef RTLD_NOW -+#define RTLD_NOW 0 -+#endif -+ -+#ifndef RTLD_GLOBAL -+#define RTLD_GLOBAL 0 -+#endif -+ - void *snd_dlopen(const char *file, int mode); - void *snd_dlsym(void *handle, const char *name, const char *version); - int snd_dlclose(void *handle); -diff --git a/modules/mixer/simple/sbasedl.c b/modules/mixer/simple/sbasedl.c ---- a/modules/mixer/simple/sbasedl.c -+++ b/modules/mixer/simple/sbasedl.c -@@ -27,7 +27,9 @@ - #include - #include - #include -+#ifdef HAVE_LIBDL - #include -+#endif - #include "config.h" - #include "asoundlib.h" - #include "mixer_abst.h" -diff --git a/src/mixer/simple_abst.c b/src/mixer/simple_abst.c ---- a/src/mixer/simple_abst.c -+++ b/src/mixer/simple_abst.c -@@ -34,7 +34,9 @@ - #include - #include - #include -+#ifdef HAVE_LIBDL - #include -+#endif - #include "config.h" - #include "asoundlib.h" - #include "mixer_simple.h" diff --git a/package/alsa-lib/alsa-lib-0004-conditional-enabling-of-libdl-in-m4.patch b/package/alsa-lib/alsa-lib-0004-conditional-enabling-of-libdl-in-m4.patch deleted file mode 100644 index c533419baa..0000000000 --- a/package/alsa-lib/alsa-lib-0004-conditional-enabling-of-libdl-in-m4.patch +++ /dev/null @@ -1,35 +0,0 @@ -alsa-lib: conditionally enable libdl in AM_PATH_ALSA m4 macro - -The AM_PATH_ALSA macro in utils/alsa.m4 unconditionally uses -ldl. This -breaks compilation of alsa-utils (and probably other packages using this -macro) for targets that do not support dynamic loading, such as for -Blackfin FLAT binaries. - -This patch updates the macro to check if dlopen is available, and use that -result to conditionally add -ldl to the list of libraries. - -Signed-off-by: Thomas De Schampheleire - ---- - -diff --git a/utils/alsa.m4 b/utils/alsa.m4 ---- a/utils/alsa.m4 -+++ b/utils/alsa.m4 -@@ -44,6 +44,8 @@ if test "$alsa_inc_prefix" != "" ; then - fi - AC_MSG_RESULT($ALSA_CFLAGS) - -+AC_CHECK_LIB(c, dlopen, LIBDL="", [AC_CHECK_LIB(dl, dlopen, LIBDL="-ldl")]) -+ - dnl add any special lib dirs - AC_MSG_CHECKING(for ALSA LDFLAGS) - if test "$alsa_prefix" != "" ; then -@@ -52,7 +54,7 @@ if test "$alsa_prefix" != "" ; then - fi - - dnl add the alsa library --ALSA_LIBS="$ALSA_LIBS -lasound -lm -ldl -lpthread" -+ALSA_LIBS="$ALSA_LIBS -lasound -lm $LIBDL -lpthread" - LIBS="$ALSA_LIBS $LIBS" - AC_MSG_RESULT($ALSA_LIBS) - diff --git a/package/alsamixergui/0001-misc-fixes.patch b/package/alsamixergui/0001-misc-fixes.patch new file mode 100644 index 0000000000..6b498dadf9 --- /dev/null +++ b/package/alsamixergui/0001-misc-fixes.patch @@ -0,0 +1,40 @@ +--- a/configure.in ++++ b/configure.in +@@ -11,7 +11,10 @@ + AC_PROG_LN_S + + dnl Checks for libraries. +-AC_CHECK_LIB(fltk,numericsort,,AC_MSG_ERROR("missing fltk")) ++AC_CHECK_LIB(fltk,numericsort,, ++AC_CHECK_LIB(fltk,fl_numericsort,, ++AC_MSG_ERROR("missing fltk")) ++) + AM_PATH_ALSA(0.9.0) + + dnl Checks for header files. +--- a/src/alsamixer.cxx 2007-10-21 12:39:11.000000000 -0400 ++++ b/src/alsamixer.cxx 2007-10-21 12:49:10.000000000 -0400 +@@ -2081,8 +2081,8 @@ static void + mixer_signal_handler (int signal) + { + if (signal != SIGSEGV) +- mixer_abort (ERR_SIGNAL, sys_siglist[signal], 0); +- else ++ // mixer_abort (ERR_SIGNAL, sys_siglist[signal], 0); ++ //else + { + fprintf (stderr, "\nSegmentation fault.\n"); + _exit (11); +--- a/src/alsamixer.cxx 2006-01-16 12:41:54.000000000 -0600 ++++ b/src/alsamixer.cxx 2006-01-16 12:45:44.000000000 -0600 +@@ -653,8 +653,8 @@ + if (vleft >= 0 && vright >= 0) { + if (joined) { + #ifdef ALSAMIXER_GUI +- for (chn = snd_mixer_selem_channel_id_t(0); chn < SND_MIXER_SCHN_LAST; +- snd_mixer_selem_channel_id_t(int(chn)++)) ++ for (chn = snd_mixer_selem_channel_id_t(0); chn < SND_MIXER_SCHN_LAST; ++ snd_mixer_selem_channel_id_t(int(chn)+1)) + #else + for (chn = 0; chn < SND_MIXER_SCHN_LAST; chn++) + #endif diff --git a/package/alsamixergui/alsamixergui_0.9.0rc2-1-7.patch b/package/alsamixergui/alsamixergui_0.9.0rc2-1-7.patch deleted file mode 100644 index 6b498dadf9..0000000000 --- a/package/alsamixergui/alsamixergui_0.9.0rc2-1-7.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- a/configure.in -+++ b/configure.in -@@ -11,7 +11,10 @@ - AC_PROG_LN_S - - dnl Checks for libraries. --AC_CHECK_LIB(fltk,numericsort,,AC_MSG_ERROR("missing fltk")) -+AC_CHECK_LIB(fltk,numericsort,, -+AC_CHECK_LIB(fltk,fl_numericsort,, -+AC_MSG_ERROR("missing fltk")) -+) - AM_PATH_ALSA(0.9.0) - - dnl Checks for header files. ---- a/src/alsamixer.cxx 2007-10-21 12:39:11.000000000 -0400 -+++ b/src/alsamixer.cxx 2007-10-21 12:49:10.000000000 -0400 -@@ -2081,8 +2081,8 @@ static void - mixer_signal_handler (int signal) - { - if (signal != SIGSEGV) -- mixer_abort (ERR_SIGNAL, sys_siglist[signal], 0); -- else -+ // mixer_abort (ERR_SIGNAL, sys_siglist[signal], 0); -+ //else - { - fprintf (stderr, "\nSegmentation fault.\n"); - _exit (11); ---- a/src/alsamixer.cxx 2006-01-16 12:41:54.000000000 -0600 -+++ b/src/alsamixer.cxx 2006-01-16 12:45:44.000000000 -0600 -@@ -653,8 +653,8 @@ - if (vleft >= 0 && vright >= 0) { - if (joined) { - #ifdef ALSAMIXER_GUI -- for (chn = snd_mixer_selem_channel_id_t(0); chn < SND_MIXER_SCHN_LAST; -- snd_mixer_selem_channel_id_t(int(chn)++)) -+ for (chn = snd_mixer_selem_channel_id_t(0); chn < SND_MIXER_SCHN_LAST; -+ snd_mixer_selem_channel_id_t(int(chn)+1)) - #else - for (chn = 0; chn < SND_MIXER_SCHN_LAST; chn++) - #endif diff --git a/package/am33x-cm3/0001-fix-makefile.patch b/package/am33x-cm3/0001-fix-makefile.patch new file mode 100644 index 0000000000..f3cdb5e2b9 --- /dev/null +++ b/package/am33x-cm3/0001-fix-makefile.patch @@ -0,0 +1,30 @@ +Enforce correct -march option + +Buildroot uses a normal ARM compiler to build the AM33X CM3 firmware +(which runs on a Cortex-M3 processor), but Buildroot will have a +default -march value that doesn't necessarily match the one needed for +Cortex-M3, leading to build failures (gcc complains that the +-mcpu=cortex-m3 option being passed is not compatible with the +selected -march). + +Fix this by explicitly indicating -march=armv7-m. + +Signed-off-by: Thomas Petazzoni + +Updated the patch to the latest version of the Makefile + +Signed-off-by: Anders Darander + +Index: b/Makefile +=================================================================== +--- a/Makefile ++++ b/Makefile +@@ -13,7 +13,7 @@ SRCDIR = src + BINDIR = bin + + INCLUDES = $(SRCDIR)/include +-CFLAGS =-mcpu=cortex-m3 -mthumb -nostdlib -Wall -Wundef \ ++CFLAGS =-march=armv7-m -mcpu=cortex-m3 -mthumb -nostdlib -Wall -Wundef \ + -Werror-implicit-function-declaration -Wstrict-prototypes \ + -Wdeclaration-after-statement -fno-delete-null-pointer-checks \ + -Wempty-body -fno-strict-overflow -g -I$(INCLUDES) -O2 diff --git a/package/am33x-cm3/am33x-cm3-0001-fix-makefile.patch b/package/am33x-cm3/am33x-cm3-0001-fix-makefile.patch deleted file mode 100644 index f3cdb5e2b9..0000000000 --- a/package/am33x-cm3/am33x-cm3-0001-fix-makefile.patch +++ /dev/null @@ -1,30 +0,0 @@ -Enforce correct -march option - -Buildroot uses a normal ARM compiler to build the AM33X CM3 firmware -(which runs on a Cortex-M3 processor), but Buildroot will have a -default -march value that doesn't necessarily match the one needed for -Cortex-M3, leading to build failures (gcc complains that the --mcpu=cortex-m3 option being passed is not compatible with the -selected -march). - -Fix this by explicitly indicating -march=armv7-m. - -Signed-off-by: Thomas Petazzoni - -Updated the patch to the latest version of the Makefile - -Signed-off-by: Anders Darander - -Index: b/Makefile -=================================================================== ---- a/Makefile -+++ b/Makefile -@@ -13,7 +13,7 @@ SRCDIR = src - BINDIR = bin - - INCLUDES = $(SRCDIR)/include --CFLAGS =-mcpu=cortex-m3 -mthumb -nostdlib -Wall -Wundef \ -+CFLAGS =-march=armv7-m -mcpu=cortex-m3 -mthumb -nostdlib -Wall -Wundef \ - -Werror-implicit-function-declaration -Wstrict-prototypes \ - -Wdeclaration-after-statement -fno-delete-null-pointer-checks \ - -Wempty-body -fno-strict-overflow -g -I$(INCLUDES) -O2 diff --git a/package/apr-util/0001-remove-checkapr.patch b/package/apr-util/0001-remove-checkapr.patch new file mode 100644 index 0000000000..42ad12fcbe --- /dev/null +++ b/package/apr-util/0001-remove-checkapr.patch @@ -0,0 +1,21 @@ +remove check apr + +this patch removes the check of apr which fails the build + +Signed-off-by: Rico Bachmann +--- +v1: disable the check for APU_FIND_APR because the check only looks into folders +named apr, and our source-tree is called apr-versionnumber (e.g. apr-1.4.6) + +diff -rupN apr-util-1.4.1/configure.in apr-util-1.4.1-fix/configure.in +--- apr-util-1.4.1/configure.in 2009-12-17 20:15:19.000000000 +0100 ++++ apr-util-1.4.1-fix/configure.in 2012-04-24 10:10:32.000000000 +0200 +@@ -99,7 +99,7 @@ fi + dnl + dnl Find the APR includes directory and (possibly) the source (base) dir. + dnl +-APU_FIND_APR ++dnl APU_FIND_APR + + dnl + dnl even though we use apr_rules.mk for building apr-util, we need diff --git a/package/apr-util/apr-util-01-remove-checkapr.patch b/package/apr-util/apr-util-01-remove-checkapr.patch deleted file mode 100644 index 42ad12fcbe..0000000000 --- a/package/apr-util/apr-util-01-remove-checkapr.patch +++ /dev/null @@ -1,21 +0,0 @@ -remove check apr - -this patch removes the check of apr which fails the build - -Signed-off-by: Rico Bachmann ---- -v1: disable the check for APU_FIND_APR because the check only looks into folders -named apr, and our source-tree is called apr-versionnumber (e.g. apr-1.4.6) - -diff -rupN apr-util-1.4.1/configure.in apr-util-1.4.1-fix/configure.in ---- apr-util-1.4.1/configure.in 2009-12-17 20:15:19.000000000 +0100 -+++ apr-util-1.4.1-fix/configure.in 2012-04-24 10:10:32.000000000 +0200 -@@ -99,7 +99,7 @@ fi - dnl - dnl Find the APR includes directory and (possibly) the source (base) dir. - dnl --APU_FIND_APR -+dnl APU_FIND_APR - - dnl - dnl even though we use apr_rules.mk for building apr-util, we need diff --git a/package/argp-standalone/0001-throw-in-funcdef.patch b/package/argp-standalone/0001-throw-in-funcdef.patch new file mode 100644 index 0000000000..4a90751e1e --- /dev/null +++ b/package/argp-standalone/0001-throw-in-funcdef.patch @@ -0,0 +1,79 @@ +# --- T2-COPYRIGHT-NOTE-BEGIN --- +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# +# T2 SDE: package/.../rng-tools/throw-in-funcdef.patch.argp-standalone +# Copyright (C) 2006 The T2 SDE Project +# +# More information can be found in the files COPYING and README. +# +# This patch file is dual-licensed. It is available under the license the +# patched project is licensed under, as long as it is an OpenSource license +# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms +# of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# --- T2-COPYRIGHT-NOTE-END --- + + +No __THROW in function implementation. + --jsaw + +--- argp-standalone-1.4-test2/argp.h.orig 2006-01-06 02:29:59.000000000 +0100 ++++ argp-standalone-1.4-test2/argp.h 2006-01-06 02:41:10.000000000 +0100 +@@ -560,17 +560,17 @@ + # endif + + # ifndef ARGP_EI +-# define ARGP_EI extern __inline__ ++# define ARGP_EI extern inline + # endif + + ARGP_EI void +-__argp_usage (__const struct argp_state *__state) __THROW ++__argp_usage (__const struct argp_state *__state) + { + __argp_state_help (__state, stderr, ARGP_HELP_STD_USAGE); + } + + ARGP_EI int +-__option_is_short (__const struct argp_option *__opt) __THROW ++__option_is_short (__const struct argp_option *__opt) + { + if (__opt->flags & OPTION_DOC) + return 0; +@@ -582,7 +582,7 @@ + } + + ARGP_EI int +-__option_is_end (__const struct argp_option *__opt) __THROW ++__option_is_end (__const struct argp_option *__opt) + { + return !__opt->key && !__opt->name && !__opt->doc && !__opt->group; + } +--- argp-standalone-1.4-test2/argp-parse.c.orig 2006-01-06 02:47:48.000000000 +0100 ++++ argp-standalone-1.4-test2/argp-parse.c 2006-01-06 02:48:16.000000000 +0100 +@@ -1290,13 +1290,13 @@ + /* Defined here, in case a user is not inlining the definitions in + * argp.h */ + void +-__argp_usage (__const struct argp_state *__state) __THROW ++__argp_usage (__const struct argp_state *__state) + { + __argp_state_help (__state, stderr, ARGP_HELP_STD_USAGE); + } + + int +-__option_is_short (__const struct argp_option *__opt) __THROW ++__option_is_short (__const struct argp_option *__opt) + { + if (__opt->flags & OPTION_DOC) + return 0; +@@ -1310,7 +1310,7 @@ + } + + int +-__option_is_end (__const struct argp_option *__opt) __THROW ++__option_is_end (__const struct argp_option *__opt) + { + return !__opt->key && !__opt->name && !__opt->doc && !__opt->group; + } diff --git a/package/argp-standalone/argp-standalone-throw-in-funcdef.patch b/package/argp-standalone/argp-standalone-throw-in-funcdef.patch deleted file mode 100644 index 4a90751e1e..0000000000 --- a/package/argp-standalone/argp-standalone-throw-in-funcdef.patch +++ /dev/null @@ -1,79 +0,0 @@ -# --- T2-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# T2 SDE: package/.../rng-tools/throw-in-funcdef.patch.argp-standalone -# Copyright (C) 2006 The T2 SDE Project -# -# More information can be found in the files COPYING and README. -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# --- T2-COPYRIGHT-NOTE-END --- - - -No __THROW in function implementation. - --jsaw - ---- argp-standalone-1.4-test2/argp.h.orig 2006-01-06 02:29:59.000000000 +0100 -+++ argp-standalone-1.4-test2/argp.h 2006-01-06 02:41:10.000000000 +0100 -@@ -560,17 +560,17 @@ - # endif - - # ifndef ARGP_EI --# define ARGP_EI extern __inline__ -+# define ARGP_EI extern inline - # endif - - ARGP_EI void --__argp_usage (__const struct argp_state *__state) __THROW -+__argp_usage (__const struct argp_state *__state) - { - __argp_state_help (__state, stderr, ARGP_HELP_STD_USAGE); - } - - ARGP_EI int --__option_is_short (__const struct argp_option *__opt) __THROW -+__option_is_short (__const struct argp_option *__opt) - { - if (__opt->flags & OPTION_DOC) - return 0; -@@ -582,7 +582,7 @@ - } - - ARGP_EI int --__option_is_end (__const struct argp_option *__opt) __THROW -+__option_is_end (__const struct argp_option *__opt) - { - return !__opt->key && !__opt->name && !__opt->doc && !__opt->group; - } ---- argp-standalone-1.4-test2/argp-parse.c.orig 2006-01-06 02:47:48.000000000 +0100 -+++ argp-standalone-1.4-test2/argp-parse.c 2006-01-06 02:48:16.000000000 +0100 -@@ -1290,13 +1290,13 @@ - /* Defined here, in case a user is not inlining the definitions in - * argp.h */ - void --__argp_usage (__const struct argp_state *__state) __THROW -+__argp_usage (__const struct argp_state *__state) - { - __argp_state_help (__state, stderr, ARGP_HELP_STD_USAGE); - } - - int --__option_is_short (__const struct argp_option *__opt) __THROW -+__option_is_short (__const struct argp_option *__opt) - { - if (__opt->flags & OPTION_DOC) - return 0; -@@ -1310,7 +1310,7 @@ - } - - int --__option_is_end (__const struct argp_option *__opt) __THROW -+__option_is_end (__const struct argp_option *__opt) - { - return !__opt->key && !__opt->name && !__opt->doc && !__opt->group; - } diff --git a/package/at/0001-configure.ac-remove-manual-compiler-check-with-AC_TR.patch b/package/at/0001-configure.ac-remove-manual-compiler-check-with-AC_TR.patch new file mode 100644 index 0000000000..9e69922945 --- /dev/null +++ b/package/at/0001-configure.ac-remove-manual-compiler-check-with-AC_TR.patch @@ -0,0 +1,33 @@ +From a182f18fa3b9fb3dd817b601b51c758f9a77f407 Mon Sep 17 00:00:00 2001 +From: Marc Kleine-Budde +Date: Tue, 1 Dec 2009 17:08:14 +0100 +Subject: [PATCH 1/5] configure.ac: remove manual compiler check with AC_TRY_RUN + +AC_TRY_RUN breaks cross compilation, so remove it. autotools will take +care about a working (cross-) compiler. + +Signed-off-by: Marc Kleine-Budde +--- + configure.ac | 6 ------ + 1 files changed, 0 insertions(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index a8c2a14..997a37f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -38,12 +38,6 @@ case "$host" in + AC_MSG_RESULT(no) + ;; + esac +-AC_MSG_CHECKING(Trying to compile a trivial ANSI C program) +-AC_TRY_RUN([ main(int ac, char **av) { return 0; } ], +- AC_MSG_RESULT(yes), +- AC_MSG_RESULT(no) +- AC_MSG_ERROR(Could not compile and run even a trivial ANSI C program - check CC.), +- AC_MSG_ERROR(Could not compile and run even a trivial ANSI C program - check CC.)) + + AC_MSG_CHECKING(__attribute__((noreturn))) + AC_TRY_COMPILE([], [void __attribute__((noreturn)) panic(void);], +-- +1.6.5.3 + diff --git a/package/at/0002-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch b/package/at/0002-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch new file mode 100644 index 0000000000..e4276ac208 --- /dev/null +++ b/package/at/0002-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch @@ -0,0 +1,34 @@ +From e12c96cccab550eda31cf7bb1dedddd3670ffe69 Mon Sep 17 00:00:00 2001 +From: Marc Kleine-Budde +Date: Tue, 1 Dec 2009 17:22:22 +0100 +Subject: [PATCH 2/5] configure.ac: convert AC_TRY_COMPILE -> AC_COMPILE_IFELSE + +Signed-off-by: Marc Kleine-Budde +--- + configure.ac | 10 +++++----- + 1 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 997a37f..cab80ed 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -40,11 +40,11 @@ case "$host" in + esac + + AC_MSG_CHECKING(__attribute__((noreturn))) +-AC_TRY_COMPILE([], [void __attribute__((noreturn)) panic(void);], +- AC_MSG_RESULT(yes) +- AC_DEFINE(HAVE_ATTRIBUTE_NORETURN, 1, +- [Define to 1 if compiler supports __attribute__((noreturn))]), +- AC_MSG_RESULT(no) ++AC_COMPILE_IFELSE( ++ [AC_LANG_PROGRAM([[]], [[void __attribute__((noreturn)) panic(void);]])], ++ [AC_MSG_RESULT(yes) ++ AC_DEFINE(HAVE_ATTRIBUTE_NORETURN, 1, Define to 1 if compiler supports __attribute__((noreturn)))], ++ [AC_MSG_RESULT(no)] + ) + dnl Checks for libraries. + +-- +1.6.5.3 + diff --git a/package/at/0003-Makefile.in-add-LDFLAGS-to-linking-stage.patch b/package/at/0003-Makefile.in-add-LDFLAGS-to-linking-stage.patch new file mode 100644 index 0000000000..e1ab3d3766 --- /dev/null +++ b/package/at/0003-Makefile.in-add-LDFLAGS-to-linking-stage.patch @@ -0,0 +1,38 @@ +From 8720a71757f3626bf3bbc3a7aa2185e6387e5689 Mon Sep 17 00:00:00 2001 +From: Marc Kleine-Budde +Date: Tue, 1 Dec 2009 20:37:31 +0100 +Subject: [PATCH 3/5] Makefile.in: add LDFLAGS to linking stage + +The linking stage ignores the LDFLAGS, this breaks if the flex library +lives in a non standard location. + +This patch add LDFLAGS to both "at" and "atd" linking stage. + +Signed-off-by: Marc Kleine-Budde +--- + Makefile.in | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index dae6b7d..b766bbb 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -65,13 +65,13 @@ LIST = Filelist Filelist.asc + all: at atd atrun + + at: $(ATOBJECTS) +- $(CC) $(CFLAGS) -o at $(ATOBJECTS) $(LIBS) $(LEXLIB) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o at $(ATOBJECTS) $(LIBS) $(LEXLIB) + rm -f $(CLONES) + $(LN_S) -f at atq + $(LN_S) -f at atrm + + atd: $(RUNOBJECTS) +- $(CC) $(CFLAGS) -o atd $(RUNOBJECTS) $(LIBS) $(PAMLIB) ++ $(CC) $(CFLAGS) $(LDFLAGS) -o atd $(RUNOBJECTS) $(LIBS) $(PAMLIB) + + y.tab.c y.tab.h: parsetime.y + $(YACC) -d parsetime.y +-- +1.6.5.3 + diff --git a/package/at/0004-Makefile.in-replace-IROOT-by-DESTDIR.patch b/package/at/0004-Makefile.in-replace-IROOT-by-DESTDIR.patch new file mode 100644 index 0000000000..0d1d5f6e3e --- /dev/null +++ b/package/at/0004-Makefile.in-replace-IROOT-by-DESTDIR.patch @@ -0,0 +1,97 @@ +From 195d30e2e01fe2f91ed3bdaeec3982aa66b309dd Mon Sep 17 00:00:00 2001 +From: Marc Kleine-Budde +Date: Tue, 1 Dec 2009 20:57:45 +0100 +Subject: [PATCH 5/5] Makefile.in: replace IROOT by DESTDIR + +This patch replaces IROOT by DESTDIR, which is the autotools standard +variable. For backwards compatibilty IROOT overwrites the DESTDIR. + +Signed-off-by: Marc Kleine-Budde +--- + Makefile.in | 64 +++++++++++++++++++++++++++++++----------------------------- + 1 file changed, 34 insertions(+), 30 deletions(-) + +Index: at-3.1.13/Makefile.in +=================================================================== +--- at-3.1.13.orig/Makefile.in ++++ at-3.1.13/Makefile.in +@@ -16,6 +16,10 @@ docdir = $(prefix)/doc + atdocdir = $(docdir)/at + etcdir = @ETCDIR@ + ++ifdef IROOT ++DESTDIR = $(IROOT) ++endif ++ + DAEMON_USERNAME = @DAEMON_USERNAME@ + DAEMON_GROUPNAME= @DAEMON_GROUPNAME@ + LOADAVG_MX = @LOADAVG_MX@ +@@ -86,38 +90,38 @@ atrun: atrun.in + $(CC) -c $(CFLAGS) $(DEFS) $*.c + + install: all +- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(etcdir) +- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(bindir) +- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(sbindir) +- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(docdir) +- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(atdocdir) +- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d $(IROOT)$(ATSPOOL_DIR) $(IROOT)$(ATJOB_DIR) +- chmod 1770 $(IROOT)$(ATSPOOL_DIR) $(IROOT)$(ATJOB_DIR) +- touch $(IROOT)$(LFILE) +- chmod 600 $(IROOT)$(LFILE) +- chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(IROOT)$(LFILE) +- test -f $(IROOT)$(etcdir)/at.allow || test -f $(IROOT)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(IROOT)$(etcdir)/ +- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 at $(IROOT)$(bindir) +- $(LN_S) -f at $(IROOT)$(bindir)/atq +- $(LN_S) -f at $(IROOT)$(bindir)/atrm +- $(INSTALL) -g root -o root -m 755 batch $(IROOT)$(bindir) +- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man1dir) +- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man5dir) +- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man8dir) +- $(INSTALL) -g root -o root -m 755 atd $(IROOT)$(sbindir) +- $(INSTALL) -g root -o root -m 755 atrun $(IROOT)$(sbindir) +- $(INSTALL) -g root -o root -m 644 at.1 $(IROOT)$(man1dir)/ +- cd $(IROOT)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1 batch.1 && $(LN_S) -f at.1 atrm.1 +- $(INSTALL) -g root -o root -m 644 atd.8 $(IROOT)$(man8dir)/ ++ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(etcdir) ++ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(bindir) ++ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(sbindir) ++ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(docdir) ++ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(atdocdir) ++ $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR) ++ chmod 1770 $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR) ++ touch $(DESTDIR)$(LFILE) ++ chmod 600 $(DESTDIR)$(LFILE) ++ chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(DESTDIR)$(LFILE) ++ test -f $(DESTDIR)$(etcdir)/at.allow || test -f $(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(DESTDIR$ ++ $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 -s at $(DESTDIR)$(bindir) ++ $(LN_S) -f at $(DESTDIR)$(bindir)/atq ++ $(LN_S) -f at $(DESTDIR)$(bindir)/atrm ++ $(INSTALL) -g root -o root -m 755 batch $(DESTDIR)$(bindir) ++ $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man1dir) ++ $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man5dir) ++ $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man8dir) ++ $(INSTALL) -g root -o root -m 755 -s atd $(DESTDIR)$(sbindir) ++ $(INSTALL) -g root -o root -m 755 atrun $(DESTDIR)$(sbindir) ++ $(INSTALL) -g root -o root -m 644 at.1 $(DESTDIR)$(man1dir)/ ++ cd $(DESTDIR)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1 batch.1 && $(LN_S) -f at.1 atrm.1 ++ $(INSTALL) -g root -o root -m 644 atd.8 $(DESTDIR)$(man8dir)/ + sed "s,\$${exec_prefix},$(exec_prefix),g" tmpman +- $(INSTALL) -g root -o root -m 644 tmpman $(IROOT)$(man8dir)/atrun.8 ++ $(INSTALL) -g root -o root -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8 + rm -f tmpman +- $(INSTALL) -g root -o root -m 644 at.allow.5 $(IROOT)$(man5dir)/ +- cd $(IROOT)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5 +- $(INSTALL) -g root -o root -m 644 $(DOCS) $(IROOT)$(atdocdir) +- rm -f $(IROOT)$(mandir)/cat1/at.1* $(IROOT)$(mandir)/cat1/batch.1* \ +- $(IROOT)$(mandir)/cat1/atq.1* +- rm -f $(IROOT)$(mandir)/cat1/atd.8* ++ $(INSTALL) -g root -o root -m 644 at.allow.5 $(DESTDIR)$(man5dir)/ ++ cd $(DESTDIR)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5 ++ $(INSTALL) -g root -o root -m 644 $(DOCS) $(DESTDIR)$(atdocdir) ++ rm -f $(DESTDIR)$(mandir)/cat1/at.1* $(DESTDIR)$(mandir)/cat1/batch.1* \ ++ $(DESTDIR)$(mandir)/cat1/atq.1* ++ rm -f $(DESTDIR)$(mandir)/cat1/atd.8* + + dist: checkin $(DIST) $(LIST) Filelist.asc + (cd ..; tar cf - `for a in $(DIST) $(LIST); do echo at-$(VERSION)/$$a; done` |\ diff --git a/package/at/0005-Makefile.in-make-install-fix.patch b/package/at/0005-Makefile.in-make-install-fix.patch new file mode 100644 index 0000000000..ad843449a2 --- /dev/null +++ b/package/at/0005-Makefile.in-make-install-fix.patch @@ -0,0 +1,69 @@ +[PATCH]: Makefile.in: fix make install for non-root, don't strip + +Buildroot will ensure all files are owned by root and stripped anyway +(if needed) before the rootfs is created. + +Signed-off-by: Peter Korsgaard +--- + Makefile.in | 39 +++++++++++++++++++-------------------- + 1 file changed, 19 insertions(+), 20 deletions(-) + +Index: at-3.1.13/Makefile.in +=================================================================== +--- at-3.1.13.orig/Makefile.in ++++ at-3.1.13/Makefile.in +@@ -90,35 +90,34 @@ atrun: atrun.in + $(CC) -c $(CFLAGS) $(DEFS) $*.c + + install: all +- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(etcdir) +- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(bindir) +- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(sbindir) +- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(docdir) +- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(atdocdir) +- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR) ++ $(INSTALL) -m 755 -d $(DESTDIR)$(etcdir) ++ $(INSTALL) -m 755 -d $(DESTDIR)$(bindir) ++ $(INSTALL) -m 755 -d $(DESTDIR)$(sbindir) ++ $(INSTALL) -m 755 -d $(DESTDIR)$(docdir) ++ $(INSTALL) -m 755 -d $(DESTDIR)$(atdocdir) ++ $(INSTALL) -m 755 -d $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR) + chmod 1770 $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR) + touch $(DESTDIR)$(LFILE) + chmod 600 $(DESTDIR)$(LFILE) +- chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(DESTDIR)$(LFILE) +- test -f $(DESTDIR)$(etcdir)/at.allow || test -f $(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(DESTDIR$ +- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 -s at $(DESTDIR)$(bindir) ++ test -f $(DESTDIR)$(etcdir)/at.allow || test -f $(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -m 640 at.deny $(DESTDIR)$(etcdir)/ ++ $(INSTALL) -m 6755 at $(DESTDIR)$(bindir) + $(LN_S) -f at $(DESTDIR)$(bindir)/atq + $(LN_S) -f at $(DESTDIR)$(bindir)/atrm +- $(INSTALL) -g root -o root -m 755 batch $(DESTDIR)$(bindir) +- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man1dir) +- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man5dir) +- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man8dir) +- $(INSTALL) -g root -o root -m 755 -s atd $(DESTDIR)$(sbindir) +- $(INSTALL) -g root -o root -m 755 atrun $(DESTDIR)$(sbindir) +- $(INSTALL) -g root -o root -m 644 at.1 $(DESTDIR)$(man1dir)/ ++ $(INSTALL) -m 755 batch $(DESTDIR)$(bindir) ++ $(INSTALL) -d -m 755 $(DESTDIR)$(man1dir) ++ $(INSTALL) -d -m 755 $(DESTDIR)$(man5dir) ++ $(INSTALL) -d -m 755 $(DESTDIR)$(man8dir) ++ $(INSTALL) -m 755 atd $(DESTDIR)$(sbindir) ++ $(INSTALL) -m 755 atrun $(DESTDIR)$(sbindir) ++ $(INSTALL) -m 644 at.1 $(DESTDIR)$(man1dir)/ + cd $(DESTDIR)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1 batch.1 && $(LN_S) -f at.1 atrm.1 +- $(INSTALL) -g root -o root -m 644 atd.8 $(DESTDIR)$(man8dir)/ ++ $(INSTALL) -m 644 atd.8 $(DESTDIR)$(man8dir)/ + sed "s,\$${exec_prefix},$(exec_prefix),g" tmpman +- $(INSTALL) -g root -o root -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8 ++ $(INSTALL) -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8 + rm -f tmpman +- $(INSTALL) -g root -o root -m 644 at.allow.5 $(DESTDIR)$(man5dir)/ ++ $(INSTALL) -m 644 at.allow.5 $(DESTDIR)$(man5dir)/ + cd $(DESTDIR)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5 +- $(INSTALL) -g root -o root -m 644 $(DOCS) $(DESTDIR)$(atdocdir) ++ $(INSTALL) -m 644 $(DOCS) $(DESTDIR)$(atdocdir) + rm -f $(DESTDIR)$(mandir)/cat1/at.1* $(DESTDIR)$(mandir)/cat1/batch.1* \ + $(DESTDIR)$(mandir)/cat1/atq.1* + rm -f $(DESTDIR)$(mandir)/cat1/atd.8* diff --git a/package/at/0006-getloadavg.c-fix.patch b/package/at/0006-getloadavg.c-fix.patch new file mode 100644 index 0000000000..e0739271ef --- /dev/null +++ b/package/at/0006-getloadavg.c-fix.patch @@ -0,0 +1,30 @@ +[PATCH]: fix getloadavg.c compilation, revert to 3.1.10 version + +getloadavg.c shipped with 3.1.13 doesn't compile because it references +headers not shipped. Fix it by simply reverting to the 3.1.10 version. + +Signed-off-by: Peter Korsgaard +--- + getloadavg.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +Index: at-3.1.13/getloadavg.c +=================================================================== +--- at-3.1.13.orig/getloadavg.c ++++ at-3.1.13/getloadavg.c +@@ -66,11 +66,12 @@ Boston, MA 02110-1301 USA */ + + /* This should always be first. */ + #ifdef HAVE_CONFIG_H +-#include ++#include "config.h" + #endif + +-#include "lisp.h" +-#include "sysfile.h" /* for encapsulated open, close, read, write */ ++#include ++#include ++#include + + #ifndef HAVE_GETLOADAVG + diff --git a/package/at/0007-parsetime.l-include-config-h.patch b/package/at/0007-parsetime.l-include-config-h.patch new file mode 100644 index 0000000000..f4111ebf67 --- /dev/null +++ b/package/at/0007-parsetime.l-include-config-h.patch @@ -0,0 +1,16 @@ +Make sure to include config.h so that NEEDS_* macros are properly +taken into account. This was a problem for NEEDS_YYWRAP, which was set +to 1 in config.h, but the corresponding code wasn't compiled in. + +Index: at-3.1.13/parsetime.l +=================================================================== +--- at-3.1.13.orig/parsetime.l ++++ at-3.1.13/parsetime.l +@@ -4,6 +4,7 @@ + #include + #include "y.tab.h" + #include "parsetime.h" ++#include "config.h" + + char *last_token = NULL; + char **my_argv; diff --git a/package/at/at-0001-configure.ac-remove-manual-compiler-check-with-AC_TR.patch b/package/at/at-0001-configure.ac-remove-manual-compiler-check-with-AC_TR.patch deleted file mode 100644 index 9e69922945..0000000000 --- a/package/at/at-0001-configure.ac-remove-manual-compiler-check-with-AC_TR.patch +++ /dev/null @@ -1,33 +0,0 @@ -From a182f18fa3b9fb3dd817b601b51c758f9a77f407 Mon Sep 17 00:00:00 2001 -From: Marc Kleine-Budde -Date: Tue, 1 Dec 2009 17:08:14 +0100 -Subject: [PATCH 1/5] configure.ac: remove manual compiler check with AC_TRY_RUN - -AC_TRY_RUN breaks cross compilation, so remove it. autotools will take -care about a working (cross-) compiler. - -Signed-off-by: Marc Kleine-Budde ---- - configure.ac | 6 ------ - 1 files changed, 0 insertions(+), 6 deletions(-) - -diff --git a/configure.ac b/configure.ac -index a8c2a14..997a37f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -38,12 +38,6 @@ case "$host" in - AC_MSG_RESULT(no) - ;; - esac --AC_MSG_CHECKING(Trying to compile a trivial ANSI C program) --AC_TRY_RUN([ main(int ac, char **av) { return 0; } ], -- AC_MSG_RESULT(yes), -- AC_MSG_RESULT(no) -- AC_MSG_ERROR(Could not compile and run even a trivial ANSI C program - check CC.), -- AC_MSG_ERROR(Could not compile and run even a trivial ANSI C program - check CC.)) - - AC_MSG_CHECKING(__attribute__((noreturn))) - AC_TRY_COMPILE([], [void __attribute__((noreturn)) panic(void);], --- -1.6.5.3 - diff --git a/package/at/at-0002-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch b/package/at/at-0002-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch deleted file mode 100644 index e4276ac208..0000000000 --- a/package/at/at-0002-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch +++ /dev/null @@ -1,34 +0,0 @@ -From e12c96cccab550eda31cf7bb1dedddd3670ffe69 Mon Sep 17 00:00:00 2001 -From: Marc Kleine-Budde -Date: Tue, 1 Dec 2009 17:22:22 +0100 -Subject: [PATCH 2/5] configure.ac: convert AC_TRY_COMPILE -> AC_COMPILE_IFELSE - -Signed-off-by: Marc Kleine-Budde ---- - configure.ac | 10 +++++----- - 1 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 997a37f..cab80ed 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -40,11 +40,11 @@ case "$host" in - esac - - AC_MSG_CHECKING(__attribute__((noreturn))) --AC_TRY_COMPILE([], [void __attribute__((noreturn)) panic(void);], -- AC_MSG_RESULT(yes) -- AC_DEFINE(HAVE_ATTRIBUTE_NORETURN, 1, -- [Define to 1 if compiler supports __attribute__((noreturn))]), -- AC_MSG_RESULT(no) -+AC_COMPILE_IFELSE( -+ [AC_LANG_PROGRAM([[]], [[void __attribute__((noreturn)) panic(void);]])], -+ [AC_MSG_RESULT(yes) -+ AC_DEFINE(HAVE_ATTRIBUTE_NORETURN, 1, Define to 1 if compiler supports __attribute__((noreturn)))], -+ [AC_MSG_RESULT(no)] - ) - dnl Checks for libraries. - --- -1.6.5.3 - diff --git a/package/at/at-0003-Makefile.in-add-LDFLAGS-to-linking-stage.patch b/package/at/at-0003-Makefile.in-add-LDFLAGS-to-linking-stage.patch deleted file mode 100644 index e1ab3d3766..0000000000 --- a/package/at/at-0003-Makefile.in-add-LDFLAGS-to-linking-stage.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 8720a71757f3626bf3bbc3a7aa2185e6387e5689 Mon Sep 17 00:00:00 2001 -From: Marc Kleine-Budde -Date: Tue, 1 Dec 2009 20:37:31 +0100 -Subject: [PATCH 3/5] Makefile.in: add LDFLAGS to linking stage - -The linking stage ignores the LDFLAGS, this breaks if the flex library -lives in a non standard location. - -This patch add LDFLAGS to both "at" and "atd" linking stage. - -Signed-off-by: Marc Kleine-Budde ---- - Makefile.in | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Makefile.in b/Makefile.in -index dae6b7d..b766bbb 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -65,13 +65,13 @@ LIST = Filelist Filelist.asc - all: at atd atrun - - at: $(ATOBJECTS) -- $(CC) $(CFLAGS) -o at $(ATOBJECTS) $(LIBS) $(LEXLIB) -+ $(CC) $(CFLAGS) $(LDFLAGS) -o at $(ATOBJECTS) $(LIBS) $(LEXLIB) - rm -f $(CLONES) - $(LN_S) -f at atq - $(LN_S) -f at atrm - - atd: $(RUNOBJECTS) -- $(CC) $(CFLAGS) -o atd $(RUNOBJECTS) $(LIBS) $(PAMLIB) -+ $(CC) $(CFLAGS) $(LDFLAGS) -o atd $(RUNOBJECTS) $(LIBS) $(PAMLIB) - - y.tab.c y.tab.h: parsetime.y - $(YACC) -d parsetime.y --- -1.6.5.3 - diff --git a/package/at/at-0004-Makefile.in-replace-IROOT-by-DESTDIR.patch b/package/at/at-0004-Makefile.in-replace-IROOT-by-DESTDIR.patch deleted file mode 100644 index 0d1d5f6e3e..0000000000 --- a/package/at/at-0004-Makefile.in-replace-IROOT-by-DESTDIR.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 195d30e2e01fe2f91ed3bdaeec3982aa66b309dd Mon Sep 17 00:00:00 2001 -From: Marc Kleine-Budde -Date: Tue, 1 Dec 2009 20:57:45 +0100 -Subject: [PATCH 5/5] Makefile.in: replace IROOT by DESTDIR - -This patch replaces IROOT by DESTDIR, which is the autotools standard -variable. For backwards compatibilty IROOT overwrites the DESTDIR. - -Signed-off-by: Marc Kleine-Budde ---- - Makefile.in | 64 +++++++++++++++++++++++++++++++----------------------------- - 1 file changed, 34 insertions(+), 30 deletions(-) - -Index: at-3.1.13/Makefile.in -=================================================================== ---- at-3.1.13.orig/Makefile.in -+++ at-3.1.13/Makefile.in -@@ -16,6 +16,10 @@ docdir = $(prefix)/doc - atdocdir = $(docdir)/at - etcdir = @ETCDIR@ - -+ifdef IROOT -+DESTDIR = $(IROOT) -+endif -+ - DAEMON_USERNAME = @DAEMON_USERNAME@ - DAEMON_GROUPNAME= @DAEMON_GROUPNAME@ - LOADAVG_MX = @LOADAVG_MX@ -@@ -86,38 +90,38 @@ atrun: atrun.in - $(CC) -c $(CFLAGS) $(DEFS) $*.c - - install: all -- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(etcdir) -- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(bindir) -- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(sbindir) -- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(docdir) -- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(atdocdir) -- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d $(IROOT)$(ATSPOOL_DIR) $(IROOT)$(ATJOB_DIR) -- chmod 1770 $(IROOT)$(ATSPOOL_DIR) $(IROOT)$(ATJOB_DIR) -- touch $(IROOT)$(LFILE) -- chmod 600 $(IROOT)$(LFILE) -- chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(IROOT)$(LFILE) -- test -f $(IROOT)$(etcdir)/at.allow || test -f $(IROOT)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(IROOT)$(etcdir)/ -- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 at $(IROOT)$(bindir) -- $(LN_S) -f at $(IROOT)$(bindir)/atq -- $(LN_S) -f at $(IROOT)$(bindir)/atrm -- $(INSTALL) -g root -o root -m 755 batch $(IROOT)$(bindir) -- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man1dir) -- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man5dir) -- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man8dir) -- $(INSTALL) -g root -o root -m 755 atd $(IROOT)$(sbindir) -- $(INSTALL) -g root -o root -m 755 atrun $(IROOT)$(sbindir) -- $(INSTALL) -g root -o root -m 644 at.1 $(IROOT)$(man1dir)/ -- cd $(IROOT)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1 batch.1 && $(LN_S) -f at.1 atrm.1 -- $(INSTALL) -g root -o root -m 644 atd.8 $(IROOT)$(man8dir)/ -+ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(etcdir) -+ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(bindir) -+ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(sbindir) -+ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(docdir) -+ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(atdocdir) -+ $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR) -+ chmod 1770 $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR) -+ touch $(DESTDIR)$(LFILE) -+ chmod 600 $(DESTDIR)$(LFILE) -+ chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(DESTDIR)$(LFILE) -+ test -f $(DESTDIR)$(etcdir)/at.allow || test -f $(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(DESTDIR$ -+ $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 -s at $(DESTDIR)$(bindir) -+ $(LN_S) -f at $(DESTDIR)$(bindir)/atq -+ $(LN_S) -f at $(DESTDIR)$(bindir)/atrm -+ $(INSTALL) -g root -o root -m 755 batch $(DESTDIR)$(bindir) -+ $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man1dir) -+ $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man5dir) -+ $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man8dir) -+ $(INSTALL) -g root -o root -m 755 -s atd $(DESTDIR)$(sbindir) -+ $(INSTALL) -g root -o root -m 755 atrun $(DESTDIR)$(sbindir) -+ $(INSTALL) -g root -o root -m 644 at.1 $(DESTDIR)$(man1dir)/ -+ cd $(DESTDIR)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1 batch.1 && $(LN_S) -f at.1 atrm.1 -+ $(INSTALL) -g root -o root -m 644 atd.8 $(DESTDIR)$(man8dir)/ - sed "s,\$${exec_prefix},$(exec_prefix),g" tmpman -- $(INSTALL) -g root -o root -m 644 tmpman $(IROOT)$(man8dir)/atrun.8 -+ $(INSTALL) -g root -o root -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8 - rm -f tmpman -- $(INSTALL) -g root -o root -m 644 at.allow.5 $(IROOT)$(man5dir)/ -- cd $(IROOT)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5 -- $(INSTALL) -g root -o root -m 644 $(DOCS) $(IROOT)$(atdocdir) -- rm -f $(IROOT)$(mandir)/cat1/at.1* $(IROOT)$(mandir)/cat1/batch.1* \ -- $(IROOT)$(mandir)/cat1/atq.1* -- rm -f $(IROOT)$(mandir)/cat1/atd.8* -+ $(INSTALL) -g root -o root -m 644 at.allow.5 $(DESTDIR)$(man5dir)/ -+ cd $(DESTDIR)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5 -+ $(INSTALL) -g root -o root -m 644 $(DOCS) $(DESTDIR)$(atdocdir) -+ rm -f $(DESTDIR)$(mandir)/cat1/at.1* $(DESTDIR)$(mandir)/cat1/batch.1* \ -+ $(DESTDIR)$(mandir)/cat1/atq.1* -+ rm -f $(DESTDIR)$(mandir)/cat1/atd.8* - - dist: checkin $(DIST) $(LIST) Filelist.asc - (cd ..; tar cf - `for a in $(DIST) $(LIST); do echo at-$(VERSION)/$$a; done` |\ diff --git a/package/at/at-0005-Makefile.in-make-install-fix.patch b/package/at/at-0005-Makefile.in-make-install-fix.patch deleted file mode 100644 index ad843449a2..0000000000 --- a/package/at/at-0005-Makefile.in-make-install-fix.patch +++ /dev/null @@ -1,69 +0,0 @@ -[PATCH]: Makefile.in: fix make install for non-root, don't strip - -Buildroot will ensure all files are owned by root and stripped anyway -(if needed) before the rootfs is created. - -Signed-off-by: Peter Korsgaard ---- - Makefile.in | 39 +++++++++++++++++++-------------------- - 1 file changed, 19 insertions(+), 20 deletions(-) - -Index: at-3.1.13/Makefile.in -=================================================================== ---- at-3.1.13.orig/Makefile.in -+++ at-3.1.13/Makefile.in -@@ -90,35 +90,34 @@ atrun: atrun.in - $(CC) -c $(CFLAGS) $(DEFS) $*.c - - install: all -- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(etcdir) -- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(bindir) -- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(sbindir) -- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(docdir) -- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(atdocdir) -- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR) -+ $(INSTALL) -m 755 -d $(DESTDIR)$(etcdir) -+ $(INSTALL) -m 755 -d $(DESTDIR)$(bindir) -+ $(INSTALL) -m 755 -d $(DESTDIR)$(sbindir) -+ $(INSTALL) -m 755 -d $(DESTDIR)$(docdir) -+ $(INSTALL) -m 755 -d $(DESTDIR)$(atdocdir) -+ $(INSTALL) -m 755 -d $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR) - chmod 1770 $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR) - touch $(DESTDIR)$(LFILE) - chmod 600 $(DESTDIR)$(LFILE) -- chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(DESTDIR)$(LFILE) -- test -f $(DESTDIR)$(etcdir)/at.allow || test -f $(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(DESTDIR$ -- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 -s at $(DESTDIR)$(bindir) -+ test -f $(DESTDIR)$(etcdir)/at.allow || test -f $(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -m 640 at.deny $(DESTDIR)$(etcdir)/ -+ $(INSTALL) -m 6755 at $(DESTDIR)$(bindir) - $(LN_S) -f at $(DESTDIR)$(bindir)/atq - $(LN_S) -f at $(DESTDIR)$(bindir)/atrm -- $(INSTALL) -g root -o root -m 755 batch $(DESTDIR)$(bindir) -- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man1dir) -- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man5dir) -- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man8dir) -- $(INSTALL) -g root -o root -m 755 -s atd $(DESTDIR)$(sbindir) -- $(INSTALL) -g root -o root -m 755 atrun $(DESTDIR)$(sbindir) -- $(INSTALL) -g root -o root -m 644 at.1 $(DESTDIR)$(man1dir)/ -+ $(INSTALL) -m 755 batch $(DESTDIR)$(bindir) -+ $(INSTALL) -d -m 755 $(DESTDIR)$(man1dir) -+ $(INSTALL) -d -m 755 $(DESTDIR)$(man5dir) -+ $(INSTALL) -d -m 755 $(DESTDIR)$(man8dir) -+ $(INSTALL) -m 755 atd $(DESTDIR)$(sbindir) -+ $(INSTALL) -m 755 atrun $(DESTDIR)$(sbindir) -+ $(INSTALL) -m 644 at.1 $(DESTDIR)$(man1dir)/ - cd $(DESTDIR)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1 batch.1 && $(LN_S) -f at.1 atrm.1 -- $(INSTALL) -g root -o root -m 644 atd.8 $(DESTDIR)$(man8dir)/ -+ $(INSTALL) -m 644 atd.8 $(DESTDIR)$(man8dir)/ - sed "s,\$${exec_prefix},$(exec_prefix),g" tmpman -- $(INSTALL) -g root -o root -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8 -+ $(INSTALL) -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8 - rm -f tmpman -- $(INSTALL) -g root -o root -m 644 at.allow.5 $(DESTDIR)$(man5dir)/ -+ $(INSTALL) -m 644 at.allow.5 $(DESTDIR)$(man5dir)/ - cd $(DESTDIR)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5 -- $(INSTALL) -g root -o root -m 644 $(DOCS) $(DESTDIR)$(atdocdir) -+ $(INSTALL) -m 644 $(DOCS) $(DESTDIR)$(atdocdir) - rm -f $(DESTDIR)$(mandir)/cat1/at.1* $(DESTDIR)$(mandir)/cat1/batch.1* \ - $(DESTDIR)$(mandir)/cat1/atq.1* - rm -f $(DESTDIR)$(mandir)/cat1/atd.8* diff --git a/package/at/at-0006-getloadavg.c-fix.patch b/package/at/at-0006-getloadavg.c-fix.patch deleted file mode 100644 index e0739271ef..0000000000 --- a/package/at/at-0006-getloadavg.c-fix.patch +++ /dev/null @@ -1,30 +0,0 @@ -[PATCH]: fix getloadavg.c compilation, revert to 3.1.10 version - -getloadavg.c shipped with 3.1.13 doesn't compile because it references -headers not shipped. Fix it by simply reverting to the 3.1.10 version. - -Signed-off-by: Peter Korsgaard ---- - getloadavg.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -Index: at-3.1.13/getloadavg.c -=================================================================== ---- at-3.1.13.orig/getloadavg.c -+++ at-3.1.13/getloadavg.c -@@ -66,11 +66,12 @@ Boston, MA 02110-1301 USA */ - - /* This should always be first. */ - #ifdef HAVE_CONFIG_H --#include -+#include "config.h" - #endif - --#include "lisp.h" --#include "sysfile.h" /* for encapsulated open, close, read, write */ -+#include -+#include -+#include - - #ifndef HAVE_GETLOADAVG - diff --git a/package/at/at-0007-parsetime.l-include-config-h.patch b/package/at/at-0007-parsetime.l-include-config-h.patch deleted file mode 100644 index f4111ebf67..0000000000 --- a/package/at/at-0007-parsetime.l-include-config-h.patch +++ /dev/null @@ -1,16 +0,0 @@ -Make sure to include config.h so that NEEDS_* macros are properly -taken into account. This was a problem for NEEDS_YYWRAP, which was set -to 1 in config.h, but the corresponding code wasn't compiled in. - -Index: at-3.1.13/parsetime.l -=================================================================== ---- at-3.1.13.orig/parsetime.l -+++ at-3.1.13/parsetime.l -@@ -4,6 +4,7 @@ - #include - #include "y.tab.h" - #include "parsetime.h" -+#include "config.h" - - char *last_token = NULL; - char **my_argv; diff --git a/package/attr/0001-support-static-installation.patch b/package/attr/0001-support-static-installation.patch new file mode 100644 index 0000000000..87858ac75e --- /dev/null +++ b/package/attr/0001-support-static-installation.patch @@ -0,0 +1,29 @@ +Support installation of .a file when doing static linking + +When doing static linking (i.e ENABLE_SHARED != yes), the attr build +logic wasn't installing any library at all, not even the .a file which +is needed for static linking. This patch fixes that. + +Signed-off-by: Thomas Petazzoni + +Index: b/include/buildmacros +=================================================================== +--- a/include/buildmacros ++++ b/include/buildmacros +@@ -97,7 +97,15 @@ + + INSTALL_LTLIB_STATIC = \ + cd $(TOPDIR)/$(LIBNAME)/.libs; \ +- ../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR); ++ ../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR); \ ++ ../$(INSTALL) -m 644 -T old_lib $(LIBNAME).la $(PKG_DEVLIB_DIR); \ ++ ../$(INSTALL) -m 644 $(LIBNAME).la $(PKG_DEVLIB_DIR)/$(LIBNAME).la ; \ ++ ../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \ ++ ../$(INSTALL) -T so_base $(LIBNAME).la $(PKG_LIB_DIR); \ ++ if test "x$(PKG_DEVLIB_DIR)" != "x$(PKG_LIB_DIR)" ; then \ ++ ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).a $(PKG_LIB_DIR)/$(LIBNAME).a; \ ++ ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).la $(PKG_LIB_DIR)/$(LIBNAME).la; \ ++ fi + + INSTALL_MAN = \ + @for d in $(MAN_PAGES); do \ diff --git a/package/attr/attr-01-support-static-installation.patch b/package/attr/attr-01-support-static-installation.patch deleted file mode 100644 index 87858ac75e..0000000000 --- a/package/attr/attr-01-support-static-installation.patch +++ /dev/null @@ -1,29 +0,0 @@ -Support installation of .a file when doing static linking - -When doing static linking (i.e ENABLE_SHARED != yes), the attr build -logic wasn't installing any library at all, not even the .a file which -is needed for static linking. This patch fixes that. - -Signed-off-by: Thomas Petazzoni - -Index: b/include/buildmacros -=================================================================== ---- a/include/buildmacros -+++ b/include/buildmacros -@@ -97,7 +97,15 @@ - - INSTALL_LTLIB_STATIC = \ - cd $(TOPDIR)/$(LIBNAME)/.libs; \ -- ../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR); -+ ../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR); \ -+ ../$(INSTALL) -m 644 -T old_lib $(LIBNAME).la $(PKG_DEVLIB_DIR); \ -+ ../$(INSTALL) -m 644 $(LIBNAME).la $(PKG_DEVLIB_DIR)/$(LIBNAME).la ; \ -+ ../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \ -+ ../$(INSTALL) -T so_base $(LIBNAME).la $(PKG_LIB_DIR); \ -+ if test "x$(PKG_DEVLIB_DIR)" != "x$(PKG_LIB_DIR)" ; then \ -+ ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).a $(PKG_LIB_DIR)/$(LIBNAME).a; \ -+ ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).la $(PKG_LIB_DIR)/$(LIBNAME).la; \ -+ fi - - INSTALL_MAN = \ - @for d in $(MAN_PAGES); do \ diff --git a/package/aumix/0001-fix-incorrect-makefile-am.patch b/package/aumix/0001-fix-incorrect-makefile-am.patch new file mode 100644 index 0000000000..8d55218bbb --- /dev/null +++ b/package/aumix/0001-fix-incorrect-makefile-am.patch @@ -0,0 +1,29 @@ +Aumix's src/Makefile.am incorrect adds @includedir@ to the list of +include paths and @libdir@ to the list of libraries paths. This is +incorrect, as @includedir@ and @libdir@ are respectively /usr/include +and /usr/lib, even in cross-compilation mode. + +At the same time, use AM_CFLAGS instead of CFLAGS, as is done on the +similar patch found in OpenEmbedded. + +Signed-off-by: Thomas Petazzoni +--- + src/Makefile.am | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +Index: aumix-2.8/src/Makefile.am +=================================================================== +--- aumix-2.8.orig/src/Makefile.am ++++ aumix-2.8/src/Makefile.am +@@ -7,9 +7,8 @@ + mouse.c common.h curses.h gpm-xterm.h gtk.h interactive.h \ + mouse.h play.xpm record.xpm + localedir = $(datadir)/locale +-INCLUDES = -I../intl -DLOCALEDIR=\"$(localedir)\" -I@includedir@ +-CFLAGS = @CFLAGS@ @GLIB_CFLAGS@ @GTK_CFLAGS@ +-LDADD = -L@libdir@ ++INCLUDES = -I../intl -DLOCALEDIR=\"$(localedir)\" ++AM_CFLAGS = @CFLAGS@ @GLIB_CFLAGS@ @GTK_CFLAGS@ + LIBS = @LIBS@ @GTK_LIBS@ @INTLLIBS@ + DEFS = @DEFS@ + diff --git a/package/aumix/aumix-2.8-fix-incorrect-makefile-am.patch b/package/aumix/aumix-2.8-fix-incorrect-makefile-am.patch deleted file mode 100644 index 8d55218bbb..0000000000 --- a/package/aumix/aumix-2.8-fix-incorrect-makefile-am.patch +++ /dev/null @@ -1,29 +0,0 @@ -Aumix's src/Makefile.am incorrect adds @includedir@ to the list of -include paths and @libdir@ to the list of libraries paths. This is -incorrect, as @includedir@ and @libdir@ are respectively /usr/include -and /usr/lib, even in cross-compilation mode. - -At the same time, use AM_CFLAGS instead of CFLAGS, as is done on the -similar patch found in OpenEmbedded. - -Signed-off-by: Thomas Petazzoni ---- - src/Makefile.am | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -Index: aumix-2.8/src/Makefile.am -=================================================================== ---- aumix-2.8.orig/src/Makefile.am -+++ aumix-2.8/src/Makefile.am -@@ -7,9 +7,8 @@ - mouse.c common.h curses.h gpm-xterm.h gtk.h interactive.h \ - mouse.h play.xpm record.xpm - localedir = $(datadir)/locale --INCLUDES = -I../intl -DLOCALEDIR=\"$(localedir)\" -I@includedir@ --CFLAGS = @CFLAGS@ @GLIB_CFLAGS@ @GTK_CFLAGS@ --LDADD = -L@libdir@ -+INCLUDES = -I../intl -DLOCALEDIR=\"$(localedir)\" -+AM_CFLAGS = @CFLAGS@ @GLIB_CFLAGS@ @GTK_CFLAGS@ - LIBS = @LIBS@ @GTK_LIBS@ @INTLLIBS@ - DEFS = @DEFS@ - diff --git a/package/autoconf/0001-dont-add-dirty-to-version.patch b/package/autoconf/0001-dont-add-dirty-to-version.patch new file mode 100644 index 0000000000..e8d9f6a29d --- /dev/null +++ b/package/autoconf/0001-dont-add-dirty-to-version.patch @@ -0,0 +1,28 @@ +autoconf: don't append -dirty to version + +Don't append -dirty to autoconf version number if the buildroot git tree +has uncommited changes. + +This script is meant for the autoconf developers, but it also activates +if you build autoconf in a subdirectory of a git tree (E.G. like how it's +commonly done in buildroot). + +The affect is that autoconf gets built as being version 2.65-dirty, which +breaks programs (like Python) which explicitly checks for autoconf-2.65. + +[Gustavo: update for autoconf 2.69] +Signed-off-by: Peter Korsgaard +Signed-off-by: Gustavo Zacarias + +diff -Nura autoconf-2.69.orig/build-aux/git-version-gen autoconf-2.69/build-aux/git-version-gen +--- autoconf-2.69.orig/build-aux/git-version-gen 2013-06-27 11:31:02.340200154 -0300 ++++ autoconf-2.69/build-aux/git-version-gen 2013-06-27 11:31:13.734577033 -0300 +@@ -203,7 +203,7 @@ + *) # Append the suffix only if there isn't one already. + case $v in + *-dirty) ;; +- *) v="$v-dirty" ;; ++ #*) v="$v-dirty" ;; + esac ;; + esac + fi diff --git a/package/autoconf/autoconf-dont-add-dirty-to-version.patch b/package/autoconf/autoconf-dont-add-dirty-to-version.patch deleted file mode 100644 index e8d9f6a29d..0000000000 --- a/package/autoconf/autoconf-dont-add-dirty-to-version.patch +++ /dev/null @@ -1,28 +0,0 @@ -autoconf: don't append -dirty to version - -Don't append -dirty to autoconf version number if the buildroot git tree -has uncommited changes. - -This script is meant for the autoconf developers, but it also activates -if you build autoconf in a subdirectory of a git tree (E.G. like how it's -commonly done in buildroot). - -The affect is that autoconf gets built as being version 2.65-dirty, which -breaks programs (like Python) which explicitly checks for autoconf-2.65. - -[Gustavo: update for autoconf 2.69] -Signed-off-by: Peter Korsgaard -Signed-off-by: Gustavo Zacarias - -diff -Nura autoconf-2.69.orig/build-aux/git-version-gen autoconf-2.69/build-aux/git-version-gen ---- autoconf-2.69.orig/build-aux/git-version-gen 2013-06-27 11:31:02.340200154 -0300 -+++ autoconf-2.69/build-aux/git-version-gen 2013-06-27 11:31:13.734577033 -0300 -@@ -203,7 +203,7 @@ - *) # Append the suffix only if there isn't one already. - case $v in - *-dirty) ;; -- *) v="$v-dirty" ;; -+ #*) v="$v-dirty" ;; - esac ;; - esac - fi diff --git a/package/automake/0001-noman.patch b/package/automake/0001-noman.patch new file mode 100644 index 0000000000..a4ad16ddfb --- /dev/null +++ b/package/automake/0001-noman.patch @@ -0,0 +1,27 @@ +Disable manpages build and installation, seems the bundled version of +help2man is somewhat old and breaks on modern distributions such as +Fedora 20, as reported by Kanibal on IRC. + +Signed-off-by: Gustavo Zacarias + +diff -Nura automake-1.14.1.orig/Makefile.in automake-1.14.1/Makefile.in +--- automake-1.14.1.orig/Makefile.in 2014-09-10 18:40:57.554164448 -0300 ++++ automake-1.14.1/Makefile.in 2014-09-10 18:42:01.050348068 -0300 +@@ -3387,7 +3387,7 @@ + check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-TESTS check-local + check: check-am +-all-am: Makefile $(INFO_DEPS) $(SCRIPTS) $(MANS) $(DATA) ++all-am: Makefile $(INFO_DEPS) $(SCRIPTS) $(DATA) + installdirs: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(amdir)" "$(DESTDIR)$(automake_acdir)" "$(DESTDIR)$(automake_internal_acdir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(perllibdir)" "$(DESTDIR)$(pkgvdatadir)" "$(DESTDIR)$(scriptdir)" "$(DESTDIR)$(system_acdir)" "$(DESTDIR)$(perllibdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ +@@ -3454,7 +3454,7 @@ + install-dist_automake_internal_acDATA install-dist_docDATA \ + install-dist_perllibDATA install-dist_pkgvdataDATA \ + install-dist_scriptDATA install-dist_system_acDATA \ +- install-info-am install-man install-nodist_perllibDATA ++ install-info-am install-nodist_perllibDATA + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-data-hook + install-dvi: install-dvi-am diff --git a/package/automake/automake-0001-noman.patch b/package/automake/automake-0001-noman.patch deleted file mode 100644 index a4ad16ddfb..0000000000 --- a/package/automake/automake-0001-noman.patch +++ /dev/null @@ -1,27 +0,0 @@ -Disable manpages build and installation, seems the bundled version of -help2man is somewhat old and breaks on modern distributions such as -Fedora 20, as reported by Kanibal on IRC. - -Signed-off-by: Gustavo Zacarias - -diff -Nura automake-1.14.1.orig/Makefile.in automake-1.14.1/Makefile.in ---- automake-1.14.1.orig/Makefile.in 2014-09-10 18:40:57.554164448 -0300 -+++ automake-1.14.1/Makefile.in 2014-09-10 18:42:01.050348068 -0300 -@@ -3387,7 +3387,7 @@ - check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) check-TESTS check-local - check: check-am --all-am: Makefile $(INFO_DEPS) $(SCRIPTS) $(MANS) $(DATA) -+all-am: Makefile $(INFO_DEPS) $(SCRIPTS) $(DATA) - installdirs: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(amdir)" "$(DESTDIR)$(automake_acdir)" "$(DESTDIR)$(automake_internal_acdir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(perllibdir)" "$(DESTDIR)$(pkgvdatadir)" "$(DESTDIR)$(scriptdir)" "$(DESTDIR)$(system_acdir)" "$(DESTDIR)$(perllibdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ -@@ -3454,7 +3454,7 @@ - install-dist_automake_internal_acDATA install-dist_docDATA \ - install-dist_perllibDATA install-dist_pkgvdataDATA \ - install-dist_scriptDATA install-dist_system_acDATA \ -- install-info-am install-man install-nodist_perllibDATA -+ install-info-am install-nodist_perllibDATA - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-data-hook - install-dvi: install-dvi-am diff --git a/package/avahi/0001-autoipd-perms.patch b/package/avahi/0001-autoipd-perms.patch new file mode 100644 index 0000000000..c740e3f8aa --- /dev/null +++ b/package/avahi/0001-autoipd-perms.patch @@ -0,0 +1,11 @@ +--- avahi-0.6.14/avahi-autoipd/main.c.cls 2006-09-13 12:49:45.000000000 -0700 ++++ avahi-0.6.14/avahi-autoipd/main.c 2006-09-25 20:34:10.000000000 -0700 +@@ -239,7 +239,7 @@ + + fprintf(f, "%s\n", inet_ntop(AF_INET, &addr, buf, sizeof (buf))); + fclose(f); +- ++ chmod(fn, S_IRUSR|S_IWUSR); + return 0; + + fail: diff --git a/package/avahi/0002-disable-systemd-support.patch b/package/avahi/0002-disable-systemd-support.patch new file mode 100644 index 0000000000..909795ade1 --- /dev/null +++ b/package/avahi/0002-disable-systemd-support.patch @@ -0,0 +1,22 @@ +[PATCH] avahi-daemon: disable systemd support + +Disable systemd support as it isn't needed for BR, and uses SOCK_CLOEXEC +which isn't available on uClibc. + +Signed-off-by: Peter Korsgaard +--- + avahi-daemon/sd-daemon.h | 1 + + 1 file changed, 1 insertion(+) + +Index: avahi-0.6.27/avahi-daemon/sd-daemon.h +=================================================================== +--- avahi-0.6.27.orig/avahi-daemon/sd-daemon.h ++++ avahi-0.6.27/avahi-daemon/sd-daemon.h +@@ -66,6 +66,7 @@ extern "C" { + + See sd-daemon(7) for more information. + */ ++#define DISABLE_SYSTEMD /* no systemd support in BR */ + + #if __GNUC__ >= 4 + #define _sd_printf_attr_(a,b) __attribute__ ((format (printf, a, b))) diff --git a/package/avahi/0003-ipv6only.patch b/package/avahi/0003-ipv6only.patch new file mode 100644 index 0000000000..8cc3cb9444 --- /dev/null +++ b/package/avahi/0003-ipv6only.patch @@ -0,0 +1,19 @@ +diff -urpN avahi-0.6.22.orig/avahi-core/socket.c avahi-0.6.22/avahi-core/socket.c +--- avahi-0.6.22.orig/avahi-core/socket.c 2007-12-16 22:03:08.000000000 +0100 ++++ avahi-0.6.22/avahi-core/socket.c 2008-03-31 17:13:24.000000000 +0200 +@@ -394,13 +394,13 @@ int avahi_open_socket_ipv6(int no_reuse) + avahi_log_warn("IPV6_UNICAST_HOPS failed: %s", strerror(errno)); + goto fail; + } +- ++#ifdef IPV6_V6ONLY + yes = 1; + if (setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, &yes, sizeof(yes)) < 0) { + avahi_log_warn("IPV6_V6ONLY failed: %s", strerror(errno)); + goto fail; + } +- ++#endif + yes = 1; + if (setsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, &yes, sizeof(yes)) < 0) { + avahi_log_warn("IPV6_MULTICAST_LOOP failed: %s", strerror(errno)); diff --git a/package/avahi/0004-no-gtk-deprecations.patch b/package/avahi/0004-no-gtk-deprecations.patch new file mode 100644 index 0000000000..d187053cf0 --- /dev/null +++ b/package/avahi/0004-no-gtk-deprecations.patch @@ -0,0 +1,30 @@ +Patch from http://pkgs.fedoraproject.org/cgit/avahi.git/plain/avahi-0.6.31-no-deprecations.patch?id=b3f4de05e331258c5123e3acc144e452595c2112 + +Don't disable deprecated GTK support, as that breaks builds with modern GTK3 +versions. + +For more details, see the Fedora bugzilla: +https://bugzilla.redhat.com/show_bug.cgi?id=1001676 + +[Peter: patch Makefile.in so we don't need autoreconf] +Signed-off-by: Peter Korsgaard +--- + avahi-ui/Makefile.am | 2 +- + avahi-ui/Makefile.in | 3 +-- + configure.ac | 2 +- + 3 files changed, 3 insertions(+), 4 deletions(-) + +Index: avahi-0.6.31/avahi-ui/Makefile.in +=================================================================== +--- avahi-0.6.31.orig/avahi-ui/Makefile.in ++++ avahi-0.6.31/avahi-ui/Makefile.in +@@ -464,8 +464,7 @@ + top_srcdir = @top_srcdir@ + + # This cool debug trap works on i386/gcc only +-AM_CFLAGS = -I$(top_srcdir) -DG_DISABLE_DEPRECATED=1 \ +- -DGDK_DISABLE_DEPRECATED=1 -DGTK_DISABLE_DEPRECATED=1 \ ++AM_CFLAGS = -I$(top_srcdir) \ + '-DDEBUG_TRAP=__asm__("int $$3")' $(am__append_1) + pkglibdatadir = $(libdir)/avahi + desktopdir = $(datadir)/applications diff --git a/package/avahi/0005-optional-ipv6.patch b/package/avahi/0005-optional-ipv6.patch new file mode 100644 index 0000000000..5caf87c87d --- /dev/null +++ b/package/avahi/0005-optional-ipv6.patch @@ -0,0 +1,147 @@ +[PATCH] avahi-core: make ipv6 support optional on uclibc 0.9.31+ + +uClibc 0.9.31+ doesn't define the IPV6_* defines when IPv6 support isn't +enabled, causing the avahi build to break. Detect this configuration, and +comment out IPv6 code if so. + +Signed-off-by: Peter Korsgaard +--- + avahi-core/socket.c | 28 +++++++++++++++++++++++----- + 1 file changed, 23 insertions(+), 5 deletions(-) + +Index: avahi-0.6.23/avahi-core/socket.c +=================================================================== +--- avahi-0.6.23.orig/avahi-core/socket.c ++++ avahi-0.6.23/avahi-core/socket.c +@@ -47,6 +47,11 @@ + #include + #endif + ++#include ++#if defined(__UCLIBC__) && !defined (__UCLIBC_HAS_IPV6__) ++#define NO_IPV6 ++#endif ++ + #include "dns.h" + #include "fdutil.h" + #include "socket.h" +@@ -75,6 +80,7 @@ static void mdns_mcast_group_ipv4(struct + inet_pton(AF_INET, AVAHI_IPV4_MCAST_GROUP, &ret_sa->sin_addr); + } + ++#ifndef NO_IPV6 + static void mdns_mcast_group_ipv6(struct sockaddr_in6 *ret_sa) { + assert(ret_sa); + +@@ -83,6 +89,7 @@ static void mdns_mcast_group_ipv6(struct + ret_sa->sin6_port = htons(AVAHI_MDNS_PORT); + inet_pton(AF_INET6, AVAHI_IPV6_MCAST_GROUP, &ret_sa->sin6_addr); + } ++#endif + + static void ipv4_address_to_sockaddr(struct sockaddr_in *ret_sa, const AvahiIPv4Address *a, uint16_t port) { + assert(ret_sa); +@@ -95,6 +102,7 @@ static void ipv4_address_to_sockaddr(str + memcpy(&ret_sa->sin_addr, a, sizeof(AvahiIPv4Address)); + } + ++#ifndef NO_IPV6 + static void ipv6_address_to_sockaddr(struct sockaddr_in6 *ret_sa, const AvahiIPv6Address *a, uint16_t port) { + assert(ret_sa); + assert(a); +@@ -105,6 +113,7 @@ static void ipv6_address_to_sockaddr(str + ret_sa->sin6_port = htons(port); + memcpy(&ret_sa->sin6_addr, a, sizeof(AvahiIPv6Address)); + } ++#endif + + int avahi_mdns_mcast_join_ipv4(int fd, const AvahiIPv4Address *a, int idx, int join) { + #ifdef HAVE_STRUCT_IP_MREQN +@@ -143,6 +152,7 @@ int avahi_mdns_mcast_join_ipv4(int fd, c + } + + int avahi_mdns_mcast_join_ipv6(int fd, const AvahiIPv6Address *a, int idx, int join) { ++#ifndef NO_IPV6 + struct ipv6_mreq mreq6; + struct sockaddr_in6 sa6; + +@@ -164,6 +174,9 @@ int avahi_mdns_mcast_join_ipv6(int fd, c + } + + return 0; ++#else ++ return -1; ++#endif + } + + static int reuseaddr(int fd) { +@@ -372,6 +385,7 @@ fail: + } + + int avahi_open_socket_ipv6(int no_reuse) { ++#ifndef NO_IPV6 + struct sockaddr_in6 sa, local; + int fd = -1, yes, r; + int ttl; +@@ -437,7 +451,7 @@ int avahi_open_socket_ipv6(int no_reuse) + fail: + if (fd >= 0) + close(fd); +- ++#endif + return -1; + } + +@@ -567,7 +581,7 @@ int avahi_send_dns_packet_ipv6( + const AvahiIPv6Address *src_address, + const AvahiIPv6Address *dst_address, + uint16_t dst_port) { +- ++#ifndef NO_IPV6 + struct sockaddr_in6 sa; + struct msghdr msg; + struct iovec io; +@@ -620,6 +634,9 @@ int avahi_send_dns_packet_ipv6( + } + + return sendmsg_loop(fd, &msg, 0); ++#else ++ return -1; ++#endif + } + + AvahiDnsPacket *avahi_recv_dns_packet_ipv4( +@@ -782,7 +799,7 @@ AvahiDnsPacket *avahi_recv_dns_packet_ip + AvahiIPv6Address *ret_dst_address, + AvahiIfIndex *ret_iface, + uint8_t *ret_ttl) { +- ++#ifndef NO_IPV6 + AvahiDnsPacket *p = NULL; + struct msghdr msg; + struct iovec io; +@@ -889,7 +906,7 @@ AvahiDnsPacket *avahi_recv_dns_packet_ip + fail: + if (p) + avahi_dns_packet_free(p); +- ++#endif + return NULL; + } + +@@ -934,6 +951,7 @@ fail: + } + + int avahi_open_unicast_socket_ipv6(void) { ++#ifndef NO_IPV6 + struct sockaddr_in6 local; + int fd = -1, yes; + +@@ -974,6 +992,6 @@ int avahi_open_unicast_socket_ipv6(void) + fail: + if (fd >= 0) + close(fd); +- ++#endif + return -1; + } diff --git a/package/avahi/avahi-autoipd-perms.patch b/package/avahi/avahi-autoipd-perms.patch deleted file mode 100644 index c740e3f8aa..0000000000 --- a/package/avahi/avahi-autoipd-perms.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- avahi-0.6.14/avahi-autoipd/main.c.cls 2006-09-13 12:49:45.000000000 -0700 -+++ avahi-0.6.14/avahi-autoipd/main.c 2006-09-25 20:34:10.000000000 -0700 -@@ -239,7 +239,7 @@ - - fprintf(f, "%s\n", inet_ntop(AF_INET, &addr, buf, sizeof (buf))); - fclose(f); -- -+ chmod(fn, S_IRUSR|S_IWUSR); - return 0; - - fail: diff --git a/package/avahi/avahi-disable-systemd-support.patch b/package/avahi/avahi-disable-systemd-support.patch deleted file mode 100644 index 909795ade1..0000000000 --- a/package/avahi/avahi-disable-systemd-support.patch +++ /dev/null @@ -1,22 +0,0 @@ -[PATCH] avahi-daemon: disable systemd support - -Disable systemd support as it isn't needed for BR, and uses SOCK_CLOEXEC -which isn't available on uClibc. - -Signed-off-by: Peter Korsgaard ---- - avahi-daemon/sd-daemon.h | 1 + - 1 file changed, 1 insertion(+) - -Index: avahi-0.6.27/avahi-daemon/sd-daemon.h -=================================================================== ---- avahi-0.6.27.orig/avahi-daemon/sd-daemon.h -+++ avahi-0.6.27/avahi-daemon/sd-daemon.h -@@ -66,6 +66,7 @@ extern "C" { - - See sd-daemon(7) for more information. - */ -+#define DISABLE_SYSTEMD /* no systemd support in BR */ - - #if __GNUC__ >= 4 - #define _sd_printf_attr_(a,b) __attribute__ ((format (printf, a, b))) diff --git a/package/avahi/avahi-ipv6only.patch b/package/avahi/avahi-ipv6only.patch deleted file mode 100644 index 8cc3cb9444..0000000000 --- a/package/avahi/avahi-ipv6only.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -urpN avahi-0.6.22.orig/avahi-core/socket.c avahi-0.6.22/avahi-core/socket.c ---- avahi-0.6.22.orig/avahi-core/socket.c 2007-12-16 22:03:08.000000000 +0100 -+++ avahi-0.6.22/avahi-core/socket.c 2008-03-31 17:13:24.000000000 +0200 -@@ -394,13 +394,13 @@ int avahi_open_socket_ipv6(int no_reuse) - avahi_log_warn("IPV6_UNICAST_HOPS failed: %s", strerror(errno)); - goto fail; - } -- -+#ifdef IPV6_V6ONLY - yes = 1; - if (setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, &yes, sizeof(yes)) < 0) { - avahi_log_warn("IPV6_V6ONLY failed: %s", strerror(errno)); - goto fail; - } -- -+#endif - yes = 1; - if (setsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, &yes, sizeof(yes)) < 0) { - avahi_log_warn("IPV6_MULTICAST_LOOP failed: %s", strerror(errno)); diff --git a/package/avahi/avahi-no-gtk-deprecations.patch b/package/avahi/avahi-no-gtk-deprecations.patch deleted file mode 100644 index d187053cf0..0000000000 --- a/package/avahi/avahi-no-gtk-deprecations.patch +++ /dev/null @@ -1,30 +0,0 @@ -Patch from http://pkgs.fedoraproject.org/cgit/avahi.git/plain/avahi-0.6.31-no-deprecations.patch?id=b3f4de05e331258c5123e3acc144e452595c2112 - -Don't disable deprecated GTK support, as that breaks builds with modern GTK3 -versions. - -For more details, see the Fedora bugzilla: -https://bugzilla.redhat.com/show_bug.cgi?id=1001676 - -[Peter: patch Makefile.in so we don't need autoreconf] -Signed-off-by: Peter Korsgaard ---- - avahi-ui/Makefile.am | 2 +- - avahi-ui/Makefile.in | 3 +-- - configure.ac | 2 +- - 3 files changed, 3 insertions(+), 4 deletions(-) - -Index: avahi-0.6.31/avahi-ui/Makefile.in -=================================================================== ---- avahi-0.6.31.orig/avahi-ui/Makefile.in -+++ avahi-0.6.31/avahi-ui/Makefile.in -@@ -464,8 +464,7 @@ - top_srcdir = @top_srcdir@ - - # This cool debug trap works on i386/gcc only --AM_CFLAGS = -I$(top_srcdir) -DG_DISABLE_DEPRECATED=1 \ -- -DGDK_DISABLE_DEPRECATED=1 -DGTK_DISABLE_DEPRECATED=1 \ -+AM_CFLAGS = -I$(top_srcdir) \ - '-DDEBUG_TRAP=__asm__("int $$3")' $(am__append_1) - pkglibdatadir = $(libdir)/avahi - desktopdir = $(datadir)/applications diff --git a/package/avahi/avahi-optional-ipv6.patch b/package/avahi/avahi-optional-ipv6.patch deleted file mode 100644 index 5caf87c87d..0000000000 --- a/package/avahi/avahi-optional-ipv6.patch +++ /dev/null @@ -1,147 +0,0 @@ -[PATCH] avahi-core: make ipv6 support optional on uclibc 0.9.31+ - -uClibc 0.9.31+ doesn't define the IPV6_* defines when IPv6 support isn't -enabled, causing the avahi build to break. Detect this configuration, and -comment out IPv6 code if so. - -Signed-off-by: Peter Korsgaard ---- - avahi-core/socket.c | 28 +++++++++++++++++++++++----- - 1 file changed, 23 insertions(+), 5 deletions(-) - -Index: avahi-0.6.23/avahi-core/socket.c -=================================================================== ---- avahi-0.6.23.orig/avahi-core/socket.c -+++ avahi-0.6.23/avahi-core/socket.c -@@ -47,6 +47,11 @@ - #include - #endif - -+#include -+#if defined(__UCLIBC__) && !defined (__UCLIBC_HAS_IPV6__) -+#define NO_IPV6 -+#endif -+ - #include "dns.h" - #include "fdutil.h" - #include "socket.h" -@@ -75,6 +80,7 @@ static void mdns_mcast_group_ipv4(struct - inet_pton(AF_INET, AVAHI_IPV4_MCAST_GROUP, &ret_sa->sin_addr); - } - -+#ifndef NO_IPV6 - static void mdns_mcast_group_ipv6(struct sockaddr_in6 *ret_sa) { - assert(ret_sa); - -@@ -83,6 +89,7 @@ static void mdns_mcast_group_ipv6(struct - ret_sa->sin6_port = htons(AVAHI_MDNS_PORT); - inet_pton(AF_INET6, AVAHI_IPV6_MCAST_GROUP, &ret_sa->sin6_addr); - } -+#endif - - static void ipv4_address_to_sockaddr(struct sockaddr_in *ret_sa, const AvahiIPv4Address *a, uint16_t port) { - assert(ret_sa); -@@ -95,6 +102,7 @@ static void ipv4_address_to_sockaddr(str - memcpy(&ret_sa->sin_addr, a, sizeof(AvahiIPv4Address)); - } - -+#ifndef NO_IPV6 - static void ipv6_address_to_sockaddr(struct sockaddr_in6 *ret_sa, const AvahiIPv6Address *a, uint16_t port) { - assert(ret_sa); - assert(a); -@@ -105,6 +113,7 @@ static void ipv6_address_to_sockaddr(str - ret_sa->sin6_port = htons(port); - memcpy(&ret_sa->sin6_addr, a, sizeof(AvahiIPv6Address)); - } -+#endif - - int avahi_mdns_mcast_join_ipv4(int fd, const AvahiIPv4Address *a, int idx, int join) { - #ifdef HAVE_STRUCT_IP_MREQN -@@ -143,6 +152,7 @@ int avahi_mdns_mcast_join_ipv4(int fd, c - } - - int avahi_mdns_mcast_join_ipv6(int fd, const AvahiIPv6Address *a, int idx, int join) { -+#ifndef NO_IPV6 - struct ipv6_mreq mreq6; - struct sockaddr_in6 sa6; - -@@ -164,6 +174,9 @@ int avahi_mdns_mcast_join_ipv6(int fd, c - } - - return 0; -+#else -+ return -1; -+#endif - } - - static int reuseaddr(int fd) { -@@ -372,6 +385,7 @@ fail: - } - - int avahi_open_socket_ipv6(int no_reuse) { -+#ifndef NO_IPV6 - struct sockaddr_in6 sa, local; - int fd = -1, yes, r; - int ttl; -@@ -437,7 +451,7 @@ int avahi_open_socket_ipv6(int no_reuse) - fail: - if (fd >= 0) - close(fd); -- -+#endif - return -1; - } - -@@ -567,7 +581,7 @@ int avahi_send_dns_packet_ipv6( - const AvahiIPv6Address *src_address, - const AvahiIPv6Address *dst_address, - uint16_t dst_port) { -- -+#ifndef NO_IPV6 - struct sockaddr_in6 sa; - struct msghdr msg; - struct iovec io; -@@ -620,6 +634,9 @@ int avahi_send_dns_packet_ipv6( - } - - return sendmsg_loop(fd, &msg, 0); -+#else -+ return -1; -+#endif - } - - AvahiDnsPacket *avahi_recv_dns_packet_ipv4( -@@ -782,7 +799,7 @@ AvahiDnsPacket *avahi_recv_dns_packet_ip - AvahiIPv6Address *ret_dst_address, - AvahiIfIndex *ret_iface, - uint8_t *ret_ttl) { -- -+#ifndef NO_IPV6 - AvahiDnsPacket *p = NULL; - struct msghdr msg; - struct iovec io; -@@ -889,7 +906,7 @@ AvahiDnsPacket *avahi_recv_dns_packet_ip - fail: - if (p) - avahi_dns_packet_free(p); -- -+#endif - return NULL; - } - -@@ -934,6 +951,7 @@ fail: - } - - int avahi_open_unicast_socket_ipv6(void) { -+#ifndef NO_IPV6 - struct sockaddr_in6 local; - int fd = -1, yes; - -@@ -974,6 +992,6 @@ int avahi_open_unicast_socket_ipv6(void) - fail: - if (fd >= 0) - close(fd); -- -+#endif - return -1; - } diff --git a/package/beecrypt/0001-cppglue.cxx-cplusplus-only.patch b/package/beecrypt/0001-cppglue.cxx-cplusplus-only.patch new file mode 100644 index 0000000000..298e3eba93 --- /dev/null +++ b/package/beecrypt/0001-cppglue.cxx-cplusplus-only.patch @@ -0,0 +1,28 @@ +Makefile.am: Only compile/link cppglue.cxx if --with-cplusplus is used + +Bloats libbeecrypt for no use and breaks build on systems without a C++ +compiler. + +Signed-off-by: Peter Korsgaard +--- + Makefile.am | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +Index: beecrypt-4.2.1/Makefile.am +=================================================================== +--- beecrypt-4.2.1.orig/Makefile.am ++++ beecrypt-4.2.1/Makefile.am +@@ -62,7 +62,12 @@ + + lib_LTLIBRARIES = libbeecrypt.la + +-libbeecrypt_la_SOURCES = aes.c base64.c beecrypt.c blockmode.c blockpad.c blowfish.c dhies.c dldp.c dlkp.c dlpk.c dlsvdp-dh.c dsa.c elgamal.c endianness.c entropy.c fips186.c hmac.c hmacmd5.c hmacsha1.c hmacsha224.c hmacsha256.c md4.c md5.c hmacsha384.c hmacsha512.c memchunk.c mp.c mpbarrett.c mpnumber.c mpprime.c mtprng.c pkcs1.c pkcs12.c ripemd128.c ripemd160.c ripemd256.c ripemd320.c rsa.c rsakp.c rsapk.c sha1.c sha224.c sha256.c sha384.c sha512.c sha2k32.c sha2k64.c timestamp.c cppglue.cxx ++libbeecrypt_la_SOURCES = aes.c base64.c beecrypt.c blockmode.c blockpad.c blowfish.c dhies.c dldp.c dlkp.c dlpk.c dlsvdp-dh.c dsa.c elgamal.c endianness.c entropy.c fips186.c hmac.c hmacmd5.c hmacsha1.c hmacsha224.c hmacsha256.c md4.c md5.c hmacsha384.c hmacsha512.c memchunk.c mp.c mpbarrett.c mpnumber.c mpprime.c mtprng.c pkcs1.c pkcs12.c ripemd128.c ripemd160.c ripemd256.c ripemd320.c rsa.c rsakp.c rsapk.c sha1.c sha224.c sha256.c sha384.c sha512.c sha2k32.c sha2k64.c timestamp.c ++ ++if WITH_CPLUSPLUS ++libbeecrypt_la_SOURCES += cppglue.cxx ++endif ++ + libbeecrypt_la_DEPENDENCIES = $(BEECRYPT_OBJECTS) + libbeecrypt_la_LIBADD = blowfishopt.lo mpopt.lo sha1opt.lo $(OPENMP_LIBS) + libbeecrypt_la_LDFLAGS = -no-undefined -version-info $(LIBBEECRYPT_LT_CURRENT):$(LIBBEECRYPT_LT_REVISION):$(LIBBEECRYPT_LT_AGE) diff --git a/package/beecrypt/0002-icu-check-cross-compile.patch b/package/beecrypt/0002-icu-check-cross-compile.patch new file mode 100644 index 0000000000..cc02116506 --- /dev/null +++ b/package/beecrypt/0002-icu-check-cross-compile.patch @@ -0,0 +1,31 @@ +configure: Use AC_COMPILE_IFELSE for ICU check for cross compilation compat + +AC_RUN_IFELSE doesn't work when cross compiling, but we can do the +check in the preprocessor instead, so use AC_COMPILE_IFELSE instead. + +Signed-off-by: Peter Korsgaard +--- + configure.ac | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +Index: beecrypt-4.2.1/configure.ac +=================================================================== +--- beecrypt-4.2.1.orig/configure.ac ++++ beecrypt-4.2.1/configure.ac +@@ -295,13 +295,13 @@ + if test "$ac_with_cplusplus" = yes; then + AC_MSG_CHECKING([for IBM's ICU library version >= 2.8]) + AC_LANG_PUSH(C) +- AC_RUN_IFELSE([ ++ AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[#include ]],[[ + #if U_ICU_VERSION_MAJOR_NUM < 2 +- exit(1); ++ #error too old + #elif U_ICU_VERSION_MAJOR_NUM == 2 + # if U_ICU_VERSION_MINOR_NUM < 8 +- exit(1); ++ #error too old + # else + exit(0); + # endif diff --git a/package/beecrypt/0003-build-system.patch b/package/beecrypt/0003-build-system.patch new file mode 100644 index 0000000000..05746899ef --- /dev/null +++ b/package/beecrypt/0003-build-system.patch @@ -0,0 +1,173 @@ +Fix build with BR2_ENABLE_DEBUG=yes, no need for expert mode anymore + +Otherwise configure issues this error message: +configure: error: --enable-debug cannot be used in conjunction with --enable-expert-mode + +Downloaded from Gentoo: +http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/beecrypt/files/beecrypt-4.2.1-build-system.patch?revision=1.2&view=markup + +This patch also removes the hard-coded CFLAGS provided by beecrypt in favour +of the CFLAGS provided by buildroot. + +Signed-off-by: Bernd Kuhls + +--- beecrypt-4.2.1/configure.ac ++++ beecrypt-4.2.1/configure.ac +@@ -11,7 +11,7 @@ + + # Checks for package options + AC_ARG_ENABLE(expert-mode, [ --enable-expert-mode follow user-defined CFLAGS settings [[default=no]]],[ +- ac_enable_expert_mode=yes ++ ac_enable_expert_mode=$enableval + ],[ + if test "X$CFLAGS" != "X"; then + echo "enabling expert mode" +@@ -25,7 +25,7 @@ + if test "$ac_enable_expert_mode" = yes; then + AC_MSG_ERROR([--enable-debug cannot be used in conjunction with --enable-expert-mode]) + fi +- ac_enable_debug=yes ++ ac_enable_debug=$enableval + ],[ + ac_enable_debug=no + ]) +@@ -456,7 +456,7 @@ + ac_cv_python_include="-I`$PYTHON -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_inc()'`" + ]) + AC_CACHE_CHECK([where to install python libraries], ac_cv_python_libdir, [ +- ac_cv_python_libdir=`$PYTHON -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib()'` ++ ac_cv_python_libdir=`$PYTHON -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib(1, 0)'` + ]) + fi + fi +--- beecrypt-4.2.1/acinclude.m4 ++++ beecrypt-4.2.1/acinclude.m4 +@@ -498,15 +498,6 @@ AC_DEFUN([BEE_GNU_CC],[ + AC_SUBST(OPENMP_LIBS,"-lgomp") + fi + case $bc_target_arch in +- x86_64 | athlon64 | athlon-fx | k8 | opteron | em64t | nocona) +- CC="$CC -m64" +- ;; +- i[[3456]]86 | \ +- pentium* | \ +- athlon*) +- CC="$CC -m32" +- CCAS="$CCAS -m32" +- ;; + ia64) + case $target_os in + # HP/UX on Itanium needs to be told that a long is 64-bit! +@@ -525,17 +516,8 @@ AC_DEFUN([BEE_GNU_CC],[ + aix*) + CC="$CC -maix64" + ;; +- linux*) +- CC="$CC -m64" +- ;; + esac + ;; +- sparc | sparcv8*) +- CC="$CC -m32" +- ;; +- sparc64 | sparcv9*) +- CC="$CC -m64" +- ;; + esac + # Certain platforms needs special flags for multi-threaded code + if test "$ac_enable_threads" = yes; then +@@ -646,14 +646,6 @@ dnl BEE_GNU_CXX + AC_DEFUN([BEE_GNU_CXX],[ + AC_REQUIRE([AC_PROG_CXX]) + case $bc_target_arch in +- x86_64 | athlon64 | athlon-fx | k8 | opteron | em64t | nocona | core2) +- CXX="$CXX -m64" +- ;; +- i[[3456]]86 | \ +- pentium* | \ +- athlon*) +- CXX="$CXX -m32" +- ;; + ia64) + case $target_os in + # HP/UX on Itanium needs to be told that a long is 64-bit! +@@ -672,17 +664,8 @@ AC_DEFUN([BEE_GNU_CXX],[ + aix*) + CXX="$CXX -maix64" + ;; +- linux*) +- CXX="$CXX -m64" +- ;; + esac + ;; +- sparc | sparcv8*) +- CXX="$CXX -m32" +- ;; +- sparc64 | sparcv9*) +- CXX="$CXX -m64" +- ;; + esac + # Certain platforms needs special flags for multi-threaded code + if test "$ac_enable_threads" = yes; then +--- beecrypt-4.2.1/java/Makefile.am ++++ beecrypt-4.2.1/java/Makefile.am +@@ -26,7 +26,7 @@ + + INCLUDES = -I$(top_srcdir)/include + +-libaltdir=$(prefix)/lib@LIBALT@ ++libaltdir=$(libdir) + + libalt_LTLIBRARIES = libbeecrypt_java.la + +--- beecrypt-4.2.1/acinclude.m4 ++++ beecrypt-4.2.1/acinclude.m4 +@@ -1589,20 +1589,5 @@ + AC_SUBST(TYPEDEF_BC_THREADID_T,$bc_typedef_bc_threadid_t) + ]) +- +-AH_BOTTOM([ +-#if ENABLE_THREADS +-# ifndef _REENTRANT +-# define _REENTRANT +-# endif +-# if LINUX +-# define _LIBC_REENTRANT +-# endif +-#else +-# ifdef _REENTRANT +-# undef _REENTRANT +-# endif +-#endif +-]) + + + dnl BEE_THREAD_LOCAL_STORAGE +@@ -1623,7 +1609,5 @@ + ]) + + AH_BOTTOM([ +-#if !ENABLE_THREAD_LOCAL_STORAGE +-# define __thread +-#endif ++#include "config.threads.h" + ]) +--- beecrypt-4.2.1/config.threads.h ++++ beecrypt-4.2.1/config.threads.h +@@ -0,0 +1,16 @@ ++#if ENABLE_THREADS ++# ifndef _REENTRANT ++# define _REENTRANT ++# endif ++# if LINUX ++# define _LIBC_REENTRANT ++# endif ++#else ++# ifdef _REENTRANT ++# undef _REENTRANT ++# endif ++#endif ++ ++#if !ENABLE_THREAD_LOCAL_STORAGE ++# define __thread ++#endif diff --git a/package/beecrypt/0004-gcc-4.7.patch b/package/beecrypt/0004-gcc-4.7.patch new file mode 100644 index 0000000000..767f789069 --- /dev/null +++ b/package/beecrypt/0004-gcc-4.7.patch @@ -0,0 +1,19 @@ +Really fixes gcc-4.7 related compile error: +../../include/beecrypt/c++/util/AbstractSet.h:59:27: error: 'containsAll' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] + +Downloaded from upstream bugtracker: +http://sourceforge.net/p/beecrypt/patches/10/ + +Signed-off-by: Bernd Kuhls + +--- a/include/beecrypt/c++/util/AbstractSet.h ++++ b/include/beecrypt/c++/util/AbstractSet.h +@@ -56,7 +56,7 @@ + if (c->size() != size()) + return false; + +- return containsAll(*c); ++ return this->containsAll(*c); + } + return false; + } diff --git a/package/beecrypt/beecrypt-0001-cppglue.cxx-cplusplus-only.patch b/package/beecrypt/beecrypt-0001-cppglue.cxx-cplusplus-only.patch deleted file mode 100644 index 298e3eba93..0000000000 --- a/package/beecrypt/beecrypt-0001-cppglue.cxx-cplusplus-only.patch +++ /dev/null @@ -1,28 +0,0 @@ -Makefile.am: Only compile/link cppglue.cxx if --with-cplusplus is used - -Bloats libbeecrypt for no use and breaks build on systems without a C++ -compiler. - -Signed-off-by: Peter Korsgaard ---- - Makefile.am | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -Index: beecrypt-4.2.1/Makefile.am -=================================================================== ---- beecrypt-4.2.1.orig/Makefile.am -+++ beecrypt-4.2.1/Makefile.am -@@ -62,7 +62,12 @@ - - lib_LTLIBRARIES = libbeecrypt.la - --libbeecrypt_la_SOURCES = aes.c base64.c beecrypt.c blockmode.c blockpad.c blowfish.c dhies.c dldp.c dlkp.c dlpk.c dlsvdp-dh.c dsa.c elgamal.c endianness.c entropy.c fips186.c hmac.c hmacmd5.c hmacsha1.c hmacsha224.c hmacsha256.c md4.c md5.c hmacsha384.c hmacsha512.c memchunk.c mp.c mpbarrett.c mpnumber.c mpprime.c mtprng.c pkcs1.c pkcs12.c ripemd128.c ripemd160.c ripemd256.c ripemd320.c rsa.c rsakp.c rsapk.c sha1.c sha224.c sha256.c sha384.c sha512.c sha2k32.c sha2k64.c timestamp.c cppglue.cxx -+libbeecrypt_la_SOURCES = aes.c base64.c beecrypt.c blockmode.c blockpad.c blowfish.c dhies.c dldp.c dlkp.c dlpk.c dlsvdp-dh.c dsa.c elgamal.c endianness.c entropy.c fips186.c hmac.c hmacmd5.c hmacsha1.c hmacsha224.c hmacsha256.c md4.c md5.c hmacsha384.c hmacsha512.c memchunk.c mp.c mpbarrett.c mpnumber.c mpprime.c mtprng.c pkcs1.c pkcs12.c ripemd128.c ripemd160.c ripemd256.c ripemd320.c rsa.c rsakp.c rsapk.c sha1.c sha224.c sha256.c sha384.c sha512.c sha2k32.c sha2k64.c timestamp.c -+ -+if WITH_CPLUSPLUS -+libbeecrypt_la_SOURCES += cppglue.cxx -+endif -+ - libbeecrypt_la_DEPENDENCIES = $(BEECRYPT_OBJECTS) - libbeecrypt_la_LIBADD = blowfishopt.lo mpopt.lo sha1opt.lo $(OPENMP_LIBS) - libbeecrypt_la_LDFLAGS = -no-undefined -version-info $(LIBBEECRYPT_LT_CURRENT):$(LIBBEECRYPT_LT_REVISION):$(LIBBEECRYPT_LT_AGE) diff --git a/package/beecrypt/beecrypt-0002-icu-check-cross-compile.patch b/package/beecrypt/beecrypt-0002-icu-check-cross-compile.patch deleted file mode 100644 index cc02116506..0000000000 --- a/package/beecrypt/beecrypt-0002-icu-check-cross-compile.patch +++ /dev/null @@ -1,31 +0,0 @@ -configure: Use AC_COMPILE_IFELSE for ICU check for cross compilation compat - -AC_RUN_IFELSE doesn't work when cross compiling, but we can do the -check in the preprocessor instead, so use AC_COMPILE_IFELSE instead. - -Signed-off-by: Peter Korsgaard ---- - configure.ac | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -Index: beecrypt-4.2.1/configure.ac -=================================================================== ---- beecrypt-4.2.1.orig/configure.ac -+++ beecrypt-4.2.1/configure.ac -@@ -295,13 +295,13 @@ - if test "$ac_with_cplusplus" = yes; then - AC_MSG_CHECKING([for IBM's ICU library version >= 2.8]) - AC_LANG_PUSH(C) -- AC_RUN_IFELSE([ -+ AC_COMPILE_IFELSE([ - AC_LANG_PROGRAM([[#include ]],[[ - #if U_ICU_VERSION_MAJOR_NUM < 2 -- exit(1); -+ #error too old - #elif U_ICU_VERSION_MAJOR_NUM == 2 - # if U_ICU_VERSION_MINOR_NUM < 8 -- exit(1); -+ #error too old - # else - exit(0); - # endif diff --git a/package/beecrypt/beecrypt-0003-build-system.patch b/package/beecrypt/beecrypt-0003-build-system.patch deleted file mode 100644 index 05746899ef..0000000000 --- a/package/beecrypt/beecrypt-0003-build-system.patch +++ /dev/null @@ -1,173 +0,0 @@ -Fix build with BR2_ENABLE_DEBUG=yes, no need for expert mode anymore - -Otherwise configure issues this error message: -configure: error: --enable-debug cannot be used in conjunction with --enable-expert-mode - -Downloaded from Gentoo: -http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/beecrypt/files/beecrypt-4.2.1-build-system.patch?revision=1.2&view=markup - -This patch also removes the hard-coded CFLAGS provided by beecrypt in favour -of the CFLAGS provided by buildroot. - -Signed-off-by: Bernd Kuhls - ---- beecrypt-4.2.1/configure.ac -+++ beecrypt-4.2.1/configure.ac -@@ -11,7 +11,7 @@ - - # Checks for package options - AC_ARG_ENABLE(expert-mode, [ --enable-expert-mode follow user-defined CFLAGS settings [[default=no]]],[ -- ac_enable_expert_mode=yes -+ ac_enable_expert_mode=$enableval - ],[ - if test "X$CFLAGS" != "X"; then - echo "enabling expert mode" -@@ -25,7 +25,7 @@ - if test "$ac_enable_expert_mode" = yes; then - AC_MSG_ERROR([--enable-debug cannot be used in conjunction with --enable-expert-mode]) - fi -- ac_enable_debug=yes -+ ac_enable_debug=$enableval - ],[ - ac_enable_debug=no - ]) -@@ -456,7 +456,7 @@ - ac_cv_python_include="-I`$PYTHON -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_inc()'`" - ]) - AC_CACHE_CHECK([where to install python libraries], ac_cv_python_libdir, [ -- ac_cv_python_libdir=`$PYTHON -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib()'` -+ ac_cv_python_libdir=`$PYTHON -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib(1, 0)'` - ]) - fi - fi ---- beecrypt-4.2.1/acinclude.m4 -+++ beecrypt-4.2.1/acinclude.m4 -@@ -498,15 +498,6 @@ AC_DEFUN([BEE_GNU_CC],[ - AC_SUBST(OPENMP_LIBS,"-lgomp") - fi - case $bc_target_arch in -- x86_64 | athlon64 | athlon-fx | k8 | opteron | em64t | nocona) -- CC="$CC -m64" -- ;; -- i[[3456]]86 | \ -- pentium* | \ -- athlon*) -- CC="$CC -m32" -- CCAS="$CCAS -m32" -- ;; - ia64) - case $target_os in - # HP/UX on Itanium needs to be told that a long is 64-bit! -@@ -525,17 +516,8 @@ AC_DEFUN([BEE_GNU_CC],[ - aix*) - CC="$CC -maix64" - ;; -- linux*) -- CC="$CC -m64" -- ;; - esac - ;; -- sparc | sparcv8*) -- CC="$CC -m32" -- ;; -- sparc64 | sparcv9*) -- CC="$CC -m64" -- ;; - esac - # Certain platforms needs special flags for multi-threaded code - if test "$ac_enable_threads" = yes; then -@@ -646,14 +646,6 @@ dnl BEE_GNU_CXX - AC_DEFUN([BEE_GNU_CXX],[ - AC_REQUIRE([AC_PROG_CXX]) - case $bc_target_arch in -- x86_64 | athlon64 | athlon-fx | k8 | opteron | em64t | nocona | core2) -- CXX="$CXX -m64" -- ;; -- i[[3456]]86 | \ -- pentium* | \ -- athlon*) -- CXX="$CXX -m32" -- ;; - ia64) - case $target_os in - # HP/UX on Itanium needs to be told that a long is 64-bit! -@@ -672,17 +664,8 @@ AC_DEFUN([BEE_GNU_CXX],[ - aix*) - CXX="$CXX -maix64" - ;; -- linux*) -- CXX="$CXX -m64" -- ;; - esac - ;; -- sparc | sparcv8*) -- CXX="$CXX -m32" -- ;; -- sparc64 | sparcv9*) -- CXX="$CXX -m64" -- ;; - esac - # Certain platforms needs special flags for multi-threaded code - if test "$ac_enable_threads" = yes; then ---- beecrypt-4.2.1/java/Makefile.am -+++ beecrypt-4.2.1/java/Makefile.am -@@ -26,7 +26,7 @@ - - INCLUDES = -I$(top_srcdir)/include - --libaltdir=$(prefix)/lib@LIBALT@ -+libaltdir=$(libdir) - - libalt_LTLIBRARIES = libbeecrypt_java.la - ---- beecrypt-4.2.1/acinclude.m4 -+++ beecrypt-4.2.1/acinclude.m4 -@@ -1589,20 +1589,5 @@ - AC_SUBST(TYPEDEF_BC_THREADID_T,$bc_typedef_bc_threadid_t) - ]) -- --AH_BOTTOM([ --#if ENABLE_THREADS --# ifndef _REENTRANT --# define _REENTRANT --# endif --# if LINUX --# define _LIBC_REENTRANT --# endif --#else --# ifdef _REENTRANT --# undef _REENTRANT --# endif --#endif --]) - - - dnl BEE_THREAD_LOCAL_STORAGE -@@ -1623,7 +1609,5 @@ - ]) - - AH_BOTTOM([ --#if !ENABLE_THREAD_LOCAL_STORAGE --# define __thread --#endif -+#include "config.threads.h" - ]) ---- beecrypt-4.2.1/config.threads.h -+++ beecrypt-4.2.1/config.threads.h -@@ -0,0 +1,16 @@ -+#if ENABLE_THREADS -+# ifndef _REENTRANT -+# define _REENTRANT -+# endif -+# if LINUX -+# define _LIBC_REENTRANT -+# endif -+#else -+# ifdef _REENTRANT -+# undef _REENTRANT -+# endif -+#endif -+ -+#if !ENABLE_THREAD_LOCAL_STORAGE -+# define __thread -+#endif diff --git a/package/beecrypt/beecrypt-0004-gcc-4.7.patch b/package/beecrypt/beecrypt-0004-gcc-4.7.patch deleted file mode 100644 index 767f789069..0000000000 --- a/package/beecrypt/beecrypt-0004-gcc-4.7.patch +++ /dev/null @@ -1,19 +0,0 @@ -Really fixes gcc-4.7 related compile error: -../../include/beecrypt/c++/util/AbstractSet.h:59:27: error: 'containsAll' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] - -Downloaded from upstream bugtracker: -http://sourceforge.net/p/beecrypt/patches/10/ - -Signed-off-by: Bernd Kuhls - ---- a/include/beecrypt/c++/util/AbstractSet.h -+++ b/include/beecrypt/c++/util/AbstractSet.h -@@ -56,7 +56,7 @@ - if (c->size() != size()) - return false; - -- return containsAll(*c); -+ return this->containsAll(*c); - } - return false; - } diff --git a/package/bellagio/0001-drop-werror.patch b/package/bellagio/0001-drop-werror.patch new file mode 100644 index 0000000000..39baf421bb --- /dev/null +++ b/package/bellagio/0001-drop-werror.patch @@ -0,0 +1,22 @@ +[PATCH] don't force -Werror in CFLAGS + +Released software shouldn't get built with -Werror. + +Signed-of-by: Peter Korsgaard +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: libomxil-bellagio-0.9.3/configure.ac +=================================================================== +--- libomxil-bellagio-0.9.3.orig/configure.ac ++++ libomxil-bellagio-0.9.3/configure.ac +@@ -5,7 +5,7 @@ + AC_PREREQ([2.59]) + + AC_CONFIG_HEADERS([config.h]) +-CFLAGS="${CFLAGS} -Wall -Werror" ++CFLAGS="${CFLAGS} -Wall" + + ################################################################################ + # Set the shared versioning info, according to section 6.3 of the libtool info # diff --git a/package/bellagio/0002-dynamicloader-linking.patch b/package/bellagio/0002-dynamicloader-linking.patch new file mode 100644 index 0000000000..5e4243d5e1 --- /dev/null +++ b/package/bellagio/0002-dynamicloader-linking.patch @@ -0,0 +1,16 @@ +When libomxdynamicloader.so is loaded, it complains that RM_Deinit can't be resolved. +Link explicitly against omxil-bellagio so that ld.so can find the reference. + +Signed-off-by: Qais Yousef + +--- bellagio-0.9.3/src/dynamic_loader/Makefile.am.old 2012-03-23 15:07:47.379021034 +0000 ++++ bellagio-0.9.3/src/dynamic_loader/Makefile.am 2012-03-23 15:08:47.563034818 +0000 +@@ -3,7 +3,7 @@ + omxdynamicloader_LTLIBRARIES = libomxdynamicloader.la + libomxdynamicloader_la_SOURCES = ste_dynamic_component_loader.c ste_dynamic_component_loader.h + +-libomxdynamicloader_la_LDFLAGS = ++libomxdynamicloader_la_LDFLAGS = -lomxil-bellagio -L$(abs_top_srcdir)/src/.libs + libomxdynamicloader_la_CFLAGS = -I$(top_srcdir)/include \ + -I$(top_srcdir)/src \ + -I$(top_srcdir)/src/base \ diff --git a/package/bellagio/0003-parallel-build.patch b/package/bellagio/0003-parallel-build.patch new file mode 100644 index 0000000000..767bbeb2aa --- /dev/null +++ b/package/bellagio/0003-parallel-build.patch @@ -0,0 +1,16 @@ +Fix dependency issue to allow parallel build + +Signed-off-by: Qais Yousef + +Index: bellagio-0.9.3/src/Makefile.am +=================================================================== +--- bellagio-0.9.3.orig/src/Makefile.am ++++ bellagio-0.9.3/src/Makefile.am +@@ -8,6 +8,7 @@ omxregister_bellagio_SOURCES = omxregist + omxregister_bellagio_CFLAGS = -DOMXILCOMPONENTSPATH=\"$(plugindir)/\" \ + -I$(top_srcdir)/include + omxregister_bellagio_LDFLAGS = -lomxil-bellagio -L$(builddir) ++omxregister_bellagio_DEPENDENCIES = libomxil-bellagio.la + + lib_LTLIBRARIES = libomxil-bellagio.la + libomxil_bellagio_la_SOURCES = component_loader.h \ diff --git a/package/bellagio/0004-segfault-on-removeFromWaitResource.patch b/package/bellagio/0004-segfault-on-removeFromWaitResource.patch new file mode 100644 index 0000000000..f52a2c33f4 --- /dev/null +++ b/package/bellagio/0004-segfault-on-removeFromWaitResource.patch @@ -0,0 +1,37 @@ +We always access globalComponentList[] at indexComponent=-1 which causes a +segfault. Use i as the index instead. + +Signed-off-by: Qais Yousef + +--- bellagio-0.9.3/src/omx_reference_resource_manager.c.old 2012-03-13 10:15:25.743940980 +0000 ++++ bellagio-0.9.3/src/omx_reference_resource_manager.c 2012-03-13 10:18:02.201971009 +0000 +@@ -485,7 +485,6 @@ + OMX_ERRORTYPE RM_removeFromWaitForResource(OMX_COMPONENTTYPE *openmaxStandComp) { + omx_base_component_PrivateType* omx_base_component_Private; + int i = 0; +- int indexComponent = -1; + + DEBUG(DEB_LEV_FUNCTION_NAME, "In %s\n", __func__); + omx_base_component_Private = (omx_base_component_PrivateType*)openmaxStandComp->pComponentPrivate; +@@ -493,16 +492,13 @@ + while(listOfcomponentRegistered[i].component_name != NULL ) { + if (!strcmp(listOfcomponentRegistered[i].component_name, omx_base_component_Private->name)) { + // found component in the list of the resource manager +- removeElemFromList(&globalComponentList[indexComponent], openmaxStandComp); +- break; ++ removeElemFromList(&globalComponentList[i], openmaxStandComp); ++ DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s\n", __func__); ++ return OMX_ErrorNone; + } + i++; + } +- if (indexComponent <0) { +- // No resource to be handled +- DEBUG(DEB_LEV_ERR, "In %s No resource to be handled\n", __func__); +- return OMX_ErrorNone; +- } +- DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s\n", __func__); ++ // No resource to be handled ++ DEBUG(DEB_LEV_ERR, "In %s No resource to be handled\n", __func__); + return OMX_ErrorNone; + } diff --git a/package/bellagio/bellagio-0.9.3-drop-werror.patch b/package/bellagio/bellagio-0.9.3-drop-werror.patch deleted file mode 100644 index 39baf421bb..0000000000 --- a/package/bellagio/bellagio-0.9.3-drop-werror.patch +++ /dev/null @@ -1,22 +0,0 @@ -[PATCH] don't force -Werror in CFLAGS - -Released software shouldn't get built with -Werror. - -Signed-of-by: Peter Korsgaard ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: libomxil-bellagio-0.9.3/configure.ac -=================================================================== ---- libomxil-bellagio-0.9.3.orig/configure.ac -+++ libomxil-bellagio-0.9.3/configure.ac -@@ -5,7 +5,7 @@ - AC_PREREQ([2.59]) - - AC_CONFIG_HEADERS([config.h]) --CFLAGS="${CFLAGS} -Wall -Werror" -+CFLAGS="${CFLAGS} -Wall" - - ################################################################################ - # Set the shared versioning info, according to section 6.3 of the libtool info # diff --git a/package/bellagio/bellagio-0.9.3-dynamicloader-linking.patch b/package/bellagio/bellagio-0.9.3-dynamicloader-linking.patch deleted file mode 100644 index 5e4243d5e1..0000000000 --- a/package/bellagio/bellagio-0.9.3-dynamicloader-linking.patch +++ /dev/null @@ -1,16 +0,0 @@ -When libomxdynamicloader.so is loaded, it complains that RM_Deinit can't be resolved. -Link explicitly against omxil-bellagio so that ld.so can find the reference. - -Signed-off-by: Qais Yousef - ---- bellagio-0.9.3/src/dynamic_loader/Makefile.am.old 2012-03-23 15:07:47.379021034 +0000 -+++ bellagio-0.9.3/src/dynamic_loader/Makefile.am 2012-03-23 15:08:47.563034818 +0000 -@@ -3,7 +3,7 @@ - omxdynamicloader_LTLIBRARIES = libomxdynamicloader.la - libomxdynamicloader_la_SOURCES = ste_dynamic_component_loader.c ste_dynamic_component_loader.h - --libomxdynamicloader_la_LDFLAGS = -+libomxdynamicloader_la_LDFLAGS = -lomxil-bellagio -L$(abs_top_srcdir)/src/.libs - libomxdynamicloader_la_CFLAGS = -I$(top_srcdir)/include \ - -I$(top_srcdir)/src \ - -I$(top_srcdir)/src/base \ diff --git a/package/bellagio/bellagio-0.9.3-parallel-build.patch b/package/bellagio/bellagio-0.9.3-parallel-build.patch deleted file mode 100644 index 767bbeb2aa..0000000000 --- a/package/bellagio/bellagio-0.9.3-parallel-build.patch +++ /dev/null @@ -1,16 +0,0 @@ -Fix dependency issue to allow parallel build - -Signed-off-by: Qais Yousef - -Index: bellagio-0.9.3/src/Makefile.am -=================================================================== ---- bellagio-0.9.3.orig/src/Makefile.am -+++ bellagio-0.9.3/src/Makefile.am -@@ -8,6 +8,7 @@ omxregister_bellagio_SOURCES = omxregist - omxregister_bellagio_CFLAGS = -DOMXILCOMPONENTSPATH=\"$(plugindir)/\" \ - -I$(top_srcdir)/include - omxregister_bellagio_LDFLAGS = -lomxil-bellagio -L$(builddir) -+omxregister_bellagio_DEPENDENCIES = libomxil-bellagio.la - - lib_LTLIBRARIES = libomxil-bellagio.la - libomxil_bellagio_la_SOURCES = component_loader.h \ diff --git a/package/bellagio/bellagio-0.9.3-segfault-on-removeFromWaitResource.patch b/package/bellagio/bellagio-0.9.3-segfault-on-removeFromWaitResource.patch deleted file mode 100644 index f52a2c33f4..0000000000 --- a/package/bellagio/bellagio-0.9.3-segfault-on-removeFromWaitResource.patch +++ /dev/null @@ -1,37 +0,0 @@ -We always access globalComponentList[] at indexComponent=-1 which causes a -segfault. Use i as the index instead. - -Signed-off-by: Qais Yousef - ---- bellagio-0.9.3/src/omx_reference_resource_manager.c.old 2012-03-13 10:15:25.743940980 +0000 -+++ bellagio-0.9.3/src/omx_reference_resource_manager.c 2012-03-13 10:18:02.201971009 +0000 -@@ -485,7 +485,6 @@ - OMX_ERRORTYPE RM_removeFromWaitForResource(OMX_COMPONENTTYPE *openmaxStandComp) { - omx_base_component_PrivateType* omx_base_component_Private; - int i = 0; -- int indexComponent = -1; - - DEBUG(DEB_LEV_FUNCTION_NAME, "In %s\n", __func__); - omx_base_component_Private = (omx_base_component_PrivateType*)openmaxStandComp->pComponentPrivate; -@@ -493,16 +492,13 @@ - while(listOfcomponentRegistered[i].component_name != NULL ) { - if (!strcmp(listOfcomponentRegistered[i].component_name, omx_base_component_Private->name)) { - // found component in the list of the resource manager -- removeElemFromList(&globalComponentList[indexComponent], openmaxStandComp); -- break; -+ removeElemFromList(&globalComponentList[i], openmaxStandComp); -+ DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s\n", __func__); -+ return OMX_ErrorNone; - } - i++; - } -- if (indexComponent <0) { -- // No resource to be handled -- DEBUG(DEB_LEV_ERR, "In %s No resource to be handled\n", __func__); -- return OMX_ErrorNone; -- } -- DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s\n", __func__); -+ // No resource to be handled -+ DEBUG(DEB_LEV_ERR, "In %s No resource to be handled\n", __func__); - return OMX_ErrorNone; - } diff --git a/package/blackbox/0001-Fix-configure-ac.patch b/package/blackbox/0001-Fix-configure-ac.patch new file mode 100644 index 0000000000..180447332c --- /dev/null +++ b/package/blackbox/0001-Fix-configure-ac.patch @@ -0,0 +1,34 @@ +blackbox: merge existing patch and fix lpthread + +Merge the current configure patch into this one so it will patch +configure.ac instead. Also add pthread to libs to fix a linkage problem. + +Signed-off-by: Vicente Olivert Riera +--- blackbox-0.70.1/configure.ac.orig 2013-12-17 11:02:38.799055141 +0000 ++++ blackbox-0.70.1/configure.ac 2013-12-17 11:09:08.421204545 +0000 +@@ -8,14 +8,6 @@ AC_CONFIG_SRCDIR([src/blackbox.cc]) + dnl Determine default prefix + test "x$prefix" = "xNONE" && prefix="$ac_default_prefix" + +-dnl Look in the most logical places for external libraries +-CPPFLAGS="$CPPFLAGS -I$prefix/include" +-LDFLAGS="$LDFLAGS -L$prefix/lib" +-if test "x$prefix" != "x/usr/local"; then +- CPPFLAGS="$CPPFLAGS -I/usr/local/include" +- LDFLAGS="$LDFLAGS -L/usr/local/lib" +-fi +- + dnl Locate required external software + AC_PROG_CC + +@@ -128,6 +120,10 @@ int main(int, char **) + [AC_MSG_RESULT([no])] + ) + ++dnl required pthread ++AC_CHECK_LIB([pthread], ++ [pthread_cancel], ++ [LIBS="$LIBS -lpthread"]) + dnl needed for some X11 libs + AC_CHECK_LIB([nsl], + [t_open], diff --git a/package/blackbox/0002-gcc43.patch b/package/blackbox/0002-gcc43.patch new file mode 100644 index 0000000000..1026bd5c80 --- /dev/null +++ b/package/blackbox/0002-gcc43.patch @@ -0,0 +1,106 @@ +diff -Naupr blackbox-0.70.1.orig/lib/Image.cc blackbox-0.70.1/lib/Image.cc +--- blackbox-0.70.1.orig/lib/Image.cc 2005-04-08 17:41:09.000000000 +0200 ++++ blackbox-0.70.1/lib/Image.cc 2008-02-24 08:31:28.000000000 +0100 +@@ -42,8 +42,9 @@ + + #include + #include +-#include +-#include ++#include ++#include ++#include + + // #define COLORTABLE_DEBUG + // #define MITSHM_DEBUG +diff -Naupr blackbox-0.70.1.orig/lib/Resource.cc blackbox-0.70.1/lib/Resource.cc +--- blackbox-0.70.1.orig/lib/Resource.cc 2005-04-06 23:16:50.000000000 +0200 ++++ blackbox-0.70.1/lib/Resource.cc 2008-02-24 08:33:11.000000000 +0100 +@@ -28,7 +28,8 @@ + #include + #include + +-#include ++#include ++#include + + + bt::Resource::Resource(void) +diff -Naupr blackbox-0.70.1.orig/lib/XDG.cc blackbox-0.70.1/lib/XDG.cc +--- blackbox-0.70.1.orig/lib/XDG.cc 2005-04-06 16:04:38.000000000 +0200 ++++ blackbox-0.70.1/lib/XDG.cc 2008-02-24 08:34:11.000000000 +0100 +@@ -25,7 +25,8 @@ + #include "Util.hh" + #include "XDG.hh" + +-#include ++#include ++#include + + + // make sure directory names end with a slash +diff -Naupr blackbox-0.70.1.orig/src/BlackboxResource.cc blackbox-0.70.1/src/BlackboxResource.cc +--- blackbox-0.70.1.orig/src/BlackboxResource.cc 2005-10-18 09:34:46.000000000 +0200 ++++ blackbox-0.70.1/src/BlackboxResource.cc 2008-02-24 08:34:49.000000000 +0100 +@@ -33,6 +33,8 @@ + #include + #include + ++#include ++ + + BlackboxResource::BlackboxResource(const std::string& rc): rc_file(rc) { + screen_resources = 0; +diff -Naupr blackbox-0.70.1.orig/src/main.cc blackbox-0.70.1/src/main.cc +--- blackbox-0.70.1.orig/src/main.cc 2005-01-03 10:42:57.000000000 +0100 ++++ blackbox-0.70.1/src/main.cc 2008-02-24 08:37:16.000000000 +0100 +@@ -34,7 +34,8 @@ + #include "blackbox.hh" + #include "../version.h" + +-#include ++#include ++#include + + + static void showHelp(int exitval) { +diff -Naupr blackbox-0.70.1.orig/src/Screen.cc blackbox-0.70.1/src/Screen.cc +--- blackbox-0.70.1.orig/src/Screen.cc 2005-10-18 10:07:22.000000000 +0200 ++++ blackbox-0.70.1/src/Screen.cc 2008-02-24 08:35:46.000000000 +0100 +@@ -45,8 +45,9 @@ + #include + #include + #include +-#include + #include ++#include ++#include + + + static bool running = true; +diff -Naupr blackbox-0.70.1.orig/src/ScreenResource.cc blackbox-0.70.1/src/ScreenResource.cc +--- blackbox-0.70.1.orig/src/ScreenResource.cc 2005-04-13 07:54:08.000000000 +0200 ++++ blackbox-0.70.1/src/ScreenResource.cc 2008-02-24 08:36:31.000000000 +0100 +@@ -33,6 +33,8 @@ + + #include + ++#include ++ + + static const int iconify_width = 9; + static const int iconify_height = 9; +diff -Naupr blackbox-0.70.1.orig/util/bsetroot.cc blackbox-0.70.1/util/bsetroot.cc +--- blackbox-0.70.1.orig/util/bsetroot.cc 2005-03-15 08:01:37.000000000 +0100 ++++ blackbox-0.70.1/util/bsetroot.cc 2008-02-24 08:38:41.000000000 +0100 +@@ -30,7 +30,9 @@ + #include + + #include +-#include ++#include ++#include ++#include + + + // ignore all X errors diff --git a/package/blackbox/0003-gcc46-textpropertytostring.patch b/package/blackbox/0003-gcc46-textpropertytostring.patch new file mode 100644 index 0000000000..af03be4b9c --- /dev/null +++ b/package/blackbox/0003-gcc46-textpropertytostring.patch @@ -0,0 +1,34 @@ +[PATCH] fix build issue with gcc 4.6+ + +Debian patch from http://patch-tracker.debian.org/patch/series/dl/blackbox/0.70.1-13/textpropertytostring-unconditional.diff + +Signed-off-by: Peter Korsgaard + +Description: Declare bt::textPropertyToString unconditionally. +Author: Jakub Wilk +Forwarded: no +Bug-Debian: http://bugs.debian.org/614468 +Last-Update: 2011-03-12 + +--- a/lib/Util.hh ++++ b/lib/Util.hh +@@ -25,6 +25,8 @@ + #ifndef __Util_hh + #define __Util_hh + ++#include ++ + #include + #include + +@@ -94,10 +96,8 @@ + + std::string tolower(const std::string &string); + +-#ifdef _XUTIL_H_ + std::string textPropertyToString(::Display *display, + ::XTextProperty& text_prop); +-#endif + + } // namespace bt + diff --git a/package/blackbox/blackbox-001-Fix-configure-ac.patch b/package/blackbox/blackbox-001-Fix-configure-ac.patch deleted file mode 100644 index 180447332c..0000000000 --- a/package/blackbox/blackbox-001-Fix-configure-ac.patch +++ /dev/null @@ -1,34 +0,0 @@ -blackbox: merge existing patch and fix lpthread - -Merge the current configure patch into this one so it will patch -configure.ac instead. Also add pthread to libs to fix a linkage problem. - -Signed-off-by: Vicente Olivert Riera ---- blackbox-0.70.1/configure.ac.orig 2013-12-17 11:02:38.799055141 +0000 -+++ blackbox-0.70.1/configure.ac 2013-12-17 11:09:08.421204545 +0000 -@@ -8,14 +8,6 @@ AC_CONFIG_SRCDIR([src/blackbox.cc]) - dnl Determine default prefix - test "x$prefix" = "xNONE" && prefix="$ac_default_prefix" - --dnl Look in the most logical places for external libraries --CPPFLAGS="$CPPFLAGS -I$prefix/include" --LDFLAGS="$LDFLAGS -L$prefix/lib" --if test "x$prefix" != "x/usr/local"; then -- CPPFLAGS="$CPPFLAGS -I/usr/local/include" -- LDFLAGS="$LDFLAGS -L/usr/local/lib" --fi -- - dnl Locate required external software - AC_PROG_CC - -@@ -128,6 +120,10 @@ int main(int, char **) - [AC_MSG_RESULT([no])] - ) - -+dnl required pthread -+AC_CHECK_LIB([pthread], -+ [pthread_cancel], -+ [LIBS="$LIBS -lpthread"]) - dnl needed for some X11 libs - AC_CHECK_LIB([nsl], - [t_open], diff --git a/package/blackbox/blackbox-002-gcc43.patch b/package/blackbox/blackbox-002-gcc43.patch deleted file mode 100644 index 1026bd5c80..0000000000 --- a/package/blackbox/blackbox-002-gcc43.patch +++ /dev/null @@ -1,106 +0,0 @@ -diff -Naupr blackbox-0.70.1.orig/lib/Image.cc blackbox-0.70.1/lib/Image.cc ---- blackbox-0.70.1.orig/lib/Image.cc 2005-04-08 17:41:09.000000000 +0200 -+++ blackbox-0.70.1/lib/Image.cc 2008-02-24 08:31:28.000000000 +0100 -@@ -42,8 +42,9 @@ - - #include - #include --#include --#include -+#include -+#include -+#include - - // #define COLORTABLE_DEBUG - // #define MITSHM_DEBUG -diff -Naupr blackbox-0.70.1.orig/lib/Resource.cc blackbox-0.70.1/lib/Resource.cc ---- blackbox-0.70.1.orig/lib/Resource.cc 2005-04-06 23:16:50.000000000 +0200 -+++ blackbox-0.70.1/lib/Resource.cc 2008-02-24 08:33:11.000000000 +0100 -@@ -28,7 +28,8 @@ - #include - #include - --#include -+#include -+#include - - - bt::Resource::Resource(void) -diff -Naupr blackbox-0.70.1.orig/lib/XDG.cc blackbox-0.70.1/lib/XDG.cc ---- blackbox-0.70.1.orig/lib/XDG.cc 2005-04-06 16:04:38.000000000 +0200 -+++ blackbox-0.70.1/lib/XDG.cc 2008-02-24 08:34:11.000000000 +0100 -@@ -25,7 +25,8 @@ - #include "Util.hh" - #include "XDG.hh" - --#include -+#include -+#include - - - // make sure directory names end with a slash -diff -Naupr blackbox-0.70.1.orig/src/BlackboxResource.cc blackbox-0.70.1/src/BlackboxResource.cc ---- blackbox-0.70.1.orig/src/BlackboxResource.cc 2005-10-18 09:34:46.000000000 +0200 -+++ blackbox-0.70.1/src/BlackboxResource.cc 2008-02-24 08:34:49.000000000 +0100 -@@ -33,6 +33,8 @@ - #include - #include - -+#include -+ - - BlackboxResource::BlackboxResource(const std::string& rc): rc_file(rc) { - screen_resources = 0; -diff -Naupr blackbox-0.70.1.orig/src/main.cc blackbox-0.70.1/src/main.cc ---- blackbox-0.70.1.orig/src/main.cc 2005-01-03 10:42:57.000000000 +0100 -+++ blackbox-0.70.1/src/main.cc 2008-02-24 08:37:16.000000000 +0100 -@@ -34,7 +34,8 @@ - #include "blackbox.hh" - #include "../version.h" - --#include -+#include -+#include - - - static void showHelp(int exitval) { -diff -Naupr blackbox-0.70.1.orig/src/Screen.cc blackbox-0.70.1/src/Screen.cc ---- blackbox-0.70.1.orig/src/Screen.cc 2005-10-18 10:07:22.000000000 +0200 -+++ blackbox-0.70.1/src/Screen.cc 2008-02-24 08:35:46.000000000 +0100 -@@ -45,8 +45,9 @@ - #include - #include - #include --#include - #include -+#include -+#include - - - static bool running = true; -diff -Naupr blackbox-0.70.1.orig/src/ScreenResource.cc blackbox-0.70.1/src/ScreenResource.cc ---- blackbox-0.70.1.orig/src/ScreenResource.cc 2005-04-13 07:54:08.000000000 +0200 -+++ blackbox-0.70.1/src/ScreenResource.cc 2008-02-24 08:36:31.000000000 +0100 -@@ -33,6 +33,8 @@ - - #include - -+#include -+ - - static const int iconify_width = 9; - static const int iconify_height = 9; -diff -Naupr blackbox-0.70.1.orig/util/bsetroot.cc blackbox-0.70.1/util/bsetroot.cc ---- blackbox-0.70.1.orig/util/bsetroot.cc 2005-03-15 08:01:37.000000000 +0100 -+++ blackbox-0.70.1/util/bsetroot.cc 2008-02-24 08:38:41.000000000 +0100 -@@ -30,7 +30,9 @@ - #include - - #include --#include -+#include -+#include -+#include - - - // ignore all X errors diff --git a/package/blackbox/blackbox-003-gcc46-textpropertytostring.patch b/package/blackbox/blackbox-003-gcc46-textpropertytostring.patch deleted file mode 100644 index af03be4b9c..0000000000 --- a/package/blackbox/blackbox-003-gcc46-textpropertytostring.patch +++ /dev/null @@ -1,34 +0,0 @@ -[PATCH] fix build issue with gcc 4.6+ - -Debian patch from http://patch-tracker.debian.org/patch/series/dl/blackbox/0.70.1-13/textpropertytostring-unconditional.diff - -Signed-off-by: Peter Korsgaard - -Description: Declare bt::textPropertyToString unconditionally. -Author: Jakub Wilk -Forwarded: no -Bug-Debian: http://bugs.debian.org/614468 -Last-Update: 2011-03-12 - ---- a/lib/Util.hh -+++ b/lib/Util.hh -@@ -25,6 +25,8 @@ - #ifndef __Util_hh - #define __Util_hh - -+#include -+ - #include - #include - -@@ -94,10 +96,8 @@ - - std::string tolower(const std::string &string); - --#ifdef _XUTIL_H_ - std::string textPropertyToString(::Display *display, - ::XTextProperty& text_prop); --#endif - - } // namespace bt - diff --git a/package/bluez_utils/0001-enable_cg2900_on_upstream_4.91.patch b/package/bluez_utils/0001-enable_cg2900_on_upstream_4.91.patch new file mode 100644 index 0000000000..e80af5fd90 --- /dev/null +++ b/package/bluez_utils/0001-enable_cg2900_on_upstream_4.91.patch @@ -0,0 +1,106 @@ +From ac7992081abba87627c9e91735b3309584b48585 Mon Sep 17 00:00:00 2001 +From: Gregory Hermant +Date: Wed, 14 Nov 2012 14:27:02 +0100 +Subject: [PATCH] add support for the ST-Ericsson CG2900 GPS FM Bluetooth + combo controller + + +Signed-off-by: Gregory Hermant +--- + tools/hciattach.c | 22 +++++++++++++++------- + tools/hciattach.h | 1 + + 2 files changed, 16 insertions(+), 7 deletions(-) + +diff --git a/tools/hciattach.c b/tools/hciattach.c +index e4d5aa1..7f08243 100644 +--- a/tools/hciattach.c ++++ b/tools/hciattach.c +@@ -1066,6 +1066,11 @@ struct uart_t uart[] = { + { "texasalt", 0x0000, 0x0000, HCI_UART_LL, 115200, 115200, + FLOW_CTL, DISABLE_PM, NULL, texasalt, NULL }, + ++ /* ST-Ericsson CG2900 GPS FM Bluetooth combo controller */ ++ { "cg2900", 0x0000, 0x0000, HCI_UART_STE, 115200, 115200, ++ FLOW_CTL, DISABLE_PM, NULL, NULL }, ++ ++ + /* ST Microelectronics minikits based on STLC2410/STLC2415 */ + { "st", 0x0000, 0x0000, HCI_UART_H4, 57600, 115200, + FLOW_CTL, DISABLE_PM, NULL, st }, +@@ -1157,10 +1162,10 @@ static struct uart_t * get_by_type(char *type) + } + + /* Initialize UART driver */ +-static int init_uart(char *dev, struct uart_t *u, int send_break, int raw) ++static int init_uart(char *dev, struct uart_t *u, int send_break, int raw, int line_disc) + { + struct termios ti; +- int fd, i; ++ int fd; + unsigned long flags = 0; + + if (raw) +@@ -1217,8 +1222,7 @@ static int init_uart(char *dev, struct uart_t *u, int send_break, int raw) + } + + /* Set TTY to N_HCI line discipline */ +- i = N_HCI; +- if (ioctl(fd, TIOCSETD, &i) < 0) { ++ if (ioctl(fd, TIOCSETD, &line_disc) < 0) { + perror("Can't set line discipline"); + return -1; + } +@@ -1243,7 +1247,7 @@ static void usage(void) + { + printf("hciattach - HCI UART driver initialization utility\n"); + printf("Usage:\n"); +- printf("\thciattach [-n] [-p] [-b] [-r] [-t timeout] [-s initial_speed] [speed] [flow|noflow] [bdaddr]\n"); ++ printf("\thciattach [-n] [-p] [-a line_disc_nr] [-b] [-r] [-t timeout] [-s initial_speed] [speed] [flow|noflow] [bdaddr]\n"); + printf("\thciattach -l\n"); + } + +@@ -1252,6 +1256,7 @@ int main(int argc, char *argv[]) + struct uart_t *u = NULL; + int detach, printpid, raw, opt, i, n, ld, err; + int to = 10; ++ int line_disc = N_HCI; + int init_speed = 0; + int send_break = 0; + pid_t pid; +@@ -1264,8 +1269,11 @@ int main(int argc, char *argv[]) + printpid = 0; + raw = 0; + +- while ((opt=getopt(argc, argv, "bnpt:s:lr")) != EOF) { ++ while ((opt=getopt(argc, argv, "bnpt:s:lra:")) != EOF) { + switch(opt) { ++ case 'a': ++ line_disc = atoi(optarg); ++ break; + case 'b': + send_break = 1; + break; +@@ -1381,7 +1389,7 @@ int main(int argc, char *argv[]) + alarm(to); + bcsp_max_retries = to; + +- n = init_uart(dev, u, send_break, raw); ++ n = init_uart(dev, u, send_break, raw, line_disc); + if (n < 0) { + perror("Can't initialize device"); + exit(1); +diff --git a/tools/hciattach.h b/tools/hciattach.h +index fed0d11..09b534d 100644 +--- a/tools/hciattach.h ++++ b/tools/hciattach.h +@@ -39,6 +39,7 @@ + #define HCI_UART_H4DS 3 + #define HCI_UART_LL 4 + #define HCI_UART_ATH3K 5 ++#define HCI_UART_STE 6 + + #define HCI_UART_RAW_DEVICE 0 + +-- +1.7.9.5 + diff --git a/package/bluez_utils/bluez_utils-4.101-enable_cg2900_on_upstream_4.91.patch b/package/bluez_utils/bluez_utils-4.101-enable_cg2900_on_upstream_4.91.patch deleted file mode 100644 index e80af5fd90..0000000000 --- a/package/bluez_utils/bluez_utils-4.101-enable_cg2900_on_upstream_4.91.patch +++ /dev/null @@ -1,106 +0,0 @@ -From ac7992081abba87627c9e91735b3309584b48585 Mon Sep 17 00:00:00 2001 -From: Gregory Hermant -Date: Wed, 14 Nov 2012 14:27:02 +0100 -Subject: [PATCH] add support for the ST-Ericsson CG2900 GPS FM Bluetooth - combo controller - - -Signed-off-by: Gregory Hermant ---- - tools/hciattach.c | 22 +++++++++++++++------- - tools/hciattach.h | 1 + - 2 files changed, 16 insertions(+), 7 deletions(-) - -diff --git a/tools/hciattach.c b/tools/hciattach.c -index e4d5aa1..7f08243 100644 ---- a/tools/hciattach.c -+++ b/tools/hciattach.c -@@ -1066,6 +1066,11 @@ struct uart_t uart[] = { - { "texasalt", 0x0000, 0x0000, HCI_UART_LL, 115200, 115200, - FLOW_CTL, DISABLE_PM, NULL, texasalt, NULL }, - -+ /* ST-Ericsson CG2900 GPS FM Bluetooth combo controller */ -+ { "cg2900", 0x0000, 0x0000, HCI_UART_STE, 115200, 115200, -+ FLOW_CTL, DISABLE_PM, NULL, NULL }, -+ -+ - /* ST Microelectronics minikits based on STLC2410/STLC2415 */ - { "st", 0x0000, 0x0000, HCI_UART_H4, 57600, 115200, - FLOW_CTL, DISABLE_PM, NULL, st }, -@@ -1157,10 +1162,10 @@ static struct uart_t * get_by_type(char *type) - } - - /* Initialize UART driver */ --static int init_uart(char *dev, struct uart_t *u, int send_break, int raw) -+static int init_uart(char *dev, struct uart_t *u, int send_break, int raw, int line_disc) - { - struct termios ti; -- int fd, i; -+ int fd; - unsigned long flags = 0; - - if (raw) -@@ -1217,8 +1222,7 @@ static int init_uart(char *dev, struct uart_t *u, int send_break, int raw) - } - - /* Set TTY to N_HCI line discipline */ -- i = N_HCI; -- if (ioctl(fd, TIOCSETD, &i) < 0) { -+ if (ioctl(fd, TIOCSETD, &line_disc) < 0) { - perror("Can't set line discipline"); - return -1; - } -@@ -1243,7 +1247,7 @@ static void usage(void) - { - printf("hciattach - HCI UART driver initialization utility\n"); - printf("Usage:\n"); -- printf("\thciattach [-n] [-p] [-b] [-r] [-t timeout] [-s initial_speed] [speed] [flow|noflow] [bdaddr]\n"); -+ printf("\thciattach [-n] [-p] [-a line_disc_nr] [-b] [-r] [-t timeout] [-s initial_speed] [speed] [flow|noflow] [bdaddr]\n"); - printf("\thciattach -l\n"); - } - -@@ -1252,6 +1256,7 @@ int main(int argc, char *argv[]) - struct uart_t *u = NULL; - int detach, printpid, raw, opt, i, n, ld, err; - int to = 10; -+ int line_disc = N_HCI; - int init_speed = 0; - int send_break = 0; - pid_t pid; -@@ -1264,8 +1269,11 @@ int main(int argc, char *argv[]) - printpid = 0; - raw = 0; - -- while ((opt=getopt(argc, argv, "bnpt:s:lr")) != EOF) { -+ while ((opt=getopt(argc, argv, "bnpt:s:lra:")) != EOF) { - switch(opt) { -+ case 'a': -+ line_disc = atoi(optarg); -+ break; - case 'b': - send_break = 1; - break; -@@ -1381,7 +1389,7 @@ int main(int argc, char *argv[]) - alarm(to); - bcsp_max_retries = to; - -- n = init_uart(dev, u, send_break, raw); -+ n = init_uart(dev, u, send_break, raw, line_disc); - if (n < 0) { - perror("Can't initialize device"); - exit(1); -diff --git a/tools/hciattach.h b/tools/hciattach.h -index fed0d11..09b534d 100644 ---- a/tools/hciattach.h -+++ b/tools/hciattach.h -@@ -39,6 +39,7 @@ - #define HCI_UART_H4DS 3 - #define HCI_UART_LL 4 - #define HCI_UART_ATH3K 5 -+#define HCI_UART_STE 6 - - #define HCI_UART_RAW_DEVICE 0 - --- -1.7.9.5 - diff --git a/package/boost/0001-fix-ambiguous-format-call-on-64bit-builds.patch b/package/boost/0001-fix-ambiguous-format-call-on-64bit-builds.patch new file mode 100644 index 0000000000..e8972fd726 --- /dev/null +++ b/package/boost/0001-fix-ambiguous-format-call-on-64bit-builds.patch @@ -0,0 +1,27 @@ +boost: fix ambiguous format call on 64-bit builds + +Fixes problem: + +libs/locale/src/icu/formatter.cpp: In member function +'virtual std::basic_string<_CharT, std::char_traits<_CharT>, std::allocator<_CharT> > boost::locale::impl_icu::number_format::format(boost::int64_t, size_t&) const': +libs/locale/src/icu/formatter.cpp:61: error: call of overloaded 'format(boost::int64_t&, icu_49::UnicodeString&)' is ambiguous +/ec/include/unicode/numfmt.h:317: note: candidates are: icu_49::UnicodeString& icu_49::NumberFormat::format(double, icu_49::UnicodeString&) const +/ec/include/unicode/numfmt.h:330: note: icu_49::UnicodeString& icu_49::NumberFormat::format(int32_t, icu_49::UnicodeString&) const +/ec/include/unicode/numfmt.h:343: note: icu_49::UnicodeString& icu_49::NumberFormat::format(int64_t, icu_49::UnicodeString&) const + +Signed-off-by: Thomas De Schampheleire +Backported-from: https://svn.boost.org/trac/boost/ticket/6851 + + +diff -ruN boost_1_49_0.orig/libs/locale/src/icu/formatter.cpp boost_1_49_0/libs/locale/src/icu/formatter.cpp +--- boost_1_49_0.orig/libs/locale/src/icu/formatter.cpp 2011-07-12 14:57:36.000000000 +0100 ++++ boost_1_49_0/libs/locale/src/icu/formatter.cpp 2012-05-01 14:27:54.000000000 +0100 +@@ -58,7 +58,7 @@ + virtual string_type format(int64_t value,size_t &code_points) const + { + icu::UnicodeString tmp; +- icu_fmt_->format(value,tmp); ++ icu_fmt_->format(::int64_t(value),tmp); + code_points=tmp.countChar32(); + return cvt_.std(tmp); + } diff --git a/package/boost/boost-0001-fix-ambiguous-format-call-on-64bit-builds.patch b/package/boost/boost-0001-fix-ambiguous-format-call-on-64bit-builds.patch deleted file mode 100644 index e8972fd726..0000000000 --- a/package/boost/boost-0001-fix-ambiguous-format-call-on-64bit-builds.patch +++ /dev/null @@ -1,27 +0,0 @@ -boost: fix ambiguous format call on 64-bit builds - -Fixes problem: - -libs/locale/src/icu/formatter.cpp: In member function -'virtual std::basic_string<_CharT, std::char_traits<_CharT>, std::allocator<_CharT> > boost::locale::impl_icu::number_format::format(boost::int64_t, size_t&) const': -libs/locale/src/icu/formatter.cpp:61: error: call of overloaded 'format(boost::int64_t&, icu_49::UnicodeString&)' is ambiguous -/ec/include/unicode/numfmt.h:317: note: candidates are: icu_49::UnicodeString& icu_49::NumberFormat::format(double, icu_49::UnicodeString&) const -/ec/include/unicode/numfmt.h:330: note: icu_49::UnicodeString& icu_49::NumberFormat::format(int32_t, icu_49::UnicodeString&) const -/ec/include/unicode/numfmt.h:343: note: icu_49::UnicodeString& icu_49::NumberFormat::format(int64_t, icu_49::UnicodeString&) const - -Signed-off-by: Thomas De Schampheleire -Backported-from: https://svn.boost.org/trac/boost/ticket/6851 - - -diff -ruN boost_1_49_0.orig/libs/locale/src/icu/formatter.cpp boost_1_49_0/libs/locale/src/icu/formatter.cpp ---- boost_1_49_0.orig/libs/locale/src/icu/formatter.cpp 2011-07-12 14:57:36.000000000 +0100 -+++ boost_1_49_0/libs/locale/src/icu/formatter.cpp 2012-05-01 14:27:54.000000000 +0100 -@@ -58,7 +58,7 @@ - virtual string_type format(int64_t value,size_t &code_points) const - { - icu::UnicodeString tmp; -- icu_fmt_->format(value,tmp); -+ icu_fmt_->format(::int64_t(value),tmp); - code_points=tmp.countChar32(); - return cvt_.std(tmp); - } diff --git a/package/bridge-utils/0001-build-system.patch b/package/bridge-utils/0001-build-system.patch new file mode 100644 index 0000000000..f44737750b --- /dev/null +++ b/package/bridge-utils/0001-build-system.patch @@ -0,0 +1,11 @@ +--- bridge-utils-0.9.6/libbridge/Makefile.in.dist 2004-03-01 20:55:52.000000000 -0600 ++++ bridge-utils-0.9.6/libbridge/Makefile.in 2004-03-01 20:56:23.000000000 -0600 +@@ -5,7 +5,7 @@ + RANLIB=@RANLIB@ + + CC=@CC@ +-CFLAGS = -Wall -g $(KERNEL_HEADERS) ++CFLAGS = -Wall -g @CFLAGS@ $(KERNEL_HEADERS) + + prefix=@prefix@ + exec_prefix=@exec_prefix@ diff --git a/package/bridge-utils/0002-fix-for-kernel-headers-3.8+.patch b/package/bridge-utils/0002-fix-for-kernel-headers-3.8+.patch new file mode 100644 index 0000000000..0455a9085c --- /dev/null +++ b/package/bridge-utils/0002-fix-for-kernel-headers-3.8+.patch @@ -0,0 +1,30 @@ +commit 5eebb7f9288b7881ffb929b1fd494fe3ac3be27d +Author: Russell Senior +Date: Wed Mar 6 12:49:42 2013 -0800 + + bridge-utils: Fix compile against linux-3.8.x + + Linux 3.8 has a header, include/uapi/linux/if_bridge.h that uses a + struct in6_addr but doesn't define it. The trivial seeming fix of + including the header that does define it causes more problems. The + problem was discussed on mailing lists in January 2013. The final + suggestion I found was here: + + http://www.redhat.com/archives/libvir-list/2013-January/msg01253.html + + This is intended to implement that suggestion. + + Signed-off-by: Russell Senior + +diff --git a/libbridge/libbridge.h b/libbridge/libbridge.h +index 39964f2..dd14bae 100644 +--- a/libbridge/libbridge.h ++++ b/libbridge/libbridge.h +@@ -20,6 +20,7 @@ + #define _LIBBRIDGE_H + + #include ++#include + #include + #include + diff --git a/package/bridge-utils/bridge-utils-000-build-system.patch b/package/bridge-utils/bridge-utils-000-build-system.patch deleted file mode 100644 index f44737750b..0000000000 --- a/package/bridge-utils/bridge-utils-000-build-system.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- bridge-utils-0.9.6/libbridge/Makefile.in.dist 2004-03-01 20:55:52.000000000 -0600 -+++ bridge-utils-0.9.6/libbridge/Makefile.in 2004-03-01 20:56:23.000000000 -0600 -@@ -5,7 +5,7 @@ - RANLIB=@RANLIB@ - - CC=@CC@ --CFLAGS = -Wall -g $(KERNEL_HEADERS) -+CFLAGS = -Wall -g @CFLAGS@ $(KERNEL_HEADERS) - - prefix=@prefix@ - exec_prefix=@exec_prefix@ diff --git a/package/bridge-utils/bridge-utils-001-fix-for-kernel-headers-3.8+.patch b/package/bridge-utils/bridge-utils-001-fix-for-kernel-headers-3.8+.patch deleted file mode 100644 index 0455a9085c..0000000000 --- a/package/bridge-utils/bridge-utils-001-fix-for-kernel-headers-3.8+.patch +++ /dev/null @@ -1,30 +0,0 @@ -commit 5eebb7f9288b7881ffb929b1fd494fe3ac3be27d -Author: Russell Senior -Date: Wed Mar 6 12:49:42 2013 -0800 - - bridge-utils: Fix compile against linux-3.8.x - - Linux 3.8 has a header, include/uapi/linux/if_bridge.h that uses a - struct in6_addr but doesn't define it. The trivial seeming fix of - including the header that does define it causes more problems. The - problem was discussed on mailing lists in January 2013. The final - suggestion I found was here: - - http://www.redhat.com/archives/libvir-list/2013-January/msg01253.html - - This is intended to implement that suggestion. - - Signed-off-by: Russell Senior - -diff --git a/libbridge/libbridge.h b/libbridge/libbridge.h -index 39964f2..dd14bae 100644 ---- a/libbridge/libbridge.h -+++ b/libbridge/libbridge.h -@@ -20,6 +20,7 @@ - #define _LIBBRIDGE_H - - #include -+#include - #include - #include - diff --git a/package/bzip2/0001-build-objects-twice.patch b/package/bzip2/0001-build-objects-twice.patch new file mode 100644 index 0000000000..9bde0f6488 --- /dev/null +++ b/package/bzip2/0001-build-objects-twice.patch @@ -0,0 +1,56 @@ +Build objects twice for shared and static libraries + +The existing Makefile causes problems on MIPS because the same object +files (not compiled with -fPIC) are used in static and shared libraries. +MIPS will refuce to link non-pic objects in shared libraries. +We fix this problems by creating a new rule for the shared library +and build the shared objects as *.sho instead of *.o. +Then, we use these objects to create the shared library. + +Signed-off-by: Markos Chandras + +Index: bzip2-1.0.6/Makefile-libbz2_so +=================================================================== +--- bzip2-1.0.6.orig/Makefile-libbz2_so ++++ bzip2-1.0.6/Makefile-libbz2_so +@@ -25,13 +25,13 @@ SHELL=/bin/sh + CC=gcc + override CFLAGS += -fpic -fPIC -Wall + +-OBJS= blocksort.o \ +- huffman.o \ +- crctable.o \ +- randtable.o \ +- compress.o \ +- decompress.o \ +- bzlib.o ++OBJS= blocksort.sho \ ++ huffman.sho \ ++ crctable.sho \ ++ randtable.sho \ ++ compress.sho \ ++ decompress.sho \ ++ bzlib.sho + + all: $(OBJS) + $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6 $(OBJS) +@@ -45,17 +45,5 @@ install: + clean: + rm -f $(OBJS) bzip2.o libbz2.so.1.0.6 libbz2.so.1.0 bzip2-shared + +-blocksort.o: blocksort.c +- $(CC) $(CFLAGS) -c blocksort.c +-huffman.o: huffman.c +- $(CC) $(CFLAGS) -c huffman.c +-crctable.o: crctable.c +- $(CC) $(CFLAGS) -c crctable.c +-randtable.o: randtable.c +- $(CC) $(CFLAGS) -c randtable.c +-compress.o: compress.c +- $(CC) $(CFLAGS) -c compress.c +-decompress.o: decompress.c +- $(CC) $(CFLAGS) -c decompress.c +-bzlib.o: bzlib.c +- $(CC) $(CFLAGS) -c bzlib.c ++%.sho: %.c ++ $(CC) $(CFLAGS) -o $@ -c $< diff --git a/package/bzip2/0002-improve-build-system.patch b/package/bzip2/0002-improve-build-system.patch new file mode 100644 index 0000000000..90099aa288 --- /dev/null +++ b/package/bzip2/0002-improve-build-system.patch @@ -0,0 +1,84 @@ +Improve bzip2 build system + +This patch makes a number of improvements to the bzip2 build system: + + * Remove the BIGFILE variable that was used to force largefile + support. Now, the user of the Makefile is supposed to pass + -D_FILE_OFFSET_BITS=64 when largefile support is desired. + + * Use override CFLAGS += so that additional CFLAGS can be passed on + the command line. + + * Removed "forced" CFLAGS -O2, -g and -Winline. We don't want them by + default, and want the build system to use its own ones. + + * When creating the symbolic links bzegrep, bzfgrep, bzless and + bzcmp, don't link them to an absolute path, or they'll point to + some path on the build machine. + + * Provide an install target for the shared library, which creates the + appropriate symbolic links. + +Signed-off-by: Thomas Petazzoni + +Index: b/Makefile +=================================================================== +--- a/Makefile ++++ b/Makefile +@@ -20,8 +20,7 @@ + RANLIB=ranlib + LDFLAGS= + +-BIGFILES=-D_FILE_OFFSET_BITS=64 +-CFLAGS=-Wall -Winline -O2 -g $(BIGFILES) ++override CFLAGS += -Wall + + # Where you want it installed when you do 'make install' + PREFIX=/usr/local +@@ -90,14 +89,14 @@ + cp -f libbz2.a $(PREFIX)/lib + chmod a+r $(PREFIX)/lib/libbz2.a + cp -f bzgrep $(PREFIX)/bin/bzgrep +- ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzegrep +- ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzfgrep ++ ln -s -f bzgrep $(PREFIX)/bin/bzegrep ++ ln -s -f bzgrep $(PREFIX)/bin/bzfgrep + chmod a+x $(PREFIX)/bin/bzgrep + cp -f bzmore $(PREFIX)/bin/bzmore +- ln -s -f $(PREFIX)/bin/bzmore $(PREFIX)/bin/bzless ++ ln -s -f bzmore $(PREFIX)/bin/bzless + chmod a+x $(PREFIX)/bin/bzmore + cp -f bzdiff $(PREFIX)/bin/bzdiff +- ln -s -f $(PREFIX)/bin/bzdiff $(PREFIX)/bin/bzcmp ++ ln -s -f bzdiff $(PREFIX)/bin/bzcmp + chmod a+x $(PREFIX)/bin/bzdiff + cp -f bzgrep.1 bzmore.1 bzdiff.1 $(PREFIX)/man/man1 + chmod a+r $(PREFIX)/man/man1/bzgrep.1 +Index: b/Makefile-libbz2_so +=================================================================== +--- a/Makefile-libbz2_so ++++ b/Makefile-libbz2_so +@@ -23,8 +23,7 @@ + + SHELL=/bin/sh + CC=gcc +-BIGFILES=-D_FILE_OFFSET_BITS=64 +-CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES) ++override CFLAGS += -fpic -fPIC -Wall + + OBJS= blocksort.o \ + huffman.o \ +@@ -37,8 +36,11 @@ + all: $(OBJS) + $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6 $(OBJS) + $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.6 +- rm -f libbz2.so.1.0 +- ln -s libbz2.so.1.0.6 libbz2.so.1.0 ++ ++install: ++ install -m 0755 -D libbz2.so.1.0.6 $(PREFIX)/lib/libbz2.so.1.0.6 ++ ln -sf libbz2.so.1.0.6 $(PREFIX)/lib/libbz2.so ++ ln -sf libbz2.so.1.0.6 $(PREFIX)/lib/libbz2.so.1.0 + + clean: + rm -f $(OBJS) bzip2.o libbz2.so.1.0.6 libbz2.so.1.0 bzip2-shared diff --git a/package/bzip2/bzip2-build-objects-twice.patch b/package/bzip2/bzip2-build-objects-twice.patch deleted file mode 100644 index 9bde0f6488..0000000000 --- a/package/bzip2/bzip2-build-objects-twice.patch +++ /dev/null @@ -1,56 +0,0 @@ -Build objects twice for shared and static libraries - -The existing Makefile causes problems on MIPS because the same object -files (not compiled with -fPIC) are used in static and shared libraries. -MIPS will refuce to link non-pic objects in shared libraries. -We fix this problems by creating a new rule for the shared library -and build the shared objects as *.sho instead of *.o. -Then, we use these objects to create the shared library. - -Signed-off-by: Markos Chandras - -Index: bzip2-1.0.6/Makefile-libbz2_so -=================================================================== ---- bzip2-1.0.6.orig/Makefile-libbz2_so -+++ bzip2-1.0.6/Makefile-libbz2_so -@@ -25,13 +25,13 @@ SHELL=/bin/sh - CC=gcc - override CFLAGS += -fpic -fPIC -Wall - --OBJS= blocksort.o \ -- huffman.o \ -- crctable.o \ -- randtable.o \ -- compress.o \ -- decompress.o \ -- bzlib.o -+OBJS= blocksort.sho \ -+ huffman.sho \ -+ crctable.sho \ -+ randtable.sho \ -+ compress.sho \ -+ decompress.sho \ -+ bzlib.sho - - all: $(OBJS) - $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6 $(OBJS) -@@ -45,17 +45,5 @@ install: - clean: - rm -f $(OBJS) bzip2.o libbz2.so.1.0.6 libbz2.so.1.0 bzip2-shared - --blocksort.o: blocksort.c -- $(CC) $(CFLAGS) -c blocksort.c --huffman.o: huffman.c -- $(CC) $(CFLAGS) -c huffman.c --crctable.o: crctable.c -- $(CC) $(CFLAGS) -c crctable.c --randtable.o: randtable.c -- $(CC) $(CFLAGS) -c randtable.c --compress.o: compress.c -- $(CC) $(CFLAGS) -c compress.c --decompress.o: decompress.c -- $(CC) $(CFLAGS) -c decompress.c --bzlib.o: bzlib.c -- $(CC) $(CFLAGS) -c bzlib.c -+%.sho: %.c -+ $(CC) $(CFLAGS) -o $@ -c $< diff --git a/package/bzip2/bzip2-improve-build-system.patch b/package/bzip2/bzip2-improve-build-system.patch deleted file mode 100644 index 90099aa288..0000000000 --- a/package/bzip2/bzip2-improve-build-system.patch +++ /dev/null @@ -1,84 +0,0 @@ -Improve bzip2 build system - -This patch makes a number of improvements to the bzip2 build system: - - * Remove the BIGFILE variable that was used to force largefile - support. Now, the user of the Makefile is supposed to pass - -D_FILE_OFFSET_BITS=64 when largefile support is desired. - - * Use override CFLAGS += so that additional CFLAGS can be passed on - the command line. - - * Removed "forced" CFLAGS -O2, -g and -Winline. We don't want them by - default, and want the build system to use its own ones. - - * When creating the symbolic links bzegrep, bzfgrep, bzless and - bzcmp, don't link them to an absolute path, or they'll point to - some path on the build machine. - - * Provide an install target for the shared library, which creates the - appropriate symbolic links. - -Signed-off-by: Thomas Petazzoni - -Index: b/Makefile -=================================================================== ---- a/Makefile -+++ b/Makefile -@@ -20,8 +20,7 @@ - RANLIB=ranlib - LDFLAGS= - --BIGFILES=-D_FILE_OFFSET_BITS=64 --CFLAGS=-Wall -Winline -O2 -g $(BIGFILES) -+override CFLAGS += -Wall - - # Where you want it installed when you do 'make install' - PREFIX=/usr/local -@@ -90,14 +89,14 @@ - cp -f libbz2.a $(PREFIX)/lib - chmod a+r $(PREFIX)/lib/libbz2.a - cp -f bzgrep $(PREFIX)/bin/bzgrep -- ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzegrep -- ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzfgrep -+ ln -s -f bzgrep $(PREFIX)/bin/bzegrep -+ ln -s -f bzgrep $(PREFIX)/bin/bzfgrep - chmod a+x $(PREFIX)/bin/bzgrep - cp -f bzmore $(PREFIX)/bin/bzmore -- ln -s -f $(PREFIX)/bin/bzmore $(PREFIX)/bin/bzless -+ ln -s -f bzmore $(PREFIX)/bin/bzless - chmod a+x $(PREFIX)/bin/bzmore - cp -f bzdiff $(PREFIX)/bin/bzdiff -- ln -s -f $(PREFIX)/bin/bzdiff $(PREFIX)/bin/bzcmp -+ ln -s -f bzdiff $(PREFIX)/bin/bzcmp - chmod a+x $(PREFIX)/bin/bzdiff - cp -f bzgrep.1 bzmore.1 bzdiff.1 $(PREFIX)/man/man1 - chmod a+r $(PREFIX)/man/man1/bzgrep.1 -Index: b/Makefile-libbz2_so -=================================================================== ---- a/Makefile-libbz2_so -+++ b/Makefile-libbz2_so -@@ -23,8 +23,7 @@ - - SHELL=/bin/sh - CC=gcc --BIGFILES=-D_FILE_OFFSET_BITS=64 --CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES) -+override CFLAGS += -fpic -fPIC -Wall - - OBJS= blocksort.o \ - huffman.o \ -@@ -37,8 +36,11 @@ - all: $(OBJS) - $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6 $(OBJS) - $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.6 -- rm -f libbz2.so.1.0 -- ln -s libbz2.so.1.0.6 libbz2.so.1.0 -+ -+install: -+ install -m 0755 -D libbz2.so.1.0.6 $(PREFIX)/lib/libbz2.so.1.0.6 -+ ln -sf libbz2.so.1.0.6 $(PREFIX)/lib/libbz2.so -+ ln -sf libbz2.so.1.0.6 $(PREFIX)/lib/libbz2.so.1.0 - - clean: - rm -f $(OBJS) bzip2.o libbz2.so.1.0.6 libbz2.so.1.0 bzip2-shared diff --git a/package/c-ares/0001-use_check_build_instead_of_check_user.patch b/package/c-ares/0001-use_check_build_instead_of_check_user.patch new file mode 100644 index 0000000000..8210ed673b --- /dev/null +++ b/package/c-ares/0001-use_check_build_instead_of_check_user.patch @@ -0,0 +1,17 @@ +Use XC_CHECK_BUILD_FLAGS instead of XC_CHECK_USER_FLAGS. +Otherwise it complains of CPPFLAGS in CFLAGS. + +Signed-off-by: Gustavo Zacarias + +diff -Nura c-ares-1.10.0.orig/m4/xc-cc-check.m4 c-ares-1.10.0/m4/xc-cc-check.m4 +--- c-ares-1.10.0.orig/m4/xc-cc-check.m4 2013-12-26 19:40:46.354195974 -0300 ++++ c-ares-1.10.0/m4/xc-cc-check.m4 2013-12-26 19:41:01.850718535 -0300 +@@ -59,7 +59,7 @@ + + AC_DEFUN([_XC_PROG_CC], [ + AC_REQUIRE([_XC_PROG_CC_PREAMBLE])dnl +- AC_REQUIRE([XC_CHECK_USER_FLAGS])dnl ++ AC_REQUIRE([XC_CHECK_BUILD_FLAGS])dnl + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AM_PROG_CC_C_O])dnl diff --git a/package/c-ares/c-ares-01-use_check_build_instead_of_check_user.patch b/package/c-ares/c-ares-01-use_check_build_instead_of_check_user.patch deleted file mode 100644 index 8210ed673b..0000000000 --- a/package/c-ares/c-ares-01-use_check_build_instead_of_check_user.patch +++ /dev/null @@ -1,17 +0,0 @@ -Use XC_CHECK_BUILD_FLAGS instead of XC_CHECK_USER_FLAGS. -Otherwise it complains of CPPFLAGS in CFLAGS. - -Signed-off-by: Gustavo Zacarias - -diff -Nura c-ares-1.10.0.orig/m4/xc-cc-check.m4 c-ares-1.10.0/m4/xc-cc-check.m4 ---- c-ares-1.10.0.orig/m4/xc-cc-check.m4 2013-12-26 19:40:46.354195974 -0300 -+++ c-ares-1.10.0/m4/xc-cc-check.m4 2013-12-26 19:41:01.850718535 -0300 -@@ -59,7 +59,7 @@ - - AC_DEFUN([_XC_PROG_CC], [ - AC_REQUIRE([_XC_PROG_CC_PREAMBLE])dnl -- AC_REQUIRE([XC_CHECK_USER_FLAGS])dnl -+ AC_REQUIRE([XC_CHECK_BUILD_FLAGS])dnl - AC_REQUIRE([AC_PROG_INSTALL])dnl - AC_REQUIRE([AC_PROG_CC])dnl - AC_REQUIRE([AM_PROG_CC_C_O])dnl diff --git a/package/cache-calibrator/0001-Fix-conflicting-round-function.patch b/package/cache-calibrator/0001-Fix-conflicting-round-function.patch new file mode 100644 index 0000000000..71181a6387 --- /dev/null +++ b/package/cache-calibrator/0001-Fix-conflicting-round-function.patch @@ -0,0 +1,108 @@ +From 39ac7268c4350040976005da98daf10edf676d3e Mon Sep 17 00:00:00 2001 +From: Stephan Hoffmann +Date: Mon, 28 Jan 2013 17:32:10 +0100 +Subject: [PATCH] Fix conflicting round() function + +calibrator.c defines a local round() function that conflicts +with the one from the standard library. + +This is fixed by renaming the local function. + +Signed-off-by: Stephan Hoffmann +--- + calibrator.c | 30 +++++++++++++++--------------- + 1 files changed, 15 insertions(+), 15 deletions(-) + +diff --git a/calibrator.c b/calibrator.c +index e045dfd..8471c04 100644 +--- a/calibrator.c ++++ b/calibrator.c +@@ -128,7 +128,7 @@ void ErrXit(char *format, ...) { + exit(1); + } + +-lng round(dbl x) ++lng lng_round(dbl x) + { + return (lng)(x + 0.5); + } +@@ -890,16 +890,16 @@ void plotCache(cacheInfo *cache, lng **result, lng MHz, char *fn, FILE *fp, lng + fprintf(fp, ")\n"); + fprintf(fp, "set y2tics"); + for (l = 0, s = " ("; l <= cache->levels; l++, s = ", ") { +- if (!delay) fprintf(fp, "%s'(%ld)' %f", s, round(CYperIt(cache->latency1[l] - delay)), NSperIt(cache->latency1[l] - delay)); +- else fprintf(fp, "%s'(%ld)' %f", s, round(CYperIt(cache->latency2[l] - delay)), NSperIt(cache->latency2[l] - delay)); ++ if (!delay) fprintf(fp, "%s'(%ld)' %f", s, lng_round(CYperIt(cache->latency1[l] - delay)), NSperIt(cache->latency1[l] - delay)); ++ else fprintf(fp, "%s'(%ld)' %f", s, lng_round(CYperIt(cache->latency2[l] - delay)), NSperIt(cache->latency2[l] - delay)); + } + for (y = 1; y <= yh; y *= 10) { + fprintf(fp, "%s'%1.3g' %ld", s, (dbl)(y * MHz) / 1000.0, y); + } + fprintf(fp, ")\n"); + for (l = 0; l <= cache->levels; l++) { +- if (!delay) z = (dbl)round(CYperIt(cache->latency1[l] - delay)) * 1000.0 / (dbl)MHz; +- else z = (dbl)round(CYperIt(cache->latency2[l] - delay)) * 1000.0 / (dbl)MHz; ++ if (!delay) z = (dbl)lng_round(CYperIt(cache->latency1[l] - delay)) * 1000.0 / (dbl)MHz; ++ else z = (dbl)lng_round(CYperIt(cache->latency2[l] - delay)) * 1000.0 / (dbl)MHz; + fprintf(fp, "set label %ld '(%1.3g) ' at %f,%f right\n", l + 1, z, xl, z); + fprintf(fp, "set arrow %ld from %f,%f to %f,%f nohead lt 0\n", l + 1, xl, z, xh, z); + } +@@ -986,16 +986,16 @@ void plotTLB(TLBinfo *TLB, lng **result, lng MHz, char *fn, FILE *fp, lng delay) + fprintf(fp, "%s'' %ld)\n", s, TLB->mincachelines); + fprintf(fp, "set y2tics"); + for (l = 0, s = " ("; l <= TLB->levels; l++, s = ", ") { +- if (!delay) fprintf(fp, "%s'(%ld)' %f", s, round(CYperIt(TLB->latency1[l] - delay)), NSperIt(TLB->latency1[l] - delay)); +- else fprintf(fp, "%s'(%ld)' %f", s, round(CYperIt(TLB->latency2[l] - delay)), NSperIt(TLB->latency2[l] - delay)); ++ if (!delay) fprintf(fp, "%s'(%ld)' %f", s, lng_round(CYperIt(TLB->latency1[l] - delay)), NSperIt(TLB->latency1[l] - delay)); ++ else fprintf(fp, "%s'(%ld)' %f", s, lng_round(CYperIt(TLB->latency2[l] - delay)), NSperIt(TLB->latency2[l] - delay)); + } + for (y = 1; y <= yh; y *= 10) { + fprintf(fp, "%s'%1.3g' %ld", s, (dbl)(y * MHz) / 1000.0, y); + } + fprintf(fp, ")\n"); + for (l = 0; l <= TLB->levels; l++) { +- if (!delay) z = (dbl)round(CYperIt(TLB->latency1[l] - delay)) * 1000.0 / (dbl)MHz; +- else z = (dbl)round(CYperIt(TLB->latency2[l] - delay)) * 1000.0 / (dbl)MHz; ++ if (!delay) z = (dbl)lng_round(CYperIt(TLB->latency1[l] - delay)) * 1000.0 / (dbl)MHz; ++ else z = (dbl)lng_round(CYperIt(TLB->latency2[l] - delay)) * 1000.0 / (dbl)MHz; + fprintf(fp, "set label %ld '(%1.3g) ' at %f,%f right\n", l + 1, z, xl, z); + fprintf(fp, "set arrow %ld from %f,%f to %f,%f nohead lt 0\n", l + 1, xl, z, xh, z); + } +@@ -1023,9 +1023,9 @@ void printCPU(cacheInfo *cache, lng MHz, lng delay) + FILE *fp = stdout; + + fprintf(fp, "CPU loop + L1 access: "); +- fprintf(fp, " %6.2f ns = %3ld cy\n", NSperIt(cache->latency1[0]), round(CYperIt(cache->latency1[0]))); ++ fprintf(fp, " %6.2f ns = %3ld cy\n", NSperIt(cache->latency1[0]), lng_round(CYperIt(cache->latency1[0]))); + fprintf(fp, " ( delay: "); +- fprintf(fp, " %6.2f ns = %3ld cy )\n", NSperIt(delay), round(CYperIt(delay))); ++ fprintf(fp, " %6.2f ns = %3ld cy )\n", NSperIt(delay), lng_round(CYperIt(delay))); + fprintf(fp, "\n"); + fflush(fp); + } +@@ -1047,8 +1047,8 @@ void printCache(cacheInfo *cache, lng MHz) + fprintf(fp, " %3ld KB ", cache->size[l] / 1024); + } + fprintf(fp, " %3ld bytes ", cache->linesize[l + 1]); +- fprintf(fp, " %6.2f ns = %3ld cy " , NSperIt(cache->latency2[l + 1] - cache->latency2[l]), round(CYperIt(cache->latency2[l + 1] - cache->latency2[l]))); +- fprintf(fp, " %6.2f ns = %3ld cy\n", NSperIt(cache->latency1[l + 1] - cache->latency1[l]), round(CYperIt(cache->latency1[l + 1] - cache->latency1[l]))); ++ fprintf(fp, " %6.2f ns = %3ld cy " , NSperIt(cache->latency2[l + 1] - cache->latency2[l]), lng_round(CYperIt(cache->latency2[l + 1] - cache->latency2[l]))); ++ fprintf(fp, " %6.2f ns = %3ld cy\n", NSperIt(cache->latency1[l + 1] - cache->latency1[l]), lng_round(CYperIt(cache->latency1[l + 1] - cache->latency1[l]))); + } + fprintf(fp, "\n"); + fflush(fp); +@@ -1075,9 +1075,9 @@ void printTLB(TLBinfo *TLB, lng MHz) + } else { + fprintf(fp, " %3ld KB ", TLB->pagesize[l + 1] / 1024); + } +- fprintf(fp, " %6.2f ns = %3ld cy ", NSperIt(TLB->latency2[l + 1] - TLB->latency2[l]), round(CYperIt(TLB->latency2[l + 1] - TLB->latency2[l]))); ++ fprintf(fp, " %6.2f ns = %3ld cy ", NSperIt(TLB->latency2[l + 1] - TLB->latency2[l]), lng_round(CYperIt(TLB->latency2[l + 1] - TLB->latency2[l]))); + /* +- fprintf(fp, " %6.2f ns = %3ld cy" , NSperIt(TLB->latency1[l + 1] - TLB->latency1[l]), round(CYperIt(TLB->latency1[l + 1] - TLB->latency1[l]))); ++ fprintf(fp, " %6.2f ns = %3ld cy" , NSperIt(TLB->latency1[l + 1] - TLB->latency1[l]), lng_round(CYperIt(TLB->latency1[l + 1] - TLB->latency1[l]))); + */ + fprintf(fp, "\n"); + } +-- +1.7.0.4 + diff --git a/package/cache-calibrator/cache-calibrator-Fix-conflicting-round-function.patch b/package/cache-calibrator/cache-calibrator-Fix-conflicting-round-function.patch deleted file mode 100644 index 71181a6387..0000000000 --- a/package/cache-calibrator/cache-calibrator-Fix-conflicting-round-function.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 39ac7268c4350040976005da98daf10edf676d3e Mon Sep 17 00:00:00 2001 -From: Stephan Hoffmann -Date: Mon, 28 Jan 2013 17:32:10 +0100 -Subject: [PATCH] Fix conflicting round() function - -calibrator.c defines a local round() function that conflicts -with the one from the standard library. - -This is fixed by renaming the local function. - -Signed-off-by: Stephan Hoffmann ---- - calibrator.c | 30 +++++++++++++++--------------- - 1 files changed, 15 insertions(+), 15 deletions(-) - -diff --git a/calibrator.c b/calibrator.c -index e045dfd..8471c04 100644 ---- a/calibrator.c -+++ b/calibrator.c -@@ -128,7 +128,7 @@ void ErrXit(char *format, ...) { - exit(1); - } - --lng round(dbl x) -+lng lng_round(dbl x) - { - return (lng)(x + 0.5); - } -@@ -890,16 +890,16 @@ void plotCache(cacheInfo *cache, lng **result, lng MHz, char *fn, FILE *fp, lng - fprintf(fp, ")\n"); - fprintf(fp, "set y2tics"); - for (l = 0, s = " ("; l <= cache->levels; l++, s = ", ") { -- if (!delay) fprintf(fp, "%s'(%ld)' %f", s, round(CYperIt(cache->latency1[l] - delay)), NSperIt(cache->latency1[l] - delay)); -- else fprintf(fp, "%s'(%ld)' %f", s, round(CYperIt(cache->latency2[l] - delay)), NSperIt(cache->latency2[l] - delay)); -+ if (!delay) fprintf(fp, "%s'(%ld)' %f", s, lng_round(CYperIt(cache->latency1[l] - delay)), NSperIt(cache->latency1[l] - delay)); -+ else fprintf(fp, "%s'(%ld)' %f", s, lng_round(CYperIt(cache->latency2[l] - delay)), NSperIt(cache->latency2[l] - delay)); - } - for (y = 1; y <= yh; y *= 10) { - fprintf(fp, "%s'%1.3g' %ld", s, (dbl)(y * MHz) / 1000.0, y); - } - fprintf(fp, ")\n"); - for (l = 0; l <= cache->levels; l++) { -- if (!delay) z = (dbl)round(CYperIt(cache->latency1[l] - delay)) * 1000.0 / (dbl)MHz; -- else z = (dbl)round(CYperIt(cache->latency2[l] - delay)) * 1000.0 / (dbl)MHz; -+ if (!delay) z = (dbl)lng_round(CYperIt(cache->latency1[l] - delay)) * 1000.0 / (dbl)MHz; -+ else z = (dbl)lng_round(CYperIt(cache->latency2[l] - delay)) * 1000.0 / (dbl)MHz; - fprintf(fp, "set label %ld '(%1.3g) ' at %f,%f right\n", l + 1, z, xl, z); - fprintf(fp, "set arrow %ld from %f,%f to %f,%f nohead lt 0\n", l + 1, xl, z, xh, z); - } -@@ -986,16 +986,16 @@ void plotTLB(TLBinfo *TLB, lng **result, lng MHz, char *fn, FILE *fp, lng delay) - fprintf(fp, "%s'' %ld)\n", s, TLB->mincachelines); - fprintf(fp, "set y2tics"); - for (l = 0, s = " ("; l <= TLB->levels; l++, s = ", ") { -- if (!delay) fprintf(fp, "%s'(%ld)' %f", s, round(CYperIt(TLB->latency1[l] - delay)), NSperIt(TLB->latency1[l] - delay)); -- else fprintf(fp, "%s'(%ld)' %f", s, round(CYperIt(TLB->latency2[l] - delay)), NSperIt(TLB->latency2[l] - delay)); -+ if (!delay) fprintf(fp, "%s'(%ld)' %f", s, lng_round(CYperIt(TLB->latency1[l] - delay)), NSperIt(TLB->latency1[l] - delay)); -+ else fprintf(fp, "%s'(%ld)' %f", s, lng_round(CYperIt(TLB->latency2[l] - delay)), NSperIt(TLB->latency2[l] - delay)); - } - for (y = 1; y <= yh; y *= 10) { - fprintf(fp, "%s'%1.3g' %ld", s, (dbl)(y * MHz) / 1000.0, y); - } - fprintf(fp, ")\n"); - for (l = 0; l <= TLB->levels; l++) { -- if (!delay) z = (dbl)round(CYperIt(TLB->latency1[l] - delay)) * 1000.0 / (dbl)MHz; -- else z = (dbl)round(CYperIt(TLB->latency2[l] - delay)) * 1000.0 / (dbl)MHz; -+ if (!delay) z = (dbl)lng_round(CYperIt(TLB->latency1[l] - delay)) * 1000.0 / (dbl)MHz; -+ else z = (dbl)lng_round(CYperIt(TLB->latency2[l] - delay)) * 1000.0 / (dbl)MHz; - fprintf(fp, "set label %ld '(%1.3g) ' at %f,%f right\n", l + 1, z, xl, z); - fprintf(fp, "set arrow %ld from %f,%f to %f,%f nohead lt 0\n", l + 1, xl, z, xh, z); - } -@@ -1023,9 +1023,9 @@ void printCPU(cacheInfo *cache, lng MHz, lng delay) - FILE *fp = stdout; - - fprintf(fp, "CPU loop + L1 access: "); -- fprintf(fp, " %6.2f ns = %3ld cy\n", NSperIt(cache->latency1[0]), round(CYperIt(cache->latency1[0]))); -+ fprintf(fp, " %6.2f ns = %3ld cy\n", NSperIt(cache->latency1[0]), lng_round(CYperIt(cache->latency1[0]))); - fprintf(fp, " ( delay: "); -- fprintf(fp, " %6.2f ns = %3ld cy )\n", NSperIt(delay), round(CYperIt(delay))); -+ fprintf(fp, " %6.2f ns = %3ld cy )\n", NSperIt(delay), lng_round(CYperIt(delay))); - fprintf(fp, "\n"); - fflush(fp); - } -@@ -1047,8 +1047,8 @@ void printCache(cacheInfo *cache, lng MHz) - fprintf(fp, " %3ld KB ", cache->size[l] / 1024); - } - fprintf(fp, " %3ld bytes ", cache->linesize[l + 1]); -- fprintf(fp, " %6.2f ns = %3ld cy " , NSperIt(cache->latency2[l + 1] - cache->latency2[l]), round(CYperIt(cache->latency2[l + 1] - cache->latency2[l]))); -- fprintf(fp, " %6.2f ns = %3ld cy\n", NSperIt(cache->latency1[l + 1] - cache->latency1[l]), round(CYperIt(cache->latency1[l + 1] - cache->latency1[l]))); -+ fprintf(fp, " %6.2f ns = %3ld cy " , NSperIt(cache->latency2[l + 1] - cache->latency2[l]), lng_round(CYperIt(cache->latency2[l + 1] - cache->latency2[l]))); -+ fprintf(fp, " %6.2f ns = %3ld cy\n", NSperIt(cache->latency1[l + 1] - cache->latency1[l]), lng_round(CYperIt(cache->latency1[l + 1] - cache->latency1[l]))); - } - fprintf(fp, "\n"); - fflush(fp); -@@ -1075,9 +1075,9 @@ void printTLB(TLBinfo *TLB, lng MHz) - } else { - fprintf(fp, " %3ld KB ", TLB->pagesize[l + 1] / 1024); - } -- fprintf(fp, " %6.2f ns = %3ld cy ", NSperIt(TLB->latency2[l + 1] - TLB->latency2[l]), round(CYperIt(TLB->latency2[l + 1] - TLB->latency2[l]))); -+ fprintf(fp, " %6.2f ns = %3ld cy ", NSperIt(TLB->latency2[l + 1] - TLB->latency2[l]), lng_round(CYperIt(TLB->latency2[l + 1] - TLB->latency2[l]))); - /* -- fprintf(fp, " %6.2f ns = %3ld cy" , NSperIt(TLB->latency1[l + 1] - TLB->latency1[l]), round(CYperIt(TLB->latency1[l + 1] - TLB->latency1[l]))); -+ fprintf(fp, " %6.2f ns = %3ld cy" , NSperIt(TLB->latency1[l + 1] - TLB->latency1[l]), lng_round(CYperIt(TLB->latency1[l + 1] - TLB->latency1[l]))); - */ - fprintf(fp, "\n"); - } --- -1.7.0.4 - diff --git a/package/cairo/0001-blackfin-build-fix.patch b/package/cairo/0001-blackfin-build-fix.patch new file mode 100644 index 0000000000..0e8dd3ad65 --- /dev/null +++ b/package/cairo/0001-blackfin-build-fix.patch @@ -0,0 +1,55 @@ +Fix build on platforms where __USER_LABEL_PREFIX__ is not empty + +On most platforms, a C language symbol and its assembly equivalent are +identical. However, on the Blackfin architecture, this isn't the case, +the corresponding C language symbol in assembly is prepended with a +"_". Blackfin therefore has __USER_LABEL_PREFIX__ defined to "_". + +Cairo already has some code to cope with __USER_LABEL_PREFIX__, but +this code isn't completely correct: it prepends both assembly symbols +and C symbols with __USER_LABEL_PREFIX__, which cannot work. + +This patch fixes that by using the existing slim_hidden_asmname() to +define assembly symbols, and introduce a new slim_hidden_realname() +for C symbols. + +Signed-off-by: Thomas Petazzoni + +Index: b/src/cairo-compiler-private.h +=================================================================== +--- a/src/cairo-compiler-private.h ++++ b/src/cairo-compiler-private.h +@@ -93,12 +93,13 @@ + __asm__ (slim_hidden_asmname (internal)) + # define slim_hidden_def1(name, internal) \ + extern __typeof (name) EXT_##name __asm__(slim_hidden_asmname(name)) \ +- __attribute__((__alias__(slim_hidden_asmname(internal)))) ++ __attribute__((__alias__(slim_hidden_realname(internal)))) + # define slim_hidden_ulp slim_hidden_ulp1(__USER_LABEL_PREFIX__) + # define slim_hidden_ulp1(x) slim_hidden_ulp2(x) + # define slim_hidden_ulp2(x) #x + # define slim_hidden_asmname(name) slim_hidden_asmname1(name) + # define slim_hidden_asmname1(name) slim_hidden_ulp #name ++# define slim_hidden_realname(name) #name + #else + # define slim_hidden_proto(name) int _cairo_dummy_prototype(void) + # define slim_hidden_proto_no_warn(name) int _cairo_dummy_prototype(void) +Index: b/util/cairo-script/cairo-script-private.h +=================================================================== +--- a/util/cairo-script/cairo-script-private.h ++++ b/util/cairo-script/cairo-script-private.h +@@ -109,12 +109,13 @@ + __asm__ (slim_hidden_asmname (internal)) + # define slim_hidden_def1(name, internal) \ + extern __typeof (name) EXT_##name __asm__(slim_hidden_asmname(name)) \ +- __attribute__((__alias__(slim_hidden_asmname(internal)))) ++ __attribute__((__alias__(slim_hidden_realname(internal)))) + # define slim_hidden_ulp slim_hidden_ulp1(__USER_LABEL_PREFIX__) + # define slim_hidden_ulp1(x) slim_hidden_ulp2(x) + # define slim_hidden_ulp2(x) #x + # define slim_hidden_asmname(name) slim_hidden_asmname1(name) + # define slim_hidden_asmname1(name) slim_hidden_ulp #name ++# define slim_hidden_realname(name) #name + #else + # define slim_hidden_proto(name) int _csi_dummy_prototype(void) + # define slim_hidden_proto_no_warn(name) int _csi_dummy_prototype(void) diff --git a/package/cairo/0002-openvg-build-fix.patch b/package/cairo/0002-openvg-build-fix.patch new file mode 100644 index 0000000000..6614934d3f --- /dev/null +++ b/package/cairo/0002-openvg-build-fix.patch @@ -0,0 +1,28 @@ +Fix build of OpenVG backend on platforms without X11 + +https://bugs.freedesktop.org/show_bug.cgi?id=72911 + +Signed-off-by: Paul Cercueil + +Index: b/boilerplate/cairo-boilerplate-vg.c +=================================================================== +--- a/boilerplate/cairo-boilerplate-vg.c ++++ b/boilerplate/cairo-boilerplate-vg.c +@@ -215,7 +215,7 @@ _cairo_boilerplate_vg_create_surface_egl (const char *name, + EGL_ALPHA_SIZE, 8, + EGL_SURFACE_TYPE, EGL_PBUFFER_BIT, + EGL_RENDERABLE_TYPE, EGL_OPENVG_BIT, +- None ++ EGL_NONE + }; + int rgb_attribs[] = { + EGL_RED_SIZE, 8, +@@ -225,7 +225,7 @@ _cairo_boilerplate_vg_create_surface_egl (const char *name, + EGL_VG_ALPHA_FORMAT, EGL_VG_ALPHA_FORMAT_PRE_BIT, + EGL_SURFACE_TYPE, EGL_PBUFFER_BIT, + EGL_RENDERABLE_TYPE, EGL_OPENVG_BIT, +- None ++ EGL_NONE + }; + int dummy_attribs[] = { + EGL_WIDTH, 8, EGL_HEIGHT, 8, diff --git a/package/cairo/0003-fix-nofork-build.patch b/package/cairo/0003-fix-nofork-build.patch new file mode 100644 index 0000000000..702e9910a5 --- /dev/null +++ b/package/cairo/0003-fix-nofork-build.patch @@ -0,0 +1,29 @@ +test: fix build when SHOULD_FORK is false + +The code in test/cairo-test-runner.c properly takes into account +platforms that do have fork() support, and uses the SHOULD_FORK define +to know whether fork is available or not. + +However, this SHOULD_FORK macro is used to guard the inclusion of +, which is needed to get the prototype of other functions +(namely readlink and getppid), that are used in portions of this file +not guarded by SHOULD_FORK. + +Signed-off-by: Thomas Petazzoni + +Index: b/test/cairo-test-runner.c +=================================================================== +--- a/test/cairo-test-runner.c ++++ b/test/cairo-test-runner.c +@@ -36,10 +36,10 @@ + #include /* for version information */ + + #define SHOULD_FORK HAVE_FORK && HAVE_WAITPID +-#if SHOULD_FORK + #if HAVE_UNISTD_H + #include + #endif ++#if SHOULD_FORK + #if HAVE_SIGNAL_H + #include + #endif diff --git a/package/cairo/0004-fix-nofork-any2ppm.patch b/package/cairo/0004-fix-nofork-any2ppm.patch new file mode 100644 index 0000000000..16cc2e015d --- /dev/null +++ b/package/cairo/0004-fix-nofork-any2ppm.patch @@ -0,0 +1,23 @@ +test: fix build of any2ppm if fork is not available. + +The test program any2ppm can run as daemon. This feature can be disabled at +compile time, if the required headers are not present. However the support for +fork() is not checked. + +This patch fixes this issue. + +Signed-off-by: Eric Le Bihan + +Index: cairo-1.12.10/test/any2ppm.c +=================================================================== +--- cairo-1.12.10.orig/test/any2ppm.c 2012-04-19 14:17:34.000000000 +0200 ++++ cairo-1.12.10/test/any2ppm.c 2014-04-25 11:13:30.000000000 +0200 +@@ -79,7 +79,7 @@ + + #include + +-#if HAVE_UNISTD_H && HAVE_FCNTL_H && HAVE_SIGNAL_H && HAVE_SYS_STAT_H && HAVE_SYS_SOCKET_H && HAVE_SYS_POLL_H && HAVE_SYS_UN_H ++#if HAVE_UNISTD_H && HAVE_FCNTL_H && HAVE_SIGNAL_H && HAVE_SYS_STAT_H && HAVE_SYS_SOCKET_H && HAVE_SYS_POLL_H && HAVE_SYS_UN_H && HAVE_FORK + #include + #include + #include diff --git a/package/cairo/0005-fix-gcc-49-build.patch b/package/cairo/0005-fix-gcc-49-build.patch new file mode 100644 index 0000000000..112c9ea053 --- /dev/null +++ b/package/cairo/0005-fix-gcc-49-build.patch @@ -0,0 +1,38 @@ +Fix build with gcc 4.9 + +cairo fails to build with gcc 4.9 due to a bad interaction of cairo +modules with the LTO mechanism. The suggested workaround is to pass +-ffat-lto-objects. See +https://bugs.freedesktop.org/show_bug.cgi?id=77060 for the upstream +bug report, and +https://bugs.archlinux.org/task/40313?project=1&openedfrom=-1+week for +the ArchLinux bug report. + +This patch passes -ffat-lto-objects when gcc understands this option, +in order to provide compatibility with gcc versions older than 4.8, +which did not provide this option, but are anyway unaffected by the +issue. + +Signed-off-by: Thomas Petazzoni + +Index: b/configure.ac +=================================================================== +--- a/configure.ac ++++ b/configure.ac +@@ -37,6 +37,16 @@ + m4_include(build/configure.ac.pthread) dnl checks for pthreads + AC_CACHE_SAVE + ++old_cflags=$CFLAGS ++CFLAGS=-ffat-lto-objects ++AC_MSG_CHECKING([whether CC supports -ffat-lto-objects]) ++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], ++ [AC_MSG_RESULT([yes])] ++ [LTO_CFLAGS=-ffat-lto-objects], ++ [AC_MSG_RESULT([no])] ++) ++CFLAGS="${old_CFLAGS} ${LTO_CFLAGS}" ++ + dnl =========================================================================== + + AC_CHECK_LIB(z, compress, diff --git a/package/cairo/cairo-001-blackfin-build-fix.patch b/package/cairo/cairo-001-blackfin-build-fix.patch deleted file mode 100644 index 0e8dd3ad65..0000000000 --- a/package/cairo/cairo-001-blackfin-build-fix.patch +++ /dev/null @@ -1,55 +0,0 @@ -Fix build on platforms where __USER_LABEL_PREFIX__ is not empty - -On most platforms, a C language symbol and its assembly equivalent are -identical. However, on the Blackfin architecture, this isn't the case, -the corresponding C language symbol in assembly is prepended with a -"_". Blackfin therefore has __USER_LABEL_PREFIX__ defined to "_". - -Cairo already has some code to cope with __USER_LABEL_PREFIX__, but -this code isn't completely correct: it prepends both assembly symbols -and C symbols with __USER_LABEL_PREFIX__, which cannot work. - -This patch fixes that by using the existing slim_hidden_asmname() to -define assembly symbols, and introduce a new slim_hidden_realname() -for C symbols. - -Signed-off-by: Thomas Petazzoni - -Index: b/src/cairo-compiler-private.h -=================================================================== ---- a/src/cairo-compiler-private.h -+++ b/src/cairo-compiler-private.h -@@ -93,12 +93,13 @@ - __asm__ (slim_hidden_asmname (internal)) - # define slim_hidden_def1(name, internal) \ - extern __typeof (name) EXT_##name __asm__(slim_hidden_asmname(name)) \ -- __attribute__((__alias__(slim_hidden_asmname(internal)))) -+ __attribute__((__alias__(slim_hidden_realname(internal)))) - # define slim_hidden_ulp slim_hidden_ulp1(__USER_LABEL_PREFIX__) - # define slim_hidden_ulp1(x) slim_hidden_ulp2(x) - # define slim_hidden_ulp2(x) #x - # define slim_hidden_asmname(name) slim_hidden_asmname1(name) - # define slim_hidden_asmname1(name) slim_hidden_ulp #name -+# define slim_hidden_realname(name) #name - #else - # define slim_hidden_proto(name) int _cairo_dummy_prototype(void) - # define slim_hidden_proto_no_warn(name) int _cairo_dummy_prototype(void) -Index: b/util/cairo-script/cairo-script-private.h -=================================================================== ---- a/util/cairo-script/cairo-script-private.h -+++ b/util/cairo-script/cairo-script-private.h -@@ -109,12 +109,13 @@ - __asm__ (slim_hidden_asmname (internal)) - # define slim_hidden_def1(name, internal) \ - extern __typeof (name) EXT_##name __asm__(slim_hidden_asmname(name)) \ -- __attribute__((__alias__(slim_hidden_asmname(internal)))) -+ __attribute__((__alias__(slim_hidden_realname(internal)))) - # define slim_hidden_ulp slim_hidden_ulp1(__USER_LABEL_PREFIX__) - # define slim_hidden_ulp1(x) slim_hidden_ulp2(x) - # define slim_hidden_ulp2(x) #x - # define slim_hidden_asmname(name) slim_hidden_asmname1(name) - # define slim_hidden_asmname1(name) slim_hidden_ulp #name -+# define slim_hidden_realname(name) #name - #else - # define slim_hidden_proto(name) int _csi_dummy_prototype(void) - # define slim_hidden_proto_no_warn(name) int _csi_dummy_prototype(void) diff --git a/package/cairo/cairo-002-openvg-build-fix.patch b/package/cairo/cairo-002-openvg-build-fix.patch deleted file mode 100644 index 6614934d3f..0000000000 --- a/package/cairo/cairo-002-openvg-build-fix.patch +++ /dev/null @@ -1,28 +0,0 @@ -Fix build of OpenVG backend on platforms without X11 - -https://bugs.freedesktop.org/show_bug.cgi?id=72911 - -Signed-off-by: Paul Cercueil - -Index: b/boilerplate/cairo-boilerplate-vg.c -=================================================================== ---- a/boilerplate/cairo-boilerplate-vg.c -+++ b/boilerplate/cairo-boilerplate-vg.c -@@ -215,7 +215,7 @@ _cairo_boilerplate_vg_create_surface_egl (const char *name, - EGL_ALPHA_SIZE, 8, - EGL_SURFACE_TYPE, EGL_PBUFFER_BIT, - EGL_RENDERABLE_TYPE, EGL_OPENVG_BIT, -- None -+ EGL_NONE - }; - int rgb_attribs[] = { - EGL_RED_SIZE, 8, -@@ -225,7 +225,7 @@ _cairo_boilerplate_vg_create_surface_egl (const char *name, - EGL_VG_ALPHA_FORMAT, EGL_VG_ALPHA_FORMAT_PRE_BIT, - EGL_SURFACE_TYPE, EGL_PBUFFER_BIT, - EGL_RENDERABLE_TYPE, EGL_OPENVG_BIT, -- None -+ EGL_NONE - }; - int dummy_attribs[] = { - EGL_WIDTH, 8, EGL_HEIGHT, 8, diff --git a/package/cairo/cairo-003-fix-nofork-build.patch b/package/cairo/cairo-003-fix-nofork-build.patch deleted file mode 100644 index 702e9910a5..0000000000 --- a/package/cairo/cairo-003-fix-nofork-build.patch +++ /dev/null @@ -1,29 +0,0 @@ -test: fix build when SHOULD_FORK is false - -The code in test/cairo-test-runner.c properly takes into account -platforms that do have fork() support, and uses the SHOULD_FORK define -to know whether fork is available or not. - -However, this SHOULD_FORK macro is used to guard the inclusion of -, which is needed to get the prototype of other functions -(namely readlink and getppid), that are used in portions of this file -not guarded by SHOULD_FORK. - -Signed-off-by: Thomas Petazzoni - -Index: b/test/cairo-test-runner.c -=================================================================== ---- a/test/cairo-test-runner.c -+++ b/test/cairo-test-runner.c -@@ -36,10 +36,10 @@ - #include /* for version information */ - - #define SHOULD_FORK HAVE_FORK && HAVE_WAITPID --#if SHOULD_FORK - #if HAVE_UNISTD_H - #include - #endif -+#if SHOULD_FORK - #if HAVE_SIGNAL_H - #include - #endif diff --git a/package/cairo/cairo-004-fix-nofork-any2ppm.patch b/package/cairo/cairo-004-fix-nofork-any2ppm.patch deleted file mode 100644 index 16cc2e015d..0000000000 --- a/package/cairo/cairo-004-fix-nofork-any2ppm.patch +++ /dev/null @@ -1,23 +0,0 @@ -test: fix build of any2ppm if fork is not available. - -The test program any2ppm can run as daemon. This feature can be disabled at -compile time, if the required headers are not present. However the support for -fork() is not checked. - -This patch fixes this issue. - -Signed-off-by: Eric Le Bihan - -Index: cairo-1.12.10/test/any2ppm.c -=================================================================== ---- cairo-1.12.10.orig/test/any2ppm.c 2012-04-19 14:17:34.000000000 +0200 -+++ cairo-1.12.10/test/any2ppm.c 2014-04-25 11:13:30.000000000 +0200 -@@ -79,7 +79,7 @@ - - #include - --#if HAVE_UNISTD_H && HAVE_FCNTL_H && HAVE_SIGNAL_H && HAVE_SYS_STAT_H && HAVE_SYS_SOCKET_H && HAVE_SYS_POLL_H && HAVE_SYS_UN_H -+#if HAVE_UNISTD_H && HAVE_FCNTL_H && HAVE_SIGNAL_H && HAVE_SYS_STAT_H && HAVE_SYS_SOCKET_H && HAVE_SYS_POLL_H && HAVE_SYS_UN_H && HAVE_FORK - #include - #include - #include diff --git a/package/cairo/cairo-005-fix-gcc-49-build.patch b/package/cairo/cairo-005-fix-gcc-49-build.patch deleted file mode 100644 index 112c9ea053..0000000000 --- a/package/cairo/cairo-005-fix-gcc-49-build.patch +++ /dev/null @@ -1,38 +0,0 @@ -Fix build with gcc 4.9 - -cairo fails to build with gcc 4.9 due to a bad interaction of cairo -modules with the LTO mechanism. The suggested workaround is to pass --ffat-lto-objects. See -https://bugs.freedesktop.org/show_bug.cgi?id=77060 for the upstream -bug report, and -https://bugs.archlinux.org/task/40313?project=1&openedfrom=-1+week for -the ArchLinux bug report. - -This patch passes -ffat-lto-objects when gcc understands this option, -in order to provide compatibility with gcc versions older than 4.8, -which did not provide this option, but are anyway unaffected by the -issue. - -Signed-off-by: Thomas Petazzoni - -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -37,6 +37,16 @@ - m4_include(build/configure.ac.pthread) dnl checks for pthreads - AC_CACHE_SAVE - -+old_cflags=$CFLAGS -+CFLAGS=-ffat-lto-objects -+AC_MSG_CHECKING([whether CC supports -ffat-lto-objects]) -+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], -+ [AC_MSG_RESULT([yes])] -+ [LTO_CFLAGS=-ffat-lto-objects], -+ [AC_MSG_RESULT([no])] -+) -+CFLAGS="${old_CFLAGS} ${LTO_CFLAGS}" -+ - dnl =========================================================================== - - AC_CHECK_LIB(z, compress, diff --git a/package/canfestival/0001-install-pkgconfig-module-for-canfestival.patch b/package/canfestival/0001-install-pkgconfig-module-for-canfestival.patch new file mode 100644 index 0000000000..23f3d899f1 --- /dev/null +++ b/package/canfestival/0001-install-pkgconfig-module-for-canfestival.patch @@ -0,0 +1,74 @@ +From s.martin49@gmail.com Sun Sep 28 14:59:53 2014 +Content-Type: text/plain; charset="us-ascii" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [PATCH] Install pkgconfig module for canfestival +X-Mercurial-Node: c408fdc77aa18fcda81db4f0d038e8a69ba84bb2 +X-Mercurial-Series-Index: 1 +X-Mercurial-Series-Total: 1 +Message-Id: +X-Mercurial-Series-Id: +User-Agent: Mercurial-patchbomb/3.1.1 +Date: Sun, 28 Sep 2014 14:59:53 +0200 +From: Samuel Martin +To: canfestival-devel@lists.sourceforge.net +Cc: Samuel Martin + +# HG changeset patch +# User "Samuel Martin" +# Date 1411906817 -7200 +# Sun Sep 28 14:20:17 2014 +0200 +# Node ID c408fdc77aa18fcda81db4f0d038e8a69ba84bb2 +# Parent 7740ac6fdedc23e1ed6908d3d7db54833c88572b +Install pkgconfig module for canfestival. + +Signed-off-by: Samuel Martin +Cc: Cluadio Laurita + +diff -r 7740ac6fdedc -r c408fdc77aa1 canfestival.pc.in +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ b/canfestival.pc.in Sun Sep 28 14:20:17 2014 +0200 +@@ -0,0 +1,12 @@ ++PREFIX = SUB_PREFIX ++TARGET = SUB_TARGET ++ ++prefix=${PREFIX} ++libdir=${prefix}/lib ++includedir=${prefix}/include/canfestival ++ ++Name: Canfestival ++Description: Canfestival CANOpen library ++Version: 1 ++Libs: -L${libdir} -lcanfestival -lcanfestival_${TARGET} -lrt -ldl -lpthread ++Cflags: -I${includedir} +diff -r 7740ac6fdedc -r c408fdc77aa1 configure +--- a/configure Thu Jun 12 14:07:16 2014 +0200 ++++ b/configure Sun Sep 28 14:20:17 2014 +0200 +@@ -813,6 +813,10 @@ + MAKEFILES=$MAKEFILES\ drivers/$SUB_TARGET/Makefile.in + fi + ++if [ "$SUB_TARGET" = "unix" ]; then ++ MAKEFILES=$MAKEFILES\ canfestival.pc.in ++fi ++ + if [ "$SUB_TARGET" = "unix" -a "$SUB_TIMERS_DRIVER" = "kernel" ]; then + MAKEFILES=$MAKEFILES\ + \ examples/kerneltest/Makefile.in\ +diff -r 7740ac6fdedc -r c408fdc77aa1 src/Makefile.in +--- a/src/Makefile.in Thu Jun 12 14:07:16 2014 +0200 ++++ b/src/Makefile.in Sun Sep 28 14:20:17 2014 +0200 +@@ -132,9 +132,10 @@ + $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $< + + install: libcanfestival.a +- mkdir -p $(DESTDIR)$(PREFIX)/lib/ ++ mkdir -p $(DESTDIR)$(PREFIX)/lib/pkgconfig + mkdir -p $(DESTDIR)$(PREFIX)/include/canfestival + cp libcanfestival.a $(DESTDIR)$(PREFIX)/lib/ ++ cp ../canfestival.pc $(DESTDIR)$(PREFIX)/lib/pkgconfig/ + cp ../include/*.h $(DESTDIR)$(PREFIX)/include/canfestival + + uninstall: + + diff --git a/package/canfestival/0002-allow-to-set-python-interpreter.patch b/package/canfestival/0002-allow-to-set-python-interpreter.patch new file mode 100644 index 0000000000..bb6031658c --- /dev/null +++ b/package/canfestival/0002-allow-to-set-python-interpreter.patch @@ -0,0 +1,176 @@ +From s.martin49@gmail.com Fri Oct 10 23:43:32 2014 +Content-Type: text/plain; charset="us-ascii" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [PATCH] allow to set python interpreter +X-Mercurial-Node: 4805f636c2317d989a5f704ba691369f41be6595 +X-Mercurial-Series-Index: 1 +X-Mercurial-Series-Total: 1 +Message-Id: <4805f636c2317d989a5f.1412977412@bobook> +X-Mercurial-Series-Id: <4805f636c2317d989a5f.1412977412@bobook> +User-Agent: Mercurial-patchbomb/3.1.2 +Date: Fri, 10 Oct 2014 23:43:32 +0200 +From: Samuel Martin +To: canfestival-devel@lists.sourceforge.net +Cc: Samuel Martin + +# HG changeset patch +# User "Samuel Martin" +# Date 1412977082 -7200 +# Fri Oct 10 23:38:02 2014 +0200 +# Node ID 4805f636c2317d989a5f704ba691369f41be6595 +# Parent c408fdc77aa18fcda81db4f0d038e8a69ba84bb2 +allow to set python interpreter + +Canfestival python modules and scripts are not python3 compliant. + +Allow to pass the python interperter to be used to make. + +Signed-off-by: Samuel Martin + +diff --git a/Makefile.in b/Makefile.in +--- a/Makefile.in ++++ b/Makefile.in +@@ -21,6 +21,9 @@ + # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + # + ++PYTHON ?= python ++export PYTHON ++ + all: objdictedit canfestival examples + + examples: canfestival driver +diff --git a/doc/manual/en/manual.tex b/doc/manual/en/manual.tex +--- a/doc/manual/en/manual.tex ++++ b/doc/manual/en/manual.tex +@@ -1134,6 +1134,7 @@ + python objdictedit.py [od files...] + \end{verbatim} + ++Note that Gnosis modules only run with python2 as interpreter. + + \subsubsection{Installation and usage on Windows} + +diff --git a/examples/CANOpenShell/Makefile.in b/examples/CANOpenShell/Makefile.in +--- a/examples/CANOpenShell/Makefile.in ++++ b/examples/CANOpenShell/Makefile.in +@@ -69,11 +69,11 @@ + + CANOpenShellMasterOD.c: CANOpenShellMasterOD.od + $(MAKE) -C ../../objdictgen gnosis +- python ../../objdictgen/objdictgen.py CANOpenShellMasterOD.od CANOpenShellMasterOD.c ++ $(PYTHON) ../../objdictgen/objdictgen.py CANOpenShellMasterOD.od CANOpenShellMasterOD.c + + CANOpenShellSlaveOD.c: CANOpenShellSlaveOD.od + $(MAKE) -C ../../objdictgen gnosis +- python ../../objdictgen/objdictgen.py CANOpenShellSlaveOD.od CANOpenShellSlaveOD.c ++ $(PYTHON) ../../objdictgen/objdictgen.py CANOpenShellSlaveOD.od CANOpenShellSlaveOD.c + + %.o: %.c + $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $< +diff --git a/examples/DS401_Master/Makefile.in b/examples/DS401_Master/Makefile.in +--- a/examples/DS401_Master/Makefile.in ++++ b/examples/DS401_Master/Makefile.in +@@ -53,7 +53,7 @@ + + TestMaster.c: TestMaster.od + $(MAKE) -C ../../objdictgen gnosis +- python ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c ++ $(PYTHON) ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c + + %.o: %.c + $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $< +diff --git a/examples/DS401_Slave_Gui/Makefile.in b/examples/DS401_Slave_Gui/Makefile.in +--- a/examples/DS401_Slave_Gui/Makefile.in ++++ b/examples/DS401_Slave_Gui/Makefile.in +@@ -59,7 +59,7 @@ + + ObjDict.c: ObjDict.od + $(MAKE) -C ../../objdictgen gnosis +- python ../../objdictgen/objdictgen.py ObjDict.od ObjDict.c ++ $(PYTHON) ../../objdictgen/objdictgen.py ObjDict.od ObjDict.c + + .cpp.o: + $(CXX) -c $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) `wx-config --cxxflags` $< -o $@ +diff --git a/examples/SillySlave/Makefile.in b/examples/SillySlave/Makefile.in +--- a/examples/SillySlave/Makefile.in ++++ b/examples/SillySlave/Makefile.in +@@ -53,7 +53,7 @@ + + SillySlave.c: SillySlave.od + $(MAKE) -C ../../objdictgen gnosis +- python ../../objdictgen/objdictgen.py SillySlave.od SillySlave.c ++ $(PYTHON) ../../objdictgen/objdictgen.py SillySlave.od SillySlave.c + + %.o: %.c + $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $< +diff --git a/examples/TestMasterMicroMod/Makefile.in b/examples/TestMasterMicroMod/Makefile.in +--- a/examples/TestMasterMicroMod/Makefile.in ++++ b/examples/TestMasterMicroMod/Makefile.in +@@ -61,7 +61,7 @@ + + TestMaster.c: TestMaster.od + $(MAKE) -C ../../objdictgen gnosis +- python ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c ++ $(PYTHON) ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c + + %.o: %.c + $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $< +diff --git a/examples/TestMasterSlave/Makefile.in b/examples/TestMasterSlave/Makefile.in +--- a/examples/TestMasterSlave/Makefile.in ++++ b/examples/TestMasterSlave/Makefile.in +@@ -69,11 +69,11 @@ + + TestSlave.c: TestSlave.od + $(MAKE) -C ../../objdictgen gnosis +- python ../../objdictgen/objdictgen.py TestSlave.od TestSlave.c ++ $(PYTHON) ../../objdictgen/objdictgen.py TestSlave.od TestSlave.c + + TestMaster.c: TestMaster.od + $(MAKE) -C ../../objdictgen gnosis +- python ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c ++ $(PYTHON) ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c + + %.o: %.c + $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $< +diff --git a/examples/TestMasterSlaveLSS/Makefile.in b/examples/TestMasterSlaveLSS/Makefile.in +--- a/examples/TestMasterSlaveLSS/Makefile.in ++++ b/examples/TestMasterSlaveLSS/Makefile.in +@@ -64,15 +64,15 @@ + + TestSlaveA.c: TestSlaveA.od + $(MAKE) -C ../../objdictgen gnosis +- python ../../objdictgen/objdictgen.py TestSlaveA.od TestSlaveA.c ++ $(PYTHON) ../../objdictgen/objdictgen.py TestSlaveA.od TestSlaveA.c + + TestSlaveB.c: TestSlaveB.od + $(MAKE) -C ../../objdictgen gnosis +- python ../../objdictgen/objdictgen.py TestSlaveB.od TestSlaveB.c ++ $(PYTHON) ../../objdictgen/objdictgen.py TestSlaveB.od TestSlaveB.c + + TestMaster.c: TestMaster.od + $(MAKE) -C ../../objdictgen gnosis +- python ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c ++ $(PYTHON) ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c + + %.o: %.c + $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $< +diff --git a/examples/kerneltest/Makefile.in b/examples/kerneltest/Makefile.in +--- a/examples/kerneltest/Makefile.in ++++ b/examples/kerneltest/Makefile.in +@@ -79,10 +79,10 @@ + + TestSlave.c: TestSlave.od + $(MAKE) -C ../../objdictgen gnosis +- python ../../objdictgen/objdictgen.py TestSlave.od TestSlave.c ++ $(PYTHON) ../../objdictgen/objdictgen.py TestSlave.od TestSlave.c + + TestMaster.c: TestMaster.od + $(MAKE) -C ../../objdictgen gnosis +- python ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c ++ $(PYTHON) ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c + + #endif + + diff --git a/package/canfestival/canfestival-0001-install-pkgconfig-module-for-canfestival.patch b/package/canfestival/canfestival-0001-install-pkgconfig-module-for-canfestival.patch deleted file mode 100644 index 23f3d899f1..0000000000 --- a/package/canfestival/canfestival-0001-install-pkgconfig-module-for-canfestival.patch +++ /dev/null @@ -1,74 +0,0 @@ -From s.martin49@gmail.com Sun Sep 28 14:59:53 2014 -Content-Type: text/plain; charset="us-ascii" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [PATCH] Install pkgconfig module for canfestival -X-Mercurial-Node: c408fdc77aa18fcda81db4f0d038e8a69ba84bb2 -X-Mercurial-Series-Index: 1 -X-Mercurial-Series-Total: 1 -Message-Id: -X-Mercurial-Series-Id: -User-Agent: Mercurial-patchbomb/3.1.1 -Date: Sun, 28 Sep 2014 14:59:53 +0200 -From: Samuel Martin -To: canfestival-devel@lists.sourceforge.net -Cc: Samuel Martin - -# HG changeset patch -# User "Samuel Martin" -# Date 1411906817 -7200 -# Sun Sep 28 14:20:17 2014 +0200 -# Node ID c408fdc77aa18fcda81db4f0d038e8a69ba84bb2 -# Parent 7740ac6fdedc23e1ed6908d3d7db54833c88572b -Install pkgconfig module for canfestival. - -Signed-off-by: Samuel Martin -Cc: Cluadio Laurita - -diff -r 7740ac6fdedc -r c408fdc77aa1 canfestival.pc.in ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/canfestival.pc.in Sun Sep 28 14:20:17 2014 +0200 -@@ -0,0 +1,12 @@ -+PREFIX = SUB_PREFIX -+TARGET = SUB_TARGET -+ -+prefix=${PREFIX} -+libdir=${prefix}/lib -+includedir=${prefix}/include/canfestival -+ -+Name: Canfestival -+Description: Canfestival CANOpen library -+Version: 1 -+Libs: -L${libdir} -lcanfestival -lcanfestival_${TARGET} -lrt -ldl -lpthread -+Cflags: -I${includedir} -diff -r 7740ac6fdedc -r c408fdc77aa1 configure ---- a/configure Thu Jun 12 14:07:16 2014 +0200 -+++ b/configure Sun Sep 28 14:20:17 2014 +0200 -@@ -813,6 +813,10 @@ - MAKEFILES=$MAKEFILES\ drivers/$SUB_TARGET/Makefile.in - fi - -+if [ "$SUB_TARGET" = "unix" ]; then -+ MAKEFILES=$MAKEFILES\ canfestival.pc.in -+fi -+ - if [ "$SUB_TARGET" = "unix" -a "$SUB_TIMERS_DRIVER" = "kernel" ]; then - MAKEFILES=$MAKEFILES\ - \ examples/kerneltest/Makefile.in\ -diff -r 7740ac6fdedc -r c408fdc77aa1 src/Makefile.in ---- a/src/Makefile.in Thu Jun 12 14:07:16 2014 +0200 -+++ b/src/Makefile.in Sun Sep 28 14:20:17 2014 +0200 -@@ -132,9 +132,10 @@ - $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $< - - install: libcanfestival.a -- mkdir -p $(DESTDIR)$(PREFIX)/lib/ -+ mkdir -p $(DESTDIR)$(PREFIX)/lib/pkgconfig - mkdir -p $(DESTDIR)$(PREFIX)/include/canfestival - cp libcanfestival.a $(DESTDIR)$(PREFIX)/lib/ -+ cp ../canfestival.pc $(DESTDIR)$(PREFIX)/lib/pkgconfig/ - cp ../include/*.h $(DESTDIR)$(PREFIX)/include/canfestival - - uninstall: - - diff --git a/package/canfestival/canfestival-0002-allow-to-set-python-interpreter.patch b/package/canfestival/canfestival-0002-allow-to-set-python-interpreter.patch deleted file mode 100644 index bb6031658c..0000000000 --- a/package/canfestival/canfestival-0002-allow-to-set-python-interpreter.patch +++ /dev/null @@ -1,176 +0,0 @@ -From s.martin49@gmail.com Fri Oct 10 23:43:32 2014 -Content-Type: text/plain; charset="us-ascii" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [PATCH] allow to set python interpreter -X-Mercurial-Node: 4805f636c2317d989a5f704ba691369f41be6595 -X-Mercurial-Series-Index: 1 -X-Mercurial-Series-Total: 1 -Message-Id: <4805f636c2317d989a5f.1412977412@bobook> -X-Mercurial-Series-Id: <4805f636c2317d989a5f.1412977412@bobook> -User-Agent: Mercurial-patchbomb/3.1.2 -Date: Fri, 10 Oct 2014 23:43:32 +0200 -From: Samuel Martin -To: canfestival-devel@lists.sourceforge.net -Cc: Samuel Martin - -# HG changeset patch -# User "Samuel Martin" -# Date 1412977082 -7200 -# Fri Oct 10 23:38:02 2014 +0200 -# Node ID 4805f636c2317d989a5f704ba691369f41be6595 -# Parent c408fdc77aa18fcda81db4f0d038e8a69ba84bb2 -allow to set python interpreter - -Canfestival python modules and scripts are not python3 compliant. - -Allow to pass the python interperter to be used to make. - -Signed-off-by: Samuel Martin - -diff --git a/Makefile.in b/Makefile.in ---- a/Makefile.in -+++ b/Makefile.in -@@ -21,6 +21,9 @@ - # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - # - -+PYTHON ?= python -+export PYTHON -+ - all: objdictedit canfestival examples - - examples: canfestival driver -diff --git a/doc/manual/en/manual.tex b/doc/manual/en/manual.tex ---- a/doc/manual/en/manual.tex -+++ b/doc/manual/en/manual.tex -@@ -1134,6 +1134,7 @@ - python objdictedit.py [od files...] - \end{verbatim} - -+Note that Gnosis modules only run with python2 as interpreter. - - \subsubsection{Installation and usage on Windows} - -diff --git a/examples/CANOpenShell/Makefile.in b/examples/CANOpenShell/Makefile.in ---- a/examples/CANOpenShell/Makefile.in -+++ b/examples/CANOpenShell/Makefile.in -@@ -69,11 +69,11 @@ - - CANOpenShellMasterOD.c: CANOpenShellMasterOD.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py CANOpenShellMasterOD.od CANOpenShellMasterOD.c -+ $(PYTHON) ../../objdictgen/objdictgen.py CANOpenShellMasterOD.od CANOpenShellMasterOD.c - - CANOpenShellSlaveOD.c: CANOpenShellSlaveOD.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py CANOpenShellSlaveOD.od CANOpenShellSlaveOD.c -+ $(PYTHON) ../../objdictgen/objdictgen.py CANOpenShellSlaveOD.od CANOpenShellSlaveOD.c - - %.o: %.c - $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $< -diff --git a/examples/DS401_Master/Makefile.in b/examples/DS401_Master/Makefile.in ---- a/examples/DS401_Master/Makefile.in -+++ b/examples/DS401_Master/Makefile.in -@@ -53,7 +53,7 @@ - - TestMaster.c: TestMaster.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c -+ $(PYTHON) ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c - - %.o: %.c - $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $< -diff --git a/examples/DS401_Slave_Gui/Makefile.in b/examples/DS401_Slave_Gui/Makefile.in ---- a/examples/DS401_Slave_Gui/Makefile.in -+++ b/examples/DS401_Slave_Gui/Makefile.in -@@ -59,7 +59,7 @@ - - ObjDict.c: ObjDict.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py ObjDict.od ObjDict.c -+ $(PYTHON) ../../objdictgen/objdictgen.py ObjDict.od ObjDict.c - - .cpp.o: - $(CXX) -c $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) `wx-config --cxxflags` $< -o $@ -diff --git a/examples/SillySlave/Makefile.in b/examples/SillySlave/Makefile.in ---- a/examples/SillySlave/Makefile.in -+++ b/examples/SillySlave/Makefile.in -@@ -53,7 +53,7 @@ - - SillySlave.c: SillySlave.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py SillySlave.od SillySlave.c -+ $(PYTHON) ../../objdictgen/objdictgen.py SillySlave.od SillySlave.c - - %.o: %.c - $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $< -diff --git a/examples/TestMasterMicroMod/Makefile.in b/examples/TestMasterMicroMod/Makefile.in ---- a/examples/TestMasterMicroMod/Makefile.in -+++ b/examples/TestMasterMicroMod/Makefile.in -@@ -61,7 +61,7 @@ - - TestMaster.c: TestMaster.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c -+ $(PYTHON) ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c - - %.o: %.c - $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $< -diff --git a/examples/TestMasterSlave/Makefile.in b/examples/TestMasterSlave/Makefile.in ---- a/examples/TestMasterSlave/Makefile.in -+++ b/examples/TestMasterSlave/Makefile.in -@@ -69,11 +69,11 @@ - - TestSlave.c: TestSlave.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py TestSlave.od TestSlave.c -+ $(PYTHON) ../../objdictgen/objdictgen.py TestSlave.od TestSlave.c - - TestMaster.c: TestMaster.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c -+ $(PYTHON) ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c - - %.o: %.c - $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $< -diff --git a/examples/TestMasterSlaveLSS/Makefile.in b/examples/TestMasterSlaveLSS/Makefile.in ---- a/examples/TestMasterSlaveLSS/Makefile.in -+++ b/examples/TestMasterSlaveLSS/Makefile.in -@@ -64,15 +64,15 @@ - - TestSlaveA.c: TestSlaveA.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py TestSlaveA.od TestSlaveA.c -+ $(PYTHON) ../../objdictgen/objdictgen.py TestSlaveA.od TestSlaveA.c - - TestSlaveB.c: TestSlaveB.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py TestSlaveB.od TestSlaveB.c -+ $(PYTHON) ../../objdictgen/objdictgen.py TestSlaveB.od TestSlaveB.c - - TestMaster.c: TestMaster.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c -+ $(PYTHON) ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c - - %.o: %.c - $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $< -diff --git a/examples/kerneltest/Makefile.in b/examples/kerneltest/Makefile.in ---- a/examples/kerneltest/Makefile.in -+++ b/examples/kerneltest/Makefile.in -@@ -79,10 +79,10 @@ - - TestSlave.c: TestSlave.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py TestSlave.od TestSlave.c -+ $(PYTHON) ../../objdictgen/objdictgen.py TestSlave.od TestSlave.c - - TestMaster.c: TestMaster.od - $(MAKE) -C ../../objdictgen gnosis -- python ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c -+ $(PYTHON) ../../objdictgen/objdictgen.py TestMaster.od TestMaster.c - - #endif - - diff --git a/package/cdrkit/0001-no-rcmd.patch b/package/cdrkit/0001-no-rcmd.patch new file mode 100644 index 0000000000..294779f7a5 --- /dev/null +++ b/package/cdrkit/0001-no-rcmd.patch @@ -0,0 +1,22 @@ +[PATCH] fix build with uClibc + +cdrkit unconditionally enables code using rcmd(3), which isn't available +on uClibc. + +Signed-off-by: Peter Korsgaard +--- + include/xconfig.h.in | 1 - + 1 file changed, 1 deletion(-) + +Index: cdrkit-1.1.10/include/xconfig.h.in +=================================================================== +--- cdrkit-1.1.10.orig/include/xconfig.h.in ++++ cdrkit-1.1.10/include/xconfig.h.in +@@ -187,7 +187,6 @@ + * they are placed before the large file tests. + */ + +-#define HAVE_RCMD 1 /* rcmd() is present in libc/libsocket */ + #define HAVE_SOCKET 1 /* socket() is present in libc/libsocket */ + #define HAVE_SOCKETPAIR 1 /* socketpair() is present in libc/libsocket */ + #define HAVE_GETSERVBYNAME 1 /* getservbyname() is present in libc/libsocket */ diff --git a/package/cdrkit/cdrkit-1.1.11-no-rcmd.patch b/package/cdrkit/cdrkit-1.1.11-no-rcmd.patch deleted file mode 100644 index 294779f7a5..0000000000 --- a/package/cdrkit/cdrkit-1.1.11-no-rcmd.patch +++ /dev/null @@ -1,22 +0,0 @@ -[PATCH] fix build with uClibc - -cdrkit unconditionally enables code using rcmd(3), which isn't available -on uClibc. - -Signed-off-by: Peter Korsgaard ---- - include/xconfig.h.in | 1 - - 1 file changed, 1 deletion(-) - -Index: cdrkit-1.1.10/include/xconfig.h.in -=================================================================== ---- cdrkit-1.1.10.orig/include/xconfig.h.in -+++ cdrkit-1.1.10/include/xconfig.h.in -@@ -187,7 +187,6 @@ - * they are placed before the large file tests. - */ - --#define HAVE_RCMD 1 /* rcmd() is present in libc/libsocket */ - #define HAVE_SOCKET 1 /* socket() is present in libc/libsocket */ - #define HAVE_SOCKETPAIR 1 /* socketpair() is present in libc/libsocket */ - #define HAVE_GETSERVBYNAME 1 /* getservbyname() is present in libc/libsocket */ diff --git a/package/cegui06/0001-stddef.h.patch b/package/cegui06/0001-stddef.h.patch new file mode 100644 index 0000000000..cc16effc25 --- /dev/null +++ b/package/cegui06/0001-stddef.h.patch @@ -0,0 +1,26 @@ +includes: ptrdiff_t is defined in stddef.h + +ptrdiff_t is defined in the stddef.h header, so this +header must be included. + +Do the #include in a common header to avoid doing it +all over the place. + +Signed-off-by: "Yann E. MORIN" + +--- +Patch not sent upstream, it's a no-longer-maintained branch. +To be noted, however, is that the current devel branch is +still missing that include. + +diff -durN cegui06-0.6.2.orig/include/CEGUIBase.h cegui06-0.6.2/include/CEGUIBase.h +--- cegui06-0.6.2.orig//include/CEGUIBase.h 2008-02-11 15:38:27.000000000 +0100 ++++ cegui06-0.6.2/include/CEGUIBase.h 2012-08-19 22:51:50.260385978 +0200 +@@ -34,6 +34,7 @@ + #define _CEGUIBase_h_ + + #include ++#include + + // bring in configuration options + #include "CEGUIConfig.h" diff --git a/package/cegui06/cegui06-stddef.h.patch b/package/cegui06/cegui06-stddef.h.patch deleted file mode 100644 index cc16effc25..0000000000 --- a/package/cegui06/cegui06-stddef.h.patch +++ /dev/null @@ -1,26 +0,0 @@ -includes: ptrdiff_t is defined in stddef.h - -ptrdiff_t is defined in the stddef.h header, so this -header must be included. - -Do the #include in a common header to avoid doing it -all over the place. - -Signed-off-by: "Yann E. MORIN" - ---- -Patch not sent upstream, it's a no-longer-maintained branch. -To be noted, however, is that the current devel branch is -still missing that include. - -diff -durN cegui06-0.6.2.orig/include/CEGUIBase.h cegui06-0.6.2/include/CEGUIBase.h ---- cegui06-0.6.2.orig//include/CEGUIBase.h 2008-02-11 15:38:27.000000000 +0100 -+++ cegui06-0.6.2/include/CEGUIBase.h 2012-08-19 22:51:50.260385978 +0200 -@@ -34,6 +34,7 @@ - #define _CEGUIBase_h_ - - #include -+#include - - // bring in configuration options - #include "CEGUIConfig.h" diff --git a/package/clamav/0001-clamdscan.patch b/package/clamav/0001-clamdscan.patch new file mode 100644 index 0000000000..c395ae1600 --- /dev/null +++ b/package/clamav/0001-clamdscan.patch @@ -0,0 +1,21 @@ +Fixes build error + +proto.c: In function ‘dconnect’: +proto.c:86:67: error: invalid application of ‘sizeof’ to incomplete type ‘struct sockaddr_un’ + if (connect(sockd, (struct sockaddr *)&nixsock, sizeof(nixsock)) == 0) + +Patch sent upstream: http://lurker.clamav.net/message/20140928.130829.5494fd68.en.html + +Signed-off-by: Bernd Kuhls + +diff -uNr clamav-0.98.3.org/clamdscan/proto.c clamav-0.98.3/clamdscan/proto.c +--- clamav-0.98.3.org/clamdscan/proto.c 2014-05-06 20:39:56.000000000 +0200 ++++ clamav-0.98.3/clamdscan/proto.c 2014-05-10 10:41:44.000000000 +0200 +@@ -35,6 +35,7 @@ + #include + #include + #include ++#include + #ifdef HAVE_SYS_SELECT_H + #include + #endif diff --git a/package/clamav/0002-static-linking.patch b/package/clamav/0002-static-linking.patch new file mode 100644 index 0000000000..2369d097a8 --- /dev/null +++ b/package/clamav/0002-static-linking.patch @@ -0,0 +1,58 @@ +Fix detection of statically linked libraries + +Patch submitted upstream: https://bugzilla.clamav.net/show_bug.cgi?id=11132 + +Signed-off-by: Bernd Kuhls + +diff -uNr clamav-0.98.4.org/m4/reorganization/libs/curl.m4 clamav-0.98.4/m4/reorganization/libs/curl.m4 +--- clamav-0.98.4.org/m4/reorganization/libs/curl.m4 2014-05-21 17:25:05.000000000 +0200 ++++ clamav-0.98.4/m4/reorganization/libs/curl.m4 2014-09-28 15:39:26.714111527 +0200 +@@ -38,7 +38,7 @@ + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$CURL_LDFLAGS" + AC_CHECK_LIB([curl], [curl_easy_init], [curl_msg="";have_curl="yes";CLAMSUBMIT_LIBS="$CLAMSUBMIT_LIBS $CURL_LDFLAGS";CLAMSUBMIT_CFLAGS="$CLAMSUBMIT_CFLAGS $CURL_CPPFLAGS"], +- [AC_MSG_WARN([Your libcurl is misconfigured. Please use the web interface for submitting FPs/FNs.])]) ++ [AC_MSG_WARN([Your libcurl is misconfigured. Please use the web interface for submitting FPs/FNs.])], [$CURL_LDFLAGS]) + LDFLAGS="$save_LDFLAGS" + fi + +diff -uNr clamav-0.98.4.org/m4/reorganization/libs/openssl.m4 clamav-0.98.4/m4/reorganization/libs/openssl.m4 +--- clamav-0.98.4.org/m4/reorganization/libs/openssl.m4 2014-05-22 15:18:22.000000000 +0200 ++++ clamav-0.98.4/m4/reorganization/libs/openssl.m4 2014-09-28 15:15:18.280323868 +0200 +@@ -26,7 +26,7 @@ + save_CFLAGS="$CFLAGS" + save_LIBS="$LIBS" + +-SSL_LIBS="-lssl -lcrypto" ++SSL_LIBS="-lssl -lcrypto -lz" + + if test "$LIBSSL_HOME" != "/usr"; then + SSL_LDFLAGS="-L$LIBSSL_HOME/lib" +@@ -41,12 +41,12 @@ + have_ssl="no" + have_crypto="no" + +-AC_CHECK_LIB([ssl], [SSL_library_init], [have_ssl="yes"], [AC_MSG_ERROR([Your OpenSSL installation is misconfigured or missing])], [-lcrypto]) ++AC_CHECK_LIB([ssl], [SSL_library_init], [have_ssl="yes"], [AC_MSG_ERROR([Your OpenSSL installation is misconfigured or missing])], [-lcrypto -lz]) + +-AC_CHECK_LIB([crypto], [EVP_EncryptInit], [have_crypto="yes"], [AC_MSG_ERROR([Your OpenSSL installation is misconfigured or missing])]) ++AC_CHECK_LIB([crypto], [EVP_EncryptInit], [have_crypto="yes"], [AC_MSG_ERROR([Your OpenSSL installation is misconfigured or missing])], [-lcrypto -lz]) + + dnl OpenSSL 0.9.8 is the minimum required version due to X509_VERIFY_PARAM +-AC_CHECK_LIB([ssl], [X509_VERIFY_PARAM_new], [], [AC_MSG_ERROR([Your OpenSSL installation is missing the X509_VERIFY_PARAM function. Please upgrade to a more recent version of OpenSSL.])], [-lcrypto]) ++AC_CHECK_LIB([ssl], [X509_VERIFY_PARAM_new], [], [AC_MSG_ERROR([Your OpenSSL installation is missing the X509_VERIFY_PARAM function. Please upgrade to a more recent version of OpenSSL.])], [-lcrypto -lz]) + + LDFLAGS="$save_LDFLAGS" + CFLAGS="$save_CFLAGS" +diff -uNr clamav-0.98.4.org/m4/reorganization/libs/xml.m4 clamav-0.98.4/m4/reorganization/libs/xml.m4 +--- clamav-0.98.4.org/m4/reorganization/libs/xml.m4 2014-05-21 17:25:05.000000000 +0200 ++++ clamav-0.98.4/m4/reorganization/libs/xml.m4 2014-09-28 15:57:41.836339462 +0200 +@@ -67,7 +67,7 @@ + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $XML_LIBS" + +- AC_CHECK_LIB([xml2], [xmlTextReaderRead], [working_xml="yes"], [working_xml="no"]) ++ AC_CHECK_LIB([xml2], [xmlTextReaderRead], [working_xml="yes"], [working_xml="no"], [$XML_LIBS]) + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" diff --git a/package/clamav/0003-backtrace-uClibc.patch b/package/clamav/0003-backtrace-uClibc.patch new file mode 100644 index 0000000000..82ad67307d --- /dev/null +++ b/package/clamav/0003-backtrace-uClibc.patch @@ -0,0 +1,22 @@ +mbox: do not use backtrace if using uClibc without backtrace support + +Since uClibc can be configured without support for backtrace, disable +the backtrace if we are building with a uClibc that was built without +backtrace. + +This is a bit hacky, and would greatly benefit from a test in ./configure +instead, but does nicely as a quick fix for now. + +Signed-off-by: "Yann E. MORIN" +diff -durN clamav-0.98.4.orig/libclamav/mbox.c clamav-0.98.4/libclamav/mbox.c +--- clamav-0.98.4.orig/libclamav/mbox.c 2014-05-21 17:25:05.000000000 +0200 ++++ clamav-0.98.4/libclamav/mbox.c 2014-11-16 17:21:04.885383286 +0100 +@@ -83,7 +83,7 @@ + #include + #endif + +-#if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 ++#if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 && !defined(__UCLIBC__) || defined(__UCLIBC_HAS_BACKTRACE__) + #define HAVE_BACKTRACE + #endif + #endif diff --git a/package/clamav/0004-fix-static-build.patch b/package/clamav/0004-fix-static-build.patch new file mode 100644 index 0000000000..9c7850a6e9 --- /dev/null +++ b/package/clamav/0004-fix-static-build.patch @@ -0,0 +1,21 @@ +stats: fix static link + +The stats.c file does not use the dlopen() familly of functions, but +includes dlfcn.h, which is missing on uClibc when it is configured as +a static-only C library. + +so, simply do not include dlfcn.h. + +Signed-off-by: "Yann E. MORIN" + +diff -durN clamav-0.98.5.orig/libclamav/stats.c clamav-0.98.5/libclamav/stats.c +--- clamav-0.98.5.orig/libclamav/stats.c 2014-11-13 23:30:43.000000000 +0100 ++++ clamav-0.98.5/libclamav/stats.c 2014-11-25 19:57:14.344291266 +0100 +@@ -41,7 +41,6 @@ + #include + #endif + #endif +-#include + #else + #include + #include diff --git a/package/clamav/clamav-0001-clamdscan.patch b/package/clamav/clamav-0001-clamdscan.patch deleted file mode 100644 index c395ae1600..0000000000 --- a/package/clamav/clamav-0001-clamdscan.patch +++ /dev/null @@ -1,21 +0,0 @@ -Fixes build error - -proto.c: In function ‘dconnect’: -proto.c:86:67: error: invalid application of ‘sizeof’ to incomplete type ‘struct sockaddr_un’ - if (connect(sockd, (struct sockaddr *)&nixsock, sizeof(nixsock)) == 0) - -Patch sent upstream: http://lurker.clamav.net/message/20140928.130829.5494fd68.en.html - -Signed-off-by: Bernd Kuhls - -diff -uNr clamav-0.98.3.org/clamdscan/proto.c clamav-0.98.3/clamdscan/proto.c ---- clamav-0.98.3.org/clamdscan/proto.c 2014-05-06 20:39:56.000000000 +0200 -+++ clamav-0.98.3/clamdscan/proto.c 2014-05-10 10:41:44.000000000 +0200 -@@ -35,6 +35,7 @@ - #include - #include - #include -+#include - #ifdef HAVE_SYS_SELECT_H - #include - #endif diff --git a/package/clamav/clamav-0002-static-linking.patch b/package/clamav/clamav-0002-static-linking.patch deleted file mode 100644 index 2369d097a8..0000000000 --- a/package/clamav/clamav-0002-static-linking.patch +++ /dev/null @@ -1,58 +0,0 @@ -Fix detection of statically linked libraries - -Patch submitted upstream: https://bugzilla.clamav.net/show_bug.cgi?id=11132 - -Signed-off-by: Bernd Kuhls - -diff -uNr clamav-0.98.4.org/m4/reorganization/libs/curl.m4 clamav-0.98.4/m4/reorganization/libs/curl.m4 ---- clamav-0.98.4.org/m4/reorganization/libs/curl.m4 2014-05-21 17:25:05.000000000 +0200 -+++ clamav-0.98.4/m4/reorganization/libs/curl.m4 2014-09-28 15:39:26.714111527 +0200 -@@ -38,7 +38,7 @@ - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$CURL_LDFLAGS" - AC_CHECK_LIB([curl], [curl_easy_init], [curl_msg="";have_curl="yes";CLAMSUBMIT_LIBS="$CLAMSUBMIT_LIBS $CURL_LDFLAGS";CLAMSUBMIT_CFLAGS="$CLAMSUBMIT_CFLAGS $CURL_CPPFLAGS"], -- [AC_MSG_WARN([Your libcurl is misconfigured. Please use the web interface for submitting FPs/FNs.])]) -+ [AC_MSG_WARN([Your libcurl is misconfigured. Please use the web interface for submitting FPs/FNs.])], [$CURL_LDFLAGS]) - LDFLAGS="$save_LDFLAGS" - fi - -diff -uNr clamav-0.98.4.org/m4/reorganization/libs/openssl.m4 clamav-0.98.4/m4/reorganization/libs/openssl.m4 ---- clamav-0.98.4.org/m4/reorganization/libs/openssl.m4 2014-05-22 15:18:22.000000000 +0200 -+++ clamav-0.98.4/m4/reorganization/libs/openssl.m4 2014-09-28 15:15:18.280323868 +0200 -@@ -26,7 +26,7 @@ - save_CFLAGS="$CFLAGS" - save_LIBS="$LIBS" - --SSL_LIBS="-lssl -lcrypto" -+SSL_LIBS="-lssl -lcrypto -lz" - - if test "$LIBSSL_HOME" != "/usr"; then - SSL_LDFLAGS="-L$LIBSSL_HOME/lib" -@@ -41,12 +41,12 @@ - have_ssl="no" - have_crypto="no" - --AC_CHECK_LIB([ssl], [SSL_library_init], [have_ssl="yes"], [AC_MSG_ERROR([Your OpenSSL installation is misconfigured or missing])], [-lcrypto]) -+AC_CHECK_LIB([ssl], [SSL_library_init], [have_ssl="yes"], [AC_MSG_ERROR([Your OpenSSL installation is misconfigured or missing])], [-lcrypto -lz]) - --AC_CHECK_LIB([crypto], [EVP_EncryptInit], [have_crypto="yes"], [AC_MSG_ERROR([Your OpenSSL installation is misconfigured or missing])]) -+AC_CHECK_LIB([crypto], [EVP_EncryptInit], [have_crypto="yes"], [AC_MSG_ERROR([Your OpenSSL installation is misconfigured or missing])], [-lcrypto -lz]) - - dnl OpenSSL 0.9.8 is the minimum required version due to X509_VERIFY_PARAM --AC_CHECK_LIB([ssl], [X509_VERIFY_PARAM_new], [], [AC_MSG_ERROR([Your OpenSSL installation is missing the X509_VERIFY_PARAM function. Please upgrade to a more recent version of OpenSSL.])], [-lcrypto]) -+AC_CHECK_LIB([ssl], [X509_VERIFY_PARAM_new], [], [AC_MSG_ERROR([Your OpenSSL installation is missing the X509_VERIFY_PARAM function. Please upgrade to a more recent version of OpenSSL.])], [-lcrypto -lz]) - - LDFLAGS="$save_LDFLAGS" - CFLAGS="$save_CFLAGS" -diff -uNr clamav-0.98.4.org/m4/reorganization/libs/xml.m4 clamav-0.98.4/m4/reorganization/libs/xml.m4 ---- clamav-0.98.4.org/m4/reorganization/libs/xml.m4 2014-05-21 17:25:05.000000000 +0200 -+++ clamav-0.98.4/m4/reorganization/libs/xml.m4 2014-09-28 15:57:41.836339462 +0200 -@@ -67,7 +67,7 @@ - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $XML_LIBS" - -- AC_CHECK_LIB([xml2], [xmlTextReaderRead], [working_xml="yes"], [working_xml="no"]) -+ AC_CHECK_LIB([xml2], [xmlTextReaderRead], [working_xml="yes"], [working_xml="no"], [$XML_LIBS]) - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" diff --git a/package/clamav/clamav-0003-backtrace-uClibc.patch b/package/clamav/clamav-0003-backtrace-uClibc.patch deleted file mode 100644 index 82ad67307d..0000000000 --- a/package/clamav/clamav-0003-backtrace-uClibc.patch +++ /dev/null @@ -1,22 +0,0 @@ -mbox: do not use backtrace if using uClibc without backtrace support - -Since uClibc can be configured without support for backtrace, disable -the backtrace if we are building with a uClibc that was built without -backtrace. - -This is a bit hacky, and would greatly benefit from a test in ./configure -instead, but does nicely as a quick fix for now. - -Signed-off-by: "Yann E. MORIN" -diff -durN clamav-0.98.4.orig/libclamav/mbox.c clamav-0.98.4/libclamav/mbox.c ---- clamav-0.98.4.orig/libclamav/mbox.c 2014-05-21 17:25:05.000000000 +0200 -+++ clamav-0.98.4/libclamav/mbox.c 2014-11-16 17:21:04.885383286 +0100 -@@ -83,7 +83,7 @@ - #include - #endif - --#if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 -+#if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 && !defined(__UCLIBC__) || defined(__UCLIBC_HAS_BACKTRACE__) - #define HAVE_BACKTRACE - #endif - #endif diff --git a/package/clamav/clamav-0004-fix-static-build.patch b/package/clamav/clamav-0004-fix-static-build.patch deleted file mode 100644 index 9c7850a6e9..0000000000 --- a/package/clamav/clamav-0004-fix-static-build.patch +++ /dev/null @@ -1,21 +0,0 @@ -stats: fix static link - -The stats.c file does not use the dlopen() familly of functions, but -includes dlfcn.h, which is missing on uClibc when it is configured as -a static-only C library. - -so, simply do not include dlfcn.h. - -Signed-off-by: "Yann E. MORIN" - -diff -durN clamav-0.98.5.orig/libclamav/stats.c clamav-0.98.5/libclamav/stats.c ---- clamav-0.98.5.orig/libclamav/stats.c 2014-11-13 23:30:43.000000000 +0100 -+++ clamav-0.98.5/libclamav/stats.c 2014-11-25 19:57:14.344291266 +0100 -@@ -41,7 +41,6 @@ - #include - #endif - #endif --#include - #else - #include - #include diff --git a/package/clapack/0001-cmake-force-libf2c-to-be-built-as-a-static-library.patch b/package/clapack/0001-cmake-force-libf2c-to-be-built-as-a-static-library.patch new file mode 100644 index 0000000000..8fede9da91 --- /dev/null +++ b/package/clapack/0001-cmake-force-libf2c-to-be-built-as-a-static-library.patch @@ -0,0 +1,32 @@ +From 4fe2f454e454d9e6b1e83b2ea67581990461ed36 Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Sat, 11 Jan 2014 22:05:25 +0100 +Subject: [PATCH 1/6] cmake: force libf2c to be built as a static library + +As stated in INSTALL/LAPACK_version.c, liblapack requires to be linked +against the static library of libf2c. + +Signed-off-by: Samuel Martin +--- + F2CLIBS/libf2c/CMakeLists.txt | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/F2CLIBS/libf2c/CMakeLists.txt b/F2CLIBS/libf2c/CMakeLists.txt +index 43d7b3f..f98d66a 100644 +--- a/F2CLIBS/libf2c/CMakeLists.txt ++++ b/F2CLIBS/libf2c/CMakeLists.txt +@@ -58,5 +58,10 @@ if(WIN32) + endif() + include_directories(${CLAPACK_SOURCE_DIR}/F2CLIBS/libf2c) + include_directories(${CLAPACK_BINARY_DIR}/F2CLIBS/libf2c) +-add_library(f2c ${OFILES} ${CMAKE_CURRENT_BINARY_DIR}/arith.h) ++add_library(f2c STATIC ${OFILES} ${CMAKE_CURRENT_BINARY_DIR}/arith.h) + set_property(TARGET f2c PROPERTY PREFIX lib) ++# Set fPIC on the library when build shared libraries is enabled, because ++# libf2c.a will most likely be included by some shared libraries in such cases. ++if(UNIX AND BUILD_SHARED_LIBS) ++ set_target_properties(f2c PROPERTIES COMPILE_FLAGS "-fPIC") ++endif() +-- +1.8.5.3 + diff --git a/package/clapack/0002-cmake-make-test-build-sensitive-to-BUILD_TESTING.patch b/package/clapack/0002-cmake-make-test-build-sensitive-to-BUILD_TESTING.patch new file mode 100644 index 0000000000..eac4164f5d --- /dev/null +++ b/package/clapack/0002-cmake-make-test-build-sensitive-to-BUILD_TESTING.patch @@ -0,0 +1,80 @@ +From 834c221936d9c460b44e3a65b6fedfb3193f491b Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Sat, 11 Jan 2014 21:33:12 +0100 +Subject: [PATCH 2/6] cmake: make test build sensitive to BUILD_TESTING + +This patch prevent from wasting time building the tests if it's our +wish. + +The test build takes a significant amount of time, and the binaries +are not installed. + +Signed-off-by: Samuel Martin +--- + BLAS/TESTING/CMakeLists.txt | 3 +++ + CMakeLists.txt | 9 ++++++--- + TESTING/CMakeLists.txt | 4 ++++ + 3 files changed, 13 insertions(+), 3 deletions(-) + +diff --git a/BLAS/TESTING/CMakeLists.txt b/BLAS/TESTING/CMakeLists.txt +index ec2c587..e7dc0b7 100644 +--- a/BLAS/TESTING/CMakeLists.txt ++++ b/BLAS/TESTING/CMakeLists.txt +@@ -25,6 +25,9 @@ + # make single FRC=FRC + # + ####################################################################### ++if(NOT BUILD_TESTING) ++ return() ++endif() + + macro(add_blas_test name src) + get_filename_component(baseNAME ${src} NAME_WE) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 320ccc6..0a362c0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,6 +1,5 @@ + cmake_minimum_required(VERSION 2.6) + project(CLAPACK C) +-enable_testing() + include(CTest) + + if(WIN32 AND NOT CYGWIN) +@@ -11,7 +10,9 @@ else() + set(SECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/second.c) + set(DSECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/dsecnd.c) + endif() +-enable_testing() ++if(NOT BUILD_TESTING) ++ enable_testing() ++endif() + option(USE_BLAS_WRAP "pre-pend f2c_ to each function in blas" OFF) + if(NOT USE_BLAS_WRAP) + # _zrotg_ seems to be missing in the wrap header +@@ -21,7 +22,9 @@ include_directories(${CLAPACK_SOURCE_DIR}/INCLUDE) + add_subdirectory(F2CLIBS) + add_subdirectory(BLAS) + add_subdirectory(SRC) +-add_subdirectory(TESTING) ++if(NOT BUILD_TESTING) ++ add_subdirectory(TESTING) ++endif() + set(CLAPACK_VERSION 3.2.1) + set(CPACK_PACKAGE_VERSION_MAJOR 3) + set(CPACK_PACKAGE_VERSION_MINOR 2) +diff --git a/TESTING/CMakeLists.txt b/TESTING/CMakeLists.txt +index d59359d..f6b083a 100644 +--- a/TESTING/CMakeLists.txt ++++ b/TESTING/CMakeLists.txt +@@ -1,3 +1,7 @@ ++if(NOT BUILD_TESTING) ++ return() ++endif() ++ + if(MSVC_VERSION) + # string(REPLACE "/STACK:10000000" "/STACK:900000000000000000" + # CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}") +-- +1.8.5.3 + diff --git a/package/clapack/0003-cmake-do-not-try-to-run-arithchk-when-cross-compilin.patch b/package/clapack/0003-cmake-do-not-try-to-run-arithchk-when-cross-compilin.patch new file mode 100644 index 0000000000..cd9828ff38 --- /dev/null +++ b/package/clapack/0003-cmake-do-not-try-to-run-arithchk-when-cross-compilin.patch @@ -0,0 +1,70 @@ +From a2f0669fac1f8e7183b15cf7d14f0e99a2d8b012 Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Sat, 11 Jan 2014 21:47:39 +0100 +Subject: [PATCH 3/6] cmake: do not try to run arithchk when cross-compiling to + generate sources + +Instead, use a predefined arith.h if provided, or generate a default one. + +The arithchk binary is still built (but not installed) to allow the user to +run it on its target and use it; so then allowing to build an optimized +blas library. + +Signed-off-by: Samuel Martin +--- + F2CLIBS/libf2c/CMakeLists.txt | 38 ++++++++++++++++++++++++++++---------- + 1 file changed, 28 insertions(+), 10 deletions(-) + +diff --git a/F2CLIBS/libf2c/CMakeLists.txt b/F2CLIBS/libf2c/CMakeLists.txt +index f98d66a..45a0804 100644 +--- a/F2CLIBS/libf2c/CMakeLists.txt ++++ b/F2CLIBS/libf2c/CMakeLists.txt +@@ -38,17 +38,35 @@ set(TIME dtime_.c etime_.c) + + # For INTEGER*8 support (which requires system-dependent adjustments to + # f2c.h), add ${QINT} to the OFILES assignment below... +-add_executable(arithchk arithchk.c) +-if(UNIX) +- target_link_libraries(arithchk m) ++if(CMAKE_CROSSCOMPILING) ++ if(ARITH_H) ++ message(STATUS "Using the user-defined '${ARITH_H}' as arith.h header.") ++ configure_file("${ARITH_H}" "${CMAKE_CURRENT_BINARY_DIR}/arith.h" COPYONLY) ++ else() ++ message(STATUS "No user-defined arith.h header.") ++ if(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/arith.h") ++ message(WARNING "Generating the default non-optimized 'arith.h' header. ++ ++To generate and provide a custom arith.h header: ++run the cross-compiled arithchk binary on your target, ++and use its output to fill your custom arith.h header.") ++ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/arith.h" ++ "/* default, not optimized arith.h */") ++ endif() ++ endif() ++else() ++ add_executable(arithchk arithchk.c) ++ if(UNIX) ++ target_link_libraries(arithchk m) ++ endif() ++ set_target_properties(arithchk PROPERTIES COMPILE_DEFINITIONS ++ "NO_FPINIT;NO_LONG_LONG") ++ ADD_CUSTOM_COMMAND( ++ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/arith.h ++ COMMAND arithchk > ${CMAKE_CURRENT_BINARY_DIR}/arith.h ++ DEPENDS arithchk ++ ) + endif() +-set_target_properties(arithchk PROPERTIES COMPILE_DEFINITIONS +- "NO_FPINIT;NO_LONG_LONG") +-ADD_CUSTOM_COMMAND( +- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/arith.h +- COMMAND arithchk > ${CMAKE_CURRENT_BINARY_DIR}/arith.h +- DEPENDS arithchk +- ) + + + set(OFILES ${MISC} ${POW} ${CX} ${DCX} ${REAL} ${DBL} ${INT} +-- +1.8.5.3 + diff --git a/package/clapack/0004-cmake-blas-add-library-and-header-install-rules.patch b/package/clapack/0004-cmake-blas-add-library-and-header-install-rules.patch new file mode 100644 index 0000000000..e83b066dac --- /dev/null +++ b/package/clapack/0004-cmake-blas-add-library-and-header-install-rules.patch @@ -0,0 +1,23 @@ +From 675111e8ffc179276a7e4950fe4a4eda4d38a703 Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Sat, 11 Jan 2014 21:48:32 +0100 +Subject: [PATCH 4/6] cmake: blas: add library and header install rules + +Signed-off-by: Samuel Martin +--- + BLAS/SRC/CMakeLists.txt | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/BLAS/SRC/CMakeLists.txt b/BLAS/SRC/CMakeLists.txt +index d1caff8..a5de5a1 100644 +--- a/BLAS/SRC/CMakeLists.txt ++++ b/BLAS/SRC/CMakeLists.txt +@@ -141,3 +141,5 @@ if(UNIX) + target_link_libraries(blas m) + endif() + target_link_libraries(blas f2c) ++install(TARGETS blas LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) ++install(FILES "${CLAPACK_SOURCE_DIR}/INCLUDE/blaswrap.h" DESTINATION include) +-- +1.8.5.3 + diff --git a/package/clapack/0005-cmake-lapack-add-library-and-header-install-rules.patch b/package/clapack/0005-cmake-lapack-add-library-and-header-install-rules.patch new file mode 100644 index 0000000000..abba460b6c --- /dev/null +++ b/package/clapack/0005-cmake-lapack-add-library-and-header-install-rules.patch @@ -0,0 +1,24 @@ +From 9dfac0d55a31be59a856bad9d3a5071d65176597 Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Sat, 11 Jan 2014 21:49:22 +0100 +Subject: [PATCH 5/6] cmake: lapack: add library and header install rules + +Signed-off-by: Samuel Martin +--- + SRC/CMakeLists.txt | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt +index ac4cce3..aa60555 100644 +--- a/SRC/CMakeLists.txt ++++ b/SRC/CMakeLists.txt +@@ -377,4 +377,5 @@ if(BUILD_COMPLEX16) + endif() + add_library(lapack ${ALLOBJ} ${ALLXOBJ}) + target_link_libraries(lapack blas) +- ++install(TARGETS lapack LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) ++install(FILES "${CLAPACK_SOURCE_DIR}/INCLUDE/clapack.h" DESTINATION include) +-- +1.8.5.3 + diff --git a/package/clapack/clapack-0001-cmake-force-libf2c-to-be-built-as-a-static-library.patch b/package/clapack/clapack-0001-cmake-force-libf2c-to-be-built-as-a-static-library.patch deleted file mode 100644 index 8fede9da91..0000000000 --- a/package/clapack/clapack-0001-cmake-force-libf2c-to-be-built-as-a-static-library.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 4fe2f454e454d9e6b1e83b2ea67581990461ed36 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sat, 11 Jan 2014 22:05:25 +0100 -Subject: [PATCH 1/6] cmake: force libf2c to be built as a static library - -As stated in INSTALL/LAPACK_version.c, liblapack requires to be linked -against the static library of libf2c. - -Signed-off-by: Samuel Martin ---- - F2CLIBS/libf2c/CMakeLists.txt | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/F2CLIBS/libf2c/CMakeLists.txt b/F2CLIBS/libf2c/CMakeLists.txt -index 43d7b3f..f98d66a 100644 ---- a/F2CLIBS/libf2c/CMakeLists.txt -+++ b/F2CLIBS/libf2c/CMakeLists.txt -@@ -58,5 +58,10 @@ if(WIN32) - endif() - include_directories(${CLAPACK_SOURCE_DIR}/F2CLIBS/libf2c) - include_directories(${CLAPACK_BINARY_DIR}/F2CLIBS/libf2c) --add_library(f2c ${OFILES} ${CMAKE_CURRENT_BINARY_DIR}/arith.h) -+add_library(f2c STATIC ${OFILES} ${CMAKE_CURRENT_BINARY_DIR}/arith.h) - set_property(TARGET f2c PROPERTY PREFIX lib) -+# Set fPIC on the library when build shared libraries is enabled, because -+# libf2c.a will most likely be included by some shared libraries in such cases. -+if(UNIX AND BUILD_SHARED_LIBS) -+ set_target_properties(f2c PROPERTIES COMPILE_FLAGS "-fPIC") -+endif() --- -1.8.5.3 - diff --git a/package/clapack/clapack-0002-cmake-make-test-build-sensitive-to-BUILD_TESTING.patch b/package/clapack/clapack-0002-cmake-make-test-build-sensitive-to-BUILD_TESTING.patch deleted file mode 100644 index eac4164f5d..0000000000 --- a/package/clapack/clapack-0002-cmake-make-test-build-sensitive-to-BUILD_TESTING.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 834c221936d9c460b44e3a65b6fedfb3193f491b Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sat, 11 Jan 2014 21:33:12 +0100 -Subject: [PATCH 2/6] cmake: make test build sensitive to BUILD_TESTING - -This patch prevent from wasting time building the tests if it's our -wish. - -The test build takes a significant amount of time, and the binaries -are not installed. - -Signed-off-by: Samuel Martin ---- - BLAS/TESTING/CMakeLists.txt | 3 +++ - CMakeLists.txt | 9 ++++++--- - TESTING/CMakeLists.txt | 4 ++++ - 3 files changed, 13 insertions(+), 3 deletions(-) - -diff --git a/BLAS/TESTING/CMakeLists.txt b/BLAS/TESTING/CMakeLists.txt -index ec2c587..e7dc0b7 100644 ---- a/BLAS/TESTING/CMakeLists.txt -+++ b/BLAS/TESTING/CMakeLists.txt -@@ -25,6 +25,9 @@ - # make single FRC=FRC - # - ####################################################################### -+if(NOT BUILD_TESTING) -+ return() -+endif() - - macro(add_blas_test name src) - get_filename_component(baseNAME ${src} NAME_WE) -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 320ccc6..0a362c0 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,6 +1,5 @@ - cmake_minimum_required(VERSION 2.6) - project(CLAPACK C) --enable_testing() - include(CTest) - - if(WIN32 AND NOT CYGWIN) -@@ -11,7 +10,9 @@ else() - set(SECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/second.c) - set(DSECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/dsecnd.c) - endif() --enable_testing() -+if(NOT BUILD_TESTING) -+ enable_testing() -+endif() - option(USE_BLAS_WRAP "pre-pend f2c_ to each function in blas" OFF) - if(NOT USE_BLAS_WRAP) - # _zrotg_ seems to be missing in the wrap header -@@ -21,7 +22,9 @@ include_directories(${CLAPACK_SOURCE_DIR}/INCLUDE) - add_subdirectory(F2CLIBS) - add_subdirectory(BLAS) - add_subdirectory(SRC) --add_subdirectory(TESTING) -+if(NOT BUILD_TESTING) -+ add_subdirectory(TESTING) -+endif() - set(CLAPACK_VERSION 3.2.1) - set(CPACK_PACKAGE_VERSION_MAJOR 3) - set(CPACK_PACKAGE_VERSION_MINOR 2) -diff --git a/TESTING/CMakeLists.txt b/TESTING/CMakeLists.txt -index d59359d..f6b083a 100644 ---- a/TESTING/CMakeLists.txt -+++ b/TESTING/CMakeLists.txt -@@ -1,3 +1,7 @@ -+if(NOT BUILD_TESTING) -+ return() -+endif() -+ - if(MSVC_VERSION) - # string(REPLACE "/STACK:10000000" "/STACK:900000000000000000" - # CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}") --- -1.8.5.3 - diff --git a/package/clapack/clapack-0003-cmake-do-not-try-to-run-arithchk-when-cross-compilin.patch b/package/clapack/clapack-0003-cmake-do-not-try-to-run-arithchk-when-cross-compilin.patch deleted file mode 100644 index cd9828ff38..0000000000 --- a/package/clapack/clapack-0003-cmake-do-not-try-to-run-arithchk-when-cross-compilin.patch +++ /dev/null @@ -1,70 +0,0 @@ -From a2f0669fac1f8e7183b15cf7d14f0e99a2d8b012 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sat, 11 Jan 2014 21:47:39 +0100 -Subject: [PATCH 3/6] cmake: do not try to run arithchk when cross-compiling to - generate sources - -Instead, use a predefined arith.h if provided, or generate a default one. - -The arithchk binary is still built (but not installed) to allow the user to -run it on its target and use it; so then allowing to build an optimized -blas library. - -Signed-off-by: Samuel Martin ---- - F2CLIBS/libf2c/CMakeLists.txt | 38 ++++++++++++++++++++++++++++---------- - 1 file changed, 28 insertions(+), 10 deletions(-) - -diff --git a/F2CLIBS/libf2c/CMakeLists.txt b/F2CLIBS/libf2c/CMakeLists.txt -index f98d66a..45a0804 100644 ---- a/F2CLIBS/libf2c/CMakeLists.txt -+++ b/F2CLIBS/libf2c/CMakeLists.txt -@@ -38,17 +38,35 @@ set(TIME dtime_.c etime_.c) - - # For INTEGER*8 support (which requires system-dependent adjustments to - # f2c.h), add ${QINT} to the OFILES assignment below... --add_executable(arithchk arithchk.c) --if(UNIX) -- target_link_libraries(arithchk m) -+if(CMAKE_CROSSCOMPILING) -+ if(ARITH_H) -+ message(STATUS "Using the user-defined '${ARITH_H}' as arith.h header.") -+ configure_file("${ARITH_H}" "${CMAKE_CURRENT_BINARY_DIR}/arith.h" COPYONLY) -+ else() -+ message(STATUS "No user-defined arith.h header.") -+ if(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/arith.h") -+ message(WARNING "Generating the default non-optimized 'arith.h' header. -+ -+To generate and provide a custom arith.h header: -+run the cross-compiled arithchk binary on your target, -+and use its output to fill your custom arith.h header.") -+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/arith.h" -+ "/* default, not optimized arith.h */") -+ endif() -+ endif() -+else() -+ add_executable(arithchk arithchk.c) -+ if(UNIX) -+ target_link_libraries(arithchk m) -+ endif() -+ set_target_properties(arithchk PROPERTIES COMPILE_DEFINITIONS -+ "NO_FPINIT;NO_LONG_LONG") -+ ADD_CUSTOM_COMMAND( -+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/arith.h -+ COMMAND arithchk > ${CMAKE_CURRENT_BINARY_DIR}/arith.h -+ DEPENDS arithchk -+ ) - endif() --set_target_properties(arithchk PROPERTIES COMPILE_DEFINITIONS -- "NO_FPINIT;NO_LONG_LONG") --ADD_CUSTOM_COMMAND( -- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/arith.h -- COMMAND arithchk > ${CMAKE_CURRENT_BINARY_DIR}/arith.h -- DEPENDS arithchk -- ) - - - set(OFILES ${MISC} ${POW} ${CX} ${DCX} ${REAL} ${DBL} ${INT} --- -1.8.5.3 - diff --git a/package/clapack/clapack-0004-cmake-blas-add-library-and-header-install-rules.patch b/package/clapack/clapack-0004-cmake-blas-add-library-and-header-install-rules.patch deleted file mode 100644 index e83b066dac..0000000000 --- a/package/clapack/clapack-0004-cmake-blas-add-library-and-header-install-rules.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 675111e8ffc179276a7e4950fe4a4eda4d38a703 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sat, 11 Jan 2014 21:48:32 +0100 -Subject: [PATCH 4/6] cmake: blas: add library and header install rules - -Signed-off-by: Samuel Martin ---- - BLAS/SRC/CMakeLists.txt | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/BLAS/SRC/CMakeLists.txt b/BLAS/SRC/CMakeLists.txt -index d1caff8..a5de5a1 100644 ---- a/BLAS/SRC/CMakeLists.txt -+++ b/BLAS/SRC/CMakeLists.txt -@@ -141,3 +141,5 @@ if(UNIX) - target_link_libraries(blas m) - endif() - target_link_libraries(blas f2c) -+install(TARGETS blas LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) -+install(FILES "${CLAPACK_SOURCE_DIR}/INCLUDE/blaswrap.h" DESTINATION include) --- -1.8.5.3 - diff --git a/package/clapack/clapack-0005-cmake-lapack-add-library-and-header-install-rules.patch b/package/clapack/clapack-0005-cmake-lapack-add-library-and-header-install-rules.patch deleted file mode 100644 index abba460b6c..0000000000 --- a/package/clapack/clapack-0005-cmake-lapack-add-library-and-header-install-rules.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 9dfac0d55a31be59a856bad9d3a5071d65176597 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sat, 11 Jan 2014 21:49:22 +0100 -Subject: [PATCH 5/6] cmake: lapack: add library and header install rules - -Signed-off-by: Samuel Martin ---- - SRC/CMakeLists.txt | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt -index ac4cce3..aa60555 100644 ---- a/SRC/CMakeLists.txt -+++ b/SRC/CMakeLists.txt -@@ -377,4 +377,5 @@ if(BUILD_COMPLEX16) - endif() - add_library(lapack ${ALLOBJ} ${ALLXOBJ}) - target_link_libraries(lapack blas) -- -+install(TARGETS lapack LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) -+install(FILES "${CLAPACK_SOURCE_DIR}/INCLUDE/clapack.h" DESTINATION include) --- -1.8.5.3 - diff --git a/package/classpath/0001-fix-gmp-include.patch b/package/classpath/0001-fix-gmp-include.patch new file mode 100644 index 0000000000..f7a392093f --- /dev/null +++ b/package/classpath/0001-fix-gmp-include.patch @@ -0,0 +1,46 @@ +The GMP include is hardcoded to /usr/include causing obvious problems. + +From classpath CVS: +http://cvs.savannah.gnu.org/viewvc/classpath/configure.ac?root=classpath&r1=1.245&r2=1.246 + +[Gustavo: ditch -L or libtool complains loudly] + +Signed-off-by: Gustavo Zacarias + +--- a/configure.ac 2010/01/30 01:33:50 1.245 ++++ b/configure.ac 2010/05/04 12:29:23 1.246 +@@ -752,10 +752,32 @@ + dnl __gmpz_mul_si for earlier versions (>= 3.1). + dnl IMPORTANT: if you decide to look for __gmpz_combit, don't forget to + dnl change the name of the corresponding ac_ variable on lines 860... ++ AC_ARG_WITH(gmp, [ --with-gmp=PATH specify prefix directory for the installed GMP package. ++ Equivalent to --with-gmp-include=PATH/include ++ plus --with-gmp-lib=PATH/lib]) ++ AC_ARG_WITH(gmp_include, [ --with-gmp-include=PATH specify directory for installed GMP include files]) ++ AC_ARG_WITH(gmp_lib, [ --with-gmp-lib=PATH specify directory for the installed GMP library]) ++ + if test "x${COMPILE_GMP}" = xyes; then ++ AC_MSG_CHECKING([for GMP directories]) ++ if test "x$with_gmp" != x; then ++ gmplibs="-lgmp" ++ gmpinc="-I$with_gmp/include" ++ if test "x$with_gmp_include" != x; then ++ gmpinc="-I$with_gmp_include $gmpinc" ++ fi ++ if test "x$with_gmp_lib" != x; then ++ gmplibs="$gmplibs" ++ fi ++ else ++ with_gmp="/usr" ++ gmplibs="-lgmp" ++ gmpinc="-I/usr/include" ++ fi ++ AC_MSG_RESULT([prefix=$with_gmp, libs=$gmplibs, inc=$gmpinc]) + AC_CHECK_LIB(gmp, __gmpz_mul_si, +- [GMP_CFLAGS=-I/usr/include +- GMP_LIBS=-lgmp ], ++ [GMP_CFLAGS="$gmpinc" ++ GMP_LIBS="$gmplibs" ], + [GMP_CFLAGS= + GMP_LIBS= ]) + AC_SUBST(GMP_CFLAGS) diff --git a/package/classpath/0002-add-config-rpath.patch b/package/classpath/0002-add-config-rpath.patch new file mode 100644 index 0000000000..3a8a7d0952 --- /dev/null +++ b/package/classpath/0002-add-config-rpath.patch @@ -0,0 +1,680 @@ +Add config.rpath from upstream CVS to avoid (re)autoconfiguring errors. + +Signed-off-by: Gustavo Zacarias + +diff -Nura classpath-0.98.orig/config.rpath classpath-0.98/config.rpath +--- classpath-0.98.orig/config.rpath 1969-12-31 21:00:00.000000000 -0300 ++++ classpath-0.98/config.rpath 2013-07-10 09:36:51.894281025 -0300 +@@ -0,0 +1,672 @@ ++#! /bin/sh ++# Output a system dependent set of variables, describing how to set the ++# run time search path of shared libraries in an executable. ++# ++# Copyright 1996-2010 Free Software Foundation, Inc. ++# Taken from GNU libtool, 2001 ++# Originally by Gordon Matzigkeit , 1996 ++# ++# This file is free software; the Free Software Foundation gives ++# unlimited permission to copy and/or distribute it, with or without ++# modifications, as long as this notice is preserved. ++# ++# The first argument passed to this file is the canonical host specification, ++# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM ++# or ++# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM ++# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld ++# should be set by the caller. ++# ++# The set of defined variables is at the end of this script. ++ ++# Known limitations: ++# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer ++# than 256 bytes, otherwise the compiler driver will dump core. The only ++# known workaround is to choose shorter directory names for the build ++# directory and/or the installation directory. ++ ++# All known linkers require a `.a' archive for static linking (except MSVC, ++# which needs '.lib'). ++libext=a ++shrext=.so ++ ++host="$1" ++host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` ++host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` ++host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` ++ ++# Code taken from libtool.m4's _LT_CC_BASENAME. ++ ++for cc_temp in $CC""; do ++ case $cc_temp in ++ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; ++ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; ++ \-*) ;; ++ *) break;; ++ esac ++done ++cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` ++ ++# Code taken from libtool.m4's _LT_COMPILER_PIC. ++ ++wl= ++if test "$GCC" = yes; then ++ wl='-Wl,' ++else ++ case "$host_os" in ++ aix*) ++ wl='-Wl,' ++ ;; ++ darwin*) ++ case $cc_basename in ++ xlc*) ++ wl='-Wl,' ++ ;; ++ esac ++ ;; ++ mingw* | cygwin* | pw32* | os2* | cegcc*) ++ ;; ++ hpux9* | hpux10* | hpux11*) ++ wl='-Wl,' ++ ;; ++ irix5* | irix6* | nonstopux*) ++ wl='-Wl,' ++ ;; ++ newsos6) ++ ;; ++ linux* | k*bsd*-gnu) ++ case $cc_basename in ++ ecc*) ++ wl='-Wl,' ++ ;; ++ icc* | ifort*) ++ wl='-Wl,' ++ ;; ++ lf95*) ++ wl='-Wl,' ++ ;; ++ pgcc | pgf77 | pgf90) ++ wl='-Wl,' ++ ;; ++ ccc*) ++ wl='-Wl,' ++ ;; ++ como) ++ wl='-lopt=' ++ ;; ++ *) ++ case `$CC -V 2>&1 | sed 5q` in ++ *Sun\ C*) ++ wl='-Wl,' ++ ;; ++ esac ++ ;; ++ esac ++ ;; ++ osf3* | osf4* | osf5*) ++ wl='-Wl,' ++ ;; ++ rdos*) ++ ;; ++ solaris*) ++ wl='-Wl,' ++ ;; ++ sunos4*) ++ wl='-Qoption ld ' ++ ;; ++ sysv4 | sysv4.2uw2* | sysv4.3*) ++ wl='-Wl,' ++ ;; ++ sysv4*MP*) ++ ;; ++ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) ++ wl='-Wl,' ++ ;; ++ unicos*) ++ wl='-Wl,' ++ ;; ++ uts4*) ++ ;; ++ esac ++fi ++ ++# Code taken from libtool.m4's _LT_LINKER_SHLIBS. ++ ++hardcode_libdir_flag_spec= ++hardcode_libdir_separator= ++hardcode_direct=no ++hardcode_minus_L=no ++ ++case "$host_os" in ++ cygwin* | mingw* | pw32* | cegcc*) ++ # FIXME: the MSVC++ port hasn't been tested in a loooong time ++ # When not using gcc, we currently assume that we are using ++ # Microsoft Visual C++. ++ if test "$GCC" != yes; then ++ with_gnu_ld=no ++ fi ++ ;; ++ interix*) ++ # we just hope/assume this is gcc and not c89 (= MSVC++) ++ with_gnu_ld=yes ++ ;; ++ openbsd*) ++ with_gnu_ld=no ++ ;; ++esac ++ ++ld_shlibs=yes ++if test "$with_gnu_ld" = yes; then ++ # Set some defaults for GNU ld with shared library support. These ++ # are reset later if shared libraries are not supported. Putting them ++ # here allows them to be overridden if necessary. ++ # Unlike libtool, we use -rpath here, not --rpath, since the documented ++ # option of GNU ld is called -rpath, not --rpath. ++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' ++ case "$host_os" in ++ aix[3-9]*) ++ # On AIX/PPC, the GNU linker is very broken ++ if test "$host_cpu" != ia64; then ++ ld_shlibs=no ++ fi ++ ;; ++ amigaos*) ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_minus_L=yes ++ # Samuel A. Falvo II reports ++ # that the semantics of dynamic libraries on AmigaOS, at least up ++ # to version 4, is to share data among multiple programs linked ++ # with the same dynamic library. Since this doesn't match the ++ # behavior of shared libraries on other platforms, we cannot use ++ # them. ++ ld_shlibs=no ++ ;; ++ beos*) ++ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then ++ : ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ cygwin* | mingw* | pw32* | cegcc*) ++ # hardcode_libdir_flag_spec is actually meaningless, as there is ++ # no search path for DLLs. ++ hardcode_libdir_flag_spec='-L$libdir' ++ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then ++ : ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ interix[3-9]*) ++ hardcode_direct=no ++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ++ ;; ++ gnu* | linux* | k*bsd*-gnu) ++ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then ++ : ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ netbsd*) ++ ;; ++ solaris*) ++ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ++ ld_shlibs=no ++ elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then ++ : ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) ++ case `$LD -v 2>&1` in ++ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ++ ld_shlibs=no ++ ;; ++ *) ++ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then ++ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ esac ++ ;; ++ sunos4*) ++ hardcode_direct=yes ++ ;; ++ *) ++ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then ++ : ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ esac ++ if test "$ld_shlibs" = no; then ++ hardcode_libdir_flag_spec= ++ fi ++else ++ case "$host_os" in ++ aix3*) ++ # Note: this linker hardcodes the directories in LIBPATH if there ++ # are no directories specified by -L. ++ hardcode_minus_L=yes ++ if test "$GCC" = yes; then ++ # Neither direct hardcoding nor static linking is supported with a ++ # broken collect2. ++ hardcode_direct=unsupported ++ fi ++ ;; ++ aix[4-9]*) ++ if test "$host_cpu" = ia64; then ++ # On IA64, the linker does run time linking by default, so we don't ++ # have to do anything special. ++ aix_use_runtimelinking=no ++ else ++ aix_use_runtimelinking=no ++ # Test if we are trying to use run time linking or normal ++ # AIX style linking. If -brtl is somewhere in LDFLAGS, we ++ # need to do runtime linking. ++ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) ++ for ld_flag in $LDFLAGS; do ++ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then ++ aix_use_runtimelinking=yes ++ break ++ fi ++ done ++ ;; ++ esac ++ fi ++ hardcode_direct=yes ++ hardcode_libdir_separator=':' ++ if test "$GCC" = yes; then ++ case $host_os in aix4.[012]|aix4.[012].*) ++ collect2name=`${CC} -print-prog-name=collect2` ++ if test -f "$collect2name" && \ ++ strings "$collect2name" | grep resolve_lib_name >/dev/null ++ then ++ # We have reworked collect2 ++ : ++ else ++ # We have old collect2 ++ hardcode_direct=unsupported ++ hardcode_minus_L=yes ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_libdir_separator= ++ fi ++ ;; ++ esac ++ fi ++ # Begin _LT_AC_SYS_LIBPATH_AIX. ++ echo 'int main () { return 0; }' > conftest.c ++ ${CC} ${LDFLAGS} conftest.c -o conftest ++ aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } ++}'` ++ if test -z "$aix_libpath"; then ++ aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } ++}'` ++ fi ++ if test -z "$aix_libpath"; then ++ aix_libpath="/usr/lib:/lib" ++ fi ++ rm -f conftest.c conftest ++ # End _LT_AC_SYS_LIBPATH_AIX. ++ if test "$aix_use_runtimelinking" = yes; then ++ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" ++ else ++ if test "$host_cpu" = ia64; then ++ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' ++ else ++ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" ++ fi ++ fi ++ ;; ++ amigaos*) ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_minus_L=yes ++ # see comment about different semantics on the GNU ld section ++ ld_shlibs=no ++ ;; ++ bsdi[45]*) ++ ;; ++ cygwin* | mingw* | pw32* | cegcc*) ++ # When not using gcc, we currently assume that we are using ++ # Microsoft Visual C++. ++ # hardcode_libdir_flag_spec is actually meaningless, as there is ++ # no search path for DLLs. ++ hardcode_libdir_flag_spec=' ' ++ libext=lib ++ ;; ++ darwin* | rhapsody*) ++ hardcode_direct=no ++ if test "$GCC" = yes ; then ++ : ++ else ++ case $cc_basename in ++ xlc*) ++ ;; ++ *) ++ ld_shlibs=no ++ ;; ++ esac ++ fi ++ ;; ++ dgux*) ++ hardcode_libdir_flag_spec='-L$libdir' ++ ;; ++ freebsd1*) ++ ld_shlibs=no ++ ;; ++ freebsd2.2*) ++ hardcode_libdir_flag_spec='-R$libdir' ++ hardcode_direct=yes ++ ;; ++ freebsd2*) ++ hardcode_direct=yes ++ hardcode_minus_L=yes ++ ;; ++ freebsd* | dragonfly*) ++ hardcode_libdir_flag_spec='-R$libdir' ++ hardcode_direct=yes ++ ;; ++ hpux9*) ++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' ++ hardcode_libdir_separator=: ++ hardcode_direct=yes ++ # hardcode_minus_L: Not really in the search PATH, ++ # but as the default location of the library. ++ hardcode_minus_L=yes ++ ;; ++ hpux10*) ++ if test "$with_gnu_ld" = no; then ++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' ++ hardcode_libdir_separator=: ++ hardcode_direct=yes ++ # hardcode_minus_L: Not really in the search PATH, ++ # but as the default location of the library. ++ hardcode_minus_L=yes ++ fi ++ ;; ++ hpux11*) ++ if test "$with_gnu_ld" = no; then ++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' ++ hardcode_libdir_separator=: ++ case $host_cpu in ++ hppa*64*|ia64*) ++ hardcode_direct=no ++ ;; ++ *) ++ hardcode_direct=yes ++ # hardcode_minus_L: Not really in the search PATH, ++ # but as the default location of the library. ++ hardcode_minus_L=yes ++ ;; ++ esac ++ fi ++ ;; ++ irix5* | irix6* | nonstopux*) ++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' ++ hardcode_libdir_separator=: ++ ;; ++ netbsd*) ++ hardcode_libdir_flag_spec='-R$libdir' ++ hardcode_direct=yes ++ ;; ++ newsos6) ++ hardcode_direct=yes ++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' ++ hardcode_libdir_separator=: ++ ;; ++ openbsd*) ++ if test -f /usr/libexec/ld.so; then ++ hardcode_direct=yes ++ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then ++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ++ else ++ case "$host_os" in ++ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) ++ hardcode_libdir_flag_spec='-R$libdir' ++ ;; ++ *) ++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ++ ;; ++ esac ++ fi ++ else ++ ld_shlibs=no ++ fi ++ ;; ++ os2*) ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_minus_L=yes ++ ;; ++ osf3*) ++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' ++ hardcode_libdir_separator=: ++ ;; ++ osf4* | osf5*) ++ if test "$GCC" = yes; then ++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' ++ else ++ # Both cc and cxx compiler support -rpath directly ++ hardcode_libdir_flag_spec='-rpath $libdir' ++ fi ++ hardcode_libdir_separator=: ++ ;; ++ solaris*) ++ hardcode_libdir_flag_spec='-R$libdir' ++ ;; ++ sunos4*) ++ hardcode_libdir_flag_spec='-L$libdir' ++ hardcode_direct=yes ++ hardcode_minus_L=yes ++ ;; ++ sysv4) ++ case $host_vendor in ++ sni) ++ hardcode_direct=yes # is this really true??? ++ ;; ++ siemens) ++ hardcode_direct=no ++ ;; ++ motorola) ++ hardcode_direct=no #Motorola manual says yes, but my tests say they lie ++ ;; ++ esac ++ ;; ++ sysv4.3*) ++ ;; ++ sysv4*MP*) ++ if test -d /usr/nec; then ++ ld_shlibs=yes ++ fi ++ ;; ++ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) ++ ;; ++ sysv5* | sco3.2v5* | sco5v6*) ++ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' ++ hardcode_libdir_separator=':' ++ ;; ++ uts4*) ++ hardcode_libdir_flag_spec='-L$libdir' ++ ;; ++ *) ++ ld_shlibs=no ++ ;; ++ esac ++fi ++ ++# Check dynamic linker characteristics ++# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. ++# Unlike libtool.m4, here we don't care about _all_ names of the library, but ++# only about the one the linker finds when passed -lNAME. This is the last ++# element of library_names_spec in libtool.m4, or possibly two of them if the ++# linker has special search rules. ++library_names_spec= # the last element of library_names_spec in libtool.m4 ++libname_spec='lib$name' ++case "$host_os" in ++ aix3*) ++ library_names_spec='$libname.a' ++ ;; ++ aix[4-9]*) ++ library_names_spec='$libname$shrext' ++ ;; ++ amigaos*) ++ library_names_spec='$libname.a' ++ ;; ++ beos*) ++ library_names_spec='$libname$shrext' ++ ;; ++ bsdi[45]*) ++ library_names_spec='$libname$shrext' ++ ;; ++ cygwin* | mingw* | pw32* | cegcc*) ++ shrext=.dll ++ library_names_spec='$libname.dll.a $libname.lib' ++ ;; ++ darwin* | rhapsody*) ++ shrext=.dylib ++ library_names_spec='$libname$shrext' ++ ;; ++ dgux*) ++ library_names_spec='$libname$shrext' ++ ;; ++ freebsd1*) ++ ;; ++ freebsd* | dragonfly*) ++ case "$host_os" in ++ freebsd[123]*) ++ library_names_spec='$libname$shrext$versuffix' ;; ++ *) ++ library_names_spec='$libname$shrext' ;; ++ esac ++ ;; ++ gnu*) ++ library_names_spec='$libname$shrext' ++ ;; ++ hpux9* | hpux10* | hpux11*) ++ case $host_cpu in ++ ia64*) ++ shrext=.so ++ ;; ++ hppa*64*) ++ shrext=.sl ++ ;; ++ *) ++ shrext=.sl ++ ;; ++ esac ++ library_names_spec='$libname$shrext' ++ ;; ++ interix[3-9]*) ++ library_names_spec='$libname$shrext' ++ ;; ++ irix5* | irix6* | nonstopux*) ++ library_names_spec='$libname$shrext' ++ case "$host_os" in ++ irix5* | nonstopux*) ++ libsuff= shlibsuff= ++ ;; ++ *) ++ case $LD in ++ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; ++ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; ++ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; ++ *) libsuff= shlibsuff= ;; ++ esac ++ ;; ++ esac ++ ;; ++ linux*oldld* | linux*aout* | linux*coff*) ++ ;; ++ linux* | k*bsd*-gnu) ++ library_names_spec='$libname$shrext' ++ ;; ++ knetbsd*-gnu) ++ library_names_spec='$libname$shrext' ++ ;; ++ netbsd*) ++ library_names_spec='$libname$shrext' ++ ;; ++ newsos6) ++ library_names_spec='$libname$shrext' ++ ;; ++ nto-qnx*) ++ library_names_spec='$libname$shrext' ++ ;; ++ openbsd*) ++ library_names_spec='$libname$shrext$versuffix' ++ ;; ++ os2*) ++ libname_spec='$name' ++ shrext=.dll ++ library_names_spec='$libname.a' ++ ;; ++ osf3* | osf4* | osf5*) ++ library_names_spec='$libname$shrext' ++ ;; ++ rdos*) ++ ;; ++ solaris*) ++ library_names_spec='$libname$shrext' ++ ;; ++ sunos4*) ++ library_names_spec='$libname$shrext$versuffix' ++ ;; ++ sysv4 | sysv4.3*) ++ library_names_spec='$libname$shrext' ++ ;; ++ sysv4*MP*) ++ library_names_spec='$libname$shrext' ++ ;; ++ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) ++ library_names_spec='$libname$shrext' ++ ;; ++ uts4*) ++ library_names_spec='$libname$shrext' ++ ;; ++esac ++ ++sed_quote_subst='s/\(["`$\\]\)/\\\1/g' ++escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` ++shlibext=`echo "$shrext" | sed -e 's,^\.,,'` ++escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` ++escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` ++escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` ++ ++LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' < - ---- a/configure.ac 2010/01/30 01:33:50 1.245 -+++ b/configure.ac 2010/05/04 12:29:23 1.246 -@@ -752,10 +752,32 @@ - dnl __gmpz_mul_si for earlier versions (>= 3.1). - dnl IMPORTANT: if you decide to look for __gmpz_combit, don't forget to - dnl change the name of the corresponding ac_ variable on lines 860... -+ AC_ARG_WITH(gmp, [ --with-gmp=PATH specify prefix directory for the installed GMP package. -+ Equivalent to --with-gmp-include=PATH/include -+ plus --with-gmp-lib=PATH/lib]) -+ AC_ARG_WITH(gmp_include, [ --with-gmp-include=PATH specify directory for installed GMP include files]) -+ AC_ARG_WITH(gmp_lib, [ --with-gmp-lib=PATH specify directory for the installed GMP library]) -+ - if test "x${COMPILE_GMP}" = xyes; then -+ AC_MSG_CHECKING([for GMP directories]) -+ if test "x$with_gmp" != x; then -+ gmplibs="-lgmp" -+ gmpinc="-I$with_gmp/include" -+ if test "x$with_gmp_include" != x; then -+ gmpinc="-I$with_gmp_include $gmpinc" -+ fi -+ if test "x$with_gmp_lib" != x; then -+ gmplibs="$gmplibs" -+ fi -+ else -+ with_gmp="/usr" -+ gmplibs="-lgmp" -+ gmpinc="-I/usr/include" -+ fi -+ AC_MSG_RESULT([prefix=$with_gmp, libs=$gmplibs, inc=$gmpinc]) - AC_CHECK_LIB(gmp, __gmpz_mul_si, -- [GMP_CFLAGS=-I/usr/include -- GMP_LIBS=-lgmp ], -+ [GMP_CFLAGS="$gmpinc" -+ GMP_LIBS="$gmplibs" ], - [GMP_CFLAGS= - GMP_LIBS= ]) - AC_SUBST(GMP_CFLAGS) diff --git a/package/classpath/classpath-02-add-config-rpath.patch b/package/classpath/classpath-02-add-config-rpath.patch deleted file mode 100644 index 3a8a7d0952..0000000000 --- a/package/classpath/classpath-02-add-config-rpath.patch +++ /dev/null @@ -1,680 +0,0 @@ -Add config.rpath from upstream CVS to avoid (re)autoconfiguring errors. - -Signed-off-by: Gustavo Zacarias - -diff -Nura classpath-0.98.orig/config.rpath classpath-0.98/config.rpath ---- classpath-0.98.orig/config.rpath 1969-12-31 21:00:00.000000000 -0300 -+++ classpath-0.98/config.rpath 2013-07-10 09:36:51.894281025 -0300 -@@ -0,0 +1,672 @@ -+#! /bin/sh -+# Output a system dependent set of variables, describing how to set the -+# run time search path of shared libraries in an executable. -+# -+# Copyright 1996-2010 Free Software Foundation, Inc. -+# Taken from GNU libtool, 2001 -+# Originally by Gordon Matzigkeit , 1996 -+# -+# This file is free software; the Free Software Foundation gives -+# unlimited permission to copy and/or distribute it, with or without -+# modifications, as long as this notice is preserved. -+# -+# The first argument passed to this file is the canonical host specification, -+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -+# or -+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -+# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld -+# should be set by the caller. -+# -+# The set of defined variables is at the end of this script. -+ -+# Known limitations: -+# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer -+# than 256 bytes, otherwise the compiler driver will dump core. The only -+# known workaround is to choose shorter directory names for the build -+# directory and/or the installation directory. -+ -+# All known linkers require a `.a' archive for static linking (except MSVC, -+# which needs '.lib'). -+libext=a -+shrext=.so -+ -+host="$1" -+host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -+host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -+host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -+ -+# Code taken from libtool.m4's _LT_CC_BASENAME. -+ -+for cc_temp in $CC""; do -+ case $cc_temp in -+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; -+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; -+ \-*) ;; -+ *) break;; -+ esac -+done -+cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` -+ -+# Code taken from libtool.m4's _LT_COMPILER_PIC. -+ -+wl= -+if test "$GCC" = yes; then -+ wl='-Wl,' -+else -+ case "$host_os" in -+ aix*) -+ wl='-Wl,' -+ ;; -+ darwin*) -+ case $cc_basename in -+ xlc*) -+ wl='-Wl,' -+ ;; -+ esac -+ ;; -+ mingw* | cygwin* | pw32* | os2* | cegcc*) -+ ;; -+ hpux9* | hpux10* | hpux11*) -+ wl='-Wl,' -+ ;; -+ irix5* | irix6* | nonstopux*) -+ wl='-Wl,' -+ ;; -+ newsos6) -+ ;; -+ linux* | k*bsd*-gnu) -+ case $cc_basename in -+ ecc*) -+ wl='-Wl,' -+ ;; -+ icc* | ifort*) -+ wl='-Wl,' -+ ;; -+ lf95*) -+ wl='-Wl,' -+ ;; -+ pgcc | pgf77 | pgf90) -+ wl='-Wl,' -+ ;; -+ ccc*) -+ wl='-Wl,' -+ ;; -+ como) -+ wl='-lopt=' -+ ;; -+ *) -+ case `$CC -V 2>&1 | sed 5q` in -+ *Sun\ C*) -+ wl='-Wl,' -+ ;; -+ esac -+ ;; -+ esac -+ ;; -+ osf3* | osf4* | osf5*) -+ wl='-Wl,' -+ ;; -+ rdos*) -+ ;; -+ solaris*) -+ wl='-Wl,' -+ ;; -+ sunos4*) -+ wl='-Qoption ld ' -+ ;; -+ sysv4 | sysv4.2uw2* | sysv4.3*) -+ wl='-Wl,' -+ ;; -+ sysv4*MP*) -+ ;; -+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) -+ wl='-Wl,' -+ ;; -+ unicos*) -+ wl='-Wl,' -+ ;; -+ uts4*) -+ ;; -+ esac -+fi -+ -+# Code taken from libtool.m4's _LT_LINKER_SHLIBS. -+ -+hardcode_libdir_flag_spec= -+hardcode_libdir_separator= -+hardcode_direct=no -+hardcode_minus_L=no -+ -+case "$host_os" in -+ cygwin* | mingw* | pw32* | cegcc*) -+ # FIXME: the MSVC++ port hasn't been tested in a loooong time -+ # When not using gcc, we currently assume that we are using -+ # Microsoft Visual C++. -+ if test "$GCC" != yes; then -+ with_gnu_ld=no -+ fi -+ ;; -+ interix*) -+ # we just hope/assume this is gcc and not c89 (= MSVC++) -+ with_gnu_ld=yes -+ ;; -+ openbsd*) -+ with_gnu_ld=no -+ ;; -+esac -+ -+ld_shlibs=yes -+if test "$with_gnu_ld" = yes; then -+ # Set some defaults for GNU ld with shared library support. These -+ # are reset later if shared libraries are not supported. Putting them -+ # here allows them to be overridden if necessary. -+ # Unlike libtool, we use -rpath here, not --rpath, since the documented -+ # option of GNU ld is called -rpath, not --rpath. -+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' -+ case "$host_os" in -+ aix[3-9]*) -+ # On AIX/PPC, the GNU linker is very broken -+ if test "$host_cpu" != ia64; then -+ ld_shlibs=no -+ fi -+ ;; -+ amigaos*) -+ hardcode_libdir_flag_spec='-L$libdir' -+ hardcode_minus_L=yes -+ # Samuel A. Falvo II reports -+ # that the semantics of dynamic libraries on AmigaOS, at least up -+ # to version 4, is to share data among multiple programs linked -+ # with the same dynamic library. Since this doesn't match the -+ # behavior of shared libraries on other platforms, we cannot use -+ # them. -+ ld_shlibs=no -+ ;; -+ beos*) -+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then -+ : -+ else -+ ld_shlibs=no -+ fi -+ ;; -+ cygwin* | mingw* | pw32* | cegcc*) -+ # hardcode_libdir_flag_spec is actually meaningless, as there is -+ # no search path for DLLs. -+ hardcode_libdir_flag_spec='-L$libdir' -+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then -+ : -+ else -+ ld_shlibs=no -+ fi -+ ;; -+ interix[3-9]*) -+ hardcode_direct=no -+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir' -+ ;; -+ gnu* | linux* | k*bsd*-gnu) -+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then -+ : -+ else -+ ld_shlibs=no -+ fi -+ ;; -+ netbsd*) -+ ;; -+ solaris*) -+ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then -+ ld_shlibs=no -+ elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then -+ : -+ else -+ ld_shlibs=no -+ fi -+ ;; -+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) -+ case `$LD -v 2>&1` in -+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) -+ ld_shlibs=no -+ ;; -+ *) -+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then -+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' -+ else -+ ld_shlibs=no -+ fi -+ ;; -+ esac -+ ;; -+ sunos4*) -+ hardcode_direct=yes -+ ;; -+ *) -+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then -+ : -+ else -+ ld_shlibs=no -+ fi -+ ;; -+ esac -+ if test "$ld_shlibs" = no; then -+ hardcode_libdir_flag_spec= -+ fi -+else -+ case "$host_os" in -+ aix3*) -+ # Note: this linker hardcodes the directories in LIBPATH if there -+ # are no directories specified by -L. -+ hardcode_minus_L=yes -+ if test "$GCC" = yes; then -+ # Neither direct hardcoding nor static linking is supported with a -+ # broken collect2. -+ hardcode_direct=unsupported -+ fi -+ ;; -+ aix[4-9]*) -+ if test "$host_cpu" = ia64; then -+ # On IA64, the linker does run time linking by default, so we don't -+ # have to do anything special. -+ aix_use_runtimelinking=no -+ else -+ aix_use_runtimelinking=no -+ # Test if we are trying to use run time linking or normal -+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we -+ # need to do runtime linking. -+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) -+ for ld_flag in $LDFLAGS; do -+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then -+ aix_use_runtimelinking=yes -+ break -+ fi -+ done -+ ;; -+ esac -+ fi -+ hardcode_direct=yes -+ hardcode_libdir_separator=':' -+ if test "$GCC" = yes; then -+ case $host_os in aix4.[012]|aix4.[012].*) -+ collect2name=`${CC} -print-prog-name=collect2` -+ if test -f "$collect2name" && \ -+ strings "$collect2name" | grep resolve_lib_name >/dev/null -+ then -+ # We have reworked collect2 -+ : -+ else -+ # We have old collect2 -+ hardcode_direct=unsupported -+ hardcode_minus_L=yes -+ hardcode_libdir_flag_spec='-L$libdir' -+ hardcode_libdir_separator= -+ fi -+ ;; -+ esac -+ fi -+ # Begin _LT_AC_SYS_LIBPATH_AIX. -+ echo 'int main () { return 0; }' > conftest.c -+ ${CC} ${LDFLAGS} conftest.c -o conftest -+ aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -+}'` -+ if test -z "$aix_libpath"; then -+ aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -+}'` -+ fi -+ if test -z "$aix_libpath"; then -+ aix_libpath="/usr/lib:/lib" -+ fi -+ rm -f conftest.c conftest -+ # End _LT_AC_SYS_LIBPATH_AIX. -+ if test "$aix_use_runtimelinking" = yes; then -+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" -+ else -+ if test "$host_cpu" = ia64; then -+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' -+ else -+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" -+ fi -+ fi -+ ;; -+ amigaos*) -+ hardcode_libdir_flag_spec='-L$libdir' -+ hardcode_minus_L=yes -+ # see comment about different semantics on the GNU ld section -+ ld_shlibs=no -+ ;; -+ bsdi[45]*) -+ ;; -+ cygwin* | mingw* | pw32* | cegcc*) -+ # When not using gcc, we currently assume that we are using -+ # Microsoft Visual C++. -+ # hardcode_libdir_flag_spec is actually meaningless, as there is -+ # no search path for DLLs. -+ hardcode_libdir_flag_spec=' ' -+ libext=lib -+ ;; -+ darwin* | rhapsody*) -+ hardcode_direct=no -+ if test "$GCC" = yes ; then -+ : -+ else -+ case $cc_basename in -+ xlc*) -+ ;; -+ *) -+ ld_shlibs=no -+ ;; -+ esac -+ fi -+ ;; -+ dgux*) -+ hardcode_libdir_flag_spec='-L$libdir' -+ ;; -+ freebsd1*) -+ ld_shlibs=no -+ ;; -+ freebsd2.2*) -+ hardcode_libdir_flag_spec='-R$libdir' -+ hardcode_direct=yes -+ ;; -+ freebsd2*) -+ hardcode_direct=yes -+ hardcode_minus_L=yes -+ ;; -+ freebsd* | dragonfly*) -+ hardcode_libdir_flag_spec='-R$libdir' -+ hardcode_direct=yes -+ ;; -+ hpux9*) -+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' -+ hardcode_libdir_separator=: -+ hardcode_direct=yes -+ # hardcode_minus_L: Not really in the search PATH, -+ # but as the default location of the library. -+ hardcode_minus_L=yes -+ ;; -+ hpux10*) -+ if test "$with_gnu_ld" = no; then -+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' -+ hardcode_libdir_separator=: -+ hardcode_direct=yes -+ # hardcode_minus_L: Not really in the search PATH, -+ # but as the default location of the library. -+ hardcode_minus_L=yes -+ fi -+ ;; -+ hpux11*) -+ if test "$with_gnu_ld" = no; then -+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' -+ hardcode_libdir_separator=: -+ case $host_cpu in -+ hppa*64*|ia64*) -+ hardcode_direct=no -+ ;; -+ *) -+ hardcode_direct=yes -+ # hardcode_minus_L: Not really in the search PATH, -+ # but as the default location of the library. -+ hardcode_minus_L=yes -+ ;; -+ esac -+ fi -+ ;; -+ irix5* | irix6* | nonstopux*) -+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' -+ hardcode_libdir_separator=: -+ ;; -+ netbsd*) -+ hardcode_libdir_flag_spec='-R$libdir' -+ hardcode_direct=yes -+ ;; -+ newsos6) -+ hardcode_direct=yes -+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' -+ hardcode_libdir_separator=: -+ ;; -+ openbsd*) -+ if test -f /usr/libexec/ld.so; then -+ hardcode_direct=yes -+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then -+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir' -+ else -+ case "$host_os" in -+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) -+ hardcode_libdir_flag_spec='-R$libdir' -+ ;; -+ *) -+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir' -+ ;; -+ esac -+ fi -+ else -+ ld_shlibs=no -+ fi -+ ;; -+ os2*) -+ hardcode_libdir_flag_spec='-L$libdir' -+ hardcode_minus_L=yes -+ ;; -+ osf3*) -+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' -+ hardcode_libdir_separator=: -+ ;; -+ osf4* | osf5*) -+ if test "$GCC" = yes; then -+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' -+ else -+ # Both cc and cxx compiler support -rpath directly -+ hardcode_libdir_flag_spec='-rpath $libdir' -+ fi -+ hardcode_libdir_separator=: -+ ;; -+ solaris*) -+ hardcode_libdir_flag_spec='-R$libdir' -+ ;; -+ sunos4*) -+ hardcode_libdir_flag_spec='-L$libdir' -+ hardcode_direct=yes -+ hardcode_minus_L=yes -+ ;; -+ sysv4) -+ case $host_vendor in -+ sni) -+ hardcode_direct=yes # is this really true??? -+ ;; -+ siemens) -+ hardcode_direct=no -+ ;; -+ motorola) -+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie -+ ;; -+ esac -+ ;; -+ sysv4.3*) -+ ;; -+ sysv4*MP*) -+ if test -d /usr/nec; then -+ ld_shlibs=yes -+ fi -+ ;; -+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) -+ ;; -+ sysv5* | sco3.2v5* | sco5v6*) -+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' -+ hardcode_libdir_separator=':' -+ ;; -+ uts4*) -+ hardcode_libdir_flag_spec='-L$libdir' -+ ;; -+ *) -+ ld_shlibs=no -+ ;; -+ esac -+fi -+ -+# Check dynamic linker characteristics -+# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. -+# Unlike libtool.m4, here we don't care about _all_ names of the library, but -+# only about the one the linker finds when passed -lNAME. This is the last -+# element of library_names_spec in libtool.m4, or possibly two of them if the -+# linker has special search rules. -+library_names_spec= # the last element of library_names_spec in libtool.m4 -+libname_spec='lib$name' -+case "$host_os" in -+ aix3*) -+ library_names_spec='$libname.a' -+ ;; -+ aix[4-9]*) -+ library_names_spec='$libname$shrext' -+ ;; -+ amigaos*) -+ library_names_spec='$libname.a' -+ ;; -+ beos*) -+ library_names_spec='$libname$shrext' -+ ;; -+ bsdi[45]*) -+ library_names_spec='$libname$shrext' -+ ;; -+ cygwin* | mingw* | pw32* | cegcc*) -+ shrext=.dll -+ library_names_spec='$libname.dll.a $libname.lib' -+ ;; -+ darwin* | rhapsody*) -+ shrext=.dylib -+ library_names_spec='$libname$shrext' -+ ;; -+ dgux*) -+ library_names_spec='$libname$shrext' -+ ;; -+ freebsd1*) -+ ;; -+ freebsd* | dragonfly*) -+ case "$host_os" in -+ freebsd[123]*) -+ library_names_spec='$libname$shrext$versuffix' ;; -+ *) -+ library_names_spec='$libname$shrext' ;; -+ esac -+ ;; -+ gnu*) -+ library_names_spec='$libname$shrext' -+ ;; -+ hpux9* | hpux10* | hpux11*) -+ case $host_cpu in -+ ia64*) -+ shrext=.so -+ ;; -+ hppa*64*) -+ shrext=.sl -+ ;; -+ *) -+ shrext=.sl -+ ;; -+ esac -+ library_names_spec='$libname$shrext' -+ ;; -+ interix[3-9]*) -+ library_names_spec='$libname$shrext' -+ ;; -+ irix5* | irix6* | nonstopux*) -+ library_names_spec='$libname$shrext' -+ case "$host_os" in -+ irix5* | nonstopux*) -+ libsuff= shlibsuff= -+ ;; -+ *) -+ case $LD in -+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; -+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; -+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; -+ *) libsuff= shlibsuff= ;; -+ esac -+ ;; -+ esac -+ ;; -+ linux*oldld* | linux*aout* | linux*coff*) -+ ;; -+ linux* | k*bsd*-gnu) -+ library_names_spec='$libname$shrext' -+ ;; -+ knetbsd*-gnu) -+ library_names_spec='$libname$shrext' -+ ;; -+ netbsd*) -+ library_names_spec='$libname$shrext' -+ ;; -+ newsos6) -+ library_names_spec='$libname$shrext' -+ ;; -+ nto-qnx*) -+ library_names_spec='$libname$shrext' -+ ;; -+ openbsd*) -+ library_names_spec='$libname$shrext$versuffix' -+ ;; -+ os2*) -+ libname_spec='$name' -+ shrext=.dll -+ library_names_spec='$libname.a' -+ ;; -+ osf3* | osf4* | osf5*) -+ library_names_spec='$libname$shrext' -+ ;; -+ rdos*) -+ ;; -+ solaris*) -+ library_names_spec='$libname$shrext' -+ ;; -+ sunos4*) -+ library_names_spec='$libname$shrext$versuffix' -+ ;; -+ sysv4 | sysv4.3*) -+ library_names_spec='$libname$shrext' -+ ;; -+ sysv4*MP*) -+ library_names_spec='$libname$shrext' -+ ;; -+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) -+ library_names_spec='$libname$shrext' -+ ;; -+ uts4*) -+ library_names_spec='$libname$shrext' -+ ;; -+esac -+ -+sed_quote_subst='s/\(["`$\\]\)/\\\1/g' -+escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` -+shlibext=`echo "$shrext" | sed -e 's,^\.,,'` -+escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -+escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -+escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -+ -+LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' < + +Index: b/cmake/isl-config.cmake +=================================================================== +--- /dev/null ++++ b/cmake/isl-config.cmake +@@ -0,0 +1,25 @@ ++# Try to find the isl library ++ ++# ISL_FOUND - System has isl lib ++# ISL_INCLUDE_DIR - The isl include directory ++# ISL_LIBRARY - Library needed to use isl ++ ++ ++if (ISL_INCLUDE_DIR AND ISL_LIBRARY) ++ # Already in cache, be silent ++ set(ISL_FIND_QUIETLY TRUE) ++endif() ++ ++find_path(ISL_INCLUDE_DIR NAMES isl/version.h) ++find_library(ISL_LIBRARY NAMES isl) ++ ++if (ISL_LIBRARY AND ISL_INCLUDE_DIR) ++ message(STATUS "Library isl found =) ${ISL_LIBRARY}") ++else() ++ message(STATUS "Library isl not found =(") ++endif() ++ ++include(FindPackageHandleStandardArgs) ++FIND_PACKAGE_HANDLE_STANDARD_ARGS(ISL DEFAULT_MSG ISL_INCLUDE_DIR ISL_LIBRARY) ++ ++mark_as_advanced(ISL_INCLUDE_DIR ISL_LIBRARY) +Index: b/cmake/cloog-isl-config.cmake +=================================================================== +--- /dev/null ++++ b/cmake/cloog-isl-config.cmake +@@ -0,0 +1,26 @@ ++# Try to find the cloog-isl library ++ ++# CLOOG_ISL_FOUND - System has cloog-isl lib ++# CLOOG_ISL_INCLUDE_DIR - The cloog-isl include directory ++# CLOOG_ISL_LIBRARY - Library needed to use cloog-isl ++ ++ ++if (CLOOG_ISL_INCLUDE_DIR AND CLOOG_ISL_LIBRARY) ++ # Already in cache, be silent ++ set(CLOOG_ISL_FIND_QUIETLY TRUE) ++endif() ++ ++find_path(CLOOG_ISL_INCLUDE_DIR NAMES cloog/isl/cloog.h) ++find_library(CLOOG_ISL_LIBRARY NAMES cloog-isl) ++ ++if (CLOOG_ISL_LIBRARY AND CLOOG_ISL_INCLUDE_DIR) ++ message(STATUS "Library cloog-isl found =) ${CLOOG_ISL_LIBRARY}") ++else() ++ message(STATUS "Library cloog-isl not found =(") ++endif() ++ ++ ++include(FindPackageHandleStandardArgs) ++FIND_PACKAGE_HANDLE_STANDARD_ARGS(CLOOG_ISL DEFAULT_MSG CLOOG_ISL_INCLUDE_DIR CLOOG_ISL_LIBRARY) ++ ++mark_as_advanced(CLOOG_ISL_INCLUDE_DIR CLOOG_ISL_LIBRARY) diff --git a/package/cloog/cloog-0001-add-missing-files.patch b/package/cloog/cloog-0001-add-missing-files.patch deleted file mode 100644 index 23743cc0eb..0000000000 --- a/package/cloog/cloog-0001-add-missing-files.patch +++ /dev/null @@ -1,69 +0,0 @@ -Add CMake related files missing from the release tarball - -Due to a bug in the cloog release, a few files were missing from the -release tarball. This patch re-adds those files, which are needed for -the build to work. This patch can be dropped when cloog is bumped. - -Signed-off-by: Thomas Petazzoni - -Index: b/cmake/isl-config.cmake -=================================================================== ---- /dev/null -+++ b/cmake/isl-config.cmake -@@ -0,0 +1,25 @@ -+# Try to find the isl library -+ -+# ISL_FOUND - System has isl lib -+# ISL_INCLUDE_DIR - The isl include directory -+# ISL_LIBRARY - Library needed to use isl -+ -+ -+if (ISL_INCLUDE_DIR AND ISL_LIBRARY) -+ # Already in cache, be silent -+ set(ISL_FIND_QUIETLY TRUE) -+endif() -+ -+find_path(ISL_INCLUDE_DIR NAMES isl/version.h) -+find_library(ISL_LIBRARY NAMES isl) -+ -+if (ISL_LIBRARY AND ISL_INCLUDE_DIR) -+ message(STATUS "Library isl found =) ${ISL_LIBRARY}") -+else() -+ message(STATUS "Library isl not found =(") -+endif() -+ -+include(FindPackageHandleStandardArgs) -+FIND_PACKAGE_HANDLE_STANDARD_ARGS(ISL DEFAULT_MSG ISL_INCLUDE_DIR ISL_LIBRARY) -+ -+mark_as_advanced(ISL_INCLUDE_DIR ISL_LIBRARY) -Index: b/cmake/cloog-isl-config.cmake -=================================================================== ---- /dev/null -+++ b/cmake/cloog-isl-config.cmake -@@ -0,0 +1,26 @@ -+# Try to find the cloog-isl library -+ -+# CLOOG_ISL_FOUND - System has cloog-isl lib -+# CLOOG_ISL_INCLUDE_DIR - The cloog-isl include directory -+# CLOOG_ISL_LIBRARY - Library needed to use cloog-isl -+ -+ -+if (CLOOG_ISL_INCLUDE_DIR AND CLOOG_ISL_LIBRARY) -+ # Already in cache, be silent -+ set(CLOOG_ISL_FIND_QUIETLY TRUE) -+endif() -+ -+find_path(CLOOG_ISL_INCLUDE_DIR NAMES cloog/isl/cloog.h) -+find_library(CLOOG_ISL_LIBRARY NAMES cloog-isl) -+ -+if (CLOOG_ISL_LIBRARY AND CLOOG_ISL_INCLUDE_DIR) -+ message(STATUS "Library cloog-isl found =) ${CLOOG_ISL_LIBRARY}") -+else() -+ message(STATUS "Library cloog-isl not found =(") -+endif() -+ -+ -+include(FindPackageHandleStandardArgs) -+FIND_PACKAGE_HANDLE_STANDARD_ARGS(CLOOG_ISL DEFAULT_MSG CLOOG_ISL_INCLUDE_DIR CLOOG_ISL_LIBRARY) -+ -+mark_as_advanced(CLOOG_ISL_INCLUDE_DIR CLOOG_ISL_LIBRARY) diff --git a/package/cloop/0001-cflags.patch b/package/cloop/0001-cflags.patch new file mode 100644 index 0000000000..c421dd7f8b --- /dev/null +++ b/package/cloop/0001-cflags.patch @@ -0,0 +1,30 @@ +Take into account the CFLAGS/LDFLAGS passed in the environment. + +Signed-off-by: Thomas Petazzoni + +Index: host-cloop-2.634-1/Makefile +=================================================================== +--- host-cloop-2.634-1.orig/Makefile 2010-12-16 09:17:52.826555645 +0100 ++++ host-cloop-2.634-1/Makefile 2010-12-16 09:18:57.208713338 +0100 +@@ -15,7 +15,7 @@ + endif + + ifdef APPSONLY +-CFLAGS:=-Wall -Wstrict-prototypes -Wno-trigraphs -O2 -s -I. -fno-strict-aliasing -fno-common -fomit-frame-pointer ++CLOOP_CFLAGS:=-Wall -Wstrict-prototypes -Wno-trigraphs -O2 -s -I. -fno-strict-aliasing -fno-common -fomit-frame-pointer + endif + + KERNOBJ:=compressed_loop.o +@@ -53,10 +53,10 @@ + ( cd advancecomp-1.15 ; ./configure && $(MAKE) advfs ) + + extract_compressed_fs: extract_compressed_fs.c +- $(CC) -Wall -O2 -s -o $@ $< -lz ++ $(CC) $(CFLAGS) $(CLOOP_CFLAGS) $(LDFLAGS) -Wall -O2 -s -o $@ $< -lz + + cloop_suspend: cloop_suspend.o +- $(CC) -o $@ $< ++ $(CC) $(CFLAGS) $(CLOOP_CFLAGS) $(LDFLAGS) -o $@ $< + + clean: + rm -rf create_compressed_fs extract_compressed_fs zoom *.o *.ko Module.symvers .cloop* .compressed_loop.* .tmp* diff --git a/package/cloop/cloop-2.634-1-cflags.patch b/package/cloop/cloop-2.634-1-cflags.patch deleted file mode 100644 index c421dd7f8b..0000000000 --- a/package/cloop/cloop-2.634-1-cflags.patch +++ /dev/null @@ -1,30 +0,0 @@ -Take into account the CFLAGS/LDFLAGS passed in the environment. - -Signed-off-by: Thomas Petazzoni - -Index: host-cloop-2.634-1/Makefile -=================================================================== ---- host-cloop-2.634-1.orig/Makefile 2010-12-16 09:17:52.826555645 +0100 -+++ host-cloop-2.634-1/Makefile 2010-12-16 09:18:57.208713338 +0100 -@@ -15,7 +15,7 @@ - endif - - ifdef APPSONLY --CFLAGS:=-Wall -Wstrict-prototypes -Wno-trigraphs -O2 -s -I. -fno-strict-aliasing -fno-common -fomit-frame-pointer -+CLOOP_CFLAGS:=-Wall -Wstrict-prototypes -Wno-trigraphs -O2 -s -I. -fno-strict-aliasing -fno-common -fomit-frame-pointer - endif - - KERNOBJ:=compressed_loop.o -@@ -53,10 +53,10 @@ - ( cd advancecomp-1.15 ; ./configure && $(MAKE) advfs ) - - extract_compressed_fs: extract_compressed_fs.c -- $(CC) -Wall -O2 -s -o $@ $< -lz -+ $(CC) $(CFLAGS) $(CLOOP_CFLAGS) $(LDFLAGS) -Wall -O2 -s -o $@ $< -lz - - cloop_suspend: cloop_suspend.o -- $(CC) -o $@ $< -+ $(CC) $(CFLAGS) $(CLOOP_CFLAGS) $(LDFLAGS) -o $@ $< - - clean: - rm -rf create_compressed_fs extract_compressed_fs zoom *.o *.ko Module.symvers .cloop* .compressed_loop.* .tmp* diff --git a/package/coreutils/0001-fix-for-dummy-man-usage.patch b/package/coreutils/0001-fix-for-dummy-man-usage.patch new file mode 100644 index 0000000000..960501eb2d --- /dev/null +++ b/package/coreutils/0001-fix-for-dummy-man-usage.patch @@ -0,0 +1,25 @@ +Upstream-Status: Pending + +coreutils: fix for dummy-man usage + +The options should be before the final argument, otherwise, the following error +would appear when compiling. + +"dummy-man: too many non-option arguments" + +Signed-off-by: Chen Qi +[Gustavo: update for 8.23] + +diff -Nura coreutils-8.23.orig/man/local.mk coreutils-8.23/man/local.mk +--- coreutils-8.23.orig/man/local.mk 2014-10-24 16:52:29.720555852 -0300 ++++ coreutils-8.23/man/local.mk 2014-10-24 16:52:59.381391498 -0300 +@@ -101,8 +101,8 @@ + && $(run_help2man) \ + --source='$(PACKAGE_STRING)' \ + --include=$(srcdir)/man/$$name.x \ +- --output=$$t/$$name.1 $$t/$$argv \ + --info-page='coreutils \(aq'$$name' invocation\(aq' \ ++ --output=$$t/$$name.1 $$t/$$argv \ + && sed \ + -e 's|$*\.td/||g' \ + -e '/For complete documentation/d' \ diff --git a/package/coreutils/coreutils-01-fix-for-dummy-man-usage.patch b/package/coreutils/coreutils-01-fix-for-dummy-man-usage.patch deleted file mode 100644 index 960501eb2d..0000000000 --- a/package/coreutils/coreutils-01-fix-for-dummy-man-usage.patch +++ /dev/null @@ -1,25 +0,0 @@ -Upstream-Status: Pending - -coreutils: fix for dummy-man usage - -The options should be before the final argument, otherwise, the following error -would appear when compiling. - -"dummy-man: too many non-option arguments" - -Signed-off-by: Chen Qi -[Gustavo: update for 8.23] - -diff -Nura coreutils-8.23.orig/man/local.mk coreutils-8.23/man/local.mk ---- coreutils-8.23.orig/man/local.mk 2014-10-24 16:52:29.720555852 -0300 -+++ coreutils-8.23/man/local.mk 2014-10-24 16:52:59.381391498 -0300 -@@ -101,8 +101,8 @@ - && $(run_help2man) \ - --source='$(PACKAGE_STRING)' \ - --include=$(srcdir)/man/$$name.x \ -- --output=$$t/$$name.1 $$t/$$argv \ - --info-page='coreutils \(aq'$$name' invocation\(aq' \ -+ --output=$$t/$$name.1 $$t/$$argv \ - && sed \ - -e 's|$*\.td/||g' \ - -e '/For complete documentation/d' \ diff --git a/package/cppdb/0001-mysql-library-suffix.patch b/package/cppdb/0001-mysql-library-suffix.patch new file mode 100644 index 0000000000..e65e3e26b6 --- /dev/null +++ b/package/cppdb/0001-mysql-library-suffix.patch @@ -0,0 +1,23 @@ +Add mysql/ to PATH_SUFFIXES for the library search for mysql. + +On common distros libmysqlclient* is installed and/or symlinked +into /usr/lib. +Since we install the libraries into /usr/lib/mysql alone cppdb +fails to properly link to it giving runtime errors. + +Status: https://sourceforge.net/p/cppcms/bugs/135/ + +Signed-off-by: Gustavo Zacarias + +diff -Nura cppdb-0.3.1.orig/CMakeLists.txt cppdb-0.3.1/CMakeLists.txt +--- cppdb-0.3.1.orig/CMakeLists.txt 2014-10-17 11:05:57.875429748 -0300 ++++ cppdb-0.3.1/CMakeLists.txt 2014-10-17 11:12:57.486775484 -0300 +@@ -196,7 +196,7 @@ + endif() + + if(NOT DISABLE_MYSQL) +- find_library(MYSQL_LIB mysqlclient) ++ find_library(MYSQL_LIB mysqlclient PATH_SUFFIXES mysql) + find_path(MYSQL_PATH mysql.h PATH_SUFFIXES mysql) + if(MYSQL_LIB AND MYSQL_PATH) + include_directories(${MYSQL_PATH}) diff --git a/package/cppdb/cppdb-0001-mysql-library-suffix.patch b/package/cppdb/cppdb-0001-mysql-library-suffix.patch deleted file mode 100644 index e65e3e26b6..0000000000 --- a/package/cppdb/cppdb-0001-mysql-library-suffix.patch +++ /dev/null @@ -1,23 +0,0 @@ -Add mysql/ to PATH_SUFFIXES for the library search for mysql. - -On common distros libmysqlclient* is installed and/or symlinked -into /usr/lib. -Since we install the libraries into /usr/lib/mysql alone cppdb -fails to properly link to it giving runtime errors. - -Status: https://sourceforge.net/p/cppcms/bugs/135/ - -Signed-off-by: Gustavo Zacarias - -diff -Nura cppdb-0.3.1.orig/CMakeLists.txt cppdb-0.3.1/CMakeLists.txt ---- cppdb-0.3.1.orig/CMakeLists.txt 2014-10-17 11:05:57.875429748 -0300 -+++ cppdb-0.3.1/CMakeLists.txt 2014-10-17 11:12:57.486775484 -0300 -@@ -196,7 +196,7 @@ - endif() - - if(NOT DISABLE_MYSQL) -- find_library(MYSQL_LIB mysqlclient) -+ find_library(MYSQL_LIB mysqlclient PATH_SUFFIXES mysql) - find_path(MYSQL_PATH mysql.h PATH_SUFFIXES mysql) - if(MYSQL_LIB AND MYSQL_PATH) - include_directories(${MYSQL_PATH}) diff --git a/package/cramfs/0001-endian.patch b/package/cramfs/0001-endian.patch new file mode 100644 index 0000000000..b2eda5a1db --- /dev/null +++ b/package/cramfs/0001-endian.patch @@ -0,0 +1,288 @@ +Index: cramfs-1.1/mkcramfs.c +=================================================================== +--- cramfs-1.1.orig/mkcramfs.c 2002-02-20 09:03:32.000000000 +0100 ++++ cramfs-1.1/mkcramfs.c 2011-09-09 15:11:00.980895119 +0200 +@@ -93,6 +93,7 @@ + static int opt_verbose = 0; + static char *opt_image = NULL; + static char *opt_name = NULL; ++static int swap_endian = 0; + + static int warn_dev, warn_gid, warn_namelen, warn_skip, warn_size, warn_uid; + +@@ -130,6 +131,8 @@ + " -i file insert a file image into the filesystem (requires >= 2.4.0)\n" + " -n name set name of cramfs filesystem\n" + " -p pad by %d bytes for boot code\n" ++ " -l litte endian filesystem\n" ++ " -b big endian filesystem\n" + " -s sort directory entries (old option, ignored)\n" + " -v be more verbose\n" + " -z make explicit holes (requires >= 2.3.39)\n" +@@ -372,6 +375,50 @@ + return totalsize; + } + ++/* routines to swap endianness/bitfields in inode/superblock block data */ ++static void fix_inode(struct cramfs_inode *inode) ++{ ++#define wswap(x) (((x)>>24) | (((x)>>8)&0xff00) | (((x)&0xff00)<<8) | (((x)&0xff)<<24)) ++ /* attempt #2 */ ++ inode->mode = (inode->mode >> 8) | ((inode->mode&0xff)<<8); ++ inode->uid = (inode->uid >> 8) | ((inode->uid&0xff)<<8); ++ inode->size = (inode->size >> 16) | (inode->size&0xff00) | ++ ((inode->size&0xff)<<16); ++ ((u32*)inode)[2] = wswap(inode->offset | (inode->namelen<<26)); ++} ++ ++static void fix_offset(struct cramfs_inode *inode, u32 offset) ++{ ++ u32 tmp = wswap(((u32*)inode)[2]); ++ ((u32*)inode)[2] = wswap((offset >> 2) | (tmp&0xfc000000)); ++} ++ ++static void fix_block_pointer(u32 *p) ++{ ++ *p = wswap(*p); ++} ++ ++static void fix_super(struct cramfs_super *super) ++{ ++ u32 *p = (u32*)super; ++ ++ /* fix superblock fields */ ++ p[0] = wswap(p[0]); /* magic */ ++ p[1] = wswap(p[1]); /* size */ ++ p[2] = wswap(p[2]); /* flags */ ++ p[3] = wswap(p[3]); /* future */ ++ ++ /* fix filesystem info fields */ ++ p = (u32*)&super->fsid; ++ p[0] = wswap(p[0]); /* crc */ ++ p[1] = wswap(p[1]); /* edition */ ++ p[2] = wswap(p[2]); /* blocks */ ++ p[3] = wswap(p[3]); /* files */ ++ ++ fix_inode(&super->root); ++#undef wswap ++} ++ + /* Returns sizeof(struct cramfs_super), which includes the root inode. */ + static unsigned int write_superblock(struct entry *root, char *base, int size) + { +@@ -405,6 +452,7 @@ + super->root.gid = root->gid; + super->root.size = root->size; + super->root.offset = offset >> 2; ++ if (swap_endian) fix_super(super); + + return offset; + } +@@ -419,7 +467,10 @@ + if (offset >= (1 << (2 + CRAMFS_OFFSET_WIDTH))) { + die(MKFS_ERROR, 0, "filesystem too big"); + } +- inode->offset = (offset >> 2); ++ if (swap_endian) ++ fix_offset(inode, offset); ++ else ++ inode->offset = (offset >> 2); + } + + /* +@@ -515,6 +566,7 @@ + stack_entries++; + } + entry = entry->next; ++ if (swap_endian) fix_inode(inode); + } + + /* +@@ -609,6 +661,7 @@ + } + + *(u32 *) (base + offset) = curr; ++ if (swap_endian) fix_block_pointer((u32*)(base + offset)); + offset += 4; + } while (size); + +@@ -699,7 +752,7 @@ + progname = argv[0]; + + /* command line options */ +- while ((c = getopt(argc, argv, "hEe:i:n:psvz")) != EOF) { ++ while ((c = getopt(argc, argv, "hEe:i:n:psvzlb")) != EOF) { + switch (c) { + case 'h': + usage(MKFS_OK); +@@ -727,6 +780,18 @@ + opt_pad = PAD_SIZE; + fslen_ub += PAD_SIZE; + break; ++ case 'b': ++#if __BYTE_ORDER == __LITTLE_ENDIAN ++ swap_endian = 1; ++ printf("Swapping filesystem endian-ness\n"); ++#endif ++ break; ++ case 'l': ++#if __BYTE_ORDER == __BIG_ENDIAN ++ swap_endian = 1; ++ printf("Swapping filesystem endian-ness\n"); ++#endif ++ break; + case 's': + /* old option, ignored */ + break; +Index: cramfs-1.1/cramfsck.c +=================================================================== +--- cramfs-1.1.orig/cramfsck.c 2002-02-23 01:00:42.000000000 +0100 ++++ cramfs-1.1/cramfsck.c 2011-09-09 15:10:06.810894275 +0200 +@@ -30,6 +30,7 @@ + * 2000/07/15: Daniel Quinlan (initial support for block devices) + * 2002/01/10: Daniel Quinlan (additional checks, test more return codes, + * use read if mmap fails, standardize messages) ++ * 2004/09/01: Alfonso Acosta (Add swapping support) + */ + + /* compile-time options */ +@@ -53,6 +54,7 @@ + #define _LINUX_STRING_H_ + #include + #include ++#include + #include + + /* Exit codes used by fsck-type programs */ +@@ -73,6 +75,7 @@ + static char *filename; /* ROM image filename */ + struct cramfs_super super; /* just find the cramfs superblock once */ + static int opt_verbose = 0; /* 1 = verbose (-v), 2+ = very verbose (-vv) */ ++static int need_swapping = 0; /* fs and host dont have the same endianness */ + #ifdef INCLUDE_FS_TESTS + static int opt_extract = 0; /* extract cramfs (-x) */ + static char *extract_dir = "root"; /* extraction directory (-x) */ +@@ -84,6 +87,9 @@ + static unsigned long start_data = ~0UL; /* start of the data (256 MB = max) */ + static unsigned long end_data = 0; /* end of the data */ + ++/* access 32 byte variables */ ++#define CRAMFS_32(x) (need_swapping ? bswap_32(x) : x) ++ + /* Guarantee access to at least 8kB at a time */ + #define ROMBUFFER_BITS 13 + #define ROMBUFFERSIZE (1 << ROMBUFFER_BITS) +@@ -165,20 +171,34 @@ + if (super.magic == CRAMFS_MAGIC) { + *start = 0; + } ++ else if (super.magic == bswap_32(CRAMFS_MAGIC)) { ++ *start = 0; ++ need_swapping = 1; ++ } ++ + else if (*length >= (PAD_SIZE + sizeof(super))) { + lseek(fd, PAD_SIZE, SEEK_SET); + if (read(fd, &super, sizeof(super)) != sizeof(super)) { + die(FSCK_ERROR, 1, "read failed: %s", filename); + } +- if (super.magic == CRAMFS_MAGIC) { ++ if (super.magic == CRAMFS_32(CRAMFS_MAGIC)) { + *start = PAD_SIZE; + } + } + + /* superblock tests */ +- if (super.magic != CRAMFS_MAGIC) { ++ if (super.magic != CRAMFS_32(CRAMFS_MAGIC)) { + die(FSCK_UNCORRECTED, 0, "superblock magic not found"); + } ++ if (need_swapping){ ++ super.size = bswap_32(super.size); ++ super.flags = bswap_32(super.flags); ++ super.future = bswap_32(super.future); ++ super.fsid.crc = bswap_32(super.fsid.crc); ++ super.fsid.edition = bswap_32(super.fsid.edition); ++ super.fsid.blocks = bswap_32(super.fsid.blocks); ++ super.fsid.files = bswap_32(super.fsid.files); ++ } + if (super.flags & ~CRAMFS_SUPPORTED_FLAGS) { + die(FSCK_ERROR, 0, "unsupported filesystem features"); + } +@@ -213,7 +233,10 @@ + die(FSCK_USAGE, 0, "unable to test CRC: old cramfs format"); + #endif /* not INCLUDE_FS_TESTS */ + } +- ++ else if (need_swapping) { ++ /* crc checking in this case would mean translating the whole file */ ++ return; ++ } + crc = crc32(0L, Z_NULL, 0); + + buf = mmap(NULL, super.size, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0); +@@ -298,12 +321,23 @@ + + static struct cramfs_inode *cramfs_iget(struct cramfs_inode * i) + { ++#define wswap(x) (((x)>>24) | (((x)>>8)&0xff00) | (((x)&0xff00)<<8) | (((x)&0xff)<<24)) + struct cramfs_inode *inode = malloc(sizeof(struct cramfs_inode)); + + if (!inode) { + die(FSCK_ERROR, 1, "malloc failed"); + } +- *inode = *i; ++ if(!need_swapping) { ++ *inode = *i; ++ } ++ else { ++ inode->mode=bswap_16(i->mode); ++ inode->uid=bswap_16(i->uid); ++ inode->size=bswap_32(i->size << 8); ++ inode->gid=i->gid; ++ inode->namelen = bswap_32(((u32*)i)[2]) >> 26; ++ inode->offset = bswap_32(((u32*)i)[2]) & 0x3FFFFFFF; ++ } + return inode; + } + +@@ -322,9 +356,9 @@ + */ + static struct cramfs_inode *read_super(void) + { +- unsigned long offset = super.root.offset << 2; +- +- if (!S_ISDIR(super.root.mode)) ++ struct cramfs_inode *root = cramfs_iget(&super.root); ++ unsigned long offset = root->offset << 2; ++ if (!S_ISDIR(root->mode)) + die(FSCK_UNCORRECTED, 0, "root inode is not directory"); + if (!(super.flags & CRAMFS_FLAG_SHIFTED_ROOT_OFFSET) && + ((offset != sizeof(struct cramfs_super)) && +@@ -332,7 +366,7 @@ + { + die(FSCK_UNCORRECTED, 0, "bad root offset (%lu)", offset); + } +- return cramfs_iget(&super.root); ++ return root; + } + + static int uncompress_block(void *src, int len) +@@ -364,7 +398,7 @@ + + do { + unsigned long out = PAGE_CACHE_SIZE; +- unsigned long next = *(u32 *) romfs_read(offset); ++ unsigned long next = CRAMFS_32(*(u32 *) romfs_read(offset)); + + if (next > end_data) { + end_data = next; +@@ -525,7 +559,7 @@ + { + unsigned long offset = i->offset << 2; + unsigned long curr = offset + 4; +- unsigned long next = *(u32 *) romfs_read(offset); ++ unsigned long next = CRAMFS_32(*(u32 *) romfs_read(offset)); + unsigned long size; + + if (offset == 0) { diff --git a/package/cramfs/0002-cygwin_IO.patch b/package/cramfs/0002-cygwin_IO.patch new file mode 100644 index 0000000000..8be333f01b --- /dev/null +++ b/package/cramfs/0002-cygwin_IO.patch @@ -0,0 +1,15 @@ +Index: cramfs-1.1/cramfsck.c +=================================================================== +--- cramfs-1.1.orig/cramfsck.c 2011-09-09 15:10:06.000000000 +0200 ++++ cramfs-1.1/cramfsck.c 2011-09-09 15:13:49.950897747 +0200 +@@ -57,6 +57,10 @@ + #include + #include + ++#ifdef __CYGWIN__ ++#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0) ++#endif /* __CYGWIN__ */ ++ + /* Exit codes used by fsck-type programs */ + #define FSCK_OK 0 /* No errors */ + #define FSCK_NONDESTRUCT 1 /* File system errors corrected */ diff --git a/package/cramfs/cramfs-01-endian.patch b/package/cramfs/cramfs-01-endian.patch deleted file mode 100644 index b2eda5a1db..0000000000 --- a/package/cramfs/cramfs-01-endian.patch +++ /dev/null @@ -1,288 +0,0 @@ -Index: cramfs-1.1/mkcramfs.c -=================================================================== ---- cramfs-1.1.orig/mkcramfs.c 2002-02-20 09:03:32.000000000 +0100 -+++ cramfs-1.1/mkcramfs.c 2011-09-09 15:11:00.980895119 +0200 -@@ -93,6 +93,7 @@ - static int opt_verbose = 0; - static char *opt_image = NULL; - static char *opt_name = NULL; -+static int swap_endian = 0; - - static int warn_dev, warn_gid, warn_namelen, warn_skip, warn_size, warn_uid; - -@@ -130,6 +131,8 @@ - " -i file insert a file image into the filesystem (requires >= 2.4.0)\n" - " -n name set name of cramfs filesystem\n" - " -p pad by %d bytes for boot code\n" -+ " -l litte endian filesystem\n" -+ " -b big endian filesystem\n" - " -s sort directory entries (old option, ignored)\n" - " -v be more verbose\n" - " -z make explicit holes (requires >= 2.3.39)\n" -@@ -372,6 +375,50 @@ - return totalsize; - } - -+/* routines to swap endianness/bitfields in inode/superblock block data */ -+static void fix_inode(struct cramfs_inode *inode) -+{ -+#define wswap(x) (((x)>>24) | (((x)>>8)&0xff00) | (((x)&0xff00)<<8) | (((x)&0xff)<<24)) -+ /* attempt #2 */ -+ inode->mode = (inode->mode >> 8) | ((inode->mode&0xff)<<8); -+ inode->uid = (inode->uid >> 8) | ((inode->uid&0xff)<<8); -+ inode->size = (inode->size >> 16) | (inode->size&0xff00) | -+ ((inode->size&0xff)<<16); -+ ((u32*)inode)[2] = wswap(inode->offset | (inode->namelen<<26)); -+} -+ -+static void fix_offset(struct cramfs_inode *inode, u32 offset) -+{ -+ u32 tmp = wswap(((u32*)inode)[2]); -+ ((u32*)inode)[2] = wswap((offset >> 2) | (tmp&0xfc000000)); -+} -+ -+static void fix_block_pointer(u32 *p) -+{ -+ *p = wswap(*p); -+} -+ -+static void fix_super(struct cramfs_super *super) -+{ -+ u32 *p = (u32*)super; -+ -+ /* fix superblock fields */ -+ p[0] = wswap(p[0]); /* magic */ -+ p[1] = wswap(p[1]); /* size */ -+ p[2] = wswap(p[2]); /* flags */ -+ p[3] = wswap(p[3]); /* future */ -+ -+ /* fix filesystem info fields */ -+ p = (u32*)&super->fsid; -+ p[0] = wswap(p[0]); /* crc */ -+ p[1] = wswap(p[1]); /* edition */ -+ p[2] = wswap(p[2]); /* blocks */ -+ p[3] = wswap(p[3]); /* files */ -+ -+ fix_inode(&super->root); -+#undef wswap -+} -+ - /* Returns sizeof(struct cramfs_super), which includes the root inode. */ - static unsigned int write_superblock(struct entry *root, char *base, int size) - { -@@ -405,6 +452,7 @@ - super->root.gid = root->gid; - super->root.size = root->size; - super->root.offset = offset >> 2; -+ if (swap_endian) fix_super(super); - - return offset; - } -@@ -419,7 +467,10 @@ - if (offset >= (1 << (2 + CRAMFS_OFFSET_WIDTH))) { - die(MKFS_ERROR, 0, "filesystem too big"); - } -- inode->offset = (offset >> 2); -+ if (swap_endian) -+ fix_offset(inode, offset); -+ else -+ inode->offset = (offset >> 2); - } - - /* -@@ -515,6 +566,7 @@ - stack_entries++; - } - entry = entry->next; -+ if (swap_endian) fix_inode(inode); - } - - /* -@@ -609,6 +661,7 @@ - } - - *(u32 *) (base + offset) = curr; -+ if (swap_endian) fix_block_pointer((u32*)(base + offset)); - offset += 4; - } while (size); - -@@ -699,7 +752,7 @@ - progname = argv[0]; - - /* command line options */ -- while ((c = getopt(argc, argv, "hEe:i:n:psvz")) != EOF) { -+ while ((c = getopt(argc, argv, "hEe:i:n:psvzlb")) != EOF) { - switch (c) { - case 'h': - usage(MKFS_OK); -@@ -727,6 +780,18 @@ - opt_pad = PAD_SIZE; - fslen_ub += PAD_SIZE; - break; -+ case 'b': -+#if __BYTE_ORDER == __LITTLE_ENDIAN -+ swap_endian = 1; -+ printf("Swapping filesystem endian-ness\n"); -+#endif -+ break; -+ case 'l': -+#if __BYTE_ORDER == __BIG_ENDIAN -+ swap_endian = 1; -+ printf("Swapping filesystem endian-ness\n"); -+#endif -+ break; - case 's': - /* old option, ignored */ - break; -Index: cramfs-1.1/cramfsck.c -=================================================================== ---- cramfs-1.1.orig/cramfsck.c 2002-02-23 01:00:42.000000000 +0100 -+++ cramfs-1.1/cramfsck.c 2011-09-09 15:10:06.810894275 +0200 -@@ -30,6 +30,7 @@ - * 2000/07/15: Daniel Quinlan (initial support for block devices) - * 2002/01/10: Daniel Quinlan (additional checks, test more return codes, - * use read if mmap fails, standardize messages) -+ * 2004/09/01: Alfonso Acosta (Add swapping support) - */ - - /* compile-time options */ -@@ -53,6 +54,7 @@ - #define _LINUX_STRING_H_ - #include - #include -+#include - #include - - /* Exit codes used by fsck-type programs */ -@@ -73,6 +75,7 @@ - static char *filename; /* ROM image filename */ - struct cramfs_super super; /* just find the cramfs superblock once */ - static int opt_verbose = 0; /* 1 = verbose (-v), 2+ = very verbose (-vv) */ -+static int need_swapping = 0; /* fs and host dont have the same endianness */ - #ifdef INCLUDE_FS_TESTS - static int opt_extract = 0; /* extract cramfs (-x) */ - static char *extract_dir = "root"; /* extraction directory (-x) */ -@@ -84,6 +87,9 @@ - static unsigned long start_data = ~0UL; /* start of the data (256 MB = max) */ - static unsigned long end_data = 0; /* end of the data */ - -+/* access 32 byte variables */ -+#define CRAMFS_32(x) (need_swapping ? bswap_32(x) : x) -+ - /* Guarantee access to at least 8kB at a time */ - #define ROMBUFFER_BITS 13 - #define ROMBUFFERSIZE (1 << ROMBUFFER_BITS) -@@ -165,20 +171,34 @@ - if (super.magic == CRAMFS_MAGIC) { - *start = 0; - } -+ else if (super.magic == bswap_32(CRAMFS_MAGIC)) { -+ *start = 0; -+ need_swapping = 1; -+ } -+ - else if (*length >= (PAD_SIZE + sizeof(super))) { - lseek(fd, PAD_SIZE, SEEK_SET); - if (read(fd, &super, sizeof(super)) != sizeof(super)) { - die(FSCK_ERROR, 1, "read failed: %s", filename); - } -- if (super.magic == CRAMFS_MAGIC) { -+ if (super.magic == CRAMFS_32(CRAMFS_MAGIC)) { - *start = PAD_SIZE; - } - } - - /* superblock tests */ -- if (super.magic != CRAMFS_MAGIC) { -+ if (super.magic != CRAMFS_32(CRAMFS_MAGIC)) { - die(FSCK_UNCORRECTED, 0, "superblock magic not found"); - } -+ if (need_swapping){ -+ super.size = bswap_32(super.size); -+ super.flags = bswap_32(super.flags); -+ super.future = bswap_32(super.future); -+ super.fsid.crc = bswap_32(super.fsid.crc); -+ super.fsid.edition = bswap_32(super.fsid.edition); -+ super.fsid.blocks = bswap_32(super.fsid.blocks); -+ super.fsid.files = bswap_32(super.fsid.files); -+ } - if (super.flags & ~CRAMFS_SUPPORTED_FLAGS) { - die(FSCK_ERROR, 0, "unsupported filesystem features"); - } -@@ -213,7 +233,10 @@ - die(FSCK_USAGE, 0, "unable to test CRC: old cramfs format"); - #endif /* not INCLUDE_FS_TESTS */ - } -- -+ else if (need_swapping) { -+ /* crc checking in this case would mean translating the whole file */ -+ return; -+ } - crc = crc32(0L, Z_NULL, 0); - - buf = mmap(NULL, super.size, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0); -@@ -298,12 +321,23 @@ - - static struct cramfs_inode *cramfs_iget(struct cramfs_inode * i) - { -+#define wswap(x) (((x)>>24) | (((x)>>8)&0xff00) | (((x)&0xff00)<<8) | (((x)&0xff)<<24)) - struct cramfs_inode *inode = malloc(sizeof(struct cramfs_inode)); - - if (!inode) { - die(FSCK_ERROR, 1, "malloc failed"); - } -- *inode = *i; -+ if(!need_swapping) { -+ *inode = *i; -+ } -+ else { -+ inode->mode=bswap_16(i->mode); -+ inode->uid=bswap_16(i->uid); -+ inode->size=bswap_32(i->size << 8); -+ inode->gid=i->gid; -+ inode->namelen = bswap_32(((u32*)i)[2]) >> 26; -+ inode->offset = bswap_32(((u32*)i)[2]) & 0x3FFFFFFF; -+ } - return inode; - } - -@@ -322,9 +356,9 @@ - */ - static struct cramfs_inode *read_super(void) - { -- unsigned long offset = super.root.offset << 2; -- -- if (!S_ISDIR(super.root.mode)) -+ struct cramfs_inode *root = cramfs_iget(&super.root); -+ unsigned long offset = root->offset << 2; -+ if (!S_ISDIR(root->mode)) - die(FSCK_UNCORRECTED, 0, "root inode is not directory"); - if (!(super.flags & CRAMFS_FLAG_SHIFTED_ROOT_OFFSET) && - ((offset != sizeof(struct cramfs_super)) && -@@ -332,7 +366,7 @@ - { - die(FSCK_UNCORRECTED, 0, "bad root offset (%lu)", offset); - } -- return cramfs_iget(&super.root); -+ return root; - } - - static int uncompress_block(void *src, int len) -@@ -364,7 +398,7 @@ - - do { - unsigned long out = PAGE_CACHE_SIZE; -- unsigned long next = *(u32 *) romfs_read(offset); -+ unsigned long next = CRAMFS_32(*(u32 *) romfs_read(offset)); - - if (next > end_data) { - end_data = next; -@@ -525,7 +559,7 @@ - { - unsigned long offset = i->offset << 2; - unsigned long curr = offset + 4; -- unsigned long next = *(u32 *) romfs_read(offset); -+ unsigned long next = CRAMFS_32(*(u32 *) romfs_read(offset)); - unsigned long size; - - if (offset == 0) { diff --git a/package/cramfs/cramfs-02-cygwin_IO.patch b/package/cramfs/cramfs-02-cygwin_IO.patch deleted file mode 100644 index 8be333f01b..0000000000 --- a/package/cramfs/cramfs-02-cygwin_IO.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: cramfs-1.1/cramfsck.c -=================================================================== ---- cramfs-1.1.orig/cramfsck.c 2011-09-09 15:10:06.000000000 +0200 -+++ cramfs-1.1/cramfsck.c 2011-09-09 15:13:49.950897747 +0200 -@@ -57,6 +57,10 @@ - #include - #include - -+#ifdef __CYGWIN__ -+#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0) -+#endif /* __CYGWIN__ */ -+ - /* Exit codes used by fsck-type programs */ - #define FSCK_OK 0 /* No errors */ - #define FSCK_NONDESTRUCT 1 /* File system errors corrected */ diff --git a/package/crda/0001-Makefile-allow-to-override-python-interpreter.patch b/package/crda/0001-Makefile-allow-to-override-python-interpreter.patch new file mode 100644 index 0000000000..2481390681 --- /dev/null +++ b/package/crda/0001-Makefile-allow-to-override-python-interpreter.patch @@ -0,0 +1,34 @@ +From 6831024a247fd89c7f7adcbee8a0be991b3caaf4 Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Sun, 2 Mar 2014 23:45:44 +0100 +Subject: [PATCH] Makefile: allow to override python interpreter + +Signed-off-by: Samuel Martin +--- + Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1d34bde..d7134ff 100644 +--- a/Makefile ++++ b/Makefile +@@ -42,6 +42,7 @@ LDLIBS += -lgcrypt + reglib.o: keys-gcrypt.c + + endif ++PYTHON ?= python2 + MKDIR ?= mkdir -p + INSTALL ?= install + +@@ -103,7 +104,7 @@ $(REG_BIN): + keys-%.c: utils/key2pub.py $(wildcard $(PUBKEY_DIR)/*.pem) + $(NQ) ' GEN ' $@ + $(NQ) ' Trusted pubkeys:' $(wildcard $(PUBKEY_DIR)/*.pem) +- $(Q)./utils/key2pub.py --$* $(wildcard $(PUBKEY_DIR)/*.pem) $@ ++ $(Q)$(PYTHON) ./utils/key2pub.py --$* $(wildcard $(PUBKEY_DIR)/*.pem) $@ + + %.o: %.c regdb.h reglib.h + $(NQ) ' CC ' $@ +-- +1.9.0 + diff --git a/package/crda/0002-Add-DESTDIR-support-in-install-libreg-rules.patch b/package/crda/0002-Add-DESTDIR-support-in-install-libreg-rules.patch new file mode 100644 index 0000000000..617d05f7ce --- /dev/null +++ b/package/crda/0002-Add-DESTDIR-support-in-install-libreg-rules.patch @@ -0,0 +1,41 @@ +From 2cabb2588da56735369131b709f191453c080be0 Mon Sep 17 00:00:00 2001 +From: "John W. Linville" +Date: Fri, 14 Feb 2014 13:58:44 -0500 +Subject: [PATCH 1/4] crda: Add DESTDIR support in install-libreg* rules in + Makefile + +Also drop ldconfig call, as that causes problems when cross compiling / +installing as non-root. + +Signed-off-by: John W. Linville +Signed-off-by: Luis R. Rodriguez +Signed-off-by: Peter Korsgaard +--- + Makefile | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index 0b2f0d7..1f25509 100644 +--- a/Makefile ++++ b/Makefile +@@ -120,13 +120,12 @@ $(LIBREG): regdb.h reglib.h reglib.c + + install-libreg-headers: + $(NQ) ' INSTALL libreg-headers' +- $(Q)mkdir -p $(INCLUDE_DIR) +- $(Q)cp *.h $(INCLUDE_DIR)/ ++ $(Q)mkdir -p $(DESTDIR)/$(INCLUDE_DIR) ++ $(Q)cp *.h $(DESTDIR)/$(INCLUDE_DIR)/ + + install-libreg: + $(NQ) ' INSTALL libreg' +- $(Q)mkdir -p $(LIBDIR) +- $(Q)cp $(LIBREG) $(LIBDIR)/ +- $(Q)ldconfig ++ $(Q)mkdir -p $(DESTDIR)/$(LIBDIR) ++ $(Q)cp $(LIBREG) $(DESTDIR)/$(LIBDIR)/ + + %.o: %.c regdb.h $(LIBREG) +-- +1.8.5.5 + diff --git a/package/crda/crda-0001-Makefile-allow-to-override-python-interpreter.patch b/package/crda/crda-0001-Makefile-allow-to-override-python-interpreter.patch deleted file mode 100644 index 2481390681..0000000000 --- a/package/crda/crda-0001-Makefile-allow-to-override-python-interpreter.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 6831024a247fd89c7f7adcbee8a0be991b3caaf4 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sun, 2 Mar 2014 23:45:44 +0100 -Subject: [PATCH] Makefile: allow to override python interpreter - -Signed-off-by: Samuel Martin ---- - Makefile | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 1d34bde..d7134ff 100644 ---- a/Makefile -+++ b/Makefile -@@ -42,6 +42,7 @@ LDLIBS += -lgcrypt - reglib.o: keys-gcrypt.c - - endif -+PYTHON ?= python2 - MKDIR ?= mkdir -p - INSTALL ?= install - -@@ -103,7 +104,7 @@ $(REG_BIN): - keys-%.c: utils/key2pub.py $(wildcard $(PUBKEY_DIR)/*.pem) - $(NQ) ' GEN ' $@ - $(NQ) ' Trusted pubkeys:' $(wildcard $(PUBKEY_DIR)/*.pem) -- $(Q)./utils/key2pub.py --$* $(wildcard $(PUBKEY_DIR)/*.pem) $@ -+ $(Q)$(PYTHON) ./utils/key2pub.py --$* $(wildcard $(PUBKEY_DIR)/*.pem) $@ - - %.o: %.c regdb.h reglib.h - $(NQ) ' CC ' $@ --- -1.9.0 - diff --git a/package/crda/crda-0002-Add-DESTDIR-support-in-install-libreg-rules.patch b/package/crda/crda-0002-Add-DESTDIR-support-in-install-libreg-rules.patch deleted file mode 100644 index 617d05f7ce..0000000000 --- a/package/crda/crda-0002-Add-DESTDIR-support-in-install-libreg-rules.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 2cabb2588da56735369131b709f191453c080be0 Mon Sep 17 00:00:00 2001 -From: "John W. Linville" -Date: Fri, 14 Feb 2014 13:58:44 -0500 -Subject: [PATCH 1/4] crda: Add DESTDIR support in install-libreg* rules in - Makefile - -Also drop ldconfig call, as that causes problems when cross compiling / -installing as non-root. - -Signed-off-by: John W. Linville -Signed-off-by: Luis R. Rodriguez -Signed-off-by: Peter Korsgaard ---- - Makefile | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/Makefile b/Makefile -index 0b2f0d7..1f25509 100644 ---- a/Makefile -+++ b/Makefile -@@ -120,13 +120,12 @@ $(LIBREG): regdb.h reglib.h reglib.c - - install-libreg-headers: - $(NQ) ' INSTALL libreg-headers' -- $(Q)mkdir -p $(INCLUDE_DIR) -- $(Q)cp *.h $(INCLUDE_DIR)/ -+ $(Q)mkdir -p $(DESTDIR)/$(INCLUDE_DIR) -+ $(Q)cp *.h $(DESTDIR)/$(INCLUDE_DIR)/ - - install-libreg: - $(NQ) ' INSTALL libreg' -- $(Q)mkdir -p $(LIBDIR) -- $(Q)cp $(LIBREG) $(LIBDIR)/ -- $(Q)ldconfig -+ $(Q)mkdir -p $(DESTDIR)/$(LIBDIR) -+ $(Q)cp $(LIBREG) $(DESTDIR)/$(LIBDIR)/ - - %.o: %.c regdb.h $(LIBREG) --- -1.8.5.5 - diff --git a/package/cryptodev-linux/0001-Replace_INIT_COMPLETION_with_reinit_completion.patch b/package/cryptodev-linux/0001-Replace_INIT_COMPLETION_with_reinit_completion.patch new file mode 100644 index 0000000000..3c1b5801f5 --- /dev/null +++ b/package/cryptodev-linux/0001-Replace_INIT_COMPLETION_with_reinit_completion.patch @@ -0,0 +1,83 @@ +From: Cosmin Paraschiv +To: +Subject: [Cryptodev-linux-devel] [PATCH v2] Replace INIT_COMPLETION with + reinit_completion. + +In the 3.13-rc1 Linux kernel, the INIT_COMPLETION macro has been replaced +with an inline function, reinit_completion [1][2]. We are currently +using the 3.13-rc3 Linux kernel, which leads to the following error: + +cryptlib.c:279:2: error: implicit declaration of function 'INIT_COMPLETION' [-Werror=implicit-function-declaration] + INIT_COMPLETION(cdata->async.result->completion); + +[1] https://github.com/torvalds/linux/commit/c32f74ab2872994bc8336ed367313da3139350ca +[2] https://github.com/torvalds/linux/commit/62026aedaacedbe1ffe94a3599ad4acd8ecdf587 + +Signed-off-by: Cosmin Paraschiv +Reviewed-by: Cristian Stoica +Tested-by: Cristian Stoica +Signed-off-by: Horia Geanta +--- + cryptlib.c | 8 ++++---- + cryptodev_int.h | 6 ++++++ + 2 files changed, 10 insertions(+), 4 deletions(-) + +diff --git a/cryptlib.c b/cryptlib.c +index e6c91fc..fe25563 100644 +--- a/cryptlib.c ++++ b/cryptlib.c +@@ -276,7 +276,7 @@ ssize_t cryptodev_cipher_encrypt(struct cipher_data *cdata, + { + int ret; + +- INIT_COMPLETION(cdata->async.result->completion); ++ reinit_completion(&cdata->async.result->completion); + + if (cdata->aead == 0) { + ablkcipher_request_set_crypt(cdata->async.request, +@@ -299,7 +299,7 @@ ssize_t cryptodev_cipher_decrypt(struct cipher_data *cdata, + { + int ret; + +- INIT_COMPLETION(cdata->async.result->completion); ++ reinit_completion(&cdata->async.result->completion); + if (cdata->aead == 0) { + ablkcipher_request_set_crypt(cdata->async.request, + (struct scatterlist *)src, dst, +@@ -410,7 +410,7 @@ ssize_t cryptodev_hash_update(struct hash_data *hdata, + { + int ret; + +- INIT_COMPLETION(hdata->async.result->completion); ++ reinit_completion(&hdata->async.result->completion); + ahash_request_set_crypt(hdata->async.request, sg, NULL, len); + + ret = crypto_ahash_update(hdata->async.request); +@@ -422,7 +422,7 @@ int cryptodev_hash_final(struct hash_data *hdata, void* output) + { + int ret; + +- INIT_COMPLETION(hdata->async.result->completion); ++ reinit_completion(&hdata->async.result->completion); + ahash_request_set_crypt(hdata->async.request, NULL, output, 0); + + ret = crypto_ahash_final(hdata->async.request); +diff --git a/cryptodev_int.h b/cryptodev_int.h +index eb2aabf..3834ef1 100644 +--- a/cryptodev_int.h ++++ b/cryptodev_int.h +@@ -2,6 +2,12 @@ + #ifndef CRYPTODEV_INT_H + # define CRYPTODEV_INT_H + ++#include ++ ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)) ++# define reinit_completion(x) INIT_COMPLETION(*(x)) ++#endif ++ + #include + #include + #include +-- +1.8.3.1 diff --git a/package/cryptodev-linux/cryptodev-linux-01-Replace_INIT_COMPLETION_with_reinit_completion.patch b/package/cryptodev-linux/cryptodev-linux-01-Replace_INIT_COMPLETION_with_reinit_completion.patch deleted file mode 100644 index 3c1b5801f5..0000000000 --- a/package/cryptodev-linux/cryptodev-linux-01-Replace_INIT_COMPLETION_with_reinit_completion.patch +++ /dev/null @@ -1,83 +0,0 @@ -From: Cosmin Paraschiv -To: -Subject: [Cryptodev-linux-devel] [PATCH v2] Replace INIT_COMPLETION with - reinit_completion. - -In the 3.13-rc1 Linux kernel, the INIT_COMPLETION macro has been replaced -with an inline function, reinit_completion [1][2]. We are currently -using the 3.13-rc3 Linux kernel, which leads to the following error: - -cryptlib.c:279:2: error: implicit declaration of function 'INIT_COMPLETION' [-Werror=implicit-function-declaration] - INIT_COMPLETION(cdata->async.result->completion); - -[1] https://github.com/torvalds/linux/commit/c32f74ab2872994bc8336ed367313da3139350ca -[2] https://github.com/torvalds/linux/commit/62026aedaacedbe1ffe94a3599ad4acd8ecdf587 - -Signed-off-by: Cosmin Paraschiv -Reviewed-by: Cristian Stoica -Tested-by: Cristian Stoica -Signed-off-by: Horia Geanta ---- - cryptlib.c | 8 ++++---- - cryptodev_int.h | 6 ++++++ - 2 files changed, 10 insertions(+), 4 deletions(-) - -diff --git a/cryptlib.c b/cryptlib.c -index e6c91fc..fe25563 100644 ---- a/cryptlib.c -+++ b/cryptlib.c -@@ -276,7 +276,7 @@ ssize_t cryptodev_cipher_encrypt(struct cipher_data *cdata, - { - int ret; - -- INIT_COMPLETION(cdata->async.result->completion); -+ reinit_completion(&cdata->async.result->completion); - - if (cdata->aead == 0) { - ablkcipher_request_set_crypt(cdata->async.request, -@@ -299,7 +299,7 @@ ssize_t cryptodev_cipher_decrypt(struct cipher_data *cdata, - { - int ret; - -- INIT_COMPLETION(cdata->async.result->completion); -+ reinit_completion(&cdata->async.result->completion); - if (cdata->aead == 0) { - ablkcipher_request_set_crypt(cdata->async.request, - (struct scatterlist *)src, dst, -@@ -410,7 +410,7 @@ ssize_t cryptodev_hash_update(struct hash_data *hdata, - { - int ret; - -- INIT_COMPLETION(hdata->async.result->completion); -+ reinit_completion(&hdata->async.result->completion); - ahash_request_set_crypt(hdata->async.request, sg, NULL, len); - - ret = crypto_ahash_update(hdata->async.request); -@@ -422,7 +422,7 @@ int cryptodev_hash_final(struct hash_data *hdata, void* output) - { - int ret; - -- INIT_COMPLETION(hdata->async.result->completion); -+ reinit_completion(&hdata->async.result->completion); - ahash_request_set_crypt(hdata->async.request, NULL, output, 0); - - ret = crypto_ahash_final(hdata->async.request); -diff --git a/cryptodev_int.h b/cryptodev_int.h -index eb2aabf..3834ef1 100644 ---- a/cryptodev_int.h -+++ b/cryptodev_int.h -@@ -2,6 +2,12 @@ - #ifndef CRYPTODEV_INT_H - # define CRYPTODEV_INT_H - -+#include -+ -+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)) -+# define reinit_completion(x) INIT_COMPLETION(*(x)) -+#endif -+ - #include - #include - #include --- -1.8.3.1 diff --git a/package/cups/0001-fix-static.patch b/package/cups/0001-fix-static.patch new file mode 100644 index 0000000000..4c9d0d41c4 --- /dev/null +++ b/package/cups/0001-fix-static.patch @@ -0,0 +1,28 @@ +cups: fix static linking + +Append -lz to the cups linking libs to fix a problem like this one: + +../cups/libcups.a(file.o): In function `cupsFileSeek': +/home/test/test/1/output/build/cups-1.3.11/cups/file.c:1444: undefined +reference to `inflateEnd' +collect2: error: ld returned 1 exit status +make[2]: *** [ipp] Error 1 +make[2]: *** Waiting for unfinished jobs.... + +This solution is the same used upstream in newer versions. + +Fixes: + http://autobuild.buildroot.net/results/f3d/f3d4f67ce7ee1d54f5bd4c87dfddb7417db614e5/ + +Signed-off-by: Vicente Olivert Riera +--- cups-1.3.11/Makedefs.in.orig 2014-03-05 13:28:10.175437880 +0000 ++++ cups-1.3.11/Makedefs.in 2014-03-05 13:28:35.398845162 +0000 +@@ -132,7 +132,7 @@ LDFLAGS = -L../cups -L../filter @LDARCH + LEGACY_BACKENDS = @LEGACY_BACKENDS@ + LIBCUPSORDER = @LIBCUPSORDER@ + LIBCUPSIMAGEORDER = @LIBCUPSIMAGEORDER@ +-LINKCUPS = @LINKCUPS@ $(SSLLIBS) ++LINKCUPS = @LINKCUPS@ $(SSLLIBS) $(LIBZ) + LINKCUPSIMAGE = @LINKCUPSIMAGE@ + LIBS = $(LINKCUPS) $(COMMONLIBS) + OPTIM = @OPTIM@ diff --git a/package/cups/0002-fix-stack-protector-check.patch b/package/cups/0002-fix-stack-protector-check.patch new file mode 100644 index 0000000000..1db35ff02f --- /dev/null +++ b/package/cups/0002-fix-stack-protector-check.patch @@ -0,0 +1,25 @@ +[PATCH]: use AC_TRY_LINK for stack protector check + +Actually try to link an executable to test for stack protector support, +as gcc seems to accept the -fstack-protector argument even when it's +compiled with --disable-libssp (but linking fails with a error +finding -lssp_nonshared). + +Signed-off-by: Peter Korsgaard +--- + config-scripts/cups-compiler.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: cups-1.3.9/config-scripts/cups-compiler.m4 +=================================================================== +--- cups-1.3.9.orig/config-scripts/cups-compiler.m4 ++++ cups-1.3.9/config-scripts/cups-compiler.m4 +@@ -109,7 +109,7 @@ if test -n "$GCC"; then + AC_MSG_CHECKING(if GCC supports -fstack-protector) + OLDCFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -fstack-protector" +- AC_TRY_COMPILE(,, ++ AC_TRY_LINK(,, + OPTIM="$OPTIM -fstack-protector" + AC_MSG_RESULT(yes), + AC_MSG_RESULT(no)) diff --git a/package/cups/0003-mantohtml.patch b/package/cups/0003-mantohtml.patch new file mode 100644 index 0000000000..e6a10b0d01 --- /dev/null +++ b/package/cups/0003-mantohtml.patch @@ -0,0 +1,11 @@ +--- cups-1.3.5/man/Makefile 2007-07-12 21:01:14.000000000 -0400 ++++ cups-1.3.5/man/Makefile 2008-02-11 08:55:24.000000000 -0500 +@@ -173,7 +173,7 @@ html: $(MAN1) $(MAN5) $(MAN7) $(MAN8) ma + done + + mantohtml: mantohtml.o +- $(CC) $(LDFLAGS) -o $@ mantohtml.o ++ gcc -I/usr/include -I../ -L/usr/lib mantohtml.c -o mantohtml + + + # diff --git a/package/cups/cups-0001-fix-static.patch b/package/cups/cups-0001-fix-static.patch deleted file mode 100644 index 4c9d0d41c4..0000000000 --- a/package/cups/cups-0001-fix-static.patch +++ /dev/null @@ -1,28 +0,0 @@ -cups: fix static linking - -Append -lz to the cups linking libs to fix a problem like this one: - -../cups/libcups.a(file.o): In function `cupsFileSeek': -/home/test/test/1/output/build/cups-1.3.11/cups/file.c:1444: undefined -reference to `inflateEnd' -collect2: error: ld returned 1 exit status -make[2]: *** [ipp] Error 1 -make[2]: *** Waiting for unfinished jobs.... - -This solution is the same used upstream in newer versions. - -Fixes: - http://autobuild.buildroot.net/results/f3d/f3d4f67ce7ee1d54f5bd4c87dfddb7417db614e5/ - -Signed-off-by: Vicente Olivert Riera ---- cups-1.3.11/Makedefs.in.orig 2014-03-05 13:28:10.175437880 +0000 -+++ cups-1.3.11/Makedefs.in 2014-03-05 13:28:35.398845162 +0000 -@@ -132,7 +132,7 @@ LDFLAGS = -L../cups -L../filter @LDARCH - LEGACY_BACKENDS = @LEGACY_BACKENDS@ - LIBCUPSORDER = @LIBCUPSORDER@ - LIBCUPSIMAGEORDER = @LIBCUPSIMAGEORDER@ --LINKCUPS = @LINKCUPS@ $(SSLLIBS) -+LINKCUPS = @LINKCUPS@ $(SSLLIBS) $(LIBZ) - LINKCUPSIMAGE = @LINKCUPSIMAGE@ - LIBS = $(LINKCUPS) $(COMMONLIBS) - OPTIM = @OPTIM@ diff --git a/package/cups/cups-0002-fix-stack-protector-check.patch b/package/cups/cups-0002-fix-stack-protector-check.patch deleted file mode 100644 index 1db35ff02f..0000000000 --- a/package/cups/cups-0002-fix-stack-protector-check.patch +++ /dev/null @@ -1,25 +0,0 @@ -[PATCH]: use AC_TRY_LINK for stack protector check - -Actually try to link an executable to test for stack protector support, -as gcc seems to accept the -fstack-protector argument even when it's -compiled with --disable-libssp (but linking fails with a error -finding -lssp_nonshared). - -Signed-off-by: Peter Korsgaard ---- - config-scripts/cups-compiler.m4 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: cups-1.3.9/config-scripts/cups-compiler.m4 -=================================================================== ---- cups-1.3.9.orig/config-scripts/cups-compiler.m4 -+++ cups-1.3.9/config-scripts/cups-compiler.m4 -@@ -109,7 +109,7 @@ if test -n "$GCC"; then - AC_MSG_CHECKING(if GCC supports -fstack-protector) - OLDCFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -fstack-protector" -- AC_TRY_COMPILE(,, -+ AC_TRY_LINK(,, - OPTIM="$OPTIM -fstack-protector" - AC_MSG_RESULT(yes), - AC_MSG_RESULT(no)) diff --git a/package/cups/cups-0003-mantohtml.patch b/package/cups/cups-0003-mantohtml.patch deleted file mode 100644 index e6a10b0d01..0000000000 --- a/package/cups/cups-0003-mantohtml.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- cups-1.3.5/man/Makefile 2007-07-12 21:01:14.000000000 -0400 -+++ cups-1.3.5/man/Makefile 2008-02-11 08:55:24.000000000 -0500 -@@ -173,7 +173,7 @@ html: $(MAN1) $(MAN5) $(MAN7) $(MAN8) ma - done - - mantohtml: mantohtml.o -- $(CC) $(LDFLAGS) -o $@ mantohtml.o -+ gcc -I/usr/include -I../ -L/usr/lib mantohtml.c -o mantohtml - - - # diff --git a/package/curlftpfs/0001-fix-CURLOPT_INFILESIZE.patch b/package/curlftpfs/0001-fix-CURLOPT_INFILESIZE.patch new file mode 100644 index 0000000000..dc83af010b --- /dev/null +++ b/package/curlftpfs/0001-fix-CURLOPT_INFILESIZE.patch @@ -0,0 +1,13 @@ +Borrowed from the curlftpfs_0.9.2-5 Debian package. + +CURLOPT_INFILESIZE does not support -1 arg. This fix bug #556012. +--- curlftpfs-0.9.2/ftpfs.c.old 2009-12-13 14:12:25.000000000 +0100 ++++ curlftpfs-0.9.2/ftpfs.c 2009-12-13 14:12:32.000000000 +0100 +@@ -503,7 +503,6 @@ + + curl_easy_setopt_or_die(fh->write_conn, CURLOPT_URL, fh->full_path); + curl_easy_setopt_or_die(fh->write_conn, CURLOPT_UPLOAD, 1); +- curl_easy_setopt_or_die(fh->write_conn, CURLOPT_INFILESIZE, -1); + curl_easy_setopt_or_die(fh->write_conn, CURLOPT_READFUNCTION, write_data_bg); + curl_easy_setopt_or_die(fh->write_conn, CURLOPT_READDATA, fh); + curl_easy_setopt_or_die(fh->write_conn, CURLOPT_LOW_SPEED_LIMIT, 1); diff --git a/package/curlftpfs/0002-free_ftpfs_file-memleak-fix.patch b/package/curlftpfs/0002-free_ftpfs_file-memleak-fix.patch new file mode 100644 index 0000000000..4966c9dcfb --- /dev/null +++ b/package/curlftpfs/0002-free_ftpfs_file-memleak-fix.patch @@ -0,0 +1,14 @@ +Borrowed from the curlftpfs_0.9.2-5 Debian package. + +Fix a memory leak. See Bug #587250. +--- a/ftpfs.c 2008-04-30 01:05:47.000000000 +0200 ++++ a/ftpfs.c.slesimple 2010-01-01 22:12:10.000000000 +0100 +@@ -615,6 +615,8 @@ static void free_ftpfs_file(struct ftpfs + sem_destroy(&fh->data_need); + sem_destroy(&fh->data_written); + sem_destroy(&fh->ready); ++ if (fh->buf.size) { buf_free(&fh->buf); } ++ if (fh->stream_buf.size) { buf_free(&fh->stream_buf); } + free(fh); + } + diff --git a/package/curlftpfs/0003-nocache-memleak-fix.patch b/package/curlftpfs/0003-nocache-memleak-fix.patch new file mode 100644 index 0000000000..00a4dd64fd --- /dev/null +++ b/package/curlftpfs/0003-nocache-memleak-fix.patch @@ -0,0 +1,59 @@ +Borrowed from the curlftpfs_0.9.2-5 Debian package. + +Fix a memory leak when cache is disabled. Closes: #614347. +diff -ur curlftpfs-0.9.2/cache.c curlftpfs-0.9.2-olexat/cache.c +--- curlftpfs-0.9.2/cache.c 2008-04-30 01:03:09.000000000 +0200 ++++ curlftpfs-0.9.2-olexat/cache.c 2011-02-04 16:43:05.000000000 +0100 +@@ -25,7 +25,7 @@ + time_t last_cleaned; + }; + +-static struct cache cache; ++struct cache cache; + + struct node { + struct stat stat; +diff -ur curlftpfs-0.9.2/ftpfs-ls.c curlftpfs-0.9.2-olexat/ftpfs-ls.c +--- curlftpfs-0.9.2/ftpfs-ls.c 2008-04-23 12:55:41.000000000 +0200 ++++ curlftpfs-0.9.2-olexat/ftpfs-ls.c 2011-02-07 17:23:37.000000000 +0100 +@@ -25,6 +25,13 @@ + #include "charset_utils.h" + #include "ftpfs-ls.h" + ++struct cache { ++ int on; ++ char incomplete[]; ++}; ++ ++extern struct cache cache; ++ + static int parse_dir_unix(const char *line, + struct stat *sbuf, + char *file, +@@ -243,8 +256,10 @@ + reallink = g_strdup(link); + } + int linksize = strlen(reallink); +- cache_add_link(full_path, reallink, linksize+1); +- DEBUG(1, "cache_add_link: %s %s\n", full_path, reallink); ++ if (cache.on) { ++ cache_add_link(full_path, reallink, linksize+1); ++ DEBUG(1, "cache_add_link: %s %s\n", full_path, reallink); ++ } + if (linkbuf && linklen) { + if (linksize > linklen) linksize = linklen - 1; + strncpy(linkbuf, reallink, linksize); +@@ -257,8 +272,10 @@ + DEBUG(1, "filler: %s\n", file); + filler(h, file, &stat_buf); + } else { +- DEBUG(1, "cache_add_attr: %s\n", full_path); +- cache_add_attr(full_path, &stat_buf); ++ if (cache.on) { ++ DEBUG(1, "cache_add_attr: %s\n", full_path); ++ cache_add_attr(full_path, &stat_buf); ++ } + } + + DEBUG(2, "comparing %s %s\n", name, file); + diff --git a/package/curlftpfs/curlftpfs-000-fix-CURLOPT_INFILESIZE.patch b/package/curlftpfs/curlftpfs-000-fix-CURLOPT_INFILESIZE.patch deleted file mode 100644 index dc83af010b..0000000000 --- a/package/curlftpfs/curlftpfs-000-fix-CURLOPT_INFILESIZE.patch +++ /dev/null @@ -1,13 +0,0 @@ -Borrowed from the curlftpfs_0.9.2-5 Debian package. - -CURLOPT_INFILESIZE does not support -1 arg. This fix bug #556012. ---- curlftpfs-0.9.2/ftpfs.c.old 2009-12-13 14:12:25.000000000 +0100 -+++ curlftpfs-0.9.2/ftpfs.c 2009-12-13 14:12:32.000000000 +0100 -@@ -503,7 +503,6 @@ - - curl_easy_setopt_or_die(fh->write_conn, CURLOPT_URL, fh->full_path); - curl_easy_setopt_or_die(fh->write_conn, CURLOPT_UPLOAD, 1); -- curl_easy_setopt_or_die(fh->write_conn, CURLOPT_INFILESIZE, -1); - curl_easy_setopt_or_die(fh->write_conn, CURLOPT_READFUNCTION, write_data_bg); - curl_easy_setopt_or_die(fh->write_conn, CURLOPT_READDATA, fh); - curl_easy_setopt_or_die(fh->write_conn, CURLOPT_LOW_SPEED_LIMIT, 1); diff --git a/package/curlftpfs/curlftpfs-001-free_ftpfs_file-memleak-fix.patch b/package/curlftpfs/curlftpfs-001-free_ftpfs_file-memleak-fix.patch deleted file mode 100644 index 4966c9dcfb..0000000000 --- a/package/curlftpfs/curlftpfs-001-free_ftpfs_file-memleak-fix.patch +++ /dev/null @@ -1,14 +0,0 @@ -Borrowed from the curlftpfs_0.9.2-5 Debian package. - -Fix a memory leak. See Bug #587250. ---- a/ftpfs.c 2008-04-30 01:05:47.000000000 +0200 -+++ a/ftpfs.c.slesimple 2010-01-01 22:12:10.000000000 +0100 -@@ -615,6 +615,8 @@ static void free_ftpfs_file(struct ftpfs - sem_destroy(&fh->data_need); - sem_destroy(&fh->data_written); - sem_destroy(&fh->ready); -+ if (fh->buf.size) { buf_free(&fh->buf); } -+ if (fh->stream_buf.size) { buf_free(&fh->stream_buf); } - free(fh); - } - diff --git a/package/curlftpfs/curlftpfs-002-nocache-memleak-fix.patch b/package/curlftpfs/curlftpfs-002-nocache-memleak-fix.patch deleted file mode 100644 index 00a4dd64fd..0000000000 --- a/package/curlftpfs/curlftpfs-002-nocache-memleak-fix.patch +++ /dev/null @@ -1,59 +0,0 @@ -Borrowed from the curlftpfs_0.9.2-5 Debian package. - -Fix a memory leak when cache is disabled. Closes: #614347. -diff -ur curlftpfs-0.9.2/cache.c curlftpfs-0.9.2-olexat/cache.c ---- curlftpfs-0.9.2/cache.c 2008-04-30 01:03:09.000000000 +0200 -+++ curlftpfs-0.9.2-olexat/cache.c 2011-02-04 16:43:05.000000000 +0100 -@@ -25,7 +25,7 @@ - time_t last_cleaned; - }; - --static struct cache cache; -+struct cache cache; - - struct node { - struct stat stat; -diff -ur curlftpfs-0.9.2/ftpfs-ls.c curlftpfs-0.9.2-olexat/ftpfs-ls.c ---- curlftpfs-0.9.2/ftpfs-ls.c 2008-04-23 12:55:41.000000000 +0200 -+++ curlftpfs-0.9.2-olexat/ftpfs-ls.c 2011-02-07 17:23:37.000000000 +0100 -@@ -25,6 +25,13 @@ - #include "charset_utils.h" - #include "ftpfs-ls.h" - -+struct cache { -+ int on; -+ char incomplete[]; -+}; -+ -+extern struct cache cache; -+ - static int parse_dir_unix(const char *line, - struct stat *sbuf, - char *file, -@@ -243,8 +256,10 @@ - reallink = g_strdup(link); - } - int linksize = strlen(reallink); -- cache_add_link(full_path, reallink, linksize+1); -- DEBUG(1, "cache_add_link: %s %s\n", full_path, reallink); -+ if (cache.on) { -+ cache_add_link(full_path, reallink, linksize+1); -+ DEBUG(1, "cache_add_link: %s %s\n", full_path, reallink); -+ } - if (linkbuf && linklen) { - if (linksize > linklen) linksize = linklen - 1; - strncpy(linkbuf, reallink, linksize); -@@ -257,8 +272,10 @@ - DEBUG(1, "filler: %s\n", file); - filler(h, file, &stat_buf); - } else { -- DEBUG(1, "cache_add_attr: %s\n", full_path); -- cache_add_attr(full_path, &stat_buf); -+ if (cache.on) { -+ DEBUG(1, "cache_add_attr: %s\n", full_path); -+ cache_add_attr(full_path, &stat_buf); -+ } - } - - DEBUG(2, "comparing %s %s\n", name, file); - diff --git a/package/cwiid/0001-fix-link-options-for-as-needed-90.patch b/package/cwiid/0001-fix-link-options-for-as-needed-90.patch new file mode 100644 index 0000000000..806ddaa3fc --- /dev/null +++ b/package/cwiid/0001-fix-link-options-for-as-needed-90.patch @@ -0,0 +1,166 @@ +From 6af678616531eb1f3d3d0a052313ef9d8125bac7 Mon Sep 17 00:00:00 2001 +From: "L. Donnie Smith" +Date: Thu, 4 Feb 2010 22:53:41 -0500 +Subject: [PATCH] fix link options for --as-needed (#90) + +also fix a couple of includes +--- + common/include/app.mak | 2 +- + common/include/lib.mak.in | 4 ++-- + common/include/plugin.mak | 2 +- + lswm/Makefile.in | 2 +- + python/Makefile.in | 2 +- + python/Wiimote.c | 2 +- + python/cwiidmodule.c | 2 +- + wmdemo/wmdemo.c | 1 + + wmgui/Makefile.in | 2 +- + wminput/Makefile.in | 2 +- + wminput/main.c | 1 + + 11 files changed, 12 insertions(+), 10 deletions(-) + +diff --git a/common/include/app.mak b/common/include/app.mak +index f00cf12..c26d0ff 100644 +--- a/common/include/app.mak ++++ b/common/include/app.mak +@@ -10,7 +10,7 @@ DEST_INST_DIR = $(ROOTDIR)$(INST_DIR) + all: $(APP_NAME) + + $(APP_NAME): $(OBJECTS) +- $(CC) -o $@ $(OBJECTS) $(LDFLAGS) $(LDLIBS) ++ $(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(LDLIBS) + + install: $(APP_NAME) + install -D $(APP_NAME) $(DEST_INST_DIR)/$(APP_NAME) +diff --git a/common/include/lib.mak.in b/common/include/lib.mak.in +index 5e81ff3..3afbb14 100644 +--- a/common/include/lib.mak.in ++++ b/common/include/lib.mak.in +@@ -25,8 +25,8 @@ $(STATIC_LIB): $(OBJECTS) + ar rcs $(STATIC_LIB) $(OBJECTS) + + $(SHARED_LIB): $(OBJECTS) +- $(CC) -shared -Wl,-soname,$(SO_NAME) $(LDFLAGS) $(LDLIBS) \ +- -o $(SHARED_LIB) $(OBJECTS) ++ $(CC) -shared -Wl,-soname,$(SO_NAME) $(LDFLAGS) -o $(SHARED_LIB) \ ++ $(OBJECTS) $(LDLIBS) + + install: install_header install_static install_shared + +diff --git a/common/include/plugin.mak b/common/include/plugin.mak +index 0f61502..a2d5c85 100644 +--- a/common/include/plugin.mak ++++ b/common/include/plugin.mak +@@ -16,7 +16,7 @@ DEST_INST_DIR = $(INST_DIR) + all: $(LIB_NAME) + + $(LIB_NAME): $(OBJECTS) +- $(CC) -shared $(LDFLAGS) $(LDLIBS) -o $(LIB_NAME) $(OBJECTS) ++ $(CC) -shared $(LDFLAGS) -o $(LIB_NAME) $(OBJECTS) $(LDLIBS) + + install: $(LIB_NAME) + install -D $(LIB_NAME) $(DEST_INST_DIR)/$(LIB_NAME) +diff --git a/lswm/Makefile.in b/lswm/Makefile.in +index 79e8b5b..017104f 100644 +--- a/lswm/Makefile.in ++++ b/lswm/Makefile.in +@@ -8,7 +8,7 @@ SOURCES = lswm.c + + CFLAGS += -I@top_builddir@/libcwiid + LDFLAGS += -L@top_builddir@/libcwiid +-LDLIBS += -lcwiid ++LDLIBS += -lcwiid -lbluetooth + INST_DIR = @bindir@ + + include $(COMMON)/include/app.mak +diff --git a/python/Makefile.in b/python/Makefile.in +index 0d7efdf..0ca57ca 100644 +--- a/python/Makefile.in ++++ b/python/Makefile.in +@@ -7,7 +7,7 @@ ifdef ROOTDIR + endif + + all: +- $(PYTHON) setup.py build_ext $(DEBUGFLAGS) -I@top_builddir@/libcwiid -L@top_builddir@/libcwiid -lcwiid ++ $(PYTHON) setup.py build_ext $(DEBUGFLAGS) -I@top_builddir@/libcwiid -L@top_builddir@/libcwiid -lcwiid -lbluetooth + + install: + $(PYTHON) setup.py install --install-lib=${libdir}/python@PYTHON_VERSION@/site-packages $(SET_ROOT_DIR) +diff --git a/python/Wiimote.c b/python/Wiimote.c +index 794e7e2..523185e 100644 +--- a/python/Wiimote.c ++++ b/python/Wiimote.c +@@ -24,7 +24,7 @@ + #include "structmember.h" + #include + #include +-#include "cwiid.h" ++#include + + #if (PY_VERSION_HEX < 0x02050000) + #ifndef PY_SSIZE_T_MIN +diff --git a/python/cwiidmodule.c b/python/cwiidmodule.c +index f6a8f33..a01ed82 100644 +--- a/python/cwiidmodule.c ++++ b/python/cwiidmodule.c +@@ -24,7 +24,7 @@ + + #include + +-#include "cwiid.h" ++#include + #include "structmember.h" + + /* externally defined types */ +diff --git a/wmdemo/wmdemo.c b/wmdemo/wmdemo.c +index 70a25a1..b7aaa7f 100644 +--- a/wmdemo/wmdemo.c ++++ b/wmdemo/wmdemo.c +@@ -2,6 +2,7 @@ + #include + #include + ++#include + #include + + /* This is a sample program written to demonstrate basic CWiid libwiimote +diff --git a/wmgui/Makefile.in b/wmgui/Makefile.in +index 41b205e..14d1c1e 100644 +--- a/wmgui/Makefile.in ++++ b/wmgui/Makefile.in +@@ -8,7 +8,7 @@ SOURCES = main.c interface.c support.c + + CFLAGS += @GTK_CFLAGS@ -I@top_builddir@/libcwiid + LDFLAGS += -L@top_builddir@/libcwiid +-LDLIBS += @GTK_LIBS@ -lm -lcwiid ++LDLIBS += @GTK_LIBS@ -lcwiid -lbluetooth -lm + INST_DIR = @bindir@ + + include $(COMMON)/include/app.mak +diff --git a/wminput/Makefile.in b/wminput/Makefile.in +index 009d4d5..d3c3679 100644 +--- a/wminput/Makefile.in ++++ b/wminput/Makefile.in +@@ -14,7 +14,7 @@ CFLAGS += -I@top_builddir@/libcwiid \ + -DWMINPUT_CONFIG_DIR=\"$(WMINPUT_CONFIG_DIR)\" \ + -DCWIID_PLUGINS_DIR=\"$(CWIID_PLUGINS_DIR)\" + +-LDLIBS += -lcwiid -ldl ++LDLIBS += -lcwiid -lbluetooth -ldl -lpthread + LDFLAGS += -L@top_builddir@/libcwiid -rdynamic + INST_DIR = @bindir@ + +diff --git a/wminput/main.c b/wminput/main.c +index c3a7445..bbc98d9 100644 +--- a/wminput/main.c ++++ b/wminput/main.c +@@ -30,6 +30,7 @@ + #include + #include + #include ++#include + + #include + +-- +1.8.5.2 + diff --git a/package/cwiid/0002-Update-for-BlueZ-changes.patch b/package/cwiid/0002-Update-for-BlueZ-changes.patch new file mode 100644 index 0000000000..c0d78a8ac6 --- /dev/null +++ b/package/cwiid/0002-Update-for-BlueZ-changes.patch @@ -0,0 +1,28 @@ +From c5dd7d4a9af5a7d8ead8ad26d9e5e0f8f8292d29 Mon Sep 17 00:00:00 2001 +From: "L. Donnie Smith" +Date: Sun, 30 Nov 2008 22:34:08 +0000 +Subject: [PATCH] Update for BlueZ changes. + +git-svn-id: http://abstrakraft.org/cwiid/svn/trunk@183 918edb2d-ff29-0410-9de2-eb38e7f22bc7 +--- + libcwiid/bluetooth.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libcwiid/bluetooth.c b/libcwiid/bluetooth.c +index 63284a8..e986f75 100644 +--- a/libcwiid/bluetooth.c ++++ b/libcwiid/bluetooth.c +@@ -122,8 +122,8 @@ int cwiid_get_bdinfo_array(int dev_id, unsigned int timeout, int max_bdinfo, + } + + /* timeout (10000) in milliseconds */ +- if (hci_remote_name(sock, &dev_list[i].bdaddr, BT_NAME_LEN, +- (*bdinfo)[bdinfo_count].name, 10000)) { ++ if (hci_read_remote_name(sock, &dev_list[i].bdaddr, BT_NAME_LEN, ++ (*bdinfo)[bdinfo_count].name, 10000)) { + cwiid_err(NULL, "Bluetooth name read error"); + err = 1; + goto CODA; +-- +1.8.5.2 + diff --git a/package/cwiid/0003-wmdemo-fix-linking-by-adding-the-missing-lbluetooth-.patch b/package/cwiid/0003-wmdemo-fix-linking-by-adding-the-missing-lbluetooth-.patch new file mode 100644 index 0000000000..e1e4ec485e --- /dev/null +++ b/package/cwiid/0003-wmdemo-fix-linking-by-adding-the-missing-lbluetooth-.patch @@ -0,0 +1,27 @@ +From af6bffb5b8b71e99e0f9bbbd2cf1fbd695a643c2 Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Sat, 8 Dec 2012 13:32:40 +0100 +Subject: [PATCH 1/2] wmdemo: fix linking by adding the missing -lbluetooth to + LDLIBS + +Signed-off-by: Samuel Martin +--- + wmdemo/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/wmdemo/Makefile.in b/wmdemo/Makefile.in +index 56aed58..1eccc02 100644 +--- a/wmdemo/Makefile.in ++++ b/wmdemo/Makefile.in +@@ -8,7 +8,7 @@ SOURCES = wmdemo.c + + CFLAGS += -I@top_builddir@/libcwiid + LDFLAGS += -L@top_builddir@/libcwiid +-LDLIBS += -lcwiid ++LDLIBS += -lcwiid -lbluetooth + INST_DIR = @bindir@ + + include $(COMMON)/include/app.mak +-- +1.8.5.2 + diff --git a/package/cwiid/0004-configure-make-wmgui-build-optional.patch b/package/cwiid/0004-configure-make-wmgui-build-optional.patch new file mode 100644 index 0000000000..f5eff33acb --- /dev/null +++ b/package/cwiid/0004-configure-make-wmgui-build-optional.patch @@ -0,0 +1,64 @@ +From dbb578450974db5decc24560da4aeaed838849a1 Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Thu, 2 Jan 2014 14:03:07 +0100 +Subject: [PATCH 2/2] configure: make wmgui build optional + +So, make gtk-2 and glib2 dependencies optional (only needed by wmgui) + +Signed-off-by: Samuel Martin +--- + Makefile.in | 2 +- + configure.ac | 17 +++++++++++++---- + 2 files changed, 14 insertions(+), 5 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 6d3ac98..3d2fb45 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -3,7 +3,7 @@ + include @top_builddir@/defs.mak + + LIB_DIRS = libcwiid +-BIN_DIRS = wmgui wminput lswm ++BIN_DIRS = @WMGUI@ wminput lswm + DOC_DIRS = man doc + ifdef PYTHON + BIND_DIRS = python +diff --git a/configure.ac b/configure.ac +index 82ca3e1..d146cb6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -15,6 +15,11 @@ if test "$YACC" != "bison -y"; then + AC_MSG_ERROR([bison not found]) + fi + ++AC_ARG_ENABLE( ++ [wmgui], ++ [AS_HELP_STRING([--disable-wmgui],[Do not build wmgui binary (also drop the gtk-2/glib2 dependency)])], ++ [ENABLE_WMGUI="$enableval"],[ENABLE_WMGUI=yes]) ++ + AC_ARG_WITH( + [python], + [AS_HELP_STRING([--without-python],[compile without python support])], +@@ -98,10 +103,14 @@ else + fi + AC_SUBST(LDCONFIG) + +-pkg_modules="gtk+-2.0 >= 2.0.0 gthread-2.0" +-PKG_CHECK_MODULES([GTK], [$pkg_modules]) +-AC_SUBST(GTK_CFLAGS) +-AC_SUBST(GTK_LIBS) ++AS_IF( ++ [test "x$ENABLE_WMGUI" = xyes], ++ [pkg_modules="gtk+-2.0 >= 2.0.0 gthread-2.0" ; ++ PKG_CHECK_MODULES([GTK], [$pkg_modules]) ++ AC_SUBST(GTK_CFLAGS) ++ AC_SUBST(GTK_LIBS) ++ AC_SUBST(WMGUI, wmgui)] ++) + + AC_OUTPUT( + [Makefile] +-- +1.8.5.2 + diff --git a/package/cwiid/cwiid-0001-fix-link-options-for-as-needed-90.patch b/package/cwiid/cwiid-0001-fix-link-options-for-as-needed-90.patch deleted file mode 100644 index 806ddaa3fc..0000000000 --- a/package/cwiid/cwiid-0001-fix-link-options-for-as-needed-90.patch +++ /dev/null @@ -1,166 +0,0 @@ -From 6af678616531eb1f3d3d0a052313ef9d8125bac7 Mon Sep 17 00:00:00 2001 -From: "L. Donnie Smith" -Date: Thu, 4 Feb 2010 22:53:41 -0500 -Subject: [PATCH] fix link options for --as-needed (#90) - -also fix a couple of includes ---- - common/include/app.mak | 2 +- - common/include/lib.mak.in | 4 ++-- - common/include/plugin.mak | 2 +- - lswm/Makefile.in | 2 +- - python/Makefile.in | 2 +- - python/Wiimote.c | 2 +- - python/cwiidmodule.c | 2 +- - wmdemo/wmdemo.c | 1 + - wmgui/Makefile.in | 2 +- - wminput/Makefile.in | 2 +- - wminput/main.c | 1 + - 11 files changed, 12 insertions(+), 10 deletions(-) - -diff --git a/common/include/app.mak b/common/include/app.mak -index f00cf12..c26d0ff 100644 ---- a/common/include/app.mak -+++ b/common/include/app.mak -@@ -10,7 +10,7 @@ DEST_INST_DIR = $(ROOTDIR)$(INST_DIR) - all: $(APP_NAME) - - $(APP_NAME): $(OBJECTS) -- $(CC) -o $@ $(OBJECTS) $(LDFLAGS) $(LDLIBS) -+ $(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(LDLIBS) - - install: $(APP_NAME) - install -D $(APP_NAME) $(DEST_INST_DIR)/$(APP_NAME) -diff --git a/common/include/lib.mak.in b/common/include/lib.mak.in -index 5e81ff3..3afbb14 100644 ---- a/common/include/lib.mak.in -+++ b/common/include/lib.mak.in -@@ -25,8 +25,8 @@ $(STATIC_LIB): $(OBJECTS) - ar rcs $(STATIC_LIB) $(OBJECTS) - - $(SHARED_LIB): $(OBJECTS) -- $(CC) -shared -Wl,-soname,$(SO_NAME) $(LDFLAGS) $(LDLIBS) \ -- -o $(SHARED_LIB) $(OBJECTS) -+ $(CC) -shared -Wl,-soname,$(SO_NAME) $(LDFLAGS) -o $(SHARED_LIB) \ -+ $(OBJECTS) $(LDLIBS) - - install: install_header install_static install_shared - -diff --git a/common/include/plugin.mak b/common/include/plugin.mak -index 0f61502..a2d5c85 100644 ---- a/common/include/plugin.mak -+++ b/common/include/plugin.mak -@@ -16,7 +16,7 @@ DEST_INST_DIR = $(INST_DIR) - all: $(LIB_NAME) - - $(LIB_NAME): $(OBJECTS) -- $(CC) -shared $(LDFLAGS) $(LDLIBS) -o $(LIB_NAME) $(OBJECTS) -+ $(CC) -shared $(LDFLAGS) -o $(LIB_NAME) $(OBJECTS) $(LDLIBS) - - install: $(LIB_NAME) - install -D $(LIB_NAME) $(DEST_INST_DIR)/$(LIB_NAME) -diff --git a/lswm/Makefile.in b/lswm/Makefile.in -index 79e8b5b..017104f 100644 ---- a/lswm/Makefile.in -+++ b/lswm/Makefile.in -@@ -8,7 +8,7 @@ SOURCES = lswm.c - - CFLAGS += -I@top_builddir@/libcwiid - LDFLAGS += -L@top_builddir@/libcwiid --LDLIBS += -lcwiid -+LDLIBS += -lcwiid -lbluetooth - INST_DIR = @bindir@ - - include $(COMMON)/include/app.mak -diff --git a/python/Makefile.in b/python/Makefile.in -index 0d7efdf..0ca57ca 100644 ---- a/python/Makefile.in -+++ b/python/Makefile.in -@@ -7,7 +7,7 @@ ifdef ROOTDIR - endif - - all: -- $(PYTHON) setup.py build_ext $(DEBUGFLAGS) -I@top_builddir@/libcwiid -L@top_builddir@/libcwiid -lcwiid -+ $(PYTHON) setup.py build_ext $(DEBUGFLAGS) -I@top_builddir@/libcwiid -L@top_builddir@/libcwiid -lcwiid -lbluetooth - - install: - $(PYTHON) setup.py install --install-lib=${libdir}/python@PYTHON_VERSION@/site-packages $(SET_ROOT_DIR) -diff --git a/python/Wiimote.c b/python/Wiimote.c -index 794e7e2..523185e 100644 ---- a/python/Wiimote.c -+++ b/python/Wiimote.c -@@ -24,7 +24,7 @@ - #include "structmember.h" - #include - #include --#include "cwiid.h" -+#include - - #if (PY_VERSION_HEX < 0x02050000) - #ifndef PY_SSIZE_T_MIN -diff --git a/python/cwiidmodule.c b/python/cwiidmodule.c -index f6a8f33..a01ed82 100644 ---- a/python/cwiidmodule.c -+++ b/python/cwiidmodule.c -@@ -24,7 +24,7 @@ - - #include - --#include "cwiid.h" -+#include - #include "structmember.h" - - /* externally defined types */ -diff --git a/wmdemo/wmdemo.c b/wmdemo/wmdemo.c -index 70a25a1..b7aaa7f 100644 ---- a/wmdemo/wmdemo.c -+++ b/wmdemo/wmdemo.c -@@ -2,6 +2,7 @@ - #include - #include - -+#include - #include - - /* This is a sample program written to demonstrate basic CWiid libwiimote -diff --git a/wmgui/Makefile.in b/wmgui/Makefile.in -index 41b205e..14d1c1e 100644 ---- a/wmgui/Makefile.in -+++ b/wmgui/Makefile.in -@@ -8,7 +8,7 @@ SOURCES = main.c interface.c support.c - - CFLAGS += @GTK_CFLAGS@ -I@top_builddir@/libcwiid - LDFLAGS += -L@top_builddir@/libcwiid --LDLIBS += @GTK_LIBS@ -lm -lcwiid -+LDLIBS += @GTK_LIBS@ -lcwiid -lbluetooth -lm - INST_DIR = @bindir@ - - include $(COMMON)/include/app.mak -diff --git a/wminput/Makefile.in b/wminput/Makefile.in -index 009d4d5..d3c3679 100644 ---- a/wminput/Makefile.in -+++ b/wminput/Makefile.in -@@ -14,7 +14,7 @@ CFLAGS += -I@top_builddir@/libcwiid \ - -DWMINPUT_CONFIG_DIR=\"$(WMINPUT_CONFIG_DIR)\" \ - -DCWIID_PLUGINS_DIR=\"$(CWIID_PLUGINS_DIR)\" - --LDLIBS += -lcwiid -ldl -+LDLIBS += -lcwiid -lbluetooth -ldl -lpthread - LDFLAGS += -L@top_builddir@/libcwiid -rdynamic - INST_DIR = @bindir@ - -diff --git a/wminput/main.c b/wminput/main.c -index c3a7445..bbc98d9 100644 ---- a/wminput/main.c -+++ b/wminput/main.c -@@ -30,6 +30,7 @@ - #include - #include - #include -+#include - - #include - --- -1.8.5.2 - diff --git a/package/cwiid/cwiid-0002-Update-for-BlueZ-changes.patch b/package/cwiid/cwiid-0002-Update-for-BlueZ-changes.patch deleted file mode 100644 index c0d78a8ac6..0000000000 --- a/package/cwiid/cwiid-0002-Update-for-BlueZ-changes.patch +++ /dev/null @@ -1,28 +0,0 @@ -From c5dd7d4a9af5a7d8ead8ad26d9e5e0f8f8292d29 Mon Sep 17 00:00:00 2001 -From: "L. Donnie Smith" -Date: Sun, 30 Nov 2008 22:34:08 +0000 -Subject: [PATCH] Update for BlueZ changes. - -git-svn-id: http://abstrakraft.org/cwiid/svn/trunk@183 918edb2d-ff29-0410-9de2-eb38e7f22bc7 ---- - libcwiid/bluetooth.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libcwiid/bluetooth.c b/libcwiid/bluetooth.c -index 63284a8..e986f75 100644 ---- a/libcwiid/bluetooth.c -+++ b/libcwiid/bluetooth.c -@@ -122,8 +122,8 @@ int cwiid_get_bdinfo_array(int dev_id, unsigned int timeout, int max_bdinfo, - } - - /* timeout (10000) in milliseconds */ -- if (hci_remote_name(sock, &dev_list[i].bdaddr, BT_NAME_LEN, -- (*bdinfo)[bdinfo_count].name, 10000)) { -+ if (hci_read_remote_name(sock, &dev_list[i].bdaddr, BT_NAME_LEN, -+ (*bdinfo)[bdinfo_count].name, 10000)) { - cwiid_err(NULL, "Bluetooth name read error"); - err = 1; - goto CODA; --- -1.8.5.2 - diff --git a/package/cwiid/cwiid-0003-wmdemo-fix-linking-by-adding-the-missing-lbluetooth-.patch b/package/cwiid/cwiid-0003-wmdemo-fix-linking-by-adding-the-missing-lbluetooth-.patch deleted file mode 100644 index e1e4ec485e..0000000000 --- a/package/cwiid/cwiid-0003-wmdemo-fix-linking-by-adding-the-missing-lbluetooth-.patch +++ /dev/null @@ -1,27 +0,0 @@ -From af6bffb5b8b71e99e0f9bbbd2cf1fbd695a643c2 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sat, 8 Dec 2012 13:32:40 +0100 -Subject: [PATCH 1/2] wmdemo: fix linking by adding the missing -lbluetooth to - LDLIBS - -Signed-off-by: Samuel Martin ---- - wmdemo/Makefile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/wmdemo/Makefile.in b/wmdemo/Makefile.in -index 56aed58..1eccc02 100644 ---- a/wmdemo/Makefile.in -+++ b/wmdemo/Makefile.in -@@ -8,7 +8,7 @@ SOURCES = wmdemo.c - - CFLAGS += -I@top_builddir@/libcwiid - LDFLAGS += -L@top_builddir@/libcwiid --LDLIBS += -lcwiid -+LDLIBS += -lcwiid -lbluetooth - INST_DIR = @bindir@ - - include $(COMMON)/include/app.mak --- -1.8.5.2 - diff --git a/package/cwiid/cwiid-0004-configure-make-wmgui-build-optional.patch b/package/cwiid/cwiid-0004-configure-make-wmgui-build-optional.patch deleted file mode 100644 index f5eff33acb..0000000000 --- a/package/cwiid/cwiid-0004-configure-make-wmgui-build-optional.patch +++ /dev/null @@ -1,64 +0,0 @@ -From dbb578450974db5decc24560da4aeaed838849a1 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Thu, 2 Jan 2014 14:03:07 +0100 -Subject: [PATCH 2/2] configure: make wmgui build optional - -So, make gtk-2 and glib2 dependencies optional (only needed by wmgui) - -Signed-off-by: Samuel Martin ---- - Makefile.in | 2 +- - configure.ac | 17 +++++++++++++---- - 2 files changed, 14 insertions(+), 5 deletions(-) - -diff --git a/Makefile.in b/Makefile.in -index 6d3ac98..3d2fb45 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -3,7 +3,7 @@ - include @top_builddir@/defs.mak - - LIB_DIRS = libcwiid --BIN_DIRS = wmgui wminput lswm -+BIN_DIRS = @WMGUI@ wminput lswm - DOC_DIRS = man doc - ifdef PYTHON - BIND_DIRS = python -diff --git a/configure.ac b/configure.ac -index 82ca3e1..d146cb6 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -15,6 +15,11 @@ if test "$YACC" != "bison -y"; then - AC_MSG_ERROR([bison not found]) - fi - -+AC_ARG_ENABLE( -+ [wmgui], -+ [AS_HELP_STRING([--disable-wmgui],[Do not build wmgui binary (also drop the gtk-2/glib2 dependency)])], -+ [ENABLE_WMGUI="$enableval"],[ENABLE_WMGUI=yes]) -+ - AC_ARG_WITH( - [python], - [AS_HELP_STRING([--without-python],[compile without python support])], -@@ -98,10 +103,14 @@ else - fi - AC_SUBST(LDCONFIG) - --pkg_modules="gtk+-2.0 >= 2.0.0 gthread-2.0" --PKG_CHECK_MODULES([GTK], [$pkg_modules]) --AC_SUBST(GTK_CFLAGS) --AC_SUBST(GTK_LIBS) -+AS_IF( -+ [test "x$ENABLE_WMGUI" = xyes], -+ [pkg_modules="gtk+-2.0 >= 2.0.0 gthread-2.0" ; -+ PKG_CHECK_MODULES([GTK], [$pkg_modules]) -+ AC_SUBST(GTK_CFLAGS) -+ AC_SUBST(GTK_LIBS) -+ AC_SUBST(WMGUI, wmgui)] -+) - - AC_OUTPUT( - [Makefile] --- -1.8.5.2 - diff --git a/package/dash/0001-no-config.h-for-helpers.patch b/package/dash/0001-no-config.h-for-helpers.patch new file mode 100644 index 0000000000..9fd449c414 --- /dev/null +++ b/package/dash/0001-no-config.h-for-helpers.patch @@ -0,0 +1,35 @@ +[PATCH] Don't include config.h when building helpers using the native compiler + +config.h contains settings for the cross compiler (most importantly +32/64bit versions of functions), so don't include it when calling the +native compiler to build the helpers. + +Otherwise we get build errors like: + +/usr/bin/gcc -include ../config.h -DBSD=1 -DSHELL -DIFS_BROKEN -g -O2 -Wall -o mkinit mkinit.c +In file included from /usr/include/sys/stat.h:107, + from /usr/include/fcntl.h:38, + from mkinit.c:50: +/usr/include/bits/stat.h:117: error: redefinition of ‘struct stat’ +In file included from /usr/include/fcntl.h:38, + from mkinit.c:50: +/usr/include/sys/stat.h:504: error: redefinition of ‘stat’ +/usr/include/sys/stat.h:455: note: previous definition of ‘stat’ was here + +Signed-off-by: Peter Korsgaard +--- + src/Makefile.in | 1 - + 1 file changed, 1 deletion(-) + +Index: dash-0.5.5.1/src/Makefile.in +=================================================================== +--- dash-0.5.5.1.orig/src/Makefile.in ++++ dash-0.5.5.1/src/Makefile.in +@@ -165,7 +165,6 @@ COMMON_CPPFLAGS = \ + AM_CFLAGS = $(COMMON_CFLAGS) + AM_CPPFLAGS = $(COMMON_CPPFLAGS) + AM_CFLAGS_FOR_BUILD = -g -O2 $(COMMON_CFLAGS) +-AM_CPPFLAGS_FOR_BUILD = $(COMMON_CPPFLAGS) + COMPILE_FOR_BUILD = \ + $(CC_FOR_BUILD) $(AM_CPPFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) \ + $(AM_CFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD) diff --git a/package/dash/dash-0001-no-config.h-for-helpers.patch b/package/dash/dash-0001-no-config.h-for-helpers.patch deleted file mode 100644 index 9fd449c414..0000000000 --- a/package/dash/dash-0001-no-config.h-for-helpers.patch +++ /dev/null @@ -1,35 +0,0 @@ -[PATCH] Don't include config.h when building helpers using the native compiler - -config.h contains settings for the cross compiler (most importantly -32/64bit versions of functions), so don't include it when calling the -native compiler to build the helpers. - -Otherwise we get build errors like: - -/usr/bin/gcc -include ../config.h -DBSD=1 -DSHELL -DIFS_BROKEN -g -O2 -Wall -o mkinit mkinit.c -In file included from /usr/include/sys/stat.h:107, - from /usr/include/fcntl.h:38, - from mkinit.c:50: -/usr/include/bits/stat.h:117: error: redefinition of ‘struct stat’ -In file included from /usr/include/fcntl.h:38, - from mkinit.c:50: -/usr/include/sys/stat.h:504: error: redefinition of ‘stat’ -/usr/include/sys/stat.h:455: note: previous definition of ‘stat’ was here - -Signed-off-by: Peter Korsgaard ---- - src/Makefile.in | 1 - - 1 file changed, 1 deletion(-) - -Index: dash-0.5.5.1/src/Makefile.in -=================================================================== ---- dash-0.5.5.1.orig/src/Makefile.in -+++ dash-0.5.5.1/src/Makefile.in -@@ -165,7 +165,6 @@ COMMON_CPPFLAGS = \ - AM_CFLAGS = $(COMMON_CFLAGS) - AM_CPPFLAGS = $(COMMON_CPPFLAGS) - AM_CFLAGS_FOR_BUILD = -g -O2 $(COMMON_CFLAGS) --AM_CPPFLAGS_FOR_BUILD = $(COMMON_CPPFLAGS) - COMPILE_FOR_BUILD = \ - $(CC_FOR_BUILD) $(AM_CPPFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) \ - $(AM_CFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD) diff --git a/package/dbus-cpp/0001-gcc4.7.patch b/package/dbus-cpp/0001-gcc4.7.patch new file mode 100644 index 0000000000..ad3046c829 --- /dev/null +++ b/package/dbus-cpp/0001-gcc4.7.patch @@ -0,0 +1,17 @@ +Fix build failure with gcc 4.7+ +From bugtracker: http://sourceforge.net/p/dbus-cplusplus/patches/13/ + +Signed-off-by: Gustavo Zacarias + +diff --git a/include/dbus-c++/eventloop-integration.h b/include/dbus-c++/eventloop-integration.h +index 1b0302e..3e44304 100644 +--- a/include/dbus-c++/eventloop-integration.h ++++ b/include/dbus-c++/eventloop-integration.h +@@ -26,6 +26,7 @@ + #define __DBUSXX_EVENTLOOP_INTEGRATION_H + + #include ++#include + #include "api.h" + #include "dispatcher.h" + #include "util.h" diff --git a/package/dbus-cpp/0002-cxxflags-ldflags-for-build.patch b/package/dbus-cpp/0002-cxxflags-ldflags-for-build.patch new file mode 100644 index 0000000000..fefb9690d3 --- /dev/null +++ b/package/dbus-cpp/0002-cxxflags-ldflags-for-build.patch @@ -0,0 +1,32 @@ +Use CXXFLAGS_FOR_BUILD and LDFLAGS_FOR_BUILD for the tools since expat +may not be living in the default include & library path. + +Signed-off-by: Gustavo Zacarias + +diff -Nura libdbus-c++-0.9.0.orig/configure.ac libdbus-c++-0.9.0/configure.ac +--- libdbus-c++-0.9.0.orig/configure.ac 2014-01-05 15:28:03.653886567 -0300 ++++ libdbus-c++-0.9.0/configure.ac 2014-01-05 15:44:32.571172225 -0300 +@@ -65,7 +65,11 @@ + AC_PROG_CXX + + CXX_FOR_BUILD=${CXX_FOR_BUILD-${CXX}} ++CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}} ++LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}} + AC_SUBST(CXX_FOR_BUILD) ++AC_SUBST(CXXFLAGS_FOR_BUILD) ++AC_SUBST(LDFLAGS_FOR_BUILD) + + AM_PROG_LIBTOOL + +diff -Nura libdbus-c++-0.9.0.orig/tools/Makefile.am libdbus-c++-0.9.0/tools/Makefile.am +--- libdbus-c++-0.9.0.orig/tools/Makefile.am 2014-01-05 15:28:03.652886535 -0300 ++++ libdbus-c++-0.9.0/tools/Makefile.am 2014-01-05 15:44:42.071482390 -0300 +@@ -1,6 +1,8 @@ + # hacky, but ... + + CXX = $(CXX_FOR_BUILD) ++CXXFLAGS = $(CXXFLAGS_FOR_BUILD) ++LDFLAGS = $(LDFLAGS_FOR_BUILD) + + AM_CPPFLAGS = \ + $(dbus_CFLAGS) \ diff --git a/package/dbus-cpp/dbus-cpp-0001-gcc4.7.patch b/package/dbus-cpp/dbus-cpp-0001-gcc4.7.patch deleted file mode 100644 index ad3046c829..0000000000 --- a/package/dbus-cpp/dbus-cpp-0001-gcc4.7.patch +++ /dev/null @@ -1,17 +0,0 @@ -Fix build failure with gcc 4.7+ -From bugtracker: http://sourceforge.net/p/dbus-cplusplus/patches/13/ - -Signed-off-by: Gustavo Zacarias - -diff --git a/include/dbus-c++/eventloop-integration.h b/include/dbus-c++/eventloop-integration.h -index 1b0302e..3e44304 100644 ---- a/include/dbus-c++/eventloop-integration.h -+++ b/include/dbus-c++/eventloop-integration.h -@@ -26,6 +26,7 @@ - #define __DBUSXX_EVENTLOOP_INTEGRATION_H - - #include -+#include - #include "api.h" - #include "dispatcher.h" - #include "util.h" diff --git a/package/dbus-cpp/dbus-cpp-0002-cxxflags-ldflags-for-build.patch b/package/dbus-cpp/dbus-cpp-0002-cxxflags-ldflags-for-build.patch deleted file mode 100644 index fefb9690d3..0000000000 --- a/package/dbus-cpp/dbus-cpp-0002-cxxflags-ldflags-for-build.patch +++ /dev/null @@ -1,32 +0,0 @@ -Use CXXFLAGS_FOR_BUILD and LDFLAGS_FOR_BUILD for the tools since expat -may not be living in the default include & library path. - -Signed-off-by: Gustavo Zacarias - -diff -Nura libdbus-c++-0.9.0.orig/configure.ac libdbus-c++-0.9.0/configure.ac ---- libdbus-c++-0.9.0.orig/configure.ac 2014-01-05 15:28:03.653886567 -0300 -+++ libdbus-c++-0.9.0/configure.ac 2014-01-05 15:44:32.571172225 -0300 -@@ -65,7 +65,11 @@ - AC_PROG_CXX - - CXX_FOR_BUILD=${CXX_FOR_BUILD-${CXX}} -+CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}} -+LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}} - AC_SUBST(CXX_FOR_BUILD) -+AC_SUBST(CXXFLAGS_FOR_BUILD) -+AC_SUBST(LDFLAGS_FOR_BUILD) - - AM_PROG_LIBTOOL - -diff -Nura libdbus-c++-0.9.0.orig/tools/Makefile.am libdbus-c++-0.9.0/tools/Makefile.am ---- libdbus-c++-0.9.0.orig/tools/Makefile.am 2014-01-05 15:28:03.652886535 -0300 -+++ libdbus-c++-0.9.0/tools/Makefile.am 2014-01-05 15:44:42.071482390 -0300 -@@ -1,6 +1,8 @@ - # hacky, but ... - - CXX = $(CXX_FOR_BUILD) -+CXXFLAGS = $(CXXFLAGS_FOR_BUILD) -+LDFLAGS = $(LDFLAGS_FOR_BUILD) - - AM_CPPFLAGS = \ - $(dbus_CFLAGS) \ diff --git a/package/devmem2/0001-be-coherent-in-type-usage.patch b/package/devmem2/0001-be-coherent-in-type-usage.patch new file mode 100644 index 0000000000..1777387734 --- /dev/null +++ b/package/devmem2/0001-be-coherent-in-type-usage.patch @@ -0,0 +1,52 @@ +From 6570e7afe1eebd64022b871b9ebd9a76be267f57 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 29 Jun 2014 16:27:49 +0200 +Subject: [PATCH] Be coherent in type usage + +- no need to use off_t because it is read from strtoul() +- print unsigned int type correctly + +When built with _FILE_OFFSET_BITS=64, off_t becomes an long long int +and was printed as an unsigned int which lead to a garbled output. + +Signed-off-by: Colin Didier +Signed-off-by: Thomas Petazzoni +--- + devmem2.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/devmem2.c b/devmem2.c +index 7732ecb..7aa5c79 100644 +--- a/devmem2.c ++++ b/devmem2.c +@@ -58,8 +58,7 @@ + int main(int argc, char **argv) { + int fd; + void *map_base, *virt_addr; +- unsigned long read_result, writeval; +- off_t target; ++ unsigned long target, read_result, writeval; + int access_type = 'w'; + + if(argc < 2) { +@@ -101,7 +100,7 @@ int main(int argc, char **argv) { + fprintf(stderr, "Illegal data type '%c'.\n", access_type); + exit(2); + } +- printf("Value at address 0x%X (%p): 0x%X\n", target, virt_addr, read_result); ++ printf("Value at address 0x%lX (%p): 0x%X\n", target, virt_addr, read_result); + fflush(stdout); + + if(argc > 3) { +@@ -120,7 +119,7 @@ int main(int argc, char **argv) { + read_result = *((unsigned long *) virt_addr); + break; + } +- printf("Written 0x%X; readback 0x%X\n", writeval, read_result); ++ printf("Written 0x%lX; readback 0x%X\n", writeval, read_result); + fflush(stdout); + } + +-- +2.0.0 + diff --git a/package/devmem2/devmem2-0001-be-coherent-in-type-usage.patch b/package/devmem2/devmem2-0001-be-coherent-in-type-usage.patch deleted file mode 100644 index 1777387734..0000000000 --- a/package/devmem2/devmem2-0001-be-coherent-in-type-usage.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 6570e7afe1eebd64022b871b9ebd9a76be267f57 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 29 Jun 2014 16:27:49 +0200 -Subject: [PATCH] Be coherent in type usage - -- no need to use off_t because it is read from strtoul() -- print unsigned int type correctly - -When built with _FILE_OFFSET_BITS=64, off_t becomes an long long int -and was printed as an unsigned int which lead to a garbled output. - -Signed-off-by: Colin Didier -Signed-off-by: Thomas Petazzoni ---- - devmem2.c | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -diff --git a/devmem2.c b/devmem2.c -index 7732ecb..7aa5c79 100644 ---- a/devmem2.c -+++ b/devmem2.c -@@ -58,8 +58,7 @@ - int main(int argc, char **argv) { - int fd; - void *map_base, *virt_addr; -- unsigned long read_result, writeval; -- off_t target; -+ unsigned long target, read_result, writeval; - int access_type = 'w'; - - if(argc < 2) { -@@ -101,7 +100,7 @@ int main(int argc, char **argv) { - fprintf(stderr, "Illegal data type '%c'.\n", access_type); - exit(2); - } -- printf("Value at address 0x%X (%p): 0x%X\n", target, virt_addr, read_result); -+ printf("Value at address 0x%lX (%p): 0x%X\n", target, virt_addr, read_result); - fflush(stdout); - - if(argc > 3) { -@@ -120,7 +119,7 @@ int main(int argc, char **argv) { - read_result = *((unsigned long *) virt_addr); - break; - } -- printf("Written 0x%X; readback 0x%X\n", writeval, read_result); -+ printf("Written 0x%lX; readback 0x%X\n", writeval, read_result); - fflush(stdout); - } - --- -2.0.0 - diff --git a/package/dhcpdump/0001-use-non-bsd-structures.patch b/package/dhcpdump/0001-use-non-bsd-structures.patch new file mode 100644 index 0000000000..40115fb640 --- /dev/null +++ b/package/dhcpdump/0001-use-non-bsd-structures.patch @@ -0,0 +1,23 @@ +The udphdr structure has uh_* fields when _FAVOR_BSD is +defined. Otherwise, the fields are just named source, dest, len and +check. See . + +Signed-off-by: Thomas Petazzoni + +Index: dhcpdump-1.8/dhcpdump.c +=================================================================== +--- dhcpdump-1.8.orig/dhcpdump.c 2011-05-17 20:20:46.506980003 +0200 ++++ dhcpdump-1.8/dhcpdump.c 2011-05-17 20:20:59.338979999 +0200 +@@ -163,10 +163,10 @@ + strcpy(ip_origin, (u_char *)inet_ntoa(ip->ip_src)); + strcpy(ip_destination, (u_char *)inet_ntoa(ip->ip_dst)); + +- if (hmask && check_ch((u_char *)(sp + offset), ntohs(udp->uh_ulen))) ++ if (hmask && check_ch((u_char *)(sp + offset), ntohs(udp->len))) + return; + +- printdata((u_char *)(sp + offset), ntohs(udp->uh_ulen)); ++ printdata((u_char *)(sp + offset), ntohs(udp->len)); + } + + // check for matching CHADDR (Peter Apian-Bennewitz ) diff --git a/package/dhcpdump/0002-fix-strsep-feature-test.patch b/package/dhcpdump/0002-fix-strsep-feature-test.patch new file mode 100644 index 0000000000..06bab947c0 --- /dev/null +++ b/package/dhcpdump/0002-fix-strsep-feature-test.patch @@ -0,0 +1,27 @@ +Use the official _BSD_SOURCE feature test macro instead of the meaningless +HAVE_STRSEP macro in order to detect the availability of strsep(). + +This allows toolchains supporting strsep() to use it instead of the custom +implementation from dhcpdump, which also avoids the following error with some +toolchains: + + In file included from dhcpdump.c:30:0: + dhcpdump.c: At top level: + strsep.c:65:23: error: register name not specified for ‘delim’ + register const char *delim; + ^ + +Signed-off-by: Benoît Thébaudeau + +diff -Nrdup dhcpdump-1.8.orig/dhcpdump.c dhcpdump-1.8/dhcpdump.c +--- dhcpdump-1.8.orig/dhcpdump.c 2008-06-24 05:26:52.000000000 +0200 ++++ dhcpdump-1.8/dhcpdump.c 2011-05-31 19:22:15.987388498 +0200 +@@ -26,7 +26,7 @@ + #include + #include "dhcp_options.h" + +-#ifndef HAVE_STRSEP ++#ifndef _BSD_SOURCE + #include "strsep.c" + #endif + diff --git a/package/dhcpdump/dhcpdump-0001-use-non-bsd-structures.patch b/package/dhcpdump/dhcpdump-0001-use-non-bsd-structures.patch deleted file mode 100644 index 40115fb640..0000000000 --- a/package/dhcpdump/dhcpdump-0001-use-non-bsd-structures.patch +++ /dev/null @@ -1,23 +0,0 @@ -The udphdr structure has uh_* fields when _FAVOR_BSD is -defined. Otherwise, the fields are just named source, dest, len and -check. See . - -Signed-off-by: Thomas Petazzoni - -Index: dhcpdump-1.8/dhcpdump.c -=================================================================== ---- dhcpdump-1.8.orig/dhcpdump.c 2011-05-17 20:20:46.506980003 +0200 -+++ dhcpdump-1.8/dhcpdump.c 2011-05-17 20:20:59.338979999 +0200 -@@ -163,10 +163,10 @@ - strcpy(ip_origin, (u_char *)inet_ntoa(ip->ip_src)); - strcpy(ip_destination, (u_char *)inet_ntoa(ip->ip_dst)); - -- if (hmask && check_ch((u_char *)(sp + offset), ntohs(udp->uh_ulen))) -+ if (hmask && check_ch((u_char *)(sp + offset), ntohs(udp->len))) - return; - -- printdata((u_char *)(sp + offset), ntohs(udp->uh_ulen)); -+ printdata((u_char *)(sp + offset), ntohs(udp->len)); - } - - // check for matching CHADDR (Peter Apian-Bennewitz ) diff --git a/package/dhcpdump/dhcpdump-0002-fix-strsep-feature-test.patch b/package/dhcpdump/dhcpdump-0002-fix-strsep-feature-test.patch deleted file mode 100644 index 06bab947c0..0000000000 --- a/package/dhcpdump/dhcpdump-0002-fix-strsep-feature-test.patch +++ /dev/null @@ -1,27 +0,0 @@ -Use the official _BSD_SOURCE feature test macro instead of the meaningless -HAVE_STRSEP macro in order to detect the availability of strsep(). - -This allows toolchains supporting strsep() to use it instead of the custom -implementation from dhcpdump, which also avoids the following error with some -toolchains: - - In file included from dhcpdump.c:30:0: - dhcpdump.c: At top level: - strsep.c:65:23: error: register name not specified for ‘delim’ - register const char *delim; - ^ - -Signed-off-by: Benoît Thébaudeau - -diff -Nrdup dhcpdump-1.8.orig/dhcpdump.c dhcpdump-1.8/dhcpdump.c ---- dhcpdump-1.8.orig/dhcpdump.c 2008-06-24 05:26:52.000000000 +0200 -+++ dhcpdump-1.8/dhcpdump.c 2011-05-31 19:22:15.987388498 +0200 -@@ -26,7 +26,7 @@ - #include - #include "dhcp_options.h" - --#ifndef HAVE_STRSEP -+#ifndef _BSD_SOURCE - #include "strsep.c" - #endif - diff --git a/package/dhrystone/0001-cmdline-nruns.patch b/package/dhrystone/0001-cmdline-nruns.patch new file mode 100644 index 0000000000..1164610cca --- /dev/null +++ b/package/dhrystone/0001-cmdline-nruns.patch @@ -0,0 +1,53 @@ +let people specify the number of runs on the command line + +Patch by Vivi Li + +--- a/dhry_1.c ++++ b/dhry_1.c +@@ -66,7 +70,7 @@ + /* end of variables for time measurement */ + + +-main () ++main(int argc, char *argv[]) + /*****/ + + /* main program, corresponds to procedures */ +@@ -101,6 +105,13 @@ + /* Warning: With 16-Bit processors and Number_Of_Runs > 32000, */ + /* overflow may occur for this array element. */ + ++ Number_Of_Runs = 0; ++ if ( argc == 2 ) { ++ if (atoi(argv[1]) > 0) { ++ Number_Of_Runs = atoi(argv[1]); ++ } ++ } ++ + printf ("\n"); + printf ("Dhrystone Benchmark, Version 2.1 (Language: C)\n"); + printf ("\n"); +@@ -114,13 +125,17 @@ + printf ("Program compiled without 'register' attribute\n"); + printf ("\n"); + } +- printf ("Please give the number of runs through the benchmark: "); +- { +- int n; +- scanf ("%d", &n); +- Number_Of_Runs = n; ++ ++ if (!Number_Of_Runs) { ++ printf ("Please give the number of runs through the benchmark: "); ++ fflush (stdout); ++ { ++ int n; ++ scanf ("%d", &n); ++ Number_Of_Runs = n; ++ } ++ printf ("\n"); + } +- printf ("\n"); + + printf ("Execution starts, %d runs through Dhrystone\n", Number_Of_Runs); + diff --git a/package/dhrystone/0002-HZ.patch b/package/dhrystone/0002-HZ.patch new file mode 100644 index 0000000000..e3b8a0e05d --- /dev/null +++ b/package/dhrystone/0002-HZ.patch @@ -0,0 +1,17 @@ +Get HZ value from system rather than requiring via CPPFLAGS + +Patch by Robin Getz + +--- a/dhry.h ++++ b/dhry.h +@@ -359,6 +359,10 @@ + /* for "times" */ + #endif + ++#ifndef HZ ++#include ++#endif ++ + #define Mic_secs_Per_Second 1000000.0 + /* Berkeley UNIX C returns process times in seconds/HZ */ + diff --git a/package/dhrystone/0003-exit.patch b/package/dhrystone/0003-exit.patch new file mode 100644 index 0000000000..8d99f4e5d7 --- /dev/null +++ b/package/dhrystone/0003-exit.patch @@ -0,0 +1,14 @@ +trust the exit status of the program + +Patch by Robin Getz + +--- a/dhry_1.c ++++ b/dhry_1.c +@@ -274,6 +289,7 @@ + printf ("\n"); + } + ++ exit(0); + } + + diff --git a/package/dhrystone/0004-headers.patch b/package/dhrystone/0004-headers.patch new file mode 100644 index 0000000000..82bb60d92d --- /dev/null +++ b/package/dhrystone/0004-headers.patch @@ -0,0 +1,15 @@ +get prototypes for malloc/exit/strcpy + +Patch by Mike Frysinger + +--- a/dhry.h ++++ b/dhry.h +@@ -388,6 +388,8 @@ + /* General definitions: */ + + #include ++#include ++#include + /* for strcpy, strcmp */ + + #define Null 0 diff --git a/package/dhrystone/0005-prototypes.patch b/package/dhrystone/0005-prototypes.patch new file mode 100644 index 0000000000..7fdcf94ee9 --- /dev/null +++ b/package/dhrystone/0005-prototypes.patch @@ -0,0 +1,35 @@ +Avoid collision with C library using NO_PROTOTYPES found in code already + +Patch by Robin Getz + +--- a/dhry_1.c ++++ b/dhry_1.c +@@ -28,7 +28,9 @@ + int Arr_1_Glob [50]; + int Arr_2_Glob [50] [50]; + ++#ifndef NO_PROTOTYPES + extern char *malloc (); ++#endif + Enumeration Func_1 (); + /* forward declaration necessary since Enumeration may not simply be int */ + +@@ -45,14 +45,18 @@ + + #ifdef TIMES + struct tms time_info; ++#ifndef NO_PROTOTYPES + extern int times (); + /* see library function "times" */ ++#endif + #define Too_Small_Time 120 + /* Measurements should last at least about 2 seconds */ + #endif + #ifdef TIME ++#ifndef NO_PROTOTYPES + extern long time(); + /* see library function "time" */ ++#endif + #define Too_Small_Time 2 + /* Measurements should last at least 2 seconds */ + #endif diff --git a/package/dhrystone/dhrystone-2-HZ.patch b/package/dhrystone/dhrystone-2-HZ.patch deleted file mode 100644 index e3b8a0e05d..0000000000 --- a/package/dhrystone/dhrystone-2-HZ.patch +++ /dev/null @@ -1,17 +0,0 @@ -Get HZ value from system rather than requiring via CPPFLAGS - -Patch by Robin Getz - ---- a/dhry.h -+++ b/dhry.h -@@ -359,6 +359,10 @@ - /* for "times" */ - #endif - -+#ifndef HZ -+#include -+#endif -+ - #define Mic_secs_Per_Second 1000000.0 - /* Berkeley UNIX C returns process times in seconds/HZ */ - diff --git a/package/dhrystone/dhrystone-2-cmdline-nruns.patch b/package/dhrystone/dhrystone-2-cmdline-nruns.patch deleted file mode 100644 index 1164610cca..0000000000 --- a/package/dhrystone/dhrystone-2-cmdline-nruns.patch +++ /dev/null @@ -1,53 +0,0 @@ -let people specify the number of runs on the command line - -Patch by Vivi Li - ---- a/dhry_1.c -+++ b/dhry_1.c -@@ -66,7 +70,7 @@ - /* end of variables for time measurement */ - - --main () -+main(int argc, char *argv[]) - /*****/ - - /* main program, corresponds to procedures */ -@@ -101,6 +105,13 @@ - /* Warning: With 16-Bit processors and Number_Of_Runs > 32000, */ - /* overflow may occur for this array element. */ - -+ Number_Of_Runs = 0; -+ if ( argc == 2 ) { -+ if (atoi(argv[1]) > 0) { -+ Number_Of_Runs = atoi(argv[1]); -+ } -+ } -+ - printf ("\n"); - printf ("Dhrystone Benchmark, Version 2.1 (Language: C)\n"); - printf ("\n"); -@@ -114,13 +125,17 @@ - printf ("Program compiled without 'register' attribute\n"); - printf ("\n"); - } -- printf ("Please give the number of runs through the benchmark: "); -- { -- int n; -- scanf ("%d", &n); -- Number_Of_Runs = n; -+ -+ if (!Number_Of_Runs) { -+ printf ("Please give the number of runs through the benchmark: "); -+ fflush (stdout); -+ { -+ int n; -+ scanf ("%d", &n); -+ Number_Of_Runs = n; -+ } -+ printf ("\n"); - } -- printf ("\n"); - - printf ("Execution starts, %d runs through Dhrystone\n", Number_Of_Runs); - diff --git a/package/dhrystone/dhrystone-2-exit.patch b/package/dhrystone/dhrystone-2-exit.patch deleted file mode 100644 index 8d99f4e5d7..0000000000 --- a/package/dhrystone/dhrystone-2-exit.patch +++ /dev/null @@ -1,14 +0,0 @@ -trust the exit status of the program - -Patch by Robin Getz - ---- a/dhry_1.c -+++ b/dhry_1.c -@@ -274,6 +289,7 @@ - printf ("\n"); - } - -+ exit(0); - } - - diff --git a/package/dhrystone/dhrystone-2-headers.patch b/package/dhrystone/dhrystone-2-headers.patch deleted file mode 100644 index 82bb60d92d..0000000000 --- a/package/dhrystone/dhrystone-2-headers.patch +++ /dev/null @@ -1,15 +0,0 @@ -get prototypes for malloc/exit/strcpy - -Patch by Mike Frysinger - ---- a/dhry.h -+++ b/dhry.h -@@ -388,6 +388,8 @@ - /* General definitions: */ - - #include -+#include -+#include - /* for strcpy, strcmp */ - - #define Null 0 diff --git a/package/dhrystone/dhrystone-2-prototypes.patch b/package/dhrystone/dhrystone-2-prototypes.patch deleted file mode 100644 index 7fdcf94ee9..0000000000 --- a/package/dhrystone/dhrystone-2-prototypes.patch +++ /dev/null @@ -1,35 +0,0 @@ -Avoid collision with C library using NO_PROTOTYPES found in code already - -Patch by Robin Getz - ---- a/dhry_1.c -+++ b/dhry_1.c -@@ -28,7 +28,9 @@ - int Arr_1_Glob [50]; - int Arr_2_Glob [50] [50]; - -+#ifndef NO_PROTOTYPES - extern char *malloc (); -+#endif - Enumeration Func_1 (); - /* forward declaration necessary since Enumeration may not simply be int */ - -@@ -45,14 +45,18 @@ - - #ifdef TIMES - struct tms time_info; -+#ifndef NO_PROTOTYPES - extern int times (); - /* see library function "times" */ -+#endif - #define Too_Small_Time 120 - /* Measurements should last at least about 2 seconds */ - #endif - #ifdef TIME -+#ifndef NO_PROTOTYPES - extern long time(); - /* see library function "time" */ -+#endif - #define Too_Small_Time 2 - /* Measurements should last at least 2 seconds */ - #endif diff --git a/package/directfb-examples/0001-remove-bzero.patch b/package/directfb-examples/0001-remove-bzero.patch new file mode 100644 index 0000000000..41616b5c31 --- /dev/null +++ b/package/directfb-examples/0001-remove-bzero.patch @@ -0,0 +1,17 @@ +--- + src/df_knuckles/matrix.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: directfb-examples-1.2.0/src/df_knuckles/matrix.c +=================================================================== +--- directfb-examples-1.2.0.orig/src/df_knuckles/matrix.c ++++ directfb-examples-1.2.0/src/df_knuckles/matrix.c +@@ -19,7 +19,7 @@ + static float Cosine[3600]; + static float Sine[3600]; + +-#define M_CLEAR(m) bzero(m, MATRIX_SIZE) ++#define M_CLEAR(m) memset(m, 0, MATRIX_SIZE) + #define M_IDENTITY(m) memcpy(m, IdentityMatrix, MATRIX_SIZE) + + static void MultiplyMatrix(float *A, float *B) diff --git a/package/directfb-examples/directfb-examples-remove-bzero.patch b/package/directfb-examples/directfb-examples-remove-bzero.patch deleted file mode 100644 index 41616b5c31..0000000000 --- a/package/directfb-examples/directfb-examples-remove-bzero.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - src/df_knuckles/matrix.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: directfb-examples-1.2.0/src/df_knuckles/matrix.c -=================================================================== ---- directfb-examples-1.2.0.orig/src/df_knuckles/matrix.c -+++ directfb-examples-1.2.0/src/df_knuckles/matrix.c -@@ -19,7 +19,7 @@ - static float Cosine[3600]; - static float Sine[3600]; - --#define M_CLEAR(m) bzero(m, MATRIX_SIZE) -+#define M_CLEAR(m) memset(m, 0, MATRIX_SIZE) - #define M_IDENTITY(m) memcpy(m, IdentityMatrix, MATRIX_SIZE) - - static void MultiplyMatrix(float *A, float *B) diff --git a/package/directfb/0001-fix-missing-davinci-voodoo-header.patch b/package/directfb/0001-fix-missing-davinci-voodoo-header.patch new file mode 100644 index 0000000000..6ad4958f84 --- /dev/null +++ b/package/directfb/0001-fix-missing-davinci-voodoo-header.patch @@ -0,0 +1,1726 @@ +The archive of directfb-1.6.3 is still missing some header files against +the tagged git tree of directfb. The following files are missing. + +gfxdrivers/davinci/davinci_c64x.h +gfxdrivers/davinci/davincifb.h +gfxdrivers/davinci/davinci_gfxdriver.h +tests/voodoo/voodoo_test.h + +The headers of course are needed to be able to build every module of +directfb. The headers are taken from the git tree of directfb +http://git.directfb.org/?p=core/DirectFB.git;a=commit;h=38b784549bc59bb07c58bb29667cb658695d39a7, +tag DIRECTFB_1_6_3, SHA1ID 38b784549bc59bb07c58bb29667cb658695d39a7. + +Signed-off-by: Carsten Schoenert + +diff -puNr -Naur directfb-1.6.3-orig/gfxdrivers/davinci/davinci_c64x.h directfb-1.6.3/gfxdrivers/davinci/davinci_c64x.h +--- directfb-1.6.3-orig/gfxdrivers/davinci/davinci_c64x.h 1970-01-01 01:00:00.000000000 +0100 ++++ directfb-1.6.3/gfxdrivers/davinci/davinci_c64x.h 2013-04-07 21:33:25.928530187 +0200 +@@ -0,0 +1,935 @@ ++/* ++ TI Davinci driver - C64X+ DSP Library ++ ++ (c) Copyright 2008 directfb.org ++ (c) Copyright 2007 Telio AG ++ ++ Written by Denis Oliver Kropp and ++ Olaf Dreesen . ++ ++ All rights reserved. ++ ++ This library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU General Public License ++ version 2 as published by the Free Software Foundation. ++ ++ This library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ General Public License for more details. ++ ++ You should have received a copy of the GNU General Public ++ License along with this library; if not, write to the ++ Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++ Boston, MA 02111-1307, USA. ++*/ ++ ++#ifndef __DAVINCI_C64X_H__ ++#define __DAVINCI_C64X_H__ ++ ++#include ++ ++#include ++ ++#include ++#include ++ ++#include ++ ++#define mb() __asm__ __volatile__ ("" : : : "memory") ++ ++/**********************************************************************************************************************/ ++ ++typedef struct { ++ int magic; ++ ++ int fd; ++ c64xTaskControl *ctl; ++ void *mem; ++ ++ c64xTask *QueueL; ++} DavinciC64x; ++ ++typedef struct { ++ int magic; ++ unsigned int max_tasks; ++ unsigned int num_tasks; ++ c64xTask *tasks; ++} DavinciC64xTasks; ++ ++typedef enum { ++ C64X_TEF_NONE = 0x0000, ++ C64X_TEF_RESET = 0x0001 ++} DavinciC64xEmitFlags; ++ ++/**********************************************************************************************************************/ ++ ++DFBResult davinci_c64x_open ( DavinciC64x *c64x ); ++ ++DFBResult davinci_c64x_close ( DavinciC64x *c64x ); ++ ++DFBResult davinci_c64x_wait_low( DavinciC64x *c64x ); ++ ++/**********************************************************************************************************************/ ++ ++DFBResult davinci_c64x_tasks_init ( DavinciC64xTasks *tasks, ++ unsigned int size ); ++ ++DFBResult davinci_c64x_tasks_destroy( DavinciC64xTasks *tasks ); ++ ++/**********************************************************************************************************************/ ++ ++DFBResult davinci_c64x_emit_tasks( DavinciC64x *c64x, ++ DavinciC64xTasks *tasks, ++ DavinciC64xEmitFlags flags ); ++ ++/**********************************************************************************************************************/ ++ ++static const char *state_names[] = { "DONE", "ERROR", "TODO", "RUNNING" }; ++ ++static inline c64xTask * ++c64x_get_task( DavinciC64x *c64x ) ++{ ++ c64xTaskControl *ctl = c64x->ctl; ++ uint32_t idx = ctl->QL_arm; ++ uint32_t next = (idx + 1) & C64X_QUEUE_MASK; ++ c64xTask *task = &c64x->QueueL[idx]; ++ int loops = 0; ++ uint32_t idle = 0; ++ ++ /* Wait for the entry (and next) to be processed by the DSP (rare case). */ ++ while (task->c64x_flags & C64X_FLAG_TODO || ctl->QL_dsp == next) { ++ if (loops > 666 || (idle && ctl->idlecounter - idle > 666)) { ++ c64xTask *dsp_task = &c64x->QueueL[ctl->QL_dsp]; ++ ++ D_PERROR( "Davinci/C64X+: Blocked! [DSP %d / %d (%s), ARM %d / %d (%s)]\n", ++ ctl->QL_dsp, ++ (dsp_task->c64x_function >> 2) & 0x3fff, ++ state_names[dsp_task->c64x_function & 3], ++ ctl->QL_arm, ++ (task->c64x_function >> 2) & 0x3fff, ++ state_names[task->c64x_function & 3] ); ++ ++ break; ++ } ++ ++ idle = ctl->idlecounter; ++ ++ /* Queue is full, waiting 10-20ms should not be too bad. */ ++ if (loops++ > 10) ++ usleep( 5000 ); ++ } ++ ++ return task; ++} ++ ++static inline void ++c64x_submit_task( DavinciC64x *c64x, c64xTask *task ) ++{ ++ c64xTaskControl *ctl = c64x->ctl; ++ uint32_t idx = ctl->QL_arm; ++ uint32_t next = (idx + 1) & C64X_QUEUE_MASK; ++ ++ mb(); ++ ++ ctl->QL_arm = next; ++ ++ mb(); ++} ++ ++/**********************************************************************************************************************/ ++ ++static inline void ++davinci_c64x_wb_inv_range( DavinciC64x *c64x, ++ unsigned long start, ++ u32 length, ++ u32 func ) ++{ ++ c64xTask *task = c64x_get_task( c64x ); ++ ++ task->c64x_arg[0] = start; ++ task->c64x_arg[1] = length; ++ task->c64x_arg[2] = func; ++ ++ task->c64x_function = C64X_WB_INV_RANGE | C64X_FLAG_TODO; ++ ++ c64x_submit_task( c64x, task ); ++} ++ ++static inline void ++davinci_c64x_write_back_all( DavinciC64x *c64x ) ++{ ++ c64xTask *task = c64x_get_task( c64x ); ++ ++ task->c64x_function = C64X_WRITE_BACK_ALL | C64X_FLAG_TODO; ++ ++ c64x_submit_task( c64x, task ); ++} ++ ++/**********************************************************************************************************************/ ++ ++static inline void ++davinci_c64x_load_block__L( DavinciC64xTasks *tasks, ++ unsigned long words, ++ u32 num, ++ u32 flags ) ++{ ++ c64xTask *task = &tasks->tasks[tasks->num_tasks]; ++ ++ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); ++ ++ task->c64x_arg[0] = words; ++ task->c64x_arg[1] = num; ++ task->c64x_arg[2] = flags; ++ ++ task->c64x_function = C64X_LOAD_BLOCK | C64X_FLAG_TODO; ++ ++ tasks->num_tasks++; ++} ++ ++static inline void ++davinci_c64x_load_block( DavinciC64x *c64x, ++ unsigned long words, ++ u32 num, ++ u32 flags ) ++{ ++ c64xTask *task = c64x_get_task( c64x ); ++ ++ task->c64x_arg[0] = words; ++ task->c64x_arg[1] = num; ++ task->c64x_arg[2] = flags; ++ ++ task->c64x_function = C64X_LOAD_BLOCK | C64X_FLAG_TODO; ++ ++ c64x_submit_task( c64x, task ); ++} ++ ++static inline void ++davinci_c64x_fetch_uyvy( DavinciC64x *c64x, ++ unsigned long dest, ++ unsigned long source, ++ u32 pitch, ++ u32 height, ++ u32 flags ) ++{ ++ c64xTask *task = c64x_get_task( c64x ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = source; ++ task->c64x_arg[2] = pitch; ++ task->c64x_arg[3] = height; ++ task->c64x_arg[4] = flags; ++ ++ task->c64x_function = C64X_FETCH_UYVY | C64X_FLAG_TODO; ++ ++ c64x_submit_task( c64x, task ); ++} ++ ++static inline void ++davinci_c64x_mc( DavinciC64x *c64x, ++ unsigned long dest, ++ u32 dpitch, ++ unsigned long source0, ++ unsigned long source1, ++ u32 spitch, ++ u32 height, ++ int func ) ++{ ++ c64xTask *task = c64x_get_task( c64x ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = dpitch; ++ task->c64x_arg[2] = source0; ++ task->c64x_arg[3] = source1; ++ task->c64x_arg[4] = spitch; ++ task->c64x_arg[5] = height; ++ ++ task->c64x_function = func | C64X_FLAG_TODO; ++ ++ c64x_submit_task( c64x, task ); ++} ++ ++static inline void ++davinci_c64x_put_idct_uyvy_16x16__L( DavinciC64xTasks *tasks, ++ unsigned long dest, ++ u32 pitch, ++ u32 flags ) ++{ ++ c64xTask *task = &tasks->tasks[tasks->num_tasks]; ++ ++ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = pitch; ++ task->c64x_arg[2] = flags; ++ ++ task->c64x_function = C64X_PUT_IDCT_UYVY_16x16 | C64X_FLAG_TODO; ++ ++ tasks->num_tasks++; ++} ++ ++static inline void ++davinci_c64x_put_idct_uyvy_16x16( DavinciC64x *c64x, ++ unsigned long dest, ++ u32 pitch, ++ u32 flags ) ++{ ++ c64xTask *task = c64x_get_task( c64x ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = pitch; ++ task->c64x_arg[2] = flags; ++ ++ task->c64x_function = C64X_PUT_IDCT_UYVY_16x16 | C64X_FLAG_TODO; ++ ++ c64x_submit_task( c64x, task ); ++} ++ ++static inline void ++davinci_c64x_put_mc_uyvy_16x16__L( DavinciC64xTasks *tasks, ++ unsigned long dest, ++ u32 pitch, ++ u32 flags ) ++{ ++ c64xTask *task = &tasks->tasks[tasks->num_tasks]; ++ ++ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = pitch; ++ task->c64x_arg[2] = flags; ++ ++ task->c64x_function = C64X_PUT_MC_UYVY_16x16 | C64X_FLAG_TODO; ++ ++ tasks->num_tasks++; ++} ++ ++static inline void ++davinci_c64x_put_mc_uyvy_16x16( DavinciC64x *c64x, ++ unsigned long dest, ++ u32 pitch, ++ u32 flags ) ++{ ++ c64xTask *task = c64x_get_task( c64x ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = pitch; ++ task->c64x_arg[2] = flags; ++ ++ task->c64x_function = C64X_PUT_MC_UYVY_16x16 | C64X_FLAG_TODO; ++ ++ c64x_submit_task( c64x, task ); ++} ++ ++static inline void ++davinci_c64x_put_sum_uyvy_16x16__L( DavinciC64xTasks *tasks, ++ unsigned long dest, ++ u32 pitch, ++ u32 flags ) ++{ ++ c64xTask *task = &tasks->tasks[tasks->num_tasks]; ++ ++ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = pitch; ++ task->c64x_arg[2] = flags; ++ ++ task->c64x_function = C64X_PUT_SUM_UYVY_16x16 | C64X_FLAG_TODO; ++ ++ tasks->num_tasks++; ++} ++ ++static inline void ++davinci_c64x_put_sum_uyvy_16x16( DavinciC64x *c64x, ++ unsigned long dest, ++ u32 pitch, ++ u32 flags ) ++{ ++ c64xTask *task = c64x_get_task( c64x ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = pitch; ++ task->c64x_arg[2] = flags; ++ ++ task->c64x_function = C64X_PUT_SUM_UYVY_16x16 | C64X_FLAG_TODO; ++ ++ c64x_submit_task( c64x, task ); ++} ++ ++static inline void ++davinci_c64x_dva_begin_frame__L( DavinciC64xTasks *tasks, ++ u32 pitch, ++ unsigned long current, ++ unsigned long past, ++ unsigned long future, ++ u32 flags ) ++{ ++ c64xTask *task = &tasks->tasks[tasks->num_tasks]; ++ ++ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); ++ ++ task->c64x_arg[0] = pitch; ++ task->c64x_arg[1] = current; ++ task->c64x_arg[2] = past; ++ task->c64x_arg[3] = future; ++ task->c64x_arg[4] = flags; ++ ++ task->c64x_function = C64X_DVA_BEGIN_FRAME | C64X_FLAG_TODO; ++ ++ tasks->num_tasks++; ++} ++ ++static inline void ++davinci_c64x_dva_begin_frame( DavinciC64x *c64x, ++ u32 pitch, ++ unsigned long current, ++ unsigned long past, ++ unsigned long future, ++ u32 flags ) ++{ ++ c64xTask *task = c64x_get_task( c64x ); ++ ++ task->c64x_arg[0] = pitch; ++ task->c64x_arg[1] = current; ++ task->c64x_arg[2] = past; ++ task->c64x_arg[3] = future; ++ task->c64x_arg[4] = flags; ++ ++ task->c64x_function = C64X_DVA_BEGIN_FRAME | C64X_FLAG_TODO; ++ ++ c64x_submit_task( c64x, task ); ++} ++ ++static inline void ++davinci_c64x_dva_motion_block__L( DavinciC64xTasks *tasks, ++ unsigned long macroblock ) ++{ ++ c64xTask *task = &tasks->tasks[tasks->num_tasks]; ++ ++ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); ++ ++ task->c64x_arg[0] = macroblock; ++ ++ task->c64x_function = C64X_DVA_MOTION_BLOCK | C64X_FLAG_TODO; ++ ++ tasks->num_tasks++; ++} ++ ++static inline void ++davinci_c64x_dva_motion_block( DavinciC64x *c64x, ++ unsigned long macroblock ) ++{ ++ c64xTask *task = c64x_get_task( c64x ); ++ ++ task->c64x_arg[0] = macroblock; ++ ++ task->c64x_function = C64X_DVA_MOTION_BLOCK | C64X_FLAG_TODO; ++ ++ c64x_submit_task( c64x, task ); ++} ++ ++/**********************************************************************************************************************/ ++ ++static inline void ++davinci_c64x_dva_idct( DavinciC64x *c64x, ++ unsigned long dest, ++ u32 pitch, ++ unsigned long source ) ++{ ++ c64xTask *task = c64x_get_task( c64x ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = pitch; ++ task->c64x_arg[2] = source; ++ ++ task->c64x_function = C64X_DVA_IDCT | C64X_FLAG_TODO; ++ ++ c64x_submit_task( c64x, task ); ++} ++ ++/**********************************************************************************************************************/ ++ ++static inline void ++davinci_c64x_put_uyvy_16x16( DavinciC64x *c64x, ++ unsigned long dest, ++ u32 pitch, ++ unsigned long source, ++ u32 flags ) ++{ ++ c64xTask *task = c64x_get_task( c64x ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = pitch; ++ task->c64x_arg[2] = source; ++ task->c64x_arg[3] = flags; ++ ++ task->c64x_function = C64X_PUT_UYVY_16x16 | C64X_FLAG_TODO; ++ ++ c64x_submit_task( c64x, task ); ++} ++ ++static inline void ++davinci_c64x_dither_argb__L( DavinciC64xTasks *tasks, ++ unsigned long dst_rgb, ++ unsigned long dst_alpha, ++ u32 dst_pitch, ++ unsigned long source, ++ u32 src_pitch, ++ u32 width, ++ u32 height ) ++{ ++ c64xTask *task = &tasks->tasks[tasks->num_tasks]; ++ ++ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); ++ ++ task->c64x_arg[0] = dst_rgb; ++ task->c64x_arg[1] = dst_alpha; ++ task->c64x_arg[2] = dst_pitch; ++ task->c64x_arg[3] = source; ++ task->c64x_arg[4] = src_pitch; ++ task->c64x_arg[5] = width; ++ task->c64x_arg[6] = height; ++ ++ task->c64x_function = C64X_DITHER_ARGB | C64X_FLAG_TODO; ++ ++ tasks->num_tasks++; ++} ++ ++static inline void ++davinci_c64x_dither_argb( DavinciC64x *c64x, ++ unsigned long dst_rgb, ++ unsigned long dst_alpha, ++ u32 dst_pitch, ++ unsigned long source, ++ u32 src_pitch, ++ u32 width, ++ u32 height ) ++{ ++ c64xTask *task = c64x_get_task( c64x ); ++ ++ task->c64x_arg[0] = dst_rgb; ++ task->c64x_arg[1] = dst_alpha; ++ task->c64x_arg[2] = dst_pitch; ++ task->c64x_arg[3] = source; ++ task->c64x_arg[4] = src_pitch; ++ task->c64x_arg[5] = width; ++ task->c64x_arg[6] = height; ++ ++ task->c64x_function = C64X_DITHER_ARGB | C64X_FLAG_TODO; ++ ++ c64x_submit_task( c64x, task ); ++} ++ ++static inline void ++davinci_c64x_fill_16__L( DavinciC64xTasks *tasks, ++ unsigned long dest, ++ u32 pitch, ++ u32 width, ++ u32 height, ++ u32 value ) ++{ ++ c64xTask *task = &tasks->tasks[tasks->num_tasks]; ++ ++ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = pitch; ++ task->c64x_arg[2] = width; ++ task->c64x_arg[3] = height; ++ task->c64x_arg[4] = value; ++ ++ task->c64x_function = C64X_FILL_16 | C64X_FLAG_TODO; ++ ++ tasks->num_tasks++; ++} ++ ++static inline void ++davinci_c64x_fill_16( DavinciC64x *c64x, ++ unsigned long dest, ++ u32 pitch, ++ u32 width, ++ u32 height, ++ u32 value ) ++{ ++ c64xTask *task = c64x_get_task( c64x ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = pitch; ++ task->c64x_arg[2] = width; ++ task->c64x_arg[3] = height; ++ task->c64x_arg[4] = value; ++ ++ task->c64x_function = C64X_FILL_16 | C64X_FLAG_TODO; ++ ++ c64x_submit_task( c64x, task ); ++} ++ ++static inline void ++davinci_c64x_fill_32__L( DavinciC64xTasks *tasks, ++ unsigned long dest, ++ u32 pitch, ++ u32 width, ++ u32 height, ++ u32 value ) ++{ ++ c64xTask *task = &tasks->tasks[tasks->num_tasks]; ++ ++ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = pitch; ++ task->c64x_arg[2] = width; ++ task->c64x_arg[3] = height; ++ task->c64x_arg[4] = value; ++ ++ task->c64x_function = C64X_FILL_32 | C64X_FLAG_TODO; ++ ++ tasks->num_tasks++; ++} ++ ++static inline void ++davinci_c64x_fill_32( DavinciC64x *c64x, ++ unsigned long dest, ++ u32 pitch, ++ u32 width, ++ u32 height, ++ u32 value ) ++{ ++ c64xTask *task = c64x_get_task( c64x ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = pitch; ++ task->c64x_arg[2] = width; ++ task->c64x_arg[3] = height; ++ task->c64x_arg[4] = value; ++ ++ task->c64x_function = C64X_FILL_32 | C64X_FLAG_TODO; ++ ++ c64x_submit_task( c64x, task ); ++} ++ ++static inline void ++davinci_c64x_blit_16__L( DavinciC64xTasks *tasks, ++ unsigned long dest, ++ u32 dpitch, ++ unsigned long src, ++ u32 spitch, ++ u32 width, ++ u32 height ) ++{ ++ c64xTask *task = &tasks->tasks[tasks->num_tasks]; ++ ++ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = dpitch; ++ task->c64x_arg[2] = src; ++ task->c64x_arg[3] = spitch; ++ task->c64x_arg[4] = width; ++ task->c64x_arg[5] = height; ++ ++ task->c64x_function = C64X_COPY_16 | C64X_FLAG_TODO; ++ ++ tasks->num_tasks++; ++} ++ ++static inline void ++davinci_c64x_blit_16( DavinciC64x *c64x, ++ unsigned long dest, ++ u32 dpitch, ++ unsigned long src, ++ u32 spitch, ++ u32 width, ++ u32 height ) ++{ ++ c64xTask *task = c64x_get_task( c64x ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = dpitch; ++ task->c64x_arg[2] = src; ++ task->c64x_arg[3] = spitch; ++ task->c64x_arg[4] = width; ++ task->c64x_arg[5] = height; ++ ++ task->c64x_function = C64X_COPY_16 | C64X_FLAG_TODO; ++ ++ c64x_submit_task( c64x, task ); ++} ++ ++static inline void ++davinci_c64x_blit_32__L( DavinciC64xTasks *tasks, ++ unsigned long dest, ++ u32 dpitch, ++ unsigned long src, ++ u32 spitch, ++ u32 width, ++ u32 height ) ++{ ++ c64xTask *task = &tasks->tasks[tasks->num_tasks]; ++ ++ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = dpitch; ++ task->c64x_arg[2] = src; ++ task->c64x_arg[3] = spitch; ++ task->c64x_arg[4] = width; ++ task->c64x_arg[5] = height; ++ ++ task->c64x_function = C64X_COPY_32 | C64X_FLAG_TODO; ++ ++ tasks->num_tasks++; ++} ++ ++static inline void ++davinci_c64x_blit_32( DavinciC64x *c64x, ++ unsigned long dest, ++ u32 dpitch, ++ unsigned long src, ++ u32 spitch, ++ u32 width, ++ u32 height ) ++{ ++ c64xTask *task = c64x_get_task( c64x ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = dpitch; ++ task->c64x_arg[2] = src; ++ task->c64x_arg[3] = spitch; ++ task->c64x_arg[4] = width; ++ task->c64x_arg[5] = height; ++ ++ task->c64x_function = C64X_COPY_32 | C64X_FLAG_TODO; ++ ++ c64x_submit_task( c64x, task ); ++} ++ ++static inline void ++davinci_c64x_stretch_32__L( DavinciC64xTasks *tasks, ++ unsigned long dest, ++ u32 dpitch, ++ unsigned long src, ++ u32 spitch, ++ u32 dw, ++ u32 dh, ++ u32 sw, ++ u32 sh, ++ const DFBRegion *clip ) ++{ ++ c64xTask *task = &tasks->tasks[tasks->num_tasks]; ++ ++ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = src; ++ task->c64x_arg[2] = dpitch | (spitch << 16); ++ task->c64x_arg[3] = dh | (dw << 16); ++ task->c64x_arg[4] = sh | (sw << 16); ++ task->c64x_arg[5] = clip->x2 | (clip->y2 << 16); ++ task->c64x_arg[6] = clip->x1 | (clip->y1 << 16); ++ ++ if (sw > dw && sh > dh) ++ task->c64x_function = C64X_STRETCH_32_down | C64X_FLAG_TODO; ++ else ++ task->c64x_function = C64X_STRETCH_32_up | C64X_FLAG_TODO; ++ ++ tasks->num_tasks++; ++} ++ ++static inline void ++davinci_c64x_stretch_32( DavinciC64x *c64x, ++ unsigned long dest, ++ u32 dpitch, ++ unsigned long src, ++ u32 spitch, ++ u32 dw, ++ u32 dh, ++ u32 sw, ++ u32 sh, ++ const DFBRegion *clip ) ++{ ++ c64xTask *task = c64x_get_task( c64x ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = src; ++ task->c64x_arg[2] = dpitch | (spitch << 16); ++ task->c64x_arg[3] = dh | (dw << 16); ++ task->c64x_arg[4] = sh | (sw << 16); ++ task->c64x_arg[5] = clip->x2 | (clip->y2 << 16); ++ task->c64x_arg[6] = clip->x1 | (clip->y1 << 16); ++ ++ if (sw > dw && sh > dh) ++ task->c64x_function = C64X_STRETCH_32_down | C64X_FLAG_TODO; ++ else ++ task->c64x_function = C64X_STRETCH_32_up | C64X_FLAG_TODO; ++ ++ c64x_submit_task( c64x, task ); ++} ++ ++static inline void ++davinci_c64x_blit_blend_32__L( DavinciC64xTasks *tasks, ++ u32 sub_func, ++ unsigned long dest, ++ u32 dpitch, ++ unsigned long src, ++ u32 spitch, ++ u32 width, ++ u32 height, ++ u32 argb, ++ u8 alpha ) ++{ ++ c64xTask *task = &tasks->tasks[tasks->num_tasks]; ++ ++ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = dpitch; ++ task->c64x_arg[2] = src; ++ task->c64x_arg[3] = spitch; ++ task->c64x_arg[4] = width | (height << 16); ++ task->c64x_arg[5] = argb; ++ task->c64x_arg[6] = alpha; ++ ++ task->c64x_function = (sub_func << 16) | C64X_BLEND_32 | C64X_FLAG_TODO; ++ ++ tasks->num_tasks++; ++} ++ ++static inline void ++davinci_c64x_blit_blend_32( DavinciC64x *c64x, ++ u32 sub_func, ++ unsigned long dest, ++ u32 dpitch, ++ unsigned long src, ++ u32 spitch, ++ u32 width, ++ u32 height, ++ u32 argb, ++ u8 alpha ) ++{ ++ c64xTask *task = c64x_get_task( c64x ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = dpitch; ++ task->c64x_arg[2] = src; ++ task->c64x_arg[3] = spitch; ++ task->c64x_arg[4] = width | (height << 16); ++ task->c64x_arg[5] = argb; ++ task->c64x_arg[6] = alpha; ++ ++ task->c64x_function = (sub_func << 16) | C64X_BLEND_32 | C64X_FLAG_TODO; ++ ++ c64x_submit_task( c64x, task ); ++} ++ ++static inline void ++davinci_c64x_blit_keyed_16__L( DavinciC64xTasks *tasks, ++ unsigned long dest, ++ u32 dpitch, ++ unsigned long src, ++ u32 spitch, ++ u32 width, ++ u32 height, ++ u32 key, ++ u32 mask ) ++{ ++ c64xTask *task = &tasks->tasks[tasks->num_tasks]; ++ ++ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = (dpitch << 16) | (spitch & 0xffff); ++ task->c64x_arg[2] = src; ++ task->c64x_arg[3] = width; ++ task->c64x_arg[4] = height; ++ task->c64x_arg[5] = key; ++ task->c64x_arg[6] = mask; ++ ++ task->c64x_function = C64X_COPY_KEYED_16 | C64X_FLAG_TODO; ++ ++ tasks->num_tasks++; ++} ++ ++static inline void ++davinci_c64x_blit_keyed_16( DavinciC64x *c64x, ++ unsigned long dest, ++ u32 dpitch, ++ unsigned long src, ++ u32 spitch, ++ u32 width, ++ u32 height, ++ u32 key, ++ u32 mask ) ++{ ++ c64xTask *task = c64x_get_task( c64x ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = (dpitch << 16) | (spitch & 0xffff); ++ task->c64x_arg[2] = src; ++ task->c64x_arg[3] = width; ++ task->c64x_arg[4] = height; ++ task->c64x_arg[5] = key; ++ task->c64x_arg[6] = mask; ++ ++ task->c64x_function = C64X_COPY_KEYED_16 | C64X_FLAG_TODO; ++ ++ c64x_submit_task( c64x, task ); ++} ++ ++static inline void ++davinci_c64x_blit_keyed_32__L( DavinciC64xTasks *tasks, ++ unsigned long dest, ++ u32 dpitch, ++ unsigned long src, ++ u32 spitch, ++ u32 width, ++ u32 height, ++ u32 key, ++ u32 mask ) ++{ ++ c64xTask *task = &tasks->tasks[tasks->num_tasks]; ++ ++ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = (dpitch << 16) | (spitch & 0xffff); ++ task->c64x_arg[2] = src; ++ task->c64x_arg[3] = width; ++ task->c64x_arg[4] = height; ++ task->c64x_arg[5] = key; ++ task->c64x_arg[6] = mask; ++ ++ task->c64x_function = C64X_COPY_KEYED_32 | C64X_FLAG_TODO; ++ ++ tasks->num_tasks++; ++} ++ ++static inline void ++davinci_c64x_blit_keyed_32( DavinciC64x *c64x, ++ unsigned long dest, ++ u32 dpitch, ++ unsigned long src, ++ u32 spitch, ++ u32 width, ++ u32 height, ++ u32 key, ++ u32 mask ) ++{ ++ c64xTask *task = c64x_get_task( c64x ); ++ ++ task->c64x_arg[0] = dest; ++ task->c64x_arg[1] = (dpitch << 16) | (spitch & 0xffff); ++ task->c64x_arg[2] = src; ++ task->c64x_arg[3] = width; ++ task->c64x_arg[4] = height; ++ task->c64x_arg[5] = key; ++ task->c64x_arg[6] = mask; ++ ++ task->c64x_function = C64X_COPY_KEYED_32 | C64X_FLAG_TODO; ++ ++ c64x_submit_task( c64x, task ); ++} ++ ++#endif ++ +diff -puNr -Naur directfb-1.6.3-orig/gfxdrivers/davinci/davincifb.h directfb-1.6.3/gfxdrivers/davinci/davincifb.h +--- directfb-1.6.3-orig/gfxdrivers/davinci/davincifb.h 1970-01-01 01:00:00.000000000 +0100 ++++ directfb-1.6.3/gfxdrivers/davinci/davincifb.h 2013-04-07 21:33:21.488622184 +0200 +@@ -0,0 +1,581 @@ ++/* ++ * Copyright (C) 2006 Texas Instruments Inc ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option)any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * File: davincifb.h ++ */ ++ ++#ifndef DAVINVI_VPBE_H ++#define DAVINVI_VPBE_H ++ ++/* include Linux files */ ++#include ++ ++/* define the custom FBIO_WAITFORVSYNC ioctl */ ++#define FBIO_WAITFORVSYNC _IOW('F', 0x20, u_int32_t) ++#define FBIO_SETATTRIBUTE _IOW('F', 0x21, struct fb_fillrect) ++ ++/* Backported IOCTLS. */ ++#define FBIO_SETPOSX _IOW('F', 0x22, u_int32_t) ++#define FBIO_SETPOSY _IOW('F', 0x23, u_int32_t) ++#define FBIO_SETZOOM _IOW('F', 0x24, struct zoom_params) ++#define FBIO_GETSTD _IOR('F', 0x25, u_int32_t) ++#define FBIO_RESIZER _IOW('F', 0x26, struct vpfe_resizer_params) ++#define FBIO_SYNC _IOW('F', 0x27, u_int32_t) ++ ++typedef struct zoom_params { ++ u_int32_t window_id; ++ u_int32_t zoom_h; ++ u_int32_t zoom_v; ++} zoom_params_t; ++ ++typedef struct vpfe_resizer_params ++{ ++ u_int32_t rsz_cnt; //busy-lock ++ u_int32_t out_size; //busy-lock ++ u_int32_t in_start; //busy-lock ++ u_int32_t in_size; //busy-lock ++ u_int32_t sdr_inadd; //shadowed ++ u_int32_t sdr_inoff; //shadowed ++ u_int32_t sdr_outadd; //shadowed ++ u_int32_t sdr_outoff; //shadowed ++ u_int32_t hfilt[16]; //busy-lock ++ u_int32_t vfilt[16]; //busy-lock ++ u_int32_t yenh; //busy-lock ++} vpfe_resizer_params_t; ++ ++typedef struct fb_set_start { ++ int offset; /* offset from smem_start */ ++ unsigned long physical; /* absolute physical address when offset < 0 */ ++ ++ u_int64_t sync; /* input: target sync counter for change or 0 for no sync at all, ++ output: sync counter of actual change or 0 if still pending */ ++} fb_set_start_t; ++ ++ ++#ifdef _IOC_TYPECHECK ++#undef _IOC_TYPECHECK ++#define _IOC_TYPECHECK(x) (sizeof(x)) ++#endif ++ ++#define RAM_CLUT_SIZE 256*3 ++#define FBIO_ENABLE_DISABLE_WIN \ ++ _IOW('F', 0x30, unsigned char) ++#define FBIO_SET_BITMAP_BLEND_FACTOR \ ++ _IOW('F', 0x31, vpbe_bitmap_blend_params_t) ++#define FBIO_SET_BITMAP_WIN_RAM_CLUT \ ++ _IOW('F', 0x32, unsigned char)*RAM_CLUT_SIZE) ++#define FBIO_ENABLE_DISABLE_ATTRIBUTE_WIN \ ++ _IOW('F', 0x33, unsigned int) ++#define FBIO_GET_BLINK_INTERVAL \ ++ _IOR('F', 0x34, vpbe_blink_option_t) ++#define FBIO_SET_BLINK_INTERVAL \ ++ _IOW('F', 0x35, vpbe_blink_option_t) ++#define FBIO_GET_VIDEO_CONFIG_PARAMS \ ++ _IOR('F', 0x36, vpbe_video_config_params_t) ++#define FBIO_SET_VIDEO_CONFIG_PARAMS \ ++ _IOW('F', 0x37, vpbe_video_config_params_t) ++#define FBIO_GET_BITMAP_CONFIG_PARAMS \ ++ _IOR('F', 0x38, vpbe_bitmap_config_params_t) ++#define FBIO_SET_BITMAP_CONFIG_PARAMS \ ++ _IOW('F', 0x39, vpbe_bitmap_config_params_t) ++#define FBIO_SET_DCLK \ ++ _IOW('F', 0x40, vpbe_dclk_t) ++#define FBIO_SET_INTERFACE \ ++ _IOW('F', 0x41, unsigned char) ++#define FBIO_GET_INTERFACE \ ++ _IOR('F', 0x42, unsigned char) ++#define FBIO_QUERY_TIMING \ ++ _IOWR('F', 0x43, struct vpbe_mode_info) ++#define FBIO_SET_TIMING \ ++ _IOW('F', 0x44, struct vpbe_fb_videomode) ++#define FBIO_GET_TIMING \ ++ _IOR('F', 0x45, struct vpbe_fb_videomode) ++#define FBIO_SET_VENC_CLK_SOURCE \ ++ _IOW('F', 0x46, unsigned char) ++#define FBIO_SET_BACKG_COLOR \ ++ _IOW('F', 0x47, vpbe_backg_color_t) ++#define FBIO_ENABLE_DISPLAY \ ++ _IOW('F', 0x48, unsigned char) ++#define FBIO_SETPOS \ ++ _IOW('F', 0x49, u_int32_t) ++#define FBIO_SET_CURSOR \ ++ _IOW('F', 0x50, struct fb_cursor) ++#define FBIO_SET_START \ ++ _IOW('F', 0x66, struct fb_set_start) ++ ++/* ++ * Defines and Constants ++ */ ++#ifdef __KERNEL__ ++#define DAVINCIFB_DEVICE "davincifb" ++#define DAVINCIFB_DRIVER "davincifb" ++ ++#define MULTIPLE_BUFFERING 1 ++ ++#ifdef MULTIPLE_BUFFERING ++#define DOUBLE_BUF 2 ++#define TRIPLE_BUF 3 ++#else ++#define DOUBLE_BUF 1 ++#define TRIPLE_BUF 1 ++#endif ++ ++/* usage: if (is_win(info->fix.id, OSD0)) ... */ ++#define is_win(name, x) ((strcmp(name, x ## _FBNAME) == 0) ? 1 : 0) ++ ++/* ++ * display controller register I/O routines ++ */ ++u32 dispc_reg_in(u32 offset); ++u32 dispc_reg_out(u32 offset, u32 val); ++u32 dispc_reg_merge(u32 offset, u32 val, u32 mask); ++ ++#endif /*__KERNEL__*/ ++ ++/* Error return codes */ ++#define VPBE_INVALID_PARA_VALUE 700 ++#define VPBE_WRONG_WINDOW_ID 701 ++#define VPBE_CURRENTLY_IN_REQUIRED_MODE 702 ++#define VPBE_INSUFFICIENT_CLUT_VALUES 703 ++#define VPBE_CLUT_WRITE_TIMEOUT 704 ++#define VPBE_VID0_BUF_ADR_NULL 705 ++#define VPBE_WINDOW_NOT_DISABLED 706 ++#define VPBE_WINDOW_NOT_ENABLED 707 ++ ++#ifndef __KERNEL__ ++/* Window ID definations */ ++#define OSD0 0 ++#define VID0 1 ++#define OSD1 2 ++#define VID1 3 ++#endif ++ ++/* There are 4 framebuffers, each represented by an fb_info and ++ * a dm_win_info structure */ ++#define OSD0_FBNAME "dm_osd0_fb" ++#define OSD1_FBNAME "dm_osd1_fb" ++#define VID0_FBNAME "dm_vid0_fb" ++#define VID1_FBNAME "dm_vid1_fb" ++ ++/* FIXME: Digital LCD RGB matrix coefficients */ ++#define DLCD_DGY_VAL 0 ++#define DLCD_DRV_VAL 0 ++#define DLCD_DGU_VAL 0 ++#define DLCD_DBU_VAL 0 ++ ++/* Defines for bitmap format */ ++#define VPBE_BITMAP_BIT_1 1 ++#define VPBE_BITMAP_BIT_2 2 ++#define VPBE_BITMAP_BIT_4 4 ++#define VPBE_BITMAP_BIT_8 8 ++#define VPBE_BITMAP_RGB565 16 ++#define VPBE_VIDEO_YUV422 16 ++#define VPBE_VIDEO_RGB888 24 ++ ++/* Defines foe cursor parameter validation*/ ++#define MAX_CURSOR_WIDTH 0x3FF ++#define MAX_CURSOR_HEIGHT 0x1FF ++#define MAX_CURSOR_LINEWIDTH 7 ++ ++#define BASEX 0x80 ++#define BASEY 0x12 ++#define BASEX_DLCD 0x59 ++#define BASEY_DLCD 0x22 ++ ++/* ++ * Enumerations ++ */ ++/* Enum for blending factor */ ++typedef enum vpbe_blend_factor { ++ OSD_CONTRIBUTION_ZERO = 0, ++ OSD_CONTRIBUTION_1_BY_8 = 1, ++ OSD_CONTRIBUTION_2_BY_8 = 2, ++ OSD_CONTRIBUTION_3_BY_8 = 3, ++ OSD_CONTRIBUTION_4_BY_8 = 4, ++ OSD_CONTRIBUTION_5_BY_8 = 5, ++ OSD_CONTRIBUTION_6_BY_8 = 6, ++ OSD_CONTRIBUTION_ONE = 7 ++} vpbe_blend_factor_t; ++ ++/* Enum for Boolean variables */ ++typedef enum { ++ SET_0 = 0, ++ SET_1 = 1 ++} CB_CR_ORDER, ATTRIBUTE, ROM_RAM_CLUT; ++ ++/* Defines for Display Interface */ ++#define PRGB 0 ++#define COMPOSITE 1 ++#define SVIDEO 2 ++#define COMPONENT 3 ++#define RGB 4 ++#define YCC16 5 ++#define YCC8 6 ++#define SRGB 7 ++#define EPSON 8 ++#define CASIO1G 9 ++#define UDISP 10 ++#define STN 11 ++#define VPBE_MAX_INTERFACES 12 ++ ++/* Defines for Display Mode */ ++#define LCD 0 ++#define NTSC 1 ++#define PAL 2 ++#define P525 3 ++#define P625 4 ++ ++#define DEFAULT_MODE 0 ++#define P480 0 ++#define P400 1 ++#define P350 2 ++#define NON_EXISTING_MODE 255 ++/* Enable/Disable enum */ ++typedef enum { ++ VPBE_DISABLE = 0, ++ VPBE_ENABLE = 1 ++} ATTENUATION, TRANSPARENCY, EXPANSION, BLINKING; ++ ++typedef enum clk_source { ++ CLK_SOURCE_CLK27 = 0, ++ CLK_SOURCE_CLK54 = 1, ++ CLK_SOURCE_VPBECLK = 2 ++} CLK_SOURCE; ++ ++/* ++ * Structures and Union Definitions ++ */ ++ ++/* Structure for transparency and the blending factor for the bitmap window */ ++typedef struct vpbe_bitmap_blend_params { ++ unsigned int colorkey; /* color key to be blend */ ++ unsigned int enable_colorkeying; /* enable color keying */ ++ unsigned int bf; /* valid range from 0 to 7 only. */ ++} vpbe_bitmap_blend_params_t; ++ ++/* Structure for window expansion */ ++typedef struct vpbe_win_expansion { ++ EXPANSION horizontal; ++ EXPANSION vertical; /* 1: Enable 0:disable */ ++} vpbe_win_expansion_t; ++ ++/* Structure for OSD window blinking options */ ++typedef struct vpbe_blink_option { ++ BLINKING blinking; /* 1: Enable blinking 0: Disable */ ++ unsigned int interval; /* Valid only if blinking is 1 */ ++} vpbe_blink_option_t; ++ ++/* Structure for DCLK parameters */ ++typedef struct vpbe_dclk { ++ unsigned char dclk_pattern_width; ++ unsigned int dclk_pattern0; ++ unsigned int dclk_pattern1; ++ unsigned int dclk_pattern2; ++ unsigned int dclk_pattern3; ++} vpbe_dclk_t; ++ ++/* Structure for display format */ ++typedef struct vpbe_display_format { ++ unsigned char interface; /* Output interface type */ ++ unsigned char mode; /* output mode */ ++} vpbe_display_format_t; ++ ++/* Structure for background color */ ++typedef struct vpbe_backg_color { ++ unsigned char clut_select; /* 2: RAM CLUT 1:ROM1 CLUT 0:ROM0 CLUT */ ++ unsigned char color_offset; /* index of color */ ++} vpbe_backg_color_t; ++ ++/* Structure for Video window configurable parameters */ ++typedef struct vpbe_video_config_params { ++ CB_CR_ORDER cb_cr_order; /*Cb/Cr order in input data for a pixel. */ ++ /* 0: cb cr 1: cr cb */ ++ vpbe_win_expansion_t exp_info; /* HZ/VT Expansion enable disable */ ++} vpbe_video_config_params_t; ++ ++/*Union of structures giving the CLUT index for the 1, 2, 4 bit bitmap values.*/ ++typedef union vpbe_clut_idx { ++ struct _for_4bit_bimap { ++ unsigned char bitmap_val_0; ++ unsigned char bitmap_val_1; ++ unsigned char bitmap_val_2; ++ unsigned char bitmap_val_3; ++ unsigned char bitmap_val_4; ++ unsigned char bitmap_val_5; ++ unsigned char bitmap_val_6; ++ unsigned char bitmap_val_7; ++ unsigned char bitmap_val_8; ++ unsigned char bitmap_val_9; ++ unsigned char bitmap_val_10; ++ unsigned char bitmap_val_11; ++ unsigned char bitmap_val_12; ++ unsigned char bitmap_val_13; ++ unsigned char bitmap_val_14; ++ unsigned char bitmap_val_15; ++ } for_4bit_bimap; ++ struct _for_2bit_bimap { ++ unsigned char bitmap_val_0; ++ unsigned char dummy0[4]; ++ unsigned char bitmap_val_1; ++ unsigned char dummy1[4]; ++ unsigned char bitmap_val_2; ++ unsigned char dummy2[4]; ++ unsigned char bitmap_val_3; ++ } for_2bit_bimap; ++ struct _for_1bit_bimap { ++ unsigned char bitmap_val_0; ++ unsigned char dummy0[14]; ++ unsigned char bitmap_val_1; ++ } for_1bit_bimap; ++} vpbe_clut_idx_t; ++ ++/* Structure for bitmap window configurable parameters */ ++typedef struct vpbe_bitmap_config_params { ++ /* Only for bitmap width = 1,2,4 bits */ ++ vpbe_clut_idx_t clut_idx; ++ /* Attenuation value for YUV o/p for bitmap window */ ++ unsigned char attenuation_enable; ++ /* 0: ROM DM270, 1:ROM DM320, 2:RAM CLUT */ ++ unsigned char clut_select; ++} vpbe_bitmap_config_params_t; ++ ++/* Unioun for video/OSD configuration parameters */ ++typedef union vpbe_conf_params { ++ ++ struct vpbe_video_params { ++ CB_CR_ORDER cb_cr_order; ++ /* HZ/VT Expansion enable disable */ ++ vpbe_win_expansion_t exp_info; ++ } video_params; ++ ++ struct vpbe_bitmap_params { ++ /* Attenuation value for YUV o/p */ ++ ATTENUATION attenuation_enable; ++ /* 0: ROM DM270, 1: ROM DM320, 2:RAM CLUT */ ++ unsigned char clut_select; ++ /* Only for bitmap width = 1,2,4 bits */ ++ vpbe_clut_idx_t clut_idx; ++ /* 0: OSD window is bitmap window */ ++ /* 1: OSD window is attribute window */ ++ ATTRIBUTE enable_attribute; ++ /* To hold bps value. ++ Used to switch back from attribute to bitmap. */ ++ unsigned int stored_bits_per_pixel; ++ /* Blending information */ ++ vpbe_bitmap_blend_params_t blend_info; ++ /* OSD Blinking information */ ++ vpbe_blink_option_t blink_info; ++ } bitmap_params; ++ ++} vpbe_conf_params_t; ++ ++typedef struct vpbe_video_params vpbe_video_params_t; ++typedef struct vpbe_bitmap_params vpbe_bitmap_params_t; ++ ++/* Structure to hold window position */ ++typedef struct vpbe_window_position { ++ unsigned int xpos; /* X position of the window */ ++ unsigned int ypos; /* Y position of the window */ ++} vpbe_window_position_t; ++ ++#ifdef __KERNEL__ ++/* Structure for each window */ ++typedef struct vpbe_dm_win_info { ++ struct fb_info info; ++ vpbe_window_position_t win_pos; /* X,Y position of window */ ++ /* Size of window is already there in var_info structure. */ ++ ++ dma_addr_t fb_base_phys; /*framebuffer area */ ++ unsigned int fb_base; /*window memory pointer */ ++ unsigned int fb_size; /*memory size */ ++ unsigned int pseudo_palette[17]; ++ int alloc_fb_mem; ++ /*flag to identify if framebuffer area is fixed or not */ ++ unsigned long sdram_address; ++ struct vpbe_dm_info *dm; ++ unsigned char window_enable; /*Additions for all windows */ ++ zoom_params_t zoom; /*Zooming parameters */ ++ unsigned char field_frame_select; /*To select Field or frame */ ++ unsigned char numbufs; /*Number of buffers valid 2 or 3 */ ++ vpbe_conf_params_t conf_params; ++ /*window configuration parameter union pointer */ ++} vpbe_dm_win_info_t; ++#endif /*__KERNEL__*/ ++ ++/* ++ * Videmode structure for display interface and mode settings ++ */ ++typedef struct vpbe_fb_videomode { ++ unsigned char name[10]; /* Mode name ( NTSC , PAL) */ ++ unsigned int vmode; /* FB_MODE_INTERLACED or FB_MODE_NON_INTERLACED */ ++ unsigned int xres; /* X Resolution of the display */ ++ unsigned int yres; /* Y Resolution of the display */ ++ unsigned int fps; /* frames per second */ ++ /* Timing Parameters applicable for std = 0 only */ ++ unsigned int left_margin; ++ unsigned int right_margin; ++ unsigned int upper_margin; ++ unsigned int lower_margin; ++ unsigned int hsync_len; ++ unsigned int vsync_len; ++ unsigned int sync; /* 0: hsync -ve/vsync -ve */ ++ /*1: hsync -ve/vsync +ve */ ++ /*2: hsync +ve/vsync -ve */ ++ /*3: hsync +ve/vsync +ve */ ++ unsigned int basepx; /* Display x,y start position */ ++ unsigned int basepy; ++/* 1= Mode s available in modelist 0=Mode is not available in modelist */ ++ unsigned int std; ++} vpbe_fb_videomode_t; ++ ++/* Structure to interface videomode to application*/ ++typedef struct vpbe_mode_info { ++ vpbe_fb_videomode_t vid_mode; ++ unsigned char interface; ++ unsigned char mode_idx; ++} vpbe_mode_info_t; ++ ++#ifdef __KERNEL__ ++/* ++ * Structure for the driver holding information of windows, ++ * memory base addresses etc. ++ */ ++typedef struct vpbe_dm_info { ++ vpbe_dm_win_info_t *osd0; ++ vpbe_dm_win_info_t *osd1; ++ vpbe_dm_win_info_t *vid0; ++ vpbe_dm_win_info_t *vid1; ++ ++/* to map the registers */ ++ dma_addr_t mmio_base_phys; ++ unsigned int mmio_base; ++ unsigned int mmio_size; ++ ++ wait_queue_head_t vsync_wait; ++ unsigned int vsync_cnt; ++ int timeout; ++ ++ /* this is the function that configures the output device (NTSC/PAL/LCD) ++ * for the required output format (composite/s-video/component/rgb) ++ */ ++ void (*output_device_config) (void); ++ ++ struct device *dev; ++ ++ vpbe_backg_color_t backg; /* background color */ ++ vpbe_dclk_t dclk; /*DCLK parameters */ ++ vpbe_display_format_t display; /*Display interface and mode */ ++ vpbe_fb_videomode_t videomode; /*Cuurent videomode */ ++ char ram_clut[256][3]; /*RAM CLUT array */ ++ struct fb_cursor cursor; /* cursor config params from fb.h */ ++/*Flag that indicates whether any of the display is enabled or not*/ ++ int display_enable; ++} vpbe_dm_info_t; ++ ++/* ++ * Functions Definitions for 'davincifb' module ++ */ ++int vpbe_mem_alloc_window_buf(vpbe_dm_win_info_t *); ++int vpbe_mem_release_window_buf(vpbe_dm_win_info_t *); ++void init_display_function(vpbe_display_format_t *); ++int vpbe_mem_alloc_struct(vpbe_dm_win_info_t **); ++void set_vid0_default_conf(void); ++void set_vid1_default_conf(void); ++void set_osd0_default_conf(void); ++void set_osd1_default_conf(void); ++void set_cursor_default_conf(void); ++void set_dm_default_conf(void); ++void set_win_enable(char *, unsigned int); ++int within_vid0_limits(u32, u32, u32, u32); ++void vpbe_set_display_default(void); ++#ifdef __KERNEL__ ++void set_win_position(char *, u32, u32, u32, u32); ++void change_win_param(int); ++void set_interlaced(char *, unsigned int); ++#endif /* __KERNEL__ */ ++ ++/* ++ * Function definations for 'osd' module ++ */ ++ ++int vpbe_enable_window(vpbe_dm_win_info_t *); ++int vpbe_disable_window(vpbe_dm_win_info_t *); ++int vpbe_vid_osd_select_field_frame(u8 *, u8); ++int vpbe_bitmap_set_blend_factor(u8 *, vpbe_bitmap_blend_params_t *); ++int vpbe_bitmap_set_ram_clut(void); ++int vpbe_enable_disable_attribute_window(u32); ++int vpbe_get_blinking(u8 *, vpbe_blink_option_t *); ++int vpbe_set_blinking(u8 *, vpbe_blink_option_t *); ++int vpbe_set_vid_params(u8 *, vpbe_video_config_params_t *); ++int vpbe_get_vid_params(u8 *, vpbe_video_config_params_t *); ++int vpbe_bitmap_get_params(u8 *, vpbe_bitmap_config_params_t *); ++int vpbe_bitmap_set_params(u8 *, vpbe_bitmap_config_params_t *); ++int vpbe_set_cursor_params(struct fb_cursor *); ++int vpbe_set_vid_expansion(vpbe_win_expansion_t *); ++int vpbe_set_dclk(vpbe_dclk_t *); ++int vpbe_set_display_format(vpbe_display_format_t *); ++int vpbe_set_backg_color(vpbe_backg_color_t *); ++int vpbe_set_interface(u8); ++int vpbe_query_mode(vpbe_mode_info_t *); ++int vpbe_set_mode(struct vpbe_fb_videomode *); ++int vpbe_set_venc_clk_source(u8); ++void set_vid0_default_conf(void); ++void set_osd0_default_conf(void); ++void set_vid1_default_conf(void); ++void set_osd1_default_conf(void); ++void set_cursor_default_conf(void); ++void set_dm_default_conf(void); ++/* ++ * Function definations for 'venc' module ++ */ ++ ++void davincifb_ntsc_composite_config(void); ++void davincifb_ntsc_svideo_config(void); ++void davincifb_ntsc_component_config(void); ++void davincifb_pal_composite_config(void); ++void davincifb_pal_svideo_config(void); ++void davincifb_pal_component_config(void); ++ ++void vpbe_davincifb_ntsc_rgb_config(void); ++void vpbe_davincifb_pal_rgb_config(void); ++void vpbe_davincifb_525p_component_config(void); ++void vpbe_davincifb_625p_component_config(void); ++ ++void vpbe_enable_venc(int); ++void vpbe_enable_dacs(int); ++/* ++ * Function definations for 'dlcd' module ++ */ ++void vpbe_davincifb_480p_prgb_config(void); ++void vpbe_davincifb_400p_prgb_config(void); ++void vpbe_davincifb_350p_prgb_config(void); ++void vpbe_set_display_timing(struct vpbe_fb_videomode *); ++ ++void vpbe_enable_lcd(int); ++/* ++ * Following functions are not implemented ++ */ ++void vpbe_davincifb_default_ycc16_config(void); ++void vpbe_davincifb_default_ycc8_config(void); ++void vpbe_davincifb_default_srgb_config(void); ++void vpbe_davincifb_default_epson_config(void); ++void vpbe_davincifb_default_casio_config(void); ++void vpbe_davincifb_default_UDISP_config(void); ++void vpbe_davincifb_default_STN_config(void); ++#endif /*__KERNEL__*/ ++ ++#endif /* End of #ifndef DAVINCI_VPBE_H */ +diff -puNr -Naur directfb-1.6.3-orig/gfxdrivers/davinci/davinci_gfxdriver.h directfb-1.6.3/gfxdrivers/davinci/davinci_gfxdriver.h +--- directfb-1.6.3-orig/gfxdrivers/davinci/davinci_gfxdriver.h 1970-01-01 01:00:00.000000000 +0100 ++++ directfb-1.6.3/gfxdrivers/davinci/davinci_gfxdriver.h 2013-04-07 21:33:19.560662133 +0200 +@@ -0,0 +1,169 @@ ++/* ++ TI Davinci driver - Graphics Driver ++ ++ (c) Copyright 2007 Telio AG ++ ++ Written by Denis Oliver Kropp ++ ++ Code is derived from VMWare driver. ++ ++ (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org) ++ (c) Copyright 2000-2004 Convergence (integrated media) GmbH ++ ++ All rights reserved. ++ ++ This library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2 of the License, or (at your option) any later version. ++ ++ This library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with this library; if not, write to the ++ Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++ Boston, MA 02111-1307, USA. ++*/ ++ ++#ifndef __DAVINCI_GFXDRIVER_H__ ++#define __DAVINCI_GFXDRIVER_H__ ++ ++#include ++#include ++ ++#include ++ ++#include "davincifb.h" ++ ++#include "davinci_c64x.h" ++ ++ ++typedef struct { ++ /* validation flags */ ++ int v_flags; ++ ++ /* cached/computed values */ ++ void *dst_addr; ++ unsigned long dst_phys; ++ unsigned int dst_size; ++ unsigned long dst_pitch; ++ DFBSurfacePixelFormat dst_format; ++ unsigned long dst_bpp; ++ ++ void *src_addr; ++ unsigned long src_phys; ++ unsigned long src_pitch; ++ DFBSurfacePixelFormat src_format; ++ unsigned long src_bpp; ++ ++ unsigned long source_mult; ++ ++ unsigned long fillcolor; ++ ++ int blit_blend_sub_function; ++ int draw_blend_sub_function; ++ ++ DFBColor color; ++ unsigned long color_argb; ++ unsigned long colorkey; ++ ++ DFBSurfaceBlittingFlags blitting_flags; ++ ++ DFBRegion clip; ++ ++ /** Add shared data here... **/ ++ struct fb_fix_screeninfo fix[4]; ++ ++ CoreSurfacePool *osd_pool; ++ CoreSurfacePool *video_pool; ++ ++ bool synced; ++} DavinciDeviceData; ++ ++ ++typedef struct { ++ int num; ++ int fd; ++ void *mem; ++ int size; ++} DavinciFB; ++ ++typedef struct { ++ DavinciDeviceData *ddev; ++ ++ CoreDFB *core; ++ ++ CoreScreen *screen; ++ CoreLayer *osd; ++ CoreLayer *video; ++ ++ DavinciFB fb[4]; ++ ++ DavinciC64x c64x; ++ bool c64x_present; ++ ++ DavinciC64xTasks tasks; ++} DavinciDriverData; ++ ++ ++static inline DFBResult ++davincifb_pan_display( const DavinciFB *fb, ++ struct fb_var_screeninfo *var, ++ const CoreSurfaceBufferLock *lock, ++ DFBSurfaceFlipFlags flags, ++ int x, ++ int y ) ++{ ++ int ret; ++ ++ if (lock) { ++#ifdef FBIO_SET_START ++ CoreSurfaceBuffer *buffer = lock->buffer; ++ struct fb_set_start set_start; ++ ++ /* physical mode */ ++ set_start.offset = -1; ++ set_start.sync = (flags & DSFLIP_ONSYNC) ? 1 : 0; ++ ++ /* life's so easy */ ++ set_start.physical = lock->phys + DFB_BYTES_PER_LINE( buffer->format, x ) + y * lock->pitch; ++ ++ ret = ioctl( fb->fd, FBIO_SET_START, &set_start ); ++ if (ret < 0) ++ D_DEBUG( "FBIO_SET_START (0x%08lx, sync %llu) failed!\n", ++ set_start.physical, set_start.sync ); ++ ++ if (ret == 0) { ++ if (flags & DSFLIP_WAIT) ++ ioctl( fb->fd, FBIO_WAITFORVSYNC ); ++ ++ return DFB_OK; ++ } ++ ++ /* fallback */ ++#endif ++ var->xoffset = x; /* poor version */ ++ var->yoffset = y + lock->offset / lock->pitch; ++ } ++ else { ++ var->xoffset = x; ++ var->yoffset = y; ++ } ++ ++ var->activate = /*(flags & DSFLIP_ONSYNC) ? FB_ACTIVATE_VBL :*/ FB_ACTIVATE_NOW; ++ ++ ret = ioctl( fb->fd, FBIOPAN_DISPLAY, var ); ++ if (ret) ++ D_PERROR( "Davinci/FB: FBIOPAN_DISPLAY (fb%d - %d,%d) failed!\n", ++ fb->num, var->xoffset, var->yoffset ); ++ ++ if (flags & DSFLIP_WAIT) ++ ioctl( fb->fd, FBIO_WAITFORVSYNC ); ++ ++ return DFB_OK; ++} ++ ++#endif +diff -puNr -Naur directfb-1.6.3-orig/tests/voodoo/voodoo_test.h directfb-1.6.3/tests/voodoo/voodoo_test.h +--- directfb-1.6.3-orig/tests/voodoo/voodoo_test.h 1970-01-01 01:00:00.000000000 +0100 ++++ directfb-1.6.3/tests/voodoo/voodoo_test.h 2013-04-07 21:33:31.824408024 +0200 +@@ -0,0 +1,10 @@ ++#ifndef __VOODOO_TEST_H__ ++#define __VOODOO_TEST_H__ ++ ++typedef enum { ++ VOODOO_TEST_INCREASE, ++ VOODOO_TEST_QUERY ++} VoodooTestCall; ++ ++#endif ++ diff --git a/package/directfb/0002-imlib2-config.patch b/package/directfb/0002-imlib2-config.patch new file mode 100644 index 0000000000..1203475b30 --- /dev/null +++ b/package/directfb/0002-imlib2-config.patch @@ -0,0 +1,21 @@ +Call the imlib2-conf variable that are set by ac_cv_path_IMLIB2_CONFIG +with the absolute path because the imlib2-config file is not covered +by the PATH variable. +This is important for cross compiler that need to get the staging settings +instead of the host settings. + +Signed-off-by: Carsten Schoenert + +--- directfb-1.6.3/configure.orig 2013-03-31 13:18:22.837560379 +0200 ++++ directfb-1.6.3/configure 2013-03-31 13:23:40.177541099 +0200 +@@ -19816,8 +19816,8 @@ fi + $as_echo "$as_me: WARNING: *** Imlib2 library not found, building without Imlib2 support ***" >&2;} + imlib2="no" + else +- IMLIB2_CFLAGS=`imlib2-config --cflags` +- IMLIB2_LIBS=`imlib2-config --libs` ++ IMLIB2_CFLAGS=`$IMLIB2_CONFIG --cflags` ++ IMLIB2_LIBS=`$IMLIB2_CONFIG --libs` + imlib2="yes" + fi + fi diff --git a/package/directfb/0003-remove-redefinition-of-__typeof__.patch b/package/directfb/0003-remove-redefinition-of-__typeof__.patch new file mode 100644 index 0000000000..e3861af97c --- /dev/null +++ b/package/directfb/0003-remove-redefinition-of-__typeof__.patch @@ -0,0 +1,28 @@ +Remove definition to fix qt5 build. + +Fetch from: http://git.directfb.org/?p=core/DirectFB.git;a=patch;h=203f78a4193a8ff110dec3c860e0928af1a0a72f + +From 203f78a4193a8ff110dec3c860e0928af1a0a72f Mon Sep 17 00:00:00 2001 +From: Denis Oliver Kropp +Date: Wed, 31 Jul 2013 21:56:05 +0200 +Subject: [PATCH] libdirect: Remove redefinition of __typeof__!!! + +--- + lib/direct/os/linux/glibc/types.h | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/lib/direct/os/linux/glibc/types.h b/lib/direct/os/linux/glibc/types.h +index 08e94b2..80cb350 100644 +--- a/lib/direct/os/linux/glibc/types.h ++++ b/lib/direct/os/linux/glibc/types.h +@@ -81,7 +81,6 @@ typedef int64_t s64; + #define __dfb_no_instrument_function__ __attribute__((no_instrument_function)) + #define __constructor__ __attribute__((constructor)) + #define __destructor__ __attribute__((destructor)) +-#define __typeof__(x) __typeof__(x) + + #ifndef __func__ + #define __func__ __FUNCTION__ +-- +1.7.9.5 + diff --git a/package/directfb/0004-setregion-lock.patch b/package/directfb/0004-setregion-lock.patch new file mode 100644 index 0000000000..8a246ea057 --- /dev/null +++ b/package/directfb/0004-setregion-lock.patch @@ -0,0 +1,92 @@ +This patch fixes builderrors while using '--with-gfxdrivers' and +'--with-inputdrivers' with the current DirectFB version 1.6.3. + +Patch is taken from +http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/DirectFB/files/DirectFB-1.6.3-setregion.patch + +Signed-off-by: Carsten Schoenert + +--- directfb-1.6.3/gfxdrivers/cyber5k/cyber5k.c ++++ directfb-1.6.3/gfxdrivers/cyber5k/cyber5k.c +@@ -636,7 +636,8 @@ osdSetRegion( CoreLayer + CoreLayerRegionConfigFlags updated, + CoreSurface *surface, + CorePalette *palette, +- CoreSurfaceBufferLock *lock ) ++ CoreSurfaceBufferLock *left_lock, ++ CoreSurfaceBufferLock *right_lock ) + { + DFBResult ret; + +@@ -644,7 +645,7 @@ osdSetRegion( CoreLayer + ret = oldPrimaryFuncs.SetRegion( layer, oldPrimaryDriverData, + layer_data, region_data, + config, updated, surface, +- palette, lock ); ++ palette, left_lock, right_lock ); + if (ret) + return ret; + +--- directfb-1.6.3/gfxdrivers/radeon/radeon_crtc1.c ++++ directfb-1.6.3/gfxdrivers/radeon/radeon_crtc1.c +@@ -147,14 +147,15 @@ crtc1SetRegion( CoreLayer + CoreLayerRegionConfigFlags updated, + CoreSurface *surface, + CorePalette *palette, +- CoreSurfaceBufferLock *lock ) ++ CoreSurfaceBufferLock *left_lock, ++ CoreSurfaceBufferLock *right_lock ) + { + + if (updated & ~CLRCF_OPTIONS) { + return OldPrimaryLayerFuncs.SetRegion( layer, + OldPrimaryLayerDriverData, + layer_data, region_data, +- config, updated, surface, palette, lock ); ++ config, updated, surface, palette, left_lock, right_lock ); + } + + return DFB_OK; +--- directfb-1.6.3/gfxdrivers/cle266/uc_primary.c ++++ directfb-1.6.3/gfxdrivers/cle266/uc_primary.c +@@ -138,7 +138,8 @@ osdSetRegion( CoreLayer + CoreLayerRegionConfigFlags updated, + CoreSurface *surface, + CorePalette *palette, +- CoreSurfaceBufferLock *lock ) ++ CoreSurfaceBufferLock *left_lock, ++ CoreSurfaceBufferLock *right_lock ) + { + DFBResult ret; + UcDriverData *ucdrv = (UcDriverData*) driver_data; +@@ -147,7 +148,7 @@ osdSetRegion( CoreLayer + ret = ucOldPrimaryFuncs.SetRegion( layer, ucOldPrimaryDriverData, + layer_data, region_data, + config, updated, surface, +- palette, lock ); ++ palette, left_lock, right_lock ); + if (ret) + return ret; + +--- directfb-1.6.3/gfxdrivers/unichrome/uc_primary.c ++++ directfb-1.6.3/gfxdrivers/unichrome/uc_primary.c +@@ -135,7 +135,8 @@ osdSetRegion( CoreLayer + CoreLayerRegionConfigFlags updated, + CoreSurface *surface, + CorePalette *palette, +- CoreSurfaceBufferLock *lock ) ++ CoreSurfaceBufferLock *left_lock, ++ CoreSurfaceBufferLock *right_lock ) + { + DFBResult ret; + UcDriverData *ucdrv = (UcDriverData*) driver_data; +@@ -144,7 +145,7 @@ osdSetRegion( CoreLayer + ret = ucOldPrimaryFuncs.SetRegion( layer, ucOldPrimaryDriverData, + layer_data, region_data, + config, updated, surface, +- palette, lock ); ++ palette, left_lock, right_lock ); + if (ret) + return ret; + + diff --git a/package/directfb/0005-use-gcc-link.patch b/package/directfb/0005-use-gcc-link.patch new file mode 100644 index 0000000000..ec6c0ea501 --- /dev/null +++ b/package/directfb/0005-use-gcc-link.patch @@ -0,0 +1,35 @@ +Add patch to use 'gcc' instead of 'ld' for linking + +The patch has been sent upstream but it has not been merged yet + +Signed-off-by: Markos Chandras + +From 176ce06b40897a357fe76a558af517197325f188 Mon Sep 17 00:00:00 2001 +From: Markos Chandras +Date: Wed, 28 Aug 2013 10:56:32 +0100 +Subject: [PATCH] rules/libobject.make: Use gcc for linking + +Invoking 'ld' directly may miss some necessary linker flags which +are usually passed by gcc. Therefore, use gcc for linking. + +Signed-off-by: Markos Chandras +--- + rules/libobject.make | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/rules/libobject.make b/rules/libobject.make +index bc670da..2cba658 100644 +--- a/rules/libobject.make ++++ b/rules/libobject.make +@@ -3,7 +3,7 @@ + if test -d $<.tmp; then rmdir $<.tmp; fi + mkdir $<.tmp + (cd $<.tmp && $(AR) x ../../$<) +- $(LD) -o $@ -r $<.tmp/*.o ++ $(CC) -nostdlib -o $@ -r $<.tmp/*.o + rm -f $<.tmp/*.o && rmdir $<.tmp + + .PHONY: $(LTLIBRARIES:%.la=.libs/%.a) +-- +1.8.3.2 + diff --git a/package/directfb/directfb-fix-missing-davinci-voodoo-header.patch b/package/directfb/directfb-fix-missing-davinci-voodoo-header.patch deleted file mode 100644 index 6ad4958f84..0000000000 --- a/package/directfb/directfb-fix-missing-davinci-voodoo-header.patch +++ /dev/null @@ -1,1726 +0,0 @@ -The archive of directfb-1.6.3 is still missing some header files against -the tagged git tree of directfb. The following files are missing. - -gfxdrivers/davinci/davinci_c64x.h -gfxdrivers/davinci/davincifb.h -gfxdrivers/davinci/davinci_gfxdriver.h -tests/voodoo/voodoo_test.h - -The headers of course are needed to be able to build every module of -directfb. The headers are taken from the git tree of directfb -http://git.directfb.org/?p=core/DirectFB.git;a=commit;h=38b784549bc59bb07c58bb29667cb658695d39a7, -tag DIRECTFB_1_6_3, SHA1ID 38b784549bc59bb07c58bb29667cb658695d39a7. - -Signed-off-by: Carsten Schoenert - -diff -puNr -Naur directfb-1.6.3-orig/gfxdrivers/davinci/davinci_c64x.h directfb-1.6.3/gfxdrivers/davinci/davinci_c64x.h ---- directfb-1.6.3-orig/gfxdrivers/davinci/davinci_c64x.h 1970-01-01 01:00:00.000000000 +0100 -+++ directfb-1.6.3/gfxdrivers/davinci/davinci_c64x.h 2013-04-07 21:33:25.928530187 +0200 -@@ -0,0 +1,935 @@ -+/* -+ TI Davinci driver - C64X+ DSP Library -+ -+ (c) Copyright 2008 directfb.org -+ (c) Copyright 2007 Telio AG -+ -+ Written by Denis Oliver Kropp and -+ Olaf Dreesen . -+ -+ All rights reserved. -+ -+ This library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU General Public License -+ version 2 as published by the Free Software Foundation. -+ -+ This library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ General Public License for more details. -+ -+ You should have received a copy of the GNU General Public -+ License along with this library; if not, write to the -+ Free Software Foundation, Inc., 59 Temple Place - Suite 330, -+ Boston, MA 02111-1307, USA. -+*/ -+ -+#ifndef __DAVINCI_C64X_H__ -+#define __DAVINCI_C64X_H__ -+ -+#include -+ -+#include -+ -+#include -+#include -+ -+#include -+ -+#define mb() __asm__ __volatile__ ("" : : : "memory") -+ -+/**********************************************************************************************************************/ -+ -+typedef struct { -+ int magic; -+ -+ int fd; -+ c64xTaskControl *ctl; -+ void *mem; -+ -+ c64xTask *QueueL; -+} DavinciC64x; -+ -+typedef struct { -+ int magic; -+ unsigned int max_tasks; -+ unsigned int num_tasks; -+ c64xTask *tasks; -+} DavinciC64xTasks; -+ -+typedef enum { -+ C64X_TEF_NONE = 0x0000, -+ C64X_TEF_RESET = 0x0001 -+} DavinciC64xEmitFlags; -+ -+/**********************************************************************************************************************/ -+ -+DFBResult davinci_c64x_open ( DavinciC64x *c64x ); -+ -+DFBResult davinci_c64x_close ( DavinciC64x *c64x ); -+ -+DFBResult davinci_c64x_wait_low( DavinciC64x *c64x ); -+ -+/**********************************************************************************************************************/ -+ -+DFBResult davinci_c64x_tasks_init ( DavinciC64xTasks *tasks, -+ unsigned int size ); -+ -+DFBResult davinci_c64x_tasks_destroy( DavinciC64xTasks *tasks ); -+ -+/**********************************************************************************************************************/ -+ -+DFBResult davinci_c64x_emit_tasks( DavinciC64x *c64x, -+ DavinciC64xTasks *tasks, -+ DavinciC64xEmitFlags flags ); -+ -+/**********************************************************************************************************************/ -+ -+static const char *state_names[] = { "DONE", "ERROR", "TODO", "RUNNING" }; -+ -+static inline c64xTask * -+c64x_get_task( DavinciC64x *c64x ) -+{ -+ c64xTaskControl *ctl = c64x->ctl; -+ uint32_t idx = ctl->QL_arm; -+ uint32_t next = (idx + 1) & C64X_QUEUE_MASK; -+ c64xTask *task = &c64x->QueueL[idx]; -+ int loops = 0; -+ uint32_t idle = 0; -+ -+ /* Wait for the entry (and next) to be processed by the DSP (rare case). */ -+ while (task->c64x_flags & C64X_FLAG_TODO || ctl->QL_dsp == next) { -+ if (loops > 666 || (idle && ctl->idlecounter - idle > 666)) { -+ c64xTask *dsp_task = &c64x->QueueL[ctl->QL_dsp]; -+ -+ D_PERROR( "Davinci/C64X+: Blocked! [DSP %d / %d (%s), ARM %d / %d (%s)]\n", -+ ctl->QL_dsp, -+ (dsp_task->c64x_function >> 2) & 0x3fff, -+ state_names[dsp_task->c64x_function & 3], -+ ctl->QL_arm, -+ (task->c64x_function >> 2) & 0x3fff, -+ state_names[task->c64x_function & 3] ); -+ -+ break; -+ } -+ -+ idle = ctl->idlecounter; -+ -+ /* Queue is full, waiting 10-20ms should not be too bad. */ -+ if (loops++ > 10) -+ usleep( 5000 ); -+ } -+ -+ return task; -+} -+ -+static inline void -+c64x_submit_task( DavinciC64x *c64x, c64xTask *task ) -+{ -+ c64xTaskControl *ctl = c64x->ctl; -+ uint32_t idx = ctl->QL_arm; -+ uint32_t next = (idx + 1) & C64X_QUEUE_MASK; -+ -+ mb(); -+ -+ ctl->QL_arm = next; -+ -+ mb(); -+} -+ -+/**********************************************************************************************************************/ -+ -+static inline void -+davinci_c64x_wb_inv_range( DavinciC64x *c64x, -+ unsigned long start, -+ u32 length, -+ u32 func ) -+{ -+ c64xTask *task = c64x_get_task( c64x ); -+ -+ task->c64x_arg[0] = start; -+ task->c64x_arg[1] = length; -+ task->c64x_arg[2] = func; -+ -+ task->c64x_function = C64X_WB_INV_RANGE | C64X_FLAG_TODO; -+ -+ c64x_submit_task( c64x, task ); -+} -+ -+static inline void -+davinci_c64x_write_back_all( DavinciC64x *c64x ) -+{ -+ c64xTask *task = c64x_get_task( c64x ); -+ -+ task->c64x_function = C64X_WRITE_BACK_ALL | C64X_FLAG_TODO; -+ -+ c64x_submit_task( c64x, task ); -+} -+ -+/**********************************************************************************************************************/ -+ -+static inline void -+davinci_c64x_load_block__L( DavinciC64xTasks *tasks, -+ unsigned long words, -+ u32 num, -+ u32 flags ) -+{ -+ c64xTask *task = &tasks->tasks[tasks->num_tasks]; -+ -+ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); -+ -+ task->c64x_arg[0] = words; -+ task->c64x_arg[1] = num; -+ task->c64x_arg[2] = flags; -+ -+ task->c64x_function = C64X_LOAD_BLOCK | C64X_FLAG_TODO; -+ -+ tasks->num_tasks++; -+} -+ -+static inline void -+davinci_c64x_load_block( DavinciC64x *c64x, -+ unsigned long words, -+ u32 num, -+ u32 flags ) -+{ -+ c64xTask *task = c64x_get_task( c64x ); -+ -+ task->c64x_arg[0] = words; -+ task->c64x_arg[1] = num; -+ task->c64x_arg[2] = flags; -+ -+ task->c64x_function = C64X_LOAD_BLOCK | C64X_FLAG_TODO; -+ -+ c64x_submit_task( c64x, task ); -+} -+ -+static inline void -+davinci_c64x_fetch_uyvy( DavinciC64x *c64x, -+ unsigned long dest, -+ unsigned long source, -+ u32 pitch, -+ u32 height, -+ u32 flags ) -+{ -+ c64xTask *task = c64x_get_task( c64x ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = source; -+ task->c64x_arg[2] = pitch; -+ task->c64x_arg[3] = height; -+ task->c64x_arg[4] = flags; -+ -+ task->c64x_function = C64X_FETCH_UYVY | C64X_FLAG_TODO; -+ -+ c64x_submit_task( c64x, task ); -+} -+ -+static inline void -+davinci_c64x_mc( DavinciC64x *c64x, -+ unsigned long dest, -+ u32 dpitch, -+ unsigned long source0, -+ unsigned long source1, -+ u32 spitch, -+ u32 height, -+ int func ) -+{ -+ c64xTask *task = c64x_get_task( c64x ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = dpitch; -+ task->c64x_arg[2] = source0; -+ task->c64x_arg[3] = source1; -+ task->c64x_arg[4] = spitch; -+ task->c64x_arg[5] = height; -+ -+ task->c64x_function = func | C64X_FLAG_TODO; -+ -+ c64x_submit_task( c64x, task ); -+} -+ -+static inline void -+davinci_c64x_put_idct_uyvy_16x16__L( DavinciC64xTasks *tasks, -+ unsigned long dest, -+ u32 pitch, -+ u32 flags ) -+{ -+ c64xTask *task = &tasks->tasks[tasks->num_tasks]; -+ -+ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = pitch; -+ task->c64x_arg[2] = flags; -+ -+ task->c64x_function = C64X_PUT_IDCT_UYVY_16x16 | C64X_FLAG_TODO; -+ -+ tasks->num_tasks++; -+} -+ -+static inline void -+davinci_c64x_put_idct_uyvy_16x16( DavinciC64x *c64x, -+ unsigned long dest, -+ u32 pitch, -+ u32 flags ) -+{ -+ c64xTask *task = c64x_get_task( c64x ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = pitch; -+ task->c64x_arg[2] = flags; -+ -+ task->c64x_function = C64X_PUT_IDCT_UYVY_16x16 | C64X_FLAG_TODO; -+ -+ c64x_submit_task( c64x, task ); -+} -+ -+static inline void -+davinci_c64x_put_mc_uyvy_16x16__L( DavinciC64xTasks *tasks, -+ unsigned long dest, -+ u32 pitch, -+ u32 flags ) -+{ -+ c64xTask *task = &tasks->tasks[tasks->num_tasks]; -+ -+ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = pitch; -+ task->c64x_arg[2] = flags; -+ -+ task->c64x_function = C64X_PUT_MC_UYVY_16x16 | C64X_FLAG_TODO; -+ -+ tasks->num_tasks++; -+} -+ -+static inline void -+davinci_c64x_put_mc_uyvy_16x16( DavinciC64x *c64x, -+ unsigned long dest, -+ u32 pitch, -+ u32 flags ) -+{ -+ c64xTask *task = c64x_get_task( c64x ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = pitch; -+ task->c64x_arg[2] = flags; -+ -+ task->c64x_function = C64X_PUT_MC_UYVY_16x16 | C64X_FLAG_TODO; -+ -+ c64x_submit_task( c64x, task ); -+} -+ -+static inline void -+davinci_c64x_put_sum_uyvy_16x16__L( DavinciC64xTasks *tasks, -+ unsigned long dest, -+ u32 pitch, -+ u32 flags ) -+{ -+ c64xTask *task = &tasks->tasks[tasks->num_tasks]; -+ -+ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = pitch; -+ task->c64x_arg[2] = flags; -+ -+ task->c64x_function = C64X_PUT_SUM_UYVY_16x16 | C64X_FLAG_TODO; -+ -+ tasks->num_tasks++; -+} -+ -+static inline void -+davinci_c64x_put_sum_uyvy_16x16( DavinciC64x *c64x, -+ unsigned long dest, -+ u32 pitch, -+ u32 flags ) -+{ -+ c64xTask *task = c64x_get_task( c64x ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = pitch; -+ task->c64x_arg[2] = flags; -+ -+ task->c64x_function = C64X_PUT_SUM_UYVY_16x16 | C64X_FLAG_TODO; -+ -+ c64x_submit_task( c64x, task ); -+} -+ -+static inline void -+davinci_c64x_dva_begin_frame__L( DavinciC64xTasks *tasks, -+ u32 pitch, -+ unsigned long current, -+ unsigned long past, -+ unsigned long future, -+ u32 flags ) -+{ -+ c64xTask *task = &tasks->tasks[tasks->num_tasks]; -+ -+ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); -+ -+ task->c64x_arg[0] = pitch; -+ task->c64x_arg[1] = current; -+ task->c64x_arg[2] = past; -+ task->c64x_arg[3] = future; -+ task->c64x_arg[4] = flags; -+ -+ task->c64x_function = C64X_DVA_BEGIN_FRAME | C64X_FLAG_TODO; -+ -+ tasks->num_tasks++; -+} -+ -+static inline void -+davinci_c64x_dva_begin_frame( DavinciC64x *c64x, -+ u32 pitch, -+ unsigned long current, -+ unsigned long past, -+ unsigned long future, -+ u32 flags ) -+{ -+ c64xTask *task = c64x_get_task( c64x ); -+ -+ task->c64x_arg[0] = pitch; -+ task->c64x_arg[1] = current; -+ task->c64x_arg[2] = past; -+ task->c64x_arg[3] = future; -+ task->c64x_arg[4] = flags; -+ -+ task->c64x_function = C64X_DVA_BEGIN_FRAME | C64X_FLAG_TODO; -+ -+ c64x_submit_task( c64x, task ); -+} -+ -+static inline void -+davinci_c64x_dva_motion_block__L( DavinciC64xTasks *tasks, -+ unsigned long macroblock ) -+{ -+ c64xTask *task = &tasks->tasks[tasks->num_tasks]; -+ -+ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); -+ -+ task->c64x_arg[0] = macroblock; -+ -+ task->c64x_function = C64X_DVA_MOTION_BLOCK | C64X_FLAG_TODO; -+ -+ tasks->num_tasks++; -+} -+ -+static inline void -+davinci_c64x_dva_motion_block( DavinciC64x *c64x, -+ unsigned long macroblock ) -+{ -+ c64xTask *task = c64x_get_task( c64x ); -+ -+ task->c64x_arg[0] = macroblock; -+ -+ task->c64x_function = C64X_DVA_MOTION_BLOCK | C64X_FLAG_TODO; -+ -+ c64x_submit_task( c64x, task ); -+} -+ -+/**********************************************************************************************************************/ -+ -+static inline void -+davinci_c64x_dva_idct( DavinciC64x *c64x, -+ unsigned long dest, -+ u32 pitch, -+ unsigned long source ) -+{ -+ c64xTask *task = c64x_get_task( c64x ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = pitch; -+ task->c64x_arg[2] = source; -+ -+ task->c64x_function = C64X_DVA_IDCT | C64X_FLAG_TODO; -+ -+ c64x_submit_task( c64x, task ); -+} -+ -+/**********************************************************************************************************************/ -+ -+static inline void -+davinci_c64x_put_uyvy_16x16( DavinciC64x *c64x, -+ unsigned long dest, -+ u32 pitch, -+ unsigned long source, -+ u32 flags ) -+{ -+ c64xTask *task = c64x_get_task( c64x ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = pitch; -+ task->c64x_arg[2] = source; -+ task->c64x_arg[3] = flags; -+ -+ task->c64x_function = C64X_PUT_UYVY_16x16 | C64X_FLAG_TODO; -+ -+ c64x_submit_task( c64x, task ); -+} -+ -+static inline void -+davinci_c64x_dither_argb__L( DavinciC64xTasks *tasks, -+ unsigned long dst_rgb, -+ unsigned long dst_alpha, -+ u32 dst_pitch, -+ unsigned long source, -+ u32 src_pitch, -+ u32 width, -+ u32 height ) -+{ -+ c64xTask *task = &tasks->tasks[tasks->num_tasks]; -+ -+ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); -+ -+ task->c64x_arg[0] = dst_rgb; -+ task->c64x_arg[1] = dst_alpha; -+ task->c64x_arg[2] = dst_pitch; -+ task->c64x_arg[3] = source; -+ task->c64x_arg[4] = src_pitch; -+ task->c64x_arg[5] = width; -+ task->c64x_arg[6] = height; -+ -+ task->c64x_function = C64X_DITHER_ARGB | C64X_FLAG_TODO; -+ -+ tasks->num_tasks++; -+} -+ -+static inline void -+davinci_c64x_dither_argb( DavinciC64x *c64x, -+ unsigned long dst_rgb, -+ unsigned long dst_alpha, -+ u32 dst_pitch, -+ unsigned long source, -+ u32 src_pitch, -+ u32 width, -+ u32 height ) -+{ -+ c64xTask *task = c64x_get_task( c64x ); -+ -+ task->c64x_arg[0] = dst_rgb; -+ task->c64x_arg[1] = dst_alpha; -+ task->c64x_arg[2] = dst_pitch; -+ task->c64x_arg[3] = source; -+ task->c64x_arg[4] = src_pitch; -+ task->c64x_arg[5] = width; -+ task->c64x_arg[6] = height; -+ -+ task->c64x_function = C64X_DITHER_ARGB | C64X_FLAG_TODO; -+ -+ c64x_submit_task( c64x, task ); -+} -+ -+static inline void -+davinci_c64x_fill_16__L( DavinciC64xTasks *tasks, -+ unsigned long dest, -+ u32 pitch, -+ u32 width, -+ u32 height, -+ u32 value ) -+{ -+ c64xTask *task = &tasks->tasks[tasks->num_tasks]; -+ -+ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = pitch; -+ task->c64x_arg[2] = width; -+ task->c64x_arg[3] = height; -+ task->c64x_arg[4] = value; -+ -+ task->c64x_function = C64X_FILL_16 | C64X_FLAG_TODO; -+ -+ tasks->num_tasks++; -+} -+ -+static inline void -+davinci_c64x_fill_16( DavinciC64x *c64x, -+ unsigned long dest, -+ u32 pitch, -+ u32 width, -+ u32 height, -+ u32 value ) -+{ -+ c64xTask *task = c64x_get_task( c64x ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = pitch; -+ task->c64x_arg[2] = width; -+ task->c64x_arg[3] = height; -+ task->c64x_arg[4] = value; -+ -+ task->c64x_function = C64X_FILL_16 | C64X_FLAG_TODO; -+ -+ c64x_submit_task( c64x, task ); -+} -+ -+static inline void -+davinci_c64x_fill_32__L( DavinciC64xTasks *tasks, -+ unsigned long dest, -+ u32 pitch, -+ u32 width, -+ u32 height, -+ u32 value ) -+{ -+ c64xTask *task = &tasks->tasks[tasks->num_tasks]; -+ -+ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = pitch; -+ task->c64x_arg[2] = width; -+ task->c64x_arg[3] = height; -+ task->c64x_arg[4] = value; -+ -+ task->c64x_function = C64X_FILL_32 | C64X_FLAG_TODO; -+ -+ tasks->num_tasks++; -+} -+ -+static inline void -+davinci_c64x_fill_32( DavinciC64x *c64x, -+ unsigned long dest, -+ u32 pitch, -+ u32 width, -+ u32 height, -+ u32 value ) -+{ -+ c64xTask *task = c64x_get_task( c64x ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = pitch; -+ task->c64x_arg[2] = width; -+ task->c64x_arg[3] = height; -+ task->c64x_arg[4] = value; -+ -+ task->c64x_function = C64X_FILL_32 | C64X_FLAG_TODO; -+ -+ c64x_submit_task( c64x, task ); -+} -+ -+static inline void -+davinci_c64x_blit_16__L( DavinciC64xTasks *tasks, -+ unsigned long dest, -+ u32 dpitch, -+ unsigned long src, -+ u32 spitch, -+ u32 width, -+ u32 height ) -+{ -+ c64xTask *task = &tasks->tasks[tasks->num_tasks]; -+ -+ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = dpitch; -+ task->c64x_arg[2] = src; -+ task->c64x_arg[3] = spitch; -+ task->c64x_arg[4] = width; -+ task->c64x_arg[5] = height; -+ -+ task->c64x_function = C64X_COPY_16 | C64X_FLAG_TODO; -+ -+ tasks->num_tasks++; -+} -+ -+static inline void -+davinci_c64x_blit_16( DavinciC64x *c64x, -+ unsigned long dest, -+ u32 dpitch, -+ unsigned long src, -+ u32 spitch, -+ u32 width, -+ u32 height ) -+{ -+ c64xTask *task = c64x_get_task( c64x ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = dpitch; -+ task->c64x_arg[2] = src; -+ task->c64x_arg[3] = spitch; -+ task->c64x_arg[4] = width; -+ task->c64x_arg[5] = height; -+ -+ task->c64x_function = C64X_COPY_16 | C64X_FLAG_TODO; -+ -+ c64x_submit_task( c64x, task ); -+} -+ -+static inline void -+davinci_c64x_blit_32__L( DavinciC64xTasks *tasks, -+ unsigned long dest, -+ u32 dpitch, -+ unsigned long src, -+ u32 spitch, -+ u32 width, -+ u32 height ) -+{ -+ c64xTask *task = &tasks->tasks[tasks->num_tasks]; -+ -+ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = dpitch; -+ task->c64x_arg[2] = src; -+ task->c64x_arg[3] = spitch; -+ task->c64x_arg[4] = width; -+ task->c64x_arg[5] = height; -+ -+ task->c64x_function = C64X_COPY_32 | C64X_FLAG_TODO; -+ -+ tasks->num_tasks++; -+} -+ -+static inline void -+davinci_c64x_blit_32( DavinciC64x *c64x, -+ unsigned long dest, -+ u32 dpitch, -+ unsigned long src, -+ u32 spitch, -+ u32 width, -+ u32 height ) -+{ -+ c64xTask *task = c64x_get_task( c64x ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = dpitch; -+ task->c64x_arg[2] = src; -+ task->c64x_arg[3] = spitch; -+ task->c64x_arg[4] = width; -+ task->c64x_arg[5] = height; -+ -+ task->c64x_function = C64X_COPY_32 | C64X_FLAG_TODO; -+ -+ c64x_submit_task( c64x, task ); -+} -+ -+static inline void -+davinci_c64x_stretch_32__L( DavinciC64xTasks *tasks, -+ unsigned long dest, -+ u32 dpitch, -+ unsigned long src, -+ u32 spitch, -+ u32 dw, -+ u32 dh, -+ u32 sw, -+ u32 sh, -+ const DFBRegion *clip ) -+{ -+ c64xTask *task = &tasks->tasks[tasks->num_tasks]; -+ -+ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = src; -+ task->c64x_arg[2] = dpitch | (spitch << 16); -+ task->c64x_arg[3] = dh | (dw << 16); -+ task->c64x_arg[4] = sh | (sw << 16); -+ task->c64x_arg[5] = clip->x2 | (clip->y2 << 16); -+ task->c64x_arg[6] = clip->x1 | (clip->y1 << 16); -+ -+ if (sw > dw && sh > dh) -+ task->c64x_function = C64X_STRETCH_32_down | C64X_FLAG_TODO; -+ else -+ task->c64x_function = C64X_STRETCH_32_up | C64X_FLAG_TODO; -+ -+ tasks->num_tasks++; -+} -+ -+static inline void -+davinci_c64x_stretch_32( DavinciC64x *c64x, -+ unsigned long dest, -+ u32 dpitch, -+ unsigned long src, -+ u32 spitch, -+ u32 dw, -+ u32 dh, -+ u32 sw, -+ u32 sh, -+ const DFBRegion *clip ) -+{ -+ c64xTask *task = c64x_get_task( c64x ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = src; -+ task->c64x_arg[2] = dpitch | (spitch << 16); -+ task->c64x_arg[3] = dh | (dw << 16); -+ task->c64x_arg[4] = sh | (sw << 16); -+ task->c64x_arg[5] = clip->x2 | (clip->y2 << 16); -+ task->c64x_arg[6] = clip->x1 | (clip->y1 << 16); -+ -+ if (sw > dw && sh > dh) -+ task->c64x_function = C64X_STRETCH_32_down | C64X_FLAG_TODO; -+ else -+ task->c64x_function = C64X_STRETCH_32_up | C64X_FLAG_TODO; -+ -+ c64x_submit_task( c64x, task ); -+} -+ -+static inline void -+davinci_c64x_blit_blend_32__L( DavinciC64xTasks *tasks, -+ u32 sub_func, -+ unsigned long dest, -+ u32 dpitch, -+ unsigned long src, -+ u32 spitch, -+ u32 width, -+ u32 height, -+ u32 argb, -+ u8 alpha ) -+{ -+ c64xTask *task = &tasks->tasks[tasks->num_tasks]; -+ -+ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = dpitch; -+ task->c64x_arg[2] = src; -+ task->c64x_arg[3] = spitch; -+ task->c64x_arg[4] = width | (height << 16); -+ task->c64x_arg[5] = argb; -+ task->c64x_arg[6] = alpha; -+ -+ task->c64x_function = (sub_func << 16) | C64X_BLEND_32 | C64X_FLAG_TODO; -+ -+ tasks->num_tasks++; -+} -+ -+static inline void -+davinci_c64x_blit_blend_32( DavinciC64x *c64x, -+ u32 sub_func, -+ unsigned long dest, -+ u32 dpitch, -+ unsigned long src, -+ u32 spitch, -+ u32 width, -+ u32 height, -+ u32 argb, -+ u8 alpha ) -+{ -+ c64xTask *task = c64x_get_task( c64x ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = dpitch; -+ task->c64x_arg[2] = src; -+ task->c64x_arg[3] = spitch; -+ task->c64x_arg[4] = width | (height << 16); -+ task->c64x_arg[5] = argb; -+ task->c64x_arg[6] = alpha; -+ -+ task->c64x_function = (sub_func << 16) | C64X_BLEND_32 | C64X_FLAG_TODO; -+ -+ c64x_submit_task( c64x, task ); -+} -+ -+static inline void -+davinci_c64x_blit_keyed_16__L( DavinciC64xTasks *tasks, -+ unsigned long dest, -+ u32 dpitch, -+ unsigned long src, -+ u32 spitch, -+ u32 width, -+ u32 height, -+ u32 key, -+ u32 mask ) -+{ -+ c64xTask *task = &tasks->tasks[tasks->num_tasks]; -+ -+ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = (dpitch << 16) | (spitch & 0xffff); -+ task->c64x_arg[2] = src; -+ task->c64x_arg[3] = width; -+ task->c64x_arg[4] = height; -+ task->c64x_arg[5] = key; -+ task->c64x_arg[6] = mask; -+ -+ task->c64x_function = C64X_COPY_KEYED_16 | C64X_FLAG_TODO; -+ -+ tasks->num_tasks++; -+} -+ -+static inline void -+davinci_c64x_blit_keyed_16( DavinciC64x *c64x, -+ unsigned long dest, -+ u32 dpitch, -+ unsigned long src, -+ u32 spitch, -+ u32 width, -+ u32 height, -+ u32 key, -+ u32 mask ) -+{ -+ c64xTask *task = c64x_get_task( c64x ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = (dpitch << 16) | (spitch & 0xffff); -+ task->c64x_arg[2] = src; -+ task->c64x_arg[3] = width; -+ task->c64x_arg[4] = height; -+ task->c64x_arg[5] = key; -+ task->c64x_arg[6] = mask; -+ -+ task->c64x_function = C64X_COPY_KEYED_16 | C64X_FLAG_TODO; -+ -+ c64x_submit_task( c64x, task ); -+} -+ -+static inline void -+davinci_c64x_blit_keyed_32__L( DavinciC64xTasks *tasks, -+ unsigned long dest, -+ u32 dpitch, -+ unsigned long src, -+ u32 spitch, -+ u32 width, -+ u32 height, -+ u32 key, -+ u32 mask ) -+{ -+ c64xTask *task = &tasks->tasks[tasks->num_tasks]; -+ -+ D_ASSERT( tasks->num_tasks < tasks->max_tasks ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = (dpitch << 16) | (spitch & 0xffff); -+ task->c64x_arg[2] = src; -+ task->c64x_arg[3] = width; -+ task->c64x_arg[4] = height; -+ task->c64x_arg[5] = key; -+ task->c64x_arg[6] = mask; -+ -+ task->c64x_function = C64X_COPY_KEYED_32 | C64X_FLAG_TODO; -+ -+ tasks->num_tasks++; -+} -+ -+static inline void -+davinci_c64x_blit_keyed_32( DavinciC64x *c64x, -+ unsigned long dest, -+ u32 dpitch, -+ unsigned long src, -+ u32 spitch, -+ u32 width, -+ u32 height, -+ u32 key, -+ u32 mask ) -+{ -+ c64xTask *task = c64x_get_task( c64x ); -+ -+ task->c64x_arg[0] = dest; -+ task->c64x_arg[1] = (dpitch << 16) | (spitch & 0xffff); -+ task->c64x_arg[2] = src; -+ task->c64x_arg[3] = width; -+ task->c64x_arg[4] = height; -+ task->c64x_arg[5] = key; -+ task->c64x_arg[6] = mask; -+ -+ task->c64x_function = C64X_COPY_KEYED_32 | C64X_FLAG_TODO; -+ -+ c64x_submit_task( c64x, task ); -+} -+ -+#endif -+ -diff -puNr -Naur directfb-1.6.3-orig/gfxdrivers/davinci/davincifb.h directfb-1.6.3/gfxdrivers/davinci/davincifb.h ---- directfb-1.6.3-orig/gfxdrivers/davinci/davincifb.h 1970-01-01 01:00:00.000000000 +0100 -+++ directfb-1.6.3/gfxdrivers/davinci/davincifb.h 2013-04-07 21:33:21.488622184 +0200 -@@ -0,0 +1,581 @@ -+/* -+ * Copyright (C) 2006 Texas Instruments Inc -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option)any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -+ * -+ * File: davincifb.h -+ */ -+ -+#ifndef DAVINVI_VPBE_H -+#define DAVINVI_VPBE_H -+ -+/* include Linux files */ -+#include -+ -+/* define the custom FBIO_WAITFORVSYNC ioctl */ -+#define FBIO_WAITFORVSYNC _IOW('F', 0x20, u_int32_t) -+#define FBIO_SETATTRIBUTE _IOW('F', 0x21, struct fb_fillrect) -+ -+/* Backported IOCTLS. */ -+#define FBIO_SETPOSX _IOW('F', 0x22, u_int32_t) -+#define FBIO_SETPOSY _IOW('F', 0x23, u_int32_t) -+#define FBIO_SETZOOM _IOW('F', 0x24, struct zoom_params) -+#define FBIO_GETSTD _IOR('F', 0x25, u_int32_t) -+#define FBIO_RESIZER _IOW('F', 0x26, struct vpfe_resizer_params) -+#define FBIO_SYNC _IOW('F', 0x27, u_int32_t) -+ -+typedef struct zoom_params { -+ u_int32_t window_id; -+ u_int32_t zoom_h; -+ u_int32_t zoom_v; -+} zoom_params_t; -+ -+typedef struct vpfe_resizer_params -+{ -+ u_int32_t rsz_cnt; //busy-lock -+ u_int32_t out_size; //busy-lock -+ u_int32_t in_start; //busy-lock -+ u_int32_t in_size; //busy-lock -+ u_int32_t sdr_inadd; //shadowed -+ u_int32_t sdr_inoff; //shadowed -+ u_int32_t sdr_outadd; //shadowed -+ u_int32_t sdr_outoff; //shadowed -+ u_int32_t hfilt[16]; //busy-lock -+ u_int32_t vfilt[16]; //busy-lock -+ u_int32_t yenh; //busy-lock -+} vpfe_resizer_params_t; -+ -+typedef struct fb_set_start { -+ int offset; /* offset from smem_start */ -+ unsigned long physical; /* absolute physical address when offset < 0 */ -+ -+ u_int64_t sync; /* input: target sync counter for change or 0 for no sync at all, -+ output: sync counter of actual change or 0 if still pending */ -+} fb_set_start_t; -+ -+ -+#ifdef _IOC_TYPECHECK -+#undef _IOC_TYPECHECK -+#define _IOC_TYPECHECK(x) (sizeof(x)) -+#endif -+ -+#define RAM_CLUT_SIZE 256*3 -+#define FBIO_ENABLE_DISABLE_WIN \ -+ _IOW('F', 0x30, unsigned char) -+#define FBIO_SET_BITMAP_BLEND_FACTOR \ -+ _IOW('F', 0x31, vpbe_bitmap_blend_params_t) -+#define FBIO_SET_BITMAP_WIN_RAM_CLUT \ -+ _IOW('F', 0x32, unsigned char)*RAM_CLUT_SIZE) -+#define FBIO_ENABLE_DISABLE_ATTRIBUTE_WIN \ -+ _IOW('F', 0x33, unsigned int) -+#define FBIO_GET_BLINK_INTERVAL \ -+ _IOR('F', 0x34, vpbe_blink_option_t) -+#define FBIO_SET_BLINK_INTERVAL \ -+ _IOW('F', 0x35, vpbe_blink_option_t) -+#define FBIO_GET_VIDEO_CONFIG_PARAMS \ -+ _IOR('F', 0x36, vpbe_video_config_params_t) -+#define FBIO_SET_VIDEO_CONFIG_PARAMS \ -+ _IOW('F', 0x37, vpbe_video_config_params_t) -+#define FBIO_GET_BITMAP_CONFIG_PARAMS \ -+ _IOR('F', 0x38, vpbe_bitmap_config_params_t) -+#define FBIO_SET_BITMAP_CONFIG_PARAMS \ -+ _IOW('F', 0x39, vpbe_bitmap_config_params_t) -+#define FBIO_SET_DCLK \ -+ _IOW('F', 0x40, vpbe_dclk_t) -+#define FBIO_SET_INTERFACE \ -+ _IOW('F', 0x41, unsigned char) -+#define FBIO_GET_INTERFACE \ -+ _IOR('F', 0x42, unsigned char) -+#define FBIO_QUERY_TIMING \ -+ _IOWR('F', 0x43, struct vpbe_mode_info) -+#define FBIO_SET_TIMING \ -+ _IOW('F', 0x44, struct vpbe_fb_videomode) -+#define FBIO_GET_TIMING \ -+ _IOR('F', 0x45, struct vpbe_fb_videomode) -+#define FBIO_SET_VENC_CLK_SOURCE \ -+ _IOW('F', 0x46, unsigned char) -+#define FBIO_SET_BACKG_COLOR \ -+ _IOW('F', 0x47, vpbe_backg_color_t) -+#define FBIO_ENABLE_DISPLAY \ -+ _IOW('F', 0x48, unsigned char) -+#define FBIO_SETPOS \ -+ _IOW('F', 0x49, u_int32_t) -+#define FBIO_SET_CURSOR \ -+ _IOW('F', 0x50, struct fb_cursor) -+#define FBIO_SET_START \ -+ _IOW('F', 0x66, struct fb_set_start) -+ -+/* -+ * Defines and Constants -+ */ -+#ifdef __KERNEL__ -+#define DAVINCIFB_DEVICE "davincifb" -+#define DAVINCIFB_DRIVER "davincifb" -+ -+#define MULTIPLE_BUFFERING 1 -+ -+#ifdef MULTIPLE_BUFFERING -+#define DOUBLE_BUF 2 -+#define TRIPLE_BUF 3 -+#else -+#define DOUBLE_BUF 1 -+#define TRIPLE_BUF 1 -+#endif -+ -+/* usage: if (is_win(info->fix.id, OSD0)) ... */ -+#define is_win(name, x) ((strcmp(name, x ## _FBNAME) == 0) ? 1 : 0) -+ -+/* -+ * display controller register I/O routines -+ */ -+u32 dispc_reg_in(u32 offset); -+u32 dispc_reg_out(u32 offset, u32 val); -+u32 dispc_reg_merge(u32 offset, u32 val, u32 mask); -+ -+#endif /*__KERNEL__*/ -+ -+/* Error return codes */ -+#define VPBE_INVALID_PARA_VALUE 700 -+#define VPBE_WRONG_WINDOW_ID 701 -+#define VPBE_CURRENTLY_IN_REQUIRED_MODE 702 -+#define VPBE_INSUFFICIENT_CLUT_VALUES 703 -+#define VPBE_CLUT_WRITE_TIMEOUT 704 -+#define VPBE_VID0_BUF_ADR_NULL 705 -+#define VPBE_WINDOW_NOT_DISABLED 706 -+#define VPBE_WINDOW_NOT_ENABLED 707 -+ -+#ifndef __KERNEL__ -+/* Window ID definations */ -+#define OSD0 0 -+#define VID0 1 -+#define OSD1 2 -+#define VID1 3 -+#endif -+ -+/* There are 4 framebuffers, each represented by an fb_info and -+ * a dm_win_info structure */ -+#define OSD0_FBNAME "dm_osd0_fb" -+#define OSD1_FBNAME "dm_osd1_fb" -+#define VID0_FBNAME "dm_vid0_fb" -+#define VID1_FBNAME "dm_vid1_fb" -+ -+/* FIXME: Digital LCD RGB matrix coefficients */ -+#define DLCD_DGY_VAL 0 -+#define DLCD_DRV_VAL 0 -+#define DLCD_DGU_VAL 0 -+#define DLCD_DBU_VAL 0 -+ -+/* Defines for bitmap format */ -+#define VPBE_BITMAP_BIT_1 1 -+#define VPBE_BITMAP_BIT_2 2 -+#define VPBE_BITMAP_BIT_4 4 -+#define VPBE_BITMAP_BIT_8 8 -+#define VPBE_BITMAP_RGB565 16 -+#define VPBE_VIDEO_YUV422 16 -+#define VPBE_VIDEO_RGB888 24 -+ -+/* Defines foe cursor parameter validation*/ -+#define MAX_CURSOR_WIDTH 0x3FF -+#define MAX_CURSOR_HEIGHT 0x1FF -+#define MAX_CURSOR_LINEWIDTH 7 -+ -+#define BASEX 0x80 -+#define BASEY 0x12 -+#define BASEX_DLCD 0x59 -+#define BASEY_DLCD 0x22 -+ -+/* -+ * Enumerations -+ */ -+/* Enum for blending factor */ -+typedef enum vpbe_blend_factor { -+ OSD_CONTRIBUTION_ZERO = 0, -+ OSD_CONTRIBUTION_1_BY_8 = 1, -+ OSD_CONTRIBUTION_2_BY_8 = 2, -+ OSD_CONTRIBUTION_3_BY_8 = 3, -+ OSD_CONTRIBUTION_4_BY_8 = 4, -+ OSD_CONTRIBUTION_5_BY_8 = 5, -+ OSD_CONTRIBUTION_6_BY_8 = 6, -+ OSD_CONTRIBUTION_ONE = 7 -+} vpbe_blend_factor_t; -+ -+/* Enum for Boolean variables */ -+typedef enum { -+ SET_0 = 0, -+ SET_1 = 1 -+} CB_CR_ORDER, ATTRIBUTE, ROM_RAM_CLUT; -+ -+/* Defines for Display Interface */ -+#define PRGB 0 -+#define COMPOSITE 1 -+#define SVIDEO 2 -+#define COMPONENT 3 -+#define RGB 4 -+#define YCC16 5 -+#define YCC8 6 -+#define SRGB 7 -+#define EPSON 8 -+#define CASIO1G 9 -+#define UDISP 10 -+#define STN 11 -+#define VPBE_MAX_INTERFACES 12 -+ -+/* Defines for Display Mode */ -+#define LCD 0 -+#define NTSC 1 -+#define PAL 2 -+#define P525 3 -+#define P625 4 -+ -+#define DEFAULT_MODE 0 -+#define P480 0 -+#define P400 1 -+#define P350 2 -+#define NON_EXISTING_MODE 255 -+/* Enable/Disable enum */ -+typedef enum { -+ VPBE_DISABLE = 0, -+ VPBE_ENABLE = 1 -+} ATTENUATION, TRANSPARENCY, EXPANSION, BLINKING; -+ -+typedef enum clk_source { -+ CLK_SOURCE_CLK27 = 0, -+ CLK_SOURCE_CLK54 = 1, -+ CLK_SOURCE_VPBECLK = 2 -+} CLK_SOURCE; -+ -+/* -+ * Structures and Union Definitions -+ */ -+ -+/* Structure for transparency and the blending factor for the bitmap window */ -+typedef struct vpbe_bitmap_blend_params { -+ unsigned int colorkey; /* color key to be blend */ -+ unsigned int enable_colorkeying; /* enable color keying */ -+ unsigned int bf; /* valid range from 0 to 7 only. */ -+} vpbe_bitmap_blend_params_t; -+ -+/* Structure for window expansion */ -+typedef struct vpbe_win_expansion { -+ EXPANSION horizontal; -+ EXPANSION vertical; /* 1: Enable 0:disable */ -+} vpbe_win_expansion_t; -+ -+/* Structure for OSD window blinking options */ -+typedef struct vpbe_blink_option { -+ BLINKING blinking; /* 1: Enable blinking 0: Disable */ -+ unsigned int interval; /* Valid only if blinking is 1 */ -+} vpbe_blink_option_t; -+ -+/* Structure for DCLK parameters */ -+typedef struct vpbe_dclk { -+ unsigned char dclk_pattern_width; -+ unsigned int dclk_pattern0; -+ unsigned int dclk_pattern1; -+ unsigned int dclk_pattern2; -+ unsigned int dclk_pattern3; -+} vpbe_dclk_t; -+ -+/* Structure for display format */ -+typedef struct vpbe_display_format { -+ unsigned char interface; /* Output interface type */ -+ unsigned char mode; /* output mode */ -+} vpbe_display_format_t; -+ -+/* Structure for background color */ -+typedef struct vpbe_backg_color { -+ unsigned char clut_select; /* 2: RAM CLUT 1:ROM1 CLUT 0:ROM0 CLUT */ -+ unsigned char color_offset; /* index of color */ -+} vpbe_backg_color_t; -+ -+/* Structure for Video window configurable parameters */ -+typedef struct vpbe_video_config_params { -+ CB_CR_ORDER cb_cr_order; /*Cb/Cr order in input data for a pixel. */ -+ /* 0: cb cr 1: cr cb */ -+ vpbe_win_expansion_t exp_info; /* HZ/VT Expansion enable disable */ -+} vpbe_video_config_params_t; -+ -+/*Union of structures giving the CLUT index for the 1, 2, 4 bit bitmap values.*/ -+typedef union vpbe_clut_idx { -+ struct _for_4bit_bimap { -+ unsigned char bitmap_val_0; -+ unsigned char bitmap_val_1; -+ unsigned char bitmap_val_2; -+ unsigned char bitmap_val_3; -+ unsigned char bitmap_val_4; -+ unsigned char bitmap_val_5; -+ unsigned char bitmap_val_6; -+ unsigned char bitmap_val_7; -+ unsigned char bitmap_val_8; -+ unsigned char bitmap_val_9; -+ unsigned char bitmap_val_10; -+ unsigned char bitmap_val_11; -+ unsigned char bitmap_val_12; -+ unsigned char bitmap_val_13; -+ unsigned char bitmap_val_14; -+ unsigned char bitmap_val_15; -+ } for_4bit_bimap; -+ struct _for_2bit_bimap { -+ unsigned char bitmap_val_0; -+ unsigned char dummy0[4]; -+ unsigned char bitmap_val_1; -+ unsigned char dummy1[4]; -+ unsigned char bitmap_val_2; -+ unsigned char dummy2[4]; -+ unsigned char bitmap_val_3; -+ } for_2bit_bimap; -+ struct _for_1bit_bimap { -+ unsigned char bitmap_val_0; -+ unsigned char dummy0[14]; -+ unsigned char bitmap_val_1; -+ } for_1bit_bimap; -+} vpbe_clut_idx_t; -+ -+/* Structure for bitmap window configurable parameters */ -+typedef struct vpbe_bitmap_config_params { -+ /* Only for bitmap width = 1,2,4 bits */ -+ vpbe_clut_idx_t clut_idx; -+ /* Attenuation value for YUV o/p for bitmap window */ -+ unsigned char attenuation_enable; -+ /* 0: ROM DM270, 1:ROM DM320, 2:RAM CLUT */ -+ unsigned char clut_select; -+} vpbe_bitmap_config_params_t; -+ -+/* Unioun for video/OSD configuration parameters */ -+typedef union vpbe_conf_params { -+ -+ struct vpbe_video_params { -+ CB_CR_ORDER cb_cr_order; -+ /* HZ/VT Expansion enable disable */ -+ vpbe_win_expansion_t exp_info; -+ } video_params; -+ -+ struct vpbe_bitmap_params { -+ /* Attenuation value for YUV o/p */ -+ ATTENUATION attenuation_enable; -+ /* 0: ROM DM270, 1: ROM DM320, 2:RAM CLUT */ -+ unsigned char clut_select; -+ /* Only for bitmap width = 1,2,4 bits */ -+ vpbe_clut_idx_t clut_idx; -+ /* 0: OSD window is bitmap window */ -+ /* 1: OSD window is attribute window */ -+ ATTRIBUTE enable_attribute; -+ /* To hold bps value. -+ Used to switch back from attribute to bitmap. */ -+ unsigned int stored_bits_per_pixel; -+ /* Blending information */ -+ vpbe_bitmap_blend_params_t blend_info; -+ /* OSD Blinking information */ -+ vpbe_blink_option_t blink_info; -+ } bitmap_params; -+ -+} vpbe_conf_params_t; -+ -+typedef struct vpbe_video_params vpbe_video_params_t; -+typedef struct vpbe_bitmap_params vpbe_bitmap_params_t; -+ -+/* Structure to hold window position */ -+typedef struct vpbe_window_position { -+ unsigned int xpos; /* X position of the window */ -+ unsigned int ypos; /* Y position of the window */ -+} vpbe_window_position_t; -+ -+#ifdef __KERNEL__ -+/* Structure for each window */ -+typedef struct vpbe_dm_win_info { -+ struct fb_info info; -+ vpbe_window_position_t win_pos; /* X,Y position of window */ -+ /* Size of window is already there in var_info structure. */ -+ -+ dma_addr_t fb_base_phys; /*framebuffer area */ -+ unsigned int fb_base; /*window memory pointer */ -+ unsigned int fb_size; /*memory size */ -+ unsigned int pseudo_palette[17]; -+ int alloc_fb_mem; -+ /*flag to identify if framebuffer area is fixed or not */ -+ unsigned long sdram_address; -+ struct vpbe_dm_info *dm; -+ unsigned char window_enable; /*Additions for all windows */ -+ zoom_params_t zoom; /*Zooming parameters */ -+ unsigned char field_frame_select; /*To select Field or frame */ -+ unsigned char numbufs; /*Number of buffers valid 2 or 3 */ -+ vpbe_conf_params_t conf_params; -+ /*window configuration parameter union pointer */ -+} vpbe_dm_win_info_t; -+#endif /*__KERNEL__*/ -+ -+/* -+ * Videmode structure for display interface and mode settings -+ */ -+typedef struct vpbe_fb_videomode { -+ unsigned char name[10]; /* Mode name ( NTSC , PAL) */ -+ unsigned int vmode; /* FB_MODE_INTERLACED or FB_MODE_NON_INTERLACED */ -+ unsigned int xres; /* X Resolution of the display */ -+ unsigned int yres; /* Y Resolution of the display */ -+ unsigned int fps; /* frames per second */ -+ /* Timing Parameters applicable for std = 0 only */ -+ unsigned int left_margin; -+ unsigned int right_margin; -+ unsigned int upper_margin; -+ unsigned int lower_margin; -+ unsigned int hsync_len; -+ unsigned int vsync_len; -+ unsigned int sync; /* 0: hsync -ve/vsync -ve */ -+ /*1: hsync -ve/vsync +ve */ -+ /*2: hsync +ve/vsync -ve */ -+ /*3: hsync +ve/vsync +ve */ -+ unsigned int basepx; /* Display x,y start position */ -+ unsigned int basepy; -+/* 1= Mode s available in modelist 0=Mode is not available in modelist */ -+ unsigned int std; -+} vpbe_fb_videomode_t; -+ -+/* Structure to interface videomode to application*/ -+typedef struct vpbe_mode_info { -+ vpbe_fb_videomode_t vid_mode; -+ unsigned char interface; -+ unsigned char mode_idx; -+} vpbe_mode_info_t; -+ -+#ifdef __KERNEL__ -+/* -+ * Structure for the driver holding information of windows, -+ * memory base addresses etc. -+ */ -+typedef struct vpbe_dm_info { -+ vpbe_dm_win_info_t *osd0; -+ vpbe_dm_win_info_t *osd1; -+ vpbe_dm_win_info_t *vid0; -+ vpbe_dm_win_info_t *vid1; -+ -+/* to map the registers */ -+ dma_addr_t mmio_base_phys; -+ unsigned int mmio_base; -+ unsigned int mmio_size; -+ -+ wait_queue_head_t vsync_wait; -+ unsigned int vsync_cnt; -+ int timeout; -+ -+ /* this is the function that configures the output device (NTSC/PAL/LCD) -+ * for the required output format (composite/s-video/component/rgb) -+ */ -+ void (*output_device_config) (void); -+ -+ struct device *dev; -+ -+ vpbe_backg_color_t backg; /* background color */ -+ vpbe_dclk_t dclk; /*DCLK parameters */ -+ vpbe_display_format_t display; /*Display interface and mode */ -+ vpbe_fb_videomode_t videomode; /*Cuurent videomode */ -+ char ram_clut[256][3]; /*RAM CLUT array */ -+ struct fb_cursor cursor; /* cursor config params from fb.h */ -+/*Flag that indicates whether any of the display is enabled or not*/ -+ int display_enable; -+} vpbe_dm_info_t; -+ -+/* -+ * Functions Definitions for 'davincifb' module -+ */ -+int vpbe_mem_alloc_window_buf(vpbe_dm_win_info_t *); -+int vpbe_mem_release_window_buf(vpbe_dm_win_info_t *); -+void init_display_function(vpbe_display_format_t *); -+int vpbe_mem_alloc_struct(vpbe_dm_win_info_t **); -+void set_vid0_default_conf(void); -+void set_vid1_default_conf(void); -+void set_osd0_default_conf(void); -+void set_osd1_default_conf(void); -+void set_cursor_default_conf(void); -+void set_dm_default_conf(void); -+void set_win_enable(char *, unsigned int); -+int within_vid0_limits(u32, u32, u32, u32); -+void vpbe_set_display_default(void); -+#ifdef __KERNEL__ -+void set_win_position(char *, u32, u32, u32, u32); -+void change_win_param(int); -+void set_interlaced(char *, unsigned int); -+#endif /* __KERNEL__ */ -+ -+/* -+ * Function definations for 'osd' module -+ */ -+ -+int vpbe_enable_window(vpbe_dm_win_info_t *); -+int vpbe_disable_window(vpbe_dm_win_info_t *); -+int vpbe_vid_osd_select_field_frame(u8 *, u8); -+int vpbe_bitmap_set_blend_factor(u8 *, vpbe_bitmap_blend_params_t *); -+int vpbe_bitmap_set_ram_clut(void); -+int vpbe_enable_disable_attribute_window(u32); -+int vpbe_get_blinking(u8 *, vpbe_blink_option_t *); -+int vpbe_set_blinking(u8 *, vpbe_blink_option_t *); -+int vpbe_set_vid_params(u8 *, vpbe_video_config_params_t *); -+int vpbe_get_vid_params(u8 *, vpbe_video_config_params_t *); -+int vpbe_bitmap_get_params(u8 *, vpbe_bitmap_config_params_t *); -+int vpbe_bitmap_set_params(u8 *, vpbe_bitmap_config_params_t *); -+int vpbe_set_cursor_params(struct fb_cursor *); -+int vpbe_set_vid_expansion(vpbe_win_expansion_t *); -+int vpbe_set_dclk(vpbe_dclk_t *); -+int vpbe_set_display_format(vpbe_display_format_t *); -+int vpbe_set_backg_color(vpbe_backg_color_t *); -+int vpbe_set_interface(u8); -+int vpbe_query_mode(vpbe_mode_info_t *); -+int vpbe_set_mode(struct vpbe_fb_videomode *); -+int vpbe_set_venc_clk_source(u8); -+void set_vid0_default_conf(void); -+void set_osd0_default_conf(void); -+void set_vid1_default_conf(void); -+void set_osd1_default_conf(void); -+void set_cursor_default_conf(void); -+void set_dm_default_conf(void); -+/* -+ * Function definations for 'venc' module -+ */ -+ -+void davincifb_ntsc_composite_config(void); -+void davincifb_ntsc_svideo_config(void); -+void davincifb_ntsc_component_config(void); -+void davincifb_pal_composite_config(void); -+void davincifb_pal_svideo_config(void); -+void davincifb_pal_component_config(void); -+ -+void vpbe_davincifb_ntsc_rgb_config(void); -+void vpbe_davincifb_pal_rgb_config(void); -+void vpbe_davincifb_525p_component_config(void); -+void vpbe_davincifb_625p_component_config(void); -+ -+void vpbe_enable_venc(int); -+void vpbe_enable_dacs(int); -+/* -+ * Function definations for 'dlcd' module -+ */ -+void vpbe_davincifb_480p_prgb_config(void); -+void vpbe_davincifb_400p_prgb_config(void); -+void vpbe_davincifb_350p_prgb_config(void); -+void vpbe_set_display_timing(struct vpbe_fb_videomode *); -+ -+void vpbe_enable_lcd(int); -+/* -+ * Following functions are not implemented -+ */ -+void vpbe_davincifb_default_ycc16_config(void); -+void vpbe_davincifb_default_ycc8_config(void); -+void vpbe_davincifb_default_srgb_config(void); -+void vpbe_davincifb_default_epson_config(void); -+void vpbe_davincifb_default_casio_config(void); -+void vpbe_davincifb_default_UDISP_config(void); -+void vpbe_davincifb_default_STN_config(void); -+#endif /*__KERNEL__*/ -+ -+#endif /* End of #ifndef DAVINCI_VPBE_H */ -diff -puNr -Naur directfb-1.6.3-orig/gfxdrivers/davinci/davinci_gfxdriver.h directfb-1.6.3/gfxdrivers/davinci/davinci_gfxdriver.h ---- directfb-1.6.3-orig/gfxdrivers/davinci/davinci_gfxdriver.h 1970-01-01 01:00:00.000000000 +0100 -+++ directfb-1.6.3/gfxdrivers/davinci/davinci_gfxdriver.h 2013-04-07 21:33:19.560662133 +0200 -@@ -0,0 +1,169 @@ -+/* -+ TI Davinci driver - Graphics Driver -+ -+ (c) Copyright 2007 Telio AG -+ -+ Written by Denis Oliver Kropp -+ -+ Code is derived from VMWare driver. -+ -+ (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org) -+ (c) Copyright 2000-2004 Convergence (integrated media) GmbH -+ -+ All rights reserved. -+ -+ This library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2 of the License, or (at your option) any later version. -+ -+ This library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with this library; if not, write to the -+ Free Software Foundation, Inc., 59 Temple Place - Suite 330, -+ Boston, MA 02111-1307, USA. -+*/ -+ -+#ifndef __DAVINCI_GFXDRIVER_H__ -+#define __DAVINCI_GFXDRIVER_H__ -+ -+#include -+#include -+ -+#include -+ -+#include "davincifb.h" -+ -+#include "davinci_c64x.h" -+ -+ -+typedef struct { -+ /* validation flags */ -+ int v_flags; -+ -+ /* cached/computed values */ -+ void *dst_addr; -+ unsigned long dst_phys; -+ unsigned int dst_size; -+ unsigned long dst_pitch; -+ DFBSurfacePixelFormat dst_format; -+ unsigned long dst_bpp; -+ -+ void *src_addr; -+ unsigned long src_phys; -+ unsigned long src_pitch; -+ DFBSurfacePixelFormat src_format; -+ unsigned long src_bpp; -+ -+ unsigned long source_mult; -+ -+ unsigned long fillcolor; -+ -+ int blit_blend_sub_function; -+ int draw_blend_sub_function; -+ -+ DFBColor color; -+ unsigned long color_argb; -+ unsigned long colorkey; -+ -+ DFBSurfaceBlittingFlags blitting_flags; -+ -+ DFBRegion clip; -+ -+ /** Add shared data here... **/ -+ struct fb_fix_screeninfo fix[4]; -+ -+ CoreSurfacePool *osd_pool; -+ CoreSurfacePool *video_pool; -+ -+ bool synced; -+} DavinciDeviceData; -+ -+ -+typedef struct { -+ int num; -+ int fd; -+ void *mem; -+ int size; -+} DavinciFB; -+ -+typedef struct { -+ DavinciDeviceData *ddev; -+ -+ CoreDFB *core; -+ -+ CoreScreen *screen; -+ CoreLayer *osd; -+ CoreLayer *video; -+ -+ DavinciFB fb[4]; -+ -+ DavinciC64x c64x; -+ bool c64x_present; -+ -+ DavinciC64xTasks tasks; -+} DavinciDriverData; -+ -+ -+static inline DFBResult -+davincifb_pan_display( const DavinciFB *fb, -+ struct fb_var_screeninfo *var, -+ const CoreSurfaceBufferLock *lock, -+ DFBSurfaceFlipFlags flags, -+ int x, -+ int y ) -+{ -+ int ret; -+ -+ if (lock) { -+#ifdef FBIO_SET_START -+ CoreSurfaceBuffer *buffer = lock->buffer; -+ struct fb_set_start set_start; -+ -+ /* physical mode */ -+ set_start.offset = -1; -+ set_start.sync = (flags & DSFLIP_ONSYNC) ? 1 : 0; -+ -+ /* life's so easy */ -+ set_start.physical = lock->phys + DFB_BYTES_PER_LINE( buffer->format, x ) + y * lock->pitch; -+ -+ ret = ioctl( fb->fd, FBIO_SET_START, &set_start ); -+ if (ret < 0) -+ D_DEBUG( "FBIO_SET_START (0x%08lx, sync %llu) failed!\n", -+ set_start.physical, set_start.sync ); -+ -+ if (ret == 0) { -+ if (flags & DSFLIP_WAIT) -+ ioctl( fb->fd, FBIO_WAITFORVSYNC ); -+ -+ return DFB_OK; -+ } -+ -+ /* fallback */ -+#endif -+ var->xoffset = x; /* poor version */ -+ var->yoffset = y + lock->offset / lock->pitch; -+ } -+ else { -+ var->xoffset = x; -+ var->yoffset = y; -+ } -+ -+ var->activate = /*(flags & DSFLIP_ONSYNC) ? FB_ACTIVATE_VBL :*/ FB_ACTIVATE_NOW; -+ -+ ret = ioctl( fb->fd, FBIOPAN_DISPLAY, var ); -+ if (ret) -+ D_PERROR( "Davinci/FB: FBIOPAN_DISPLAY (fb%d - %d,%d) failed!\n", -+ fb->num, var->xoffset, var->yoffset ); -+ -+ if (flags & DSFLIP_WAIT) -+ ioctl( fb->fd, FBIO_WAITFORVSYNC ); -+ -+ return DFB_OK; -+} -+ -+#endif -diff -puNr -Naur directfb-1.6.3-orig/tests/voodoo/voodoo_test.h directfb-1.6.3/tests/voodoo/voodoo_test.h ---- directfb-1.6.3-orig/tests/voodoo/voodoo_test.h 1970-01-01 01:00:00.000000000 +0100 -+++ directfb-1.6.3/tests/voodoo/voodoo_test.h 2013-04-07 21:33:31.824408024 +0200 -@@ -0,0 +1,10 @@ -+#ifndef __VOODOO_TEST_H__ -+#define __VOODOO_TEST_H__ -+ -+typedef enum { -+ VOODOO_TEST_INCREASE, -+ VOODOO_TEST_QUERY -+} VoodooTestCall; -+ -+#endif -+ diff --git a/package/directfb/directfb-imlib2-config.patch b/package/directfb/directfb-imlib2-config.patch deleted file mode 100644 index 1203475b30..0000000000 --- a/package/directfb/directfb-imlib2-config.patch +++ /dev/null @@ -1,21 +0,0 @@ -Call the imlib2-conf variable that are set by ac_cv_path_IMLIB2_CONFIG -with the absolute path because the imlib2-config file is not covered -by the PATH variable. -This is important for cross compiler that need to get the staging settings -instead of the host settings. - -Signed-off-by: Carsten Schoenert - ---- directfb-1.6.3/configure.orig 2013-03-31 13:18:22.837560379 +0200 -+++ directfb-1.6.3/configure 2013-03-31 13:23:40.177541099 +0200 -@@ -19816,8 +19816,8 @@ fi - $as_echo "$as_me: WARNING: *** Imlib2 library not found, building without Imlib2 support ***" >&2;} - imlib2="no" - else -- IMLIB2_CFLAGS=`imlib2-config --cflags` -- IMLIB2_LIBS=`imlib2-config --libs` -+ IMLIB2_CFLAGS=`$IMLIB2_CONFIG --cflags` -+ IMLIB2_LIBS=`$IMLIB2_CONFIG --libs` - imlib2="yes" - fi - fi diff --git a/package/directfb/directfb-remove-redefinition-of-__typeof__.patch b/package/directfb/directfb-remove-redefinition-of-__typeof__.patch deleted file mode 100644 index e3861af97c..0000000000 --- a/package/directfb/directfb-remove-redefinition-of-__typeof__.patch +++ /dev/null @@ -1,28 +0,0 @@ -Remove definition to fix qt5 build. - -Fetch from: http://git.directfb.org/?p=core/DirectFB.git;a=patch;h=203f78a4193a8ff110dec3c860e0928af1a0a72f - -From 203f78a4193a8ff110dec3c860e0928af1a0a72f Mon Sep 17 00:00:00 2001 -From: Denis Oliver Kropp -Date: Wed, 31 Jul 2013 21:56:05 +0200 -Subject: [PATCH] libdirect: Remove redefinition of __typeof__!!! - ---- - lib/direct/os/linux/glibc/types.h | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/lib/direct/os/linux/glibc/types.h b/lib/direct/os/linux/glibc/types.h -index 08e94b2..80cb350 100644 ---- a/lib/direct/os/linux/glibc/types.h -+++ b/lib/direct/os/linux/glibc/types.h -@@ -81,7 +81,6 @@ typedef int64_t s64; - #define __dfb_no_instrument_function__ __attribute__((no_instrument_function)) - #define __constructor__ __attribute__((constructor)) - #define __destructor__ __attribute__((destructor)) --#define __typeof__(x) __typeof__(x) - - #ifndef __func__ - #define __func__ __FUNCTION__ --- -1.7.9.5 - diff --git a/package/directfb/directfb-setregion-lock.patch b/package/directfb/directfb-setregion-lock.patch deleted file mode 100644 index 8a246ea057..0000000000 --- a/package/directfb/directfb-setregion-lock.patch +++ /dev/null @@ -1,92 +0,0 @@ -This patch fixes builderrors while using '--with-gfxdrivers' and -'--with-inputdrivers' with the current DirectFB version 1.6.3. - -Patch is taken from -http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/DirectFB/files/DirectFB-1.6.3-setregion.patch - -Signed-off-by: Carsten Schoenert - ---- directfb-1.6.3/gfxdrivers/cyber5k/cyber5k.c -+++ directfb-1.6.3/gfxdrivers/cyber5k/cyber5k.c -@@ -636,7 +636,8 @@ osdSetRegion( CoreLayer - CoreLayerRegionConfigFlags updated, - CoreSurface *surface, - CorePalette *palette, -- CoreSurfaceBufferLock *lock ) -+ CoreSurfaceBufferLock *left_lock, -+ CoreSurfaceBufferLock *right_lock ) - { - DFBResult ret; - -@@ -644,7 +645,7 @@ osdSetRegion( CoreLayer - ret = oldPrimaryFuncs.SetRegion( layer, oldPrimaryDriverData, - layer_data, region_data, - config, updated, surface, -- palette, lock ); -+ palette, left_lock, right_lock ); - if (ret) - return ret; - ---- directfb-1.6.3/gfxdrivers/radeon/radeon_crtc1.c -+++ directfb-1.6.3/gfxdrivers/radeon/radeon_crtc1.c -@@ -147,14 +147,15 @@ crtc1SetRegion( CoreLayer - CoreLayerRegionConfigFlags updated, - CoreSurface *surface, - CorePalette *palette, -- CoreSurfaceBufferLock *lock ) -+ CoreSurfaceBufferLock *left_lock, -+ CoreSurfaceBufferLock *right_lock ) - { - - if (updated & ~CLRCF_OPTIONS) { - return OldPrimaryLayerFuncs.SetRegion( layer, - OldPrimaryLayerDriverData, - layer_data, region_data, -- config, updated, surface, palette, lock ); -+ config, updated, surface, palette, left_lock, right_lock ); - } - - return DFB_OK; ---- directfb-1.6.3/gfxdrivers/cle266/uc_primary.c -+++ directfb-1.6.3/gfxdrivers/cle266/uc_primary.c -@@ -138,7 +138,8 @@ osdSetRegion( CoreLayer - CoreLayerRegionConfigFlags updated, - CoreSurface *surface, - CorePalette *palette, -- CoreSurfaceBufferLock *lock ) -+ CoreSurfaceBufferLock *left_lock, -+ CoreSurfaceBufferLock *right_lock ) - { - DFBResult ret; - UcDriverData *ucdrv = (UcDriverData*) driver_data; -@@ -147,7 +148,7 @@ osdSetRegion( CoreLayer - ret = ucOldPrimaryFuncs.SetRegion( layer, ucOldPrimaryDriverData, - layer_data, region_data, - config, updated, surface, -- palette, lock ); -+ palette, left_lock, right_lock ); - if (ret) - return ret; - ---- directfb-1.6.3/gfxdrivers/unichrome/uc_primary.c -+++ directfb-1.6.3/gfxdrivers/unichrome/uc_primary.c -@@ -135,7 +135,8 @@ osdSetRegion( CoreLayer - CoreLayerRegionConfigFlags updated, - CoreSurface *surface, - CorePalette *palette, -- CoreSurfaceBufferLock *lock ) -+ CoreSurfaceBufferLock *left_lock, -+ CoreSurfaceBufferLock *right_lock ) - { - DFBResult ret; - UcDriverData *ucdrv = (UcDriverData*) driver_data; -@@ -144,7 +145,7 @@ osdSetRegion( CoreLayer - ret = ucOldPrimaryFuncs.SetRegion( layer, ucOldPrimaryDriverData, - layer_data, region_data, - config, updated, surface, -- palette, lock ); -+ palette, left_lock, right_lock ); - if (ret) - return ret; - - diff --git a/package/directfb/directfb-use-gcc-link.patch b/package/directfb/directfb-use-gcc-link.patch deleted file mode 100644 index ec6c0ea501..0000000000 --- a/package/directfb/directfb-use-gcc-link.patch +++ /dev/null @@ -1,35 +0,0 @@ -Add patch to use 'gcc' instead of 'ld' for linking - -The patch has been sent upstream but it has not been merged yet - -Signed-off-by: Markos Chandras - -From 176ce06b40897a357fe76a558af517197325f188 Mon Sep 17 00:00:00 2001 -From: Markos Chandras -Date: Wed, 28 Aug 2013 10:56:32 +0100 -Subject: [PATCH] rules/libobject.make: Use gcc for linking - -Invoking 'ld' directly may miss some necessary linker flags which -are usually passed by gcc. Therefore, use gcc for linking. - -Signed-off-by: Markos Chandras ---- - rules/libobject.make | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/rules/libobject.make b/rules/libobject.make -index bc670da..2cba658 100644 ---- a/rules/libobject.make -+++ b/rules/libobject.make -@@ -3,7 +3,7 @@ - if test -d $<.tmp; then rmdir $<.tmp; fi - mkdir $<.tmp - (cd $<.tmp && $(AR) x ../../$<) -- $(LD) -o $@ -r $<.tmp/*.o -+ $(CC) -nostdlib -o $@ -r $<.tmp/*.o - rm -f $<.tmp/*.o && rmdir $<.tmp - - .PHONY: $(LTLIBRARIES:%.la=.libs/%.a) --- -1.8.3.2 - diff --git a/package/dmidecode/0001-build-system-fixes.patch b/package/dmidecode/0001-build-system-fixes.patch new file mode 100644 index 0000000000..275f9df7f1 --- /dev/null +++ b/package/dmidecode/0001-build-system-fixes.patch @@ -0,0 +1,35 @@ +Minor build system fixes + +Usual build system fixes to allow CC/CFLAGS/LDFLAGS to be overriden +from the command line, and completed by additional flags from the +Makefile. + +Signed-off-by: Thomas Petazzoni + +Index: b/Makefile +=================================================================== +--- a/Makefile ++++ b/Makefile +@@ -12,9 +12,10 @@ + # (at your option) any later version. + # + +-CC = gcc +-CFLAGS = -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual \ +- -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef ++CC ?= gcc ++override CFLAGS += \ ++ -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual \ ++ -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef + #CFLAGS += -DBIGENDIAN + #CFLAGS += -DALIGNMENT_WORKAROUND + +@@ -23,7 +24,7 @@ + #CFLAGS += -g + + # Pass linker flags here +-LDFLAGS = ++override LDFLAGS += + + DESTDIR = + prefix = /usr/local diff --git a/package/dmidecode/dmidecode-build-system-fixes.patch b/package/dmidecode/dmidecode-build-system-fixes.patch deleted file mode 100644 index 275f9df7f1..0000000000 --- a/package/dmidecode/dmidecode-build-system-fixes.patch +++ /dev/null @@ -1,35 +0,0 @@ -Minor build system fixes - -Usual build system fixes to allow CC/CFLAGS/LDFLAGS to be overriden -from the command line, and completed by additional flags from the -Makefile. - -Signed-off-by: Thomas Petazzoni - -Index: b/Makefile -=================================================================== ---- a/Makefile -+++ b/Makefile -@@ -12,9 +12,10 @@ - # (at your option) any later version. - # - --CC = gcc --CFLAGS = -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual \ -- -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef -+CC ?= gcc -+override CFLAGS += \ -+ -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual \ -+ -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef - #CFLAGS += -DBIGENDIAN - #CFLAGS += -DALIGNMENT_WORKAROUND - -@@ -23,7 +24,7 @@ - #CFLAGS += -g - - # Pass linker flags here --LDFLAGS = -+override LDFLAGS += - - DESTDIR = - prefix = /usr/local diff --git a/package/dropwatch/0001-build.patch b/package/dropwatch/0001-build.patch new file mode 100644 index 0000000000..eed43e8dd7 --- /dev/null +++ b/package/dropwatch/0001-build.patch @@ -0,0 +1,27 @@ +From 03bab84ca3f102274837e83ee6da4c997a9da018 Mon Sep 17 00:00:00 2001 +From: Tzu-Jung Lee +Date: Fri, 12 Jul 2013 20:00:57 +0800 +Subject: [PATCH] build: modify hardcoded gcc to support buildroot + +Signed-off-by: Tzu-Jung Lee + +diff --git a/src/Makefile b/src/Makefile +index 026b6ba..b87ae9f 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -5,10 +5,10 @@ OBJFILES := main.o lookup.o\ + lookup_bfd.o lookup_kas.o + + dropwatch: $(OBJFILES) +- gcc -g -o dropwatch $(OBJFILES) $(LDFLAGS) ++ $(CC) -g -o dropwatch $(OBJFILES) $(LDFLAGS) + + %.o: %.c +- gcc $(CFLAGS) $< ++ $(CC) $(CFLAGS) $< + clean: + rm -f dropwatch *.o + +-- +1.8.3.2 + diff --git a/package/dropwatch/0002-binutils-2.23.1.patch b/package/dropwatch/0002-binutils-2.23.1.patch new file mode 100644 index 0000000000..4d43356a6a --- /dev/null +++ b/package/dropwatch/0002-binutils-2.23.1.patch @@ -0,0 +1,74 @@ +libbfd from binutils 2.23.1+ requires PACKAGE* definitions from autoconf. +Patch from https://fedorahosted.org/dropwatch/ticket/5 +Upstream status: new. + +Signed-off-by: Gustavo Zacarias + +diff -aurd src.orig/lookup.c src/lookup.c +--- a/src/lookup.c 2011-10-03 22:51:38.000000000 +0400 ++++ b/src/lookup.c 2013-02-18 09:13:56.683214438 +0400 +@@ -27,13 +27,13 @@ + #include + #include + #include +-#include + #include + #include + #include + #include + + #include "lookup.h" ++#include + + extern struct lookup_methods bfd_methods; + extern struct lookup_methods kallsym_methods; +diff -aurd src.orig/lookup.h src/lookup.h +--- a/src/lookup.h 2011-10-03 22:51:38.000000000 +0400 ++++ b/src/lookup.h 2013-02-18 09:11:00.506895026 +0400 +@@ -28,6 +28,9 @@ + #include + #include + ++// satisfy PR 14072 in bfd.h ++#define PACKAGE 1 ++#define PACKAGE_VERSION 1 + + /* + * Initalization routine +diff -aurd src.orig/lookup_bfd.c src/lookup_bfd.c +--- a/src/lookup_bfd.c 2012-01-16 22:34:11.000000000 +0400 ++++ b/src/lookup_bfd.c 2013-02-18 09:14:02.472984310 +0400 +@@ -25,13 +25,13 @@ + #include + #include + #include +-#include + #include + #include + #include + #include + + #include "lookup.h" ++#include + + + static int lookup_bfd_init(void) +diff -aurd src.orig/lookup_kas.c src/lookup_kas.c +--- a/src/lookup_kas.c 2012-05-31 02:43:23.000000000 +0400 ++++ b/src/lookup_kas.c 2013-02-18 09:14:07.906101713 +0400 +@@ -25,7 +25,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -33,6 +32,7 @@ + #include + + #include "lookup.h" ++#include + + struct symbol_entry { + char *sym_name; diff --git a/package/dropwatch/0003-remove-werror.patch b/package/dropwatch/0003-remove-werror.patch new file mode 100644 index 0000000000..97b26b74c4 --- /dev/null +++ b/package/dropwatch/0003-remove-werror.patch @@ -0,0 +1,18 @@ +-Werror shouldn't be used in released code since it can +cause random build failures on moderate warnings. It also +depends on the used toolchain since different toolchains may +or may not print the same warnings. + +Signed-off-by: Markos Chandras + +Index: dropwatch-1.4/src/Makefile +=================================================================== +--- dropwatch-1.4.orig/src/Makefile ++++ dropwatch-1.4/src/Makefile +@@ -1,5 +1,5 @@ + all: dropwatch +-CFLAGS+=-c -g -D_GNU_SOURCE -Wall -Werror `pkg-config --cflags libnl-3.0` ++CFLAGS+=-c -g -D_GNU_SOURCE -Wall `pkg-config --cflags libnl-3.0` + LDFLAGS=-lbfd -lreadline -lnl-3 -lnl-genl-3 + OBJFILES := main.o lookup.o\ + lookup_bfd.o lookup_kas.o diff --git a/package/dropwatch/dropwatch-01-build.patch b/package/dropwatch/dropwatch-01-build.patch deleted file mode 100644 index eed43e8dd7..0000000000 --- a/package/dropwatch/dropwatch-01-build.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 03bab84ca3f102274837e83ee6da4c997a9da018 Mon Sep 17 00:00:00 2001 -From: Tzu-Jung Lee -Date: Fri, 12 Jul 2013 20:00:57 +0800 -Subject: [PATCH] build: modify hardcoded gcc to support buildroot - -Signed-off-by: Tzu-Jung Lee - -diff --git a/src/Makefile b/src/Makefile -index 026b6ba..b87ae9f 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -5,10 +5,10 @@ OBJFILES := main.o lookup.o\ - lookup_bfd.o lookup_kas.o - - dropwatch: $(OBJFILES) -- gcc -g -o dropwatch $(OBJFILES) $(LDFLAGS) -+ $(CC) -g -o dropwatch $(OBJFILES) $(LDFLAGS) - - %.o: %.c -- gcc $(CFLAGS) $< -+ $(CC) $(CFLAGS) $< - clean: - rm -f dropwatch *.o - --- -1.8.3.2 - diff --git a/package/dropwatch/dropwatch-02-binutils-2.23.1.patch b/package/dropwatch/dropwatch-02-binutils-2.23.1.patch deleted file mode 100644 index 4d43356a6a..0000000000 --- a/package/dropwatch/dropwatch-02-binutils-2.23.1.patch +++ /dev/null @@ -1,74 +0,0 @@ -libbfd from binutils 2.23.1+ requires PACKAGE* definitions from autoconf. -Patch from https://fedorahosted.org/dropwatch/ticket/5 -Upstream status: new. - -Signed-off-by: Gustavo Zacarias - -diff -aurd src.orig/lookup.c src/lookup.c ---- a/src/lookup.c 2011-10-03 22:51:38.000000000 +0400 -+++ b/src/lookup.c 2013-02-18 09:13:56.683214438 +0400 -@@ -27,13 +27,13 @@ - #include - #include - #include --#include - #include - #include - #include - #include - - #include "lookup.h" -+#include - - extern struct lookup_methods bfd_methods; - extern struct lookup_methods kallsym_methods; -diff -aurd src.orig/lookup.h src/lookup.h ---- a/src/lookup.h 2011-10-03 22:51:38.000000000 +0400 -+++ b/src/lookup.h 2013-02-18 09:11:00.506895026 +0400 -@@ -28,6 +28,9 @@ - #include - #include - -+// satisfy PR 14072 in bfd.h -+#define PACKAGE 1 -+#define PACKAGE_VERSION 1 - - /* - * Initalization routine -diff -aurd src.orig/lookup_bfd.c src/lookup_bfd.c ---- a/src/lookup_bfd.c 2012-01-16 22:34:11.000000000 +0400 -+++ b/src/lookup_bfd.c 2013-02-18 09:14:02.472984310 +0400 -@@ -25,13 +25,13 @@ - #include - #include - #include --#include - #include - #include - #include - #include - - #include "lookup.h" -+#include - - - static int lookup_bfd_init(void) -diff -aurd src.orig/lookup_kas.c src/lookup_kas.c ---- a/src/lookup_kas.c 2012-05-31 02:43:23.000000000 +0400 -+++ b/src/lookup_kas.c 2013-02-18 09:14:07.906101713 +0400 -@@ -25,7 +25,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -33,6 +32,7 @@ - #include - - #include "lookup.h" -+#include - - struct symbol_entry { - char *sym_name; diff --git a/package/dropwatch/dropwatch-03-remove-werror.patch b/package/dropwatch/dropwatch-03-remove-werror.patch deleted file mode 100644 index 97b26b74c4..0000000000 --- a/package/dropwatch/dropwatch-03-remove-werror.patch +++ /dev/null @@ -1,18 +0,0 @@ --Werror shouldn't be used in released code since it can -cause random build failures on moderate warnings. It also -depends on the used toolchain since different toolchains may -or may not print the same warnings. - -Signed-off-by: Markos Chandras - -Index: dropwatch-1.4/src/Makefile -=================================================================== ---- dropwatch-1.4.orig/src/Makefile -+++ dropwatch-1.4/src/Makefile -@@ -1,5 +1,5 @@ - all: dropwatch --CFLAGS+=-c -g -D_GNU_SOURCE -Wall -Werror `pkg-config --cflags libnl-3.0` -+CFLAGS+=-c -g -D_GNU_SOURCE -Wall `pkg-config --cflags libnl-3.0` - LDFLAGS=-lbfd -lreadline -lnl-3 -lnl-genl-3 - OBJFILES := main.o lookup.o\ - lookup_bfd.o lookup_kas.o diff --git a/package/e2fsprogs/0001-sem-init-libs.patch b/package/e2fsprogs/0001-sem-init-libs.patch new file mode 100644 index 0000000000..56f1cc2c15 --- /dev/null +++ b/package/e2fsprogs/0001-sem-init-libs.patch @@ -0,0 +1,11 @@ +--- e2fsprogs-1.41.9/MCONFIG.in.orig 2009-10-07 20:25:07.000000000 +0800 ++++ e2fsprogs-1.41.9/MCONFIG.in 2009-10-07 20:21:41.000000000 +0800 +@@ -85,7 +85,7 @@ + # + LIB = $(top_builddir)/lib + LIBSS = $(LIB)/libss@LIB_EXT@ @PRIVATE_LIBS_CMT@ @DLOPEN_LIB@ +-LIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@ @PRIVATE_LIBS_CMT@ @SEM_INIT_LIB@ ++LIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@ @SEM_INIT_LIB@ + LIBE2P = $(LIB)/libe2p@LIB_EXT@ + LIBEXT2FS = $(LIB)/libext2fs@LIB_EXT@ + LIBUUID = @LIBUUID@ @SOCKET_LIB@ diff --git a/package/e2fsprogs/e2fsprogs-0001-sem-init-libs.patch b/package/e2fsprogs/e2fsprogs-0001-sem-init-libs.patch deleted file mode 100644 index 56f1cc2c15..0000000000 --- a/package/e2fsprogs/e2fsprogs-0001-sem-init-libs.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- e2fsprogs-1.41.9/MCONFIG.in.orig 2009-10-07 20:25:07.000000000 +0800 -+++ e2fsprogs-1.41.9/MCONFIG.in 2009-10-07 20:21:41.000000000 +0800 -@@ -85,7 +85,7 @@ - # - LIB = $(top_builddir)/lib - LIBSS = $(LIB)/libss@LIB_EXT@ @PRIVATE_LIBS_CMT@ @DLOPEN_LIB@ --LIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@ @PRIVATE_LIBS_CMT@ @SEM_INIT_LIB@ -+LIBCOM_ERR = $(LIB)/libcom_err@LIB_EXT@ @SEM_INIT_LIB@ - LIBE2P = $(LIB)/libe2p@LIB_EXT@ - LIBEXT2FS = $(LIB)/libext2fs@LIB_EXT@ - LIBUUID = @LIBUUID@ @SOCKET_LIB@ diff --git a/package/elftosb/0001-fixes-includes.patch b/package/elftosb/0001-fixes-includes.patch new file mode 100644 index 0000000000..eaf8ebad98 --- /dev/null +++ b/package/elftosb/0001-fixes-includes.patch @@ -0,0 +1,19 @@ +This patch uses system include files instead of a hard coded system path to fixe +potential compilation failure on systems that do not populate system header +files in /usr/include/.. + +Signed-off-by: Eric Jarrige +--- +Index: host-elftosb-10.12.01/common/stdafx.h +=================================================================== +--- host-elftosb-10.12.01.orig/common/stdafx.h 2012-01-30 12:43:35.000000000 +0100 ++++ host-elftosb-10.12.01/common/stdafx.h 2012-01-30 12:43:54.000000000 +0100 +@@ -27,7 +27,7 @@ + // For Linux systems only, types.h only defines the signed + // integer types. This is not professional code. + // Update: They are defined in the header files in the more recent version of redhat enterprise gcc. +-#include "/usr/include/sys/types.h" ++#include + #include + //typedef unsigned long uint32_t; + //typedef unsigned short uint16_t; diff --git a/package/elftosb/0002-force-cxx-compiler.patch b/package/elftosb/0002-force-cxx-compiler.patch new file mode 100644 index 0000000000..14df0dbe46 --- /dev/null +++ b/package/elftosb/0002-force-cxx-compiler.patch @@ -0,0 +1,98 @@ +Subject: [PATCH 1/1] elftosb: force host C++ compiler + +Because Freescale provides *.cpp sources and elftosb links again libstdc++, +force to use the host c++ compiler. + +This patch avoids the following error occurs: + +gcc AESKey.o Blob.o crc.o DataSource.o DataTarget.o ELFSourceFile.o EncoreBootImage.o EvalContext.o GHSSecInfo.o GlobMatcher.o HexValues.o Logging.o Operation.o OptionDictionary.o options.o OutputSection.o Random.o RijndaelCBCMAC.o rijndael.o SHA1.o SourceFile.o SRecordSourceFile.o stdafx.o StELFFile.o StExecutableImage.o StSRecordFile.o Value.o Version.o format_string.o ExcludesListMatcher.o SearchPath.o DataSourceImager.o IVTDataSource.o BootImageGenerator.o ConversionController.o ElftosbAST.o elftosb.o elftosb_lexer.o ElftosbLexer.o elftosb_parser.tab.o EncoreBootImageGenerator.o -lstdc++ -o elftosb +/usr/bin/ld: ElftosbAST.o: undefined reference to symbol 'powf@@GLIBC_2.2.5' +/usr/bin/ld: note: 'powf@@GLIBC_2.2.5' is defined in DSO /lib64/libm.so.6 so try adding it to the linker command line +/lib64/libm.so.6: could not read symbols: Invalid operation +collect2: error: ld returned 1 exit status + +When compiling with gcc and linking against libstdc++, ld uses libc instead of +libstdc++. +However, libc does not provide all functions libstdc++ does. +Indeed, maths functions are provided by libm, not libc. +Thus, elftosb should either: +- use gcc and link against libc and libm; +- or use g++ and link against libstdc++. + +Because elftosb is written in C++, this patch implement the sencond option, using +g++ and linking against libstdc++. + +Signed-off-by: Samuel Martin + +--- +Index: host-elftosb-10.12.01/makefile.rules +=================================================================== +--- host-elftosb-10.12.01.orig/makefile.rules 2012-06-09 21:12:23.557526100 +0200 ++++ host-elftosb-10.12.01/makefile.rules 2012-06-09 21:15:21.659894571 +0200 +@@ -15,6 +15,8 @@ + # UNAMES is going to be set to either "Linux" or "CYGWIN_NT-5.1" + UNAMES = $(shell uname -s) + ++CXX ?= g++ ++ + #******************************************************************************* + # Directories + +@@ -37,9 +39,9 @@ + #******************************************************************************* + # Build flags +-# gcc Compiler flags ++# Compiler flags + # -g : Produce debugging information. + +-CFLAGS = -g $(INC_PATH) -D${UNAMES} ++CXXFLAGS = -g $(INC_PATH) -D${UNAMES} + + #******************************************************************************* + # File lists +@@ -137,13 +139,13 @@ clean: + ${EXEC_FILE_ELFTOSB2} ${EXEC_FILE_SBTOOL} ${EXEC_FILE_KEYGEN} + + elftosb: ${OBJ_FILES_ELFTOSB2} +- gcc ${OBJ_FILES_ELFTOSB2} ${LIBS} -o ${EXEC_FILE_ELFTOSB2} ++ $(CXX) ${OBJ_FILES_ELFTOSB2} ${LIBS} -o ${EXEC_FILE_ELFTOSB2} + + sbtool: ${OBJ_FILES_SBTOOL} +- gcc ${OBJ_FILES_SBTOOL} ${LIBS} -o ${EXEC_FILE_SBTOOL} ++ $(CXX) ${OBJ_FILES_SBTOOL} ${LIBS} -o ${EXEC_FILE_SBTOOL} + + keygen: ${OBJ_FILES_KEYGEN} +- gcc ${OBJ_FILES_KEYGEN} ${LIBS} -o ${EXEC_FILE_KEYGEN} ++ $(CXX) ${OBJ_FILES_KEYGEN} ${LIBS} -o ${EXEC_FILE_KEYGEN} + + + #ifeq ("${UNAMES}", "Linux") +@@ -153,10 +155,10 @@ keygen: ${OBJ_FILES_KEYGEN} + .SUFFIXES : .c .cpp + + .c.o : +- gcc ${CFLAGS} -c $< ++ $(CC) ${CXXFLAGS} -c $< + + .cpp.o : +- gcc ${CFLAGS} -c $< ++ $(CXX) ${CXXFLAGS} -c $< + + #endif + +@@ -165,13 +167,13 @@ keygen: ${OBJ_FILES_KEYGEN} + + %.d: %.c + @set -e; \ +- $(CC) -MM $(CFLAGS) $< | \ ++ $(CC) -MM $(CXXFLAGS) $< | \ + sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \ + [ -s $@ ] || rm -f $@ + + %.d: %.cpp + @set -e; \ +- $(CC) -MM $(CFLAGS) $< | \ ++ $(CXX) -MM $(CXXFLAGS) $< | \ + sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \ + [ -s $@ ] || rm -f $@ + diff --git a/package/elftosb/elftosb-fixes-includes.patch b/package/elftosb/elftosb-fixes-includes.patch deleted file mode 100644 index eaf8ebad98..0000000000 --- a/package/elftosb/elftosb-fixes-includes.patch +++ /dev/null @@ -1,19 +0,0 @@ -This patch uses system include files instead of a hard coded system path to fixe -potential compilation failure on systems that do not populate system header -files in /usr/include/.. - -Signed-off-by: Eric Jarrige ---- -Index: host-elftosb-10.12.01/common/stdafx.h -=================================================================== ---- host-elftosb-10.12.01.orig/common/stdafx.h 2012-01-30 12:43:35.000000000 +0100 -+++ host-elftosb-10.12.01/common/stdafx.h 2012-01-30 12:43:54.000000000 +0100 -@@ -27,7 +27,7 @@ - // For Linux systems only, types.h only defines the signed - // integer types. This is not professional code. - // Update: They are defined in the header files in the more recent version of redhat enterprise gcc. --#include "/usr/include/sys/types.h" -+#include - #include - //typedef unsigned long uint32_t; - //typedef unsigned short uint16_t; diff --git a/package/elftosb/elftosb-force-cxx-compiler.patch b/package/elftosb/elftosb-force-cxx-compiler.patch deleted file mode 100644 index 14df0dbe46..0000000000 --- a/package/elftosb/elftosb-force-cxx-compiler.patch +++ /dev/null @@ -1,98 +0,0 @@ -Subject: [PATCH 1/1] elftosb: force host C++ compiler - -Because Freescale provides *.cpp sources and elftosb links again libstdc++, -force to use the host c++ compiler. - -This patch avoids the following error occurs: - -gcc AESKey.o Blob.o crc.o DataSource.o DataTarget.o ELFSourceFile.o EncoreBootImage.o EvalContext.o GHSSecInfo.o GlobMatcher.o HexValues.o Logging.o Operation.o OptionDictionary.o options.o OutputSection.o Random.o RijndaelCBCMAC.o rijndael.o SHA1.o SourceFile.o SRecordSourceFile.o stdafx.o StELFFile.o StExecutableImage.o StSRecordFile.o Value.o Version.o format_string.o ExcludesListMatcher.o SearchPath.o DataSourceImager.o IVTDataSource.o BootImageGenerator.o ConversionController.o ElftosbAST.o elftosb.o elftosb_lexer.o ElftosbLexer.o elftosb_parser.tab.o EncoreBootImageGenerator.o -lstdc++ -o elftosb -/usr/bin/ld: ElftosbAST.o: undefined reference to symbol 'powf@@GLIBC_2.2.5' -/usr/bin/ld: note: 'powf@@GLIBC_2.2.5' is defined in DSO /lib64/libm.so.6 so try adding it to the linker command line -/lib64/libm.so.6: could not read symbols: Invalid operation -collect2: error: ld returned 1 exit status - -When compiling with gcc and linking against libstdc++, ld uses libc instead of -libstdc++. -However, libc does not provide all functions libstdc++ does. -Indeed, maths functions are provided by libm, not libc. -Thus, elftosb should either: -- use gcc and link against libc and libm; -- or use g++ and link against libstdc++. - -Because elftosb is written in C++, this patch implement the sencond option, using -g++ and linking against libstdc++. - -Signed-off-by: Samuel Martin - ---- -Index: host-elftosb-10.12.01/makefile.rules -=================================================================== ---- host-elftosb-10.12.01.orig/makefile.rules 2012-06-09 21:12:23.557526100 +0200 -+++ host-elftosb-10.12.01/makefile.rules 2012-06-09 21:15:21.659894571 +0200 -@@ -15,6 +15,8 @@ - # UNAMES is going to be set to either "Linux" or "CYGWIN_NT-5.1" - UNAMES = $(shell uname -s) - -+CXX ?= g++ -+ - #******************************************************************************* - # Directories - -@@ -37,9 +39,9 @@ - #******************************************************************************* - # Build flags --# gcc Compiler flags -+# Compiler flags - # -g : Produce debugging information. - --CFLAGS = -g $(INC_PATH) -D${UNAMES} -+CXXFLAGS = -g $(INC_PATH) -D${UNAMES} - - #******************************************************************************* - # File lists -@@ -137,13 +139,13 @@ clean: - ${EXEC_FILE_ELFTOSB2} ${EXEC_FILE_SBTOOL} ${EXEC_FILE_KEYGEN} - - elftosb: ${OBJ_FILES_ELFTOSB2} -- gcc ${OBJ_FILES_ELFTOSB2} ${LIBS} -o ${EXEC_FILE_ELFTOSB2} -+ $(CXX) ${OBJ_FILES_ELFTOSB2} ${LIBS} -o ${EXEC_FILE_ELFTOSB2} - - sbtool: ${OBJ_FILES_SBTOOL} -- gcc ${OBJ_FILES_SBTOOL} ${LIBS} -o ${EXEC_FILE_SBTOOL} -+ $(CXX) ${OBJ_FILES_SBTOOL} ${LIBS} -o ${EXEC_FILE_SBTOOL} - - keygen: ${OBJ_FILES_KEYGEN} -- gcc ${OBJ_FILES_KEYGEN} ${LIBS} -o ${EXEC_FILE_KEYGEN} -+ $(CXX) ${OBJ_FILES_KEYGEN} ${LIBS} -o ${EXEC_FILE_KEYGEN} - - - #ifeq ("${UNAMES}", "Linux") -@@ -153,10 +155,10 @@ keygen: ${OBJ_FILES_KEYGEN} - .SUFFIXES : .c .cpp - - .c.o : -- gcc ${CFLAGS} -c $< -+ $(CC) ${CXXFLAGS} -c $< - - .cpp.o : -- gcc ${CFLAGS} -c $< -+ $(CXX) ${CXXFLAGS} -c $< - - #endif - -@@ -165,13 +167,13 @@ keygen: ${OBJ_FILES_KEYGEN} - - %.d: %.c - @set -e; \ -- $(CC) -MM $(CFLAGS) $< | \ -+ $(CC) -MM $(CXXFLAGS) $< | \ - sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \ - [ -s $@ ] || rm -f $@ - - %.d: %.cpp - @set -e; \ -- $(CC) -MM $(CFLAGS) $< | \ -+ $(CXX) -MM $(CXXFLAGS) $< | \ - sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \ - [ -s $@ ] || rm -f $@ - diff --git a/package/empty/0001-respect-LDFLAGS.patch b/package/empty/0001-respect-LDFLAGS.patch new file mode 100644 index 0000000000..b98af07eac --- /dev/null +++ b/package/empty/0001-respect-LDFLAGS.patch @@ -0,0 +1,22 @@ +downloaded from +http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-misc/empty/files/empty-respect-LDFLAGS.patch?view=markup + +Reported on the Gentoo bug tracker +https://bugs.gentoo.org/show_bug.cgi?id=429664 + +and reported upstream +https://sourceforge.net/tracker/?func=detail&aid=3554236&group_id=136798&atid=736886 + +Signed-off-by: Bernd Kuhls + +--- empty-0.6.18b/Makefile ++++ empty-0.6.18b/Makefile +@@ -16,7 +16,7 @@ + PREFIX = /usr/local + + all: +- ${CC} ${CFLAGS} -Wall ${LIBS} -o empty empty.c ++ ${CC} ${CFLAGS} ${LDFLAGS} empty.c ${LIBS} -o empty + + FreeBSD: all + NetBSD: all diff --git a/package/empty/empty-0001-respect-LDFLAGS.patch b/package/empty/empty-0001-respect-LDFLAGS.patch deleted file mode 100644 index b98af07eac..0000000000 --- a/package/empty/empty-0001-respect-LDFLAGS.patch +++ /dev/null @@ -1,22 +0,0 @@ -downloaded from -http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-misc/empty/files/empty-respect-LDFLAGS.patch?view=markup - -Reported on the Gentoo bug tracker -https://bugs.gentoo.org/show_bug.cgi?id=429664 - -and reported upstream -https://sourceforge.net/tracker/?func=detail&aid=3554236&group_id=136798&atid=736886 - -Signed-off-by: Bernd Kuhls - ---- empty-0.6.18b/Makefile -+++ empty-0.6.18b/Makefile -@@ -16,7 +16,7 @@ - PREFIX = /usr/local - - all: -- ${CC} ${CFLAGS} -Wall ${LIBS} -o empty empty.c -+ ${CC} ${CFLAGS} ${LDFLAGS} empty.c ${LIBS} -o empty - - FreeBSD: all - NetBSD: all diff --git a/package/erlang-p1-sip/0001-fix-includes.patch b/package/erlang-p1-sip/0001-fix-includes.patch new file mode 100644 index 0000000000..80e2ab36c2 --- /dev/null +++ b/package/erlang-p1-sip/0001-fix-includes.patch @@ -0,0 +1,19 @@ +Description: correct include + This part of the code was moved into it's own project and was packaged + separately by me. To make the build process work, this small fix is + necessary. +Author: Philipp Huebner + +Index: erlang-p1-sip/src/esip_socket.erl +=================================================================== +--- erlang-p1-sip.orig/src/esip_socket.erl ++++ erlang-p1-sip/src/esip_socket.erl +@@ -22,7 +22,7 @@ + + -include("esip.hrl"). + -include("esip_lib.hrl"). +--include("stun.hrl"). ++-include_lib("p1_stun/include/stun.hrl"). + + -define(TCP_SEND_TIMEOUT, 15000). + -define(CONNECT_TIMEOUT, 20000). diff --git a/package/erlang-p1-sip/erlang-p1-sip-01-fix-includes.patch b/package/erlang-p1-sip/erlang-p1-sip-01-fix-includes.patch deleted file mode 100644 index 80e2ab36c2..0000000000 --- a/package/erlang-p1-sip/erlang-p1-sip-01-fix-includes.patch +++ /dev/null @@ -1,19 +0,0 @@ -Description: correct include - This part of the code was moved into it's own project and was packaged - separately by me. To make the build process work, this small fix is - necessary. -Author: Philipp Huebner - -Index: erlang-p1-sip/src/esip_socket.erl -=================================================================== ---- erlang-p1-sip.orig/src/esip_socket.erl -+++ erlang-p1-sip/src/esip_socket.erl -@@ -22,7 +22,7 @@ - - -include("esip.hrl"). - -include("esip_lib.hrl"). ---include("stun.hrl"). -+-include_lib("p1_stun/include/stun.hrl"). - - -define(TCP_SEND_TIMEOUT, 15000). - -define(CONNECT_TIMEOUT, 20000). diff --git a/package/exim/0001-Build-buildconfig-for-the-host.patch b/package/exim/0001-Build-buildconfig-for-the-host.patch new file mode 100644 index 0000000000..a926fbdab3 --- /dev/null +++ b/package/exim/0001-Build-buildconfig-for-the-host.patch @@ -0,0 +1,23 @@ +buildconfig is meant to be executed on the host, so it has to be compiled +using $(HOSTCC), not $(CC). + +Signed-off-by: Luca Ceresoli +--- + OS/Makefile-Base | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/OS/Makefile-Base b/OS/Makefile-Base +index 29a6ad3..420ba60 100644 +--- a/OS/Makefile-Base ++++ b/OS/Makefile-Base +@@ -114,8 +114,8 @@ allexim: config.h $(EXIM_MONITOR) exicyclog exinext exiwhat \ + + # Targets for special-purpose configuration header builders + buildconfig: buildconfig.c +- @echo "$(CC) buildconfig.c" +- $(FE)$(CC) $(CFLAGS) $(INCLUDE) -o buildconfig buildconfig.c $(LIBS) ++ @echo "$(HOSTCC) buildconfig.c" ++ $(FE)$(HOSTCC) $(HOSTCFLAGS) $(INCLUDE) -o buildconfig buildconfig.c $(LIBS) + + + # Target for the exicyclog utility script diff --git a/package/exim/0002-Don-t-make-backup-copies-of-installed-files.patch b/package/exim/0002-Don-t-make-backup-copies-of-installed-files.patch new file mode 100644 index 0000000000..0cdaa744bc --- /dev/null +++ b/package/exim/0002-Don-t-make-backup-copies-of-installed-files.patch @@ -0,0 +1,40 @@ +If exim had already been installed, the install script makes backup +copies of the pre-existing executables with a ".0" suffix. + +This leads to useless duplicated files on the target, so disable this +piece of code. + +Signed-off-by: Luca Ceresoli +--- + scripts/exim_install | 18 +++++++++--------- + 1 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/scripts/exim_install b/scripts/exim_install +index 616ab3c..e68e7d5 100755 +--- a/scripts/exim_install ++++ b/scripts/exim_install +@@ -344,15 +344,15 @@ while [ $# -gt 0 ]; do + + else + if ../scripts/newer ${name} ${BIN_DIRECTORY}/${name}; then +- if [ -f ${BIN_DIRECTORY}/${name} ]; then +- echo ${CP} ${BIN_DIRECTORY}/${name} ${BIN_DIRECTORY}/${name}.O +- ${real} ${CP} ${BIN_DIRECTORY}/${name} ${BIN_DIRECTORY}/${name}.O +- if [ $? -ne 0 ]; then +- echo $com "" +- echo $com "*** Exim installation ${ver}failed ***" +- exit 1 +- fi +- fi ++# if [ -f ${BIN_DIRECTORY}/${name} ]; then ++# echo ${CP} ${BIN_DIRECTORY}/${name} ${BIN_DIRECTORY}/${name}.O ++# ${real} ${CP} ${BIN_DIRECTORY}/${name} ${BIN_DIRECTORY}/${name}.O ++# if [ $? -ne 0 ]; then ++# echo $com "" ++# echo $com "*** Exim installation ${ver}failed ***" ++# exit 1 ++# fi ++# fi + echo ${CP} ${name} ${BIN_DIRECTORY} + ${real} ${CP} ${name} ${BIN_DIRECTORY} + if [ $? -ne 0 ]; then diff --git a/package/exim/0003-Skip-version-check-and-symlink-installation.patch b/package/exim/0003-Skip-version-check-and-symlink-installation.patch new file mode 100644 index 0000000000..94d21ae114 --- /dev/null +++ b/package/exim/0003-Skip-version-check-and-symlink-installation.patch @@ -0,0 +1,40 @@ +The exim install script installs a binary named exim-, plus a symlink +to it named exim. +In order to achieve this "feature" (of dubious usefulness) it runs the +executable (on the host) and then filters its output to grab the version number. +This clearly cannot work if the executable is cross-compiled, so get rid of all +of it and just install an executable file called exim. + +Inspired by: +http://patch-tracker.debian.org/patch/series/view/exim4/4.76-2/35_install.dpatch + +Signed-off-by: Luca Ceresoli +--- + scripts/exim_install | 7 +++++-- + 1 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/scripts/exim_install b/scripts/exim_install +index e68e7d5..487a4e1 100755 +--- a/scripts/exim_install ++++ b/scripts/exim_install +@@ -59,6 +59,8 @@ while [ $# -gt 0 ] ; do + shift + done + ++do_symlink=no ++ + # Get the values of BIN_DIRECTORY, CONFIGURE_FILE, INFO_DIRECTORY, NO_SYMLINK, + # SYSTEM_ALIASES_FILE, and EXE from the global Makefile (in the build + # directory). EXE is empty except in the Cygwin environment. In each case, keep +@@ -218,8 +220,9 @@ while [ $# -gt 0 ]; do + # The exim binary is handled specially + + if [ $name = exim${EXE} ]; then +- version=exim-`./exim -bV -C /dev/null | \ +- awk '/Exim version/ { OFS=""; print $3,"-",substr($4,2,length($4)-1) }'`${EXE} ++ version=exim ++# version=exim-`./exim -bV -C /dev/null | \ ++# awk '/Exim version/ { OFS=""; print $3,"-",substr($4,2,length($4)-1) }'`${EXE} + + if [ "${version}" = "exim-${EXE}" ]; then + echo $com "" diff --git a/package/exim/exim-0001-Build-buildconfig-for-the-host.patch b/package/exim/exim-0001-Build-buildconfig-for-the-host.patch deleted file mode 100644 index a926fbdab3..0000000000 --- a/package/exim/exim-0001-Build-buildconfig-for-the-host.patch +++ /dev/null @@ -1,23 +0,0 @@ -buildconfig is meant to be executed on the host, so it has to be compiled -using $(HOSTCC), not $(CC). - -Signed-off-by: Luca Ceresoli ---- - OS/Makefile-Base | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/OS/Makefile-Base b/OS/Makefile-Base -index 29a6ad3..420ba60 100644 ---- a/OS/Makefile-Base -+++ b/OS/Makefile-Base -@@ -114,8 +114,8 @@ allexim: config.h $(EXIM_MONITOR) exicyclog exinext exiwhat \ - - # Targets for special-purpose configuration header builders - buildconfig: buildconfig.c -- @echo "$(CC) buildconfig.c" -- $(FE)$(CC) $(CFLAGS) $(INCLUDE) -o buildconfig buildconfig.c $(LIBS) -+ @echo "$(HOSTCC) buildconfig.c" -+ $(FE)$(HOSTCC) $(HOSTCFLAGS) $(INCLUDE) -o buildconfig buildconfig.c $(LIBS) - - - # Target for the exicyclog utility script diff --git a/package/exim/exim-0002-Don-t-make-backup-copies-of-installed-files.patch b/package/exim/exim-0002-Don-t-make-backup-copies-of-installed-files.patch deleted file mode 100644 index 0cdaa744bc..0000000000 --- a/package/exim/exim-0002-Don-t-make-backup-copies-of-installed-files.patch +++ /dev/null @@ -1,40 +0,0 @@ -If exim had already been installed, the install script makes backup -copies of the pre-existing executables with a ".0" suffix. - -This leads to useless duplicated files on the target, so disable this -piece of code. - -Signed-off-by: Luca Ceresoli ---- - scripts/exim_install | 18 +++++++++--------- - 1 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/scripts/exim_install b/scripts/exim_install -index 616ab3c..e68e7d5 100755 ---- a/scripts/exim_install -+++ b/scripts/exim_install -@@ -344,15 +344,15 @@ while [ $# -gt 0 ]; do - - else - if ../scripts/newer ${name} ${BIN_DIRECTORY}/${name}; then -- if [ -f ${BIN_DIRECTORY}/${name} ]; then -- echo ${CP} ${BIN_DIRECTORY}/${name} ${BIN_DIRECTORY}/${name}.O -- ${real} ${CP} ${BIN_DIRECTORY}/${name} ${BIN_DIRECTORY}/${name}.O -- if [ $? -ne 0 ]; then -- echo $com "" -- echo $com "*** Exim installation ${ver}failed ***" -- exit 1 -- fi -- fi -+# if [ -f ${BIN_DIRECTORY}/${name} ]; then -+# echo ${CP} ${BIN_DIRECTORY}/${name} ${BIN_DIRECTORY}/${name}.O -+# ${real} ${CP} ${BIN_DIRECTORY}/${name} ${BIN_DIRECTORY}/${name}.O -+# if [ $? -ne 0 ]; then -+# echo $com "" -+# echo $com "*** Exim installation ${ver}failed ***" -+# exit 1 -+# fi -+# fi - echo ${CP} ${name} ${BIN_DIRECTORY} - ${real} ${CP} ${name} ${BIN_DIRECTORY} - if [ $? -ne 0 ]; then diff --git a/package/exim/exim-0003-Skip-version-check-and-symlink-installation.patch b/package/exim/exim-0003-Skip-version-check-and-symlink-installation.patch deleted file mode 100644 index 94d21ae114..0000000000 --- a/package/exim/exim-0003-Skip-version-check-and-symlink-installation.patch +++ /dev/null @@ -1,40 +0,0 @@ -The exim install script installs a binary named exim-, plus a symlink -to it named exim. -In order to achieve this "feature" (of dubious usefulness) it runs the -executable (on the host) and then filters its output to grab the version number. -This clearly cannot work if the executable is cross-compiled, so get rid of all -of it and just install an executable file called exim. - -Inspired by: -http://patch-tracker.debian.org/patch/series/view/exim4/4.76-2/35_install.dpatch - -Signed-off-by: Luca Ceresoli ---- - scripts/exim_install | 7 +++++-- - 1 files changed, 5 insertions(+), 2 deletions(-) - -diff --git a/scripts/exim_install b/scripts/exim_install -index e68e7d5..487a4e1 100755 ---- a/scripts/exim_install -+++ b/scripts/exim_install -@@ -59,6 +59,8 @@ while [ $# -gt 0 ] ; do - shift - done - -+do_symlink=no -+ - # Get the values of BIN_DIRECTORY, CONFIGURE_FILE, INFO_DIRECTORY, NO_SYMLINK, - # SYSTEM_ALIASES_FILE, and EXE from the global Makefile (in the build - # directory). EXE is empty except in the Cygwin environment. In each case, keep -@@ -218,8 +220,9 @@ while [ $# -gt 0 ]; do - # The exim binary is handled specially - - if [ $name = exim${EXE} ]; then -- version=exim-`./exim -bV -C /dev/null | \ -- awk '/Exim version/ { OFS=""; print $3,"-",substr($4,2,length($4)-1) }'`${EXE} -+ version=exim -+# version=exim-`./exim -bV -C /dev/null | \ -+# awk '/Exim version/ { OFS=""; print $3,"-",substr($4,2,length($4)-1) }'`${EXE} - - if [ "${version}" = "exim-${EXE}" ]; then - echo $com "" diff --git a/package/exiv2/0001-remove-useless-header.patch b/package/exiv2/0001-remove-useless-header.patch new file mode 100644 index 0000000000..96a37348b9 --- /dev/null +++ b/package/exiv2/0001-remove-useless-header.patch @@ -0,0 +1,19 @@ +version.cpp: remove useless header inclusion + +The inclusion of link.h header is not required and can create build +error with some toolchains. +The patch is pushed on the upstream for the next release. +http://dev.exiv2.org/issues/1007 + +Signed-off-by: Nicolas Serafini + +--- exiv2-0.24.orig/src/version.cpp 2013-12-01 13:13:42.000000000 +0100 ++++ exiv2-0.24/src/version.cpp 2014-12-04 09:30:39.667234130 +0100 +@@ -116,7 +116,6 @@ typedef string_v::iterator string_i; + #elif defined(__linux__) + # include + // http://syprog.blogspot.com/2011/12/listing-loaded-shared-objects-in-linux.html +-# include "link.h" + # include + struct something + { diff --git a/package/exiv2/exiv2-0001-remove-useless-header.patch b/package/exiv2/exiv2-0001-remove-useless-header.patch deleted file mode 100644 index 96a37348b9..0000000000 --- a/package/exiv2/exiv2-0001-remove-useless-header.patch +++ /dev/null @@ -1,19 +0,0 @@ -version.cpp: remove useless header inclusion - -The inclusion of link.h header is not required and can create build -error with some toolchains. -The patch is pushed on the upstream for the next release. -http://dev.exiv2.org/issues/1007 - -Signed-off-by: Nicolas Serafini - ---- exiv2-0.24.orig/src/version.cpp 2013-12-01 13:13:42.000000000 +0100 -+++ exiv2-0.24/src/version.cpp 2014-12-04 09:30:39.667234130 +0100 -@@ -116,7 +116,6 @@ typedef string_v::iterator string_i; - #elif defined(__linux__) - # include - // http://syprog.blogspot.com/2011/12/listing-loaded-shared-objects-in-linux.html --# include "link.h" - # include - struct something - { diff --git a/package/expect/0001-enable-cross-compilation.patch b/package/expect/0001-enable-cross-compilation.patch new file mode 100644 index 0000000000..fd31a01f11 --- /dev/null +++ b/package/expect/0001-enable-cross-compilation.patch @@ -0,0 +1,120 @@ +From: Andrew Ruder +Subject: [PATCH] enable cross compilation for expect + +This patch was created by running ./configure on a modern Linux machine +and inserting the results into the cross compilation section of +each AC_MSG_CHECKING that bombed out with an error. + +Signed-off-by: Andrew Ruder +--- + +Index: expect-5.45/configure.in +=================================================================== +--- expect-5.45.orig/configure.in 2013-11-14 07:59:58.732100595 -0600 ++++ expect-5.45/configure.in 2013-11-14 07:59:58.732100595 -0600 +@@ -481,7 +481,7 @@ + , + AC_MSG_RESULT(no) + , +- AC_MSG_ERROR([Expect can't be cross compiled]) ++ AC_MSG_RESULT(no) + ) + + AC_MSG_CHECKING([if any value exists for WNOHANG]) +@@ -506,7 +506,8 @@ + AC_MSG_RESULT(no) + AC_DEFINE(WNOHANG_BACKUP_VALUE, 1) + , +- AC_MSG_ERROR([Expect can't be cross compiled]) ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(WNOHANG_BACKUP_VALUE, 1) + ) + + # +@@ -574,7 +575,7 @@ + AC_DEFINE(REARM_SIG) + , + AC_MSG_RESULT(no) +-, AC_MSG_WARN([Expect can't be cross compiled]) ++, AC_MSG_RESULT(no) + ) + + # HPUX7 has trouble with the big cat so split it +@@ -725,7 +726,7 @@ + , + AC_MSG_RESULT(no) + , +- AC_MSG_ERROR([Expect can't be cross compiled]) ++ AC_MSG_RESULT(no) + ) + + # mach systems have include files for unimplemented features +@@ -749,7 +750,9 @@ + , + AC_MSG_RESULT(no) + , +- AC_MSG_ERROR([Expect can't be cross compiled]) ++ AC_DEFINE(HAVE_TERMIO) ++ PTY_TYPE=termios ++ AC_MSG_RESULT(yes) + ) + + # now check for the new style ttys (not yet posix) +@@ -771,7 +774,9 @@ + , + AC_MSG_RESULT(no) + , +- AC_MSG_ERROR([Expect can't be cross compiled]) ++ AC_DEFINE(HAVE_TERMIOS) ++ PTY_TYPE=termios ++ AC_MSG_RESULT(yes) + ) + fi + +@@ -794,7 +799,7 @@ + , + AC_MSG_RESULT(no) + , +- AC_MSG_ERROR([Expect can't be cross compiled]) ++ AC_MSG_RESULT(no) + ) + + AC_MSG_CHECKING([if TIOCGWINSZ in termios.h]) +@@ -816,7 +821,7 @@ + , + AC_MSG_RESULT(no) + , +- AC_MSG_ERROR([Expect can't be cross compiled]) ++ AC_MSG_RESULT(no) + ) + + # finally check for Cray style ttys +@@ -837,7 +842,7 @@ + , + AC_MSG_RESULT(no) + , +- AC_MSG_ERROR([Expect can't be cross compiled]) ++ AC_MSG_RESULT(no) + ) + + # +@@ -869,7 +874,9 @@ + AC_HAVE_FUNCS(getpty) + + # following test sets SETPGRP_VOID if setpgrp takes 0 args, else takes 2 +-AC_FUNC_SETPGRP ++cat >>expect_cf.h <<\_ACEOF ++#define SETPGRP_VOID 1 ++_ACEOF + + # + # check for timezones +@@ -889,7 +896,7 @@ + AC_MSG_RESULT(yes), + AC_MSG_RESULT(no) + , +- AC_MSG_ERROR([Expect can't be cross compiled]) ++ AC_MSG_RESULT(yes) + ) + + diff --git a/package/expect/0002-allow-tcl-build-directory.patch b/package/expect/0002-allow-tcl-build-directory.patch new file mode 100644 index 0000000000..83ede7acb6 --- /dev/null +++ b/package/expect/0002-allow-tcl-build-directory.patch @@ -0,0 +1,34 @@ +From: Andrew Ruder +Subject: [PATCH] Allow tcl build directory for linking + +Some small changes to use TCL_BUILD_LIB_SPEC instead of TCL_LIB_SPEC for +linking against tcl directly out of its build directory. + +Signed-off-by: Andrew Ruder +--- + +Index: expect-5.45/Makefile.in +=================================================================== +--- expect-5.45.orig/Makefile.in 2013-11-14 07:59:58.732100595 -0600 ++++ expect-5.45/Makefile.in 2013-11-14 07:59:58.732100595 -0600 +@@ -393,7 +393,7 @@ + @LDFLAGS_DEFAULT@ \ + -o expect exp_main_exp.o \ + @EXP_BUILD_LIB_SPEC@ \ +- @TCL_LIB_SPEC@ \ ++ @TCL_BUILD_LIB_SPEC@ \ + @TCL_DL_LIBS@ @PKG_LIBS@ @MATH_LIBS@ \ + @TCL_CC_SEARCH_FLAGS@ \ + @EXP_CC_SEARCH_FLAGS@ +Index: expect-5.45/tclconfig/tcl.m4 +=================================================================== +--- expect-5.45.orig/tclconfig/tcl.m4 2010-11-09 13:42:10.000000000 -0600 ++++ expect-5.45/tclconfig/tcl.m4 2013-11-14 08:02:08.424100580 -0600 +@@ -412,6 +412,7 @@ + AC_SUBST(TCL_LIB_FILE) + AC_SUBST(TCL_LIB_FLAG) + AC_SUBST(TCL_LIB_SPEC) ++ AC_SUBST(TCL_BUILD_LIB_SPEC) + + AC_SUBST(TCL_STUB_LIB_FILE) + AC_SUBST(TCL_STUB_LIB_FLAG) diff --git a/package/expect/expect-0001-enable-cross-compilation.patch b/package/expect/expect-0001-enable-cross-compilation.patch deleted file mode 100644 index fd31a01f11..0000000000 --- a/package/expect/expect-0001-enable-cross-compilation.patch +++ /dev/null @@ -1,120 +0,0 @@ -From: Andrew Ruder -Subject: [PATCH] enable cross compilation for expect - -This patch was created by running ./configure on a modern Linux machine -and inserting the results into the cross compilation section of -each AC_MSG_CHECKING that bombed out with an error. - -Signed-off-by: Andrew Ruder ---- - -Index: expect-5.45/configure.in -=================================================================== ---- expect-5.45.orig/configure.in 2013-11-14 07:59:58.732100595 -0600 -+++ expect-5.45/configure.in 2013-11-14 07:59:58.732100595 -0600 -@@ -481,7 +481,7 @@ - , - AC_MSG_RESULT(no) - , -- AC_MSG_ERROR([Expect can't be cross compiled]) -+ AC_MSG_RESULT(no) - ) - - AC_MSG_CHECKING([if any value exists for WNOHANG]) -@@ -506,7 +506,8 @@ - AC_MSG_RESULT(no) - AC_DEFINE(WNOHANG_BACKUP_VALUE, 1) - , -- AC_MSG_ERROR([Expect can't be cross compiled]) -+ AC_MSG_RESULT(yes) -+ AC_DEFINE(WNOHANG_BACKUP_VALUE, 1) - ) - - # -@@ -574,7 +575,7 @@ - AC_DEFINE(REARM_SIG) - , - AC_MSG_RESULT(no) --, AC_MSG_WARN([Expect can't be cross compiled]) -+, AC_MSG_RESULT(no) - ) - - # HPUX7 has trouble with the big cat so split it -@@ -725,7 +726,7 @@ - , - AC_MSG_RESULT(no) - , -- AC_MSG_ERROR([Expect can't be cross compiled]) -+ AC_MSG_RESULT(no) - ) - - # mach systems have include files for unimplemented features -@@ -749,7 +750,9 @@ - , - AC_MSG_RESULT(no) - , -- AC_MSG_ERROR([Expect can't be cross compiled]) -+ AC_DEFINE(HAVE_TERMIO) -+ PTY_TYPE=termios -+ AC_MSG_RESULT(yes) - ) - - # now check for the new style ttys (not yet posix) -@@ -771,7 +774,9 @@ - , - AC_MSG_RESULT(no) - , -- AC_MSG_ERROR([Expect can't be cross compiled]) -+ AC_DEFINE(HAVE_TERMIOS) -+ PTY_TYPE=termios -+ AC_MSG_RESULT(yes) - ) - fi - -@@ -794,7 +799,7 @@ - , - AC_MSG_RESULT(no) - , -- AC_MSG_ERROR([Expect can't be cross compiled]) -+ AC_MSG_RESULT(no) - ) - - AC_MSG_CHECKING([if TIOCGWINSZ in termios.h]) -@@ -816,7 +821,7 @@ - , - AC_MSG_RESULT(no) - , -- AC_MSG_ERROR([Expect can't be cross compiled]) -+ AC_MSG_RESULT(no) - ) - - # finally check for Cray style ttys -@@ -837,7 +842,7 @@ - , - AC_MSG_RESULT(no) - , -- AC_MSG_ERROR([Expect can't be cross compiled]) -+ AC_MSG_RESULT(no) - ) - - # -@@ -869,7 +874,9 @@ - AC_HAVE_FUNCS(getpty) - - # following test sets SETPGRP_VOID if setpgrp takes 0 args, else takes 2 --AC_FUNC_SETPGRP -+cat >>expect_cf.h <<\_ACEOF -+#define SETPGRP_VOID 1 -+_ACEOF - - # - # check for timezones -@@ -889,7 +896,7 @@ - AC_MSG_RESULT(yes), - AC_MSG_RESULT(no) - , -- AC_MSG_ERROR([Expect can't be cross compiled]) -+ AC_MSG_RESULT(yes) - ) - - diff --git a/package/expect/expect-0002-allow-tcl-build-directory.patch b/package/expect/expect-0002-allow-tcl-build-directory.patch deleted file mode 100644 index 83ede7acb6..0000000000 --- a/package/expect/expect-0002-allow-tcl-build-directory.patch +++ /dev/null @@ -1,34 +0,0 @@ -From: Andrew Ruder -Subject: [PATCH] Allow tcl build directory for linking - -Some small changes to use TCL_BUILD_LIB_SPEC instead of TCL_LIB_SPEC for -linking against tcl directly out of its build directory. - -Signed-off-by: Andrew Ruder ---- - -Index: expect-5.45/Makefile.in -=================================================================== ---- expect-5.45.orig/Makefile.in 2013-11-14 07:59:58.732100595 -0600 -+++ expect-5.45/Makefile.in 2013-11-14 07:59:58.732100595 -0600 -@@ -393,7 +393,7 @@ - @LDFLAGS_DEFAULT@ \ - -o expect exp_main_exp.o \ - @EXP_BUILD_LIB_SPEC@ \ -- @TCL_LIB_SPEC@ \ -+ @TCL_BUILD_LIB_SPEC@ \ - @TCL_DL_LIBS@ @PKG_LIBS@ @MATH_LIBS@ \ - @TCL_CC_SEARCH_FLAGS@ \ - @EXP_CC_SEARCH_FLAGS@ -Index: expect-5.45/tclconfig/tcl.m4 -=================================================================== ---- expect-5.45.orig/tclconfig/tcl.m4 2010-11-09 13:42:10.000000000 -0600 -+++ expect-5.45/tclconfig/tcl.m4 2013-11-14 08:02:08.424100580 -0600 -@@ -412,6 +412,7 @@ - AC_SUBST(TCL_LIB_FILE) - AC_SUBST(TCL_LIB_FLAG) - AC_SUBST(TCL_LIB_SPEC) -+ AC_SUBST(TCL_BUILD_LIB_SPEC) - - AC_SUBST(TCL_STUB_LIB_FILE) - AC_SUBST(TCL_STUB_LIB_FLAG) diff --git a/package/ezxml/0001-allow-compiler-override.patch b/package/ezxml/0001-allow-compiler-override.patch new file mode 100644 index 0000000000..827872b714 --- /dev/null +++ b/package/ezxml/0001-allow-compiler-override.patch @@ -0,0 +1,17 @@ +diff -urpN ezxml/GNUmakefile ezxml.patched/GNUmakefile +--- ezxml/GNUmakefile 2006-03-25 18:44:04.000000000 +0100 ++++ ezxml.patched/GNUmakefile 2008-02-24 13:57:37.000000000 +0100 +@@ -21,10 +21,10 @@ + # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-CC = gcc +-AR = ar ++CC ?= gcc ++AR ?= ar + RM = rm -f +-CFLAGS = -Wall -O2 ++CFLAGS ?= -Wall -O2 + DEBUG_CFLAGS = -O0 -g + OBJS = ezxml.o + LIB = libezxml.a diff --git a/package/ezxml/ezxml-0.8.6-allow-compiler-override.patch b/package/ezxml/ezxml-0.8.6-allow-compiler-override.patch deleted file mode 100644 index 827872b714..0000000000 --- a/package/ezxml/ezxml-0.8.6-allow-compiler-override.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -urpN ezxml/GNUmakefile ezxml.patched/GNUmakefile ---- ezxml/GNUmakefile 2006-03-25 18:44:04.000000000 +0100 -+++ ezxml.patched/GNUmakefile 2008-02-24 13:57:37.000000000 +0100 -@@ -21,10 +21,10 @@ - # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - --CC = gcc --AR = ar -+CC ?= gcc -+AR ?= ar - RM = rm -f --CFLAGS = -Wall -O2 -+CFLAGS ?= -Wall -O2 - DEBUG_CFLAGS = -O0 -g - OBJS = ezxml.o - LIB = libezxml.a diff --git a/package/fbgrab/0001-fix-static-build.patch b/package/fbgrab/0001-fix-static-build.patch new file mode 100644 index 0000000000..fe5ae2cab1 --- /dev/null +++ b/package/fbgrab/0001-fix-static-build.patch @@ -0,0 +1,21 @@ +Fix static build + +fbgrab links against libpng, which depends on libm. For shared library +builds, there is nothing special to do about this, but for static +library builds, it is necessary to pass -lm when linking fbgrab. + +Signed-off-by: Thomas Petazzoni + +Index: b/Makefile +=================================================================== +--- a/Makefile ++++ b/Makefile +@@ -12,7 +12,7 @@ + all: fbgrab fbgrab.1.gz + + fbgrab: fbgrab.c +- $(CC) -g -Wall $(CFLAGS) $(LDFLAGS) $< -lpng -lz -o $@ ++ $(CC) -g -Wall $(CFLAGS) $(LDFLAGS) $< -lpng -lz -lm -o $@ + + fbgrab.1.gz: fbgrab.1.man + $(GZIP) $(GZIPFLAGS) $< > $@ diff --git a/package/fbgrab/fbgrab-01-fix-static-build.patch b/package/fbgrab/fbgrab-01-fix-static-build.patch deleted file mode 100644 index fe5ae2cab1..0000000000 --- a/package/fbgrab/fbgrab-01-fix-static-build.patch +++ /dev/null @@ -1,21 +0,0 @@ -Fix static build - -fbgrab links against libpng, which depends on libm. For shared library -builds, there is nothing special to do about this, but for static -library builds, it is necessary to pass -lm when linking fbgrab. - -Signed-off-by: Thomas Petazzoni - -Index: b/Makefile -=================================================================== ---- a/Makefile -+++ b/Makefile -@@ -12,7 +12,7 @@ - all: fbgrab fbgrab.1.gz - - fbgrab: fbgrab.c -- $(CC) -g -Wall $(CFLAGS) $(LDFLAGS) $< -lpng -lz -o $@ -+ $(CC) -g -Wall $(CFLAGS) $(LDFLAGS) $< -lpng -lz -lm -o $@ - - fbgrab.1.gz: fbgrab.1.man - $(GZIP) $(GZIPFLAGS) $< > $@ diff --git a/package/fbv/0001-arch.patch.avr32 b/package/fbv/0001-arch.patch.avr32 new file mode 100644 index 0000000000..f57bbac0fa --- /dev/null +++ b/package/fbv/0001-arch.patch.avr32 @@ -0,0 +1,48 @@ +diff -ur fbv-1.0b/fb_display.c fbv-1.0b-avr32/fb_display.c +--- fbv-1.0b/fb_display.c 2004-09-07 14:09:43.000000000 +0200 ++++ fbv-1.0b-avr32/fb_display.c 2006-05-04 13:30:25.000000000 +0200 +@@ -276,9 +276,6 @@ + for(i = 0; i < yc; i++, fbptr += scr_xs * cpp, imptr += pic_xs * cpp) + memcpy(fbptr, imptr, xc * cpp); + +- if(cpp == 1) +- set8map(fh, &map_back); +- + munmap(fb, scr_xs * scr_ys * cpp); + } + +@@ -293,17 +290,17 @@ + inline static unsigned short make15color(unsigned char r, unsigned char g, unsigned char b) + { + return ( +- (((r >> 3) & 31) << 10) | ++ (((r >> 3) & 31)) | + (((g >> 3) & 31) << 5) | +- ((b >> 3) & 31) ); ++ ((b >> 3) & 31) << 10); + } + + inline static unsigned short make16color(unsigned char r, unsigned char g, unsigned char b) + { + return ( +- (((r >> 3) & 31) << 11) | +- (((g >> 2) & 63) << 5) | +- ((b >> 3) & 31) ); ++ (((r >> 3) & 31)) | ++ (((g >> 3) & 31) << 5) | ++ ((b >> 3) & 31) << 10); + } + + void* convertRGB2FB(int fh, unsigned char *rgbbuff, unsigned long count, int bpp, int *cpp) +@@ -342,9 +339,9 @@ + *cpp = 4; + i_fbbuff = (unsigned int *) malloc(count * sizeof(unsigned int)); + for(i = 0; i < count ; i++) +- i_fbbuff[i] = ((rgbbuff[i*3] << 16) & 0xFF0000) | ++ i_fbbuff[i] = ((rgbbuff[i*3+2] << 16) & 0xFF0000) | + ((rgbbuff[i*3+1] << 8) & 0xFF00) | +- (rgbbuff[i*3+2] & 0xFF); ++ (rgbbuff[i*3] & 0xFF); + fbbuff = (void *) i_fbbuff; + break; + default: diff --git a/package/fbv/0002-cross.patch b/package/fbv/0002-cross.patch new file mode 100644 index 0000000000..ab5f0fb48c --- /dev/null +++ b/package/fbv/0002-cross.patch @@ -0,0 +1,44 @@ +diff -urpN fbv-1.0b.orig/configure fbv-1.0b/configure +--- fbv-1.0b.orig/configure 2004-09-07 13:29:27.000000000 +0200 ++++ fbv-1.0b/configure 2008-04-24 10:52:37.000000000 +0200 +@@ -80,6 +80,7 @@ while true ; do + esac + done + ++[ -z "$CC" ] && CC=cc + [ -z "$prefix" ] && prefix="/usr/local" + [ -z "$bindir" ] && bindir="${prefix}/bin" + [ -z "$mandir" ] && mandir="${prefix}/man" +@@ -106,12 +107,12 @@ xdir="/usr/X11R6" + ungif="no" + echo "libungif check" >>./config.log + echo " 1st:" >>./config.log +-cc 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lungif $libs ++$CC 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lungif $libs + if [ -e \$\$~test ]; then + libs="-lungif $libs" ; ungif="yes" + else + echo " 2nd: -lX11 -L$xdir/lib" >>./config.log +- cc 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lungif -lX11 -L$xdir/lib $libs ++ $CC 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lungif -lX11 -L$xdir/lib $libs + if [ -e \$\$~test ]; then + libs="-lungif -lX11 -L$xdir/lib $libs" ; ungif="yes" + fi +@@ -124,7 +125,7 @@ echo "libungif: $ungif" >> ./config.log + echo -n "checking for libjpeg presence... " + if [ "$jpeg" != "disabled" ]; then + jpeg="no" +-cc 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -ljpeg $libs ++$CC 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -ljpeg $libs + if [ -e \$\$~test ]; then + libs="-ljpeg $libs" ; jpeg="yes" + fi +@@ -135,7 +136,7 @@ echo "libjpeg: $jpeg" >> ./config.log + echo -n "checking for libpng presence... " + if [ "$png" != "disabled" ]; then + png="no" +-cc 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lpng $libs ++$CC 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lpng $libs + if [ -e \$\$~test ]; then + libs="-lpng $libs" ; png="yes" + fi diff --git a/package/fbv/0003-fix-24bpp-support-on-big-endian.patch b/package/fbv/0003-fix-24bpp-support-on-big-endian.patch new file mode 100644 index 0000000000..23185ac46b --- /dev/null +++ b/package/fbv/0003-fix-24bpp-support-on-big-endian.patch @@ -0,0 +1,32 @@ +diff -upr a/fb_display.c b/fb_display.c +--- a/fb_display.c 2007-06-01 16:52:45.000000000 +0200 ++++ b/fb_display.c 2007-06-01 16:51:43.000000000 +0200 +@@ -307,7 +307,7 @@ void* convertRGB2FB(int fh, unsigned cha + { + unsigned long i; + void *fbbuff = NULL; +- u_int8_t *c_fbbuff; ++ u_int8_t *c_fbbuff; + u_int16_t *s_fbbuff; + u_int32_t *i_fbbuff; + +@@ -335,6 +335,16 @@ void* convertRGB2FB(int fh, unsigned cha + fbbuff = (void *) s_fbbuff; + break; + case 24: ++ *cpp = 3; ++ c_fbbuff = (unsigned char *) malloc(count * 3 * sizeof(unsigned char)); ++ for(i = 0; i < (3 * count); i += 3) { ++ /* Big endian framebuffer. */ ++ c_fbbuff[i] = rgbbuff[i+2]; ++ c_fbbuff[i+1] = rgbbuff[i+1]; ++ c_fbbuff[i+2] = rgbbuff[i]; ++ } ++ fbbuff = (void *) c_fbbuff; ++ break; + case 32: + *cpp = 4; + i_fbbuff = (unsigned int *) malloc(count * sizeof(unsigned int)); +Only in build_avr32/fbv-1.0b-modified: .fb_display.c.swp +Binary files build_avr32/fbv-1.0b/fb_display.o and build_avr32/fbv-1.0b-modified/fb_display.o differ +Binary files build_avr32/fbv-1.0b/fbv and build_avr32/fbv-1.0b-modified/fbv differ diff --git a/package/fbv/0004-fix-bgr555.patch b/package/fbv/0004-fix-bgr555.patch new file mode 100644 index 0000000000..8f185f0a37 --- /dev/null +++ b/package/fbv/0004-fix-bgr555.patch @@ -0,0 +1,64 @@ +[PATCH] fbv: support bgr555 format + +Signed-off-by: Josh.Wu +diff -Naur fbv-1.0b-ori/fb_display.c fbv-1.0b/fb_display.c +--- fbv-1.0b-ori/fb_display.c 2010-04-02 09:38:15.000000000 +0800 ++++ fbv-1.0b/fb_display.c 2010-04-01 18:54:15.000000000 +0800 +@@ -297,6 +297,14 @@ + ((b >> 3) & 31) ); + } + ++inline static unsigned short make15color_bgr(unsigned char r, unsigned char g, unsigned char b) ++{ ++ return ( ++ (((b >> 3) & 31) << 10) | ++ (((g >> 3) & 31) << 5) | ++ ((r >> 3) & 31) ); ++} ++ + inline static unsigned short make16color(unsigned char r, unsigned char g, unsigned char b) + { + return ( +@@ -313,6 +321,14 @@ + u_int16_t *s_fbbuff; + u_int32_t *i_fbbuff; + ++ int is_bgr555 = 0; ++ struct fb_var_screeninfo var; ++ getVarScreenInfo(fh, &var); ++ if(var.red.offset == 0 && ++ var.green.offset == 5 && ++ var.blue.offset == 10) ++ is_bgr555 = 1; ++ + switch(bpp) + { + case 8: +@@ -325,15 +341,23 @@ + case 15: + *cpp = 2; + s_fbbuff = (unsigned short *) malloc(count * sizeof(unsigned short)); +- for(i = 0; i < count ; i++) +- s_fbbuff[i] = make15color(rgbbuff[i*3], rgbbuff[i*3+1], rgbbuff[i*3+2]); ++ if(is_bgr555) ++ for(i = 0; i < count ; i++) ++ s_fbbuff[i] = make15color_bgr(rgbbuff[i*3], rgbbuff[i*3+1], rgbbuff[i*3+2]); ++ else ++ for(i = 0; i < count ; i++) ++ s_fbbuff[i] = make15color(rgbbuff[i*3], rgbbuff[i*3+1], rgbbuff[i*3+2]); + fbbuff = (void *) s_fbbuff; + break; + case 16: + *cpp = 2; + s_fbbuff = (unsigned short *) malloc(count * sizeof(unsigned short)); +- for(i = 0; i < count ; i++) +- s_fbbuff[i] = make16color(rgbbuff[i*3], rgbbuff[i*3+1], rgbbuff[i*3+2]); ++ if(is_bgr555) ++ for(i = 0; i < count ; i++) ++ s_fbbuff[i] = make15color_bgr(rgbbuff[i*3], rgbbuff[i*3+1], rgbbuff[i*3+2]); ++ else ++ for(i = 0; i < count ; i++) ++ s_fbbuff[i] = make16color(rgbbuff[i*3], rgbbuff[i*3+1], rgbbuff[i*3+2]); + fbbuff = (void *) s_fbbuff; + break; + case 24: diff --git a/package/fbv/0005-giflib.patch b/package/fbv/0005-giflib.patch new file mode 100644 index 0000000000..7043353586 --- /dev/null +++ b/package/fbv/0005-giflib.patch @@ -0,0 +1,84 @@ +Adjust source code to work with giflib 5.1x + +Downloaded patch for gif.c from +https://projects.archlinux.org/svntogit/community.git/plain/trunk/giflib-5.1.patch?h=packages/fbv + +Signed-off-by: Bernd Kuhls + +diff -wbBur fbv-1.0b/gif.c fbv-1.0b.my/gif.c +--- fbv-1.0b/gif.c 2003-08-25 00:23:02.000000000 +0400 ++++ fbv-1.0b.my/gif.c 2014-05-29 18:39:41.337332872 +0400 +@@ -31,10 +31,10 @@ + #include + #define min(a,b) ((a) < (b) ? (a) : (b)) + #define gflush return(FH_ERROR_FILE); +-#define grflush { DGifCloseFile(gft); return(FH_ERROR_FORMAT); } +-#define mgrflush { free(lb); free(slb); DGifCloseFile(gft); return(FH_ERROR_FORMAT); } ++#define grflush { DGifCloseFile(gft, NULL); return(FH_ERROR_FORMAT); } ++#define mgrflush { free(lb); free(slb); DGifCloseFile(gft, NULL); return(FH_ERROR_FORMAT); } + #define agflush return(FH_ERROR_FORMAT); +-#define agrflush { DGifCloseFile(gft); return(FH_ERROR_FORMAT); } ++#define agrflush { DGifCloseFile(gft, NULL); return(FH_ERROR_FORMAT); } + + + int fh_gif_id(char *name) +@@ -81,7 +81,7 @@ + ColorMapObject *cmap; + int cmaps; + +- gft=DGifOpenFileName(name); ++ gft=DGifOpenFileName(name, NULL); + if(gft==NULL){printf("err5\n"); gflush;} ////////// + do + { +@@ -170,7 +170,7 @@ + } + } + while( rt!= TERMINATE_RECORD_TYPE ); +- DGifCloseFile(gft); ++ DGifCloseFile(gft, NULL); + return(FH_ERROR_OK); + } + +@@ -184,7 +184,7 @@ + int extcode; + GifRecordType rt; + +- gft=DGifOpenFileName(name); ++ gft=DGifOpenFileName(name, NULL); + if(gft==NULL) gflush; + do + { +@@ -197,7 +197,7 @@ + px=gft->Image.Width; + py=gft->Image.Height; + *x=px; *y=py; +- DGifCloseFile(gft); ++ DGifCloseFile(gft, NULL); + return(FH_ERROR_OK); + break; + case EXTENSION_RECORD_TYPE: +@@ -210,7 +210,7 @@ + } + } + while( rt!= TERMINATE_RECORD_TYPE ); +- DGifCloseFile(gft); ++ DGifCloseFile(gft, NULL); + return(FH_ERROR_FORMAT); + } + #endif +diff -uNr fbv-1.0b.org/configure fbv-1.0b/configure +--- fbv-1.0b.org/configure 2004-09-07 13:29:27.000000000 +0200 ++++ fbv-1.0b/configure 2015-01-29 19:58:30.374599874 +0100 +@@ -106,9 +106,9 @@ + ungif="no" + echo "libungif check" >>./config.log + echo " 1st:" >>./config.log +-$CC 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lungif $libs ++$CC 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lgif $libs + if [ -e \$\$~test ]; then +- libs="-lungif $libs" ; ungif="yes" ++ libs="-lgif $libs" ; ungif="yes" + else + echo " 2nd: -lX11 -L$xdir/lib" >>./config.log + $CC 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lungif -lX11 -L$xdir/lib $libs diff --git a/package/fbv/0006-include.patch b/package/fbv/0006-include.patch new file mode 100644 index 0000000000..3d1cc17f74 --- /dev/null +++ b/package/fbv/0006-include.patch @@ -0,0 +1,20 @@ +diff -urpN fbv-1.0b.orig/fb_display.c fbv-1.0b/fb_display.c +--- fbv-1.0b.orig/fb_display.c 2004-09-07 14:09:43.000000000 +0200 ++++ fbv-1.0b/fb_display.c 2008-04-24 10:48:29.000000000 +0200 +@@ -18,8 +18,6 @@ + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +-#include +- + #include + #include + #include +@@ -31,6 +29,7 @@ + #include + #include + #include ++#include + #include "config.h" + /* Public Use Functions: + * diff --git a/package/fbv/0007-libpng15.patch b/package/fbv/0007-libpng15.patch new file mode 100644 index 0000000000..7872a73cf6 --- /dev/null +++ b/package/fbv/0007-libpng15.patch @@ -0,0 +1,24 @@ +Support for libpng 1.5+ shamelessly taken from Gentoo. + +Signed-off-by: Gustavo Zacarias + +--- a/png.c ++++ b/png.c +@@ -69,7 +69,7 @@ + fclose(fh); return(FH_ERROR_FORMAT); + } + rp=0; +- if (setjmp(png_ptr->jmpbuf)) ++ if (setjmp(png_jmpbuf(png_ptr))) + { + png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL); + if(rp) free(rp); +@@ -161,7 +161,7 @@ + fclose(fh); return(FH_ERROR_FORMAT); + } + rp=0; +- if (setjmp(png_ptr->jmpbuf)) ++ if (setjmp(png_jmpbuf(png_ptr))) + { + png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL); + if(rp) free(rp); diff --git a/package/fbv/fbv-1.0b-arch.patch.avr32 b/package/fbv/fbv-1.0b-arch.patch.avr32 deleted file mode 100644 index f57bbac0fa..0000000000 --- a/package/fbv/fbv-1.0b-arch.patch.avr32 +++ /dev/null @@ -1,48 +0,0 @@ -diff -ur fbv-1.0b/fb_display.c fbv-1.0b-avr32/fb_display.c ---- fbv-1.0b/fb_display.c 2004-09-07 14:09:43.000000000 +0200 -+++ fbv-1.0b-avr32/fb_display.c 2006-05-04 13:30:25.000000000 +0200 -@@ -276,9 +276,6 @@ - for(i = 0; i < yc; i++, fbptr += scr_xs * cpp, imptr += pic_xs * cpp) - memcpy(fbptr, imptr, xc * cpp); - -- if(cpp == 1) -- set8map(fh, &map_back); -- - munmap(fb, scr_xs * scr_ys * cpp); - } - -@@ -293,17 +290,17 @@ - inline static unsigned short make15color(unsigned char r, unsigned char g, unsigned char b) - { - return ( -- (((r >> 3) & 31) << 10) | -+ (((r >> 3) & 31)) | - (((g >> 3) & 31) << 5) | -- ((b >> 3) & 31) ); -+ ((b >> 3) & 31) << 10); - } - - inline static unsigned short make16color(unsigned char r, unsigned char g, unsigned char b) - { - return ( -- (((r >> 3) & 31) << 11) | -- (((g >> 2) & 63) << 5) | -- ((b >> 3) & 31) ); -+ (((r >> 3) & 31)) | -+ (((g >> 3) & 31) << 5) | -+ ((b >> 3) & 31) << 10); - } - - void* convertRGB2FB(int fh, unsigned char *rgbbuff, unsigned long count, int bpp, int *cpp) -@@ -342,9 +339,9 @@ - *cpp = 4; - i_fbbuff = (unsigned int *) malloc(count * sizeof(unsigned int)); - for(i = 0; i < count ; i++) -- i_fbbuff[i] = ((rgbbuff[i*3] << 16) & 0xFF0000) | -+ i_fbbuff[i] = ((rgbbuff[i*3+2] << 16) & 0xFF0000) | - ((rgbbuff[i*3+1] << 8) & 0xFF00) | -- (rgbbuff[i*3+2] & 0xFF); -+ (rgbbuff[i*3] & 0xFF); - fbbuff = (void *) i_fbbuff; - break; - default: diff --git a/package/fbv/fbv-1.0b-cross.patch b/package/fbv/fbv-1.0b-cross.patch deleted file mode 100644 index ab5f0fb48c..0000000000 --- a/package/fbv/fbv-1.0b-cross.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff -urpN fbv-1.0b.orig/configure fbv-1.0b/configure ---- fbv-1.0b.orig/configure 2004-09-07 13:29:27.000000000 +0200 -+++ fbv-1.0b/configure 2008-04-24 10:52:37.000000000 +0200 -@@ -80,6 +80,7 @@ while true ; do - esac - done - -+[ -z "$CC" ] && CC=cc - [ -z "$prefix" ] && prefix="/usr/local" - [ -z "$bindir" ] && bindir="${prefix}/bin" - [ -z "$mandir" ] && mandir="${prefix}/man" -@@ -106,12 +107,12 @@ xdir="/usr/X11R6" - ungif="no" - echo "libungif check" >>./config.log - echo " 1st:" >>./config.log --cc 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lungif $libs -+$CC 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lungif $libs - if [ -e \$\$~test ]; then - libs="-lungif $libs" ; ungif="yes" - else - echo " 2nd: -lX11 -L$xdir/lib" >>./config.log -- cc 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lungif -lX11 -L$xdir/lib $libs -+ $CC 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lungif -lX11 -L$xdir/lib $libs - if [ -e \$\$~test ]; then - libs="-lungif -lX11 -L$xdir/lib $libs" ; ungif="yes" - fi -@@ -124,7 +125,7 @@ echo "libungif: $ungif" >> ./config.log - echo -n "checking for libjpeg presence... " - if [ "$jpeg" != "disabled" ]; then - jpeg="no" --cc 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -ljpeg $libs -+$CC 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -ljpeg $libs - if [ -e \$\$~test ]; then - libs="-ljpeg $libs" ; jpeg="yes" - fi -@@ -135,7 +136,7 @@ echo "libjpeg: $jpeg" >> ./config.log - echo -n "checking for libpng presence... " - if [ "$png" != "disabled" ]; then - png="no" --cc 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lpng $libs -+$CC 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lpng $libs - if [ -e \$\$~test ]; then - libs="-lpng $libs" ; png="yes" - fi diff --git a/package/fbv/fbv-1.0b-fix-24bpp-support-on-big-endian.patch b/package/fbv/fbv-1.0b-fix-24bpp-support-on-big-endian.patch deleted file mode 100644 index 23185ac46b..0000000000 --- a/package/fbv/fbv-1.0b-fix-24bpp-support-on-big-endian.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff -upr a/fb_display.c b/fb_display.c ---- a/fb_display.c 2007-06-01 16:52:45.000000000 +0200 -+++ b/fb_display.c 2007-06-01 16:51:43.000000000 +0200 -@@ -307,7 +307,7 @@ void* convertRGB2FB(int fh, unsigned cha - { - unsigned long i; - void *fbbuff = NULL; -- u_int8_t *c_fbbuff; -+ u_int8_t *c_fbbuff; - u_int16_t *s_fbbuff; - u_int32_t *i_fbbuff; - -@@ -335,6 +335,16 @@ void* convertRGB2FB(int fh, unsigned cha - fbbuff = (void *) s_fbbuff; - break; - case 24: -+ *cpp = 3; -+ c_fbbuff = (unsigned char *) malloc(count * 3 * sizeof(unsigned char)); -+ for(i = 0; i < (3 * count); i += 3) { -+ /* Big endian framebuffer. */ -+ c_fbbuff[i] = rgbbuff[i+2]; -+ c_fbbuff[i+1] = rgbbuff[i+1]; -+ c_fbbuff[i+2] = rgbbuff[i]; -+ } -+ fbbuff = (void *) c_fbbuff; -+ break; - case 32: - *cpp = 4; - i_fbbuff = (unsigned int *) malloc(count * sizeof(unsigned int)); -Only in build_avr32/fbv-1.0b-modified: .fb_display.c.swp -Binary files build_avr32/fbv-1.0b/fb_display.o and build_avr32/fbv-1.0b-modified/fb_display.o differ -Binary files build_avr32/fbv-1.0b/fbv and build_avr32/fbv-1.0b-modified/fbv differ diff --git a/package/fbv/fbv-1.0b-fix-bgr555.patch b/package/fbv/fbv-1.0b-fix-bgr555.patch deleted file mode 100644 index 8f185f0a37..0000000000 --- a/package/fbv/fbv-1.0b-fix-bgr555.patch +++ /dev/null @@ -1,64 +0,0 @@ -[PATCH] fbv: support bgr555 format - -Signed-off-by: Josh.Wu -diff -Naur fbv-1.0b-ori/fb_display.c fbv-1.0b/fb_display.c ---- fbv-1.0b-ori/fb_display.c 2010-04-02 09:38:15.000000000 +0800 -+++ fbv-1.0b/fb_display.c 2010-04-01 18:54:15.000000000 +0800 -@@ -297,6 +297,14 @@ - ((b >> 3) & 31) ); - } - -+inline static unsigned short make15color_bgr(unsigned char r, unsigned char g, unsigned char b) -+{ -+ return ( -+ (((b >> 3) & 31) << 10) | -+ (((g >> 3) & 31) << 5) | -+ ((r >> 3) & 31) ); -+} -+ - inline static unsigned short make16color(unsigned char r, unsigned char g, unsigned char b) - { - return ( -@@ -313,6 +321,14 @@ - u_int16_t *s_fbbuff; - u_int32_t *i_fbbuff; - -+ int is_bgr555 = 0; -+ struct fb_var_screeninfo var; -+ getVarScreenInfo(fh, &var); -+ if(var.red.offset == 0 && -+ var.green.offset == 5 && -+ var.blue.offset == 10) -+ is_bgr555 = 1; -+ - switch(bpp) - { - case 8: -@@ -325,15 +341,23 @@ - case 15: - *cpp = 2; - s_fbbuff = (unsigned short *) malloc(count * sizeof(unsigned short)); -- for(i = 0; i < count ; i++) -- s_fbbuff[i] = make15color(rgbbuff[i*3], rgbbuff[i*3+1], rgbbuff[i*3+2]); -+ if(is_bgr555) -+ for(i = 0; i < count ; i++) -+ s_fbbuff[i] = make15color_bgr(rgbbuff[i*3], rgbbuff[i*3+1], rgbbuff[i*3+2]); -+ else -+ for(i = 0; i < count ; i++) -+ s_fbbuff[i] = make15color(rgbbuff[i*3], rgbbuff[i*3+1], rgbbuff[i*3+2]); - fbbuff = (void *) s_fbbuff; - break; - case 16: - *cpp = 2; - s_fbbuff = (unsigned short *) malloc(count * sizeof(unsigned short)); -- for(i = 0; i < count ; i++) -- s_fbbuff[i] = make16color(rgbbuff[i*3], rgbbuff[i*3+1], rgbbuff[i*3+2]); -+ if(is_bgr555) -+ for(i = 0; i < count ; i++) -+ s_fbbuff[i] = make15color_bgr(rgbbuff[i*3], rgbbuff[i*3+1], rgbbuff[i*3+2]); -+ else -+ for(i = 0; i < count ; i++) -+ s_fbbuff[i] = make16color(rgbbuff[i*3], rgbbuff[i*3+1], rgbbuff[i*3+2]); - fbbuff = (void *) s_fbbuff; - break; - case 24: diff --git a/package/fbv/fbv-1.0b-giflib.patch b/package/fbv/fbv-1.0b-giflib.patch deleted file mode 100644 index 7043353586..0000000000 --- a/package/fbv/fbv-1.0b-giflib.patch +++ /dev/null @@ -1,84 +0,0 @@ -Adjust source code to work with giflib 5.1x - -Downloaded patch for gif.c from -https://projects.archlinux.org/svntogit/community.git/plain/trunk/giflib-5.1.patch?h=packages/fbv - -Signed-off-by: Bernd Kuhls - -diff -wbBur fbv-1.0b/gif.c fbv-1.0b.my/gif.c ---- fbv-1.0b/gif.c 2003-08-25 00:23:02.000000000 +0400 -+++ fbv-1.0b.my/gif.c 2014-05-29 18:39:41.337332872 +0400 -@@ -31,10 +31,10 @@ - #include - #define min(a,b) ((a) < (b) ? (a) : (b)) - #define gflush return(FH_ERROR_FILE); --#define grflush { DGifCloseFile(gft); return(FH_ERROR_FORMAT); } --#define mgrflush { free(lb); free(slb); DGifCloseFile(gft); return(FH_ERROR_FORMAT); } -+#define grflush { DGifCloseFile(gft, NULL); return(FH_ERROR_FORMAT); } -+#define mgrflush { free(lb); free(slb); DGifCloseFile(gft, NULL); return(FH_ERROR_FORMAT); } - #define agflush return(FH_ERROR_FORMAT); --#define agrflush { DGifCloseFile(gft); return(FH_ERROR_FORMAT); } -+#define agrflush { DGifCloseFile(gft, NULL); return(FH_ERROR_FORMAT); } - - - int fh_gif_id(char *name) -@@ -81,7 +81,7 @@ - ColorMapObject *cmap; - int cmaps; - -- gft=DGifOpenFileName(name); -+ gft=DGifOpenFileName(name, NULL); - if(gft==NULL){printf("err5\n"); gflush;} ////////// - do - { -@@ -170,7 +170,7 @@ - } - } - while( rt!= TERMINATE_RECORD_TYPE ); -- DGifCloseFile(gft); -+ DGifCloseFile(gft, NULL); - return(FH_ERROR_OK); - } - -@@ -184,7 +184,7 @@ - int extcode; - GifRecordType rt; - -- gft=DGifOpenFileName(name); -+ gft=DGifOpenFileName(name, NULL); - if(gft==NULL) gflush; - do - { -@@ -197,7 +197,7 @@ - px=gft->Image.Width; - py=gft->Image.Height; - *x=px; *y=py; -- DGifCloseFile(gft); -+ DGifCloseFile(gft, NULL); - return(FH_ERROR_OK); - break; - case EXTENSION_RECORD_TYPE: -@@ -210,7 +210,7 @@ - } - } - while( rt!= TERMINATE_RECORD_TYPE ); -- DGifCloseFile(gft); -+ DGifCloseFile(gft, NULL); - return(FH_ERROR_FORMAT); - } - #endif -diff -uNr fbv-1.0b.org/configure fbv-1.0b/configure ---- fbv-1.0b.org/configure 2004-09-07 13:29:27.000000000 +0200 -+++ fbv-1.0b/configure 2015-01-29 19:58:30.374599874 +0100 -@@ -106,9 +106,9 @@ - ungif="no" - echo "libungif check" >>./config.log - echo " 1st:" >>./config.log --$CC 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lungif $libs -+$CC 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lgif $libs - if [ -e \$\$~test ]; then -- libs="-lungif $libs" ; ungif="yes" -+ libs="-lgif $libs" ; ungif="yes" - else - echo " 2nd: -lX11 -L$xdir/lib" >>./config.log - $CC 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lungif -lX11 -L$xdir/lib $libs diff --git a/package/fbv/fbv-1.0b-include.patch b/package/fbv/fbv-1.0b-include.patch deleted file mode 100644 index 3d1cc17f74..0000000000 --- a/package/fbv/fbv-1.0b-include.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -urpN fbv-1.0b.orig/fb_display.c fbv-1.0b/fb_display.c ---- fbv-1.0b.orig/fb_display.c 2004-09-07 14:09:43.000000000 +0200 -+++ fbv-1.0b/fb_display.c 2008-04-24 10:48:29.000000000 +0200 -@@ -18,8 +18,6 @@ - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - --#include -- - #include - #include - #include -@@ -31,6 +29,7 @@ - #include - #include - #include -+#include - #include "config.h" - /* Public Use Functions: - * diff --git a/package/fbv/fbv-1.0b-libpng15.patch b/package/fbv/fbv-1.0b-libpng15.patch deleted file mode 100644 index 7872a73cf6..0000000000 --- a/package/fbv/fbv-1.0b-libpng15.patch +++ /dev/null @@ -1,24 +0,0 @@ -Support for libpng 1.5+ shamelessly taken from Gentoo. - -Signed-off-by: Gustavo Zacarias - ---- a/png.c -+++ b/png.c -@@ -69,7 +69,7 @@ - fclose(fh); return(FH_ERROR_FORMAT); - } - rp=0; -- if (setjmp(png_ptr->jmpbuf)) -+ if (setjmp(png_jmpbuf(png_ptr))) - { - png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL); - if(rp) free(rp); -@@ -161,7 +161,7 @@ - fclose(fh); return(FH_ERROR_FORMAT); - } - rp=0; -- if (setjmp(png_ptr->jmpbuf)) -+ if (setjmp(png_jmpbuf(png_ptr))) - { - png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL); - if(rp) free(rp); diff --git a/package/fetchmail/0001-fix-openssl-static-link.patch b/package/fetchmail/0001-fix-openssl-static-link.patch new file mode 100644 index 0000000000..1a5f4d6f71 --- /dev/null +++ b/package/fetchmail/0001-fix-openssl-static-link.patch @@ -0,0 +1,30 @@ +Fix checking for statically build OpenSSL with libz dependency + +Fixes +http://autobuild.buildroot.net/results/48a/48ad6d3659cf1f04581b7e3d115bebf454ff17fd/ + +configure: Enabling OpenSSL support in /home/br/br/output/host/usr/i486-buildroot-linux-uclibc/sysroot/usr. +checking for additional library dependencies of SSL... error +configure: error: cannot link with SSL - check config.log + +In config.log multiple linking errors to libz can be found: + +configure:10099: /home/br/br/output/host/usr/bin/i486-ctng-linux-uclibc-gcc -o + conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64 + /home/br/br/output/host/usr/i486-buildroot-linux-uclibc/sysroot/usr/lib/libcrypto.a(c_zlib.o): + In function `zlib_stateful_c_zlib.c:(.text+0x56): undefined reference to `inflate' + +Signed-off-by: Bernd Kuhls + +diff -uNr fetchmail-6.3.26.org/configure.ac fetchmail-6.3.26/configure.ac +--- fetchmail-6.3.26.org/configure.ac 2013-04-23 22:51:10.000000000 +0200 ++++ fetchmail-6.3.26/configure.ac 2014-07-27 09:20:25.000000000 +0200 +@@ -778,7 +778,7 @@ + AC_MSG_ERROR([SSL support enabled, but OpenSSL not found]) + fi + LDFLAGS="$LDFLAGS -L$with_ssl/lib" +- LIBS="$LIBS -lssl -lcrypto" ++ LIBS="-lssl -lcrypto $LIBS" + dnl check if -ldl is needed + AC_MSG_CHECKING([for additional library dependencies of SSL]) + found=0 diff --git a/package/fetchmail/fetchmail-0001-fix-openssl-static-link.patch b/package/fetchmail/fetchmail-0001-fix-openssl-static-link.patch deleted file mode 100644 index 1a5f4d6f71..0000000000 --- a/package/fetchmail/fetchmail-0001-fix-openssl-static-link.patch +++ /dev/null @@ -1,30 +0,0 @@ -Fix checking for statically build OpenSSL with libz dependency - -Fixes -http://autobuild.buildroot.net/results/48a/48ad6d3659cf1f04581b7e3d115bebf454ff17fd/ - -configure: Enabling OpenSSL support in /home/br/br/output/host/usr/i486-buildroot-linux-uclibc/sysroot/usr. -checking for additional library dependencies of SSL... error -configure: error: cannot link with SSL - check config.log - -In config.log multiple linking errors to libz can be found: - -configure:10099: /home/br/br/output/host/usr/bin/i486-ctng-linux-uclibc-gcc -o - conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64 - /home/br/br/output/host/usr/i486-buildroot-linux-uclibc/sysroot/usr/lib/libcrypto.a(c_zlib.o): - In function `zlib_stateful_c_zlib.c:(.text+0x56): undefined reference to `inflate' - -Signed-off-by: Bernd Kuhls - -diff -uNr fetchmail-6.3.26.org/configure.ac fetchmail-6.3.26/configure.ac ---- fetchmail-6.3.26.org/configure.ac 2013-04-23 22:51:10.000000000 +0200 -+++ fetchmail-6.3.26/configure.ac 2014-07-27 09:20:25.000000000 +0200 -@@ -778,7 +778,7 @@ - AC_MSG_ERROR([SSL support enabled, but OpenSSL not found]) - fi - LDFLAGS="$LDFLAGS -L$with_ssl/lib" -- LIBS="$LIBS -lssl -lcrypto" -+ LIBS="-lssl -lcrypto $LIBS" - dnl check if -ldl is needed - AC_MSG_CHECKING([for additional library dependencies of SSL]) - found=0 diff --git a/package/fis/0001-checksum.patch b/package/fis/0001-checksum.patch new file mode 100644 index 0000000000..a6325eb01a --- /dev/null +++ b/package/fis/0001-checksum.patch @@ -0,0 +1,274 @@ +diff -uN fis.orig/crc.c fis/crc.c +--- fis.orig/crc.c 1970-01-01 10:00:00.000000000 +1000 ++++ fis/crc.c 2008-04-01 11:39:13.000000000 +1100 +@@ -0,0 +1,88 @@ ++/* ++ * crc.c ++ * ++ * $Id: crc.c,v 1.1 2006/02/13 09:58:08 andrzej Exp $ ++ * ++ * Gary S. Brown's CRC ++ * Code based on Gary S. Brown CRC (1986). ++ * Generation polynomial is: ++ * X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0 ++ * ++ * Copyright (C) 2006 Ekiert sp z o.o. ++ * Author: Andrzej Ekiert ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * as published by the Free Software Foundation; either version ++ * 2 of the License, or (at your option) any later version. ++ */ ++ ++#include ++ ++#include "crc.h" ++ ++static const uint32_t crc32_tab[] = { ++ 0x00000000L, 0x77073096L, 0xee0e612cL, 0x990951baL, 0x076dc419L, ++ 0x706af48fL, 0xe963a535L, 0x9e6495a3L, 0x0edb8832L, 0x79dcb8a4L, ++ 0xe0d5e91eL, 0x97d2d988L, 0x09b64c2bL, 0x7eb17cbdL, 0xe7b82d07L, ++ 0x90bf1d91L, 0x1db71064L, 0x6ab020f2L, 0xf3b97148L, 0x84be41deL, ++ 0x1adad47dL, 0x6ddde4ebL, 0xf4d4b551L, 0x83d385c7L, 0x136c9856L, ++ 0x646ba8c0L, 0xfd62f97aL, 0x8a65c9ecL, 0x14015c4fL, 0x63066cd9L, ++ 0xfa0f3d63L, 0x8d080df5L, 0x3b6e20c8L, 0x4c69105eL, 0xd56041e4L, ++ 0xa2677172L, 0x3c03e4d1L, 0x4b04d447L, 0xd20d85fdL, 0xa50ab56bL, ++ 0x35b5a8faL, 0x42b2986cL, 0xdbbbc9d6L, 0xacbcf940L, 0x32d86ce3L, ++ 0x45df5c75L, 0xdcd60dcfL, 0xabd13d59L, 0x26d930acL, 0x51de003aL, ++ 0xc8d75180L, 0xbfd06116L, 0x21b4f4b5L, 0x56b3c423L, 0xcfba9599L, ++ 0xb8bda50fL, 0x2802b89eL, 0x5f058808L, 0xc60cd9b2L, 0xb10be924L, ++ 0x2f6f7c87L, 0x58684c11L, 0xc1611dabL, 0xb6662d3dL, 0x76dc4190L, ++ 0x01db7106L, 0x98d220bcL, 0xefd5102aL, 0x71b18589L, 0x06b6b51fL, ++ 0x9fbfe4a5L, 0xe8b8d433L, 0x7807c9a2L, 0x0f00f934L, 0x9609a88eL, ++ 0xe10e9818L, 0x7f6a0dbbL, 0x086d3d2dL, 0x91646c97L, 0xe6635c01L, ++ 0x6b6b51f4L, 0x1c6c6162L, 0x856530d8L, 0xf262004eL, 0x6c0695edL, ++ 0x1b01a57bL, 0x8208f4c1L, 0xf50fc457L, 0x65b0d9c6L, 0x12b7e950L, ++ 0x8bbeb8eaL, 0xfcb9887cL, 0x62dd1ddfL, 0x15da2d49L, 0x8cd37cf3L, ++ 0xfbd44c65L, 0x4db26158L, 0x3ab551ceL, 0xa3bc0074L, 0xd4bb30e2L, ++ 0x4adfa541L, 0x3dd895d7L, 0xa4d1c46dL, 0xd3d6f4fbL, 0x4369e96aL, ++ 0x346ed9fcL, 0xad678846L, 0xda60b8d0L, 0x44042d73L, 0x33031de5L, ++ 0xaa0a4c5fL, 0xdd0d7cc9L, 0x5005713cL, 0x270241aaL, 0xbe0b1010L, ++ 0xc90c2086L, 0x5768b525L, 0x206f85b3L, 0xb966d409L, 0xce61e49fL, ++ 0x5edef90eL, 0x29d9c998L, 0xb0d09822L, 0xc7d7a8b4L, 0x59b33d17L, ++ 0x2eb40d81L, 0xb7bd5c3bL, 0xc0ba6cadL, 0xedb88320L, 0x9abfb3b6L, ++ 0x03b6e20cL, 0x74b1d29aL, 0xead54739L, 0x9dd277afL, 0x04db2615L, ++ 0x73dc1683L, 0xe3630b12L, 0x94643b84L, 0x0d6d6a3eL, 0x7a6a5aa8L, ++ 0xe40ecf0bL, 0x9309ff9dL, 0x0a00ae27L, 0x7d079eb1L, 0xf00f9344L, ++ 0x8708a3d2L, 0x1e01f268L, 0x6906c2feL, 0xf762575dL, 0x806567cbL, ++ 0x196c3671L, 0x6e6b06e7L, 0xfed41b76L, 0x89d32be0L, 0x10da7a5aL, ++ 0x67dd4accL, 0xf9b9df6fL, 0x8ebeeff9L, 0x17b7be43L, 0x60b08ed5L, ++ 0xd6d6a3e8L, 0xa1d1937eL, 0x38d8c2c4L, 0x4fdff252L, 0xd1bb67f1L, ++ 0xa6bc5767L, 0x3fb506ddL, 0x48b2364bL, 0xd80d2bdaL, 0xaf0a1b4cL, ++ 0x36034af6L, 0x41047a60L, 0xdf60efc3L, 0xa867df55L, 0x316e8eefL, ++ 0x4669be79L, 0xcb61b38cL, 0xbc66831aL, 0x256fd2a0L, 0x5268e236L, ++ 0xcc0c7795L, 0xbb0b4703L, 0x220216b9L, 0x5505262fL, 0xc5ba3bbeL, ++ 0xb2bd0b28L, 0x2bb45a92L, 0x5cb36a04L, 0xc2d7ffa7L, 0xb5d0cf31L, ++ 0x2cd99e8bL, 0x5bdeae1dL, 0x9b64c2b0L, 0xec63f226L, 0x756aa39cL, ++ 0x026d930aL, 0x9c0906a9L, 0xeb0e363fL, 0x72076785L, 0x05005713L, ++ 0x95bf4a82L, 0xe2b87a14L, 0x7bb12baeL, 0x0cb61b38L, 0x92d28e9bL, ++ 0xe5d5be0dL, 0x7cdcefb7L, 0x0bdbdf21L, 0x86d3d2d4L, 0xf1d4e242L, ++ 0x68ddb3f8L, 0x1fda836eL, 0x81be16cdL, 0xf6b9265bL, 0x6fb077e1L, ++ 0x18b74777L, 0x88085ae6L, 0xff0f6a70L, 0x66063bcaL, 0x11010b5cL, ++ 0x8f659effL, 0xf862ae69L, 0x616bffd3L, 0x166ccf45L, 0xa00ae278L, ++ 0xd70dd2eeL, 0x4e048354L, 0x3903b3c2L, 0xa7672661L, 0xd06016f7L, ++ 0x4969474dL, 0x3e6e77dbL, 0xaed16a4aL, 0xd9d65adcL, 0x40df0b66L, ++ 0x37d83bf0L, 0xa9bcae53L, 0xdebb9ec5L, 0x47b2cf7fL, 0x30b5ffe9L, ++ 0xbdbdf21cL, 0xcabac28aL, 0x53b39330L, 0x24b4a3a6L, 0xbad03605L, ++ 0xcdd70693L, 0x54de5729L, 0x23d967bfL, 0xb3667a2eL, 0xc4614ab8L, ++ 0x5d681b02L, 0x2a6f2b94L, 0xb40bbe37L, 0xc30c8ea1L, 0x5a05df1bL, ++ 0x2d02ef8dL ++ }; ++ ++uint32_t crc32(uint8_t *s, uint32_t len) ++{ ++ uint32_t i, val = 0; ++ ++ for (i = 0; i < len; i++) { ++ val = crc32_tab[(val^s[i]) & 0xff] ^ (val >> 8); ++ } ++ return val; ++} ++ +diff -uN fis.orig/crc.h fis/crc.h +--- fis.orig/crc.h 1970-01-01 10:00:00.000000000 +1000 ++++ fis/crc.h 2008-04-01 11:39:13.000000000 +1100 +@@ -0,0 +1,25 @@ ++/* ++ * crc.h ++ * ++ * $Id: crc.h,v 1.1 2006/02/13 09:58:08 andrzej Exp $ ++ * ++ * Gary S. Brown's CRC - header. ++ * ++ * Copyright (C) 2006 Ekiert sp z o.o. ++ * Author: Andrzej Ekiert ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * as published by the Free Software Foundation; either version ++ * 2 of the License, or (at your option) any later version. ++ */ ++ ++#ifndef CRC_H ++#define CRC_H ++ ++#include ++ ++uint32_t crc32(uint8_t *s, uint32_t len); ++ ++#endif //CRC_H ++ +diff -uN fis.orig/fis.c fis/fis.c +--- fis.orig/fis.c 2007-05-03 06:42:51.000000000 +1000 ++++ fis/fis.c 2008-04-01 11:52:11.000000000 +1100 +@@ -30,6 +30,7 @@ + #include + #include + ++#include "crc.h" + + // Report an error and terminate: + +@@ -141,8 +142,8 @@ + + static void dump_desc(FILE* f, const struct fis_image_desc* d) + { +- fprintf(f,"%16s: addr = 0x%08x, size = 0x%08x\n", +- d->name, d->flash_base, d->size); ++ fprintf(f,"%16s: flash addr = 0x%08x, mem addr = 0x%08x, size = 0x%08x, checksum = 0x%08x\n", ++ d->name, d->flash_base, d->mem_base, d->size, d->file_cksum); + for (unsigned int i=0; i<(sizeof(d->skips)/4); ++i) { + if (d->skips[i]==0x736b6970 || d->skips[i]==0x70696b73) { // "skip" + uint32_t offset = d->skips[i+1]; +@@ -332,6 +333,7 @@ + d->size = swap_end_32(d->size); + d->entry_point = swap_end_32(d->entry_point); + d->data_length = swap_end_32(d->data_length); ++ d->file_cksum = swap_end_32(d->file_cksum); + for (unsigned int i=0; i<(sizeof(d->skips)/4); ++i) { + d->skips[i] = swap_end_32(d->skips[i]); + } +@@ -446,19 +448,25 @@ + char* arg=argv[i]; + if (strcmp(arg,"-l")==0) { + if (i==argc-1) { +- fatal("argumnet missing for -l"); ++ fatal("argument missing for -l"); + } + ++i; + d->size = str_to_int_maybe_hex(argv[i]); + } else if (strcmp(arg,"-f")==0) { + if (i==argc-1) { +- fatal("argumnet missing for -f"); ++ fatal("argument missing for -f"); + } + ++i; + d->flash_base = str_to_int_maybe_hex(argv[i]); ++ } else if (strcmp(arg,"-m")==0) { ++ if (i==argc-1) { ++ fatal("argument missing for -m"); ++ } ++ ++i; ++ d->mem_base = str_to_int_maybe_hex(argv[i]); + } else if (strcmp(arg,"-n")==0) { + if (i==argc-1) { +- fatal("argumnet missing for -n"); ++ fatal("argument missing for -n"); + } + ++i; + char* name = argv[i]; +@@ -499,6 +507,66 @@ + save_dir(fd,offset,size,swap_endianness,dir); + } + ++static void fis_checksum(const char* device, int offset, int size, bool swap_endianness, ++ int argc, char* argv[]) ++{ ++ char* name = NULL; ++ char* filename = NULL; ++ ++ for (int i=0; i=16) { ++ fatal("name too long, max 16 chars including terminating null"); ++ } ++ } else { ++ fputs("Unrecognised option '",stderr); ++ fputs(arg,stderr); ++ fputs("'\n",stderr); ++ exit(1); ++ } ++ } ++ ++ if (name == NULL || filename == NULL) ++ fatal("filename and partition name must be specified"); ++ ++ int fd; ++ char *buf; ++ struct stat stat_buf; ++ uint32_t crc; ++ ++ CHECK(fd=open(filename,O_RDONLY),-1); ++ CHECK(stat(filename, &stat_buf),-1); ++ buf = (char*)chk_malloc(stat_buf.st_size); ++ CHECK(read(fd,buf,stat_buf.st_size),-1); ++ crc = crc32(buf,stat_buf.st_size); ++ close(fd); ++ free(buf); ++ ++ CHECK(fd=open(device,O_RDWR),-1); ++ dir_t dir; ++ load_dir(fd,offset,&size,swap_endianness,&dir); ++ iter_t after = NULL; ++ FOR_EACH_DIR_ENTRY(dir,i) { ++ if (strcmp(get(i)->name, name) == 0) { ++ get(i)->file_cksum = crc; ++ get(i)->data_length = stat_buf.st_size; ++ break; ++ } ++ } ++ save_dir(fd,offset,size,swap_endianness,dir); ++} + + static void fis_delete(const char* device, int offset, int size, bool swap_endianness, + char* name) +@@ -526,8 +594,9 @@ + fputs("Usage:\n" + " fis [options] list\n" + " fis [options] init\n" +- " fis [options] create -f address -l size -n name\n" ++ " fis [options] create -f address -l size -n name [-m memory_address]\n" + " fis [options] delete name\n" ++ " fis [options] checksum -f filename -n name\n" + "Options:\n" + " -d device specify /dev/mtd* device containing directory\n" + " -o offset specify offset into device of start of directory\n" +@@ -597,9 +666,14 @@ + fis_create(device,offset,size,swap_endianness, + argc-i-1,&argv[i+1]); + break; ++ } else if (strcmp(arg,"checksum")==0) { ++ check_dev(device); ++ fis_checksum(device,offset,size,swap_endianness, ++ argc-i-1,&argv[i+1]); ++ break; + } else if (strcmp(arg,"delete")==0) { + if (i!=argc-2) { +- fatal("Exactly one argumnet required after 'delete'"); ++ fatal("Exactly one argument required after 'delete'"); + } + ++i; + char* name = argv[i]; diff --git a/package/fis/0003-list_output.patch b/package/fis/0003-list_output.patch new file mode 100644 index 0000000000..6c1e4eb9dd --- /dev/null +++ b/package/fis/0003-list_output.patch @@ -0,0 +1,21 @@ +--- fis.orig/fis.c 2010-05-12 10:22:10.000000000 -0700 ++++ fis/fis.c 2010-05-12 10:19:24.000000000 -0700 +@@ -142,8 +142,8 @@ + + static void dump_desc(FILE* f, const struct fis_image_desc* d) + { +- fprintf(f,"%16s: flash addr = 0x%08x, mem addr = 0x%08x, size = 0x%08x, checksum = 0x%08x\n", +- d->name, d->flash_base, d->mem_base, d->size, d->file_cksum); ++ fprintf(f,"%-16s 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x\n", ++ d->name, d->flash_base, d->mem_base, d->size, d->entry_point, d->file_cksum); + for (unsigned int i=0; i<(sizeof(d->skips)/4); ++i) { + if (d->skips[i]==0x736b6970 || d->skips[i]==0x70696b73) { // "skip" + uint32_t offset = d->skips[i+1]; +@@ -400,6 +400,7 @@ + CHECK(fd=open(device,O_RDONLY),-1); + dir_t dir; + load_dir(fd,offset,&size,swap_endianness,&dir); ++ fprintf(stdout,"Name FLASH addr Mem addr Length Entry point Checksum\n"); + FOR_EACH_DIR_ENTRY(dir,i) { + dump_desc(stdout,get(i)); + } diff --git a/package/fis/0004-sorted_list.patch b/package/fis/0004-sorted_list.patch new file mode 100644 index 0000000000..6854977ba4 --- /dev/null +++ b/package/fis/0004-sorted_list.patch @@ -0,0 +1,30 @@ +--- fis.orig/fis.c 2010-05-12 11:09:22.000000000 -0700 ++++ fis/fis.c 2010-05-12 11:05:45.000000000 -0700 +@@ -401,9 +401,24 @@ + dir_t dir; + load_dir(fd,offset,&size,swap_endianness,&dir); + fprintf(stdout,"Name FLASH addr Mem addr Length Entry point Checksum\n"); +- FOR_EACH_DIR_ENTRY(dir,i) { +- dump_desc(stdout,get(i)); +- } ++ uint32_t last_addr = 0; ++ bool image_found; ++ do { ++ uint32_t lowest_addr = 0xffffffff; ++ iter_t index; ++ image_found = false; ++ FOR_EACH_DIR_ENTRY(dir,i) { ++ const struct fis_image_desc *d = get(i); ++ if ((d->flash_base >= last_addr) && (d->flash_base < lowest_addr)) { ++ lowest_addr = d->flash_base; ++ image_found = true; ++ index = i; ++ } ++ } ++ if (image_found) ++ dump_desc(stdout,get(index)); ++ last_addr = lowest_addr + 1; ++ } while (image_found == true); + } + + diff --git a/package/fis/fis-001-checksum.patch b/package/fis/fis-001-checksum.patch deleted file mode 100644 index a6325eb01a..0000000000 --- a/package/fis/fis-001-checksum.patch +++ /dev/null @@ -1,274 +0,0 @@ -diff -uN fis.orig/crc.c fis/crc.c ---- fis.orig/crc.c 1970-01-01 10:00:00.000000000 +1000 -+++ fis/crc.c 2008-04-01 11:39:13.000000000 +1100 -@@ -0,0 +1,88 @@ -+/* -+ * crc.c -+ * -+ * $Id: crc.c,v 1.1 2006/02/13 09:58:08 andrzej Exp $ -+ * -+ * Gary S. Brown's CRC -+ * Code based on Gary S. Brown CRC (1986). -+ * Generation polynomial is: -+ * X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0 -+ * -+ * Copyright (C) 2006 Ekiert sp z o.o. -+ * Author: Andrzej Ekiert -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License -+ * as published by the Free Software Foundation; either version -+ * 2 of the License, or (at your option) any later version. -+ */ -+ -+#include -+ -+#include "crc.h" -+ -+static const uint32_t crc32_tab[] = { -+ 0x00000000L, 0x77073096L, 0xee0e612cL, 0x990951baL, 0x076dc419L, -+ 0x706af48fL, 0xe963a535L, 0x9e6495a3L, 0x0edb8832L, 0x79dcb8a4L, -+ 0xe0d5e91eL, 0x97d2d988L, 0x09b64c2bL, 0x7eb17cbdL, 0xe7b82d07L, -+ 0x90bf1d91L, 0x1db71064L, 0x6ab020f2L, 0xf3b97148L, 0x84be41deL, -+ 0x1adad47dL, 0x6ddde4ebL, 0xf4d4b551L, 0x83d385c7L, 0x136c9856L, -+ 0x646ba8c0L, 0xfd62f97aL, 0x8a65c9ecL, 0x14015c4fL, 0x63066cd9L, -+ 0xfa0f3d63L, 0x8d080df5L, 0x3b6e20c8L, 0x4c69105eL, 0xd56041e4L, -+ 0xa2677172L, 0x3c03e4d1L, 0x4b04d447L, 0xd20d85fdL, 0xa50ab56bL, -+ 0x35b5a8faL, 0x42b2986cL, 0xdbbbc9d6L, 0xacbcf940L, 0x32d86ce3L, -+ 0x45df5c75L, 0xdcd60dcfL, 0xabd13d59L, 0x26d930acL, 0x51de003aL, -+ 0xc8d75180L, 0xbfd06116L, 0x21b4f4b5L, 0x56b3c423L, 0xcfba9599L, -+ 0xb8bda50fL, 0x2802b89eL, 0x5f058808L, 0xc60cd9b2L, 0xb10be924L, -+ 0x2f6f7c87L, 0x58684c11L, 0xc1611dabL, 0xb6662d3dL, 0x76dc4190L, -+ 0x01db7106L, 0x98d220bcL, 0xefd5102aL, 0x71b18589L, 0x06b6b51fL, -+ 0x9fbfe4a5L, 0xe8b8d433L, 0x7807c9a2L, 0x0f00f934L, 0x9609a88eL, -+ 0xe10e9818L, 0x7f6a0dbbL, 0x086d3d2dL, 0x91646c97L, 0xe6635c01L, -+ 0x6b6b51f4L, 0x1c6c6162L, 0x856530d8L, 0xf262004eL, 0x6c0695edL, -+ 0x1b01a57bL, 0x8208f4c1L, 0xf50fc457L, 0x65b0d9c6L, 0x12b7e950L, -+ 0x8bbeb8eaL, 0xfcb9887cL, 0x62dd1ddfL, 0x15da2d49L, 0x8cd37cf3L, -+ 0xfbd44c65L, 0x4db26158L, 0x3ab551ceL, 0xa3bc0074L, 0xd4bb30e2L, -+ 0x4adfa541L, 0x3dd895d7L, 0xa4d1c46dL, 0xd3d6f4fbL, 0x4369e96aL, -+ 0x346ed9fcL, 0xad678846L, 0xda60b8d0L, 0x44042d73L, 0x33031de5L, -+ 0xaa0a4c5fL, 0xdd0d7cc9L, 0x5005713cL, 0x270241aaL, 0xbe0b1010L, -+ 0xc90c2086L, 0x5768b525L, 0x206f85b3L, 0xb966d409L, 0xce61e49fL, -+ 0x5edef90eL, 0x29d9c998L, 0xb0d09822L, 0xc7d7a8b4L, 0x59b33d17L, -+ 0x2eb40d81L, 0xb7bd5c3bL, 0xc0ba6cadL, 0xedb88320L, 0x9abfb3b6L, -+ 0x03b6e20cL, 0x74b1d29aL, 0xead54739L, 0x9dd277afL, 0x04db2615L, -+ 0x73dc1683L, 0xe3630b12L, 0x94643b84L, 0x0d6d6a3eL, 0x7a6a5aa8L, -+ 0xe40ecf0bL, 0x9309ff9dL, 0x0a00ae27L, 0x7d079eb1L, 0xf00f9344L, -+ 0x8708a3d2L, 0x1e01f268L, 0x6906c2feL, 0xf762575dL, 0x806567cbL, -+ 0x196c3671L, 0x6e6b06e7L, 0xfed41b76L, 0x89d32be0L, 0x10da7a5aL, -+ 0x67dd4accL, 0xf9b9df6fL, 0x8ebeeff9L, 0x17b7be43L, 0x60b08ed5L, -+ 0xd6d6a3e8L, 0xa1d1937eL, 0x38d8c2c4L, 0x4fdff252L, 0xd1bb67f1L, -+ 0xa6bc5767L, 0x3fb506ddL, 0x48b2364bL, 0xd80d2bdaL, 0xaf0a1b4cL, -+ 0x36034af6L, 0x41047a60L, 0xdf60efc3L, 0xa867df55L, 0x316e8eefL, -+ 0x4669be79L, 0xcb61b38cL, 0xbc66831aL, 0x256fd2a0L, 0x5268e236L, -+ 0xcc0c7795L, 0xbb0b4703L, 0x220216b9L, 0x5505262fL, 0xc5ba3bbeL, -+ 0xb2bd0b28L, 0x2bb45a92L, 0x5cb36a04L, 0xc2d7ffa7L, 0xb5d0cf31L, -+ 0x2cd99e8bL, 0x5bdeae1dL, 0x9b64c2b0L, 0xec63f226L, 0x756aa39cL, -+ 0x026d930aL, 0x9c0906a9L, 0xeb0e363fL, 0x72076785L, 0x05005713L, -+ 0x95bf4a82L, 0xe2b87a14L, 0x7bb12baeL, 0x0cb61b38L, 0x92d28e9bL, -+ 0xe5d5be0dL, 0x7cdcefb7L, 0x0bdbdf21L, 0x86d3d2d4L, 0xf1d4e242L, -+ 0x68ddb3f8L, 0x1fda836eL, 0x81be16cdL, 0xf6b9265bL, 0x6fb077e1L, -+ 0x18b74777L, 0x88085ae6L, 0xff0f6a70L, 0x66063bcaL, 0x11010b5cL, -+ 0x8f659effL, 0xf862ae69L, 0x616bffd3L, 0x166ccf45L, 0xa00ae278L, -+ 0xd70dd2eeL, 0x4e048354L, 0x3903b3c2L, 0xa7672661L, 0xd06016f7L, -+ 0x4969474dL, 0x3e6e77dbL, 0xaed16a4aL, 0xd9d65adcL, 0x40df0b66L, -+ 0x37d83bf0L, 0xa9bcae53L, 0xdebb9ec5L, 0x47b2cf7fL, 0x30b5ffe9L, -+ 0xbdbdf21cL, 0xcabac28aL, 0x53b39330L, 0x24b4a3a6L, 0xbad03605L, -+ 0xcdd70693L, 0x54de5729L, 0x23d967bfL, 0xb3667a2eL, 0xc4614ab8L, -+ 0x5d681b02L, 0x2a6f2b94L, 0xb40bbe37L, 0xc30c8ea1L, 0x5a05df1bL, -+ 0x2d02ef8dL -+ }; -+ -+uint32_t crc32(uint8_t *s, uint32_t len) -+{ -+ uint32_t i, val = 0; -+ -+ for (i = 0; i < len; i++) { -+ val = crc32_tab[(val^s[i]) & 0xff] ^ (val >> 8); -+ } -+ return val; -+} -+ -diff -uN fis.orig/crc.h fis/crc.h ---- fis.orig/crc.h 1970-01-01 10:00:00.000000000 +1000 -+++ fis/crc.h 2008-04-01 11:39:13.000000000 +1100 -@@ -0,0 +1,25 @@ -+/* -+ * crc.h -+ * -+ * $Id: crc.h,v 1.1 2006/02/13 09:58:08 andrzej Exp $ -+ * -+ * Gary S. Brown's CRC - header. -+ * -+ * Copyright (C) 2006 Ekiert sp z o.o. -+ * Author: Andrzej Ekiert -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License -+ * as published by the Free Software Foundation; either version -+ * 2 of the License, or (at your option) any later version. -+ */ -+ -+#ifndef CRC_H -+#define CRC_H -+ -+#include -+ -+uint32_t crc32(uint8_t *s, uint32_t len); -+ -+#endif //CRC_H -+ -diff -uN fis.orig/fis.c fis/fis.c ---- fis.orig/fis.c 2007-05-03 06:42:51.000000000 +1000 -+++ fis/fis.c 2008-04-01 11:52:11.000000000 +1100 -@@ -30,6 +30,7 @@ - #include - #include - -+#include "crc.h" - - // Report an error and terminate: - -@@ -141,8 +142,8 @@ - - static void dump_desc(FILE* f, const struct fis_image_desc* d) - { -- fprintf(f,"%16s: addr = 0x%08x, size = 0x%08x\n", -- d->name, d->flash_base, d->size); -+ fprintf(f,"%16s: flash addr = 0x%08x, mem addr = 0x%08x, size = 0x%08x, checksum = 0x%08x\n", -+ d->name, d->flash_base, d->mem_base, d->size, d->file_cksum); - for (unsigned int i=0; i<(sizeof(d->skips)/4); ++i) { - if (d->skips[i]==0x736b6970 || d->skips[i]==0x70696b73) { // "skip" - uint32_t offset = d->skips[i+1]; -@@ -332,6 +333,7 @@ - d->size = swap_end_32(d->size); - d->entry_point = swap_end_32(d->entry_point); - d->data_length = swap_end_32(d->data_length); -+ d->file_cksum = swap_end_32(d->file_cksum); - for (unsigned int i=0; i<(sizeof(d->skips)/4); ++i) { - d->skips[i] = swap_end_32(d->skips[i]); - } -@@ -446,19 +448,25 @@ - char* arg=argv[i]; - if (strcmp(arg,"-l")==0) { - if (i==argc-1) { -- fatal("argumnet missing for -l"); -+ fatal("argument missing for -l"); - } - ++i; - d->size = str_to_int_maybe_hex(argv[i]); - } else if (strcmp(arg,"-f")==0) { - if (i==argc-1) { -- fatal("argumnet missing for -f"); -+ fatal("argument missing for -f"); - } - ++i; - d->flash_base = str_to_int_maybe_hex(argv[i]); -+ } else if (strcmp(arg,"-m")==0) { -+ if (i==argc-1) { -+ fatal("argument missing for -m"); -+ } -+ ++i; -+ d->mem_base = str_to_int_maybe_hex(argv[i]); - } else if (strcmp(arg,"-n")==0) { - if (i==argc-1) { -- fatal("argumnet missing for -n"); -+ fatal("argument missing for -n"); - } - ++i; - char* name = argv[i]; -@@ -499,6 +507,66 @@ - save_dir(fd,offset,size,swap_endianness,dir); - } - -+static void fis_checksum(const char* device, int offset, int size, bool swap_endianness, -+ int argc, char* argv[]) -+{ -+ char* name = NULL; -+ char* filename = NULL; -+ -+ for (int i=0; i=16) { -+ fatal("name too long, max 16 chars including terminating null"); -+ } -+ } else { -+ fputs("Unrecognised option '",stderr); -+ fputs(arg,stderr); -+ fputs("'\n",stderr); -+ exit(1); -+ } -+ } -+ -+ if (name == NULL || filename == NULL) -+ fatal("filename and partition name must be specified"); -+ -+ int fd; -+ char *buf; -+ struct stat stat_buf; -+ uint32_t crc; -+ -+ CHECK(fd=open(filename,O_RDONLY),-1); -+ CHECK(stat(filename, &stat_buf),-1); -+ buf = (char*)chk_malloc(stat_buf.st_size); -+ CHECK(read(fd,buf,stat_buf.st_size),-1); -+ crc = crc32(buf,stat_buf.st_size); -+ close(fd); -+ free(buf); -+ -+ CHECK(fd=open(device,O_RDWR),-1); -+ dir_t dir; -+ load_dir(fd,offset,&size,swap_endianness,&dir); -+ iter_t after = NULL; -+ FOR_EACH_DIR_ENTRY(dir,i) { -+ if (strcmp(get(i)->name, name) == 0) { -+ get(i)->file_cksum = crc; -+ get(i)->data_length = stat_buf.st_size; -+ break; -+ } -+ } -+ save_dir(fd,offset,size,swap_endianness,dir); -+} - - static void fis_delete(const char* device, int offset, int size, bool swap_endianness, - char* name) -@@ -526,8 +594,9 @@ - fputs("Usage:\n" - " fis [options] list\n" - " fis [options] init\n" -- " fis [options] create -f address -l size -n name\n" -+ " fis [options] create -f address -l size -n name [-m memory_address]\n" - " fis [options] delete name\n" -+ " fis [options] checksum -f filename -n name\n" - "Options:\n" - " -d device specify /dev/mtd* device containing directory\n" - " -o offset specify offset into device of start of directory\n" -@@ -597,9 +666,14 @@ - fis_create(device,offset,size,swap_endianness, - argc-i-1,&argv[i+1]); - break; -+ } else if (strcmp(arg,"checksum")==0) { -+ check_dev(device); -+ fis_checksum(device,offset,size,swap_endianness, -+ argc-i-1,&argv[i+1]); -+ break; - } else if (strcmp(arg,"delete")==0) { - if (i!=argc-2) { -- fatal("Exactly one argumnet required after 'delete'"); -+ fatal("Exactly one argument required after 'delete'"); - } - ++i; - char* name = argv[i]; diff --git a/package/fis/fis-003-list_output.patch b/package/fis/fis-003-list_output.patch deleted file mode 100644 index 6c1e4eb9dd..0000000000 --- a/package/fis/fis-003-list_output.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- fis.orig/fis.c 2010-05-12 10:22:10.000000000 -0700 -+++ fis/fis.c 2010-05-12 10:19:24.000000000 -0700 -@@ -142,8 +142,8 @@ - - static void dump_desc(FILE* f, const struct fis_image_desc* d) - { -- fprintf(f,"%16s: flash addr = 0x%08x, mem addr = 0x%08x, size = 0x%08x, checksum = 0x%08x\n", -- d->name, d->flash_base, d->mem_base, d->size, d->file_cksum); -+ fprintf(f,"%-16s 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x\n", -+ d->name, d->flash_base, d->mem_base, d->size, d->entry_point, d->file_cksum); - for (unsigned int i=0; i<(sizeof(d->skips)/4); ++i) { - if (d->skips[i]==0x736b6970 || d->skips[i]==0x70696b73) { // "skip" - uint32_t offset = d->skips[i+1]; -@@ -400,6 +400,7 @@ - CHECK(fd=open(device,O_RDONLY),-1); - dir_t dir; - load_dir(fd,offset,&size,swap_endianness,&dir); -+ fprintf(stdout,"Name FLASH addr Mem addr Length Entry point Checksum\n"); - FOR_EACH_DIR_ENTRY(dir,i) { - dump_desc(stdout,get(i)); - } diff --git a/package/fis/fis-004-sorted_list.patch b/package/fis/fis-004-sorted_list.patch deleted file mode 100644 index 6854977ba4..0000000000 --- a/package/fis/fis-004-sorted_list.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- fis.orig/fis.c 2010-05-12 11:09:22.000000000 -0700 -+++ fis/fis.c 2010-05-12 11:05:45.000000000 -0700 -@@ -401,9 +401,24 @@ - dir_t dir; - load_dir(fd,offset,&size,swap_endianness,&dir); - fprintf(stdout,"Name FLASH addr Mem addr Length Entry point Checksum\n"); -- FOR_EACH_DIR_ENTRY(dir,i) { -- dump_desc(stdout,get(i)); -- } -+ uint32_t last_addr = 0; -+ bool image_found; -+ do { -+ uint32_t lowest_addr = 0xffffffff; -+ iter_t index; -+ image_found = false; -+ FOR_EACH_DIR_ENTRY(dir,i) { -+ const struct fis_image_desc *d = get(i); -+ if ((d->flash_base >= last_addr) && (d->flash_base < lowest_addr)) { -+ lowest_addr = d->flash_base; -+ image_found = true; -+ index = i; -+ } -+ } -+ if (image_found) -+ dump_desc(stdout,get(index)); -+ last_addr = lowest_addr + 1; -+ } while (image_found == true); - } - - diff --git a/package/flickcurl/0001-Switch-to-https-for-all-service-endpoints.-HTTP-EOL-.patch b/package/flickcurl/0001-Switch-to-https-for-all-service-endpoints.-HTTP-EOL-.patch new file mode 100644 index 0000000000..576b611668 --- /dev/null +++ b/package/flickcurl/0001-Switch-to-https-for-all-service-endpoints.-HTTP-EOL-.patch @@ -0,0 +1,40 @@ +From 1f5e208a4709a3030258024ea63834aab41bca3c Mon Sep 17 00:00:00 2001 +From: Dave Beckett +Date: Sat, 31 May 2014 12:10:35 -0700 +Subject: [PATCH] Switch to https for all service endpoints. HTTP EOL + 2014-06-27 + +2014-04-30 Flickr announced that it would be HTTPS only from 2014-06-27 +http://code.flickr.net/2014/04/30/flickr-api-going-ssl-only-on-june-27th-2014/ + +Signed-off-by: Peter Korsgaard +--- + src/common.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/common.c b/src/common.c +index ef05e08..245db18 100644 +--- a/src/common.c ++++ b/src/common.c +@@ -73,12 +73,12 @@ const char* const flickcurl_home_url_string = "http://librdf.org/flickcurl/"; + const char* const flickcurl_version_string = VERSION; + + +-const char* const flickcurl_flickr_service_uri = "http://www.flickr.com/services/rest/"; +-const char* const flickcurl_flickr_upload_service_uri = "http://api.flickr.com/services/upload/"; +-const char* const flickcurl_flickr_replace_service_uri = "http://api.flickr.com/services/replace/"; +-const char* const flickcurl_flickr_oauth_request_token_uri = "http://www.flickr.com/services/oauth/request_token"; +-const char* const flickcurl_flickr_oauth_authorize_uri = "http://www.flickr.com/services/oauth/authorize"; +-const char* const flickcurl_flickr_oauth_access_token_uri = "http://www.flickr.com/services/oauth/access_token"; ++const char* const flickcurl_flickr_service_uri = "https://api.flickr.com/services/rest/"; ++const char* const flickcurl_flickr_upload_service_uri = "https://up.flickr.com/services/upload/"; ++const char* const flickcurl_flickr_replace_service_uri = "https://up.flickr.com/services/replace/"; ++const char* const flickcurl_flickr_oauth_request_token_uri = "https://api.flickr.com/services/oauth/request_token"; ++const char* const flickcurl_flickr_oauth_authorize_uri = "https://api.flickr.com/services/oauth/authorize"; ++const char* const flickcurl_flickr_oauth_access_token_uri = "https://api.flickr.com/services/oauth/access_token"; + + + static void +-- +2.0.0 + diff --git a/package/flickcurl/0002-Oauth-services-are-on-https-www.flickr.com.patch b/package/flickcurl/0002-Oauth-services-are-on-https-www.flickr.com.patch new file mode 100644 index 0000000000..1ed9af2bed --- /dev/null +++ b/package/flickcurl/0002-Oauth-services-are-on-https-www.flickr.com.patch @@ -0,0 +1,30 @@ +From 3e65bbfc1c556ac8bd1d30db66d6e63957066b75 Mon Sep 17 00:00:00 2001 +From: Dave Beckett +Date: Sat, 31 May 2014 12:56:22 -0700 +Subject: [PATCH] Oauth services are on https www.flickr.com + +Signed-off-by: Peter Korsgaard +--- + src/common.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/common.c b/src/common.c +index 245db18..c697a7d 100644 +--- a/src/common.c ++++ b/src/common.c +@@ -76,9 +76,9 @@ const char* const flickcurl_version_string = VERSION; + const char* const flickcurl_flickr_service_uri = "https://api.flickr.com/services/rest/"; + const char* const flickcurl_flickr_upload_service_uri = "https://up.flickr.com/services/upload/"; + const char* const flickcurl_flickr_replace_service_uri = "https://up.flickr.com/services/replace/"; +-const char* const flickcurl_flickr_oauth_request_token_uri = "https://api.flickr.com/services/oauth/request_token"; +-const char* const flickcurl_flickr_oauth_authorize_uri = "https://api.flickr.com/services/oauth/authorize"; +-const char* const flickcurl_flickr_oauth_access_token_uri = "https://api.flickr.com/services/oauth/access_token"; ++const char* const flickcurl_flickr_oauth_request_token_uri = "https://www.flickr.com/services/oauth/request_token"; ++const char* const flickcurl_flickr_oauth_authorize_uri = "https://www.flickr.com/services/oauth/authorize"; ++const char* const flickcurl_flickr_oauth_access_token_uri = "https://www.flickr.com/services/oauth/access_token"; + + + static void +-- +2.0.0 + diff --git a/package/flickcurl/flickcurl-0001-Switch-to-https-for-all-service-endpoints.-HTTP-EOL-.patch b/package/flickcurl/flickcurl-0001-Switch-to-https-for-all-service-endpoints.-HTTP-EOL-.patch deleted file mode 100644 index 576b611668..0000000000 --- a/package/flickcurl/flickcurl-0001-Switch-to-https-for-all-service-endpoints.-HTTP-EOL-.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 1f5e208a4709a3030258024ea63834aab41bca3c Mon Sep 17 00:00:00 2001 -From: Dave Beckett -Date: Sat, 31 May 2014 12:10:35 -0700 -Subject: [PATCH] Switch to https for all service endpoints. HTTP EOL - 2014-06-27 - -2014-04-30 Flickr announced that it would be HTTPS only from 2014-06-27 -http://code.flickr.net/2014/04/30/flickr-api-going-ssl-only-on-june-27th-2014/ - -Signed-off-by: Peter Korsgaard ---- - src/common.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/src/common.c b/src/common.c -index ef05e08..245db18 100644 ---- a/src/common.c -+++ b/src/common.c -@@ -73,12 +73,12 @@ const char* const flickcurl_home_url_string = "http://librdf.org/flickcurl/"; - const char* const flickcurl_version_string = VERSION; - - --const char* const flickcurl_flickr_service_uri = "http://www.flickr.com/services/rest/"; --const char* const flickcurl_flickr_upload_service_uri = "http://api.flickr.com/services/upload/"; --const char* const flickcurl_flickr_replace_service_uri = "http://api.flickr.com/services/replace/"; --const char* const flickcurl_flickr_oauth_request_token_uri = "http://www.flickr.com/services/oauth/request_token"; --const char* const flickcurl_flickr_oauth_authorize_uri = "http://www.flickr.com/services/oauth/authorize"; --const char* const flickcurl_flickr_oauth_access_token_uri = "http://www.flickr.com/services/oauth/access_token"; -+const char* const flickcurl_flickr_service_uri = "https://api.flickr.com/services/rest/"; -+const char* const flickcurl_flickr_upload_service_uri = "https://up.flickr.com/services/upload/"; -+const char* const flickcurl_flickr_replace_service_uri = "https://up.flickr.com/services/replace/"; -+const char* const flickcurl_flickr_oauth_request_token_uri = "https://api.flickr.com/services/oauth/request_token"; -+const char* const flickcurl_flickr_oauth_authorize_uri = "https://api.flickr.com/services/oauth/authorize"; -+const char* const flickcurl_flickr_oauth_access_token_uri = "https://api.flickr.com/services/oauth/access_token"; - - - static void --- -2.0.0 - diff --git a/package/flickcurl/flickcurl-0002-Oauth-services-are-on-https-www.flickr.com.patch b/package/flickcurl/flickcurl-0002-Oauth-services-are-on-https-www.flickr.com.patch deleted file mode 100644 index 1ed9af2bed..0000000000 --- a/package/flickcurl/flickcurl-0002-Oauth-services-are-on-https-www.flickr.com.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 3e65bbfc1c556ac8bd1d30db66d6e63957066b75 Mon Sep 17 00:00:00 2001 -From: Dave Beckett -Date: Sat, 31 May 2014 12:56:22 -0700 -Subject: [PATCH] Oauth services are on https www.flickr.com - -Signed-off-by: Peter Korsgaard ---- - src/common.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/common.c b/src/common.c -index 245db18..c697a7d 100644 ---- a/src/common.c -+++ b/src/common.c -@@ -76,9 +76,9 @@ const char* const flickcurl_version_string = VERSION; - const char* const flickcurl_flickr_service_uri = "https://api.flickr.com/services/rest/"; - const char* const flickcurl_flickr_upload_service_uri = "https://up.flickr.com/services/upload/"; - const char* const flickcurl_flickr_replace_service_uri = "https://up.flickr.com/services/replace/"; --const char* const flickcurl_flickr_oauth_request_token_uri = "https://api.flickr.com/services/oauth/request_token"; --const char* const flickcurl_flickr_oauth_authorize_uri = "https://api.flickr.com/services/oauth/authorize"; --const char* const flickcurl_flickr_oauth_access_token_uri = "https://api.flickr.com/services/oauth/access_token"; -+const char* const flickcurl_flickr_oauth_request_token_uri = "https://www.flickr.com/services/oauth/request_token"; -+const char* const flickcurl_flickr_oauth_authorize_uri = "https://www.flickr.com/services/oauth/authorize"; -+const char* const flickcurl_flickr_oauth_access_token_uri = "https://www.flickr.com/services/oauth/access_token"; - - - static void --- -2.0.0 - diff --git a/package/flite/0001-now-honor-DESTDIR-env.-var.patch b/package/flite/0001-now-honor-DESTDIR-env.-var.patch new file mode 100644 index 0000000000..5972f34066 --- /dev/null +++ b/package/flite/0001-now-honor-DESTDIR-env.-var.patch @@ -0,0 +1,30 @@ +From 658f3243238efe951f6242fa384e990d77078afc Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Fri, 27 Dec 2013 17:42:39 +0100 +Subject: [PATCH] now honor DESTDIR env. var. + +Flite used a handwritten a Makefile which doesn't honor DESTDIR environment +variable, though it uses autoconf. + +Signed-off-by: Samuel Martin +--- + config/config.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/config/config.in b/config/config.in +index 914d2bf..43f1a56 100644 +--- a/config/config.in ++++ b/config/config.in +@@ -49,6 +49,6 @@ include $(TOP)/config/$(langvox).lv + prefix = @prefix@ + exec_prefix = @exec_prefix@ + EXEEXT = @EXEEXT@ +-INSTALLBINDIR = @bindir@ +-INSTALLLIBDIR = @libdir@ +-INSTALLINCDIR = @includedir@/flite ++INSTALLBINDIR = $(DESTDIR)@bindir@ ++INSTALLLIBDIR = $(DESTDIR)@libdir@ ++INSTALLINCDIR = $(DESTDIR)@includedir@/flite +-- +1.8.5.2 + diff --git a/package/flite/0002-fix-alsa-static.patch b/package/flite/0002-fix-alsa-static.patch new file mode 100644 index 0000000000..7ed4899cc4 --- /dev/null +++ b/package/flite/0002-fix-alsa-static.patch @@ -0,0 +1,19 @@ +Use pkg-config to determine alsa link flags. This fixes static linking. + +Signed-off-by: Baruch Siach + +diff -Nuar flite-1.4-release.orig/configure.in flite-1.4-release/configure.in +--- flite-1.4-release.orig/configure.in 2009-08-14 23:46:38.000000000 +0300 ++++ flite-1.4-release/configure.in 2014-04-30 18:52:33.253297236 +0300 +@@ -275,7 +275,10 @@ + #endif], + [AUDIODRIVER="alsa" + AUDIODEFS=-DCST_AUDIO_ALSA +- AUDIOLIBS=-lasound]) ++ AUDIOLIBS=`pkg-config --libs alsa` ++ if test "$shared" = false; then ++ AUDIOLIBS=`pkg-config --libs --static alsa` ++ fi]) + AC_CHECK_HEADER(mmsystem.h, + [AUDIODRIVER="wince" + AUDIODEFS=-DCST_AUDIO_WINCE diff --git a/package/flite/flite-0001-now-honor-DESTDIR-env.-var.patch b/package/flite/flite-0001-now-honor-DESTDIR-env.-var.patch deleted file mode 100644 index 5972f34066..0000000000 --- a/package/flite/flite-0001-now-honor-DESTDIR-env.-var.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 658f3243238efe951f6242fa384e990d77078afc Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Fri, 27 Dec 2013 17:42:39 +0100 -Subject: [PATCH] now honor DESTDIR env. var. - -Flite used a handwritten a Makefile which doesn't honor DESTDIR environment -variable, though it uses autoconf. - -Signed-off-by: Samuel Martin ---- - config/config.in | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/config/config.in b/config/config.in -index 914d2bf..43f1a56 100644 ---- a/config/config.in -+++ b/config/config.in -@@ -49,6 +49,6 @@ include $(TOP)/config/$(langvox).lv - prefix = @prefix@ - exec_prefix = @exec_prefix@ - EXEEXT = @EXEEXT@ --INSTALLBINDIR = @bindir@ --INSTALLLIBDIR = @libdir@ --INSTALLINCDIR = @includedir@/flite -+INSTALLBINDIR = $(DESTDIR)@bindir@ -+INSTALLLIBDIR = $(DESTDIR)@libdir@ -+INSTALLINCDIR = $(DESTDIR)@includedir@/flite --- -1.8.5.2 - diff --git a/package/flite/flite-0002-fix-alsa-static.patch b/package/flite/flite-0002-fix-alsa-static.patch deleted file mode 100644 index 7ed4899cc4..0000000000 --- a/package/flite/flite-0002-fix-alsa-static.patch +++ /dev/null @@ -1,19 +0,0 @@ -Use pkg-config to determine alsa link flags. This fixes static linking. - -Signed-off-by: Baruch Siach - -diff -Nuar flite-1.4-release.orig/configure.in flite-1.4-release/configure.in ---- flite-1.4-release.orig/configure.in 2009-08-14 23:46:38.000000000 +0300 -+++ flite-1.4-release/configure.in 2014-04-30 18:52:33.253297236 +0300 -@@ -275,7 +275,10 @@ - #endif], - [AUDIODRIVER="alsa" - AUDIODEFS=-DCST_AUDIO_ALSA -- AUDIOLIBS=-lasound]) -+ AUDIOLIBS=`pkg-config --libs alsa` -+ if test "$shared" = false; then -+ AUDIOLIBS=`pkg-config --libs --static alsa` -+ fi]) - AC_CHECK_HEADER(mmsystem.h, - [AUDIODRIVER="wince" - AUDIODEFS=-DCST_AUDIO_WINCE diff --git a/package/fltk/0001-disable-tests.patch b/package/fltk/0001-disable-tests.patch new file mode 100644 index 0000000000..957145312c --- /dev/null +++ b/package/fltk/0001-disable-tests.patch @@ -0,0 +1,16 @@ +Disable tests, slower to build and would need host-fltk. + +Signed-off-by: Gustavo Zacarias + +diff -Nura fltk-1.3.2.orig/Makefile fltk-1.3.2/Makefile +--- fltk-1.3.2.orig/Makefile 2013-10-27 18:19:39.693208127 -0300 ++++ fltk-1.3.2/Makefile 2013-10-27 18:20:08.032136885 -0300 +@@ -18,7 +18,7 @@ + + include makeinclude + +-DIRS = $(IMAGEDIRS) src $(CAIRODIR) fluid test documentation ++DIRS = $(IMAGEDIRS) src $(CAIRODIR) fluid documentation + + all: makeinclude fltk-config + for dir in $(DIRS); do\ diff --git a/package/fltk/0002-jpeg-9.patch b/package/fltk/0002-jpeg-9.patch new file mode 100644 index 0000000000..11ae85ee28 --- /dev/null +++ b/package/fltk/0002-jpeg-9.patch @@ -0,0 +1,26 @@ +From http://www.fltk.org/str.php?L2920 +However it's not yet applied apparently until bundled jpeg is upgraded. + +Signed-off-by: Gustavo Zacarias + +diff -Nura fltk-1.3.2.orig/src/Fl_JPEG_Image.cxx fltk-1.3.2/src/Fl_JPEG_Image.cxx +--- fltk-1.3.2.orig/src/Fl_JPEG_Image.cxx 2014-07-03 12:56:27.731197463 -0300 ++++ fltk-1.3.2/src/Fl_JPEG_Image.cxx 2014-07-03 12:56:57.907218257 -0300 +@@ -155,7 +155,7 @@ + + jpeg_create_decompress(&dinfo); + jpeg_stdio_src(&dinfo, fp); +- jpeg_read_header(&dinfo, 1); ++ jpeg_read_header(&dinfo, TRUE); + + dinfo.quantize_colors = (boolean)FALSE; + dinfo.out_color_space = JCS_RGB; +@@ -333,7 +333,7 @@ + + jpeg_create_decompress(&dinfo); + jpeg_mem_src(&dinfo, data); +- jpeg_read_header(&dinfo, 1); ++ jpeg_read_header(&dinfo, TRUE); + + dinfo.quantize_colors = (boolean)FALSE; + dinfo.out_color_space = JCS_RGB; diff --git a/package/fltk/fltk-01-disable-tests.patch b/package/fltk/fltk-01-disable-tests.patch deleted file mode 100644 index 957145312c..0000000000 --- a/package/fltk/fltk-01-disable-tests.patch +++ /dev/null @@ -1,16 +0,0 @@ -Disable tests, slower to build and would need host-fltk. - -Signed-off-by: Gustavo Zacarias - -diff -Nura fltk-1.3.2.orig/Makefile fltk-1.3.2/Makefile ---- fltk-1.3.2.orig/Makefile 2013-10-27 18:19:39.693208127 -0300 -+++ fltk-1.3.2/Makefile 2013-10-27 18:20:08.032136885 -0300 -@@ -18,7 +18,7 @@ - - include makeinclude - --DIRS = $(IMAGEDIRS) src $(CAIRODIR) fluid test documentation -+DIRS = $(IMAGEDIRS) src $(CAIRODIR) fluid documentation - - all: makeinclude fltk-config - for dir in $(DIRS); do\ diff --git a/package/fltk/fltk-02-jpeg-9.patch b/package/fltk/fltk-02-jpeg-9.patch deleted file mode 100644 index 11ae85ee28..0000000000 --- a/package/fltk/fltk-02-jpeg-9.patch +++ /dev/null @@ -1,26 +0,0 @@ -From http://www.fltk.org/str.php?L2920 -However it's not yet applied apparently until bundled jpeg is upgraded. - -Signed-off-by: Gustavo Zacarias - -diff -Nura fltk-1.3.2.orig/src/Fl_JPEG_Image.cxx fltk-1.3.2/src/Fl_JPEG_Image.cxx ---- fltk-1.3.2.orig/src/Fl_JPEG_Image.cxx 2014-07-03 12:56:27.731197463 -0300 -+++ fltk-1.3.2/src/Fl_JPEG_Image.cxx 2014-07-03 12:56:57.907218257 -0300 -@@ -155,7 +155,7 @@ - - jpeg_create_decompress(&dinfo); - jpeg_stdio_src(&dinfo, fp); -- jpeg_read_header(&dinfo, 1); -+ jpeg_read_header(&dinfo, TRUE); - - dinfo.quantize_colors = (boolean)FALSE; - dinfo.out_color_space = JCS_RGB; -@@ -333,7 +333,7 @@ - - jpeg_create_decompress(&dinfo); - jpeg_mem_src(&dinfo, data); -- jpeg_read_header(&dinfo, 1); -+ jpeg_read_header(&dinfo, TRUE); - - dinfo.quantize_colors = (boolean)FALSE; - dinfo.out_color_space = JCS_RGB; diff --git a/package/freerdp/0001-add-support-for-uclibc.patch b/package/freerdp/0001-add-support-for-uclibc.patch new file mode 100644 index 0000000000..73f98074f8 --- /dev/null +++ b/package/freerdp/0001-add-support-for-uclibc.patch @@ -0,0 +1,93 @@ +From be615daf41b4bcc61322a987088ee209b5e66c19 Mon Sep 17 00:00:00 2001 +From: Vicente Olivert Riera +Date: Wed, 24 Sep 2014 13:54:15 +0100 +Subject: [PATCH] Add support for uClibc + +The stable-1.1 branch of freerdp fails to build when using a uClibc +toolchain because it's using functions which are not implemented in +uClibc, like eventfd_read, eventfd_write and futimes. That is causing +build failures like these ones: + +../../libwinpr/synch/libwinpr-synch.so.0.1.0: undefined reference to +`eventfd_read' +../../libwinpr/synch/libwinpr-synch.so.0.1.0: undefined reference to +`eventfd_write' + +../../common/libfreerdp-client.so.1.1.0: undefined reference to +`futimes' + +This patch is based on this upstream patch: + + https://github.com/FreeRDP/FreeRDP/commit/5f9c36da5d5cd3c5dce49f7b32fe011cb293f9ec/ + +Signed-off-by: Vicente Olivert Riera +--- + channels/drive/client/drive_file.c | 12 +++++++++--- + winpr/libwinpr/synch/event.c | 14 ++++++++++++++ + 2 files changed, 23 insertions(+), 3 deletions(-) + +diff --git a/channels/drive/client/drive_file.c b/channels/drive/client/drive_file.c +index 376b4fe..b20f408 100644 +--- a/channels/drive/client/drive_file.c ++++ b/channels/drive/client/drive_file.c +@@ -480,7 +480,11 @@ BOOL drive_file_set_information(DRIVE_FILE* file, UINT32 FsInformationClass, UIN + int status; + char* fullpath; + struct STAT st; ++#if defined(ANDROID) + struct timeval tv[2]; ++#else ++ struct timespec tv[2]; ++#endif + UINT64 LastWriteTime; + UINT32 FileAttributes; + UINT32 FileNameLength; +@@ -501,15 +505,17 @@ BOOL drive_file_set_information(DRIVE_FILE* file, UINT32 FsInformationClass, UIN + return FALSE; + + tv[0].tv_sec = st.st_atime; +- tv[0].tv_usec = 0; + tv[1].tv_sec = (LastWriteTime > 0 ? FILE_TIME_RDP_TO_SYSTEM(LastWriteTime) : st.st_mtime); +- tv[1].tv_usec = 0; + #ifndef WIN32 + /* TODO on win32 */ + #ifdef ANDROID ++ tv[0].tv_usec = 0; ++ tv[1].tv_usec = 0; + utimes(file->fullpath, tv); + #else +- futimes(file->fd, tv); ++ tv[0].tv_nsec = 0; ++ tv[1].tv_nsec = 0; ++ futimens(file->fd, tv); + #endif + + if (FileAttributes > 0) +diff --git a/winpr/libwinpr/synch/event.c b/winpr/libwinpr/synch/event.c +index 173afaf..943cccb 100644 +--- a/winpr/libwinpr/synch/event.c ++++ b/winpr/libwinpr/synch/event.c +@@ -115,6 +115,20 @@ HANDLE OpenEventA(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCSTR lpName) + return NULL; + } + ++#ifdef HAVE_EVENTFD_H ++#if defined(__UCLIBC__) ++static int eventfd_read(int fd, eventfd_t* value) ++{ ++ return (read(fd, value, sizeof(*value)) == sizeof(*value)) ? 0 : -1; ++} ++ ++static int eventfd_write(int fd, eventfd_t value) ++{ ++ return (write(fd, &value, sizeof(value)) == sizeof(value)) ? 0 : -1; ++} ++#endif ++#endif ++ + BOOL SetEvent(HANDLE hEvent) + { + ULONG Type; +-- +1.7.1 + diff --git a/package/freerdp/freerdp-0001-add-support-for-uclibc.patch b/package/freerdp/freerdp-0001-add-support-for-uclibc.patch deleted file mode 100644 index 73f98074f8..0000000000 --- a/package/freerdp/freerdp-0001-add-support-for-uclibc.patch +++ /dev/null @@ -1,93 +0,0 @@ -From be615daf41b4bcc61322a987088ee209b5e66c19 Mon Sep 17 00:00:00 2001 -From: Vicente Olivert Riera -Date: Wed, 24 Sep 2014 13:54:15 +0100 -Subject: [PATCH] Add support for uClibc - -The stable-1.1 branch of freerdp fails to build when using a uClibc -toolchain because it's using functions which are not implemented in -uClibc, like eventfd_read, eventfd_write and futimes. That is causing -build failures like these ones: - -../../libwinpr/synch/libwinpr-synch.so.0.1.0: undefined reference to -`eventfd_read' -../../libwinpr/synch/libwinpr-synch.so.0.1.0: undefined reference to -`eventfd_write' - -../../common/libfreerdp-client.so.1.1.0: undefined reference to -`futimes' - -This patch is based on this upstream patch: - - https://github.com/FreeRDP/FreeRDP/commit/5f9c36da5d5cd3c5dce49f7b32fe011cb293f9ec/ - -Signed-off-by: Vicente Olivert Riera ---- - channels/drive/client/drive_file.c | 12 +++++++++--- - winpr/libwinpr/synch/event.c | 14 ++++++++++++++ - 2 files changed, 23 insertions(+), 3 deletions(-) - -diff --git a/channels/drive/client/drive_file.c b/channels/drive/client/drive_file.c -index 376b4fe..b20f408 100644 ---- a/channels/drive/client/drive_file.c -+++ b/channels/drive/client/drive_file.c -@@ -480,7 +480,11 @@ BOOL drive_file_set_information(DRIVE_FILE* file, UINT32 FsInformationClass, UIN - int status; - char* fullpath; - struct STAT st; -+#if defined(ANDROID) - struct timeval tv[2]; -+#else -+ struct timespec tv[2]; -+#endif - UINT64 LastWriteTime; - UINT32 FileAttributes; - UINT32 FileNameLength; -@@ -501,15 +505,17 @@ BOOL drive_file_set_information(DRIVE_FILE* file, UINT32 FsInformationClass, UIN - return FALSE; - - tv[0].tv_sec = st.st_atime; -- tv[0].tv_usec = 0; - tv[1].tv_sec = (LastWriteTime > 0 ? FILE_TIME_RDP_TO_SYSTEM(LastWriteTime) : st.st_mtime); -- tv[1].tv_usec = 0; - #ifndef WIN32 - /* TODO on win32 */ - #ifdef ANDROID -+ tv[0].tv_usec = 0; -+ tv[1].tv_usec = 0; - utimes(file->fullpath, tv); - #else -- futimes(file->fd, tv); -+ tv[0].tv_nsec = 0; -+ tv[1].tv_nsec = 0; -+ futimens(file->fd, tv); - #endif - - if (FileAttributes > 0) -diff --git a/winpr/libwinpr/synch/event.c b/winpr/libwinpr/synch/event.c -index 173afaf..943cccb 100644 ---- a/winpr/libwinpr/synch/event.c -+++ b/winpr/libwinpr/synch/event.c -@@ -115,6 +115,20 @@ HANDLE OpenEventA(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCSTR lpName) - return NULL; - } - -+#ifdef HAVE_EVENTFD_H -+#if defined(__UCLIBC__) -+static int eventfd_read(int fd, eventfd_t* value) -+{ -+ return (read(fd, value, sizeof(*value)) == sizeof(*value)) ? 0 : -1; -+} -+ -+static int eventfd_write(int fd, eventfd_t value) -+{ -+ return (write(fd, &value, sizeof(value)) == sizeof(value)) ? 0 : -1; -+} -+#endif -+#endif -+ - BOOL SetEvent(HANDLE hEvent) - { - ULONG Type; --- -1.7.1 - diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/0001-correct-HAL-include.patch b/package/freescale-imx/gpu-viv-bin-mx6q/0001-correct-HAL-include.patch new file mode 100644 index 0000000000..c83cd559b1 --- /dev/null +++ b/package/freescale-imx/gpu-viv-bin-mx6q/0001-correct-HAL-include.patch @@ -0,0 +1,16 @@ +Correct the directory path for gc_hal_eglplatform_type.h + +Signed-off-by: Henk Fijnvandraat + +diff -rup gpu-viv-bin-mx6q-1.1.0-orig/usr/include/gc_vdk_types.h gpu-viv-bin-mx6q-1.1.0/usr/include/gc_vdk_types.h +--- gpu-viv-bin-mx6q-1.1.0-orig/usr/include/gc_vdk_types.h 2012-12-18 10:35:55.000000000 +0100 ++++ gpu-viv-bin-mx6q-1.1.0/usr/include/gc_vdk_types.h 2013-05-09 21:09:28.080138681 +0200 +@@ -39,7 +39,7 @@ extern "C" { + #endif + + #include +-#include "gc_hal_eglplatform_type.h" ++#include + + + /******************************************************************************* diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q-0001-correct-HAL-include.patch b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q-0001-correct-HAL-include.patch deleted file mode 100644 index c83cd559b1..0000000000 --- a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q-0001-correct-HAL-include.patch +++ /dev/null @@ -1,16 +0,0 @@ -Correct the directory path for gc_hal_eglplatform_type.h - -Signed-off-by: Henk Fijnvandraat - -diff -rup gpu-viv-bin-mx6q-1.1.0-orig/usr/include/gc_vdk_types.h gpu-viv-bin-mx6q-1.1.0/usr/include/gc_vdk_types.h ---- gpu-viv-bin-mx6q-1.1.0-orig/usr/include/gc_vdk_types.h 2012-12-18 10:35:55.000000000 +0100 -+++ gpu-viv-bin-mx6q-1.1.0/usr/include/gc_vdk_types.h 2013-05-09 21:09:28.080138681 +0200 -@@ -39,7 +39,7 @@ extern "C" { - #endif - - #include --#include "gc_hal_eglplatform_type.h" -+#include - - - /******************************************************************************* diff --git a/package/freescale-imx/imx-vpu/0001-vpu-io-fix-IOSystemInit-failure.patch b/package/freescale-imx/imx-vpu/0001-vpu-io-fix-IOSystemInit-failure.patch new file mode 100644 index 0000000000..ed93193e5c --- /dev/null +++ b/package/freescale-imx/imx-vpu/0001-vpu-io-fix-IOSystemInit-failure.patch @@ -0,0 +1,32 @@ +[PATCH] vpu-io: fix IOSystemInit failure + +When using a kernel where user/kernel split is 3G/1G, the address +returned by IOGetVirtMem() can appear to be a negative int. + +IOSystemInit() incorrectly checks the return value of IOGetVirtMem(). +IOGetVirtMem() returns -1 on error (and not MAP_FAILED, nor any other +negative value.) + +Fix that by correctly checking against -1 (and not MAP_FAILED!) + +Signed-off-by: Gary Bisson +[yann.morin.1998@free.fr: expand the commit log] +Signed-off-by: "Yann E. MORIN" +--- + vpu/vpu_io.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/vpu/vpu_io.c b/vpu/vpu_io.c +index 8cbb571..14759da 100644 +--- a/vpu/vpu_io.c ++++ b/vpu/vpu_io.c +@@ -265,7 +265,7 @@ int IOSystemInit(void *callback) + goto err; + } + +- if (IOGetVirtMem(&bit_work_addr) <= 0) ++ if (IOGetVirtMem(&bit_work_addr) == -1) + goto err; + #endif + UnlockVpu(vpu_semap); + diff --git a/package/freescale-imx/imx-vpu/0002-vpu-lib-fix-IOGetVirtMem-return-value-checks.patch b/package/freescale-imx/imx-vpu/0002-vpu-lib-fix-IOGetVirtMem-return-value-checks.patch new file mode 100644 index 0000000000..583a508c0e --- /dev/null +++ b/package/freescale-imx/imx-vpu/0002-vpu-lib-fix-IOGetVirtMem-return-value-checks.patch @@ -0,0 +1,59 @@ +[PATCH] vpu-lib: fix IOGetVirtMem return value checks + +When using a kernel where user/kernel split is 3G/1G, the address +returned by IOGetVirtMem() can appear to be a negative int. + +IOSystemInit() incorrectly checks the return value of IOGetVirtMem(). +IOGetVirtMem() returns -1 on error (and not MAP_FAILED, nor any other +negative value.) + +Fix that by correctly checking against -1 (and not MAP_FAILED!) + +Signed-off-by: Gary Bisson +[yann.morin.1998@free.fr: expand the commit log] +Signed-off-by: "Yann E. MORIN" +--- + vpu/vpu_lib.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/vpu/vpu_lib.c b/vpu/vpu_lib.c +index 1fb731b..7a7f42d 100644 +--- a/vpu/vpu_lib.c ++++ b/vpu/vpu_lib.c +@@ -1764,7 +1764,7 @@ RetCode vpu_EncStartOneFrame(EncHandle handle, EncParam * param) + err_msg("Unable to obtain physical mem\n"); + return RETCODE_FAILURE; + } +- if (IOGetVirtMem(&pEncInfo->picParaBaseMem) <= 0) { ++ if (IOGetVirtMem(&pEncInfo->picParaBaseMem) == -1) { + IOFreePhyMem(&pEncInfo->picParaBaseMem); + pEncInfo->picParaBaseMem.phy_addr = 0; + err_msg("Unable to obtain virtual mem\n"); +@@ -2982,7 +2982,7 @@ RetCode vpu_DecGetInitialInfo(DecHandle handle, DecInitialInfo * info) + UnlockVpu(vpu_semap); + return RETCODE_FAILURE; + } +- if (IOGetVirtMem(&pDecInfo->userDataBufMem) <= 0) { ++ if (IOGetVirtMem(&pDecInfo->userDataBufMem) == -1) { + IOFreePhyMem(&pDecInfo->userDataBufMem); + pDecInfo->userDataBufMem.phy_addr = 0; + err_msg("Unable to obtain virtual mem\n"); +@@ -4017,7 +4017,7 @@ RetCode vpu_DecStartOneFrame(DecHandle handle, DecParam * param) + UnlockVpu(vpu_semap); + return RETCODE_FAILURE; + } +- if (IOGetVirtMem(&pDecInfo->picParaBaseMem) <= 0) { ++ if (IOGetVirtMem(&pDecInfo->picParaBaseMem) == -1) { + IOFreePhyMem(&pDecInfo->picParaBaseMem); + pDecInfo->picParaBaseMem.phy_addr = 0; + err_msg("Unable to obtain virtual mem\n"); +@@ -4057,7 +4057,7 @@ RetCode vpu_DecStartOneFrame(DecHandle handle, DecParam * param) + UnlockVpu(vpu_semap); + return RETCODE_FAILURE; + } +- if (IOGetVirtMem(&pDecInfo->userDataBufMem) <= 0) { ++ if (IOGetVirtMem(&pDecInfo->userDataBufMem) == -1) { + IOFreePhyMem(&pDecInfo->userDataBufMem); + pDecInfo->userDataBufMem.phy_addr = 0; + err_msg("Unable to obtain virtual mem\n"); + diff --git a/package/freescale-imx/imx-vpu/imx-vpu-0001-vpu-io-fix-IOSystemInit-failure.patch b/package/freescale-imx/imx-vpu/imx-vpu-0001-vpu-io-fix-IOSystemInit-failure.patch deleted file mode 100644 index ed93193e5c..0000000000 --- a/package/freescale-imx/imx-vpu/imx-vpu-0001-vpu-io-fix-IOSystemInit-failure.patch +++ /dev/null @@ -1,32 +0,0 @@ -[PATCH] vpu-io: fix IOSystemInit failure - -When using a kernel where user/kernel split is 3G/1G, the address -returned by IOGetVirtMem() can appear to be a negative int. - -IOSystemInit() incorrectly checks the return value of IOGetVirtMem(). -IOGetVirtMem() returns -1 on error (and not MAP_FAILED, nor any other -negative value.) - -Fix that by correctly checking against -1 (and not MAP_FAILED!) - -Signed-off-by: Gary Bisson -[yann.morin.1998@free.fr: expand the commit log] -Signed-off-by: "Yann E. MORIN" ---- - vpu/vpu_io.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/vpu/vpu_io.c b/vpu/vpu_io.c -index 8cbb571..14759da 100644 ---- a/vpu/vpu_io.c -+++ b/vpu/vpu_io.c -@@ -265,7 +265,7 @@ int IOSystemInit(void *callback) - goto err; - } - -- if (IOGetVirtMem(&bit_work_addr) <= 0) -+ if (IOGetVirtMem(&bit_work_addr) == -1) - goto err; - #endif - UnlockVpu(vpu_semap); - diff --git a/package/freescale-imx/imx-vpu/imx-vpu-0002-vpu-lib-fix-IOGetVirtMem-return-value-checks.patch b/package/freescale-imx/imx-vpu/imx-vpu-0002-vpu-lib-fix-IOGetVirtMem-return-value-checks.patch deleted file mode 100644 index 583a508c0e..0000000000 --- a/package/freescale-imx/imx-vpu/imx-vpu-0002-vpu-lib-fix-IOGetVirtMem-return-value-checks.patch +++ /dev/null @@ -1,59 +0,0 @@ -[PATCH] vpu-lib: fix IOGetVirtMem return value checks - -When using a kernel where user/kernel split is 3G/1G, the address -returned by IOGetVirtMem() can appear to be a negative int. - -IOSystemInit() incorrectly checks the return value of IOGetVirtMem(). -IOGetVirtMem() returns -1 on error (and not MAP_FAILED, nor any other -negative value.) - -Fix that by correctly checking against -1 (and not MAP_FAILED!) - -Signed-off-by: Gary Bisson -[yann.morin.1998@free.fr: expand the commit log] -Signed-off-by: "Yann E. MORIN" ---- - vpu/vpu_lib.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/vpu/vpu_lib.c b/vpu/vpu_lib.c -index 1fb731b..7a7f42d 100644 ---- a/vpu/vpu_lib.c -+++ b/vpu/vpu_lib.c -@@ -1764,7 +1764,7 @@ RetCode vpu_EncStartOneFrame(EncHandle handle, EncParam * param) - err_msg("Unable to obtain physical mem\n"); - return RETCODE_FAILURE; - } -- if (IOGetVirtMem(&pEncInfo->picParaBaseMem) <= 0) { -+ if (IOGetVirtMem(&pEncInfo->picParaBaseMem) == -1) { - IOFreePhyMem(&pEncInfo->picParaBaseMem); - pEncInfo->picParaBaseMem.phy_addr = 0; - err_msg("Unable to obtain virtual mem\n"); -@@ -2982,7 +2982,7 @@ RetCode vpu_DecGetInitialInfo(DecHandle handle, DecInitialInfo * info) - UnlockVpu(vpu_semap); - return RETCODE_FAILURE; - } -- if (IOGetVirtMem(&pDecInfo->userDataBufMem) <= 0) { -+ if (IOGetVirtMem(&pDecInfo->userDataBufMem) == -1) { - IOFreePhyMem(&pDecInfo->userDataBufMem); - pDecInfo->userDataBufMem.phy_addr = 0; - err_msg("Unable to obtain virtual mem\n"); -@@ -4017,7 +4017,7 @@ RetCode vpu_DecStartOneFrame(DecHandle handle, DecParam * param) - UnlockVpu(vpu_semap); - return RETCODE_FAILURE; - } -- if (IOGetVirtMem(&pDecInfo->picParaBaseMem) <= 0) { -+ if (IOGetVirtMem(&pDecInfo->picParaBaseMem) == -1) { - IOFreePhyMem(&pDecInfo->picParaBaseMem); - pDecInfo->picParaBaseMem.phy_addr = 0; - err_msg("Unable to obtain virtual mem\n"); -@@ -4057,7 +4057,7 @@ RetCode vpu_DecStartOneFrame(DecHandle handle, DecParam * param) - UnlockVpu(vpu_semap); - return RETCODE_FAILURE; - } -- if (IOGetVirtMem(&pDecInfo->userDataBufMem) <= 0) { -+ if (IOGetVirtMem(&pDecInfo->userDataBufMem) == -1) { - IOFreePhyMem(&pDecInfo->userDataBufMem); - pDecInfo->userDataBufMem.phy_addr = 0; - err_msg("Unable to obtain virtual mem\n"); - diff --git a/package/ftop/0001-overflow.patch b/package/ftop/0001-overflow.patch new file mode 100644 index 0000000000..a3a27c3772 --- /dev/null +++ b/package/ftop/0001-overflow.patch @@ -0,0 +1,17 @@ +Set tmp_buf and rate_buf to something ridiculously high to fix a buffer +overflow when COLUMNS is large. - JeR + +(Taken from gentoo portage) +Signed-off-by: Gustavo Zacarias + +--- a/src/ftop.c 2009-02-16 07:00:00.000000000 +0100 ++++ b/src/ftop.c 2013-09-06 14:42:41.788852952 +0200 +@@ -736,7 +736,7 @@ + { + size_t i, j, bytes, bar_total; + char more_procs_ch, more_files_ch, expanded_ch; +- char tmp_buf[80], rate_buf[80]; ++ char tmp_buf[2048], rate_buf[2048]; + char *tmp_str; + snapshot *s, *s_prev; + file_info *tmp_file; diff --git a/package/ftop/ftop-0001-overflow.patch b/package/ftop/ftop-0001-overflow.patch deleted file mode 100644 index a3a27c3772..0000000000 --- a/package/ftop/ftop-0001-overflow.patch +++ /dev/null @@ -1,17 +0,0 @@ -Set tmp_buf and rate_buf to something ridiculously high to fix a buffer -overflow when COLUMNS is large. - JeR - -(Taken from gentoo portage) -Signed-off-by: Gustavo Zacarias - ---- a/src/ftop.c 2009-02-16 07:00:00.000000000 +0100 -+++ b/src/ftop.c 2013-09-06 14:42:41.788852952 +0200 -@@ -736,7 +736,7 @@ - { - size_t i, j, bytes, bar_total; - char more_procs_ch, more_files_ch, expanded_ch; -- char tmp_buf[80], rate_buf[80]; -+ char tmp_buf[2048], rate_buf[2048]; - char *tmp_str; - snapshot *s, *s_prev; - file_info *tmp_file; diff --git a/package/gadgetfs-test/0001-fix-usb-ch9-include.patch b/package/gadgetfs-test/0001-fix-usb-ch9-include.patch new file mode 100644 index 0000000000..3d7ce82b4f --- /dev/null +++ b/package/gadgetfs-test/0001-fix-usb-ch9-include.patch @@ -0,0 +1,40 @@ +From 8cf5909c6f8e0a892155dea14a07adfad445762d Mon Sep 17 00:00:00 2001 +From: Haavard Skinnemoen +Date: Sat, 23 Jun 2007 18:34:09 +0200 +Subject: [PATCH] Include usb/ch9.h instead of usb_ch9.h + +Signed-off-by: Haavard Skinnemoen +--- + usb.c | 2 +- + usbstring.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/usb.c b/usb.c +index ea6c7de..b161154 100644 +--- a/usb.c ++++ b/usb.c +@@ -35,7 +35,7 @@ + + #include + #include +-#include ++#include + + #ifdef AIO + /* this aio code works with libaio-0.3.106 */ +diff --git a/usbstring.c b/usbstring.c +index 4bf2965..993acc2 100644 +--- a/usbstring.c ++++ b/usbstring.c +@@ -11,7 +11,7 @@ + #include + + #include +-#include ++#include + + #include "usbstring.h" + +-- +1.5.2.2 + diff --git a/package/gadgetfs-test/0002-rename-include-usb_gadgetfs-to-usb-dir.patch b/package/gadgetfs-test/0002-rename-include-usb_gadgetfs-to-usb-dir.patch new file mode 100644 index 0000000000..ffc2da377d --- /dev/null +++ b/package/gadgetfs-test/0002-rename-include-usb_gadgetfs-to-usb-dir.patch @@ -0,0 +1,12 @@ +diff -upr gadgetfs-test-orig/usb.c gadgetfs-test/usb.c +--- gadgetfs-test-orig/usb.c 2007-07-18 14:38:38.000000000 +0200 ++++ gadgetfs-test/usb.c 2007-07-18 15:33:04.000000000 +0200 +@@ -34,7 +34,7 @@ + #include + + #include +-#include ++#include + #include + + #ifdef AIO diff --git a/package/gadgetfs-test/gadgetfs-test-fix-usb-ch9-include.patch b/package/gadgetfs-test/gadgetfs-test-fix-usb-ch9-include.patch deleted file mode 100644 index 3d7ce82b4f..0000000000 --- a/package/gadgetfs-test/gadgetfs-test-fix-usb-ch9-include.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 8cf5909c6f8e0a892155dea14a07adfad445762d Mon Sep 17 00:00:00 2001 -From: Haavard Skinnemoen -Date: Sat, 23 Jun 2007 18:34:09 +0200 -Subject: [PATCH] Include usb/ch9.h instead of usb_ch9.h - -Signed-off-by: Haavard Skinnemoen ---- - usb.c | 2 +- - usbstring.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/usb.c b/usb.c -index ea6c7de..b161154 100644 ---- a/usb.c -+++ b/usb.c -@@ -35,7 +35,7 @@ - - #include - #include --#include -+#include - - #ifdef AIO - /* this aio code works with libaio-0.3.106 */ -diff --git a/usbstring.c b/usbstring.c -index 4bf2965..993acc2 100644 ---- a/usbstring.c -+++ b/usbstring.c -@@ -11,7 +11,7 @@ - #include - - #include --#include -+#include - - #include "usbstring.h" - --- -1.5.2.2 - diff --git a/package/gadgetfs-test/gadgetfs-test-rename-include-usb_gadgetfs-to-usb-dir.patch b/package/gadgetfs-test/gadgetfs-test-rename-include-usb_gadgetfs-to-usb-dir.patch deleted file mode 100644 index ffc2da377d..0000000000 --- a/package/gadgetfs-test/gadgetfs-test-rename-include-usb_gadgetfs-to-usb-dir.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -upr gadgetfs-test-orig/usb.c gadgetfs-test/usb.c ---- gadgetfs-test-orig/usb.c 2007-07-18 14:38:38.000000000 +0200 -+++ gadgetfs-test/usb.c 2007-07-18 15:33:04.000000000 +0200 -@@ -34,7 +34,7 @@ - #include - - #include --#include -+#include - #include - - #ifdef AIO diff --git a/package/gamin/0001-no-abstract-sockets.patch b/package/gamin/0001-no-abstract-sockets.patch new file mode 100644 index 0000000000..3d659015ec --- /dev/null +++ b/package/gamin/0001-no-abstract-sockets.patch @@ -0,0 +1,61 @@ +[PATCH]: Remove abstract socket namespace check breaking cross compilation + +Taken from openembedded: + +http://git.openembedded.org/cgit.cgi/openembedded/tree/recipes/gamin/files/no-abstract-sockets.patch + +Signed-off-by: Peter Korsgaard +--- /tmp/configure.in 2007-04-30 13:08:49.000000000 +0200 ++++ gamin-0.1.8/configure.in 2007-04-30 13:10:53.285251000 +0200 +@@ -354,51 +354,6 @@ + AC_DEFINE(HAVE_CMSGCRED,1,[Have cmsgcred structure]) + fi + +-#### Abstract sockets +- +-AC_MSG_CHECKING(abstract socket namespace) +-AC_LANG_PUSH(C) +-AC_RUN_IFELSE([AC_LANG_PROGRAM( +-[[ +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-]], +-[[ +- int listen_fd; +- struct sockaddr_un addr; +- +- listen_fd = socket (PF_UNIX, SOCK_STREAM, 0); +- +- if (listen_fd < 0) +- { +- fprintf (stderr, "socket() failed: %s\n", strerror (errno)); +- exit (1); +- } +- +- memset (&addr, '\0', sizeof (addr)); +- addr.sun_family = AF_UNIX; +- strcpy (addr.sun_path, "X/tmp/dbus-fake-socket-path-used-in-configure-test"); +- addr.sun_path[0] = '\0'; /* this is what makes it abstract */ +- +- if (bind (listen_fd, (struct sockaddr*) &addr, SUN_LEN (&addr)) < 0) +- { +- fprintf (stderr, "Abstract socket namespace bind() failed: %s\n", +- strerror (errno)); +- exit (1); +- } +- else +- exit (0); +-]])], +- [have_abstract_sockets=yes], +- [have_abstract_sockets=no]) +-AC_LANG_POP(C) +-AC_MSG_RESULT($have_abstract_sockets) +- + if test x$enable_abstract_sockets = xyes; then + if test x$have_abstract_sockets = xno; then + AC_MSG_ERROR([Abstract sockets explicitly required, and support not detected.]) diff --git a/package/gamin/0002-no-const-return.patch b/package/gamin/0002-no-const-return.patch new file mode 100644 index 0000000000..3e6e905214 --- /dev/null +++ b/package/gamin/0002-no-const-return.patch @@ -0,0 +1,57 @@ +G_CONST_RETURN is deprecated in glib 2.30 so remove to to avoid +build failures. + +Upstream-Status: Pending + +Index: gamin-0.1.10/server/gam_node.c +=================================================================== +--- gamin-0.1.10.orig/server/gam_node.c 2011-10-12 15:25:45.217178314 +0100 ++++ gamin-0.1.10/server/gam_node.c 2011-10-12 15:26:17.807178293 +0100 +@@ -122,7 +122,7 @@ + * it has finished with the string. If it must keep it longer, it + * should makes its own copy. The returned string must not be freed. + */ +-G_CONST_RETURN char * ++const char * + gam_node_get_path(GamNode * node) + { + g_assert(node); +Index: gamin-0.1.10/server/gam_node.h +=================================================================== +--- gamin-0.1.10.orig/server/gam_node.h 2011-10-12 15:25:46.857178269 +0100 ++++ gamin-0.1.10/server/gam_node.h 2011-10-12 15:26:28.637178297 +0100 +@@ -58,7 +58,7 @@ + void gam_node_set_is_dir (GamNode *node, + gboolean is_dir); + +-G_CONST_RETURN char *gam_node_get_path (GamNode *node); ++const char *gam_node_get_path (GamNode *node); + + GList *gam_node_get_subscriptions (GamNode *node); + +Index: gamin-0.1.10/server/gam_subscription.c +=================================================================== +--- gamin-0.1.10.orig/server/gam_subscription.c 2011-10-12 15:25:40.497177525 +0100 ++++ gamin-0.1.10/server/gam_subscription.c 2011-10-12 15:26:39.867178304 +0100 +@@ -141,7 +141,7 @@ + * @param sub the GamSubscription + * @returns The path being monitored. It should not be freed. + */ +-G_CONST_RETURN char * ++const char * + gam_subscription_get_path(GamSubscription * sub) + { + if (sub == NULL) +Index: gamin-0.1.10/server/gam_subscription.h +=================================================================== +--- gamin-0.1.10.orig/server/gam_subscription.h 2011-10-12 15:25:28.507178266 +0100 ++++ gamin-0.1.10/server/gam_subscription.h 2011-10-12 15:25:58.817178285 +0100 +@@ -21,7 +21,7 @@ + + int gam_subscription_get_reqno (GamSubscription *sub); + +-G_CONST_RETURN char *gam_subscription_get_path (GamSubscription *sub); ++const char *gam_subscription_get_path (GamSubscription *sub); + + GamListener *gam_subscription_get_listener (GamSubscription *sub); + diff --git a/package/gamin/gamin-0.1.10-no-abstract-sockets.patch b/package/gamin/gamin-0.1.10-no-abstract-sockets.patch deleted file mode 100644 index 3d659015ec..0000000000 --- a/package/gamin/gamin-0.1.10-no-abstract-sockets.patch +++ /dev/null @@ -1,61 +0,0 @@ -[PATCH]: Remove abstract socket namespace check breaking cross compilation - -Taken from openembedded: - -http://git.openembedded.org/cgit.cgi/openembedded/tree/recipes/gamin/files/no-abstract-sockets.patch - -Signed-off-by: Peter Korsgaard ---- /tmp/configure.in 2007-04-30 13:08:49.000000000 +0200 -+++ gamin-0.1.8/configure.in 2007-04-30 13:10:53.285251000 +0200 -@@ -354,51 +354,6 @@ - AC_DEFINE(HAVE_CMSGCRED,1,[Have cmsgcred structure]) - fi - --#### Abstract sockets -- --AC_MSG_CHECKING(abstract socket namespace) --AC_LANG_PUSH(C) --AC_RUN_IFELSE([AC_LANG_PROGRAM( --[[ --#include --#include --#include --#include --#include --#include --#include --]], --[[ -- int listen_fd; -- struct sockaddr_un addr; -- -- listen_fd = socket (PF_UNIX, SOCK_STREAM, 0); -- -- if (listen_fd < 0) -- { -- fprintf (stderr, "socket() failed: %s\n", strerror (errno)); -- exit (1); -- } -- -- memset (&addr, '\0', sizeof (addr)); -- addr.sun_family = AF_UNIX; -- strcpy (addr.sun_path, "X/tmp/dbus-fake-socket-path-used-in-configure-test"); -- addr.sun_path[0] = '\0'; /* this is what makes it abstract */ -- -- if (bind (listen_fd, (struct sockaddr*) &addr, SUN_LEN (&addr)) < 0) -- { -- fprintf (stderr, "Abstract socket namespace bind() failed: %s\n", -- strerror (errno)); -- exit (1); -- } -- else -- exit (0); --]])], -- [have_abstract_sockets=yes], -- [have_abstract_sockets=no]) --AC_LANG_POP(C) --AC_MSG_RESULT($have_abstract_sockets) -- - if test x$enable_abstract_sockets = xyes; then - if test x$have_abstract_sockets = xno; then - AC_MSG_ERROR([Abstract sockets explicitly required, and support not detected.]) diff --git a/package/gamin/gamin-0.1.10-no-const-return.patch b/package/gamin/gamin-0.1.10-no-const-return.patch deleted file mode 100644 index 3e6e905214..0000000000 --- a/package/gamin/gamin-0.1.10-no-const-return.patch +++ /dev/null @@ -1,57 +0,0 @@ -G_CONST_RETURN is deprecated in glib 2.30 so remove to to avoid -build failures. - -Upstream-Status: Pending - -Index: gamin-0.1.10/server/gam_node.c -=================================================================== ---- gamin-0.1.10.orig/server/gam_node.c 2011-10-12 15:25:45.217178314 +0100 -+++ gamin-0.1.10/server/gam_node.c 2011-10-12 15:26:17.807178293 +0100 -@@ -122,7 +122,7 @@ - * it has finished with the string. If it must keep it longer, it - * should makes its own copy. The returned string must not be freed. - */ --G_CONST_RETURN char * -+const char * - gam_node_get_path(GamNode * node) - { - g_assert(node); -Index: gamin-0.1.10/server/gam_node.h -=================================================================== ---- gamin-0.1.10.orig/server/gam_node.h 2011-10-12 15:25:46.857178269 +0100 -+++ gamin-0.1.10/server/gam_node.h 2011-10-12 15:26:28.637178297 +0100 -@@ -58,7 +58,7 @@ - void gam_node_set_is_dir (GamNode *node, - gboolean is_dir); - --G_CONST_RETURN char *gam_node_get_path (GamNode *node); -+const char *gam_node_get_path (GamNode *node); - - GList *gam_node_get_subscriptions (GamNode *node); - -Index: gamin-0.1.10/server/gam_subscription.c -=================================================================== ---- gamin-0.1.10.orig/server/gam_subscription.c 2011-10-12 15:25:40.497177525 +0100 -+++ gamin-0.1.10/server/gam_subscription.c 2011-10-12 15:26:39.867178304 +0100 -@@ -141,7 +141,7 @@ - * @param sub the GamSubscription - * @returns The path being monitored. It should not be freed. - */ --G_CONST_RETURN char * -+const char * - gam_subscription_get_path(GamSubscription * sub) - { - if (sub == NULL) -Index: gamin-0.1.10/server/gam_subscription.h -=================================================================== ---- gamin-0.1.10.orig/server/gam_subscription.h 2011-10-12 15:25:28.507178266 +0100 -+++ gamin-0.1.10/server/gam_subscription.h 2011-10-12 15:25:58.817178285 +0100 -@@ -21,7 +21,7 @@ - - int gam_subscription_get_reqno (GamSubscription *sub); - --G_CONST_RETURN char *gam_subscription_get_path (GamSubscription *sub); -+const char *gam_subscription_get_path (GamSubscription *sub); - - GamListener *gam_subscription_get_listener (GamSubscription *sub); - diff --git a/package/gawk/0001-no-versioned.patch b/package/gawk/0001-no-versioned.patch new file mode 100644 index 0000000000..ff28581eaf --- /dev/null +++ b/package/gawk/0001-no-versioned.patch @@ -0,0 +1,26 @@ +Disabled versioned installation of binaries to save space. +Also use symlinks where it's appropiate. + +Signed-off-by: Gustavo Zacarias +--- + +diff -Nura gawk-4.0.0.orig/Makefile.in gawk-4.0.0/Makefile.in +--- gawk-4.0.0.orig/Makefile.in 2011-06-24 05:16:13.000000000 -0300 ++++ gawk-4.0.0/Makefile.in 2011-11-11 15:31:16.429577288 -0300 +@@ -403,7 +403,7 @@ + MAINTAINERCLEANFILES = version.c + + # We want hard links for install-exec-hook, below +-LN = ln ++LN = $(LN_S) + all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +@@ -1011,6 +1011,7 @@ + # (This is done universally, which may not always be right, but + # there's no easy way to distinguish GNU from non-GNU systems.) + install-exec-hook: ++foo: + (cd $(DESTDIR)$(bindir); \ + $(LN) gawk$(EXEEXT) gawk-$(VERSION)$(EXEEXT) 2>/dev/null ; \ + $(LN) pgawk$(EXEEXT) pgawk-$(VERSION)$(EXEEXT) 2>/dev/null ; \ diff --git a/package/gawk/gawk-01-no-versioned.patch b/package/gawk/gawk-01-no-versioned.patch deleted file mode 100644 index ff28581eaf..0000000000 --- a/package/gawk/gawk-01-no-versioned.patch +++ /dev/null @@ -1,26 +0,0 @@ -Disabled versioned installation of binaries to save space. -Also use symlinks where it's appropiate. - -Signed-off-by: Gustavo Zacarias ---- - -diff -Nura gawk-4.0.0.orig/Makefile.in gawk-4.0.0/Makefile.in ---- gawk-4.0.0.orig/Makefile.in 2011-06-24 05:16:13.000000000 -0300 -+++ gawk-4.0.0/Makefile.in 2011-11-11 15:31:16.429577288 -0300 -@@ -403,7 +403,7 @@ - MAINTAINERCLEANFILES = version.c - - # We want hard links for install-exec-hook, below --LN = ln -+LN = $(LN_S) - all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -@@ -1011,6 +1011,7 @@ - # (This is done universally, which may not always be right, but - # there's no easy way to distinguish GNU from non-GNU systems.) - install-exec-hook: -+foo: - (cd $(DESTDIR)$(bindir); \ - $(LN) gawk$(EXEEXT) gawk-$(VERSION)$(EXEEXT) 2>/dev/null ; \ - $(LN) pgawk$(EXEEXT) pgawk-$(VERSION)$(EXEEXT) 2>/dev/null ; \ diff --git a/package/genext2fs/0001-update-genext2fs.c-to-rev-1.118.patch b/package/genext2fs/0001-update-genext2fs.c-to-rev-1.118.patch new file mode 100644 index 0000000000..755ee9dee2 --- /dev/null +++ b/package/genext2fs/0001-update-genext2fs.c-to-rev-1.118.patch @@ -0,0 +1,2971 @@ +[PATCH] update genext2fs.c to CVS rev 1.118 + +See http://genext2fs.cvs.sourceforge.net/viewvc/genext2fs/genext2fs/genext2fs.c?view=log +for details. + +Numerous bugfixes, large file and filesystem support, rev 1 filesystems, +volume id support, block size, .. + +Signed-off-by: Peter Korsgaard +--- + cache.h | 128 ++++ + genext2fs.c | 1870 ++++++++++++++++++++++++++++++++++++++++++------------------ + list.h | 78 ++ + 3 files changed, 1527 insertions(+), 549 deletions(-) + +Index: genext2fs-1.4.1/genext2fs.c +=================================================================== +--- genext2fs-1.4.1.orig/genext2fs.c ++++ genext2fs-1.4.1/genext2fs.c +@@ -53,6 +53,12 @@ + // along with -q, -P, -U + + ++/* ++ * Allow fseeko/off_t to be 64-bit offsets to allow filesystems and ++ * individual files >2GB. ++ */ ++#define _FILE_OFFSET_BITS 64 ++ + #include + #include + +@@ -107,10 +113,8 @@ + + #if HAVE_DIRENT_H + # include +-# define NAMLEN(dirent) strlen((dirent)->d_name) + #else + # define dirent direct +-# define NAMLEN(dirent) (dirent)->d_namlen + # if HAVE_SYS_NDIR_H + # include + # endif +@@ -144,6 +148,8 @@ + # include + #endif + ++#include "cache.h" ++ + struct stats { + unsigned long nblocks; + unsigned long ninodes; +@@ -151,13 +157,42 @@ + + // block size + +-#define BLOCKSIZE 1024 ++static int blocksize = 1024; ++ ++#define SUPERBLOCK_OFFSET 1024 ++#define SUPERBLOCK_SIZE 1024 ++ ++#define BLOCKSIZE blocksize + #define BLOCKS_PER_GROUP 8192 + #define INODES_PER_GROUP 8192 + /* Percentage of blocks that are reserved.*/ + #define RESERVED_BLOCKS 5/100 + #define MAX_RESERVED_BLOCKS 25/100 + ++/* The default value for s_creator_os. */ ++#if defined(__linux__) && defined(EXT2_OS_LINUX) ++#define CREATOR_OS EXT2_OS_LINUX ++#define CREATOR_OS_NAME "linux" ++#else ++#if defined(__GNU__) && defined(EXT2_OS_HURD) ++#define CREATOR_OS EXT2_OS_HURD ++#define CREATOR_OS_NAME "hurd" ++#else ++#if defined(__FreeBSD__) && defined(EXT2_OS_FREEBSD) ++#define CREATOR_OS EXT2_OS_FREEBSD ++#define CREATOR_OS_NAME "freebsd" ++#else ++#if defined(LITES) && defined(EXT2_OS_LITES) ++#define CREATOR_OS EXT2_OS_LITES ++#define CREATOR_OS_NAME "lites" ++#else ++#define CREATOR_OS EXT2_OS_LINUX /* by default */ ++#define CREATOR_OS_NAME "linux" ++#endif /* defined(LITES) && defined(EXT2_OS_LITES) */ ++#endif /* defined(__FreeBSD__) && defined(EXT2_OS_FREEBSD) */ ++#endif /* defined(__GNU__) && defined(EXT2_OS_HURD) */ ++#endif /* defined(__linux__) && defined(EXT2_OS_LINUX) */ ++ + + // inode block size (why is it != BLOCKSIZE ?!?) + /* The field i_blocks in the ext2 inode stores the number of data blocks +@@ -190,6 +225,14 @@ + #define EXT2_TIND_BLOCK 14 // triple indirect block + #define EXT2_INIT_BLOCK 0xFFFFFFFF // just initialized (not really a block address) + ++// codes for operating systems ++ ++#define EXT2_OS_LINUX 0 ++#define EXT2_OS_HURD 1 ++#define EXT2_OS_MASIX 2 ++#define EXT2_OS_FREEBSD 3 ++#define EXT2_OS_LITES 4 ++ + // end of a block walk + + #define WALK_END 0xFFFFFFFE +@@ -227,44 +270,46 @@ + #define FM_IWOTH 0000002 // write + #define FM_IXOTH 0000001 // execute + +-// options +- +-#define OP_HOLES 0x01 // make files with holes +- + /* Defines for accessing group details */ + + // Number of groups in the filesystem + #define GRP_NBGROUPS(fs) \ +- (((fs)->sb.s_blocks_count - fs->sb.s_first_data_block + \ +- (fs)->sb.s_blocks_per_group - 1) / (fs)->sb.s_blocks_per_group) ++ (((fs)->sb->s_blocks_count - fs->sb->s_first_data_block + \ ++ (fs)->sb->s_blocks_per_group - 1) / (fs)->sb->s_blocks_per_group) + + // Get group block bitmap (bbm) given the group number +-#define GRP_GET_GROUP_BBM(fs,grp) ( get_blk((fs),(fs)->gd[(grp)].bg_block_bitmap) ) ++#define GRP_GET_GROUP_BBM(fs,grp,bi) (get_blk((fs),(grp)->bg_block_bitmap,(bi))) ++#define GRP_PUT_GROUP_BBM(bi) ( put_blk((bi)) ) + + // Get group inode bitmap (ibm) given the group number +-#define GRP_GET_GROUP_IBM(fs,grp) ( get_blk((fs),(fs)->gd[(grp)].bg_inode_bitmap) ) +- ++#define GRP_GET_GROUP_IBM(fs,grp,bi) (get_blk((fs), (grp)->bg_inode_bitmap,(bi))) ++#define GRP_PUT_GROUP_IBM(bi) ( put_blk((bi)) ) ++ + // Given an inode number find the group it belongs to +-#define GRP_GROUP_OF_INODE(fs,nod) ( ((nod)-1) / (fs)->sb.s_inodes_per_group) ++#define GRP_GROUP_OF_INODE(fs,nod) ( ((nod)-1) / (fs)->sb->s_inodes_per_group) + + //Given an inode number get the inode bitmap that covers it +-#define GRP_GET_INODE_BITMAP(fs,nod) \ +- ( GRP_GET_GROUP_IBM((fs),GRP_GROUP_OF_INODE((fs),(nod))) ) ++#define GRP_GET_INODE_BITMAP(fs,nod,bi,gi) \ ++ ( GRP_GET_GROUP_IBM((fs),get_gd(fs,GRP_GROUP_OF_INODE((fs),(nod)),gi),bi) ) ++#define GRP_PUT_INODE_BITMAP(bi,gi) \ ++ ( GRP_PUT_GROUP_IBM((bi)),put_gd((gi)) ) + + //Given an inode number find its offset within the inode bitmap that covers it + #define GRP_IBM_OFFSET(fs,nod) \ +- ( (nod) - GRP_GROUP_OF_INODE((fs),(nod))*(fs)->sb.s_inodes_per_group ) ++ ( (nod) - GRP_GROUP_OF_INODE((fs),(nod))*(fs)->sb->s_inodes_per_group ) + + // Given a block number find the group it belongs to +-#define GRP_GROUP_OF_BLOCK(fs,blk) ( ((blk)-1) / (fs)->sb.s_blocks_per_group) ++#define GRP_GROUP_OF_BLOCK(fs,blk) ( ((blk)-1) / (fs)->sb->s_blocks_per_group) + +-//Given a block number get the block bitmap that covers it +-#define GRP_GET_BLOCK_BITMAP(fs,blk) \ +- ( GRP_GET_GROUP_BBM((fs),GRP_GROUP_OF_BLOCK((fs),(blk))) ) ++//Given a block number get/put the block bitmap that covers it ++#define GRP_GET_BLOCK_BITMAP(fs,blk,bi,gi) \ ++ ( GRP_GET_GROUP_BBM((fs),get_gd(fs,GRP_GROUP_OF_BLOCK((fs),(blk)),(gi)),(bi)) ) ++#define GRP_PUT_BLOCK_BITMAP(bi,gi) \ ++ ( GRP_PUT_GROUP_BBM((bi)),put_gd((gi)) ) + + //Given a block number find its offset within the block bitmap that covers it + #define GRP_BBM_OFFSET(fs,blk) \ +- ( (blk) - GRP_GROUP_OF_BLOCK((fs),(blk))*(fs)->sb.s_blocks_per_group ) ++ ( (blk) - GRP_GROUP_OF_BLOCK((fs),(blk))*(fs)->sb->s_blocks_per_group ) + + + // used types +@@ -286,7 +331,9 @@ + // older solaris. Note that this is still not very portable, in that + // the return value cannot be trusted. + +-#if SCANF_CAN_MALLOC ++#if 0 // SCANF_CAN_MALLOC ++// C99 define "a" for floating point, so you can have runtime surprise ++// according the library versions + # define SCANF_PREFIX "a" + # define SCANF_STRING(s) (&s) + #else +@@ -430,6 +477,17 @@ + ((val<<8)&0xFF0000) | (val<<24)); + } + ++static inline int ++is_blk_empty(uint8 *b) ++{ ++ uint32 i; ++ uint32 *v = (uint32 *) b; ++ ++ for(i = 0; i < BLOCKSIZE / 4; i++) ++ if (*v++) ++ return 0; ++ return 1; ++} + + // on-disk structures + // this trick makes me declare things only once +@@ -460,7 +518,22 @@ + udecl32(s_creator_os) /* Indicator of which OS created the filesystem */ \ + udecl32(s_rev_level) /* The revision level of the filesystem */ \ + udecl16(s_def_resuid) /* The default uid for reserved blocks */ \ +- udecl16(s_def_resgid) /* The default gid for reserved blocks */ ++ udecl16(s_def_resgid) /* The default gid for reserved blocks */ \ ++ /* rev 1 version fields start here */ \ ++ udecl32(s_first_ino) /* First non-reserved inode */ \ ++ udecl16(s_inode_size) /* size of inode structure */ \ ++ udecl16(s_block_group_nr) /* block group # of this superblock */ \ ++ udecl32(s_feature_compat) /* compatible feature set */ \ ++ udecl32(s_feature_incompat) /* incompatible feature set */ \ ++ udecl32(s_feature_ro_compat) /* readonly-compatible feature set */ \ ++ utdecl8(s_uuid,16) /* 128-bit uuid for volume */ \ ++ utdecl8(s_volume_name,16) /* volume name */ \ ++ utdecl8(s_last_mounted,64) /* directory where last mounted */ \ ++ udecl32(s_algorithm_usage_bitmap) /* For compression */ ++ ++#define EXT2_GOOD_OLD_FIRST_INO 11 ++#define EXT2_GOOD_OLD_INODE_SIZE 128 ++#define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002 + + #define groupdescriptor_decl \ + udecl32(bg_block_bitmap) /* Block number of the block bitmap */ \ +@@ -500,6 +573,7 @@ + + #define decl8(x) int8 x; + #define udecl8(x) uint8 x; ++#define utdecl8(x,n) uint8 x[n]; + #define decl16(x) int16 x; + #define udecl16(x) uint16 x; + #define decl32(x) int32 x; +@@ -509,7 +583,7 @@ + typedef struct + { + superblock_decl +- uint32 s_reserved[235]; // Reserved ++ uint32 s_reserved[205]; // Reserved + } superblock; + + typedef struct +@@ -527,10 +601,9 @@ + typedef struct + { + directory_decl +- char d_name[0]; + } directory; + +-typedef uint8 block[BLOCKSIZE]; ++typedef uint8 *block; + + /* blockwalker fields: + The blockwalker is used to access all the blocks of a file (including +@@ -567,23 +640,41 @@ + uint32 bptind; + } blockwalker; + ++#define HDLINK_CNT 16 ++struct hdlink_s ++{ ++ uint32 src_inode; ++ uint32 dst_nod; ++}; ++ ++struct hdlinks_s ++{ ++ int32 count; ++ struct hdlink_s *hdl; ++}; + + /* Filesystem structure that support groups */ +-#if BLOCKSIZE == 1024 + typedef struct + { +- block zero; // The famous block 0 +- superblock sb; // The superblock +- groupdescriptor gd[0]; // The group descriptors ++ FILE *f; ++ superblock *sb; ++ int swapit; ++ int32 hdlink_cnt; ++ struct hdlinks_s hdlinks; ++ ++ int holes; ++ ++ listcache blks; ++ listcache gds; ++ listcache inodes; ++ listcache blkmaps; + } filesystem; +-#else +-#error UNHANDLED BLOCKSIZE +-#endif + + // now the endianness swap + + #undef decl8 + #undef udecl8 ++#undef utdecl8 + #undef decl16 + #undef udecl16 + #undef decl32 +@@ -592,28 +683,13 @@ + + #define decl8(x) + #define udecl8(x) ++#define utdecl8(x,n) + #define decl16(x) this->x = swab16(this->x); + #define udecl16(x) this->x = swab16(this->x); + #define decl32(x) this->x = swab32(this->x); + #define udecl32(x) this->x = swab32(this->x); + #define utdecl32(x,n) { int i; for(i=0; ix[i] = swab32(this->x[i]); } + +-#define HDLINK_CNT 16 +-static int32 hdlink_cnt = HDLINK_CNT; +-struct hdlink_s +-{ +- uint32 src_inode; +- uint32 dst_nod; +-}; +- +-struct hdlinks_s +-{ +- int32 count; +- struct hdlink_s *hdl; +-}; +- +-static struct hdlinks_s hdlinks; +- + static void + swap_sb(superblock *sb) + { +@@ -633,9 +709,24 @@ + static void + swap_nod(inode *nod) + { ++ uint32 nblk; ++ + #define this nod + inode_decl + #undef this ++ ++ // block and character inodes store the major and minor in the ++ // i_block, so we need to unswap to get those. Also, if it's ++ // zero iblocks, put the data back like it belongs. ++ nblk = nod->i_blocks / INOBLK; ++ if ((nod->i_size && !nblk) ++ || ((nod->i_mode & FM_IFBLK) == FM_IFBLK) ++ || ((nod->i_mode & FM_IFCHR) == FM_IFCHR)) ++ { ++ int i; ++ for(i = 0; i <= EXT2_TIND_BLOCK; i++) ++ nod->i_block[i] = swab32(nod->i_block[i]); ++ } + } + + static void +@@ -657,6 +748,7 @@ + + #undef decl8 + #undef udecl8 ++#undef utdecl8 + #undef decl16 + #undef udecl16 + #undef decl32 +@@ -770,15 +862,15 @@ + } + + int +-is_hardlink(ino_t inode) ++is_hardlink(filesystem *fs, ino_t inode) + { + int i; + +- for(i = 0; i < hdlinks.count; i++) { +- if(hdlinks.hdl[i].src_inode == inode) ++ for(i = 0; i < fs->hdlinks.count; i++) { ++ if(fs->hdlinks.hdl[i].src_inode == inode) + return i; + } +- return -1; ++ return -1; + } + + // printf helper macro +@@ -789,6 +881,8 @@ + get_workblk(void) + { + unsigned char* b=calloc(1,BLOCKSIZE); ++ if (!b) ++ error_msg_and_die("get_workblk() failed, out of memory"); + return b; + } + static inline void +@@ -811,24 +905,464 @@ + return b[(item-1) / 8] & (1 << ((item-1) % 8)); + } + +-// return a given block from a filesystem ++// Used by get_blk/put_blk to hold information about a block owned ++// by the user. ++typedef struct ++{ ++ cache_link link; ++ ++ filesystem *fs; ++ uint32 blk; ++ uint8 *b; ++ uint32 usecount; ++} blk_info; ++ ++#define MAX_FREE_CACHE_BLOCKS 100 ++ ++static uint32 ++blk_elem_val(cache_link *elem) ++{ ++ blk_info *bi = container_of(elem, blk_info, link); ++ return bi->blk; ++} ++ ++static void ++blk_freed(cache_link *elem) ++{ ++ blk_info *bi = container_of(elem, blk_info, link); ++ ++ if (fseeko(bi->fs->f, ((off_t) bi->blk) * BLOCKSIZE, SEEK_SET)) ++ perror_msg_and_die("fseek"); ++ if (fwrite(bi->b, BLOCKSIZE, 1, bi->fs->f) != 1) ++ perror_msg_and_die("get_blk: write"); ++ free(bi->b); ++ free(bi); ++} ++ ++// Return a given block from a filesystem. Make sure to call ++// put_blk when you are done with it. + static inline uint8 * +-get_blk(filesystem *fs, uint32 blk) ++get_blk(filesystem *fs, uint32 blk, blk_info **rbi) + { +- return (uint8*)fs + blk*BLOCKSIZE; ++ cache_link *curr; ++ blk_info *bi; ++ ++ if (blk >= fs->sb->s_blocks_count) ++ error_msg_and_die("Internal error, block out of range"); ++ ++ curr = cache_find(&fs->blks, blk); ++ if (curr) { ++ bi = container_of(curr, blk_info, link); ++ bi->usecount++; ++ goto out; ++ } ++ ++ bi = malloc(sizeof(*bi)); ++ if (!bi) ++ error_msg_and_die("get_blk: out of memory"); ++ bi->fs = fs; ++ bi->blk = blk; ++ bi->usecount = 1; ++ bi->b = malloc(BLOCKSIZE); ++ if (!bi->b) ++ error_msg_and_die("get_blk: out of memory"); ++ cache_add(&fs->blks, &bi->link); ++ if (fseeko(fs->f, ((off_t) blk) * BLOCKSIZE, SEEK_SET)) ++ perror_msg_and_die("fseek"); ++ if (fread(bi->b, BLOCKSIZE, 1, fs->f) != 1) { ++ if (ferror(fs->f)) ++ perror_msg_and_die("fread"); ++ memset(bi->b, 0, BLOCKSIZE); ++ } ++ ++out: ++ *rbi = bi; ++ return bi->b; + } + + // return a given inode from a filesystem +-static inline inode * +-get_nod(filesystem *fs, uint32 nod) ++static inline void ++put_blk(blk_info *bi) ++{ ++ if (bi->usecount == 0) ++ error_msg_and_die("Internal error: put_blk usecount zero"); ++ bi->usecount--; ++ if (bi->usecount == 0) ++ /* Free happens in the cache code */ ++ cache_item_set_unused(&bi->fs->blks, &bi->link); ++} ++ ++typedef struct + { +- int grp,offset; ++ cache_link link; ++ ++ filesystem *fs; ++ int gds; ++ blk_info *bi; ++ groupdescriptor *gd; ++ uint32 usecount; ++} gd_info; ++ ++#define MAX_FREE_CACHE_GDS 100 ++ ++static uint32 ++gd_elem_val(cache_link *elem) ++{ ++ gd_info *gi = container_of(elem, gd_info, link); ++ return gi->gds; ++} ++ ++static void ++gd_freed(cache_link *elem) ++{ ++ gd_info *gi = container_of(elem, gd_info, link); ++ ++ if (gi->fs->swapit) ++ swap_gd(gi->gd); ++ put_blk(gi->bi); ++ free(gi); ++} ++ ++#define GDS_START ((SUPERBLOCK_OFFSET + SUPERBLOCK_SIZE + BLOCKSIZE - 1) / BLOCKSIZE) ++#define GDS_PER_BLOCK (BLOCKSIZE / sizeof(groupdescriptor)) ++// the group descriptors are aligned on the block size ++static inline groupdescriptor * ++get_gd(filesystem *fs, uint32 no, gd_info **rgi) ++{ ++ uint32 gdblk; ++ uint32 offset; ++ gd_info *gi; ++ cache_link *curr; ++ ++ curr = cache_find(&fs->gds, no); ++ if (curr) { ++ gi = container_of(curr, gd_info, link); ++ gi->usecount++; ++ goto out; ++ } ++ ++ gi = malloc(sizeof(*gi)); ++ if (!gi) ++ error_msg_and_die("get_gd: out of memory"); ++ gi->fs = fs; ++ gi->gds = no; ++ gi->usecount = 1; ++ gdblk = GDS_START + (no / GDS_PER_BLOCK); ++ offset = no % GDS_PER_BLOCK; ++ gi->gd = ((groupdescriptor *) get_blk(fs, gdblk, &gi->bi)) + offset; ++ cache_add(&fs->gds, &gi->link); ++ if (fs->swapit) ++ swap_gd(gi->gd); ++ out: ++ *rgi = gi; ++ ++ return gi->gd; ++} ++ ++static inline void ++put_gd(gd_info *gi) ++{ ++ if (gi->usecount == 0) ++ error_msg_and_die("Internal error: put_gd usecount zero"); ++ ++ gi->usecount--; ++ if (gi->usecount == 0) ++ /* Free happens in the cache code */ ++ cache_item_set_unused(&gi->fs->gds, &gi->link); ++} ++ ++// Used by get_blkmap/put_blkmap to hold information about an block map ++// owned by the user. ++typedef struct ++{ ++ cache_link link; ++ ++ filesystem *fs; ++ uint32 blk; ++ uint8 *b; ++ blk_info *bi; ++ uint32 usecount; ++} blkmap_info; ++ ++#define MAX_FREE_CACHE_BLOCKMAPS 100 ++ ++static uint32 ++blkmap_elem_val(cache_link *elem) ++{ ++ blkmap_info *bmi = container_of(elem, blkmap_info, link); ++ return bmi->blk; ++} ++ ++static void ++blkmap_freed(cache_link *elem) ++{ ++ blkmap_info *bmi = container_of(elem, blkmap_info, link); ++ ++ if (bmi->fs->swapit) ++ swap_block(bmi->b); ++ put_blk(bmi->bi); ++ free(bmi); ++} ++ ++// Return a given block map from a filesystem. Make sure to call ++// put_blkmap when you are done with it. ++static inline uint32 * ++get_blkmap(filesystem *fs, uint32 blk, blkmap_info **rbmi) ++{ ++ blkmap_info *bmi; ++ cache_link *curr; ++ ++ curr = cache_find(&fs->blkmaps, blk); ++ if (curr) { ++ bmi = container_of(curr, blkmap_info, link); ++ bmi->usecount++; ++ goto out; ++ } ++ ++ bmi = malloc(sizeof(*bmi)); ++ if (!bmi) ++ error_msg_and_die("get_blkmap: out of memory"); ++ bmi->fs = fs; ++ bmi->blk = blk; ++ bmi->b = get_blk(fs, blk, &bmi->bi); ++ bmi->usecount = 1; ++ cache_add(&fs->blkmaps, &bmi->link); ++ ++ if (fs->swapit) ++ swap_block(bmi->b); ++ out: ++ *rbmi = bmi; ++ return (uint32 *) bmi->b; ++} ++ ++static inline void ++put_blkmap(blkmap_info *bmi) ++{ ++ if (bmi->usecount == 0) ++ error_msg_and_die("Internal error: put_blkmap usecount zero"); ++ ++ bmi->usecount--; ++ if (bmi->usecount == 0) ++ /* Free happens in the cache code */ ++ cache_item_set_unused(&bmi->fs->blkmaps, &bmi->link); ++} ++ ++// Used by get_nod/put_nod to hold information about an inode owned ++// by the user. ++typedef struct ++{ ++ cache_link link; ++ ++ filesystem *fs; ++ uint32 nod; ++ uint8 *b; ++ blk_info *bi; + inode *itab; ++ uint32 usecount; ++} nod_info; ++ ++#define MAX_FREE_CACHE_INODES 100 ++ ++static uint32 ++inode_elem_val(cache_link *elem) ++{ ++ nod_info *ni = container_of(elem, nod_info, link); ++ return ni->nod; ++} ++ ++static void ++inode_freed(cache_link *elem) ++{ ++ nod_info *ni = container_of(elem, nod_info, link); ++ ++ if (ni->fs->swapit) ++ swap_nod(ni->itab); ++ put_blk(ni->bi); ++ free(ni); ++} ++ ++#define INODES_PER_BLOCK (BLOCKSIZE / sizeof(inode)) + +- offset = GRP_IBM_OFFSET(fs,nod); ++// return a given inode from a filesystem ++static inline inode * ++get_nod(filesystem *fs, uint32 nod, nod_info **rni) ++{ ++ uint32 grp, boffset, offset; ++ cache_link *curr; ++ groupdescriptor *gd; ++ gd_info *gi; ++ nod_info *ni; ++ ++ curr = cache_find(&fs->inodes, nod); ++ if (curr) { ++ ni = container_of(curr, nod_info, link); ++ ni->usecount++; ++ goto out; ++ } ++ ++ ni = malloc(sizeof(*ni)); ++ if (!ni) ++ error_msg_and_die("get_nod: out of memory"); ++ ni->fs = fs; ++ ni->nod = nod; ++ ni->usecount = 1; ++ cache_add(&fs->inodes, &ni->link); ++ ++ offset = GRP_IBM_OFFSET(fs,nod) - 1; ++ boffset = offset / INODES_PER_BLOCK; ++ offset %= INODES_PER_BLOCK; + grp = GRP_GROUP_OF_INODE(fs,nod); +- itab = (inode *)get_blk(fs, fs->gd[grp].bg_inode_table); +- return itab+offset-1; ++ gd = get_gd(fs, grp, &gi); ++ ni->b = get_blk(fs, gd->bg_inode_table + boffset, &ni->bi); ++ ni->itab = ((inode *) ni->b) + offset; ++ if (fs->swapit) ++ swap_nod(ni->itab); ++ put_gd(gi); ++ out: ++ *rni = ni; ++ return ni->itab; ++} ++ ++static inline void ++put_nod(nod_info *ni) ++{ ++ if (ni->usecount == 0) ++ error_msg_and_die("Internal error: put_nod usecount zero"); ++ ++ ni->usecount--; ++ if (ni->usecount == 0) ++ /* Free happens in the cache code */ ++ cache_item_set_unused(&ni->fs->inodes, &ni->link); ++} ++ ++// Used to hold state information while walking a directory inode. ++typedef struct ++{ ++ directory d; ++ filesystem *fs; ++ uint32 nod; ++ directory *last_d; ++ uint8 *b; ++ blk_info *bi; ++} dirwalker; ++ ++// Start a directory walk on the given inode. You must pass in a ++// dirwalker structure, then use that dirwalker for future operations. ++// Call put_dir when you are done walking the directory. ++static inline directory * ++get_dir(filesystem *fs, uint32 nod, dirwalker *dw) ++{ ++ dw->fs = fs; ++ dw->b = get_blk(fs, nod, &dw->bi); ++ dw->nod = nod; ++ dw->last_d = (directory *) dw->b; ++ ++ memcpy(&dw->d, dw->last_d, sizeof(directory)); ++ if (fs->swapit) ++ swap_dir(&dw->d); ++ return &dw->d; ++} ++ ++// Move to the next directory. ++static inline directory * ++next_dir(dirwalker *dw) ++{ ++ directory *next_d = (directory *)((int8*)dw->last_d + dw->d.d_rec_len); ++ ++ if (dw->fs->swapit) ++ swap_dir(&dw->d); ++ memcpy(dw->last_d, &dw->d, sizeof(directory)); ++ ++ if (((int8 *) next_d) >= ((int8 *) dw->b + BLOCKSIZE)) ++ return NULL; ++ ++ dw->last_d = next_d; ++ memcpy(&dw->d, next_d, sizeof(directory)); ++ if (dw->fs->swapit) ++ swap_dir(&dw->d); ++ return &dw->d; ++} ++ ++// Call then when you are done with the directory walk. ++static inline void ++put_dir(dirwalker *dw) ++{ ++ if (dw->fs->swapit) ++ swap_dir(&dw->d); ++ memcpy(dw->last_d, &dw->d, sizeof(directory)); ++ ++ if (dw->nod == 0) ++ free_workblk(dw->b); ++ else ++ put_blk(dw->bi); ++} ++ ++// Create a new directory block with the given inode as it's destination ++// and append it to the current dirwalker. ++static directory * ++new_dir(filesystem *fs, uint32 dnod, const char *name, int nlen, dirwalker *dw) ++{ ++ directory *d; ++ ++ dw->fs = fs; ++ dw->b = get_workblk(); ++ dw->nod = 0; ++ dw->last_d = (directory *) dw->b; ++ d = &dw->d; ++ d->d_inode = dnod; ++ d->d_rec_len = BLOCKSIZE; ++ d->d_name_len = nlen; ++ strncpy(((char *) dw->last_d) + sizeof(directory), name, nlen); ++ return d; ++} ++ ++// Shrink the current directory entry, make a new one with the free ++// space, and return the new directory entry (making it current). ++static inline directory * ++shrink_dir(dirwalker *dw, uint32 nod, const char *name, int nlen) ++{ ++ int reclen, preclen; ++ directory *d = &dw->d; ++ ++ reclen = d->d_rec_len; ++ d->d_rec_len = sizeof(directory) + rndup(d->d_name_len, 4); ++ preclen = d->d_rec_len; ++ reclen -= preclen; ++ if (dw->fs->swapit) ++ swap_dir(&dw->d); ++ memcpy(dw->last_d, &dw->d, sizeof(directory)); ++ ++ dw->last_d = (directory *) (((int8 *) dw->last_d) + preclen); ++ d->d_rec_len = reclen; ++ d->d_inode = nod; ++ d->d_name_len = nlen; ++ strncpy(((char *) dw->last_d) + sizeof(directory), name, nlen); ++ ++ return d; ++} ++ ++// Return the current block the directory is walking ++static inline uint8 * ++dir_data(dirwalker *dw) ++{ ++ return dw->b; ++} ++ ++// Return the pointer to the name for the current directory ++static inline char * ++dir_name(dirwalker *dw) ++{ ++ return ((char *) dw->last_d) + sizeof(directory); ++} ++ ++// Set the name for the current directory. Note that this doesn't ++// verify that there is space for the directory name, you must do ++// that yourself. ++static void ++dir_set_name(dirwalker *dw, const char *name, int nlen) ++{ ++ dw->d.d_name_len = nlen; ++ strncpy(((char *) dw->last_d) + sizeof(directory), name, nlen); + } + + // allocate a given block/inode in the bitmap +@@ -870,21 +1404,34 @@ + { + uint32 bk=0; + uint32 grp,nbgroups; ++ blk_info *bi; ++ groupdescriptor *gd; ++ gd_info *gi; + + grp = GRP_GROUP_OF_INODE(fs,nod); + nbgroups = GRP_NBGROUPS(fs); +- if(!(bk = allocate(get_blk(fs,fs->gd[grp].bg_block_bitmap), 0))) { +- for(grp=0;grpgd[grp].bg_block_bitmap),0); ++ gd = get_gd(fs, grp, &gi); ++ bk = allocate(GRP_GET_GROUP_BBM(fs, gd, &bi), 0); ++ GRP_PUT_GROUP_BBM(bi); ++ put_gd(gi); ++ if (!bk) { ++ for (grp=0; grpgd[grp].bg_free_blocks_count--)) ++ gd = get_gd(fs, grp, &gi); ++ if(!(gd->bg_free_blocks_count--)) + error_msg_and_die("group descr %d. free blocks count == 0 (corrupted fs?)",grp); +- if(!(fs->sb.s_free_blocks_count--)) ++ put_gd(gi); ++ if(!(fs->sb->s_free_blocks_count--)) + error_msg_and_die("superblock free blocks count == 0 (corrupted fs?)"); +- return fs->sb.s_blocks_per_group*grp + bk; ++ return fs->sb->s_first_data_block + fs->sb->s_blocks_per_group*grp + (bk-1); + } + + // free a block +@@ -892,12 +1439,18 @@ + free_blk(filesystem *fs, uint32 bk) + { + uint32 grp; +- +- grp = bk / fs->sb.s_blocks_per_group; +- bk %= fs->sb.s_blocks_per_group; +- deallocate(get_blk(fs,fs->gd[grp].bg_block_bitmap), bk); +- fs->gd[grp].bg_free_blocks_count++; +- fs->sb.s_free_blocks_count++; ++ blk_info *bi; ++ gd_info *gi; ++ groupdescriptor *gd; ++ ++ grp = bk / fs->sb->s_blocks_per_group; ++ bk %= fs->sb->s_blocks_per_group; ++ gd = get_gd(fs, grp, &gi); ++ deallocate(GRP_GET_GROUP_BBM(fs, gd, &bi), bk); ++ GRP_PUT_GROUP_BBM(bi); ++ gd->bg_free_blocks_count++; ++ put_gd(gi); ++ fs->sb->s_free_blocks_count++; + } + + // allocate an inode +@@ -906,6 +1459,9 @@ + { + uint32 nod,best_group=0; + uint32 grp,nbgroups,avefreei; ++ blk_info *bi; ++ gd_info *gi, *bestgi; ++ groupdescriptor *gd, *bestgd; + + nbgroups = GRP_NBGROUPS(fs); + +@@ -914,22 +1470,32 @@ + /* find the one with the most free blocks and allocate node there */ + /* Idea from find_group_dir in fs/ext2/ialloc.c in 2.4.19 kernel */ + /* We do it for all inodes. */ +- avefreei = fs->sb.s_free_inodes_count / nbgroups; ++ avefreei = fs->sb->s_free_inodes_count / nbgroups; ++ bestgd = get_gd(fs, best_group, &bestgi); + for(grp=0; grpgd[grp].bg_free_inodes_count < avefreei || +- fs->gd[grp].bg_free_inodes_count == 0) ++ gd = get_gd(fs, grp, &gi); ++ if (gd->bg_free_inodes_count < avefreei || ++ gd->bg_free_inodes_count == 0) { ++ put_gd(gi); + continue; +- if (!best_group || +- fs->gd[grp].bg_free_blocks_count > fs->gd[best_group].bg_free_blocks_count) ++ } ++ if (!best_group || gd->bg_free_blocks_count > bestgd->bg_free_blocks_count) { ++ put_gd(bestgi); + best_group = grp; ++ bestgd = gd; ++ bestgi = gi; ++ } else ++ put_gd(gi); + } +- if (!(nod = allocate(get_blk(fs,fs->gd[best_group].bg_inode_bitmap),0))) ++ if (!(nod = allocate(GRP_GET_GROUP_IBM(fs, bestgd, &bi), 0))) + error_msg_and_die("couldn't allocate an inode (no free inode)"); +- if(!(fs->gd[best_group].bg_free_inodes_count--)) ++ GRP_PUT_GROUP_IBM(bi); ++ if(!(bestgd->bg_free_inodes_count--)) + error_msg_and_die("group descr. free blocks count == 0 (corrupted fs?)"); +- if(!(fs->sb.s_free_inodes_count--)) ++ put_gd(bestgi); ++ if(!(fs->sb->s_free_inodes_count--)) + error_msg_and_die("superblock free blocks count == 0 (corrupted fs?)"); +- return fs->sb.s_inodes_per_group*best_group+nod; ++ return fs->sb->s_inodes_per_group*best_group+nod; + } + + // print a bitmap allocation +@@ -962,30 +1528,40 @@ + // used after being freed, so once you start + // freeing blocks don't stop until the end of + // the file. moreover, i_blocks isn't updated. +-// in fact, don't do that, just use extend_blk + // if hole!=0, create a hole in the file + static uint32 + walk_bw(filesystem *fs, uint32 nod, blockwalker *bw, int32 *create, uint32 hole) + { + uint32 *bkref = 0; ++ uint32 bk = 0; ++ blkmap_info *bmi1 = NULL, *bmi2 = NULL, *bmi3 = NULL; + uint32 *b; + int extend = 0, reduce = 0; ++ inode *inod; ++ nod_info *ni; ++ uint32 *iblk; ++ + if(create && (*create) < 0) + reduce = 1; +- if(bw->bnum >= get_nod(fs, nod)->i_blocks / INOBLK) ++ inod = get_nod(fs, nod, &ni); ++ if(bw->bnum >= inod->i_blocks / INOBLK) + { + if(create && (*create) > 0) + { + (*create)--; + extend = 1; + } +- else ++ else ++ { ++ put_nod(ni); + return WALK_END; ++ } + } ++ iblk = inod->i_block; + // first direct block + if(bw->bpdir == EXT2_INIT_BLOCK) + { +- bkref = &get_nod(fs, nod)->i_block[bw->bpdir = 0]; ++ bkref = &iblk[bw->bpdir = 0]; + if(extend) // allocate first block + *bkref = hole ? 0 : alloc_blk(fs,nod); + if(reduce) // free first block +@@ -994,7 +1570,7 @@ + // direct block + else if(bw->bpdir < EXT2_NDIR_BLOCKS) + { +- bkref = &get_nod(fs, nod)->i_block[++bw->bpdir]; ++ bkref = &iblk[++bw->bpdir]; + if(extend) // allocate block + *bkref = hole ? 0 : alloc_blk(fs,nod); + if(reduce) // free block +@@ -1007,10 +1583,10 @@ + bw->bpdir = EXT2_IND_BLOCK; + bw->bpind = 0; + if(extend) // allocate indirect block +- get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs,nod); ++ iblk[bw->bpdir] = alloc_blk(fs,nod); + if(reduce) // free indirect block +- free_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); +- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); ++ free_blk(fs, iblk[bw->bpdir]); ++ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); + bkref = &b[bw->bpind]; + if(extend) // allocate first block + *bkref = hole ? 0 : alloc_blk(fs,nod); +@@ -1021,7 +1597,7 @@ + else if((bw->bpdir == EXT2_IND_BLOCK) && (bw->bpind < BLOCKSIZE/4 - 1)) + { + bw->bpind++; +- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); ++ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); + bkref = &b[bw->bpind]; + if(extend) // allocate block + *bkref = hole ? 0 : alloc_blk(fs,nod); +@@ -1036,15 +1612,15 @@ + bw->bpind = 0; + bw->bpdind = 0; + if(extend) // allocate double indirect block +- get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs,nod); ++ iblk[bw->bpdir] = alloc_blk(fs,nod); + if(reduce) // free double indirect block +- free_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); +- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); ++ free_blk(fs, iblk[bw->bpdir]); ++ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); + if(extend) // allocate first indirect block + b[bw->bpind] = alloc_blk(fs,nod); + if(reduce) // free firstindirect block + free_blk(fs, b[bw->bpind]); +- b = (uint32*)get_blk(fs, b[bw->bpind]); ++ b = get_blkmap(fs, b[bw->bpind], &bmi2); + bkref = &b[bw->bpdind]; + if(extend) // allocate first block + *bkref = hole ? 0 : alloc_blk(fs,nod); +@@ -1055,8 +1631,8 @@ + else if((bw->bpdir == EXT2_DIND_BLOCK) && (bw->bpdind < BLOCKSIZE/4 - 1)) + { + bw->bpdind++; +- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); +- b = (uint32*)get_blk(fs, b[bw->bpind]); ++ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); ++ b = get_blkmap(fs, b[bw->bpind], &bmi2); + bkref = &b[bw->bpdind]; + if(extend) // allocate block + *bkref = hole ? 0 : alloc_blk(fs,nod); +@@ -1069,12 +1645,12 @@ + bw->bnum++; + bw->bpdind = 0; + bw->bpind++; +- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); ++ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); + if(extend) // allocate indirect block + b[bw->bpind] = alloc_blk(fs,nod); + if(reduce) // free indirect block + free_blk(fs, b[bw->bpind]); +- b = (uint32*)get_blk(fs, b[bw->bpind]); ++ b = get_blkmap(fs, b[bw->bpind], &bmi2); + bkref = &b[bw->bpdind]; + if(extend) // allocate first block + *bkref = hole ? 0 : alloc_blk(fs,nod); +@@ -1094,20 +1670,20 @@ + bw->bpdind = 0; + bw->bptind = 0; + if(extend) // allocate triple indirect block +- get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs,nod); ++ iblk[bw->bpdir] = alloc_blk(fs,nod); + if(reduce) // free triple indirect block +- free_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); +- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); ++ free_blk(fs, iblk[bw->bpdir]); ++ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); + if(extend) // allocate first double indirect block + b[bw->bpind] = alloc_blk(fs,nod); + if(reduce) // free first double indirect block + free_blk(fs, b[bw->bpind]); +- b = (uint32*)get_blk(fs, b[bw->bpind]); ++ b = get_blkmap(fs, b[bw->bpind], &bmi2); + if(extend) // allocate first indirect block + b[bw->bpdind] = alloc_blk(fs,nod); + if(reduce) // free first indirect block + free_blk(fs, b[bw->bpind]); +- b = (uint32*)get_blk(fs, b[bw->bpdind]); ++ b = get_blkmap(fs, b[bw->bpdind], &bmi3); + bkref = &b[bw->bptind]; + if(extend) // allocate first data block + *bkref = hole ? 0 : alloc_blk(fs,nod); +@@ -1121,9 +1697,9 @@ + (bw->bptind < BLOCKSIZE/4 -1) ) + { + bw->bptind++; +- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); +- b = (uint32*)get_blk(fs, b[bw->bpind]); +- b = (uint32*)get_blk(fs, b[bw->bpdind]); ++ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); ++ b = get_blkmap(fs, b[bw->bpind], &bmi2); ++ b = get_blkmap(fs, b[bw->bpdind], &bmi3); + bkref = &b[bw->bptind]; + if(extend) // allocate data block + *bkref = hole ? 0 : alloc_blk(fs,nod); +@@ -1140,13 +1716,13 @@ + bw->bnum++; + bw->bptind = 0; + bw->bpdind++; +- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); +- b = (uint32*)get_blk(fs, b[bw->bpind]); ++ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); ++ b = get_blkmap(fs, b[bw->bpind], &bmi2); + if(extend) // allocate single indirect block + b[bw->bpdind] = alloc_blk(fs,nod); + if(reduce) // free indirect block + free_blk(fs, b[bw->bpind]); +- b = (uint32*)get_blk(fs, b[bw->bpdind]); ++ b = get_blkmap(fs, b[bw->bpdind], &bmi3); + bkref = &b[bw->bptind]; + if(extend) // allocate first data block + *bkref = hole ? 0 : alloc_blk(fs,nod); +@@ -1163,17 +1739,17 @@ + bw->bpdind = 0; + bw->bptind = 0; + bw->bpind++; +- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); ++ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); + if(extend) // allocate double indirect block + b[bw->bpind] = alloc_blk(fs,nod); + if(reduce) // free double indirect block + free_blk(fs, b[bw->bpind]); +- b = (uint32*)get_blk(fs, b[bw->bpind]); ++ b = get_blkmap(fs, b[bw->bpind], &bmi2); + if(extend) // allocate single indirect block + b[bw->bpdind] = alloc_blk(fs,nod); + if(reduce) // free indirect block + free_blk(fs, b[bw->bpind]); +- b = (uint32*)get_blk(fs, b[bw->bpdind]); ++ b = get_blkmap(fs, b[bw->bpdind], &bmi3); + bkref = &b[bw->bptind]; + if(extend) // allocate first block + *bkref = hole ? 0 : alloc_blk(fs,nod); +@@ -1184,56 +1760,105 @@ + error_msg_and_die("file too big !"); + /* End change for walking triple indirection */ + +- if(*bkref) +- { ++ bk = *bkref; ++ if (bmi3) ++ put_blkmap(bmi3); ++ if (bmi2) ++ put_blkmap(bmi2); ++ if (bmi1) ++ put_blkmap(bmi1); ++ ++ if(bk) ++ { ++ blk_info *bi; ++ gd_info *gi; ++ uint8 *block; + bw->bnum++; +- if(!reduce && !allocated(GRP_GET_BLOCK_BITMAP(fs,*bkref), GRP_BBM_OFFSET(fs,*bkref))) +- error_msg_and_die("[block %d of inode %d is unallocated !]", *bkref, nod); ++ block = GRP_GET_BLOCK_BITMAP(fs,bk,&bi,&gi); ++ if(!reduce && !allocated(block, GRP_BBM_OFFSET(fs,bk))) ++ error_msg_and_die("[block %d of inode %d is unallocated !]", bk, nod); ++ GRP_PUT_BLOCK_BITMAP(bi, gi); + } + if(extend) +- get_nod(fs, nod)->i_blocks = bw->bnum * INOBLK; +- return *bkref; ++ inod->i_blocks = bw->bnum * INOBLK; ++ put_nod(ni); ++ return bk; + } + +-// add blocks to an inode (file/dir/etc...) +-static void +-extend_blk(filesystem *fs, uint32 nod, block b, int amount) ++typedef struct + { +- int create = amount; +- blockwalker bw, lbw; +- uint32 bk; +- init_bw(&bw); +- if(amount < 0) +- { +- uint32 i; +- for(i = 0; i < get_nod(fs, nod)->i_blocks / INOBLK + amount; i++) +- walk_bw(fs, nod, &bw, 0, 0); +- while(walk_bw(fs, nod, &bw, &create, 0) != WALK_END) ++ blockwalker bw; ++ uint32 nod; ++ nod_info *ni; ++ inode *inod; ++} inode_pos; ++#define INODE_POS_TRUNCATE 0 ++#define INODE_POS_EXTEND 1 ++ ++// Call this to set up an ipos structure for future use with ++// extend_inode_blk to append blocks to the given inode. If ++// op is INODE_POS_TRUNCATE, the inode is truncated to zero size. ++// If op is INODE_POS_EXTEND, the position is moved to the end ++// of the inode's data blocks. ++// Call inode_pos_finish when done with the inode_pos structure. ++static void ++inode_pos_init(filesystem *fs, inode_pos *ipos, uint32 nod, int op, ++ blockwalker *endbw) ++{ ++ blockwalker lbw; ++ ++ init_bw(&ipos->bw); ++ ipos->nod = nod; ++ ipos->inod = get_nod(fs, nod, &ipos->ni); ++ if (op == INODE_POS_TRUNCATE) { ++ int32 create = -1; ++ while(walk_bw(fs, nod, &ipos->bw, &create, 0) != WALK_END) + /*nop*/; +- get_nod(fs, nod)->i_blocks += amount * INOBLK; ++ ipos->inod->i_blocks = 0; + } +- else ++ ++ if (endbw) ++ ipos->bw = *endbw; ++ else { ++ /* Seek to the end */ ++ init_bw(&ipos->bw); ++ lbw = ipos->bw; ++ while(walk_bw(fs, nod, &ipos->bw, 0, 0) != WALK_END) ++ lbw = ipos->bw; ++ ipos->bw = lbw; ++ } ++} ++ ++// Clean up the inode_pos structure. ++static void ++inode_pos_finish(filesystem *fs, inode_pos *ipos) ++{ ++ put_nod(ipos->ni); ++} ++ ++// add blocks to an inode (file/dir/etc...) at the given position. ++// This will only work when appending to the end of an inode. ++static void ++extend_inode_blk(filesystem *fs, inode_pos *ipos, block b, int amount) ++{ ++ uint32 bk; ++ uint32 pos; ++ ++ if (amount < 0) ++ error_msg_and_die("extend_inode_blk: Got negative amount"); ++ ++ for (pos = 0; amount; pos += BLOCKSIZE) + { +- lbw = bw; +- while((bk = walk_bw(fs, nod, &bw, 0, 0)) != WALK_END) +- lbw = bw; +- bw = lbw; +- while(create) +- { +- int i, copyb = 0; +- if(!(fs->sb.s_reserved[200] & OP_HOLES)) +- copyb = 1; +- else +- for(i = 0; i < BLOCKSIZE / 4; i++) +- if(((int32*)(b + BLOCKSIZE * (amount - create)))[i]) +- { +- copyb = 1; +- break; +- } +- if((bk = walk_bw(fs, nod, &bw, &create, !copyb)) == WALK_END) +- break; +- if(copyb) +- memcpy(get_blk(fs, bk), b + BLOCKSIZE * (amount - create - 1), BLOCKSIZE); ++ int hole = (fs->holes && is_blk_empty(b + pos)); ++ ++ bk = walk_bw(fs, ipos->nod, &ipos->bw, &amount, hole); ++ if (bk == WALK_END) ++ error_msg_and_die("extend_inode_blk: extend failed"); ++ if (!hole) { ++ blk_info *bi; ++ uint8 *block = get_blk(fs, bk, &bi); ++ memcpy(block, b + pos, BLOCKSIZE); ++ put_blk(bi); + } + } + } +@@ -1242,15 +1867,17 @@ + static void + add2dir(filesystem *fs, uint32 dnod, uint32 nod, const char* name) + { +- blockwalker bw; ++ blockwalker bw, lbw; + uint32 bk; +- uint8 *b; + directory *d; ++ dirwalker dw; + int reclen, nlen; + inode *node; + inode *pnode; ++ nod_info *dni, *ni; ++ inode_pos ipos; + +- pnode = get_nod(fs, dnod); ++ pnode = get_nod(fs, dnod, &dni); + if((pnode->i_mode & FM_IFMT) != FM_IFDIR) + error_msg_and_die("can't add '%s' to a non-directory", name); + if(!*name) +@@ -1262,52 +1889,52 @@ + if(reclen > BLOCKSIZE) + error_msg_and_die("bad name '%s' (too long)", name); + init_bw(&bw); ++ lbw = bw; + while((bk = walk_bw(fs, dnod, &bw, 0, 0)) != WALK_END) // for all blocks in dir + { +- b = get_blk(fs, bk); + // for all dir entries in block +- for(d = (directory*)b; (int8*)d + sizeof(*d) < (int8*)b + BLOCKSIZE; d = (directory*)((int8*)d + d->d_rec_len)) ++ for(d = get_dir(fs, bk, &dw); d; d = next_dir(&dw)) + { + // if empty dir entry, large enough, use it + if((!d->d_inode) && (d->d_rec_len >= reclen)) + { + d->d_inode = nod; +- node = get_nod(fs, nod); ++ node = get_nod(fs, nod, &ni); ++ dir_set_name(&dw, name, nlen); ++ put_dir(&dw); + node->i_links_count++; +- d->d_name_len = nlen; +- strncpy(d->d_name, name, nlen); +- return; ++ put_nod(ni); ++ goto out; + } + // if entry with enough room (last one?), shrink it & use it + if(d->d_rec_len >= (sizeof(directory) + rndup(d->d_name_len, 4) + reclen)) + { +- reclen = d->d_rec_len; +- d->d_rec_len = sizeof(directory) + rndup(d->d_name_len, 4); +- reclen -= d->d_rec_len; +- d = (directory*) (((int8*)d) + d->d_rec_len); +- d->d_rec_len = reclen; +- d->d_inode = nod; +- node = get_nod(fs, nod); ++ d = shrink_dir(&dw, nod, name, nlen); ++ put_dir(&dw); ++ node = get_nod(fs, nod, &ni); + node->i_links_count++; +- d->d_name_len = nlen; +- strncpy(d->d_name, name, nlen); +- return; ++ put_nod(ni); ++ goto out; + } + } ++ put_dir(&dw); ++ lbw = bw; + } + // we found no free entry in the directory, so we add a block +- if(!(b = get_workblk())) +- error_msg_and_die("get_workblk() failed."); +- d = (directory*)b; +- d->d_inode = nod; +- node = get_nod(fs, nod); ++ node = get_nod(fs, nod, &ni); ++ d = new_dir(fs, nod, name, nlen, &dw); + node->i_links_count++; +- d->d_rec_len = BLOCKSIZE; +- d->d_name_len = nlen; +- strncpy(d->d_name, name, nlen); +- extend_blk(fs, dnod, b, 1); +- get_nod(fs, dnod)->i_size += BLOCKSIZE; +- free_workblk(b); ++ put_nod(ni); ++ next_dir(&dw); // Force the data into the buffer ++ ++ inode_pos_init(fs, &ipos, dnod, INODE_POS_EXTEND, &lbw); ++ extend_inode_blk(fs, &ipos, dir_data(&dw), 1); ++ inode_pos_finish(fs, &ipos); ++ ++ put_dir(&dw); ++ pnode->i_size += BLOCKSIZE; ++out: ++ put_nod(dni); + } + + // find an entry in a directory +@@ -1321,11 +1948,13 @@ + while((bk = walk_bw(fs, nod, &bw, 0, 0)) != WALK_END) + { + directory *d; +- uint8 *b; +- b = get_blk(fs, bk); +- for(d = (directory*)b; (int8*)d + sizeof(*d) < (int8*)b + BLOCKSIZE; d = (directory*)((int8*)d + d->d_rec_len)) +- if(d->d_inode && (nlen == d->d_name_len) && !strncmp(d->d_name, name, nlen)) ++ dirwalker dw; ++ for (d = get_dir(fs, bk, &dw); d; d=next_dir(&dw)) ++ if(d->d_inode && (nlen == d->d_name_len) && !strncmp(dir_name(&dw), name, nlen)) { ++ put_dir(&dw); + return d->d_inode; ++ } ++ put_dir(&dw); + } + return 0; + } +@@ -1356,47 +1985,55 @@ + return nod; + } + ++// chmod an inode ++void ++chmod_fs(filesystem *fs, uint32 nod, uint16 mode, uint16 uid, uint16 gid) ++{ ++ inode *node; ++ nod_info *ni; ++ node = get_nod(fs, nod, &ni); ++ node->i_mode = (node->i_mode & ~FM_IMASK) | (mode & FM_IMASK); ++ node->i_uid = uid; ++ node->i_gid = gid; ++ put_nod(ni); ++} ++ + // create a simple inode + static uint32 + mknod_fs(filesystem *fs, uint32 parent_nod, const char *name, uint16 mode, uint16 uid, uint16 gid, uint8 major, uint8 minor, uint32 ctime, uint32 mtime) + { + uint32 nod; + inode *node; +- if((nod = find_dir(fs, parent_nod, name))) +- { +- node = get_nod(fs, nod); +- if((node->i_mode & FM_IFMT) != (mode & FM_IFMT)) +- error_msg_and_die("node '%s' already exists and isn't of the same type", name); +- node->i_mode = mode; +- } +- else ++ nod_info *ni; ++ gd_info *gi; ++ ++ nod = alloc_nod(fs); ++ node = get_nod(fs, nod, &ni); ++ node->i_mode = mode; ++ add2dir(fs, parent_nod, nod, name); ++ switch(mode & FM_IFMT) + { +- nod = alloc_nod(fs); +- node = get_nod(fs, nod); +- node->i_mode = mode; +- add2dir(fs, parent_nod, nod, name); +- switch(mode & FM_IFMT) +- { +- case FM_IFLNK: +- mode = FM_IFLNK | FM_IRWXU | FM_IRWXG | FM_IRWXO; +- break; +- case FM_IFBLK: +- case FM_IFCHR: +- ((uint8*)get_nod(fs, nod)->i_block)[0] = minor; +- ((uint8*)get_nod(fs, nod)->i_block)[1] = major; +- break; +- case FM_IFDIR: +- add2dir(fs, nod, nod, "."); +- add2dir(fs, nod, parent_nod, ".."); +- fs->gd[GRP_GROUP_OF_INODE(fs,nod)].bg_used_dirs_count++; +- break; +- } ++ case FM_IFLNK: ++ mode = FM_IFLNK | FM_IRWXU | FM_IRWXG | FM_IRWXO; ++ break; ++ case FM_IFBLK: ++ case FM_IFCHR: ++ ((uint8*)node->i_block)[0] = minor; ++ ((uint8*)node->i_block)[1] = major; ++ break; ++ case FM_IFDIR: ++ add2dir(fs, nod, nod, "."); ++ add2dir(fs, nod, parent_nod, ".."); ++ get_gd(fs,GRP_GROUP_OF_INODE(fs,nod),&gi)->bg_used_dirs_count++; ++ put_gd(gi); ++ break; + } + node->i_uid = uid; + node->i_gid = gid; + node->i_atime = mtime; + node->i_ctime = ctime; + node->i_mtime = mtime; ++ put_nod(ni); + return nod; + } + +@@ -1413,33 +2050,73 @@ + mklink_fs(filesystem *fs, uint32 parent_nod, const char *name, size_t size, uint8 *b, uid_t uid, gid_t gid, uint32 ctime, uint32 mtime) + { + uint32 nod = mknod_fs(fs, parent_nod, name, FM_IFLNK | FM_IRWXU | FM_IRWXG | FM_IRWXO, uid, gid, 0, 0, ctime, mtime); +- extend_blk(fs, nod, 0, - (int)get_nod(fs, nod)->i_blocks / INOBLK); +- get_nod(fs, nod)->i_size = size; +- if(size <= 4 * (EXT2_TIND_BLOCK+1)) +- { +- strncpy((char*)get_nod(fs, nod)->i_block, (char*)b, size); ++ nod_info *ni; ++ inode *node = get_nod(fs, nod, &ni); ++ inode_pos ipos; ++ ++ inode_pos_init(fs, &ipos, nod, INODE_POS_TRUNCATE, NULL); ++ node->i_size = size; ++ if(size < 4 * (EXT2_TIND_BLOCK+1)) ++ { ++ strncpy((char*)node->i_block, (char*)b, size); ++ ((char*)node->i_block)[size+1] = '\0'; ++ inode_pos_finish(fs, &ipos); ++ put_nod(ni); + return nod; + } +- extend_blk(fs, nod, b, rndup(size, BLOCKSIZE) / BLOCKSIZE); ++ extend_inode_blk(fs, &ipos, b, rndup(size, BLOCKSIZE) / BLOCKSIZE); ++ inode_pos_finish(fs, &ipos); ++ put_nod(ni); + return nod; + } + ++static void ++fs_upgrade_rev1_largefile(filesystem *fs) ++{ ++ fs->sb->s_rev_level = 1; ++ fs->sb->s_first_ino = EXT2_GOOD_OLD_FIRST_INO; ++ fs->sb->s_inode_size = EXT2_GOOD_OLD_INODE_SIZE; ++} ++ ++#define COPY_BLOCKS 16 ++#define CB_SIZE (COPY_BLOCKS * BLOCKSIZE) ++ + // make a file from a FILE* + static uint32 +-mkfile_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode, size_t size, FILE *f, uid_t uid, gid_t gid, uint32 ctime, uint32 mtime) ++mkfile_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode, FILE *f, uid_t uid, gid_t gid, uint32 ctime, uint32 mtime) + { + uint8 * b; + uint32 nod = mknod_fs(fs, parent_nod, name, mode|FM_IFREG, uid, gid, 0, 0, ctime, mtime); +- extend_blk(fs, nod, 0, - (int)get_nod(fs, nod)->i_blocks / INOBLK); +- get_nod(fs, nod)->i_size = size; +- if (size) { +- if(!(b = (uint8*)calloc(rndup(size, BLOCKSIZE), 1))) +- error_msg_and_die("not enough mem to read file '%s'", name); +- if(f) +- fread(b, size, 1, f); // FIXME: ugly. use mmap() ... +- extend_blk(fs, nod, b, rndup(size, BLOCKSIZE) / BLOCKSIZE); +- free(b); +- } ++ nod_info *ni; ++ inode *node = get_nod(fs, nod, &ni); ++ off_t size = 0; ++ size_t readbytes; ++ inode_pos ipos; ++ int fullsize; ++ ++ b = malloc(CB_SIZE); ++ if (!b) ++ error_msg_and_die("mkfile_fs: out of memory"); ++ inode_pos_init(fs, &ipos, nod, INODE_POS_TRUNCATE, NULL); ++ readbytes = fread(b, 1, CB_SIZE, f); ++ while (readbytes) { ++ fullsize = rndup(readbytes, BLOCKSIZE); ++ // Fill to end of block with zeros. ++ memset(b + readbytes, 0, fullsize - readbytes); ++ extend_inode_blk(fs, &ipos, b, fullsize / BLOCKSIZE); ++ size += readbytes; ++ readbytes = fread(b, 1, CB_SIZE, f); ++ } ++ if (size > 0x7fffffff) { ++ if (fs->sb->s_rev_level < 1) ++ fs_upgrade_rev1_largefile(fs); ++ fs->sb->s_feature_ro_compat |= EXT2_FEATURE_RO_COMPAT_LARGE_FILE; ++ } ++ node->i_dir_acl = size >> 32; ++ node->i_size = size; ++ inode_pos_finish(fs, &ipos); ++ put_nod(ni); ++ free(b); + return nod; + } + +@@ -1591,13 +2268,24 @@ + dname = malloc(len + 1); + for(i = start; i < count; i++) + { ++ uint32 oldnod; + SNPRINTF(dname, len, "%s%lu", name, i); +- mknod_fs(fs, nod, dname, mode, uid, gid, major, minor + (i * increment - start), ctime, mtime); ++ oldnod = find_dir(fs, nod, dname); ++ if(oldnod) ++ chmod_fs(fs, oldnod, mode, uid, gid); ++ else ++ mknod_fs(fs, nod, dname, mode, uid, gid, major, minor + (i * increment - start), ctime, mtime); + } + free(dname); + } + else +- mknod_fs(fs, nod, name, mode, uid, gid, major, minor, ctime, mtime); ++ { ++ uint32 oldnod = find_dir(fs, nod, name); ++ if(oldnod) ++ chmod_fs(fs, oldnod, mode, uid, gid); ++ else ++ mknod_fs(fs, nod, name, mode, uid, gid, major, minor, ctime, mtime); ++ } + } + } + if (line) +@@ -1643,6 +2331,10 @@ + switch(st.st_mode & S_IFMT) + { + case S_IFLNK: ++ if((st.st_mode & S_IFMT) == S_IFREG || st.st_size >= 4 * (EXT2_TIND_BLOCK+1)) ++ stats->nblocks += (st.st_size + BLOCKSIZE - 1) / BLOCKSIZE; ++ stats->ninodes++; ++ break; + case S_IFREG: + if((st.st_mode & S_IFMT) == S_IFREG || st.st_size > 4 * (EXT2_TIND_BLOCK+1)) + stats->nblocks += (st.st_size + BLOCKSIZE - 1) / BLOCKSIZE; +@@ -1657,19 +2349,33 @@ + if(chdir(dent->d_name) < 0) + perror_msg_and_die(dent->d_name); + add2fs_from_dir(fs, this_nod, squash_uids, squash_perms, fs_timestamp, stats); +- chdir(".."); ++ if (chdir("..") == -1) ++ perror_msg_and_die(".."); ++ + break; + default: + break; + } + else + { ++ if((nod = find_dir(fs, this_nod, name))) ++ { ++ error_msg("ignoring duplicate entry %s", name); ++ if(S_ISDIR(st.st_mode)) { ++ if(chdir(dent->d_name) < 0) ++ perror_msg_and_die(name); ++ add2fs_from_dir(fs, nod, squash_uids, squash_perms, fs_timestamp, stats); ++ if (chdir("..") == -1) ++ perror_msg_and_die(".."); ++ } ++ continue; ++ } + save_nod = 0; + /* Check for hardlinks */ + if (!S_ISDIR(st.st_mode) && !S_ISLNK(st.st_mode) && st.st_nlink > 1) { +- int32 hdlink = is_hardlink(st.st_ino); ++ int32 hdlink = is_hardlink(fs, st.st_ino); + if (hdlink >= 0) { +- add2dir(fs, this_nod, hdlinks.hdl[hdlink].dst_nod, name); ++ add2dir(fs, this_nod, fs->hdlinks.hdl[hdlink].dst_nod, name); + continue; + } else { + save_nod = 1; +@@ -1697,8 +2403,12 @@ + free(lnk); + break; + case S_IFREG: +- fh = xfopen(dent->d_name, "rb"); +- nod = mkfile_fs(fs, this_nod, name, mode, st.st_size, fh, uid, gid, ctime, mtime); ++ fh = fopen(dent->d_name, "rb"); ++ if (!fh) { ++ error_msg("Unable to open file %s", dent->d_name); ++ break; ++ } ++ nod = mkfile_fs(fs, this_nod, name, mode, fh, uid, gid, ctime, mtime); + fclose(fh); + break; + case S_IFDIR: +@@ -1706,199 +2416,128 @@ + if(chdir(dent->d_name) < 0) + perror_msg_and_die(name); + add2fs_from_dir(fs, nod, squash_uids, squash_perms, fs_timestamp, stats); +- chdir(".."); ++ if (chdir("..") == -1) ++ perror_msg_and_die(".."); + break; + default: + error_msg("ignoring entry %s", name); + } + if (save_nod) { +- if (hdlinks.count == hdlink_cnt) { +- if ((hdlinks.hdl = +- realloc (hdlinks.hdl, (hdlink_cnt + HDLINK_CNT) * ++ if (fs->hdlinks.count == fs->hdlink_cnt) { ++ if ((fs->hdlinks.hdl = ++ realloc (fs->hdlinks.hdl, (fs->hdlink_cnt + HDLINK_CNT) * + sizeof (struct hdlink_s))) == NULL) { + error_msg_and_die("Not enough memory"); + } +- hdlink_cnt += HDLINK_CNT; ++ fs->hdlink_cnt += HDLINK_CNT; + } +- hdlinks.hdl[hdlinks.count].src_inode = st.st_ino; +- hdlinks.hdl[hdlinks.count].dst_nod = nod; +- hdlinks.count++; ++ fs->hdlinks.hdl[fs->hdlinks.count].src_inode = st.st_ino; ++ fs->hdlinks.hdl[fs->hdlinks.count].dst_nod = nod; ++ fs->hdlinks.count++; + } + } + } + closedir(dh); + } + +-// endianness swap of x-indirect blocks ++// Copy size blocks from src to dst, putting holes in the output ++// file (if possible) if the input block is all zeros. ++// Copy size blocks from src to dst, putting holes in the output ++// file (if possible) if the input block is all zeros. + static void +-swap_goodblocks(filesystem *fs, inode *nod) ++copy_file(filesystem *fs, FILE *dst, FILE *src, size_t size) + { +- uint32 i,j; +- int done=0; +- uint32 *b,*b2; ++ uint8 *b; + +- uint32 nblk = nod->i_blocks / INOBLK; +- if((nod->i_size && !nblk) || ((nod->i_mode & FM_IFBLK) == FM_IFBLK) || ((nod->i_mode & FM_IFCHR) == FM_IFCHR)) +- for(i = 0; i <= EXT2_TIND_BLOCK; i++) +- nod->i_block[i] = swab32(nod->i_block[i]); +- if(nblk <= EXT2_IND_BLOCK) +- return; +- swap_block(get_blk(fs, nod->i_block[EXT2_IND_BLOCK])); +- if(nblk <= EXT2_DIND_BLOCK + BLOCKSIZE/4) +- return; +- /* Currently this will fail b'cos the number of blocks as stored +- in i_blocks also includes the indirection blocks (see +- walk_bw). But this function assumes that i_blocks only +- stores the count of data blocks ( Actually according to +- "Understanding the Linux Kernel" (Table 17-3 p502 1st Ed) +- i_blocks IS supposed to store the count of data blocks). so +- with a file of size 268K nblk would be 269.The above check +- will be false even though double indirection hasn't been +- started.This is benign as 0 means block 0 which has been +- zeroed out and therefore points back to itself from any offset +- */ +- // FIXME: I have fixed that, but I have the feeling the rest of +- // ths function needs to be fixed for the same reasons - Xav +- assert(nod->i_block[EXT2_DIND_BLOCK] != 0); +- for(i = 0; i < BLOCKSIZE/4; i++) +- if(nblk > EXT2_IND_BLOCK + BLOCKSIZE/4 + (BLOCKSIZE/4)*i ) +- swap_block(get_blk(fs, ((uint32*)get_blk(fs, nod->i_block[EXT2_DIND_BLOCK]))[i])); +- swap_block(get_blk(fs, nod->i_block[EXT2_DIND_BLOCK])); +- if(nblk <= EXT2_IND_BLOCK + BLOCKSIZE/4 + BLOCKSIZE/4 * BLOCKSIZE/4) +- return; +- /* Adding support for triple indirection */ +- b = (uint32*)get_blk(fs,nod->i_block[EXT2_TIND_BLOCK]); +- for(i=0;i < BLOCKSIZE/4 && !done ; i++) { +- b2 = (uint32*)get_blk(fs,b[i]); +- for(j=0; j ( EXT2_IND_BLOCK + BLOCKSIZE/4 + +- (BLOCKSIZE/4)*(BLOCKSIZE/4) + +- i*(BLOCKSIZE/4)*(BLOCKSIZE/4) + +- j*(BLOCKSIZE/4)) ) +- swap_block(get_blk(fs,b2[j])); +- else { +- done = 1; +- break; +- } ++ b = malloc(BLOCKSIZE); ++ if (!b) ++ error_msg_and_die("copy_file: out of memory"); ++ if (fseek(src, 0, SEEK_SET)) ++ perror_msg_and_die("fseek"); ++ if (ftruncate(fileno(dst), 0)) ++ perror_msg_and_die("copy_file: ftruncate"); ++ while (size > 0) { ++ if (fread(b, BLOCKSIZE, 1, src) != 1) ++ perror_msg_and_die("copy failed on read"); ++ if ((dst != stdout) && fs->holes && is_blk_empty(b)) { ++ /* Empty block, just skip it */ ++ if (fseek(dst, BLOCKSIZE, SEEK_CUR)) ++ perror_msg_and_die("fseek"); ++ } else { ++ if (fwrite(b, BLOCKSIZE, 1, dst) != 1) ++ perror_msg_and_die("copy failed on write"); + } +- swap_block((uint8 *)b2); ++ size--; + } +- swap_block((uint8 *)b); +- return; ++ free(b); + } + +-static void +-swap_badblocks(filesystem *fs, inode *nod) ++// Allocate a new filesystem structure, allocate internal memory, ++// and initialize the contents. ++static filesystem * ++alloc_fs(int swapit, char *fname, uint32 nbblocks, FILE *srcfile) + { +- uint32 i,j; +- int done=0; +- uint32 *b,*b2; ++ filesystem *fs; ++ struct stat srcstat, dststat; + +- uint32 nblk = nod->i_blocks / INOBLK; +- if((nod->i_size && !nblk) || ((nod->i_mode & FM_IFBLK) == FM_IFBLK) || ((nod->i_mode & FM_IFCHR) == FM_IFCHR)) +- for(i = 0; i <= EXT2_TIND_BLOCK; i++) +- nod->i_block[i] = swab32(nod->i_block[i]); +- if(nblk <= EXT2_IND_BLOCK) +- return; +- swap_block(get_blk(fs, nod->i_block[EXT2_IND_BLOCK])); +- if(nblk <= EXT2_DIND_BLOCK + BLOCKSIZE/4) +- return; +- /* See comment in swap_goodblocks */ +- assert(nod->i_block[EXT2_DIND_BLOCK] != 0); +- swap_block(get_blk(fs, nod->i_block[EXT2_DIND_BLOCK])); +- for(i = 0; i < BLOCKSIZE/4; i++) +- if(nblk > EXT2_IND_BLOCK + BLOCKSIZE/4 + (BLOCKSIZE/4)*i ) +- swap_block(get_blk(fs, ((uint32*)get_blk(fs, nod->i_block[EXT2_DIND_BLOCK]))[i])); +- if(nblk <= EXT2_IND_BLOCK + BLOCKSIZE/4 + BLOCKSIZE/4 * BLOCKSIZE/4) +- return; +- /* Adding support for triple indirection */ +- b = (uint32*)get_blk(fs,nod->i_block[EXT2_TIND_BLOCK]); +- swap_block((uint8 *)b); +- for(i=0;i < BLOCKSIZE/4 && !done ; i++) { +- b2 = (uint32*)get_blk(fs,b[i]); +- swap_block((uint8 *)b2); +- for(j=0; j ( EXT2_IND_BLOCK + BLOCKSIZE/4 + +- (BLOCKSIZE/4)*(BLOCKSIZE/4) + +- i*(BLOCKSIZE/4)*(BLOCKSIZE/4) + +- j*(BLOCKSIZE/4)) ) +- swap_block(get_blk(fs,b2[j])); +- else { +- done = 1; +- break; +- } +- } +- } +- return; +-} ++ fs = malloc(sizeof(*fs)); ++ if (!fs) ++ error_msg_and_die("not enough memory for filesystem"); ++ memset(fs, 0, sizeof(*fs)); ++ fs->swapit = swapit; ++ cache_init(&fs->blks, MAX_FREE_CACHE_BLOCKS, blk_elem_val, blk_freed); ++ cache_init(&fs->gds, MAX_FREE_CACHE_GDS, gd_elem_val, gd_freed); ++ cache_init(&fs->blkmaps, MAX_FREE_CACHE_BLOCKMAPS, ++ blkmap_elem_val, blkmap_freed); ++ cache_init(&fs->inodes, MAX_FREE_CACHE_INODES, ++ inode_elem_val, inode_freed); ++ fs->hdlink_cnt = HDLINK_CNT; ++ fs->hdlinks.hdl = calloc(sizeof(struct hdlink_s), fs->hdlink_cnt); ++ if (!fs->hdlinks.hdl) ++ error_msg_and_die("Not enough memory"); ++ fs->hdlinks.count = 0 ; + +-// endianness swap of the whole filesystem +-static void +-swap_goodfs(filesystem *fs) +-{ +- uint32 i; +- for(i = 1; i < fs->sb.s_inodes_count; i++) +- { +- inode *nod = get_nod(fs, i); +- if(nod->i_mode & FM_IFDIR) +- { +- blockwalker bw; +- uint32 bk; +- init_bw(&bw); +- while((bk = walk_bw(fs, i, &bw, 0, 0)) != WALK_END) +- { +- directory *d; +- uint8 *b; +- b = get_blk(fs, bk); +- for(d = (directory*)b; (int8*)d + sizeof(*d) < (int8*)b + BLOCKSIZE; d = (directory*)((int8*)d + swab16(d->d_rec_len))) +- swap_dir(d); +- } +- } +- swap_goodblocks(fs, nod); +- swap_nod(nod); +- } +- for(i=0;igd[i])); +- swap_sb(&fs->sb); ++ if (strcmp(fname, "-") == 0) ++ fs->f = tmpfile(); ++ else if (srcfile) { ++ if (fstat(fileno(srcfile), &srcstat)) ++ perror_msg_and_die("fstat srcfile"); ++ if (stat(fname, &dststat) == 0 ++ && srcstat.st_ino == dststat.st_ino ++ && srcstat.st_dev == dststat.st_dev) ++ { ++ // source and destination are the same file, don't ++ // truncate or copy, just use the file. ++ fs->f = fopen(fname, "r+b"); ++ } else { ++ fs->f = fopen(fname, "w+b"); ++ if (fs->f) ++ copy_file(fs, fs->f, srcfile, nbblocks); ++ } ++ } else ++ fs->f = fopen(fname, "w+b"); ++ if (!fs->f) ++ perror_msg_and_die("opening %s", fname); ++ return fs; + } + ++/* Make sure the output file is the right size */ + static void +-swap_badfs(filesystem *fs) ++set_file_size(filesystem *fs) + { +- uint32 i; +- swap_sb(&fs->sb); +- for(i=0;igd[i])); +- for(i = 1; i < fs->sb.s_inodes_count; i++) +- { +- inode *nod = get_nod(fs, i); +- swap_nod(nod); +- swap_badblocks(fs, nod); +- if(nod->i_mode & FM_IFDIR) +- { +- blockwalker bw; +- uint32 bk; +- init_bw(&bw); +- while((bk = walk_bw(fs, i, &bw, 0, 0)) != WALK_END) +- { +- directory *d; +- uint8 *b; +- b = get_blk(fs, bk); +- for(d = (directory*)b; (int8*)d + sizeof(*d) < (int8*)b + BLOCKSIZE; d = (directory*)((int8*)d + d->d_rec_len)) +- swap_dir(d); +- } +- } +- } ++ if (ftruncate(fileno(fs->f), ++ ((off_t) fs->sb->s_blocks_count) * BLOCKSIZE)) ++ perror_msg_and_die("set_file_size: ftruncate"); + } + + // initialize an empty filesystem + static filesystem * +-init_fs(int nbblocks, int nbinodes, int nbresrvd, int holes, uint32 fs_timestamp) ++init_fs(int nbblocks, int nbinodes, int nbresrvd, int holes, ++ uint32 fs_timestamp, uint32 creator_os, int swapit, char *fname) + { + uint32 i; + filesystem *fs; +- directory *d; +- uint8 * b; ++ dirwalker dw; + uint32 nod, first_block; + uint32 nbgroups,nbinodes_per_group,overhead_per_group,free_blocks, + free_blocks_per_group,nbblocks_per_group,min_nbgroups; +@@ -1906,6 +2545,11 @@ + uint32 j; + uint8 *bbm,*ibm; + inode *itab0; ++ blk_info *bi; ++ nod_info *ni; ++ groupdescriptor *gd; ++ gd_info *gi; ++ inode_pos ipos; + + if(nbresrvd < 0) + error_msg_and_die("reserved blocks value is invalid. Note: options have changed, see --help or the man page."); +@@ -1919,10 +2563,14 @@ + */ + min_nbgroups = (nbinodes + INODES_PER_GROUP - 1) / INODES_PER_GROUP; + ++ /* On filesystems with 1k block size, the bootloader area uses a full ++ * block. For 2048 and up, the superblock can be fitted into block 0. ++ */ ++ first_block = (BLOCKSIZE == 1024); ++ + /* nbblocks is the total number of blocks in the filesystem. + * a block group can have no more than 8192 blocks. + */ +- first_block = (BLOCKSIZE == 1024); + nbgroups = (nbblocks - first_block + BLOCKS_PER_GROUP - 1) / BLOCKS_PER_GROUP; + if(nbgroups < min_nbgroups) nbgroups = min_nbgroups; + nbblocks_per_group = rndup((nbblocks - first_block + nbgroups - 1)/nbgroups, 8); +@@ -1934,51 +2582,59 @@ + gdsz = rndup(nbgroups*sizeof(groupdescriptor),BLOCKSIZE)/BLOCKSIZE; + itblsz = nbinodes_per_group * sizeof(inode)/BLOCKSIZE; + overhead_per_group = 3 /*sb,bbm,ibm*/ + gdsz + itblsz; +- if((uint32)nbblocks - 1 < overhead_per_group * nbgroups) +- error_msg_and_die("too much overhead, try fewer inodes or more blocks. Note: options have changed, see --help or the man page."); +- free_blocks = nbblocks - overhead_per_group*nbgroups - 1 /*boot block*/; ++ free_blocks = nbblocks - overhead_per_group*nbgroups - first_block; + free_blocks_per_group = nbblocks_per_group - overhead_per_group; ++ if(free_blocks < 0) ++ error_msg_and_die("too much overhead, try fewer inodes or more blocks. Note: options have changed, see --help or the man page."); + +- if(!(fs = (filesystem*)calloc(nbblocks, BLOCKSIZE))) +- error_msg_and_die("not enough memory for filesystem"); ++ fs = alloc_fs(swapit, fname, nbblocks, NULL); ++ fs->sb = calloc(1, SUPERBLOCK_SIZE); ++ if (!fs->sb) ++ error_msg_and_die("error allocating header memory"); + + // create the superblock for an empty filesystem +- fs->sb.s_inodes_count = nbinodes_per_group * nbgroups; +- fs->sb.s_blocks_count = nbblocks; +- fs->sb.s_r_blocks_count = nbresrvd; +- fs->sb.s_free_blocks_count = free_blocks; +- fs->sb.s_free_inodes_count = fs->sb.s_inodes_count - EXT2_FIRST_INO + 1; +- fs->sb.s_first_data_block = first_block; +- fs->sb.s_log_block_size = BLOCKSIZE >> 11; +- fs->sb.s_log_frag_size = BLOCKSIZE >> 11; +- fs->sb.s_blocks_per_group = nbblocks_per_group; +- fs->sb.s_frags_per_group = nbblocks_per_group; +- fs->sb.s_inodes_per_group = nbinodes_per_group; +- fs->sb.s_wtime = fs_timestamp; +- fs->sb.s_magic = EXT2_MAGIC_NUMBER; +- fs->sb.s_lastcheck = fs_timestamp; ++ fs->sb->s_inodes_count = nbinodes_per_group * nbgroups; ++ fs->sb->s_blocks_count = nbblocks; ++ fs->sb->s_r_blocks_count = nbresrvd; ++ fs->sb->s_free_blocks_count = free_blocks; ++ fs->sb->s_free_inodes_count = fs->sb->s_inodes_count - EXT2_FIRST_INO + 1; ++ fs->sb->s_first_data_block = first_block; ++ fs->sb->s_log_block_size = BLOCKSIZE >> 11; ++ fs->sb->s_log_frag_size = BLOCKSIZE >> 11; ++ fs->sb->s_blocks_per_group = nbblocks_per_group; ++ fs->sb->s_frags_per_group = nbblocks_per_group; ++ fs->sb->s_inodes_per_group = nbinodes_per_group; ++ fs->sb->s_wtime = fs_timestamp; ++ fs->sb->s_magic = EXT2_MAGIC_NUMBER; ++ fs->sb->s_lastcheck = fs_timestamp; ++ fs->sb->s_creator_os = creator_os; ++ ++ set_file_size(fs); + + // set up groupdescriptors +- for(i=0, bbmpos=gdsz+2, ibmpos=bbmpos+1, itblpos=ibmpos+1; ++ for(i=0, bbmpos=first_block+1+gdsz, ibmpos=bbmpos+1, itblpos=ibmpos+1; + i free_blocks_per_group) { +- fs->gd[i].bg_free_blocks_count = free_blocks_per_group; ++ gd->bg_free_blocks_count = free_blocks_per_group; + free_blocks -= free_blocks_per_group; + } else { +- fs->gd[i].bg_free_blocks_count = free_blocks; ++ gd->bg_free_blocks_count = free_blocks; + free_blocks = 0; // this is the last block group + } + if(i) +- fs->gd[i].bg_free_inodes_count = nbinodes_per_group; ++ gd->bg_free_inodes_count = nbinodes_per_group; + else +- fs->gd[i].bg_free_inodes_count = nbinodes_per_group - ++ gd->bg_free_inodes_count = nbinodes_per_group - + EXT2_FIRST_INO + 2; +- fs->gd[i].bg_used_dirs_count = 0; +- fs->gd[i].bg_block_bitmap = bbmpos; +- fs->gd[i].bg_inode_bitmap = ibmpos; +- fs->gd[i].bg_inode_table = itblpos; ++ gd->bg_used_dirs_count = 0; ++ gd->bg_block_bitmap = bbmpos; ++ gd->bg_inode_bitmap = ibmpos; ++ gd->bg_inode_table = itblpos; ++ put_gd(gi); + } + + /* Mark non-filesystem blocks and inodes as allocated */ +@@ -1984,110 +2640,143 @@ + /* Mark non-filesystem blocks and inodes as allocated */ + /* Mark system blocks and inodes as allocated */ + for(i = 0; igd[i].bg_block_bitmap); ++ gd = get_gd(fs, i, &gi); ++ bbm = GRP_GET_GROUP_BBM(fs, gd, &bi); + //non-filesystem blocks +- for(j = fs->gd[i].bg_free_blocks_count ++ for(j = gd->bg_free_blocks_count + + overhead_per_group + 1; j <= BLOCKSIZE * 8; j++) + allocate(bbm, j); + //system blocks + for(j = 1; j <= overhead_per_group; j++) + allocate(bbm, j); +- ++ GRP_PUT_GROUP_BBM(bi); ++ + /* Inode bitmap */ +- ibm = get_blk(fs,fs->gd[i].bg_inode_bitmap); ++ ibm = GRP_GET_GROUP_IBM(fs, gd, &bi); + //non-filesystem inodes +- for(j = fs->sb.s_inodes_per_group+1; j <= BLOCKSIZE * 8; j++) ++ for(j = fs->sb->s_inodes_per_group+1; j <= BLOCKSIZE * 8; j++) + allocate(ibm, j); + + //system inodes + if(i == 0) + for(j = 1; j < EXT2_FIRST_INO; j++) + allocate(ibm, j); ++ GRP_PUT_GROUP_IBM(bi); ++ put_gd(gi); + } + + // make root inode and directory + /* We have groups now. Add the root filesystem in group 0 */ + /* Also increment the directory count for group 0 */ +- fs->gd[0].bg_free_inodes_count--; +- fs->gd[0].bg_used_dirs_count = 1; +- itab0 = (inode *)get_blk(fs,fs->gd[0].bg_inode_table); +- itab0[EXT2_ROOT_INO-1].i_mode = FM_IFDIR | FM_IRWXU | FM_IRGRP | FM_IROTH | FM_IXGRP | FM_IXOTH; +- itab0[EXT2_ROOT_INO-1].i_ctime = fs_timestamp; +- itab0[EXT2_ROOT_INO-1].i_mtime = fs_timestamp; +- itab0[EXT2_ROOT_INO-1].i_atime = fs_timestamp; +- itab0[EXT2_ROOT_INO-1].i_size = BLOCKSIZE; +- itab0[EXT2_ROOT_INO-1].i_links_count = 2; +- +- if(!(b = get_workblk())) +- error_msg_and_die("get_workblk() failed."); +- d = (directory*)b; +- d->d_inode = EXT2_ROOT_INO; +- d->d_rec_len = sizeof(directory)+4; +- d->d_name_len = 1; +- strcpy(d->d_name, "."); +- d = (directory*)(b + d->d_rec_len); +- d->d_inode = EXT2_ROOT_INO; +- d->d_rec_len = BLOCKSIZE - (sizeof(directory)+4); +- d->d_name_len = 2; +- strcpy(d->d_name, ".."); +- extend_blk(fs, EXT2_ROOT_INO, b, 1); ++ gd = get_gd(fs, 0, &gi); ++ gd->bg_free_inodes_count--; ++ gd->bg_used_dirs_count = 1; ++ put_gd(gi); ++ itab0 = get_nod(fs, EXT2_ROOT_INO, &ni); ++ itab0->i_mode = FM_IFDIR | FM_IRWXU | FM_IRGRP | FM_IROTH | FM_IXGRP | FM_IXOTH; ++ itab0->i_ctime = fs_timestamp; ++ itab0->i_mtime = fs_timestamp; ++ itab0->i_atime = fs_timestamp; ++ itab0->i_size = BLOCKSIZE; ++ itab0->i_links_count = 2; ++ put_nod(ni); ++ ++ new_dir(fs, EXT2_ROOT_INO, ".", 1, &dw); ++ shrink_dir(&dw, EXT2_ROOT_INO, "..", 2); ++ next_dir(&dw); // Force the data into the buffer ++ inode_pos_init(fs, &ipos, EXT2_ROOT_INO, INODE_POS_EXTEND, NULL); ++ extend_inode_blk(fs, &ipos, dir_data(&dw), 1); ++ inode_pos_finish(fs, &ipos); ++ put_dir(&dw); + +- // make lost+found directory and reserve blocks +- if(fs->sb.s_r_blocks_count) ++ // make lost+found directory ++ if(fs->sb->s_r_blocks_count) + { +- nod = mkdir_fs(fs, EXT2_ROOT_INO, "lost+found", FM_IRWXU, 0, 0, fs_timestamp, fs_timestamp); ++ inode *node; ++ uint8 *b; ++ ++ nod = mkdir_fs(fs, EXT2_ROOT_INO, "lost+found", FM_IRWXU, ++ 0, 0, fs_timestamp, fs_timestamp); ++ b = get_workblk(); + memset(b, 0, BLOCKSIZE); + ((directory*)b)->d_rec_len = BLOCKSIZE; +- /* We run into problems with e2fsck if directory lost+found grows +- * bigger than this. Need to find out why this happens - sundar +- */ +- if (fs->sb.s_r_blocks_count > fs->sb.s_blocks_count * MAX_RESERVED_BLOCKS ) +- fs->sb.s_r_blocks_count = fs->sb.s_blocks_count * MAX_RESERVED_BLOCKS; +- for(i = 1; i < fs->sb.s_r_blocks_count; i++) +- extend_blk(fs, nod, b, 1); +- get_nod(fs, nod)->i_size = fs->sb.s_r_blocks_count * BLOCKSIZE; ++ inode_pos_init(fs, &ipos, nod, INODE_POS_EXTEND, NULL); ++ // It is always 16 blocks to start out with ++ for(i = 1; i < 16; i++) ++ extend_inode_blk(fs, &ipos, b, 1); ++ inode_pos_finish(fs, &ipos); ++ free_workblk(b); ++ node = get_nod(fs, nod, &ni); ++ node->i_size = 16 * BLOCKSIZE; ++ put_nod(ni); + } +- free_workblk(b); + + // administrative info +- fs->sb.s_state = 1; +- fs->sb.s_max_mnt_count = 20; ++ fs->sb->s_state = 1; ++ fs->sb->s_max_mnt_count = 20; + + // options for me +- if(holes) +- fs->sb.s_reserved[200] |= OP_HOLES; ++ fs->holes = holes; + + return fs; + } + + // loads a filesystem from disk + static filesystem * +-load_fs(FILE * fh, int swapit) ++load_fs(FILE *fh, int swapit, char *fname) + { +- size_t fssize; ++ off_t fssize; + filesystem *fs; +- if((fseek(fh, 0, SEEK_END) < 0) || ((ssize_t)(fssize = ftell(fh)) == -1)) ++ ++ if((fseek(fh, 0, SEEK_END) < 0) || ((fssize = ftello(fh)) == -1)) + perror_msg_and_die("input filesystem image"); + rewind(fh); +- fssize = (fssize + BLOCKSIZE - 1) / BLOCKSIZE; ++ if ((fssize % BLOCKSIZE) != 0) ++ error_msg_and_die("Input file not a multiple of block size"); ++ fssize /= BLOCKSIZE; + if(fssize < 16) // totally arbitrary + error_msg_and_die("too small filesystem"); +- if(!(fs = (filesystem*)calloc(fssize, BLOCKSIZE))) +- error_msg_and_die("not enough memory for filesystem"); +- if(fread(fs, BLOCKSIZE, fssize, fh) != fssize) +- perror_msg_and_die("input filesystem image"); ++ fs = alloc_fs(swapit, fname, fssize, fh); ++ ++ /* Read and check the superblock, then read the superblock ++ * and all the group descriptors */ ++ fs->sb = malloc(SUPERBLOCK_SIZE); ++ if (!fs->sb) ++ error_msg_and_die("error allocating header memory"); ++ if (fseek(fs->f, SUPERBLOCK_OFFSET, SEEK_SET)) ++ perror_msg_and_die("fseek"); ++ if (fread(fs->sb, SUPERBLOCK_SIZE, 1, fs->f) != 1) ++ perror_msg_and_die("fread filesystem image superblock"); + if(swapit) +- swap_badfs(fs); +- if(fs->sb.s_rev_level || (fs->sb.s_magic != EXT2_MAGIC_NUMBER)) ++ swap_sb(fs->sb); ++ ++ if((fs->sb->s_rev_level > 1) || (fs->sb->s_magic != EXT2_MAGIC_NUMBER)) + error_msg_and_die("not a suitable ext2 filesystem"); ++ if (fs->sb->s_rev_level > 0) { ++ if (fs->sb->s_first_ino != EXT2_GOOD_OLD_FIRST_INO) ++ error_msg_and_die("First inode incompatible"); ++ if (fs->sb->s_inode_size != EXT2_GOOD_OLD_INODE_SIZE) ++ error_msg_and_die("inode size incompatible"); ++ if (fs->sb->s_feature_compat) ++ error_msg_and_die("Unsupported compat features"); ++ if (fs->sb->s_feature_incompat) ++ error_msg_and_die("Unsupported incompat features"); ++ if (fs->sb->s_feature_ro_compat ++ & ~EXT2_FEATURE_RO_COMPAT_LARGE_FILE) ++ error_msg_and_die("Unsupported ro compat features"); ++ } ++ ++ set_file_size(fs); + return fs; + } + + static void + free_fs(filesystem *fs) + { ++ free(fs->hdlinks.hdl); ++ fclose(fs->f); ++ free(fs->sb); + free(fs); + } + +@@ -2123,16 +2812,23 @@ + { + blockwalker bw; + uint32 bk; +- int32 fsize = get_nod(fs, nod)->i_size; ++ nod_info *ni; ++ inode *node = get_nod(fs, nod, &ni); ++ int32 fsize = node->i_size; ++ blk_info *bi; ++ + init_bw(&bw); + while((bk = walk_bw(fs, nod, &bw, 0, 0)) != WALK_END) + { + if(fsize <= 0) + error_msg_and_die("wrong size while saving inode %d", nod); +- if(fwrite(get_blk(fs, bk), (fsize > BLOCKSIZE) ? BLOCKSIZE : fsize, 1, f) != 1) ++ if(fwrite(get_blk(fs, bk, &bi), ++ (fsize > BLOCKSIZE) ? BLOCKSIZE : fsize, 1, f) != 1) + error_msg_and_die("error while saving inode %d", nod); ++ put_blk(bi); + fsize -= BLOCKSIZE; + } ++ put_nod(ni); + } + + +@@ -2141,8 +2837,11 @@ + print_dev(filesystem *fs, uint32 nod) + { + int minor, major; +- minor = ((uint8*)get_nod(fs, nod)->i_block)[0]; +- major = ((uint8*)get_nod(fs, nod)->i_block)[1]; ++ nod_info *ni; ++ inode *node = get_nod(fs, nod, &ni); ++ minor = ((uint8*)node->i_block)[0]; ++ major = ((uint8*)node->i_block)[1]; ++ put_nod(ni); + printf("major: %d, minor: %d\n", major, minor); + } + +@@ -2157,17 +2856,15 @@ + while((bk = walk_bw(fs, nod, &bw, 0, 0)) != WALK_END) + { + directory *d; +- uint8 *b; +- b = get_blk(fs, bk); +- for(d = (directory*)b; (int8*)d + sizeof(*d) < (int8*)b + BLOCKSIZE; d = (directory*)((int8*)d + d->d_rec_len)) ++ dirwalker dw; ++ for (d = get_dir(fs, bk, &dw); d; d = next_dir(&dw)) + if(d->d_inode) + { +- int i; + printf("entry '"); +- for(i = 0; i < d->d_name_len; i++) +- putchar(d->d_name[i]); ++ fwrite(dir_name(&dw), 1, d->d_name_len, stdout); + printf("' (inode %d): rec_len: %d (name_len: %d)\n", d->d_inode, d->d_rec_len, d->d_name_len); + } ++ put_dir(&dw); + } + } + +@@ -2175,14 +2872,18 @@ + static void + print_link(filesystem *fs, uint32 nod) + { +- if(!get_nod(fs, nod)->i_blocks) +- printf("links to '%s'\n", (char*)get_nod(fs, nod)->i_block); ++ nod_info *ni; ++ inode *node = get_nod(fs, nod, &ni); ++ ++ if(!node->i_blocks) ++ printf("links to '%s'\n", (char*)node->i_block); + else + { + printf("links to '"); + write_blocks(fs, nod, stdout); + printf("'\n"); + } ++ put_nod(ni); + } + + // make a ls-like printout of permissions +@@ -2251,8 +2952,13 @@ + { + char *s; + char perms[11]; +- if(!get_nod(fs, nod)->i_mode) +- return; ++ nod_info *ni; ++ inode *node = get_nod(fs, nod, &ni); ++ blk_info *bi; ++ gd_info *gi; ++ ++ if(!node->i_mode) ++ goto out; + switch(nod) + { + case EXT2_BAD_INO: +@@ -2274,15 +2980,18 @@ + default: + s = (nod >= EXT2_FIRST_INO) ? "normal" : "unknown reserved"; + } +- printf("inode %d (%s, %d links): ", nod, s, get_nod(fs, nod)->i_links_count); +- if(!allocated(GRP_GET_INODE_BITMAP(fs,nod), GRP_IBM_OFFSET(fs,nod))) ++ printf("inode %d (%s, %d links): ", nod, s, node->i_links_count); ++ if(!allocated(GRP_GET_INODE_BITMAP(fs,nod,&bi,&gi), GRP_IBM_OFFSET(fs,nod))) + { ++ GRP_PUT_INODE_BITMAP(bi,gi); + printf("unallocated\n"); +- return; ++ goto out; + } +- make_perms(get_nod(fs, nod)->i_mode, perms); +- printf("%s, size: %d byte%s (%d block%s)\n", perms, plural(get_nod(fs, nod)->i_size), plural(get_nod(fs, nod)->i_blocks / INOBLK)); +- switch(get_nod(fs, nod)->i_mode & FM_IFMT) ++ GRP_PUT_INODE_BITMAP(bi,gi); ++ make_perms(node->i_mode, perms); ++ printf("%s, size: %d byte%s (%d block%s)\n", perms, ++ plural(node->i_size), plural(node->i_blocks / INOBLK)); ++ switch(node->i_mode & FM_IFMT) + { + case FM_IFSOCK: + list_blocks(fs, nod); +@@ -2310,6 +3019,8 @@ + list_blocks(fs, nod); + } + printf("Done with inode %d\n",nod); ++out: ++ put_nod(ni); + } + + // describes various fields in a filesystem +@@ -2317,49 +3028,65 @@ + print_fs(filesystem *fs) + { + uint32 i; ++ blk_info *bi; ++ groupdescriptor *gd; ++ gd_info *gi; + uint8 *ibm; + + printf("%d blocks (%d free, %d reserved), first data block: %d\n", +- fs->sb.s_blocks_count, fs->sb.s_free_blocks_count, +- fs->sb.s_r_blocks_count, fs->sb.s_first_data_block); +- printf("%d inodes (%d free)\n", fs->sb.s_inodes_count, +- fs->sb.s_free_inodes_count); ++ fs->sb->s_blocks_count, fs->sb->s_free_blocks_count, ++ fs->sb->s_r_blocks_count, fs->sb->s_first_data_block); ++ printf("%d inodes (%d free)\n", fs->sb->s_inodes_count, ++ fs->sb->s_free_inodes_count); + printf("block size = %d, frag size = %d\n", +- fs->sb.s_log_block_size ? (fs->sb.s_log_block_size << 11) : 1024, +- fs->sb.s_log_frag_size ? (fs->sb.s_log_frag_size << 11) : 1024); ++ fs->sb->s_log_block_size ? (fs->sb->s_log_block_size << 11) : 1024, ++ fs->sb->s_log_frag_size ? (fs->sb->s_log_frag_size << 11) : 1024); + printf("number of groups: %d\n",GRP_NBGROUPS(fs)); + printf("%d blocks per group,%d frags per group,%d inodes per group\n", +- fs->sb.s_blocks_per_group, fs->sb.s_frags_per_group, +- fs->sb.s_inodes_per_group); ++ fs->sb->s_blocks_per_group, fs->sb->s_frags_per_group, ++ fs->sb->s_inodes_per_group); + printf("Size of inode table: %d blocks\n", +- (int)(fs->sb.s_inodes_per_group * sizeof(inode) / BLOCKSIZE)); ++ (int)(fs->sb->s_inodes_per_group * sizeof(inode) / BLOCKSIZE)); + for (i = 0; i < GRP_NBGROUPS(fs); i++) { + printf("Group No: %d\n", i+1); ++ gd = get_gd(fs, i, &gi); + printf("block bitmap: block %d,inode bitmap: block %d, inode table: block %d\n", +- fs->gd[i].bg_block_bitmap, fs->gd[i].bg_inode_bitmap, +- fs->gd[i].bg_inode_table); ++ gd->bg_block_bitmap, ++ gd->bg_inode_bitmap, ++ gd->bg_inode_table); + printf("block bitmap allocation:\n"); +- print_bm(GRP_GET_GROUP_BBM(fs, i),fs->sb.s_blocks_per_group); ++ print_bm(GRP_GET_GROUP_BBM(fs, gd, &bi),fs->sb->s_blocks_per_group); ++ GRP_PUT_GROUP_BBM(bi); + printf("inode bitmap allocation:\n"); +- ibm = GRP_GET_GROUP_IBM(fs, i); +- print_bm(ibm, fs->sb.s_inodes_per_group); +- for (i = 1; i <= fs->sb.s_inodes_per_group; i++) ++ ibm = GRP_GET_GROUP_IBM(fs, gd, &bi); ++ print_bm(ibm, fs->sb->s_inodes_per_group); ++ for (i = 1; i <= fs->sb->s_inodes_per_group; i++) + if (allocated(ibm, i)) + print_inode(fs, i); ++ GRP_PUT_GROUP_IBM(bi); ++ put_gd(gi); + } + } + + static void +-dump_fs(filesystem *fs, FILE * fh, int swapit) ++finish_fs(filesystem *fs) + { +- uint32 nbblocks = fs->sb.s_blocks_count; +- fs->sb.s_reserved[200] = 0; +- if(swapit) +- swap_goodfs(fs); +- if(fwrite(fs, BLOCKSIZE, nbblocks, fh) < nbblocks) +- perror_msg_and_die("output filesystem image"); +- if(swapit) +- swap_badfs(fs); ++ if (cache_flush(&fs->inodes)) ++ error_msg_and_die("entry mismatch on inode cache flush"); ++ if (cache_flush(&fs->blkmaps)) ++ error_msg_and_die("entry mismatch on blockmap cache flush"); ++ if (cache_flush(&fs->gds)) ++ error_msg_and_die("entry mismatch on gd cache flush"); ++ if (cache_flush(&fs->blks)) ++ error_msg_and_die("entry mismatch on block cache flush"); ++ if(fs->swapit) ++ swap_sb(fs->sb); ++ if (fseek(fs->f, SUPERBLOCK_OFFSET, SEEK_SET)) ++ perror_msg_and_die("fseek"); ++ if(fwrite(fs->sb, SUPERBLOCK_SIZE, 1, fs->f) != 1) ++ perror_msg_and_die("output filesystem superblock"); ++ if(fs->swapit) ++ swap_sb(fs->sb); + } + + static void +@@ -2419,10 +3146,12 @@ + " -x, --starting-image \n" + " -d, --root \n" + " -D, --devtable \n" ++ " -B, --block-size \n" + " -b, --size-in-blocks \n" + " -i, --bytes-per-inode \n" + " -N, --number-of-inodes \n" + " -m, --reserved-percentage \n" ++ " -o, --creator-os 'linux' (default), 'hurd', 'freebsd' or number.\n" + " -g, --block-map Generate a block map file for this path.\n" + " -e, --fill-value Fill unallocated blocks with value.\n" + " -z, --allow-holes Allow files with holes.\n" +@@ -2444,15 +3173,34 @@ + extern char* optarg; + extern int optind, opterr, optopt; + ++// parse the value for -o ++int ++lookup_creator_os(const char *name) ++{ ++ if (isdigit (*name)) ++ return atoi(name); ++ else if (strcasecmp(name, "linux") == 0) ++ return EXT2_OS_LINUX; ++ else if (strcasecmp(name, "GNU") == 0 || strcasecmp(name, "hurd") == 0) ++ return EXT2_OS_HURD; ++ else if (strcasecmp(name, "freebsd") == 0) ++ return EXT2_OS_FREEBSD; ++ else if (strcasecmp(name, "lites") == 0) ++ return EXT2_OS_LITES; ++ else ++ return EXT2_OS_LINUX; ++} ++ + int + main(int argc, char **argv) + { +- int nbblocks = -1; ++ long long nbblocks = -1; + int nbinodes = -1; + int nbresrvd = -1; + float bytes_per_inode = -1; + float reserved_frac = -1; + int fs_timestamp = -1; ++ int creator_os = CREATOR_OS; + char * fsout = "-"; + char * fsin = 0; + char * dopt[MAX_DOPT]; +@@ -2466,6 +3214,7 @@ + int squash_perms = 0; + uint16 endian = 1; + int bigendian = !*(char*)&endian; ++ char *volumelabel = NULL; + filesystem *fs; + int i; + int c; +@@ -2476,13 +3225,16 @@ + { "starting-image", required_argument, NULL, 'x' }, + { "root", required_argument, NULL, 'd' }, + { "devtable", required_argument, NULL, 'D' }, ++ { "block-size", required_argument, NULL, 'B' }, + { "size-in-blocks", required_argument, NULL, 'b' }, + { "bytes-per-inode", required_argument, NULL, 'i' }, + { "number-of-inodes", required_argument, NULL, 'N' }, ++ { "volume-label", required_argument, NULL, 'L' }, + { "reserved-percentage", required_argument, NULL, 'm' }, ++ { "creator-os", required_argument, NULL, 'o' }, + { "block-map", required_argument, NULL, 'g' }, + { "fill-value", required_argument, NULL, 'e' }, +- { "allow-holes", no_argument, NULL, 'z' }, ++ { "allow-holes", no_argument, NULL, 'z' }, + { "faketime", no_argument, NULL, 'f' }, + { "squash", no_argument, NULL, 'q' }, + { "squash-uids", no_argument, NULL, 'U' }, +@@ -2495,11 +3247,11 @@ + + app_name = argv[0]; + +- while((c = getopt_long(argc, argv, "x:d:D:b:i:N:m:g:e:zfqUPhVv", longopts, NULL)) != EOF) { ++ while((c = getopt_long(argc, argv, "x:d:D:B:b:i:N:L:m:o:g:e:zfqUPhVv", longopts, NULL)) != EOF) { + #else + app_name = argv[0]; + +- while((c = getopt(argc, argv, "x:d:D:b:i:N:m:g:e:zfqUPhVv")) != EOF) { ++ while((c = getopt(argc, argv, "x:d:D:B:b:i:N:L:m:o:g:e:zfqUPhVv")) != EOF) { + #endif /* HAVE_GETOPT_LONG */ + switch(c) + { +@@ -2510,6 +3262,9 @@ + case 'D': + dopt[didx++] = optarg; + break; ++ case 'B': ++ blocksize = SI_atof(optarg); ++ break; + case 'b': + nbblocks = SI_atof(optarg); + break; +@@ -2519,9 +3274,15 @@ + case 'N': + nbinodes = SI_atof(optarg); + break; ++ case 'L': ++ volumelabel = optarg; ++ break; + case 'm': + reserved_frac = SI_atof(optarg) / 100; + break; ++ case 'o': ++ creator_os = lookup_creator_os(optarg); ++ break; + case 'g': + gopt[gidx++] = optarg; + break; +@@ -2565,21 +3326,21 @@ + error_msg_and_die("Not enough arguments. Try --help or else see the man page."); + fsout = argv[optind]; + +- hdlinks.hdl = (struct hdlink_s *)malloc(hdlink_cnt * sizeof(struct hdlink_s)); +- if (!hdlinks.hdl) +- error_msg_and_die("Not enough memory"); +- hdlinks.count = 0 ; ++ if(blocksize != 1024 && blocksize != 2048 && blocksize != 4096) ++ error_msg_and_die("Valid block sizes: 1024, 2048 or 4096."); ++ if(creator_os < 0) ++ error_msg_and_die("Creator OS unknown."); + + if(fsin) + { + if(strcmp(fsin, "-")) + { + FILE * fh = xfopen(fsin, "rb"); +- fs = load_fs(fh, bigendian); ++ fs = load_fs(fh, bigendian, fsout); + fclose(fh); + } + else +- fs = load_fs(stdin, bigendian); ++ fs = load_fs(stdin, bigendian, fsout); + } + else + { +@@ -2609,16 +3370,29 @@ + } + if(fs_timestamp == -1) + fs_timestamp = time(NULL); +- fs = init_fs(nbblocks, nbinodes, nbresrvd, holes, fs_timestamp); ++ fs = init_fs(nbblocks, nbinodes, nbresrvd, holes, ++ fs_timestamp, creator_os, bigendian, fsout); + } ++ if (volumelabel != NULL) ++ strncpy((char *)fs->sb->s_volume_name, volumelabel, ++ sizeof(fs->sb->s_volume_name)); + + populate_fs(fs, dopt, didx, squash_uids, squash_perms, fs_timestamp, NULL); + + if(emptyval) { + uint32 b; +- for(b = 1; b < fs->sb.s_blocks_count; b++) +- if(!allocated(GRP_GET_BLOCK_BITMAP(fs,b),GRP_BBM_OFFSET(fs,b))) +- memset(get_blk(fs, b), emptyval, BLOCKSIZE); ++ for(b = 1; b < fs->sb->s_blocks_count; b++) { ++ blk_info *bi; ++ gd_info *gi; ++ if(!allocated(GRP_GET_BLOCK_BITMAP(fs,b,&bi,&gi), ++ GRP_BBM_OFFSET(fs,b))) { ++ blk_info *bi2; ++ memset(get_blk(fs, b, &bi2), emptyval, ++ BLOCKSIZE); ++ put_blk(bi2); ++ } ++ GRP_PUT_BLOCK_BITMAP(bi,gi); ++ } + } + if(verbose) + print_fs(fs); +@@ -2628,24 +3402,22 @@ + char fname[MAX_FILENAME]; + char *p; + FILE *fh; ++ nod_info *ni; + if(!(nod = find_path(fs, EXT2_ROOT_INO, gopt[i]))) + error_msg_and_die("path %s not found in filesystem", gopt[i]); + while((p = strchr(gopt[i], '/'))) + *p = '_'; + SNPRINTF(fname, MAX_FILENAME-1, "%s.blk", gopt[i]); + fh = xfopen(fname, "wb"); +- fprintf(fh, "%d:", get_nod(fs, nod)->i_size); ++ fprintf(fh, "%d:", get_nod(fs, nod, &ni)->i_size); ++ put_nod(ni); + flist_blocks(fs, nod, fh); + fclose(fh); + } +- if(strcmp(fsout, "-")) +- { +- FILE * fh = xfopen(fsout, "wb"); +- dump_fs(fs, fh, bigendian); +- fclose(fh); +- } +- else +- dump_fs(fs, stdout, bigendian); ++ finish_fs(fs); ++ if(strcmp(fsout, "-") == 0) ++ copy_file(fs, stdout, fs->f, fs->sb->s_blocks_count); ++ + free_fs(fs); + return 0; + } +Index: genext2fs-1.4.1/cache.h +=================================================================== +--- /dev/null ++++ genext2fs-1.4.1/cache.h +@@ -0,0 +1,128 @@ ++#ifndef __CACHE_H__ ++#define __CACHE_H__ ++ ++#include "list.h" ++ ++#define CACHE_LISTS 256 ++ ++typedef struct ++{ ++ list_elem link; ++ list_elem lru_link; ++} cache_link; ++ ++typedef struct ++{ ++ /* LRU list holds unused items */ ++ unsigned int lru_entries; ++ list_elem lru_list; ++ unsigned int max_free_entries; ++ ++ unsigned int entries; ++ list_elem lists[CACHE_LISTS]; ++ unsigned int (*elem_val)(cache_link *elem); ++ void (*freed)(cache_link *elem); ++} listcache; ++ ++static inline void ++cache_add(listcache *c, cache_link *elem) ++{ ++ unsigned int hash = c->elem_val(elem) % CACHE_LISTS; ++ int delcount = c->lru_entries - c->max_free_entries; ++ ++ if (delcount > 0) { ++ /* Delete some unused items. */ ++ list_elem *lru, *next; ++ cache_link *l; ++ list_for_each_elem_safe(&c->lru_list, lru, next) { ++ l = container_of(lru, cache_link, lru_link); ++ list_del(lru); ++ list_del(&l->link); ++ c->entries--; ++ c->lru_entries--; ++ c->freed(l); ++ delcount--; ++ if (delcount <= 0) ++ break; ++ } ++ } ++ ++ c->entries++; ++ list_item_init(&elem->lru_link); /* Mark it not in the LRU list */ ++ list_add_after(&c->lists[hash], &elem->link); ++} ++ ++static inline void ++cache_item_set_unused(listcache *c, cache_link *elem) ++{ ++ list_add_before(&c->lru_list, &elem->lru_link); ++ c->lru_entries++; ++} ++ ++static inline cache_link * ++cache_find(listcache *c, unsigned int val) ++{ ++ unsigned int hash = val % CACHE_LISTS; ++ list_elem *elem; ++ ++ list_for_each_elem(&c->lists[hash], elem) { ++ cache_link *l = container_of(elem, cache_link, link); ++ if (c->elem_val(l) == val) { ++ if (!list_empty(&l->lru_link)) { ++ /* It's in the unused list, remove it. */ ++ list_del(&l->lru_link); ++ list_item_init(&l->lru_link); ++ c->lru_entries--; ++ } ++ return l; ++ } ++ } ++ return NULL; ++} ++ ++static inline int ++cache_flush(listcache *c) ++{ ++ list_elem *elem, *next; ++ cache_link *l; ++ int i; ++ ++ list_for_each_elem_safe(&c->lru_list, elem, next) { ++ l = container_of(elem, cache_link, lru_link); ++ list_del(elem); ++ list_del(&l->link); ++ c->entries--; ++ c->lru_entries--; ++ c->freed(l); ++ } ++ ++ for (i = 0; i < CACHE_LISTS; i++) { ++ list_for_each_elem_safe(&c->lists[i], elem, next) { ++ l = container_of(elem, cache_link, link); ++ list_del(&l->link); ++ c->entries--; ++ c->freed(l); ++ } ++ } ++ ++ return c->entries || c->lru_entries; ++} ++ ++static inline void ++cache_init(listcache *c, unsigned int max_free_entries, ++ unsigned int (*elem_val)(cache_link *elem), ++ void (*freed)(cache_link *elem)) ++{ ++ int i; ++ ++ c->entries = 0; ++ c->lru_entries = 0; ++ c->max_free_entries = max_free_entries; ++ list_init(&c->lru_list); ++ for (i = 0; i < CACHE_LISTS; i++) ++ list_init(&c->lists[i]); ++ c->elem_val = elem_val; ++ c->freed = freed; ++} ++ ++#endif /* __CACHE_H__ */ +Index: genext2fs-1.4.1/list.h +=================================================================== +--- /dev/null ++++ genext2fs-1.4.1/list.h +@@ -0,0 +1,78 @@ ++#ifndef __LIST_H__ ++#define __LIST_H__ ++ ++#if STDC_HEADERS ++# include ++# include ++#else ++# if HAVE_STDLIB_H ++# include ++# endif ++# if HAVE_STDDEF_H ++# include ++# endif ++#endif ++ ++#ifndef offsetof ++#define offsetof(st, m) \ ++ ((size_t) ( (char *)&((st *)(0))->m - (char *)0 )) ++#endif ++ ++#define container_of(ptr, type, member) ({ \ ++ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ ++ (type *)( (char *)__mptr - offsetof(type,member) );}) ++ ++typedef struct list_elem ++{ ++ struct list_elem *next; ++ struct list_elem *prev; ++} list_elem; ++ ++static inline void list_init(list_elem *list) ++{ ++ list->next = list; ++ list->prev = list; ++} ++ ++static inline void list_add_after(list_elem *pos, list_elem *elem) ++{ ++ elem->next = pos->next; ++ elem->prev = pos; ++ pos->next->prev = elem; ++ pos->next = elem; ++} ++ ++static inline void list_add_before(list_elem *pos, list_elem *elem) ++{ ++ elem->prev = pos->prev; ++ elem->next = pos; ++ pos->prev->next = elem; ++ pos->prev = elem; ++} ++ ++static inline void list_del(list_elem *elem) ++{ ++ elem->next->prev = elem->prev; ++ elem->prev->next = elem->next; ++} ++ ++static inline void list_item_init(list_elem *elem) ++{ ++ elem->next = elem; ++ elem->prev = elem; ++} ++ ++static inline int list_empty(list_elem *elem) ++{ ++ return elem->next == elem; ++} ++ ++#define list_for_each_elem(list, curr) \ ++ for ((curr) = (list)->next; (curr) != (list); (curr) = (curr)->next) ++ ++#define list_for_each_elem_safe(list, curr, next) \ ++ for ((curr) = (list)->next, (next) = (curr)->next; \ ++ (curr) != (list); \ ++ (curr) = (next), (next) = (curr)->next) ++ ++#endif /* __LIST_H__ */ diff --git a/package/genext2fs/genext2fs-update-genext2fs.c-to-rev-1.118.patch b/package/genext2fs/genext2fs-update-genext2fs.c-to-rev-1.118.patch deleted file mode 100644 index 755ee9dee2..0000000000 --- a/package/genext2fs/genext2fs-update-genext2fs.c-to-rev-1.118.patch +++ /dev/null @@ -1,2971 +0,0 @@ -[PATCH] update genext2fs.c to CVS rev 1.118 - -See http://genext2fs.cvs.sourceforge.net/viewvc/genext2fs/genext2fs/genext2fs.c?view=log -for details. - -Numerous bugfixes, large file and filesystem support, rev 1 filesystems, -volume id support, block size, .. - -Signed-off-by: Peter Korsgaard ---- - cache.h | 128 ++++ - genext2fs.c | 1870 ++++++++++++++++++++++++++++++++++++++++++------------------ - list.h | 78 ++ - 3 files changed, 1527 insertions(+), 549 deletions(-) - -Index: genext2fs-1.4.1/genext2fs.c -=================================================================== ---- genext2fs-1.4.1.orig/genext2fs.c -+++ genext2fs-1.4.1/genext2fs.c -@@ -53,6 +53,12 @@ - // along with -q, -P, -U - - -+/* -+ * Allow fseeko/off_t to be 64-bit offsets to allow filesystems and -+ * individual files >2GB. -+ */ -+#define _FILE_OFFSET_BITS 64 -+ - #include - #include - -@@ -107,10 +113,8 @@ - - #if HAVE_DIRENT_H - # include --# define NAMLEN(dirent) strlen((dirent)->d_name) - #else - # define dirent direct --# define NAMLEN(dirent) (dirent)->d_namlen - # if HAVE_SYS_NDIR_H - # include - # endif -@@ -144,6 +148,8 @@ - # include - #endif - -+#include "cache.h" -+ - struct stats { - unsigned long nblocks; - unsigned long ninodes; -@@ -151,13 +157,42 @@ - - // block size - --#define BLOCKSIZE 1024 -+static int blocksize = 1024; -+ -+#define SUPERBLOCK_OFFSET 1024 -+#define SUPERBLOCK_SIZE 1024 -+ -+#define BLOCKSIZE blocksize - #define BLOCKS_PER_GROUP 8192 - #define INODES_PER_GROUP 8192 - /* Percentage of blocks that are reserved.*/ - #define RESERVED_BLOCKS 5/100 - #define MAX_RESERVED_BLOCKS 25/100 - -+/* The default value for s_creator_os. */ -+#if defined(__linux__) && defined(EXT2_OS_LINUX) -+#define CREATOR_OS EXT2_OS_LINUX -+#define CREATOR_OS_NAME "linux" -+#else -+#if defined(__GNU__) && defined(EXT2_OS_HURD) -+#define CREATOR_OS EXT2_OS_HURD -+#define CREATOR_OS_NAME "hurd" -+#else -+#if defined(__FreeBSD__) && defined(EXT2_OS_FREEBSD) -+#define CREATOR_OS EXT2_OS_FREEBSD -+#define CREATOR_OS_NAME "freebsd" -+#else -+#if defined(LITES) && defined(EXT2_OS_LITES) -+#define CREATOR_OS EXT2_OS_LITES -+#define CREATOR_OS_NAME "lites" -+#else -+#define CREATOR_OS EXT2_OS_LINUX /* by default */ -+#define CREATOR_OS_NAME "linux" -+#endif /* defined(LITES) && defined(EXT2_OS_LITES) */ -+#endif /* defined(__FreeBSD__) && defined(EXT2_OS_FREEBSD) */ -+#endif /* defined(__GNU__) && defined(EXT2_OS_HURD) */ -+#endif /* defined(__linux__) && defined(EXT2_OS_LINUX) */ -+ - - // inode block size (why is it != BLOCKSIZE ?!?) - /* The field i_blocks in the ext2 inode stores the number of data blocks -@@ -190,6 +225,14 @@ - #define EXT2_TIND_BLOCK 14 // triple indirect block - #define EXT2_INIT_BLOCK 0xFFFFFFFF // just initialized (not really a block address) - -+// codes for operating systems -+ -+#define EXT2_OS_LINUX 0 -+#define EXT2_OS_HURD 1 -+#define EXT2_OS_MASIX 2 -+#define EXT2_OS_FREEBSD 3 -+#define EXT2_OS_LITES 4 -+ - // end of a block walk - - #define WALK_END 0xFFFFFFFE -@@ -227,44 +270,46 @@ - #define FM_IWOTH 0000002 // write - #define FM_IXOTH 0000001 // execute - --// options -- --#define OP_HOLES 0x01 // make files with holes -- - /* Defines for accessing group details */ - - // Number of groups in the filesystem - #define GRP_NBGROUPS(fs) \ -- (((fs)->sb.s_blocks_count - fs->sb.s_first_data_block + \ -- (fs)->sb.s_blocks_per_group - 1) / (fs)->sb.s_blocks_per_group) -+ (((fs)->sb->s_blocks_count - fs->sb->s_first_data_block + \ -+ (fs)->sb->s_blocks_per_group - 1) / (fs)->sb->s_blocks_per_group) - - // Get group block bitmap (bbm) given the group number --#define GRP_GET_GROUP_BBM(fs,grp) ( get_blk((fs),(fs)->gd[(grp)].bg_block_bitmap) ) -+#define GRP_GET_GROUP_BBM(fs,grp,bi) (get_blk((fs),(grp)->bg_block_bitmap,(bi))) -+#define GRP_PUT_GROUP_BBM(bi) ( put_blk((bi)) ) - - // Get group inode bitmap (ibm) given the group number --#define GRP_GET_GROUP_IBM(fs,grp) ( get_blk((fs),(fs)->gd[(grp)].bg_inode_bitmap) ) -- -+#define GRP_GET_GROUP_IBM(fs,grp,bi) (get_blk((fs), (grp)->bg_inode_bitmap,(bi))) -+#define GRP_PUT_GROUP_IBM(bi) ( put_blk((bi)) ) -+ - // Given an inode number find the group it belongs to --#define GRP_GROUP_OF_INODE(fs,nod) ( ((nod)-1) / (fs)->sb.s_inodes_per_group) -+#define GRP_GROUP_OF_INODE(fs,nod) ( ((nod)-1) / (fs)->sb->s_inodes_per_group) - - //Given an inode number get the inode bitmap that covers it --#define GRP_GET_INODE_BITMAP(fs,nod) \ -- ( GRP_GET_GROUP_IBM((fs),GRP_GROUP_OF_INODE((fs),(nod))) ) -+#define GRP_GET_INODE_BITMAP(fs,nod,bi,gi) \ -+ ( GRP_GET_GROUP_IBM((fs),get_gd(fs,GRP_GROUP_OF_INODE((fs),(nod)),gi),bi) ) -+#define GRP_PUT_INODE_BITMAP(bi,gi) \ -+ ( GRP_PUT_GROUP_IBM((bi)),put_gd((gi)) ) - - //Given an inode number find its offset within the inode bitmap that covers it - #define GRP_IBM_OFFSET(fs,nod) \ -- ( (nod) - GRP_GROUP_OF_INODE((fs),(nod))*(fs)->sb.s_inodes_per_group ) -+ ( (nod) - GRP_GROUP_OF_INODE((fs),(nod))*(fs)->sb->s_inodes_per_group ) - - // Given a block number find the group it belongs to --#define GRP_GROUP_OF_BLOCK(fs,blk) ( ((blk)-1) / (fs)->sb.s_blocks_per_group) -+#define GRP_GROUP_OF_BLOCK(fs,blk) ( ((blk)-1) / (fs)->sb->s_blocks_per_group) - --//Given a block number get the block bitmap that covers it --#define GRP_GET_BLOCK_BITMAP(fs,blk) \ -- ( GRP_GET_GROUP_BBM((fs),GRP_GROUP_OF_BLOCK((fs),(blk))) ) -+//Given a block number get/put the block bitmap that covers it -+#define GRP_GET_BLOCK_BITMAP(fs,blk,bi,gi) \ -+ ( GRP_GET_GROUP_BBM((fs),get_gd(fs,GRP_GROUP_OF_BLOCK((fs),(blk)),(gi)),(bi)) ) -+#define GRP_PUT_BLOCK_BITMAP(bi,gi) \ -+ ( GRP_PUT_GROUP_BBM((bi)),put_gd((gi)) ) - - //Given a block number find its offset within the block bitmap that covers it - #define GRP_BBM_OFFSET(fs,blk) \ -- ( (blk) - GRP_GROUP_OF_BLOCK((fs),(blk))*(fs)->sb.s_blocks_per_group ) -+ ( (blk) - GRP_GROUP_OF_BLOCK((fs),(blk))*(fs)->sb->s_blocks_per_group ) - - - // used types -@@ -286,7 +331,9 @@ - // older solaris. Note that this is still not very portable, in that - // the return value cannot be trusted. - --#if SCANF_CAN_MALLOC -+#if 0 // SCANF_CAN_MALLOC -+// C99 define "a" for floating point, so you can have runtime surprise -+// according the library versions - # define SCANF_PREFIX "a" - # define SCANF_STRING(s) (&s) - #else -@@ -430,6 +477,17 @@ - ((val<<8)&0xFF0000) | (val<<24)); - } - -+static inline int -+is_blk_empty(uint8 *b) -+{ -+ uint32 i; -+ uint32 *v = (uint32 *) b; -+ -+ for(i = 0; i < BLOCKSIZE / 4; i++) -+ if (*v++) -+ return 0; -+ return 1; -+} - - // on-disk structures - // this trick makes me declare things only once -@@ -460,7 +518,22 @@ - udecl32(s_creator_os) /* Indicator of which OS created the filesystem */ \ - udecl32(s_rev_level) /* The revision level of the filesystem */ \ - udecl16(s_def_resuid) /* The default uid for reserved blocks */ \ -- udecl16(s_def_resgid) /* The default gid for reserved blocks */ -+ udecl16(s_def_resgid) /* The default gid for reserved blocks */ \ -+ /* rev 1 version fields start here */ \ -+ udecl32(s_first_ino) /* First non-reserved inode */ \ -+ udecl16(s_inode_size) /* size of inode structure */ \ -+ udecl16(s_block_group_nr) /* block group # of this superblock */ \ -+ udecl32(s_feature_compat) /* compatible feature set */ \ -+ udecl32(s_feature_incompat) /* incompatible feature set */ \ -+ udecl32(s_feature_ro_compat) /* readonly-compatible feature set */ \ -+ utdecl8(s_uuid,16) /* 128-bit uuid for volume */ \ -+ utdecl8(s_volume_name,16) /* volume name */ \ -+ utdecl8(s_last_mounted,64) /* directory where last mounted */ \ -+ udecl32(s_algorithm_usage_bitmap) /* For compression */ -+ -+#define EXT2_GOOD_OLD_FIRST_INO 11 -+#define EXT2_GOOD_OLD_INODE_SIZE 128 -+#define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002 - - #define groupdescriptor_decl \ - udecl32(bg_block_bitmap) /* Block number of the block bitmap */ \ -@@ -500,6 +573,7 @@ - - #define decl8(x) int8 x; - #define udecl8(x) uint8 x; -+#define utdecl8(x,n) uint8 x[n]; - #define decl16(x) int16 x; - #define udecl16(x) uint16 x; - #define decl32(x) int32 x; -@@ -509,7 +583,7 @@ - typedef struct - { - superblock_decl -- uint32 s_reserved[235]; // Reserved -+ uint32 s_reserved[205]; // Reserved - } superblock; - - typedef struct -@@ -527,10 +601,9 @@ - typedef struct - { - directory_decl -- char d_name[0]; - } directory; - --typedef uint8 block[BLOCKSIZE]; -+typedef uint8 *block; - - /* blockwalker fields: - The blockwalker is used to access all the blocks of a file (including -@@ -567,23 +640,41 @@ - uint32 bptind; - } blockwalker; - -+#define HDLINK_CNT 16 -+struct hdlink_s -+{ -+ uint32 src_inode; -+ uint32 dst_nod; -+}; -+ -+struct hdlinks_s -+{ -+ int32 count; -+ struct hdlink_s *hdl; -+}; - - /* Filesystem structure that support groups */ --#if BLOCKSIZE == 1024 - typedef struct - { -- block zero; // The famous block 0 -- superblock sb; // The superblock -- groupdescriptor gd[0]; // The group descriptors -+ FILE *f; -+ superblock *sb; -+ int swapit; -+ int32 hdlink_cnt; -+ struct hdlinks_s hdlinks; -+ -+ int holes; -+ -+ listcache blks; -+ listcache gds; -+ listcache inodes; -+ listcache blkmaps; - } filesystem; --#else --#error UNHANDLED BLOCKSIZE --#endif - - // now the endianness swap - - #undef decl8 - #undef udecl8 -+#undef utdecl8 - #undef decl16 - #undef udecl16 - #undef decl32 -@@ -592,28 +683,13 @@ - - #define decl8(x) - #define udecl8(x) -+#define utdecl8(x,n) - #define decl16(x) this->x = swab16(this->x); - #define udecl16(x) this->x = swab16(this->x); - #define decl32(x) this->x = swab32(this->x); - #define udecl32(x) this->x = swab32(this->x); - #define utdecl32(x,n) { int i; for(i=0; ix[i] = swab32(this->x[i]); } - --#define HDLINK_CNT 16 --static int32 hdlink_cnt = HDLINK_CNT; --struct hdlink_s --{ -- uint32 src_inode; -- uint32 dst_nod; --}; -- --struct hdlinks_s --{ -- int32 count; -- struct hdlink_s *hdl; --}; -- --static struct hdlinks_s hdlinks; -- - static void - swap_sb(superblock *sb) - { -@@ -633,9 +709,24 @@ - static void - swap_nod(inode *nod) - { -+ uint32 nblk; -+ - #define this nod - inode_decl - #undef this -+ -+ // block and character inodes store the major and minor in the -+ // i_block, so we need to unswap to get those. Also, if it's -+ // zero iblocks, put the data back like it belongs. -+ nblk = nod->i_blocks / INOBLK; -+ if ((nod->i_size && !nblk) -+ || ((nod->i_mode & FM_IFBLK) == FM_IFBLK) -+ || ((nod->i_mode & FM_IFCHR) == FM_IFCHR)) -+ { -+ int i; -+ for(i = 0; i <= EXT2_TIND_BLOCK; i++) -+ nod->i_block[i] = swab32(nod->i_block[i]); -+ } - } - - static void -@@ -657,6 +748,7 @@ - - #undef decl8 - #undef udecl8 -+#undef utdecl8 - #undef decl16 - #undef udecl16 - #undef decl32 -@@ -770,15 +862,15 @@ - } - - int --is_hardlink(ino_t inode) -+is_hardlink(filesystem *fs, ino_t inode) - { - int i; - -- for(i = 0; i < hdlinks.count; i++) { -- if(hdlinks.hdl[i].src_inode == inode) -+ for(i = 0; i < fs->hdlinks.count; i++) { -+ if(fs->hdlinks.hdl[i].src_inode == inode) - return i; - } -- return -1; -+ return -1; - } - - // printf helper macro -@@ -789,6 +881,8 @@ - get_workblk(void) - { - unsigned char* b=calloc(1,BLOCKSIZE); -+ if (!b) -+ error_msg_and_die("get_workblk() failed, out of memory"); - return b; - } - static inline void -@@ -811,24 +905,464 @@ - return b[(item-1) / 8] & (1 << ((item-1) % 8)); - } - --// return a given block from a filesystem -+// Used by get_blk/put_blk to hold information about a block owned -+// by the user. -+typedef struct -+{ -+ cache_link link; -+ -+ filesystem *fs; -+ uint32 blk; -+ uint8 *b; -+ uint32 usecount; -+} blk_info; -+ -+#define MAX_FREE_CACHE_BLOCKS 100 -+ -+static uint32 -+blk_elem_val(cache_link *elem) -+{ -+ blk_info *bi = container_of(elem, blk_info, link); -+ return bi->blk; -+} -+ -+static void -+blk_freed(cache_link *elem) -+{ -+ blk_info *bi = container_of(elem, blk_info, link); -+ -+ if (fseeko(bi->fs->f, ((off_t) bi->blk) * BLOCKSIZE, SEEK_SET)) -+ perror_msg_and_die("fseek"); -+ if (fwrite(bi->b, BLOCKSIZE, 1, bi->fs->f) != 1) -+ perror_msg_and_die("get_blk: write"); -+ free(bi->b); -+ free(bi); -+} -+ -+// Return a given block from a filesystem. Make sure to call -+// put_blk when you are done with it. - static inline uint8 * --get_blk(filesystem *fs, uint32 blk) -+get_blk(filesystem *fs, uint32 blk, blk_info **rbi) - { -- return (uint8*)fs + blk*BLOCKSIZE; -+ cache_link *curr; -+ blk_info *bi; -+ -+ if (blk >= fs->sb->s_blocks_count) -+ error_msg_and_die("Internal error, block out of range"); -+ -+ curr = cache_find(&fs->blks, blk); -+ if (curr) { -+ bi = container_of(curr, blk_info, link); -+ bi->usecount++; -+ goto out; -+ } -+ -+ bi = malloc(sizeof(*bi)); -+ if (!bi) -+ error_msg_and_die("get_blk: out of memory"); -+ bi->fs = fs; -+ bi->blk = blk; -+ bi->usecount = 1; -+ bi->b = malloc(BLOCKSIZE); -+ if (!bi->b) -+ error_msg_and_die("get_blk: out of memory"); -+ cache_add(&fs->blks, &bi->link); -+ if (fseeko(fs->f, ((off_t) blk) * BLOCKSIZE, SEEK_SET)) -+ perror_msg_and_die("fseek"); -+ if (fread(bi->b, BLOCKSIZE, 1, fs->f) != 1) { -+ if (ferror(fs->f)) -+ perror_msg_and_die("fread"); -+ memset(bi->b, 0, BLOCKSIZE); -+ } -+ -+out: -+ *rbi = bi; -+ return bi->b; - } - - // return a given inode from a filesystem --static inline inode * --get_nod(filesystem *fs, uint32 nod) -+static inline void -+put_blk(blk_info *bi) -+{ -+ if (bi->usecount == 0) -+ error_msg_and_die("Internal error: put_blk usecount zero"); -+ bi->usecount--; -+ if (bi->usecount == 0) -+ /* Free happens in the cache code */ -+ cache_item_set_unused(&bi->fs->blks, &bi->link); -+} -+ -+typedef struct - { -- int grp,offset; -+ cache_link link; -+ -+ filesystem *fs; -+ int gds; -+ blk_info *bi; -+ groupdescriptor *gd; -+ uint32 usecount; -+} gd_info; -+ -+#define MAX_FREE_CACHE_GDS 100 -+ -+static uint32 -+gd_elem_val(cache_link *elem) -+{ -+ gd_info *gi = container_of(elem, gd_info, link); -+ return gi->gds; -+} -+ -+static void -+gd_freed(cache_link *elem) -+{ -+ gd_info *gi = container_of(elem, gd_info, link); -+ -+ if (gi->fs->swapit) -+ swap_gd(gi->gd); -+ put_blk(gi->bi); -+ free(gi); -+} -+ -+#define GDS_START ((SUPERBLOCK_OFFSET + SUPERBLOCK_SIZE + BLOCKSIZE - 1) / BLOCKSIZE) -+#define GDS_PER_BLOCK (BLOCKSIZE / sizeof(groupdescriptor)) -+// the group descriptors are aligned on the block size -+static inline groupdescriptor * -+get_gd(filesystem *fs, uint32 no, gd_info **rgi) -+{ -+ uint32 gdblk; -+ uint32 offset; -+ gd_info *gi; -+ cache_link *curr; -+ -+ curr = cache_find(&fs->gds, no); -+ if (curr) { -+ gi = container_of(curr, gd_info, link); -+ gi->usecount++; -+ goto out; -+ } -+ -+ gi = malloc(sizeof(*gi)); -+ if (!gi) -+ error_msg_and_die("get_gd: out of memory"); -+ gi->fs = fs; -+ gi->gds = no; -+ gi->usecount = 1; -+ gdblk = GDS_START + (no / GDS_PER_BLOCK); -+ offset = no % GDS_PER_BLOCK; -+ gi->gd = ((groupdescriptor *) get_blk(fs, gdblk, &gi->bi)) + offset; -+ cache_add(&fs->gds, &gi->link); -+ if (fs->swapit) -+ swap_gd(gi->gd); -+ out: -+ *rgi = gi; -+ -+ return gi->gd; -+} -+ -+static inline void -+put_gd(gd_info *gi) -+{ -+ if (gi->usecount == 0) -+ error_msg_and_die("Internal error: put_gd usecount zero"); -+ -+ gi->usecount--; -+ if (gi->usecount == 0) -+ /* Free happens in the cache code */ -+ cache_item_set_unused(&gi->fs->gds, &gi->link); -+} -+ -+// Used by get_blkmap/put_blkmap to hold information about an block map -+// owned by the user. -+typedef struct -+{ -+ cache_link link; -+ -+ filesystem *fs; -+ uint32 blk; -+ uint8 *b; -+ blk_info *bi; -+ uint32 usecount; -+} blkmap_info; -+ -+#define MAX_FREE_CACHE_BLOCKMAPS 100 -+ -+static uint32 -+blkmap_elem_val(cache_link *elem) -+{ -+ blkmap_info *bmi = container_of(elem, blkmap_info, link); -+ return bmi->blk; -+} -+ -+static void -+blkmap_freed(cache_link *elem) -+{ -+ blkmap_info *bmi = container_of(elem, blkmap_info, link); -+ -+ if (bmi->fs->swapit) -+ swap_block(bmi->b); -+ put_blk(bmi->bi); -+ free(bmi); -+} -+ -+// Return a given block map from a filesystem. Make sure to call -+// put_blkmap when you are done with it. -+static inline uint32 * -+get_blkmap(filesystem *fs, uint32 blk, blkmap_info **rbmi) -+{ -+ blkmap_info *bmi; -+ cache_link *curr; -+ -+ curr = cache_find(&fs->blkmaps, blk); -+ if (curr) { -+ bmi = container_of(curr, blkmap_info, link); -+ bmi->usecount++; -+ goto out; -+ } -+ -+ bmi = malloc(sizeof(*bmi)); -+ if (!bmi) -+ error_msg_and_die("get_blkmap: out of memory"); -+ bmi->fs = fs; -+ bmi->blk = blk; -+ bmi->b = get_blk(fs, blk, &bmi->bi); -+ bmi->usecount = 1; -+ cache_add(&fs->blkmaps, &bmi->link); -+ -+ if (fs->swapit) -+ swap_block(bmi->b); -+ out: -+ *rbmi = bmi; -+ return (uint32 *) bmi->b; -+} -+ -+static inline void -+put_blkmap(blkmap_info *bmi) -+{ -+ if (bmi->usecount == 0) -+ error_msg_and_die("Internal error: put_blkmap usecount zero"); -+ -+ bmi->usecount--; -+ if (bmi->usecount == 0) -+ /* Free happens in the cache code */ -+ cache_item_set_unused(&bmi->fs->blkmaps, &bmi->link); -+} -+ -+// Used by get_nod/put_nod to hold information about an inode owned -+// by the user. -+typedef struct -+{ -+ cache_link link; -+ -+ filesystem *fs; -+ uint32 nod; -+ uint8 *b; -+ blk_info *bi; - inode *itab; -+ uint32 usecount; -+} nod_info; -+ -+#define MAX_FREE_CACHE_INODES 100 -+ -+static uint32 -+inode_elem_val(cache_link *elem) -+{ -+ nod_info *ni = container_of(elem, nod_info, link); -+ return ni->nod; -+} -+ -+static void -+inode_freed(cache_link *elem) -+{ -+ nod_info *ni = container_of(elem, nod_info, link); -+ -+ if (ni->fs->swapit) -+ swap_nod(ni->itab); -+ put_blk(ni->bi); -+ free(ni); -+} -+ -+#define INODES_PER_BLOCK (BLOCKSIZE / sizeof(inode)) - -- offset = GRP_IBM_OFFSET(fs,nod); -+// return a given inode from a filesystem -+static inline inode * -+get_nod(filesystem *fs, uint32 nod, nod_info **rni) -+{ -+ uint32 grp, boffset, offset; -+ cache_link *curr; -+ groupdescriptor *gd; -+ gd_info *gi; -+ nod_info *ni; -+ -+ curr = cache_find(&fs->inodes, nod); -+ if (curr) { -+ ni = container_of(curr, nod_info, link); -+ ni->usecount++; -+ goto out; -+ } -+ -+ ni = malloc(sizeof(*ni)); -+ if (!ni) -+ error_msg_and_die("get_nod: out of memory"); -+ ni->fs = fs; -+ ni->nod = nod; -+ ni->usecount = 1; -+ cache_add(&fs->inodes, &ni->link); -+ -+ offset = GRP_IBM_OFFSET(fs,nod) - 1; -+ boffset = offset / INODES_PER_BLOCK; -+ offset %= INODES_PER_BLOCK; - grp = GRP_GROUP_OF_INODE(fs,nod); -- itab = (inode *)get_blk(fs, fs->gd[grp].bg_inode_table); -- return itab+offset-1; -+ gd = get_gd(fs, grp, &gi); -+ ni->b = get_blk(fs, gd->bg_inode_table + boffset, &ni->bi); -+ ni->itab = ((inode *) ni->b) + offset; -+ if (fs->swapit) -+ swap_nod(ni->itab); -+ put_gd(gi); -+ out: -+ *rni = ni; -+ return ni->itab; -+} -+ -+static inline void -+put_nod(nod_info *ni) -+{ -+ if (ni->usecount == 0) -+ error_msg_and_die("Internal error: put_nod usecount zero"); -+ -+ ni->usecount--; -+ if (ni->usecount == 0) -+ /* Free happens in the cache code */ -+ cache_item_set_unused(&ni->fs->inodes, &ni->link); -+} -+ -+// Used to hold state information while walking a directory inode. -+typedef struct -+{ -+ directory d; -+ filesystem *fs; -+ uint32 nod; -+ directory *last_d; -+ uint8 *b; -+ blk_info *bi; -+} dirwalker; -+ -+// Start a directory walk on the given inode. You must pass in a -+// dirwalker structure, then use that dirwalker for future operations. -+// Call put_dir when you are done walking the directory. -+static inline directory * -+get_dir(filesystem *fs, uint32 nod, dirwalker *dw) -+{ -+ dw->fs = fs; -+ dw->b = get_blk(fs, nod, &dw->bi); -+ dw->nod = nod; -+ dw->last_d = (directory *) dw->b; -+ -+ memcpy(&dw->d, dw->last_d, sizeof(directory)); -+ if (fs->swapit) -+ swap_dir(&dw->d); -+ return &dw->d; -+} -+ -+// Move to the next directory. -+static inline directory * -+next_dir(dirwalker *dw) -+{ -+ directory *next_d = (directory *)((int8*)dw->last_d + dw->d.d_rec_len); -+ -+ if (dw->fs->swapit) -+ swap_dir(&dw->d); -+ memcpy(dw->last_d, &dw->d, sizeof(directory)); -+ -+ if (((int8 *) next_d) >= ((int8 *) dw->b + BLOCKSIZE)) -+ return NULL; -+ -+ dw->last_d = next_d; -+ memcpy(&dw->d, next_d, sizeof(directory)); -+ if (dw->fs->swapit) -+ swap_dir(&dw->d); -+ return &dw->d; -+} -+ -+// Call then when you are done with the directory walk. -+static inline void -+put_dir(dirwalker *dw) -+{ -+ if (dw->fs->swapit) -+ swap_dir(&dw->d); -+ memcpy(dw->last_d, &dw->d, sizeof(directory)); -+ -+ if (dw->nod == 0) -+ free_workblk(dw->b); -+ else -+ put_blk(dw->bi); -+} -+ -+// Create a new directory block with the given inode as it's destination -+// and append it to the current dirwalker. -+static directory * -+new_dir(filesystem *fs, uint32 dnod, const char *name, int nlen, dirwalker *dw) -+{ -+ directory *d; -+ -+ dw->fs = fs; -+ dw->b = get_workblk(); -+ dw->nod = 0; -+ dw->last_d = (directory *) dw->b; -+ d = &dw->d; -+ d->d_inode = dnod; -+ d->d_rec_len = BLOCKSIZE; -+ d->d_name_len = nlen; -+ strncpy(((char *) dw->last_d) + sizeof(directory), name, nlen); -+ return d; -+} -+ -+// Shrink the current directory entry, make a new one with the free -+// space, and return the new directory entry (making it current). -+static inline directory * -+shrink_dir(dirwalker *dw, uint32 nod, const char *name, int nlen) -+{ -+ int reclen, preclen; -+ directory *d = &dw->d; -+ -+ reclen = d->d_rec_len; -+ d->d_rec_len = sizeof(directory) + rndup(d->d_name_len, 4); -+ preclen = d->d_rec_len; -+ reclen -= preclen; -+ if (dw->fs->swapit) -+ swap_dir(&dw->d); -+ memcpy(dw->last_d, &dw->d, sizeof(directory)); -+ -+ dw->last_d = (directory *) (((int8 *) dw->last_d) + preclen); -+ d->d_rec_len = reclen; -+ d->d_inode = nod; -+ d->d_name_len = nlen; -+ strncpy(((char *) dw->last_d) + sizeof(directory), name, nlen); -+ -+ return d; -+} -+ -+// Return the current block the directory is walking -+static inline uint8 * -+dir_data(dirwalker *dw) -+{ -+ return dw->b; -+} -+ -+// Return the pointer to the name for the current directory -+static inline char * -+dir_name(dirwalker *dw) -+{ -+ return ((char *) dw->last_d) + sizeof(directory); -+} -+ -+// Set the name for the current directory. Note that this doesn't -+// verify that there is space for the directory name, you must do -+// that yourself. -+static void -+dir_set_name(dirwalker *dw, const char *name, int nlen) -+{ -+ dw->d.d_name_len = nlen; -+ strncpy(((char *) dw->last_d) + sizeof(directory), name, nlen); - } - - // allocate a given block/inode in the bitmap -@@ -870,21 +1404,34 @@ - { - uint32 bk=0; - uint32 grp,nbgroups; -+ blk_info *bi; -+ groupdescriptor *gd; -+ gd_info *gi; - - grp = GRP_GROUP_OF_INODE(fs,nod); - nbgroups = GRP_NBGROUPS(fs); -- if(!(bk = allocate(get_blk(fs,fs->gd[grp].bg_block_bitmap), 0))) { -- for(grp=0;grpgd[grp].bg_block_bitmap),0); -+ gd = get_gd(fs, grp, &gi); -+ bk = allocate(GRP_GET_GROUP_BBM(fs, gd, &bi), 0); -+ GRP_PUT_GROUP_BBM(bi); -+ put_gd(gi); -+ if (!bk) { -+ for (grp=0; grpgd[grp].bg_free_blocks_count--)) -+ gd = get_gd(fs, grp, &gi); -+ if(!(gd->bg_free_blocks_count--)) - error_msg_and_die("group descr %d. free blocks count == 0 (corrupted fs?)",grp); -- if(!(fs->sb.s_free_blocks_count--)) -+ put_gd(gi); -+ if(!(fs->sb->s_free_blocks_count--)) - error_msg_and_die("superblock free blocks count == 0 (corrupted fs?)"); -- return fs->sb.s_blocks_per_group*grp + bk; -+ return fs->sb->s_first_data_block + fs->sb->s_blocks_per_group*grp + (bk-1); - } - - // free a block -@@ -892,12 +1439,18 @@ - free_blk(filesystem *fs, uint32 bk) - { - uint32 grp; -- -- grp = bk / fs->sb.s_blocks_per_group; -- bk %= fs->sb.s_blocks_per_group; -- deallocate(get_blk(fs,fs->gd[grp].bg_block_bitmap), bk); -- fs->gd[grp].bg_free_blocks_count++; -- fs->sb.s_free_blocks_count++; -+ blk_info *bi; -+ gd_info *gi; -+ groupdescriptor *gd; -+ -+ grp = bk / fs->sb->s_blocks_per_group; -+ bk %= fs->sb->s_blocks_per_group; -+ gd = get_gd(fs, grp, &gi); -+ deallocate(GRP_GET_GROUP_BBM(fs, gd, &bi), bk); -+ GRP_PUT_GROUP_BBM(bi); -+ gd->bg_free_blocks_count++; -+ put_gd(gi); -+ fs->sb->s_free_blocks_count++; - } - - // allocate an inode -@@ -906,6 +1459,9 @@ - { - uint32 nod,best_group=0; - uint32 grp,nbgroups,avefreei; -+ blk_info *bi; -+ gd_info *gi, *bestgi; -+ groupdescriptor *gd, *bestgd; - - nbgroups = GRP_NBGROUPS(fs); - -@@ -914,22 +1470,32 @@ - /* find the one with the most free blocks and allocate node there */ - /* Idea from find_group_dir in fs/ext2/ialloc.c in 2.4.19 kernel */ - /* We do it for all inodes. */ -- avefreei = fs->sb.s_free_inodes_count / nbgroups; -+ avefreei = fs->sb->s_free_inodes_count / nbgroups; -+ bestgd = get_gd(fs, best_group, &bestgi); - for(grp=0; grpgd[grp].bg_free_inodes_count < avefreei || -- fs->gd[grp].bg_free_inodes_count == 0) -+ gd = get_gd(fs, grp, &gi); -+ if (gd->bg_free_inodes_count < avefreei || -+ gd->bg_free_inodes_count == 0) { -+ put_gd(gi); - continue; -- if (!best_group || -- fs->gd[grp].bg_free_blocks_count > fs->gd[best_group].bg_free_blocks_count) -+ } -+ if (!best_group || gd->bg_free_blocks_count > bestgd->bg_free_blocks_count) { -+ put_gd(bestgi); - best_group = grp; -+ bestgd = gd; -+ bestgi = gi; -+ } else -+ put_gd(gi); - } -- if (!(nod = allocate(get_blk(fs,fs->gd[best_group].bg_inode_bitmap),0))) -+ if (!(nod = allocate(GRP_GET_GROUP_IBM(fs, bestgd, &bi), 0))) - error_msg_and_die("couldn't allocate an inode (no free inode)"); -- if(!(fs->gd[best_group].bg_free_inodes_count--)) -+ GRP_PUT_GROUP_IBM(bi); -+ if(!(bestgd->bg_free_inodes_count--)) - error_msg_and_die("group descr. free blocks count == 0 (corrupted fs?)"); -- if(!(fs->sb.s_free_inodes_count--)) -+ put_gd(bestgi); -+ if(!(fs->sb->s_free_inodes_count--)) - error_msg_and_die("superblock free blocks count == 0 (corrupted fs?)"); -- return fs->sb.s_inodes_per_group*best_group+nod; -+ return fs->sb->s_inodes_per_group*best_group+nod; - } - - // print a bitmap allocation -@@ -962,30 +1528,40 @@ - // used after being freed, so once you start - // freeing blocks don't stop until the end of - // the file. moreover, i_blocks isn't updated. --// in fact, don't do that, just use extend_blk - // if hole!=0, create a hole in the file - static uint32 - walk_bw(filesystem *fs, uint32 nod, blockwalker *bw, int32 *create, uint32 hole) - { - uint32 *bkref = 0; -+ uint32 bk = 0; -+ blkmap_info *bmi1 = NULL, *bmi2 = NULL, *bmi3 = NULL; - uint32 *b; - int extend = 0, reduce = 0; -+ inode *inod; -+ nod_info *ni; -+ uint32 *iblk; -+ - if(create && (*create) < 0) - reduce = 1; -- if(bw->bnum >= get_nod(fs, nod)->i_blocks / INOBLK) -+ inod = get_nod(fs, nod, &ni); -+ if(bw->bnum >= inod->i_blocks / INOBLK) - { - if(create && (*create) > 0) - { - (*create)--; - extend = 1; - } -- else -+ else -+ { -+ put_nod(ni); - return WALK_END; -+ } - } -+ iblk = inod->i_block; - // first direct block - if(bw->bpdir == EXT2_INIT_BLOCK) - { -- bkref = &get_nod(fs, nod)->i_block[bw->bpdir = 0]; -+ bkref = &iblk[bw->bpdir = 0]; - if(extend) // allocate first block - *bkref = hole ? 0 : alloc_blk(fs,nod); - if(reduce) // free first block -@@ -994,7 +1570,7 @@ - // direct block - else if(bw->bpdir < EXT2_NDIR_BLOCKS) - { -- bkref = &get_nod(fs, nod)->i_block[++bw->bpdir]; -+ bkref = &iblk[++bw->bpdir]; - if(extend) // allocate block - *bkref = hole ? 0 : alloc_blk(fs,nod); - if(reduce) // free block -@@ -1007,10 +1583,10 @@ - bw->bpdir = EXT2_IND_BLOCK; - bw->bpind = 0; - if(extend) // allocate indirect block -- get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs,nod); -+ iblk[bw->bpdir] = alloc_blk(fs,nod); - if(reduce) // free indirect block -- free_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -+ free_blk(fs, iblk[bw->bpdir]); -+ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); - bkref = &b[bw->bpind]; - if(extend) // allocate first block - *bkref = hole ? 0 : alloc_blk(fs,nod); -@@ -1021,7 +1597,7 @@ - else if((bw->bpdir == EXT2_IND_BLOCK) && (bw->bpind < BLOCKSIZE/4 - 1)) - { - bw->bpind++; -- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -+ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); - bkref = &b[bw->bpind]; - if(extend) // allocate block - *bkref = hole ? 0 : alloc_blk(fs,nod); -@@ -1036,15 +1612,15 @@ - bw->bpind = 0; - bw->bpdind = 0; - if(extend) // allocate double indirect block -- get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs,nod); -+ iblk[bw->bpdir] = alloc_blk(fs,nod); - if(reduce) // free double indirect block -- free_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -+ free_blk(fs, iblk[bw->bpdir]); -+ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); - if(extend) // allocate first indirect block - b[bw->bpind] = alloc_blk(fs,nod); - if(reduce) // free firstindirect block - free_blk(fs, b[bw->bpind]); -- b = (uint32*)get_blk(fs, b[bw->bpind]); -+ b = get_blkmap(fs, b[bw->bpind], &bmi2); - bkref = &b[bw->bpdind]; - if(extend) // allocate first block - *bkref = hole ? 0 : alloc_blk(fs,nod); -@@ -1055,8 +1631,8 @@ - else if((bw->bpdir == EXT2_DIND_BLOCK) && (bw->bpdind < BLOCKSIZE/4 - 1)) - { - bw->bpdind++; -- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -- b = (uint32*)get_blk(fs, b[bw->bpind]); -+ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); -+ b = get_blkmap(fs, b[bw->bpind], &bmi2); - bkref = &b[bw->bpdind]; - if(extend) // allocate block - *bkref = hole ? 0 : alloc_blk(fs,nod); -@@ -1069,12 +1645,12 @@ - bw->bnum++; - bw->bpdind = 0; - bw->bpind++; -- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -+ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); - if(extend) // allocate indirect block - b[bw->bpind] = alloc_blk(fs,nod); - if(reduce) // free indirect block - free_blk(fs, b[bw->bpind]); -- b = (uint32*)get_blk(fs, b[bw->bpind]); -+ b = get_blkmap(fs, b[bw->bpind], &bmi2); - bkref = &b[bw->bpdind]; - if(extend) // allocate first block - *bkref = hole ? 0 : alloc_blk(fs,nod); -@@ -1094,20 +1670,20 @@ - bw->bpdind = 0; - bw->bptind = 0; - if(extend) // allocate triple indirect block -- get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs,nod); -+ iblk[bw->bpdir] = alloc_blk(fs,nod); - if(reduce) // free triple indirect block -- free_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -+ free_blk(fs, iblk[bw->bpdir]); -+ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); - if(extend) // allocate first double indirect block - b[bw->bpind] = alloc_blk(fs,nod); - if(reduce) // free first double indirect block - free_blk(fs, b[bw->bpind]); -- b = (uint32*)get_blk(fs, b[bw->bpind]); -+ b = get_blkmap(fs, b[bw->bpind], &bmi2); - if(extend) // allocate first indirect block - b[bw->bpdind] = alloc_blk(fs,nod); - if(reduce) // free first indirect block - free_blk(fs, b[bw->bpind]); -- b = (uint32*)get_blk(fs, b[bw->bpdind]); -+ b = get_blkmap(fs, b[bw->bpdind], &bmi3); - bkref = &b[bw->bptind]; - if(extend) // allocate first data block - *bkref = hole ? 0 : alloc_blk(fs,nod); -@@ -1121,9 +1697,9 @@ - (bw->bptind < BLOCKSIZE/4 -1) ) - { - bw->bptind++; -- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -- b = (uint32*)get_blk(fs, b[bw->bpind]); -- b = (uint32*)get_blk(fs, b[bw->bpdind]); -+ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); -+ b = get_blkmap(fs, b[bw->bpind], &bmi2); -+ b = get_blkmap(fs, b[bw->bpdind], &bmi3); - bkref = &b[bw->bptind]; - if(extend) // allocate data block - *bkref = hole ? 0 : alloc_blk(fs,nod); -@@ -1140,13 +1716,13 @@ - bw->bnum++; - bw->bptind = 0; - bw->bpdind++; -- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -- b = (uint32*)get_blk(fs, b[bw->bpind]); -+ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); -+ b = get_blkmap(fs, b[bw->bpind], &bmi2); - if(extend) // allocate single indirect block - b[bw->bpdind] = alloc_blk(fs,nod); - if(reduce) // free indirect block - free_blk(fs, b[bw->bpind]); -- b = (uint32*)get_blk(fs, b[bw->bpdind]); -+ b = get_blkmap(fs, b[bw->bpdind], &bmi3); - bkref = &b[bw->bptind]; - if(extend) // allocate first data block - *bkref = hole ? 0 : alloc_blk(fs,nod); -@@ -1163,17 +1739,17 @@ - bw->bpdind = 0; - bw->bptind = 0; - bw->bpind++; -- b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]); -+ b = get_blkmap(fs, iblk[bw->bpdir], &bmi1); - if(extend) // allocate double indirect block - b[bw->bpind] = alloc_blk(fs,nod); - if(reduce) // free double indirect block - free_blk(fs, b[bw->bpind]); -- b = (uint32*)get_blk(fs, b[bw->bpind]); -+ b = get_blkmap(fs, b[bw->bpind], &bmi2); - if(extend) // allocate single indirect block - b[bw->bpdind] = alloc_blk(fs,nod); - if(reduce) // free indirect block - free_blk(fs, b[bw->bpind]); -- b = (uint32*)get_blk(fs, b[bw->bpdind]); -+ b = get_blkmap(fs, b[bw->bpdind], &bmi3); - bkref = &b[bw->bptind]; - if(extend) // allocate first block - *bkref = hole ? 0 : alloc_blk(fs,nod); -@@ -1184,56 +1760,105 @@ - error_msg_and_die("file too big !"); - /* End change for walking triple indirection */ - -- if(*bkref) -- { -+ bk = *bkref; -+ if (bmi3) -+ put_blkmap(bmi3); -+ if (bmi2) -+ put_blkmap(bmi2); -+ if (bmi1) -+ put_blkmap(bmi1); -+ -+ if(bk) -+ { -+ blk_info *bi; -+ gd_info *gi; -+ uint8 *block; - bw->bnum++; -- if(!reduce && !allocated(GRP_GET_BLOCK_BITMAP(fs,*bkref), GRP_BBM_OFFSET(fs,*bkref))) -- error_msg_and_die("[block %d of inode %d is unallocated !]", *bkref, nod); -+ block = GRP_GET_BLOCK_BITMAP(fs,bk,&bi,&gi); -+ if(!reduce && !allocated(block, GRP_BBM_OFFSET(fs,bk))) -+ error_msg_and_die("[block %d of inode %d is unallocated !]", bk, nod); -+ GRP_PUT_BLOCK_BITMAP(bi, gi); - } - if(extend) -- get_nod(fs, nod)->i_blocks = bw->bnum * INOBLK; -- return *bkref; -+ inod->i_blocks = bw->bnum * INOBLK; -+ put_nod(ni); -+ return bk; - } - --// add blocks to an inode (file/dir/etc...) --static void --extend_blk(filesystem *fs, uint32 nod, block b, int amount) -+typedef struct - { -- int create = amount; -- blockwalker bw, lbw; -- uint32 bk; -- init_bw(&bw); -- if(amount < 0) -- { -- uint32 i; -- for(i = 0; i < get_nod(fs, nod)->i_blocks / INOBLK + amount; i++) -- walk_bw(fs, nod, &bw, 0, 0); -- while(walk_bw(fs, nod, &bw, &create, 0) != WALK_END) -+ blockwalker bw; -+ uint32 nod; -+ nod_info *ni; -+ inode *inod; -+} inode_pos; -+#define INODE_POS_TRUNCATE 0 -+#define INODE_POS_EXTEND 1 -+ -+// Call this to set up an ipos structure for future use with -+// extend_inode_blk to append blocks to the given inode. If -+// op is INODE_POS_TRUNCATE, the inode is truncated to zero size. -+// If op is INODE_POS_EXTEND, the position is moved to the end -+// of the inode's data blocks. -+// Call inode_pos_finish when done with the inode_pos structure. -+static void -+inode_pos_init(filesystem *fs, inode_pos *ipos, uint32 nod, int op, -+ blockwalker *endbw) -+{ -+ blockwalker lbw; -+ -+ init_bw(&ipos->bw); -+ ipos->nod = nod; -+ ipos->inod = get_nod(fs, nod, &ipos->ni); -+ if (op == INODE_POS_TRUNCATE) { -+ int32 create = -1; -+ while(walk_bw(fs, nod, &ipos->bw, &create, 0) != WALK_END) - /*nop*/; -- get_nod(fs, nod)->i_blocks += amount * INOBLK; -+ ipos->inod->i_blocks = 0; - } -- else -+ -+ if (endbw) -+ ipos->bw = *endbw; -+ else { -+ /* Seek to the end */ -+ init_bw(&ipos->bw); -+ lbw = ipos->bw; -+ while(walk_bw(fs, nod, &ipos->bw, 0, 0) != WALK_END) -+ lbw = ipos->bw; -+ ipos->bw = lbw; -+ } -+} -+ -+// Clean up the inode_pos structure. -+static void -+inode_pos_finish(filesystem *fs, inode_pos *ipos) -+{ -+ put_nod(ipos->ni); -+} -+ -+// add blocks to an inode (file/dir/etc...) at the given position. -+// This will only work when appending to the end of an inode. -+static void -+extend_inode_blk(filesystem *fs, inode_pos *ipos, block b, int amount) -+{ -+ uint32 bk; -+ uint32 pos; -+ -+ if (amount < 0) -+ error_msg_and_die("extend_inode_blk: Got negative amount"); -+ -+ for (pos = 0; amount; pos += BLOCKSIZE) - { -- lbw = bw; -- while((bk = walk_bw(fs, nod, &bw, 0, 0)) != WALK_END) -- lbw = bw; -- bw = lbw; -- while(create) -- { -- int i, copyb = 0; -- if(!(fs->sb.s_reserved[200] & OP_HOLES)) -- copyb = 1; -- else -- for(i = 0; i < BLOCKSIZE / 4; i++) -- if(((int32*)(b + BLOCKSIZE * (amount - create)))[i]) -- { -- copyb = 1; -- break; -- } -- if((bk = walk_bw(fs, nod, &bw, &create, !copyb)) == WALK_END) -- break; -- if(copyb) -- memcpy(get_blk(fs, bk), b + BLOCKSIZE * (amount - create - 1), BLOCKSIZE); -+ int hole = (fs->holes && is_blk_empty(b + pos)); -+ -+ bk = walk_bw(fs, ipos->nod, &ipos->bw, &amount, hole); -+ if (bk == WALK_END) -+ error_msg_and_die("extend_inode_blk: extend failed"); -+ if (!hole) { -+ blk_info *bi; -+ uint8 *block = get_blk(fs, bk, &bi); -+ memcpy(block, b + pos, BLOCKSIZE); -+ put_blk(bi); - } - } - } -@@ -1242,15 +1867,17 @@ - static void - add2dir(filesystem *fs, uint32 dnod, uint32 nod, const char* name) - { -- blockwalker bw; -+ blockwalker bw, lbw; - uint32 bk; -- uint8 *b; - directory *d; -+ dirwalker dw; - int reclen, nlen; - inode *node; - inode *pnode; -+ nod_info *dni, *ni; -+ inode_pos ipos; - -- pnode = get_nod(fs, dnod); -+ pnode = get_nod(fs, dnod, &dni); - if((pnode->i_mode & FM_IFMT) != FM_IFDIR) - error_msg_and_die("can't add '%s' to a non-directory", name); - if(!*name) -@@ -1262,52 +1889,52 @@ - if(reclen > BLOCKSIZE) - error_msg_and_die("bad name '%s' (too long)", name); - init_bw(&bw); -+ lbw = bw; - while((bk = walk_bw(fs, dnod, &bw, 0, 0)) != WALK_END) // for all blocks in dir - { -- b = get_blk(fs, bk); - // for all dir entries in block -- for(d = (directory*)b; (int8*)d + sizeof(*d) < (int8*)b + BLOCKSIZE; d = (directory*)((int8*)d + d->d_rec_len)) -+ for(d = get_dir(fs, bk, &dw); d; d = next_dir(&dw)) - { - // if empty dir entry, large enough, use it - if((!d->d_inode) && (d->d_rec_len >= reclen)) - { - d->d_inode = nod; -- node = get_nod(fs, nod); -+ node = get_nod(fs, nod, &ni); -+ dir_set_name(&dw, name, nlen); -+ put_dir(&dw); - node->i_links_count++; -- d->d_name_len = nlen; -- strncpy(d->d_name, name, nlen); -- return; -+ put_nod(ni); -+ goto out; - } - // if entry with enough room (last one?), shrink it & use it - if(d->d_rec_len >= (sizeof(directory) + rndup(d->d_name_len, 4) + reclen)) - { -- reclen = d->d_rec_len; -- d->d_rec_len = sizeof(directory) + rndup(d->d_name_len, 4); -- reclen -= d->d_rec_len; -- d = (directory*) (((int8*)d) + d->d_rec_len); -- d->d_rec_len = reclen; -- d->d_inode = nod; -- node = get_nod(fs, nod); -+ d = shrink_dir(&dw, nod, name, nlen); -+ put_dir(&dw); -+ node = get_nod(fs, nod, &ni); - node->i_links_count++; -- d->d_name_len = nlen; -- strncpy(d->d_name, name, nlen); -- return; -+ put_nod(ni); -+ goto out; - } - } -+ put_dir(&dw); -+ lbw = bw; - } - // we found no free entry in the directory, so we add a block -- if(!(b = get_workblk())) -- error_msg_and_die("get_workblk() failed."); -- d = (directory*)b; -- d->d_inode = nod; -- node = get_nod(fs, nod); -+ node = get_nod(fs, nod, &ni); -+ d = new_dir(fs, nod, name, nlen, &dw); - node->i_links_count++; -- d->d_rec_len = BLOCKSIZE; -- d->d_name_len = nlen; -- strncpy(d->d_name, name, nlen); -- extend_blk(fs, dnod, b, 1); -- get_nod(fs, dnod)->i_size += BLOCKSIZE; -- free_workblk(b); -+ put_nod(ni); -+ next_dir(&dw); // Force the data into the buffer -+ -+ inode_pos_init(fs, &ipos, dnod, INODE_POS_EXTEND, &lbw); -+ extend_inode_blk(fs, &ipos, dir_data(&dw), 1); -+ inode_pos_finish(fs, &ipos); -+ -+ put_dir(&dw); -+ pnode->i_size += BLOCKSIZE; -+out: -+ put_nod(dni); - } - - // find an entry in a directory -@@ -1321,11 +1948,13 @@ - while((bk = walk_bw(fs, nod, &bw, 0, 0)) != WALK_END) - { - directory *d; -- uint8 *b; -- b = get_blk(fs, bk); -- for(d = (directory*)b; (int8*)d + sizeof(*d) < (int8*)b + BLOCKSIZE; d = (directory*)((int8*)d + d->d_rec_len)) -- if(d->d_inode && (nlen == d->d_name_len) && !strncmp(d->d_name, name, nlen)) -+ dirwalker dw; -+ for (d = get_dir(fs, bk, &dw); d; d=next_dir(&dw)) -+ if(d->d_inode && (nlen == d->d_name_len) && !strncmp(dir_name(&dw), name, nlen)) { -+ put_dir(&dw); - return d->d_inode; -+ } -+ put_dir(&dw); - } - return 0; - } -@@ -1356,47 +1985,55 @@ - return nod; - } - -+// chmod an inode -+void -+chmod_fs(filesystem *fs, uint32 nod, uint16 mode, uint16 uid, uint16 gid) -+{ -+ inode *node; -+ nod_info *ni; -+ node = get_nod(fs, nod, &ni); -+ node->i_mode = (node->i_mode & ~FM_IMASK) | (mode & FM_IMASK); -+ node->i_uid = uid; -+ node->i_gid = gid; -+ put_nod(ni); -+} -+ - // create a simple inode - static uint32 - mknod_fs(filesystem *fs, uint32 parent_nod, const char *name, uint16 mode, uint16 uid, uint16 gid, uint8 major, uint8 minor, uint32 ctime, uint32 mtime) - { - uint32 nod; - inode *node; -- if((nod = find_dir(fs, parent_nod, name))) -- { -- node = get_nod(fs, nod); -- if((node->i_mode & FM_IFMT) != (mode & FM_IFMT)) -- error_msg_and_die("node '%s' already exists and isn't of the same type", name); -- node->i_mode = mode; -- } -- else -+ nod_info *ni; -+ gd_info *gi; -+ -+ nod = alloc_nod(fs); -+ node = get_nod(fs, nod, &ni); -+ node->i_mode = mode; -+ add2dir(fs, parent_nod, nod, name); -+ switch(mode & FM_IFMT) - { -- nod = alloc_nod(fs); -- node = get_nod(fs, nod); -- node->i_mode = mode; -- add2dir(fs, parent_nod, nod, name); -- switch(mode & FM_IFMT) -- { -- case FM_IFLNK: -- mode = FM_IFLNK | FM_IRWXU | FM_IRWXG | FM_IRWXO; -- break; -- case FM_IFBLK: -- case FM_IFCHR: -- ((uint8*)get_nod(fs, nod)->i_block)[0] = minor; -- ((uint8*)get_nod(fs, nod)->i_block)[1] = major; -- break; -- case FM_IFDIR: -- add2dir(fs, nod, nod, "."); -- add2dir(fs, nod, parent_nod, ".."); -- fs->gd[GRP_GROUP_OF_INODE(fs,nod)].bg_used_dirs_count++; -- break; -- } -+ case FM_IFLNK: -+ mode = FM_IFLNK | FM_IRWXU | FM_IRWXG | FM_IRWXO; -+ break; -+ case FM_IFBLK: -+ case FM_IFCHR: -+ ((uint8*)node->i_block)[0] = minor; -+ ((uint8*)node->i_block)[1] = major; -+ break; -+ case FM_IFDIR: -+ add2dir(fs, nod, nod, "."); -+ add2dir(fs, nod, parent_nod, ".."); -+ get_gd(fs,GRP_GROUP_OF_INODE(fs,nod),&gi)->bg_used_dirs_count++; -+ put_gd(gi); -+ break; - } - node->i_uid = uid; - node->i_gid = gid; - node->i_atime = mtime; - node->i_ctime = ctime; - node->i_mtime = mtime; -+ put_nod(ni); - return nod; - } - -@@ -1413,33 +2050,73 @@ - mklink_fs(filesystem *fs, uint32 parent_nod, const char *name, size_t size, uint8 *b, uid_t uid, gid_t gid, uint32 ctime, uint32 mtime) - { - uint32 nod = mknod_fs(fs, parent_nod, name, FM_IFLNK | FM_IRWXU | FM_IRWXG | FM_IRWXO, uid, gid, 0, 0, ctime, mtime); -- extend_blk(fs, nod, 0, - (int)get_nod(fs, nod)->i_blocks / INOBLK); -- get_nod(fs, nod)->i_size = size; -- if(size <= 4 * (EXT2_TIND_BLOCK+1)) -- { -- strncpy((char*)get_nod(fs, nod)->i_block, (char*)b, size); -+ nod_info *ni; -+ inode *node = get_nod(fs, nod, &ni); -+ inode_pos ipos; -+ -+ inode_pos_init(fs, &ipos, nod, INODE_POS_TRUNCATE, NULL); -+ node->i_size = size; -+ if(size < 4 * (EXT2_TIND_BLOCK+1)) -+ { -+ strncpy((char*)node->i_block, (char*)b, size); -+ ((char*)node->i_block)[size+1] = '\0'; -+ inode_pos_finish(fs, &ipos); -+ put_nod(ni); - return nod; - } -- extend_blk(fs, nod, b, rndup(size, BLOCKSIZE) / BLOCKSIZE); -+ extend_inode_blk(fs, &ipos, b, rndup(size, BLOCKSIZE) / BLOCKSIZE); -+ inode_pos_finish(fs, &ipos); -+ put_nod(ni); - return nod; - } - -+static void -+fs_upgrade_rev1_largefile(filesystem *fs) -+{ -+ fs->sb->s_rev_level = 1; -+ fs->sb->s_first_ino = EXT2_GOOD_OLD_FIRST_INO; -+ fs->sb->s_inode_size = EXT2_GOOD_OLD_INODE_SIZE; -+} -+ -+#define COPY_BLOCKS 16 -+#define CB_SIZE (COPY_BLOCKS * BLOCKSIZE) -+ - // make a file from a FILE* - static uint32 --mkfile_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode, size_t size, FILE *f, uid_t uid, gid_t gid, uint32 ctime, uint32 mtime) -+mkfile_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode, FILE *f, uid_t uid, gid_t gid, uint32 ctime, uint32 mtime) - { - uint8 * b; - uint32 nod = mknod_fs(fs, parent_nod, name, mode|FM_IFREG, uid, gid, 0, 0, ctime, mtime); -- extend_blk(fs, nod, 0, - (int)get_nod(fs, nod)->i_blocks / INOBLK); -- get_nod(fs, nod)->i_size = size; -- if (size) { -- if(!(b = (uint8*)calloc(rndup(size, BLOCKSIZE), 1))) -- error_msg_and_die("not enough mem to read file '%s'", name); -- if(f) -- fread(b, size, 1, f); // FIXME: ugly. use mmap() ... -- extend_blk(fs, nod, b, rndup(size, BLOCKSIZE) / BLOCKSIZE); -- free(b); -- } -+ nod_info *ni; -+ inode *node = get_nod(fs, nod, &ni); -+ off_t size = 0; -+ size_t readbytes; -+ inode_pos ipos; -+ int fullsize; -+ -+ b = malloc(CB_SIZE); -+ if (!b) -+ error_msg_and_die("mkfile_fs: out of memory"); -+ inode_pos_init(fs, &ipos, nod, INODE_POS_TRUNCATE, NULL); -+ readbytes = fread(b, 1, CB_SIZE, f); -+ while (readbytes) { -+ fullsize = rndup(readbytes, BLOCKSIZE); -+ // Fill to end of block with zeros. -+ memset(b + readbytes, 0, fullsize - readbytes); -+ extend_inode_blk(fs, &ipos, b, fullsize / BLOCKSIZE); -+ size += readbytes; -+ readbytes = fread(b, 1, CB_SIZE, f); -+ } -+ if (size > 0x7fffffff) { -+ if (fs->sb->s_rev_level < 1) -+ fs_upgrade_rev1_largefile(fs); -+ fs->sb->s_feature_ro_compat |= EXT2_FEATURE_RO_COMPAT_LARGE_FILE; -+ } -+ node->i_dir_acl = size >> 32; -+ node->i_size = size; -+ inode_pos_finish(fs, &ipos); -+ put_nod(ni); -+ free(b); - return nod; - } - -@@ -1591,13 +2268,24 @@ - dname = malloc(len + 1); - for(i = start; i < count; i++) - { -+ uint32 oldnod; - SNPRINTF(dname, len, "%s%lu", name, i); -- mknod_fs(fs, nod, dname, mode, uid, gid, major, minor + (i * increment - start), ctime, mtime); -+ oldnod = find_dir(fs, nod, dname); -+ if(oldnod) -+ chmod_fs(fs, oldnod, mode, uid, gid); -+ else -+ mknod_fs(fs, nod, dname, mode, uid, gid, major, minor + (i * increment - start), ctime, mtime); - } - free(dname); - } - else -- mknod_fs(fs, nod, name, mode, uid, gid, major, minor, ctime, mtime); -+ { -+ uint32 oldnod = find_dir(fs, nod, name); -+ if(oldnod) -+ chmod_fs(fs, oldnod, mode, uid, gid); -+ else -+ mknod_fs(fs, nod, name, mode, uid, gid, major, minor, ctime, mtime); -+ } - } - } - if (line) -@@ -1643,6 +2331,10 @@ - switch(st.st_mode & S_IFMT) - { - case S_IFLNK: -+ if((st.st_mode & S_IFMT) == S_IFREG || st.st_size >= 4 * (EXT2_TIND_BLOCK+1)) -+ stats->nblocks += (st.st_size + BLOCKSIZE - 1) / BLOCKSIZE; -+ stats->ninodes++; -+ break; - case S_IFREG: - if((st.st_mode & S_IFMT) == S_IFREG || st.st_size > 4 * (EXT2_TIND_BLOCK+1)) - stats->nblocks += (st.st_size + BLOCKSIZE - 1) / BLOCKSIZE; -@@ -1657,19 +2349,33 @@ - if(chdir(dent->d_name) < 0) - perror_msg_and_die(dent->d_name); - add2fs_from_dir(fs, this_nod, squash_uids, squash_perms, fs_timestamp, stats); -- chdir(".."); -+ if (chdir("..") == -1) -+ perror_msg_and_die(".."); -+ - break; - default: - break; - } - else - { -+ if((nod = find_dir(fs, this_nod, name))) -+ { -+ error_msg("ignoring duplicate entry %s", name); -+ if(S_ISDIR(st.st_mode)) { -+ if(chdir(dent->d_name) < 0) -+ perror_msg_and_die(name); -+ add2fs_from_dir(fs, nod, squash_uids, squash_perms, fs_timestamp, stats); -+ if (chdir("..") == -1) -+ perror_msg_and_die(".."); -+ } -+ continue; -+ } - save_nod = 0; - /* Check for hardlinks */ - if (!S_ISDIR(st.st_mode) && !S_ISLNK(st.st_mode) && st.st_nlink > 1) { -- int32 hdlink = is_hardlink(st.st_ino); -+ int32 hdlink = is_hardlink(fs, st.st_ino); - if (hdlink >= 0) { -- add2dir(fs, this_nod, hdlinks.hdl[hdlink].dst_nod, name); -+ add2dir(fs, this_nod, fs->hdlinks.hdl[hdlink].dst_nod, name); - continue; - } else { - save_nod = 1; -@@ -1697,8 +2403,12 @@ - free(lnk); - break; - case S_IFREG: -- fh = xfopen(dent->d_name, "rb"); -- nod = mkfile_fs(fs, this_nod, name, mode, st.st_size, fh, uid, gid, ctime, mtime); -+ fh = fopen(dent->d_name, "rb"); -+ if (!fh) { -+ error_msg("Unable to open file %s", dent->d_name); -+ break; -+ } -+ nod = mkfile_fs(fs, this_nod, name, mode, fh, uid, gid, ctime, mtime); - fclose(fh); - break; - case S_IFDIR: -@@ -1706,199 +2416,128 @@ - if(chdir(dent->d_name) < 0) - perror_msg_and_die(name); - add2fs_from_dir(fs, nod, squash_uids, squash_perms, fs_timestamp, stats); -- chdir(".."); -+ if (chdir("..") == -1) -+ perror_msg_and_die(".."); - break; - default: - error_msg("ignoring entry %s", name); - } - if (save_nod) { -- if (hdlinks.count == hdlink_cnt) { -- if ((hdlinks.hdl = -- realloc (hdlinks.hdl, (hdlink_cnt + HDLINK_CNT) * -+ if (fs->hdlinks.count == fs->hdlink_cnt) { -+ if ((fs->hdlinks.hdl = -+ realloc (fs->hdlinks.hdl, (fs->hdlink_cnt + HDLINK_CNT) * - sizeof (struct hdlink_s))) == NULL) { - error_msg_and_die("Not enough memory"); - } -- hdlink_cnt += HDLINK_CNT; -+ fs->hdlink_cnt += HDLINK_CNT; - } -- hdlinks.hdl[hdlinks.count].src_inode = st.st_ino; -- hdlinks.hdl[hdlinks.count].dst_nod = nod; -- hdlinks.count++; -+ fs->hdlinks.hdl[fs->hdlinks.count].src_inode = st.st_ino; -+ fs->hdlinks.hdl[fs->hdlinks.count].dst_nod = nod; -+ fs->hdlinks.count++; - } - } - } - closedir(dh); - } - --// endianness swap of x-indirect blocks -+// Copy size blocks from src to dst, putting holes in the output -+// file (if possible) if the input block is all zeros. -+// Copy size blocks from src to dst, putting holes in the output -+// file (if possible) if the input block is all zeros. - static void --swap_goodblocks(filesystem *fs, inode *nod) -+copy_file(filesystem *fs, FILE *dst, FILE *src, size_t size) - { -- uint32 i,j; -- int done=0; -- uint32 *b,*b2; -+ uint8 *b; - -- uint32 nblk = nod->i_blocks / INOBLK; -- if((nod->i_size && !nblk) || ((nod->i_mode & FM_IFBLK) == FM_IFBLK) || ((nod->i_mode & FM_IFCHR) == FM_IFCHR)) -- for(i = 0; i <= EXT2_TIND_BLOCK; i++) -- nod->i_block[i] = swab32(nod->i_block[i]); -- if(nblk <= EXT2_IND_BLOCK) -- return; -- swap_block(get_blk(fs, nod->i_block[EXT2_IND_BLOCK])); -- if(nblk <= EXT2_DIND_BLOCK + BLOCKSIZE/4) -- return; -- /* Currently this will fail b'cos the number of blocks as stored -- in i_blocks also includes the indirection blocks (see -- walk_bw). But this function assumes that i_blocks only -- stores the count of data blocks ( Actually according to -- "Understanding the Linux Kernel" (Table 17-3 p502 1st Ed) -- i_blocks IS supposed to store the count of data blocks). so -- with a file of size 268K nblk would be 269.The above check -- will be false even though double indirection hasn't been -- started.This is benign as 0 means block 0 which has been -- zeroed out and therefore points back to itself from any offset -- */ -- // FIXME: I have fixed that, but I have the feeling the rest of -- // ths function needs to be fixed for the same reasons - Xav -- assert(nod->i_block[EXT2_DIND_BLOCK] != 0); -- for(i = 0; i < BLOCKSIZE/4; i++) -- if(nblk > EXT2_IND_BLOCK + BLOCKSIZE/4 + (BLOCKSIZE/4)*i ) -- swap_block(get_blk(fs, ((uint32*)get_blk(fs, nod->i_block[EXT2_DIND_BLOCK]))[i])); -- swap_block(get_blk(fs, nod->i_block[EXT2_DIND_BLOCK])); -- if(nblk <= EXT2_IND_BLOCK + BLOCKSIZE/4 + BLOCKSIZE/4 * BLOCKSIZE/4) -- return; -- /* Adding support for triple indirection */ -- b = (uint32*)get_blk(fs,nod->i_block[EXT2_TIND_BLOCK]); -- for(i=0;i < BLOCKSIZE/4 && !done ; i++) { -- b2 = (uint32*)get_blk(fs,b[i]); -- for(j=0; j ( EXT2_IND_BLOCK + BLOCKSIZE/4 + -- (BLOCKSIZE/4)*(BLOCKSIZE/4) + -- i*(BLOCKSIZE/4)*(BLOCKSIZE/4) + -- j*(BLOCKSIZE/4)) ) -- swap_block(get_blk(fs,b2[j])); -- else { -- done = 1; -- break; -- } -+ b = malloc(BLOCKSIZE); -+ if (!b) -+ error_msg_and_die("copy_file: out of memory"); -+ if (fseek(src, 0, SEEK_SET)) -+ perror_msg_and_die("fseek"); -+ if (ftruncate(fileno(dst), 0)) -+ perror_msg_and_die("copy_file: ftruncate"); -+ while (size > 0) { -+ if (fread(b, BLOCKSIZE, 1, src) != 1) -+ perror_msg_and_die("copy failed on read"); -+ if ((dst != stdout) && fs->holes && is_blk_empty(b)) { -+ /* Empty block, just skip it */ -+ if (fseek(dst, BLOCKSIZE, SEEK_CUR)) -+ perror_msg_and_die("fseek"); -+ } else { -+ if (fwrite(b, BLOCKSIZE, 1, dst) != 1) -+ perror_msg_and_die("copy failed on write"); - } -- swap_block((uint8 *)b2); -+ size--; - } -- swap_block((uint8 *)b); -- return; -+ free(b); - } - --static void --swap_badblocks(filesystem *fs, inode *nod) -+// Allocate a new filesystem structure, allocate internal memory, -+// and initialize the contents. -+static filesystem * -+alloc_fs(int swapit, char *fname, uint32 nbblocks, FILE *srcfile) - { -- uint32 i,j; -- int done=0; -- uint32 *b,*b2; -+ filesystem *fs; -+ struct stat srcstat, dststat; - -- uint32 nblk = nod->i_blocks / INOBLK; -- if((nod->i_size && !nblk) || ((nod->i_mode & FM_IFBLK) == FM_IFBLK) || ((nod->i_mode & FM_IFCHR) == FM_IFCHR)) -- for(i = 0; i <= EXT2_TIND_BLOCK; i++) -- nod->i_block[i] = swab32(nod->i_block[i]); -- if(nblk <= EXT2_IND_BLOCK) -- return; -- swap_block(get_blk(fs, nod->i_block[EXT2_IND_BLOCK])); -- if(nblk <= EXT2_DIND_BLOCK + BLOCKSIZE/4) -- return; -- /* See comment in swap_goodblocks */ -- assert(nod->i_block[EXT2_DIND_BLOCK] != 0); -- swap_block(get_blk(fs, nod->i_block[EXT2_DIND_BLOCK])); -- for(i = 0; i < BLOCKSIZE/4; i++) -- if(nblk > EXT2_IND_BLOCK + BLOCKSIZE/4 + (BLOCKSIZE/4)*i ) -- swap_block(get_blk(fs, ((uint32*)get_blk(fs, nod->i_block[EXT2_DIND_BLOCK]))[i])); -- if(nblk <= EXT2_IND_BLOCK + BLOCKSIZE/4 + BLOCKSIZE/4 * BLOCKSIZE/4) -- return; -- /* Adding support for triple indirection */ -- b = (uint32*)get_blk(fs,nod->i_block[EXT2_TIND_BLOCK]); -- swap_block((uint8 *)b); -- for(i=0;i < BLOCKSIZE/4 && !done ; i++) { -- b2 = (uint32*)get_blk(fs,b[i]); -- swap_block((uint8 *)b2); -- for(j=0; j ( EXT2_IND_BLOCK + BLOCKSIZE/4 + -- (BLOCKSIZE/4)*(BLOCKSIZE/4) + -- i*(BLOCKSIZE/4)*(BLOCKSIZE/4) + -- j*(BLOCKSIZE/4)) ) -- swap_block(get_blk(fs,b2[j])); -- else { -- done = 1; -- break; -- } -- } -- } -- return; --} -+ fs = malloc(sizeof(*fs)); -+ if (!fs) -+ error_msg_and_die("not enough memory for filesystem"); -+ memset(fs, 0, sizeof(*fs)); -+ fs->swapit = swapit; -+ cache_init(&fs->blks, MAX_FREE_CACHE_BLOCKS, blk_elem_val, blk_freed); -+ cache_init(&fs->gds, MAX_FREE_CACHE_GDS, gd_elem_val, gd_freed); -+ cache_init(&fs->blkmaps, MAX_FREE_CACHE_BLOCKMAPS, -+ blkmap_elem_val, blkmap_freed); -+ cache_init(&fs->inodes, MAX_FREE_CACHE_INODES, -+ inode_elem_val, inode_freed); -+ fs->hdlink_cnt = HDLINK_CNT; -+ fs->hdlinks.hdl = calloc(sizeof(struct hdlink_s), fs->hdlink_cnt); -+ if (!fs->hdlinks.hdl) -+ error_msg_and_die("Not enough memory"); -+ fs->hdlinks.count = 0 ; - --// endianness swap of the whole filesystem --static void --swap_goodfs(filesystem *fs) --{ -- uint32 i; -- for(i = 1; i < fs->sb.s_inodes_count; i++) -- { -- inode *nod = get_nod(fs, i); -- if(nod->i_mode & FM_IFDIR) -- { -- blockwalker bw; -- uint32 bk; -- init_bw(&bw); -- while((bk = walk_bw(fs, i, &bw, 0, 0)) != WALK_END) -- { -- directory *d; -- uint8 *b; -- b = get_blk(fs, bk); -- for(d = (directory*)b; (int8*)d + sizeof(*d) < (int8*)b + BLOCKSIZE; d = (directory*)((int8*)d + swab16(d->d_rec_len))) -- swap_dir(d); -- } -- } -- swap_goodblocks(fs, nod); -- swap_nod(nod); -- } -- for(i=0;igd[i])); -- swap_sb(&fs->sb); -+ if (strcmp(fname, "-") == 0) -+ fs->f = tmpfile(); -+ else if (srcfile) { -+ if (fstat(fileno(srcfile), &srcstat)) -+ perror_msg_and_die("fstat srcfile"); -+ if (stat(fname, &dststat) == 0 -+ && srcstat.st_ino == dststat.st_ino -+ && srcstat.st_dev == dststat.st_dev) -+ { -+ // source and destination are the same file, don't -+ // truncate or copy, just use the file. -+ fs->f = fopen(fname, "r+b"); -+ } else { -+ fs->f = fopen(fname, "w+b"); -+ if (fs->f) -+ copy_file(fs, fs->f, srcfile, nbblocks); -+ } -+ } else -+ fs->f = fopen(fname, "w+b"); -+ if (!fs->f) -+ perror_msg_and_die("opening %s", fname); -+ return fs; - } - -+/* Make sure the output file is the right size */ - static void --swap_badfs(filesystem *fs) -+set_file_size(filesystem *fs) - { -- uint32 i; -- swap_sb(&fs->sb); -- for(i=0;igd[i])); -- for(i = 1; i < fs->sb.s_inodes_count; i++) -- { -- inode *nod = get_nod(fs, i); -- swap_nod(nod); -- swap_badblocks(fs, nod); -- if(nod->i_mode & FM_IFDIR) -- { -- blockwalker bw; -- uint32 bk; -- init_bw(&bw); -- while((bk = walk_bw(fs, i, &bw, 0, 0)) != WALK_END) -- { -- directory *d; -- uint8 *b; -- b = get_blk(fs, bk); -- for(d = (directory*)b; (int8*)d + sizeof(*d) < (int8*)b + BLOCKSIZE; d = (directory*)((int8*)d + d->d_rec_len)) -- swap_dir(d); -- } -- } -- } -+ if (ftruncate(fileno(fs->f), -+ ((off_t) fs->sb->s_blocks_count) * BLOCKSIZE)) -+ perror_msg_and_die("set_file_size: ftruncate"); - } - - // initialize an empty filesystem - static filesystem * --init_fs(int nbblocks, int nbinodes, int nbresrvd, int holes, uint32 fs_timestamp) -+init_fs(int nbblocks, int nbinodes, int nbresrvd, int holes, -+ uint32 fs_timestamp, uint32 creator_os, int swapit, char *fname) - { - uint32 i; - filesystem *fs; -- directory *d; -- uint8 * b; -+ dirwalker dw; - uint32 nod, first_block; - uint32 nbgroups,nbinodes_per_group,overhead_per_group,free_blocks, - free_blocks_per_group,nbblocks_per_group,min_nbgroups; -@@ -1906,6 +2545,11 @@ - uint32 j; - uint8 *bbm,*ibm; - inode *itab0; -+ blk_info *bi; -+ nod_info *ni; -+ groupdescriptor *gd; -+ gd_info *gi; -+ inode_pos ipos; - - if(nbresrvd < 0) - error_msg_and_die("reserved blocks value is invalid. Note: options have changed, see --help or the man page."); -@@ -1919,10 +2563,14 @@ - */ - min_nbgroups = (nbinodes + INODES_PER_GROUP - 1) / INODES_PER_GROUP; - -+ /* On filesystems with 1k block size, the bootloader area uses a full -+ * block. For 2048 and up, the superblock can be fitted into block 0. -+ */ -+ first_block = (BLOCKSIZE == 1024); -+ - /* nbblocks is the total number of blocks in the filesystem. - * a block group can have no more than 8192 blocks. - */ -- first_block = (BLOCKSIZE == 1024); - nbgroups = (nbblocks - first_block + BLOCKS_PER_GROUP - 1) / BLOCKS_PER_GROUP; - if(nbgroups < min_nbgroups) nbgroups = min_nbgroups; - nbblocks_per_group = rndup((nbblocks - first_block + nbgroups - 1)/nbgroups, 8); -@@ -1934,51 +2582,59 @@ - gdsz = rndup(nbgroups*sizeof(groupdescriptor),BLOCKSIZE)/BLOCKSIZE; - itblsz = nbinodes_per_group * sizeof(inode)/BLOCKSIZE; - overhead_per_group = 3 /*sb,bbm,ibm*/ + gdsz + itblsz; -- if((uint32)nbblocks - 1 < overhead_per_group * nbgroups) -- error_msg_and_die("too much overhead, try fewer inodes or more blocks. Note: options have changed, see --help or the man page."); -- free_blocks = nbblocks - overhead_per_group*nbgroups - 1 /*boot block*/; -+ free_blocks = nbblocks - overhead_per_group*nbgroups - first_block; - free_blocks_per_group = nbblocks_per_group - overhead_per_group; -+ if(free_blocks < 0) -+ error_msg_and_die("too much overhead, try fewer inodes or more blocks. Note: options have changed, see --help or the man page."); - -- if(!(fs = (filesystem*)calloc(nbblocks, BLOCKSIZE))) -- error_msg_and_die("not enough memory for filesystem"); -+ fs = alloc_fs(swapit, fname, nbblocks, NULL); -+ fs->sb = calloc(1, SUPERBLOCK_SIZE); -+ if (!fs->sb) -+ error_msg_and_die("error allocating header memory"); - - // create the superblock for an empty filesystem -- fs->sb.s_inodes_count = nbinodes_per_group * nbgroups; -- fs->sb.s_blocks_count = nbblocks; -- fs->sb.s_r_blocks_count = nbresrvd; -- fs->sb.s_free_blocks_count = free_blocks; -- fs->sb.s_free_inodes_count = fs->sb.s_inodes_count - EXT2_FIRST_INO + 1; -- fs->sb.s_first_data_block = first_block; -- fs->sb.s_log_block_size = BLOCKSIZE >> 11; -- fs->sb.s_log_frag_size = BLOCKSIZE >> 11; -- fs->sb.s_blocks_per_group = nbblocks_per_group; -- fs->sb.s_frags_per_group = nbblocks_per_group; -- fs->sb.s_inodes_per_group = nbinodes_per_group; -- fs->sb.s_wtime = fs_timestamp; -- fs->sb.s_magic = EXT2_MAGIC_NUMBER; -- fs->sb.s_lastcheck = fs_timestamp; -+ fs->sb->s_inodes_count = nbinodes_per_group * nbgroups; -+ fs->sb->s_blocks_count = nbblocks; -+ fs->sb->s_r_blocks_count = nbresrvd; -+ fs->sb->s_free_blocks_count = free_blocks; -+ fs->sb->s_free_inodes_count = fs->sb->s_inodes_count - EXT2_FIRST_INO + 1; -+ fs->sb->s_first_data_block = first_block; -+ fs->sb->s_log_block_size = BLOCKSIZE >> 11; -+ fs->sb->s_log_frag_size = BLOCKSIZE >> 11; -+ fs->sb->s_blocks_per_group = nbblocks_per_group; -+ fs->sb->s_frags_per_group = nbblocks_per_group; -+ fs->sb->s_inodes_per_group = nbinodes_per_group; -+ fs->sb->s_wtime = fs_timestamp; -+ fs->sb->s_magic = EXT2_MAGIC_NUMBER; -+ fs->sb->s_lastcheck = fs_timestamp; -+ fs->sb->s_creator_os = creator_os; -+ -+ set_file_size(fs); - - // set up groupdescriptors -- for(i=0, bbmpos=gdsz+2, ibmpos=bbmpos+1, itblpos=ibmpos+1; -+ for(i=0, bbmpos=first_block+1+gdsz, ibmpos=bbmpos+1, itblpos=ibmpos+1; - i free_blocks_per_group) { -- fs->gd[i].bg_free_blocks_count = free_blocks_per_group; -+ gd->bg_free_blocks_count = free_blocks_per_group; - free_blocks -= free_blocks_per_group; - } else { -- fs->gd[i].bg_free_blocks_count = free_blocks; -+ gd->bg_free_blocks_count = free_blocks; - free_blocks = 0; // this is the last block group - } - if(i) -- fs->gd[i].bg_free_inodes_count = nbinodes_per_group; -+ gd->bg_free_inodes_count = nbinodes_per_group; - else -- fs->gd[i].bg_free_inodes_count = nbinodes_per_group - -+ gd->bg_free_inodes_count = nbinodes_per_group - - EXT2_FIRST_INO + 2; -- fs->gd[i].bg_used_dirs_count = 0; -- fs->gd[i].bg_block_bitmap = bbmpos; -- fs->gd[i].bg_inode_bitmap = ibmpos; -- fs->gd[i].bg_inode_table = itblpos; -+ gd->bg_used_dirs_count = 0; -+ gd->bg_block_bitmap = bbmpos; -+ gd->bg_inode_bitmap = ibmpos; -+ gd->bg_inode_table = itblpos; -+ put_gd(gi); - } - - /* Mark non-filesystem blocks and inodes as allocated */ -@@ -1984,110 +2640,143 @@ - /* Mark non-filesystem blocks and inodes as allocated */ - /* Mark system blocks and inodes as allocated */ - for(i = 0; igd[i].bg_block_bitmap); -+ gd = get_gd(fs, i, &gi); -+ bbm = GRP_GET_GROUP_BBM(fs, gd, &bi); - //non-filesystem blocks -- for(j = fs->gd[i].bg_free_blocks_count -+ for(j = gd->bg_free_blocks_count - + overhead_per_group + 1; j <= BLOCKSIZE * 8; j++) - allocate(bbm, j); - //system blocks - for(j = 1; j <= overhead_per_group; j++) - allocate(bbm, j); -- -+ GRP_PUT_GROUP_BBM(bi); -+ - /* Inode bitmap */ -- ibm = get_blk(fs,fs->gd[i].bg_inode_bitmap); -+ ibm = GRP_GET_GROUP_IBM(fs, gd, &bi); - //non-filesystem inodes -- for(j = fs->sb.s_inodes_per_group+1; j <= BLOCKSIZE * 8; j++) -+ for(j = fs->sb->s_inodes_per_group+1; j <= BLOCKSIZE * 8; j++) - allocate(ibm, j); - - //system inodes - if(i == 0) - for(j = 1; j < EXT2_FIRST_INO; j++) - allocate(ibm, j); -+ GRP_PUT_GROUP_IBM(bi); -+ put_gd(gi); - } - - // make root inode and directory - /* We have groups now. Add the root filesystem in group 0 */ - /* Also increment the directory count for group 0 */ -- fs->gd[0].bg_free_inodes_count--; -- fs->gd[0].bg_used_dirs_count = 1; -- itab0 = (inode *)get_blk(fs,fs->gd[0].bg_inode_table); -- itab0[EXT2_ROOT_INO-1].i_mode = FM_IFDIR | FM_IRWXU | FM_IRGRP | FM_IROTH | FM_IXGRP | FM_IXOTH; -- itab0[EXT2_ROOT_INO-1].i_ctime = fs_timestamp; -- itab0[EXT2_ROOT_INO-1].i_mtime = fs_timestamp; -- itab0[EXT2_ROOT_INO-1].i_atime = fs_timestamp; -- itab0[EXT2_ROOT_INO-1].i_size = BLOCKSIZE; -- itab0[EXT2_ROOT_INO-1].i_links_count = 2; -- -- if(!(b = get_workblk())) -- error_msg_and_die("get_workblk() failed."); -- d = (directory*)b; -- d->d_inode = EXT2_ROOT_INO; -- d->d_rec_len = sizeof(directory)+4; -- d->d_name_len = 1; -- strcpy(d->d_name, "."); -- d = (directory*)(b + d->d_rec_len); -- d->d_inode = EXT2_ROOT_INO; -- d->d_rec_len = BLOCKSIZE - (sizeof(directory)+4); -- d->d_name_len = 2; -- strcpy(d->d_name, ".."); -- extend_blk(fs, EXT2_ROOT_INO, b, 1); -+ gd = get_gd(fs, 0, &gi); -+ gd->bg_free_inodes_count--; -+ gd->bg_used_dirs_count = 1; -+ put_gd(gi); -+ itab0 = get_nod(fs, EXT2_ROOT_INO, &ni); -+ itab0->i_mode = FM_IFDIR | FM_IRWXU | FM_IRGRP | FM_IROTH | FM_IXGRP | FM_IXOTH; -+ itab0->i_ctime = fs_timestamp; -+ itab0->i_mtime = fs_timestamp; -+ itab0->i_atime = fs_timestamp; -+ itab0->i_size = BLOCKSIZE; -+ itab0->i_links_count = 2; -+ put_nod(ni); -+ -+ new_dir(fs, EXT2_ROOT_INO, ".", 1, &dw); -+ shrink_dir(&dw, EXT2_ROOT_INO, "..", 2); -+ next_dir(&dw); // Force the data into the buffer -+ inode_pos_init(fs, &ipos, EXT2_ROOT_INO, INODE_POS_EXTEND, NULL); -+ extend_inode_blk(fs, &ipos, dir_data(&dw), 1); -+ inode_pos_finish(fs, &ipos); -+ put_dir(&dw); - -- // make lost+found directory and reserve blocks -- if(fs->sb.s_r_blocks_count) -+ // make lost+found directory -+ if(fs->sb->s_r_blocks_count) - { -- nod = mkdir_fs(fs, EXT2_ROOT_INO, "lost+found", FM_IRWXU, 0, 0, fs_timestamp, fs_timestamp); -+ inode *node; -+ uint8 *b; -+ -+ nod = mkdir_fs(fs, EXT2_ROOT_INO, "lost+found", FM_IRWXU, -+ 0, 0, fs_timestamp, fs_timestamp); -+ b = get_workblk(); - memset(b, 0, BLOCKSIZE); - ((directory*)b)->d_rec_len = BLOCKSIZE; -- /* We run into problems with e2fsck if directory lost+found grows -- * bigger than this. Need to find out why this happens - sundar -- */ -- if (fs->sb.s_r_blocks_count > fs->sb.s_blocks_count * MAX_RESERVED_BLOCKS ) -- fs->sb.s_r_blocks_count = fs->sb.s_blocks_count * MAX_RESERVED_BLOCKS; -- for(i = 1; i < fs->sb.s_r_blocks_count; i++) -- extend_blk(fs, nod, b, 1); -- get_nod(fs, nod)->i_size = fs->sb.s_r_blocks_count * BLOCKSIZE; -+ inode_pos_init(fs, &ipos, nod, INODE_POS_EXTEND, NULL); -+ // It is always 16 blocks to start out with -+ for(i = 1; i < 16; i++) -+ extend_inode_blk(fs, &ipos, b, 1); -+ inode_pos_finish(fs, &ipos); -+ free_workblk(b); -+ node = get_nod(fs, nod, &ni); -+ node->i_size = 16 * BLOCKSIZE; -+ put_nod(ni); - } -- free_workblk(b); - - // administrative info -- fs->sb.s_state = 1; -- fs->sb.s_max_mnt_count = 20; -+ fs->sb->s_state = 1; -+ fs->sb->s_max_mnt_count = 20; - - // options for me -- if(holes) -- fs->sb.s_reserved[200] |= OP_HOLES; -+ fs->holes = holes; - - return fs; - } - - // loads a filesystem from disk - static filesystem * --load_fs(FILE * fh, int swapit) -+load_fs(FILE *fh, int swapit, char *fname) - { -- size_t fssize; -+ off_t fssize; - filesystem *fs; -- if((fseek(fh, 0, SEEK_END) < 0) || ((ssize_t)(fssize = ftell(fh)) == -1)) -+ -+ if((fseek(fh, 0, SEEK_END) < 0) || ((fssize = ftello(fh)) == -1)) - perror_msg_and_die("input filesystem image"); - rewind(fh); -- fssize = (fssize + BLOCKSIZE - 1) / BLOCKSIZE; -+ if ((fssize % BLOCKSIZE) != 0) -+ error_msg_and_die("Input file not a multiple of block size"); -+ fssize /= BLOCKSIZE; - if(fssize < 16) // totally arbitrary - error_msg_and_die("too small filesystem"); -- if(!(fs = (filesystem*)calloc(fssize, BLOCKSIZE))) -- error_msg_and_die("not enough memory for filesystem"); -- if(fread(fs, BLOCKSIZE, fssize, fh) != fssize) -- perror_msg_and_die("input filesystem image"); -+ fs = alloc_fs(swapit, fname, fssize, fh); -+ -+ /* Read and check the superblock, then read the superblock -+ * and all the group descriptors */ -+ fs->sb = malloc(SUPERBLOCK_SIZE); -+ if (!fs->sb) -+ error_msg_and_die("error allocating header memory"); -+ if (fseek(fs->f, SUPERBLOCK_OFFSET, SEEK_SET)) -+ perror_msg_and_die("fseek"); -+ if (fread(fs->sb, SUPERBLOCK_SIZE, 1, fs->f) != 1) -+ perror_msg_and_die("fread filesystem image superblock"); - if(swapit) -- swap_badfs(fs); -- if(fs->sb.s_rev_level || (fs->sb.s_magic != EXT2_MAGIC_NUMBER)) -+ swap_sb(fs->sb); -+ -+ if((fs->sb->s_rev_level > 1) || (fs->sb->s_magic != EXT2_MAGIC_NUMBER)) - error_msg_and_die("not a suitable ext2 filesystem"); -+ if (fs->sb->s_rev_level > 0) { -+ if (fs->sb->s_first_ino != EXT2_GOOD_OLD_FIRST_INO) -+ error_msg_and_die("First inode incompatible"); -+ if (fs->sb->s_inode_size != EXT2_GOOD_OLD_INODE_SIZE) -+ error_msg_and_die("inode size incompatible"); -+ if (fs->sb->s_feature_compat) -+ error_msg_and_die("Unsupported compat features"); -+ if (fs->sb->s_feature_incompat) -+ error_msg_and_die("Unsupported incompat features"); -+ if (fs->sb->s_feature_ro_compat -+ & ~EXT2_FEATURE_RO_COMPAT_LARGE_FILE) -+ error_msg_and_die("Unsupported ro compat features"); -+ } -+ -+ set_file_size(fs); - return fs; - } - - static void - free_fs(filesystem *fs) - { -+ free(fs->hdlinks.hdl); -+ fclose(fs->f); -+ free(fs->sb); - free(fs); - } - -@@ -2123,16 +2812,23 @@ - { - blockwalker bw; - uint32 bk; -- int32 fsize = get_nod(fs, nod)->i_size; -+ nod_info *ni; -+ inode *node = get_nod(fs, nod, &ni); -+ int32 fsize = node->i_size; -+ blk_info *bi; -+ - init_bw(&bw); - while((bk = walk_bw(fs, nod, &bw, 0, 0)) != WALK_END) - { - if(fsize <= 0) - error_msg_and_die("wrong size while saving inode %d", nod); -- if(fwrite(get_blk(fs, bk), (fsize > BLOCKSIZE) ? BLOCKSIZE : fsize, 1, f) != 1) -+ if(fwrite(get_blk(fs, bk, &bi), -+ (fsize > BLOCKSIZE) ? BLOCKSIZE : fsize, 1, f) != 1) - error_msg_and_die("error while saving inode %d", nod); -+ put_blk(bi); - fsize -= BLOCKSIZE; - } -+ put_nod(ni); - } - - -@@ -2141,8 +2837,11 @@ - print_dev(filesystem *fs, uint32 nod) - { - int minor, major; -- minor = ((uint8*)get_nod(fs, nod)->i_block)[0]; -- major = ((uint8*)get_nod(fs, nod)->i_block)[1]; -+ nod_info *ni; -+ inode *node = get_nod(fs, nod, &ni); -+ minor = ((uint8*)node->i_block)[0]; -+ major = ((uint8*)node->i_block)[1]; -+ put_nod(ni); - printf("major: %d, minor: %d\n", major, minor); - } - -@@ -2157,17 +2856,15 @@ - while((bk = walk_bw(fs, nod, &bw, 0, 0)) != WALK_END) - { - directory *d; -- uint8 *b; -- b = get_blk(fs, bk); -- for(d = (directory*)b; (int8*)d + sizeof(*d) < (int8*)b + BLOCKSIZE; d = (directory*)((int8*)d + d->d_rec_len)) -+ dirwalker dw; -+ for (d = get_dir(fs, bk, &dw); d; d = next_dir(&dw)) - if(d->d_inode) - { -- int i; - printf("entry '"); -- for(i = 0; i < d->d_name_len; i++) -- putchar(d->d_name[i]); -+ fwrite(dir_name(&dw), 1, d->d_name_len, stdout); - printf("' (inode %d): rec_len: %d (name_len: %d)\n", d->d_inode, d->d_rec_len, d->d_name_len); - } -+ put_dir(&dw); - } - } - -@@ -2175,14 +2872,18 @@ - static void - print_link(filesystem *fs, uint32 nod) - { -- if(!get_nod(fs, nod)->i_blocks) -- printf("links to '%s'\n", (char*)get_nod(fs, nod)->i_block); -+ nod_info *ni; -+ inode *node = get_nod(fs, nod, &ni); -+ -+ if(!node->i_blocks) -+ printf("links to '%s'\n", (char*)node->i_block); - else - { - printf("links to '"); - write_blocks(fs, nod, stdout); - printf("'\n"); - } -+ put_nod(ni); - } - - // make a ls-like printout of permissions -@@ -2251,8 +2952,13 @@ - { - char *s; - char perms[11]; -- if(!get_nod(fs, nod)->i_mode) -- return; -+ nod_info *ni; -+ inode *node = get_nod(fs, nod, &ni); -+ blk_info *bi; -+ gd_info *gi; -+ -+ if(!node->i_mode) -+ goto out; - switch(nod) - { - case EXT2_BAD_INO: -@@ -2274,15 +2980,18 @@ - default: - s = (nod >= EXT2_FIRST_INO) ? "normal" : "unknown reserved"; - } -- printf("inode %d (%s, %d links): ", nod, s, get_nod(fs, nod)->i_links_count); -- if(!allocated(GRP_GET_INODE_BITMAP(fs,nod), GRP_IBM_OFFSET(fs,nod))) -+ printf("inode %d (%s, %d links): ", nod, s, node->i_links_count); -+ if(!allocated(GRP_GET_INODE_BITMAP(fs,nod,&bi,&gi), GRP_IBM_OFFSET(fs,nod))) - { -+ GRP_PUT_INODE_BITMAP(bi,gi); - printf("unallocated\n"); -- return; -+ goto out; - } -- make_perms(get_nod(fs, nod)->i_mode, perms); -- printf("%s, size: %d byte%s (%d block%s)\n", perms, plural(get_nod(fs, nod)->i_size), plural(get_nod(fs, nod)->i_blocks / INOBLK)); -- switch(get_nod(fs, nod)->i_mode & FM_IFMT) -+ GRP_PUT_INODE_BITMAP(bi,gi); -+ make_perms(node->i_mode, perms); -+ printf("%s, size: %d byte%s (%d block%s)\n", perms, -+ plural(node->i_size), plural(node->i_blocks / INOBLK)); -+ switch(node->i_mode & FM_IFMT) - { - case FM_IFSOCK: - list_blocks(fs, nod); -@@ -2310,6 +3019,8 @@ - list_blocks(fs, nod); - } - printf("Done with inode %d\n",nod); -+out: -+ put_nod(ni); - } - - // describes various fields in a filesystem -@@ -2317,49 +3028,65 @@ - print_fs(filesystem *fs) - { - uint32 i; -+ blk_info *bi; -+ groupdescriptor *gd; -+ gd_info *gi; - uint8 *ibm; - - printf("%d blocks (%d free, %d reserved), first data block: %d\n", -- fs->sb.s_blocks_count, fs->sb.s_free_blocks_count, -- fs->sb.s_r_blocks_count, fs->sb.s_first_data_block); -- printf("%d inodes (%d free)\n", fs->sb.s_inodes_count, -- fs->sb.s_free_inodes_count); -+ fs->sb->s_blocks_count, fs->sb->s_free_blocks_count, -+ fs->sb->s_r_blocks_count, fs->sb->s_first_data_block); -+ printf("%d inodes (%d free)\n", fs->sb->s_inodes_count, -+ fs->sb->s_free_inodes_count); - printf("block size = %d, frag size = %d\n", -- fs->sb.s_log_block_size ? (fs->sb.s_log_block_size << 11) : 1024, -- fs->sb.s_log_frag_size ? (fs->sb.s_log_frag_size << 11) : 1024); -+ fs->sb->s_log_block_size ? (fs->sb->s_log_block_size << 11) : 1024, -+ fs->sb->s_log_frag_size ? (fs->sb->s_log_frag_size << 11) : 1024); - printf("number of groups: %d\n",GRP_NBGROUPS(fs)); - printf("%d blocks per group,%d frags per group,%d inodes per group\n", -- fs->sb.s_blocks_per_group, fs->sb.s_frags_per_group, -- fs->sb.s_inodes_per_group); -+ fs->sb->s_blocks_per_group, fs->sb->s_frags_per_group, -+ fs->sb->s_inodes_per_group); - printf("Size of inode table: %d blocks\n", -- (int)(fs->sb.s_inodes_per_group * sizeof(inode) / BLOCKSIZE)); -+ (int)(fs->sb->s_inodes_per_group * sizeof(inode) / BLOCKSIZE)); - for (i = 0; i < GRP_NBGROUPS(fs); i++) { - printf("Group No: %d\n", i+1); -+ gd = get_gd(fs, i, &gi); - printf("block bitmap: block %d,inode bitmap: block %d, inode table: block %d\n", -- fs->gd[i].bg_block_bitmap, fs->gd[i].bg_inode_bitmap, -- fs->gd[i].bg_inode_table); -+ gd->bg_block_bitmap, -+ gd->bg_inode_bitmap, -+ gd->bg_inode_table); - printf("block bitmap allocation:\n"); -- print_bm(GRP_GET_GROUP_BBM(fs, i),fs->sb.s_blocks_per_group); -+ print_bm(GRP_GET_GROUP_BBM(fs, gd, &bi),fs->sb->s_blocks_per_group); -+ GRP_PUT_GROUP_BBM(bi); - printf("inode bitmap allocation:\n"); -- ibm = GRP_GET_GROUP_IBM(fs, i); -- print_bm(ibm, fs->sb.s_inodes_per_group); -- for (i = 1; i <= fs->sb.s_inodes_per_group; i++) -+ ibm = GRP_GET_GROUP_IBM(fs, gd, &bi); -+ print_bm(ibm, fs->sb->s_inodes_per_group); -+ for (i = 1; i <= fs->sb->s_inodes_per_group; i++) - if (allocated(ibm, i)) - print_inode(fs, i); -+ GRP_PUT_GROUP_IBM(bi); -+ put_gd(gi); - } - } - - static void --dump_fs(filesystem *fs, FILE * fh, int swapit) -+finish_fs(filesystem *fs) - { -- uint32 nbblocks = fs->sb.s_blocks_count; -- fs->sb.s_reserved[200] = 0; -- if(swapit) -- swap_goodfs(fs); -- if(fwrite(fs, BLOCKSIZE, nbblocks, fh) < nbblocks) -- perror_msg_and_die("output filesystem image"); -- if(swapit) -- swap_badfs(fs); -+ if (cache_flush(&fs->inodes)) -+ error_msg_and_die("entry mismatch on inode cache flush"); -+ if (cache_flush(&fs->blkmaps)) -+ error_msg_and_die("entry mismatch on blockmap cache flush"); -+ if (cache_flush(&fs->gds)) -+ error_msg_and_die("entry mismatch on gd cache flush"); -+ if (cache_flush(&fs->blks)) -+ error_msg_and_die("entry mismatch on block cache flush"); -+ if(fs->swapit) -+ swap_sb(fs->sb); -+ if (fseek(fs->f, SUPERBLOCK_OFFSET, SEEK_SET)) -+ perror_msg_and_die("fseek"); -+ if(fwrite(fs->sb, SUPERBLOCK_SIZE, 1, fs->f) != 1) -+ perror_msg_and_die("output filesystem superblock"); -+ if(fs->swapit) -+ swap_sb(fs->sb); - } - - static void -@@ -2419,10 +3146,12 @@ - " -x, --starting-image \n" - " -d, --root \n" - " -D, --devtable \n" -+ " -B, --block-size \n" - " -b, --size-in-blocks \n" - " -i, --bytes-per-inode \n" - " -N, --number-of-inodes \n" - " -m, --reserved-percentage \n" -+ " -o, --creator-os 'linux' (default), 'hurd', 'freebsd' or number.\n" - " -g, --block-map Generate a block map file for this path.\n" - " -e, --fill-value Fill unallocated blocks with value.\n" - " -z, --allow-holes Allow files with holes.\n" -@@ -2444,15 +3173,34 @@ - extern char* optarg; - extern int optind, opterr, optopt; - -+// parse the value for -o -+int -+lookup_creator_os(const char *name) -+{ -+ if (isdigit (*name)) -+ return atoi(name); -+ else if (strcasecmp(name, "linux") == 0) -+ return EXT2_OS_LINUX; -+ else if (strcasecmp(name, "GNU") == 0 || strcasecmp(name, "hurd") == 0) -+ return EXT2_OS_HURD; -+ else if (strcasecmp(name, "freebsd") == 0) -+ return EXT2_OS_FREEBSD; -+ else if (strcasecmp(name, "lites") == 0) -+ return EXT2_OS_LITES; -+ else -+ return EXT2_OS_LINUX; -+} -+ - int - main(int argc, char **argv) - { -- int nbblocks = -1; -+ long long nbblocks = -1; - int nbinodes = -1; - int nbresrvd = -1; - float bytes_per_inode = -1; - float reserved_frac = -1; - int fs_timestamp = -1; -+ int creator_os = CREATOR_OS; - char * fsout = "-"; - char * fsin = 0; - char * dopt[MAX_DOPT]; -@@ -2466,6 +3214,7 @@ - int squash_perms = 0; - uint16 endian = 1; - int bigendian = !*(char*)&endian; -+ char *volumelabel = NULL; - filesystem *fs; - int i; - int c; -@@ -2476,13 +3225,16 @@ - { "starting-image", required_argument, NULL, 'x' }, - { "root", required_argument, NULL, 'd' }, - { "devtable", required_argument, NULL, 'D' }, -+ { "block-size", required_argument, NULL, 'B' }, - { "size-in-blocks", required_argument, NULL, 'b' }, - { "bytes-per-inode", required_argument, NULL, 'i' }, - { "number-of-inodes", required_argument, NULL, 'N' }, -+ { "volume-label", required_argument, NULL, 'L' }, - { "reserved-percentage", required_argument, NULL, 'm' }, -+ { "creator-os", required_argument, NULL, 'o' }, - { "block-map", required_argument, NULL, 'g' }, - { "fill-value", required_argument, NULL, 'e' }, -- { "allow-holes", no_argument, NULL, 'z' }, -+ { "allow-holes", no_argument, NULL, 'z' }, - { "faketime", no_argument, NULL, 'f' }, - { "squash", no_argument, NULL, 'q' }, - { "squash-uids", no_argument, NULL, 'U' }, -@@ -2495,11 +3247,11 @@ - - app_name = argv[0]; - -- while((c = getopt_long(argc, argv, "x:d:D:b:i:N:m:g:e:zfqUPhVv", longopts, NULL)) != EOF) { -+ while((c = getopt_long(argc, argv, "x:d:D:B:b:i:N:L:m:o:g:e:zfqUPhVv", longopts, NULL)) != EOF) { - #else - app_name = argv[0]; - -- while((c = getopt(argc, argv, "x:d:D:b:i:N:m:g:e:zfqUPhVv")) != EOF) { -+ while((c = getopt(argc, argv, "x:d:D:B:b:i:N:L:m:o:g:e:zfqUPhVv")) != EOF) { - #endif /* HAVE_GETOPT_LONG */ - switch(c) - { -@@ -2510,6 +3262,9 @@ - case 'D': - dopt[didx++] = optarg; - break; -+ case 'B': -+ blocksize = SI_atof(optarg); -+ break; - case 'b': - nbblocks = SI_atof(optarg); - break; -@@ -2519,9 +3274,15 @@ - case 'N': - nbinodes = SI_atof(optarg); - break; -+ case 'L': -+ volumelabel = optarg; -+ break; - case 'm': - reserved_frac = SI_atof(optarg) / 100; - break; -+ case 'o': -+ creator_os = lookup_creator_os(optarg); -+ break; - case 'g': - gopt[gidx++] = optarg; - break; -@@ -2565,21 +3326,21 @@ - error_msg_and_die("Not enough arguments. Try --help or else see the man page."); - fsout = argv[optind]; - -- hdlinks.hdl = (struct hdlink_s *)malloc(hdlink_cnt * sizeof(struct hdlink_s)); -- if (!hdlinks.hdl) -- error_msg_and_die("Not enough memory"); -- hdlinks.count = 0 ; -+ if(blocksize != 1024 && blocksize != 2048 && blocksize != 4096) -+ error_msg_and_die("Valid block sizes: 1024, 2048 or 4096."); -+ if(creator_os < 0) -+ error_msg_and_die("Creator OS unknown."); - - if(fsin) - { - if(strcmp(fsin, "-")) - { - FILE * fh = xfopen(fsin, "rb"); -- fs = load_fs(fh, bigendian); -+ fs = load_fs(fh, bigendian, fsout); - fclose(fh); - } - else -- fs = load_fs(stdin, bigendian); -+ fs = load_fs(stdin, bigendian, fsout); - } - else - { -@@ -2609,16 +3370,29 @@ - } - if(fs_timestamp == -1) - fs_timestamp = time(NULL); -- fs = init_fs(nbblocks, nbinodes, nbresrvd, holes, fs_timestamp); -+ fs = init_fs(nbblocks, nbinodes, nbresrvd, holes, -+ fs_timestamp, creator_os, bigendian, fsout); - } -+ if (volumelabel != NULL) -+ strncpy((char *)fs->sb->s_volume_name, volumelabel, -+ sizeof(fs->sb->s_volume_name)); - - populate_fs(fs, dopt, didx, squash_uids, squash_perms, fs_timestamp, NULL); - - if(emptyval) { - uint32 b; -- for(b = 1; b < fs->sb.s_blocks_count; b++) -- if(!allocated(GRP_GET_BLOCK_BITMAP(fs,b),GRP_BBM_OFFSET(fs,b))) -- memset(get_blk(fs, b), emptyval, BLOCKSIZE); -+ for(b = 1; b < fs->sb->s_blocks_count; b++) { -+ blk_info *bi; -+ gd_info *gi; -+ if(!allocated(GRP_GET_BLOCK_BITMAP(fs,b,&bi,&gi), -+ GRP_BBM_OFFSET(fs,b))) { -+ blk_info *bi2; -+ memset(get_blk(fs, b, &bi2), emptyval, -+ BLOCKSIZE); -+ put_blk(bi2); -+ } -+ GRP_PUT_BLOCK_BITMAP(bi,gi); -+ } - } - if(verbose) - print_fs(fs); -@@ -2628,24 +3402,22 @@ - char fname[MAX_FILENAME]; - char *p; - FILE *fh; -+ nod_info *ni; - if(!(nod = find_path(fs, EXT2_ROOT_INO, gopt[i]))) - error_msg_and_die("path %s not found in filesystem", gopt[i]); - while((p = strchr(gopt[i], '/'))) - *p = '_'; - SNPRINTF(fname, MAX_FILENAME-1, "%s.blk", gopt[i]); - fh = xfopen(fname, "wb"); -- fprintf(fh, "%d:", get_nod(fs, nod)->i_size); -+ fprintf(fh, "%d:", get_nod(fs, nod, &ni)->i_size); -+ put_nod(ni); - flist_blocks(fs, nod, fh); - fclose(fh); - } -- if(strcmp(fsout, "-")) -- { -- FILE * fh = xfopen(fsout, "wb"); -- dump_fs(fs, fh, bigendian); -- fclose(fh); -- } -- else -- dump_fs(fs, stdout, bigendian); -+ finish_fs(fs); -+ if(strcmp(fsout, "-") == 0) -+ copy_file(fs, stdout, fs->f, fs->sb->s_blocks_count); -+ - free_fs(fs); - return 0; - } -Index: genext2fs-1.4.1/cache.h -=================================================================== ---- /dev/null -+++ genext2fs-1.4.1/cache.h -@@ -0,0 +1,128 @@ -+#ifndef __CACHE_H__ -+#define __CACHE_H__ -+ -+#include "list.h" -+ -+#define CACHE_LISTS 256 -+ -+typedef struct -+{ -+ list_elem link; -+ list_elem lru_link; -+} cache_link; -+ -+typedef struct -+{ -+ /* LRU list holds unused items */ -+ unsigned int lru_entries; -+ list_elem lru_list; -+ unsigned int max_free_entries; -+ -+ unsigned int entries; -+ list_elem lists[CACHE_LISTS]; -+ unsigned int (*elem_val)(cache_link *elem); -+ void (*freed)(cache_link *elem); -+} listcache; -+ -+static inline void -+cache_add(listcache *c, cache_link *elem) -+{ -+ unsigned int hash = c->elem_val(elem) % CACHE_LISTS; -+ int delcount = c->lru_entries - c->max_free_entries; -+ -+ if (delcount > 0) { -+ /* Delete some unused items. */ -+ list_elem *lru, *next; -+ cache_link *l; -+ list_for_each_elem_safe(&c->lru_list, lru, next) { -+ l = container_of(lru, cache_link, lru_link); -+ list_del(lru); -+ list_del(&l->link); -+ c->entries--; -+ c->lru_entries--; -+ c->freed(l); -+ delcount--; -+ if (delcount <= 0) -+ break; -+ } -+ } -+ -+ c->entries++; -+ list_item_init(&elem->lru_link); /* Mark it not in the LRU list */ -+ list_add_after(&c->lists[hash], &elem->link); -+} -+ -+static inline void -+cache_item_set_unused(listcache *c, cache_link *elem) -+{ -+ list_add_before(&c->lru_list, &elem->lru_link); -+ c->lru_entries++; -+} -+ -+static inline cache_link * -+cache_find(listcache *c, unsigned int val) -+{ -+ unsigned int hash = val % CACHE_LISTS; -+ list_elem *elem; -+ -+ list_for_each_elem(&c->lists[hash], elem) { -+ cache_link *l = container_of(elem, cache_link, link); -+ if (c->elem_val(l) == val) { -+ if (!list_empty(&l->lru_link)) { -+ /* It's in the unused list, remove it. */ -+ list_del(&l->lru_link); -+ list_item_init(&l->lru_link); -+ c->lru_entries--; -+ } -+ return l; -+ } -+ } -+ return NULL; -+} -+ -+static inline int -+cache_flush(listcache *c) -+{ -+ list_elem *elem, *next; -+ cache_link *l; -+ int i; -+ -+ list_for_each_elem_safe(&c->lru_list, elem, next) { -+ l = container_of(elem, cache_link, lru_link); -+ list_del(elem); -+ list_del(&l->link); -+ c->entries--; -+ c->lru_entries--; -+ c->freed(l); -+ } -+ -+ for (i = 0; i < CACHE_LISTS; i++) { -+ list_for_each_elem_safe(&c->lists[i], elem, next) { -+ l = container_of(elem, cache_link, link); -+ list_del(&l->link); -+ c->entries--; -+ c->freed(l); -+ } -+ } -+ -+ return c->entries || c->lru_entries; -+} -+ -+static inline void -+cache_init(listcache *c, unsigned int max_free_entries, -+ unsigned int (*elem_val)(cache_link *elem), -+ void (*freed)(cache_link *elem)) -+{ -+ int i; -+ -+ c->entries = 0; -+ c->lru_entries = 0; -+ c->max_free_entries = max_free_entries; -+ list_init(&c->lru_list); -+ for (i = 0; i < CACHE_LISTS; i++) -+ list_init(&c->lists[i]); -+ c->elem_val = elem_val; -+ c->freed = freed; -+} -+ -+#endif /* __CACHE_H__ */ -Index: genext2fs-1.4.1/list.h -=================================================================== ---- /dev/null -+++ genext2fs-1.4.1/list.h -@@ -0,0 +1,78 @@ -+#ifndef __LIST_H__ -+#define __LIST_H__ -+ -+#if STDC_HEADERS -+# include -+# include -+#else -+# if HAVE_STDLIB_H -+# include -+# endif -+# if HAVE_STDDEF_H -+# include -+# endif -+#endif -+ -+#ifndef offsetof -+#define offsetof(st, m) \ -+ ((size_t) ( (char *)&((st *)(0))->m - (char *)0 )) -+#endif -+ -+#define container_of(ptr, type, member) ({ \ -+ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ -+ (type *)( (char *)__mptr - offsetof(type,member) );}) -+ -+typedef struct list_elem -+{ -+ struct list_elem *next; -+ struct list_elem *prev; -+} list_elem; -+ -+static inline void list_init(list_elem *list) -+{ -+ list->next = list; -+ list->prev = list; -+} -+ -+static inline void list_add_after(list_elem *pos, list_elem *elem) -+{ -+ elem->next = pos->next; -+ elem->prev = pos; -+ pos->next->prev = elem; -+ pos->next = elem; -+} -+ -+static inline void list_add_before(list_elem *pos, list_elem *elem) -+{ -+ elem->prev = pos->prev; -+ elem->next = pos; -+ pos->prev->next = elem; -+ pos->prev = elem; -+} -+ -+static inline void list_del(list_elem *elem) -+{ -+ elem->next->prev = elem->prev; -+ elem->prev->next = elem->next; -+} -+ -+static inline void list_item_init(list_elem *elem) -+{ -+ elem->next = elem; -+ elem->prev = elem; -+} -+ -+static inline int list_empty(list_elem *elem) -+{ -+ return elem->next == elem; -+} -+ -+#define list_for_each_elem(list, curr) \ -+ for ((curr) = (list)->next; (curr) != (list); (curr) = (curr)->next) -+ -+#define list_for_each_elem_safe(list, curr, next) \ -+ for ((curr) = (list)->next, (next) = (curr)->next; \ -+ (curr) != (list); \ -+ (curr) = (next), (next) = (curr)->next) -+ -+#endif /* __LIST_H__ */ diff --git a/package/genpart/0001-fix-return-code.patch b/package/genpart/0001-fix-return-code.patch new file mode 100644 index 0000000000..ec18c82f8c --- /dev/null +++ b/package/genpart/0001-fix-return-code.patch @@ -0,0 +1,25 @@ +genpart: return 0 if partition writen OK, with no do_magic + +If do_magic is false, we don't won't write the 0xaa55 magic. +However, if we succesfully wrote the partition entry, we still +want to return 0 to indicate success. + +Signed-off-by: "Yann E. MORIN" +Cc: Robert Schwebel + +-- +Patch sent upstream, but no mailing list. +Status: accepted upstream, not yet released. + +diff -durN host-genpart-1.0.2.orig/src/genpart.c host-genpart-1.0.2/src/genpart.c +--- host-genpart-1.0.2.orig/src/genpart.c 2009-12-20 21:54:56.000000000 +0100 ++++ host-genpart-1.0.2/src/genpart.c 2013-01-22 23:13:24.109752579 +0100 +@@ -92,6 +92,8 @@ + if (do_magic) { + if (fwrite(&magic, 2, 1, stdout) > 0) + rc=0; ++ } else { ++ rc=0; + } + } + return rc; diff --git a/package/genpart/genpart-fix-return-code.patch b/package/genpart/genpart-fix-return-code.patch deleted file mode 100644 index ec18c82f8c..0000000000 --- a/package/genpart/genpart-fix-return-code.patch +++ /dev/null @@ -1,25 +0,0 @@ -genpart: return 0 if partition writen OK, with no do_magic - -If do_magic is false, we don't won't write the 0xaa55 magic. -However, if we succesfully wrote the partition entry, we still -want to return 0 to indicate success. - -Signed-off-by: "Yann E. MORIN" -Cc: Robert Schwebel - --- -Patch sent upstream, but no mailing list. -Status: accepted upstream, not yet released. - -diff -durN host-genpart-1.0.2.orig/src/genpart.c host-genpart-1.0.2/src/genpart.c ---- host-genpart-1.0.2.orig/src/genpart.c 2009-12-20 21:54:56.000000000 +0100 -+++ host-genpart-1.0.2/src/genpart.c 2013-01-22 23:13:24.109752579 +0100 -@@ -92,6 +92,8 @@ - if (do_magic) { - if (fwrite(&magic, 2, 1, stdout) > 0) - rc=0; -+ } else { -+ rc=0; - } - } - return rc; diff --git a/package/genromfs/0001-build-system.patch b/package/genromfs/0001-build-system.patch new file mode 100644 index 0000000000..827fe75bd2 --- /dev/null +++ b/package/genromfs/0001-build-system.patch @@ -0,0 +1,26 @@ +--- + Makefile | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +Index: genromfs-0.5.2/Makefile +=================================================================== +--- genromfs-0.5.2.orig/Makefile ++++ genromfs-0.5.2/Makefile +@@ -6,8 +6,6 @@ + PACKAGE = genromfs + VERSION = 0.5.2 + CC = gcc +-CFLAGS = -O2 -Wall -DVERSION=\"$(VERSION)\"#-g# +-LDFLAGS = -s#-g + + DISTDIR = $(PACKAGE)-$(VERSION) + +@@ -24,7 +22,7 @@ + $(CC) $(LDFLAGS) genromfs.o -o genromfs + + .c.o: +- $(CC) $(CFLAGS) $< -c -o $@ ++ $(CC) $(CFLAGS) -DVERSION=\"$(VERSION)\" $< -c -o $@ + + clean: + rm -f genromfs *.o diff --git a/package/genromfs/genromfs-0.5.2-build-system.patch b/package/genromfs/genromfs-0.5.2-build-system.patch deleted file mode 100644 index 827fe75bd2..0000000000 --- a/package/genromfs/genromfs-0.5.2-build-system.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- - Makefile | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -Index: genromfs-0.5.2/Makefile -=================================================================== ---- genromfs-0.5.2.orig/Makefile -+++ genromfs-0.5.2/Makefile -@@ -6,8 +6,6 @@ - PACKAGE = genromfs - VERSION = 0.5.2 - CC = gcc --CFLAGS = -O2 -Wall -DVERSION=\"$(VERSION)\"#-g# --LDFLAGS = -s#-g - - DISTDIR = $(PACKAGE)-$(VERSION) - -@@ -24,7 +22,7 @@ - $(CC) $(LDFLAGS) genromfs.o -o genromfs - - .c.o: -- $(CC) $(CFLAGS) $< -c -o $@ -+ $(CC) $(CFLAGS) -DVERSION=\"$(VERSION)\" $< -c -o $@ - - clean: - rm -f genromfs *.o diff --git a/package/gettext/0001-error_print_progname.patch b/package/gettext/0001-error_print_progname.patch new file mode 100644 index 0000000000..189d28b576 --- /dev/null +++ b/package/gettext/0001-error_print_progname.patch @@ -0,0 +1,14 @@ +--- gettext-0.16.1.oorig/gettext-tools/gnulib-lib/error.h 2006-11-27 18:14:50.000000000 +0100 ++++ gettext-0.16.1/gettext-tools/gnulib-lib/error.h 2007-06-20 13:29:32.000000000 +0200 +@@ -50,7 +50,10 @@ extern void error_at_line (int __status, + /* If NULL, error will flush stdout, then print on stderr the program + name, a colon and a space. Otherwise, error will call this + function without parameters instead. */ +-extern DLL_VARIABLE void (*error_print_progname) (void); ++#ifndef __UCLIBC__ ++extern DLL_VARIABLE ++#endif ++void (*error_print_progname) (void); + + /* This variable is incremented each time `error' is called. */ + extern DLL_VARIABLE unsigned int error_message_count; diff --git a/package/gettext/gettext-01-error_print_progname.patch b/package/gettext/gettext-01-error_print_progname.patch deleted file mode 100644 index 189d28b576..0000000000 --- a/package/gettext/gettext-01-error_print_progname.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- gettext-0.16.1.oorig/gettext-tools/gnulib-lib/error.h 2006-11-27 18:14:50.000000000 +0100 -+++ gettext-0.16.1/gettext-tools/gnulib-lib/error.h 2007-06-20 13:29:32.000000000 +0200 -@@ -50,7 +50,10 @@ extern void error_at_line (int __status, - /* If NULL, error will flush stdout, then print on stderr the program - name, a colon and a space. Otherwise, error will call this - function without parameters instead. */ --extern DLL_VARIABLE void (*error_print_progname) (void); -+#ifndef __UCLIBC__ -+extern DLL_VARIABLE -+#endif -+void (*error_print_progname) (void); - - /* This variable is incremented each time `error' is called. */ - extern DLL_VARIABLE unsigned int error_message_count; diff --git a/package/giblib/0001-fix-imlib2-detection.patch b/package/giblib/0001-fix-imlib2-detection.patch new file mode 100644 index 0000000000..2323107941 --- /dev/null +++ b/package/giblib/0001-fix-imlib2-detection.patch @@ -0,0 +1,127 @@ +configure.ac + Makefile.am: fix the imlib2 detection + +Although imlib2 is correctly checked for, the variables used to get +the CFLAGS and LIBS are wrong (perhaps a remnant of the pre-imlib2 +era, when giblib was using imlib). + +Signed-off-by: "Yann E. MORIN" + +diff --git a/configure.ac b/configure.ac +index 6807d86..c8874f0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -18,16 +18,10 @@ AM_MAINTAINER_MODE + AM_WITH_DMALLOC + + AC_PATH_GENERIC(imlib2, 1.0.0, [ +- AC_SUBST(IMLIB_LIBS) +- AC_SUBST(IMLIB_CFLAGS) ], ++ AC_SUBST(IMLIB2_LIBS) ++ AC_SUBST(IMLIB2_CFLAGS) ], + AC_MSG_ERROR(Cannot find imlib2: Is imlib2-config in the path?) ) + +-dnl the above doesn't work for some reason :/ +-IMLIB_LIBS=`imlib2-config --libs` +-IMLIB_CFLAGS=`imlib2-config --cflags` +-AC_SUBST(IMLIB_LIBS) +-AC_SUBST(IMLIB_CFLAGS) +- + LIBS="$LIBS -lm" + CFLAGS="$CFLAGS -Wall" + +@@ -48,7 +42,7 @@ $PACKAGE $VERSION + Configuration: + -------------- + +-Imlib2 libs: $IMLIB_LIBS +-Imlib2 cflags: $IMLIB_CFLAGS ++Imlib2 libs: $IMLIB2_LIBS ++Imlib2 cflags: $IMLIB2_CFLAGS + CFLAGS: $CFLAGS + " +diff --git a/configure.in b/configure.in +index 432cb16..6999095 100644 +--- a/configure.in ++++ b/configure.in +@@ -17,16 +17,10 @@ AM_MAINTAINER_MODE + AM_WITH_DMALLOC + + AC_PATH_GENERIC(imlib2, 1.0.0, [ +- AC_SUBST(IMLIB_LIBS) +- AC_SUBST(IMLIB_CFLAGS) ], ++ AC_SUBST(IMLIB2_LIBS) ++ AC_SUBST(IMLIB2_CFLAGS) ], + AC_MSG_ERROR(Cannot find imlib2: Is imlib2-config in the path?) ) + +-dnl the above doesn't work for some reason :/ +-IMLIB_LIBS=`imlib2-config --libs` +-IMLIB_CFLAGS=`imlib2-config --cflags` +-AC_SUBST(IMLIB_LIBS) +-AC_SUBST(IMLIB_CFLAGS) +- + LIBS="$LIBS -lm" + CFLAGS="$CFLAGS -Wall" + +@@ -45,7 +39,7 @@ $PACKAGE $VERSION + Configuration: + -------------- + +-Imlib2 libs: $IMLIB_LIBS +-Imlib2 cflags: $IMLIB_CFLAGS ++Imlib2 libs: $IMLIB2_LIBS ++Imlib2 cflags: $IMLIB2_CFLAGS + CFLAGS: $CFLAGS + " +diff --git a/giblib-config.in b/giblib-config.in +index f3a7db6..cef1620 100644 +--- a/giblib-config.in ++++ b/giblib-config.in +@@ -42,11 +42,11 @@ while test $# -gt 0; do + if test @includedir@ != /usr/include ; then + includes=-I@includedir@ + fi +- echo $includes -I$prefix/include/giblib @IMLIB_CFLAGS@ ++ echo $includes -I$prefix/include/giblib @IMLIB2_CFLAGS@ + ;; + --libs) + libdirs=-L@libdir@ +- echo $libdirs -lgiblib @LDFLAGS@ @IMLIB_LIBS@ ++ echo $libdirs -lgiblib @LDFLAGS@ @IMLIB2_LIBS@ + ;; + *) + echo "${usage}" 1>&2 +diff --git a/giblib.pc.in b/giblib.pc.in +index df520ae..783e6e1 100644 +--- a/giblib.pc.in ++++ b/giblib.pc.in +@@ -6,6 +6,6 @@ includedir=@includedir@ + Name: giblib + Description: wrapper library for imlib2, and other stuff + Version: @VERSION@ +-Libs: -L${libdir} -lgiblib @LDFLAGS@ @IMLIB_LIBS@ +-Cflags: -I${includedir} -I${includedir}/giblib @IMLIB_CFLAGS@ ++Libs: -L${libdir} -lgiblib @LDFLAGS@ @IMLIB2_LIBS@ ++Cflags: -I${includedir} -I${includedir}/giblib @IMLIB2_CFLAGS@ + +diff --git a/giblib/Makefile.am b/giblib/Makefile.am +index d1edc09..49d8ac4 100644 +--- a/giblib/Makefile.am ++++ b/giblib/Makefile.am +@@ -3,7 +3,7 @@ MAINTAINERCLEANFILES = Makefile.in + + INCLUDES = \ + -I. -I$(top_srcdir) \ +--DPREFIX=\""$(prefix)"\" @IMLIB_CFLAGS@ ++-DPREFIX=\""$(prefix)"\" @IMLIB2_CFLAGS@ + + lib_LTLIBRARIES = libgiblib.la + +@@ -24,7 +24,7 @@ libgiblib_la_SOURCES = \ + gib_utils.c gib_utils.h \ + gib_queue.c gib_queue.h + +-libgiblib_la_LIBADD = @IMLIB_LIBS@ ++libgiblib_la_LIBADD = @IMLIB2_LIBS@ + libgiblib_la_DEPENDENCIES = giblib_config.h + libgiblib_la_LDFLAGS = -version-info 1:6:0 + diff --git a/package/giblib/giblib-fix-imlib2-detection.patch b/package/giblib/giblib-fix-imlib2-detection.patch deleted file mode 100644 index 2323107941..0000000000 --- a/package/giblib/giblib-fix-imlib2-detection.patch +++ /dev/null @@ -1,127 +0,0 @@ -configure.ac + Makefile.am: fix the imlib2 detection - -Although imlib2 is correctly checked for, the variables used to get -the CFLAGS and LIBS are wrong (perhaps a remnant of the pre-imlib2 -era, when giblib was using imlib). - -Signed-off-by: "Yann E. MORIN" - -diff --git a/configure.ac b/configure.ac -index 6807d86..c8874f0 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -18,16 +18,10 @@ AM_MAINTAINER_MODE - AM_WITH_DMALLOC - - AC_PATH_GENERIC(imlib2, 1.0.0, [ -- AC_SUBST(IMLIB_LIBS) -- AC_SUBST(IMLIB_CFLAGS) ], -+ AC_SUBST(IMLIB2_LIBS) -+ AC_SUBST(IMLIB2_CFLAGS) ], - AC_MSG_ERROR(Cannot find imlib2: Is imlib2-config in the path?) ) - --dnl the above doesn't work for some reason :/ --IMLIB_LIBS=`imlib2-config --libs` --IMLIB_CFLAGS=`imlib2-config --cflags` --AC_SUBST(IMLIB_LIBS) --AC_SUBST(IMLIB_CFLAGS) -- - LIBS="$LIBS -lm" - CFLAGS="$CFLAGS -Wall" - -@@ -48,7 +42,7 @@ $PACKAGE $VERSION - Configuration: - -------------- - --Imlib2 libs: $IMLIB_LIBS --Imlib2 cflags: $IMLIB_CFLAGS -+Imlib2 libs: $IMLIB2_LIBS -+Imlib2 cflags: $IMLIB2_CFLAGS - CFLAGS: $CFLAGS - " -diff --git a/configure.in b/configure.in -index 432cb16..6999095 100644 ---- a/configure.in -+++ b/configure.in -@@ -17,16 +17,10 @@ AM_MAINTAINER_MODE - AM_WITH_DMALLOC - - AC_PATH_GENERIC(imlib2, 1.0.0, [ -- AC_SUBST(IMLIB_LIBS) -- AC_SUBST(IMLIB_CFLAGS) ], -+ AC_SUBST(IMLIB2_LIBS) -+ AC_SUBST(IMLIB2_CFLAGS) ], - AC_MSG_ERROR(Cannot find imlib2: Is imlib2-config in the path?) ) - --dnl the above doesn't work for some reason :/ --IMLIB_LIBS=`imlib2-config --libs` --IMLIB_CFLAGS=`imlib2-config --cflags` --AC_SUBST(IMLIB_LIBS) --AC_SUBST(IMLIB_CFLAGS) -- - LIBS="$LIBS -lm" - CFLAGS="$CFLAGS -Wall" - -@@ -45,7 +39,7 @@ $PACKAGE $VERSION - Configuration: - -------------- - --Imlib2 libs: $IMLIB_LIBS --Imlib2 cflags: $IMLIB_CFLAGS -+Imlib2 libs: $IMLIB2_LIBS -+Imlib2 cflags: $IMLIB2_CFLAGS - CFLAGS: $CFLAGS - " -diff --git a/giblib-config.in b/giblib-config.in -index f3a7db6..cef1620 100644 ---- a/giblib-config.in -+++ b/giblib-config.in -@@ -42,11 +42,11 @@ while test $# -gt 0; do - if test @includedir@ != /usr/include ; then - includes=-I@includedir@ - fi -- echo $includes -I$prefix/include/giblib @IMLIB_CFLAGS@ -+ echo $includes -I$prefix/include/giblib @IMLIB2_CFLAGS@ - ;; - --libs) - libdirs=-L@libdir@ -- echo $libdirs -lgiblib @LDFLAGS@ @IMLIB_LIBS@ -+ echo $libdirs -lgiblib @LDFLAGS@ @IMLIB2_LIBS@ - ;; - *) - echo "${usage}" 1>&2 -diff --git a/giblib.pc.in b/giblib.pc.in -index df520ae..783e6e1 100644 ---- a/giblib.pc.in -+++ b/giblib.pc.in -@@ -6,6 +6,6 @@ includedir=@includedir@ - Name: giblib - Description: wrapper library for imlib2, and other stuff - Version: @VERSION@ --Libs: -L${libdir} -lgiblib @LDFLAGS@ @IMLIB_LIBS@ --Cflags: -I${includedir} -I${includedir}/giblib @IMLIB_CFLAGS@ -+Libs: -L${libdir} -lgiblib @LDFLAGS@ @IMLIB2_LIBS@ -+Cflags: -I${includedir} -I${includedir}/giblib @IMLIB2_CFLAGS@ - -diff --git a/giblib/Makefile.am b/giblib/Makefile.am -index d1edc09..49d8ac4 100644 ---- a/giblib/Makefile.am -+++ b/giblib/Makefile.am -@@ -3,7 +3,7 @@ MAINTAINERCLEANFILES = Makefile.in - - INCLUDES = \ - -I. -I$(top_srcdir) \ ---DPREFIX=\""$(prefix)"\" @IMLIB_CFLAGS@ -+-DPREFIX=\""$(prefix)"\" @IMLIB2_CFLAGS@ - - lib_LTLIBRARIES = libgiblib.la - -@@ -24,7 +24,7 @@ libgiblib_la_SOURCES = \ - gib_utils.c gib_utils.h \ - gib_queue.c gib_queue.h - --libgiblib_la_LIBADD = @IMLIB_LIBS@ -+libgiblib_la_LIBADD = @IMLIB2_LIBS@ - libgiblib_la_DEPENDENCIES = giblib_config.h - libgiblib_la_LDFLAGS = -version-info 1:6:0 - diff --git a/package/gmp/0001-arm-asm-conditional-on-no-thumb-1.patch b/package/gmp/0001-arm-asm-conditional-on-no-thumb-1.patch new file mode 100644 index 0000000000..eb678b01b0 --- /dev/null +++ b/package/gmp/0001-arm-asm-conditional-on-no-thumb-1.patch @@ -0,0 +1,21 @@ + +# HG changeset patch +# User Torbjorn Granlund +# Date 1396035313 -3600 +# Node ID c56ea318eb6435bdd28dbfef657b2fe372134f1f +# Parent c6fe20ab62acc266ff5ad3629bef447bc43dcd1b +Conditionalise ARM asm on !__thumb__. + +diff -r c6fe20ab62ac -r c56ea318eb64 mpn/generic/mod_1_1.c +--- a/mpn/generic/mod_1_1.c Wed Mar 26 12:58:33 2014 +0100 ++++ b/mpn/generic/mod_1_1.c Fri Mar 28 20:35:13 2014 +0100 +@@ -129,7 +129,7 @@ + "%2" ((UDItype)(a0)), "r" ((UDItype)(b0)) __CLOBBER_CC) + #endif + +-#if defined (__arm__) && W_TYPE_SIZE == 32 ++#if defined (__arm__) && !defined (__thumb__) && W_TYPE_SIZE == 32 + #define add_mssaaaa(m, sh, sl, ah, al, bh, bl) \ + __asm__ ( "adds %2, %5, %6\n\t" \ + "adcs %1, %3, %4\n\t" \ + diff --git a/package/gmp/0002-arm-asm-conditional-on-no-thumb-2.patch b/package/gmp/0002-arm-asm-conditional-on-no-thumb-2.patch new file mode 100644 index 0000000000..666cf58cf6 --- /dev/null +++ b/package/gmp/0002-arm-asm-conditional-on-no-thumb-2.patch @@ -0,0 +1,21 @@ + +# HG changeset patch +# User Torbjorn Granlund +# Date 1396602422 -7200 +# Node ID 676e2d0f0e4dd301a7066079d2c9326c25c34a40 +# Parent 0194a75b56b21a9196626430af86c5bd9110c42d +Conditionalise ARM asm on !__thumb__. + +diff -r 0194a75b56b2 -r 676e2d0f0e4d mpn/generic/div_qr_1n_pi1.c +--- a/mpn/generic/div_qr_1n_pi1.c Thu Apr 03 23:58:51 2014 +0200 ++++ b/mpn/generic/div_qr_1n_pi1.c Fri Apr 04 11:07:02 2014 +0200 +@@ -130,7 +130,7 @@ + "%2" ((UDItype)(a0)), "r" ((UDItype)(b0)) __CLOBBER_CC) + #endif + +-#if defined (__arm__) && W_TYPE_SIZE == 32 ++#if defined (__arm__) && !defined (__thumb__) && W_TYPE_SIZE == 32 + #define add_mssaaaa(m, sh, sl, ah, al, bh, bl) \ + __asm__ ( "adds %2, %5, %6\n\t" \ + "adcs %1, %3, %4\n\t" \ + diff --git a/package/gmp/0003-powerpc-provide-default-bmod-to-mod-threshold-1.patch b/package/gmp/0003-powerpc-provide-default-bmod-to-mod-threshold-1.patch new file mode 100644 index 0000000000..76aa72f086 --- /dev/null +++ b/package/gmp/0003-powerpc-provide-default-bmod-to-mod-threshold-1.patch @@ -0,0 +1,22 @@ + +# HG changeset patch +# User Torbjorn Granlund +# Date 1395835068 -3600 +# Node ID 4a6d258b467f661da0894cc60ecd060f2e3c67c7 +# Parent 301ce2788826a2d4d2725bd5cf01e998638db37a +Provide default for BMOD_1_TO_MOD_1_THRESHOLD. + +diff -r 301ce2788826 -r 4a6d258b467f mpn/powerpc64/mode64/gcd_1.asm +--- a/mpn/powerpc64/mode64/gcd_1.asm Tue Mar 25 15:34:52 2014 +0100 ++++ b/mpn/powerpc64/mode64/gcd_1.asm Wed Mar 26 12:57:48 2014 +0100 +@@ -43,6 +43,9 @@ + define(`n', `r4') + define(`v0', `r5') + ++ifdef(`BMOD_1_TO_MOD_1_THRESHOLD',, ++ `define(`BMOD_1_TO_MOD_1_THRESHOLD',30)') ++ + EXTERN_FUNC(mpn_mod_1) + EXTERN_FUNC(mpn_modexact_1c_odd) + + diff --git a/package/gmp/gmp-01-arm-asm-conditional-on-no-thumb-1.patch b/package/gmp/gmp-01-arm-asm-conditional-on-no-thumb-1.patch deleted file mode 100644 index eb678b01b0..0000000000 --- a/package/gmp/gmp-01-arm-asm-conditional-on-no-thumb-1.patch +++ /dev/null @@ -1,21 +0,0 @@ - -# HG changeset patch -# User Torbjorn Granlund -# Date 1396035313 -3600 -# Node ID c56ea318eb6435bdd28dbfef657b2fe372134f1f -# Parent c6fe20ab62acc266ff5ad3629bef447bc43dcd1b -Conditionalise ARM asm on !__thumb__. - -diff -r c6fe20ab62ac -r c56ea318eb64 mpn/generic/mod_1_1.c ---- a/mpn/generic/mod_1_1.c Wed Mar 26 12:58:33 2014 +0100 -+++ b/mpn/generic/mod_1_1.c Fri Mar 28 20:35:13 2014 +0100 -@@ -129,7 +129,7 @@ - "%2" ((UDItype)(a0)), "r" ((UDItype)(b0)) __CLOBBER_CC) - #endif - --#if defined (__arm__) && W_TYPE_SIZE == 32 -+#if defined (__arm__) && !defined (__thumb__) && W_TYPE_SIZE == 32 - #define add_mssaaaa(m, sh, sl, ah, al, bh, bl) \ - __asm__ ( "adds %2, %5, %6\n\t" \ - "adcs %1, %3, %4\n\t" \ - diff --git a/package/gmp/gmp-02-arm-asm-conditional-on-no-thumb-2.patch b/package/gmp/gmp-02-arm-asm-conditional-on-no-thumb-2.patch deleted file mode 100644 index 666cf58cf6..0000000000 --- a/package/gmp/gmp-02-arm-asm-conditional-on-no-thumb-2.patch +++ /dev/null @@ -1,21 +0,0 @@ - -# HG changeset patch -# User Torbjorn Granlund -# Date 1396602422 -7200 -# Node ID 676e2d0f0e4dd301a7066079d2c9326c25c34a40 -# Parent 0194a75b56b21a9196626430af86c5bd9110c42d -Conditionalise ARM asm on !__thumb__. - -diff -r 0194a75b56b2 -r 676e2d0f0e4d mpn/generic/div_qr_1n_pi1.c ---- a/mpn/generic/div_qr_1n_pi1.c Thu Apr 03 23:58:51 2014 +0200 -+++ b/mpn/generic/div_qr_1n_pi1.c Fri Apr 04 11:07:02 2014 +0200 -@@ -130,7 +130,7 @@ - "%2" ((UDItype)(a0)), "r" ((UDItype)(b0)) __CLOBBER_CC) - #endif - --#if defined (__arm__) && W_TYPE_SIZE == 32 -+#if defined (__arm__) && !defined (__thumb__) && W_TYPE_SIZE == 32 - #define add_mssaaaa(m, sh, sl, ah, al, bh, bl) \ - __asm__ ( "adds %2, %5, %6\n\t" \ - "adcs %1, %3, %4\n\t" \ - diff --git a/package/gmp/gmp-03-powerpc-provide-default-bmod-to-mod-threshold-1.patch b/package/gmp/gmp-03-powerpc-provide-default-bmod-to-mod-threshold-1.patch deleted file mode 100644 index 76aa72f086..0000000000 --- a/package/gmp/gmp-03-powerpc-provide-default-bmod-to-mod-threshold-1.patch +++ /dev/null @@ -1,22 +0,0 @@ - -# HG changeset patch -# User Torbjorn Granlund -# Date 1395835068 -3600 -# Node ID 4a6d258b467f661da0894cc60ecd060f2e3c67c7 -# Parent 301ce2788826a2d4d2725bd5cf01e998638db37a -Provide default for BMOD_1_TO_MOD_1_THRESHOLD. - -diff -r 301ce2788826 -r 4a6d258b467f mpn/powerpc64/mode64/gcd_1.asm ---- a/mpn/powerpc64/mode64/gcd_1.asm Tue Mar 25 15:34:52 2014 +0100 -+++ b/mpn/powerpc64/mode64/gcd_1.asm Wed Mar 26 12:57:48 2014 +0100 -@@ -43,6 +43,9 @@ - define(`n', `r4') - define(`v0', `r5') - -+ifdef(`BMOD_1_TO_MOD_1_THRESHOLD',, -+ `define(`BMOD_1_TO_MOD_1_THRESHOLD',30)') -+ - EXTERN_FUNC(mpn_mod_1) - EXTERN_FUNC(mpn_modexact_1c_odd) - - diff --git a/package/gnuchess/0001-getline-conflicts.patch b/package/gnuchess/0001-getline-conflicts.patch new file mode 100644 index 0000000000..94add7969e --- /dev/null +++ b/package/gnuchess/0001-getline-conflicts.patch @@ -0,0 +1,48 @@ +This patch fixes a conflict between the C library getline() function +and gnuchess getline() function. + +Patch borrowed from the gnuchess Debian package. + +Index: gnuchess-5.07/src/input.c +=================================================================== +--- gnuchess-5.07.orig/src/input.c 2009-09-29 16:01:38.000000000 +0200 ++++ gnuchess-5.07/src/input.c 2009-09-29 16:02:57.000000000 +0200 +@@ -127,7 +127,7 @@ + (RealGameCnt+1)/2 + 1 ); + } + pthread_mutex_lock(&input_mutex); +- getline(prompt); ++ get_line(prompt); + input_status = INPUT_AVAILABLE; + pthread_cond_signal(&input_cond); + pthread_mutex_unlock(&input_mutex); +@@ -173,13 +173,13 @@ + { + #ifdef HAVE_LIBREADLINE + if (isatty(STDIN_FILENO)) { +- getline = getline_readline; ++ get_line = getline_readline; + using_history(); + } else { +- getline = getline_standard; ++ get_line = getline_standard; + } + #else +- getline = getline_standard; ++ get_line = getline_standard; + #endif + /* Start input thread */ + pthread_create(&input_thread, NULL, input_func, NULL); +Index: gnuchess-5.07/src/common.h +=================================================================== +--- gnuchess-5.07.orig/src/common.h 2009-09-29 16:06:17.000000000 +0200 ++++ gnuchess-5.07/src/common.h 2009-09-29 16:06:40.000000000 +0200 +@@ -745,7 +745,7 @@ + * Input routine, initialized to one of the specific + * input routines. The given argument is the prompt. + */ +-void (*getline) (char *); ++void (*get_line) (char *); + + #define MAXSTR 128 + extern char inputstr[MAXSTR]; diff --git a/package/gnuchess/0002-misc-fixes.patch b/package/gnuchess/0002-misc-fixes.patch new file mode 100644 index 0000000000..18979b68c5 --- /dev/null +++ b/package/gnuchess/0002-misc-fixes.patch @@ -0,0 +1,11 @@ +--- a/src/input.c 2003-07-01 13:06:43.000000000 -0400 ++++ a/src/input.c 2008-02-13 12:24:43.000000000 -0500 +@@ -92,7 +92,7 @@ void getline_standard(char *p) + fgets(inputstr, MAXSTR, stdin); + } + +-static pthread_t input_thread; ++pthread_t input_thread; + + /* Mutex and condition variable for thread communication */ + diff --git a/package/gnuchess/gnuchess-5.07-getline-conflicts.patch b/package/gnuchess/gnuchess-5.07-getline-conflicts.patch deleted file mode 100644 index 94add7969e..0000000000 --- a/package/gnuchess/gnuchess-5.07-getline-conflicts.patch +++ /dev/null @@ -1,48 +0,0 @@ -This patch fixes a conflict between the C library getline() function -and gnuchess getline() function. - -Patch borrowed from the gnuchess Debian package. - -Index: gnuchess-5.07/src/input.c -=================================================================== ---- gnuchess-5.07.orig/src/input.c 2009-09-29 16:01:38.000000000 +0200 -+++ gnuchess-5.07/src/input.c 2009-09-29 16:02:57.000000000 +0200 -@@ -127,7 +127,7 @@ - (RealGameCnt+1)/2 + 1 ); - } - pthread_mutex_lock(&input_mutex); -- getline(prompt); -+ get_line(prompt); - input_status = INPUT_AVAILABLE; - pthread_cond_signal(&input_cond); - pthread_mutex_unlock(&input_mutex); -@@ -173,13 +173,13 @@ - { - #ifdef HAVE_LIBREADLINE - if (isatty(STDIN_FILENO)) { -- getline = getline_readline; -+ get_line = getline_readline; - using_history(); - } else { -- getline = getline_standard; -+ get_line = getline_standard; - } - #else -- getline = getline_standard; -+ get_line = getline_standard; - #endif - /* Start input thread */ - pthread_create(&input_thread, NULL, input_func, NULL); -Index: gnuchess-5.07/src/common.h -=================================================================== ---- gnuchess-5.07.orig/src/common.h 2009-09-29 16:06:17.000000000 +0200 -+++ gnuchess-5.07/src/common.h 2009-09-29 16:06:40.000000000 +0200 -@@ -745,7 +745,7 @@ - * Input routine, initialized to one of the specific - * input routines. The given argument is the prompt. - */ --void (*getline) (char *); -+void (*get_line) (char *); - - #define MAXSTR 128 - extern char inputstr[MAXSTR]; diff --git a/package/gnuchess/gnuchess-5.07.patch b/package/gnuchess/gnuchess-5.07.patch deleted file mode 100644 index 18979b68c5..0000000000 --- a/package/gnuchess/gnuchess-5.07.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/input.c 2003-07-01 13:06:43.000000000 -0400 -+++ a/src/input.c 2008-02-13 12:24:43.000000000 -0500 -@@ -92,7 +92,7 @@ void getline_standard(char *p) - fgets(inputstr, MAXSTR, stdin); - } - --static pthread_t input_thread; -+pthread_t input_thread; - - /* Mutex and condition variable for thread communication */ - diff --git a/package/gnupg2/0001-fix-pth-config-usage.patch b/package/gnupg2/0001-fix-pth-config-usage.patch new file mode 100644 index 0000000000..e58aad3f74 --- /dev/null +++ b/package/gnupg2/0001-fix-pth-config-usage.patch @@ -0,0 +1,27 @@ +Fix usage of PTH_CONFIG to work with pthsem + +The pthsem re-implement of pth provides a compatibility layer for pth, +but its pth-config script behaves slightly differently than the +original one when reporting the version number. This patch to gnupg2's +configure script adjusts the version checking to support this +difference, since Buildroot uses pth-config from pthsem. + +We patch directly the configure script, because triggering the entire +autoreconf dance for just a one byte change in the configure script +seems a bit silly. + +Signed-off-by: Thomas Petazzoni + +Index: b/configure +=================================================================== +--- a/configure ++++ b/configure +@@ -8346,7 +8346,7 @@ + tmp=1.3.7 + if test "$PTH_CONFIG" != "no"; then + +- _pth_version=`$PTH_CONFIG --version | awk 'NR==1 {print $3}'` ++ _pth_version=`$PTH_CONFIG --version | awk 'NR==1 {print $2}'` + _req_version="$tmp" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTH - version >= $_req_version" >&5 diff --git a/package/gnupg2/gnupg2-0001-fix-pth-config-usage.patch b/package/gnupg2/gnupg2-0001-fix-pth-config-usage.patch deleted file mode 100644 index e58aad3f74..0000000000 --- a/package/gnupg2/gnupg2-0001-fix-pth-config-usage.patch +++ /dev/null @@ -1,27 +0,0 @@ -Fix usage of PTH_CONFIG to work with pthsem - -The pthsem re-implement of pth provides a compatibility layer for pth, -but its pth-config script behaves slightly differently than the -original one when reporting the version number. This patch to gnupg2's -configure script adjusts the version checking to support this -difference, since Buildroot uses pth-config from pthsem. - -We patch directly the configure script, because triggering the entire -autoreconf dance for just a one byte change in the configure script -seems a bit silly. - -Signed-off-by: Thomas Petazzoni - -Index: b/configure -=================================================================== ---- a/configure -+++ b/configure -@@ -8346,7 +8346,7 @@ - tmp=1.3.7 - if test "$PTH_CONFIG" != "no"; then - -- _pth_version=`$PTH_CONFIG --version | awk 'NR==1 {print $3}'` -+ _pth_version=`$PTH_CONFIG --version | awk 'NR==1 {print $2}'` - _req_version="$tmp" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTH - version >= $_req_version" >&5 diff --git a/package/gnuplot/0001-configure-add-without-demo-option.patch b/package/gnuplot/0001-configure-add-without-demo-option.patch new file mode 100644 index 0000000000..ccca4e3aa7 --- /dev/null +++ b/package/gnuplot/0001-configure-add-without-demo-option.patch @@ -0,0 +1,66 @@ +Add options to enable/disable docs and demos + +Originally written by Anthony Viallard +. + +Signed-off-by: Thomas Petazzoni + +Index: gnuplot-4.6.0/configure.in +=================================================================== +--- gnuplot-4.6.0.orig/configure.in 2012-03-08 05:34:42.000000000 +0100 ++++ gnuplot-4.6.0/configure.in 2013-01-07 11:50:03.003804463 +0100 +@@ -748,6 +748,16 @@ + AC_ARG_WITH(lisp-files,dnl + [ --without-lisp-files do not build emacs lisp files]) + ++dnl Whether we want to build the demo files ++dnl Does nothing here, is passed on to the demo subdir ++AC_ARG_ENABLE(demo,dnl ++[ --disable-demo do not build demo files]) ++ ++dnl Whether we want to build the doc files ++dnl Does nothing here, is passed on to the doc subdir ++AC_ARG_ENABLE(doc,dnl ++[ --disable-doc do not build doc files]) ++ + dnl Sort help/subtopic tables by row or column + AC_ARG_WITH(row-help,dnl + [ --with-row-help format help and subtopic tables by row (default) +@@ -1200,6 +1210,24 @@ + fi + AC_SUBST(LISPDIR) + ++dnl build demo files ++if test "$enable_demo" != no; then ++ AC_CONFIG_SUBDIRS(demo) ++ DEMOSUBDIR=demo ++else ++ DEMOSUBDIR= ++fi ++AC_SUBST(DEMOSUBDIR) ++ ++dnl build doc files ++if test "$enable_doc" != no; then ++ AC_CONFIG_SUBDIRS(docs) ++ DOCSUBDIR=docs ++else ++ DOCSUBDIR= ++fi ++AC_SUBST(DOCSUBDIR) ++ + dnl Substitute variables + AC_SUBST(PACKAGE) + AC_SUBST(VERSION_MAJOR) +Index: gnuplot-4.6.0/Makefile.am +=================================================================== +--- gnuplot-4.6.0.orig/Makefile.am 2013-01-04 14:07:02.239120935 +0100 ++++ gnuplot-4.6.0/Makefile.am 2013-01-07 11:51:12.034846363 +0100 +@@ -1,7 +1,7 @@ + ## Process this file with automake to produce Makefile.in -*-Makefile-*- + AUTOMAKE_OPTIONS = foreign 1.2h + +-SUBDIRS = config m4 term src docs $(LISPDIR) man demo tutorial share ++SUBDIRS = config m4 term src $(DOCSUBDIR) $(LISPDIR) man $(DEMOSUBDIR) tutorial share + + EXTRA_DIST = BUGS CodeStyle Copyright FAQ.pdf GNUmakefile INSTALL INSTALL.gnu \ + Makefile.maint PATCHLEVEL PGPKEYS PORTING README README.1ST \ diff --git a/package/gnuplot/0002-use-gdlib-config-properly.patch b/package/gnuplot/0002-use-gdlib-config-properly.patch new file mode 100644 index 0000000000..690a82652a --- /dev/null +++ b/package/gnuplot/0002-use-gdlib-config-properly.patch @@ -0,0 +1,27 @@ +Fix usage of gdlib-config + +gnuplot configure.in script properly takes care of finding +gdlib-config using AC_PATH_PROG... but then directly uses gdlib-config +instead of going through the GDLIB_CONFIG variable that AC_PATH_PROG +has defined. Which means that whenever a gdlib-config binary not in +the PATH is being used, it does not use it. + +Signed-off-by: Thomas Petazzoni + +Index: b/configure.in +=================================================================== +--- a/configure.in ++++ b/configure.in +@@ -537,9 +537,9 @@ + if test "$with_gd" != no; then + AC_PATH_PROG([GDLIB_CONFIG], [gdlib-config]) + if test -n "$GDLIB_CONFIG"; then +- libgd_CPPFLAGS=`gdlib-config --cflags` +- libgd_LDFLAGS=`gdlib-config --ldflags` +- libgd_LIBS=`gdlib-config --libs` ++ libgd_CPPFLAGS=`$GDLIB_CONFIG --cflags` ++ libgd_LDFLAGS=`$GDLIB_CONFIG --ldflags` ++ libgd_LIBS=`$GDLIB_CONFIG --libs` + elif test -d "$with_gd"; then + libgd_CPPFLAGS="-I$with_gd/include" + libgd_LDFLAGS="-L$with_gd/lib" diff --git a/package/gnuplot/gnuplot-0001-configure-add-without-demo-option.patch b/package/gnuplot/gnuplot-0001-configure-add-without-demo-option.patch deleted file mode 100644 index ccca4e3aa7..0000000000 --- a/package/gnuplot/gnuplot-0001-configure-add-without-demo-option.patch +++ /dev/null @@ -1,66 +0,0 @@ -Add options to enable/disable docs and demos - -Originally written by Anthony Viallard -. - -Signed-off-by: Thomas Petazzoni - -Index: gnuplot-4.6.0/configure.in -=================================================================== ---- gnuplot-4.6.0.orig/configure.in 2012-03-08 05:34:42.000000000 +0100 -+++ gnuplot-4.6.0/configure.in 2013-01-07 11:50:03.003804463 +0100 -@@ -748,6 +748,16 @@ - AC_ARG_WITH(lisp-files,dnl - [ --without-lisp-files do not build emacs lisp files]) - -+dnl Whether we want to build the demo files -+dnl Does nothing here, is passed on to the demo subdir -+AC_ARG_ENABLE(demo,dnl -+[ --disable-demo do not build demo files]) -+ -+dnl Whether we want to build the doc files -+dnl Does nothing here, is passed on to the doc subdir -+AC_ARG_ENABLE(doc,dnl -+[ --disable-doc do not build doc files]) -+ - dnl Sort help/subtopic tables by row or column - AC_ARG_WITH(row-help,dnl - [ --with-row-help format help and subtopic tables by row (default) -@@ -1200,6 +1210,24 @@ - fi - AC_SUBST(LISPDIR) - -+dnl build demo files -+if test "$enable_demo" != no; then -+ AC_CONFIG_SUBDIRS(demo) -+ DEMOSUBDIR=demo -+else -+ DEMOSUBDIR= -+fi -+AC_SUBST(DEMOSUBDIR) -+ -+dnl build doc files -+if test "$enable_doc" != no; then -+ AC_CONFIG_SUBDIRS(docs) -+ DOCSUBDIR=docs -+else -+ DOCSUBDIR= -+fi -+AC_SUBST(DOCSUBDIR) -+ - dnl Substitute variables - AC_SUBST(PACKAGE) - AC_SUBST(VERSION_MAJOR) -Index: gnuplot-4.6.0/Makefile.am -=================================================================== ---- gnuplot-4.6.0.orig/Makefile.am 2013-01-04 14:07:02.239120935 +0100 -+++ gnuplot-4.6.0/Makefile.am 2013-01-07 11:51:12.034846363 +0100 -@@ -1,7 +1,7 @@ - ## Process this file with automake to produce Makefile.in -*-Makefile-*- - AUTOMAKE_OPTIONS = foreign 1.2h - --SUBDIRS = config m4 term src docs $(LISPDIR) man demo tutorial share -+SUBDIRS = config m4 term src $(DOCSUBDIR) $(LISPDIR) man $(DEMOSUBDIR) tutorial share - - EXTRA_DIST = BUGS CodeStyle Copyright FAQ.pdf GNUmakefile INSTALL INSTALL.gnu \ - Makefile.maint PATCHLEVEL PGPKEYS PORTING README README.1ST \ diff --git a/package/gnuplot/gnuplot-0002-use-gdlib-config-properly.patch b/package/gnuplot/gnuplot-0002-use-gdlib-config-properly.patch deleted file mode 100644 index 690a82652a..0000000000 --- a/package/gnuplot/gnuplot-0002-use-gdlib-config-properly.patch +++ /dev/null @@ -1,27 +0,0 @@ -Fix usage of gdlib-config - -gnuplot configure.in script properly takes care of finding -gdlib-config using AC_PATH_PROG... but then directly uses gdlib-config -instead of going through the GDLIB_CONFIG variable that AC_PATH_PROG -has defined. Which means that whenever a gdlib-config binary not in -the PATH is being used, it does not use it. - -Signed-off-by: Thomas Petazzoni - -Index: b/configure.in -=================================================================== ---- a/configure.in -+++ b/configure.in -@@ -537,9 +537,9 @@ - if test "$with_gd" != no; then - AC_PATH_PROG([GDLIB_CONFIG], [gdlib-config]) - if test -n "$GDLIB_CONFIG"; then -- libgd_CPPFLAGS=`gdlib-config --cflags` -- libgd_LDFLAGS=`gdlib-config --ldflags` -- libgd_LIBS=`gdlib-config --libs` -+ libgd_CPPFLAGS=`$GDLIB_CONFIG --cflags` -+ libgd_LDFLAGS=`$GDLIB_CONFIG --ldflags` -+ libgd_LIBS=`$GDLIB_CONFIG --libs` - elif test -d "$with_gd"; then - libgd_CPPFLAGS="-I$with_gd/include" - libgd_LDFLAGS="-L$with_gd/lib" diff --git a/package/gpsd/0001-Fix-build-error-when-ntpshm-is-false.patch b/package/gpsd/0001-Fix-build-error-when-ntpshm-is-false.patch new file mode 100644 index 0000000000..9c444c415e --- /dev/null +++ b/package/gpsd/0001-Fix-build-error-when-ntpshm-is-false.patch @@ -0,0 +1,39 @@ +From 8e081f1bd5c82b842ee317cd55e70f646ae31f05 Mon Sep 17 00:00:00 2001 +From: Simon Dawson +Date: Mon, 25 Aug 2014 10:26:11 +0100 +Subject: [PATCH] Fix build error when ntpshm is false +To: gpsd-dev@nongnu.org + +The build fails as follows + +libgpsd_core.c: In function 'ntpshm_latch': +libgpsd_core.c:1660:24: error: 'const struct gps_type_t' has no member named 'time_offset' + || device->device_type->time_offset == NULL) + ^ +libgpsd_core.c:1663:33: error: 'const struct gps_type_t' has no member named 'time_offset' + fix_time += device->device_type->time_offset(device); + ^ +scons: *** [libgpsd_core.os] Error 1 + +The solution is to wrap #ifdef NTPSHM_ENABLE around the ntpshm_latch function + +Signed-off-by: Simon Dawson +--- +diff -Nurp a/libgpsd_core.c b/libgpsd_core.c +--- a/libgpsd_core.c 2014-08-22 21:33:55.000000000 +0100 ++++ b/libgpsd_core.c 2014-09-03 18:48:34.184931741 +0100 +@@ -1642,6 +1642,7 @@ void gpsd_zero_satellites( /*@out@*/ str + #endif + } + ++#ifdef NTPSHM_ENABLE + void ntpshm_latch(struct gps_device_t *device, struct timedrift_t /*@out@*/*td) + /* latch the fact that we've saved a fix */ + { +@@ -1672,5 +1673,6 @@ void ntpshm_latch(struct gps_device_t *d + device->last_fixtime.clock = td->clock.tv_sec + td->clock.tv_nsec / 1e9; + #endif /* S_SPLINT_S */ + } ++#endif /* NTPSHM_ENABLE */ + + /* end */ diff --git a/package/gpsd/0002-sconstruct-disable-rpath.patch b/package/gpsd/0002-sconstruct-disable-rpath.patch new file mode 100644 index 0000000000..8251cfcbec --- /dev/null +++ b/package/gpsd/0002-sconstruct-disable-rpath.patch @@ -0,0 +1,18 @@ +Disable addition of RPATH to the generated libraries + +Signed-off-by: Simon Dawson +Signed-off-by: Thomas Petazzoni + +diff -Nurp a/SConstruct b/SConstruct +--- a/SConstruct 2014-08-23 18:41:09.000000000 +0100 ++++ b/SConstruct 2014-08-25 09:46:53.754364989 +0100 +@@ -300,9 +300,6 @@ if env["sysroot"]: + + # Don't hack RPATH unless libdir points somewhere that is not on the + # minimum default load path. +-if env["shared"]: +- if env["libdir"] not in ["/usr/lib", "/lib"]: +- env.Prepend(RPATH=[installdir('libdir')]) + + # Give deheader a way to set compiler flags + if 'MORECFLAGS' in os.environ: diff --git a/package/gpsd/0003-Complete-wrapping-of-ntpshm_latch-function-in-ifdef-.patch b/package/gpsd/0003-Complete-wrapping-of-ntpshm_latch-function-in-ifdef-.patch new file mode 100644 index 0000000000..2d2169099e --- /dev/null +++ b/package/gpsd/0003-Complete-wrapping-of-ntpshm_latch-function-in-ifdef-.patch @@ -0,0 +1,43 @@ +From 519314d488624885a73f6204e3113aab850a36a0 Mon Sep 17 00:00:00 2001 +From: Simon Dawson +Date: Wed, 3 Sep 2014 18:39:22 +0100 +Subject: [PATCH] Complete wrapping of ntpshm_latch function in #ifdef + NTPSHM_ENABLE +To: gpsd-dev@nongnu.org + +Currently, the build fails as follows + +gpsmon.o: In function `gpsmon_hook': +gpsmon.c:(.text+0x8b0): undefined reference to `ntpshm_latch' +collect2: error: ld returned 1 exit status +scons: *** [gpsmon] Error 1 + +Signed-off-by: Simon Dawson +--- +diff -Nurp a/gpsd.h-tail b/gpsd.h-tail +--- a/gpsd.h-tail 2014-08-22 21:35:56.000000000 +0100 ++++ b/gpsd.h-tail 2014-09-03 18:52:04.048627518 +0100 +@@ -842,7 +842,9 @@ extern unsigned int ais_binary_encode(st + extern void ntpshm_context_init(struct gps_context_t *); + extern void ntpshm_session_init(struct gps_device_t *); + extern int ntpshm_put(struct gps_device_t *, int, struct timedrift_t *); ++#ifdef NTPSHM_ENABLE + extern void ntpshm_latch(struct gps_device_t *device, /*@out@*/struct timedrift_t *td); ++#endif /* NTPSHM_ENABLE */ + extern void ntpshm_link_deactivate(struct gps_device_t *); + extern void ntpshm_link_activate(struct gps_device_t *); + +diff -Nurp a/gpsmon.c b/gpsmon.c +--- a/gpsmon.c 2014-08-22 21:06:58.000000000 +0100 ++++ b/gpsmon.c 2014-09-03 18:52:23.172628059 +0100 +@@ -778,8 +778,10 @@ static void gpsmon_hook(struct gps_devic + + report_unlock(); + ++#ifdef NTPSHM_ENABLE + /* Update the last fix time seen for PPS. FIXME: do this here? */ + ntpshm_latch(device, &td); ++#endif /* NTPSHM_ENABLE */ + } + /*@+observertrans +nullpass +globstate +compdef +uniondef@*/ + diff --git a/package/gpsd/gpsd-01-Fix-build-error-when-ntpshm-is-false.patch b/package/gpsd/gpsd-01-Fix-build-error-when-ntpshm-is-false.patch deleted file mode 100644 index 9c444c415e..0000000000 --- a/package/gpsd/gpsd-01-Fix-build-error-when-ntpshm-is-false.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 8e081f1bd5c82b842ee317cd55e70f646ae31f05 Mon Sep 17 00:00:00 2001 -From: Simon Dawson -Date: Mon, 25 Aug 2014 10:26:11 +0100 -Subject: [PATCH] Fix build error when ntpshm is false -To: gpsd-dev@nongnu.org - -The build fails as follows - -libgpsd_core.c: In function 'ntpshm_latch': -libgpsd_core.c:1660:24: error: 'const struct gps_type_t' has no member named 'time_offset' - || device->device_type->time_offset == NULL) - ^ -libgpsd_core.c:1663:33: error: 'const struct gps_type_t' has no member named 'time_offset' - fix_time += device->device_type->time_offset(device); - ^ -scons: *** [libgpsd_core.os] Error 1 - -The solution is to wrap #ifdef NTPSHM_ENABLE around the ntpshm_latch function - -Signed-off-by: Simon Dawson ---- -diff -Nurp a/libgpsd_core.c b/libgpsd_core.c ---- a/libgpsd_core.c 2014-08-22 21:33:55.000000000 +0100 -+++ b/libgpsd_core.c 2014-09-03 18:48:34.184931741 +0100 -@@ -1642,6 +1642,7 @@ void gpsd_zero_satellites( /*@out@*/ str - #endif - } - -+#ifdef NTPSHM_ENABLE - void ntpshm_latch(struct gps_device_t *device, struct timedrift_t /*@out@*/*td) - /* latch the fact that we've saved a fix */ - { -@@ -1672,5 +1673,6 @@ void ntpshm_latch(struct gps_device_t *d - device->last_fixtime.clock = td->clock.tv_sec + td->clock.tv_nsec / 1e9; - #endif /* S_SPLINT_S */ - } -+#endif /* NTPSHM_ENABLE */ - - /* end */ diff --git a/package/gpsd/gpsd-02-sconstruct-disable-rpath.patch b/package/gpsd/gpsd-02-sconstruct-disable-rpath.patch deleted file mode 100644 index 8251cfcbec..0000000000 --- a/package/gpsd/gpsd-02-sconstruct-disable-rpath.patch +++ /dev/null @@ -1,18 +0,0 @@ -Disable addition of RPATH to the generated libraries - -Signed-off-by: Simon Dawson -Signed-off-by: Thomas Petazzoni - -diff -Nurp a/SConstruct b/SConstruct ---- a/SConstruct 2014-08-23 18:41:09.000000000 +0100 -+++ b/SConstruct 2014-08-25 09:46:53.754364989 +0100 -@@ -300,9 +300,6 @@ if env["sysroot"]: - - # Don't hack RPATH unless libdir points somewhere that is not on the - # minimum default load path. --if env["shared"]: -- if env["libdir"] not in ["/usr/lib", "/lib"]: -- env.Prepend(RPATH=[installdir('libdir')]) - - # Give deheader a way to set compiler flags - if 'MORECFLAGS' in os.environ: diff --git a/package/gpsd/gpsd-03-Complete-wrapping-of-ntpshm_latch-function-in-ifdef-.patch b/package/gpsd/gpsd-03-Complete-wrapping-of-ntpshm_latch-function-in-ifdef-.patch deleted file mode 100644 index 2d2169099e..0000000000 --- a/package/gpsd/gpsd-03-Complete-wrapping-of-ntpshm_latch-function-in-ifdef-.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 519314d488624885a73f6204e3113aab850a36a0 Mon Sep 17 00:00:00 2001 -From: Simon Dawson -Date: Wed, 3 Sep 2014 18:39:22 +0100 -Subject: [PATCH] Complete wrapping of ntpshm_latch function in #ifdef - NTPSHM_ENABLE -To: gpsd-dev@nongnu.org - -Currently, the build fails as follows - -gpsmon.o: In function `gpsmon_hook': -gpsmon.c:(.text+0x8b0): undefined reference to `ntpshm_latch' -collect2: error: ld returned 1 exit status -scons: *** [gpsmon] Error 1 - -Signed-off-by: Simon Dawson ---- -diff -Nurp a/gpsd.h-tail b/gpsd.h-tail ---- a/gpsd.h-tail 2014-08-22 21:35:56.000000000 +0100 -+++ b/gpsd.h-tail 2014-09-03 18:52:04.048627518 +0100 -@@ -842,7 +842,9 @@ extern unsigned int ais_binary_encode(st - extern void ntpshm_context_init(struct gps_context_t *); - extern void ntpshm_session_init(struct gps_device_t *); - extern int ntpshm_put(struct gps_device_t *, int, struct timedrift_t *); -+#ifdef NTPSHM_ENABLE - extern void ntpshm_latch(struct gps_device_t *device, /*@out@*/struct timedrift_t *td); -+#endif /* NTPSHM_ENABLE */ - extern void ntpshm_link_deactivate(struct gps_device_t *); - extern void ntpshm_link_activate(struct gps_device_t *); - -diff -Nurp a/gpsmon.c b/gpsmon.c ---- a/gpsmon.c 2014-08-22 21:06:58.000000000 +0100 -+++ b/gpsmon.c 2014-09-03 18:52:23.172628059 +0100 -@@ -778,8 +778,10 @@ static void gpsmon_hook(struct gps_devic - - report_unlock(); - -+#ifdef NTPSHM_ENABLE - /* Update the last fix time seen for PPS. FIXME: do this here? */ - ntpshm_latch(device, &td); -+#endif /* NTPSHM_ENABLE */ - } - /*@+observertrans +nullpass +globstate +compdef +uniondef@*/ - diff --git a/package/gptfdisk/0001-configurable-utf16-support.patch b/package/gptfdisk/0001-configurable-utf16-support.patch new file mode 100644 index 0000000000..6d54ceae09 --- /dev/null +++ b/package/gptfdisk/0001-configurable-utf16-support.patch @@ -0,0 +1,50 @@ +[PATCH] Make the UTF16 support configurable + +libicu is quite large, and unicode partition names are uncommon, so we +may not necessarily want to have UTF16 support unconditionnally. This +patch adds a USE_UTF16 environment variable to tell whether we want +the UTF16 support or not. + +Signed-off-by: Justin Maggard +Signed-off-by: Thomas Petazzoni +[baruch: add $(LDLIBS)] +Signed-off-by: Baruch Siach +--- +Index: b/Makefile +=================================================================== +--- a/Makefile ++++ b/Makefile +@@ -1,8 +1,11 @@ + CC=gcc + CXX=g++ + CFLAGS+=-D_FILE_OFFSET_BITS=64 +-CXXFLAGS+=-Wall -D_FILE_OFFSET_BITS=64 -D USE_UTF16 +-#CXXFLAGS+=-Wall -D_FILE_OFFSET_BITS=64 ++CXXFLAGS+=-Wall -D_FILE_OFFSET_BITS=64 ++ifeq ($(USE_UTF16),y) ++CXXFLAGS+=-D USE_UTF16 ++UTF16_LIBS=-licuio -licuuc ++endif + LDFLAGS+= + LIB_NAMES=crc32 support guid gptpart mbrpart basicmbr mbr gpt bsd parttypes attributes diskio diskio-unix + MBR_LIBS=support diskio diskio-unix basicmbr mbrpart +@@ -14,16 +17,13 @@ + all: cgdisk gdisk sgdisk fixparts + + gdisk: $(LIB_OBJS) gdisk.o gpttext.o +-# $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) -luuid -o gdisk +- $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) -licuio -licuuc -luuid -o gdisk ++ $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) $(UTF16_LIBS) -luuid $(LDLIBS) -o gdisk + + cgdisk: $(LIB_OBJS) cgdisk.o gptcurses.o +-# $(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) -luuid -lncurses -o cgdisk +- $(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) -licuio -licuuc -luuid -lncurses -o cgdisk ++ $(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) $(UTF16_LIBS) -luuid -lncurses $(LDLIBS) -o cgdisk + + sgdisk: $(LIB_OBJS) sgdisk.o gptcl.o +-# $(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) -luuid -lpopt -o sgdisk +- $(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) -licuio -licuuc -luuid -lpopt -o sgdisk ++ $(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) $(UTF16_LIBS) -luuid -lpopt $(LDLIBS) -o sgdisk + + fixparts: $(MBR_LIB_OBJS) fixparts.o + $(CXX) $(MBR_LIB_OBJS) fixparts.o $(LDFLAGS) -o fixparts diff --git a/package/gptfdisk/gptfdisk-001-configurable-utf16-support.patch b/package/gptfdisk/gptfdisk-001-configurable-utf16-support.patch deleted file mode 100644 index 6d54ceae09..0000000000 --- a/package/gptfdisk/gptfdisk-001-configurable-utf16-support.patch +++ /dev/null @@ -1,50 +0,0 @@ -[PATCH] Make the UTF16 support configurable - -libicu is quite large, and unicode partition names are uncommon, so we -may not necessarily want to have UTF16 support unconditionnally. This -patch adds a USE_UTF16 environment variable to tell whether we want -the UTF16 support or not. - -Signed-off-by: Justin Maggard -Signed-off-by: Thomas Petazzoni -[baruch: add $(LDLIBS)] -Signed-off-by: Baruch Siach ---- -Index: b/Makefile -=================================================================== ---- a/Makefile -+++ b/Makefile -@@ -1,8 +1,11 @@ - CC=gcc - CXX=g++ - CFLAGS+=-D_FILE_OFFSET_BITS=64 --CXXFLAGS+=-Wall -D_FILE_OFFSET_BITS=64 -D USE_UTF16 --#CXXFLAGS+=-Wall -D_FILE_OFFSET_BITS=64 -+CXXFLAGS+=-Wall -D_FILE_OFFSET_BITS=64 -+ifeq ($(USE_UTF16),y) -+CXXFLAGS+=-D USE_UTF16 -+UTF16_LIBS=-licuio -licuuc -+endif - LDFLAGS+= - LIB_NAMES=crc32 support guid gptpart mbrpart basicmbr mbr gpt bsd parttypes attributes diskio diskio-unix - MBR_LIBS=support diskio diskio-unix basicmbr mbrpart -@@ -14,16 +17,13 @@ - all: cgdisk gdisk sgdisk fixparts - - gdisk: $(LIB_OBJS) gdisk.o gpttext.o --# $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) -luuid -o gdisk -- $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) -licuio -licuuc -luuid -o gdisk -+ $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) $(UTF16_LIBS) -luuid $(LDLIBS) -o gdisk - - cgdisk: $(LIB_OBJS) cgdisk.o gptcurses.o --# $(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) -luuid -lncurses -o cgdisk -- $(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) -licuio -licuuc -luuid -lncurses -o cgdisk -+ $(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) $(UTF16_LIBS) -luuid -lncurses $(LDLIBS) -o cgdisk - - sgdisk: $(LIB_OBJS) sgdisk.o gptcl.o --# $(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) -luuid -lpopt -o sgdisk -- $(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) -licuio -licuuc -luuid -lpopt -o sgdisk -+ $(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) $(UTF16_LIBS) -luuid -lpopt $(LDLIBS) -o sgdisk - - fixparts: $(MBR_LIB_OBJS) fixparts.o - $(CXX) $(MBR_LIB_OBJS) fixparts.o $(LDFLAGS) -o fixparts diff --git a/package/gqview/0001-make.patch b/package/gqview/0001-make.patch new file mode 100644 index 0000000000..0b1626ffc5 --- /dev/null +++ b/package/gqview/0001-make.patch @@ -0,0 +1,11 @@ +--- a/src/Makefile.in 2006-12-02 20:41:25.000000000 -0500 ++++ b/src/Makefile.in 2008-02-13 14:00:25.000000000 -0500 +@@ -200,7 +200,7 @@ SUBDIRS = icons + DIST_SUBDIRS = icons + INCLUDES = -I$(srcdir) -I$(builddir) \ + -I$(top_srcdir) -I$(top_builddir) \ +- -I$(includedir) $(GTK_CFLAGS) ++ $(GTK_CFLAGS) + + module_SLIK = \ + intl.h \ diff --git a/package/gqview/gqview-2.1.5-make.patch b/package/gqview/gqview-2.1.5-make.patch deleted file mode 100644 index 0b1626ffc5..0000000000 --- a/package/gqview/gqview-2.1.5-make.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/Makefile.in 2006-12-02 20:41:25.000000000 -0500 -+++ b/src/Makefile.in 2008-02-13 14:00:25.000000000 -0500 -@@ -200,7 +200,7 @@ SUBDIRS = icons - DIST_SUBDIRS = icons - INCLUDES = -I$(srcdir) -I$(builddir) \ - -I$(top_srcdir) -I$(top_builddir) \ -- -I$(includedir) $(GTK_CFLAGS) -+ $(GTK_CFLAGS) - - module_SLIK = \ - intl.h \ diff --git a/package/gstreamer/gst-ffmpeg/0001-gcc47.patch b/package/gstreamer/gst-ffmpeg/0001-gcc47.patch new file mode 100644 index 0000000000..16744abae3 --- /dev/null +++ b/package/gstreamer/gst-ffmpeg/0001-gcc47.patch @@ -0,0 +1,65 @@ +gst-ffmpeg libav: Fixes compiling gst-ffmpeg with gcc-4.7 + +Fetch from: http://www.slackware.com/~alien/slackbuilds/gst-plugins-ffmpeg/build/gst-ffmpeg-0.10.13_gcc47.patch + +Signed-off-by: Bernd Kuhls +--- +Submitted By: Andrew Benton +Date: 2012-06-15 +Initial Package Version: 0.10.13 +Upstream Status: From upstream +Origin: +http://git.videolan.org/?p=ffmpeg.git;a=patch;h=5f654897e325349dacf2546674e0510bb72ecb50 + +Description: Fixes compiling gst-ffmpeg with gcc-4.7 + +libavcodec/x86/h264_qpel_mmx.c: Assembler messages: +libavcodec/x86/h264_qpel_mmx.c:1294: Error: operand type mismatch for `cmp' +libavcodec/x86/h264_qpel_mmx.c:1294: Error: operand type mismatch for `cmp' +libavcodec/x86/h264_qpel_mmx.c:1298: Error: operand type mismatch for `cmp' +libavcodec/x86/h264_qpel_mmx.c:1298: Error: operand type mismatch for `cmp' +libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp' +libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp' +libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp' +make[5]: *** [libavcodec/x86/dsputil_mmx.o] Error 1 + +Index: gst-ffmpeg-0.10.13/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c +=================================================================== +--- gst-ffmpeg-0.10.13.orig/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c 2012-03-30 11:39:41.324522051 -0700 ++++ gst-ffmpeg-0.10.13/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c 2012-03-30 11:54:08.152564075 -0700 +@@ -398,7 +398,7 @@ + "2: \n\t"\ + \ + : "+a"(src), "+c"(dst)\ +- : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\ ++ : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\ + : "memory"\ + );\ + src += 4-(h+5)*srcStride;\ +@@ -446,7 +446,7 @@ + QPEL_H264HV(%%mm3, %%mm4, %%mm5, %%mm0, %%mm1, %%mm2, 15*48)\ + "2: \n\t"\ + : "+a"(src)\ +- : "c"(tmp), "S"((x86_reg)srcStride), "g"(size)\ ++ : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size)\ + : "memory"\ + );\ + tmp += 4;\ +@@ -823,7 +823,7 @@ + "2: \n\t"\ + \ + : "+a"(src), "+c"(dst)\ +- : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\ ++ : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\ + : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \ + "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\ + "memory"\ +@@ -878,7 +878,7 @@ + QPEL_H264HV_XMM(%%xmm3, %%xmm4, %%xmm5, %%xmm0, %%xmm1, %%xmm2, 15*48) + "2: \n\t" + : "+a"(src) +- : "c"(tmp), "S"((x86_reg)srcStride), "g"(size) ++ : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size) + : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", + "%xmm4", "%xmm5", "%xmm6", "%xmm7",) + "memory" diff --git a/package/gstreamer/gst-ffmpeg/0002-arm-avoid-using-the-movw-instruction.patch b/package/gstreamer/gst-ffmpeg/0002-arm-avoid-using-the-movw-instruction.patch new file mode 100644 index 0000000000..288dc3d6e8 --- /dev/null +++ b/package/gstreamer/gst-ffmpeg/0002-arm-avoid-using-the-movw-instruction.patch @@ -0,0 +1,41 @@ +Date: Mon, 1 Aug 2011 20:21:04 +0300 +Subject: [libavcodec] arm: Avoid using the movw instruction needlessly +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf8 +Content-Transfer-Encoding: 8bit + +This fixes building for ARM11 without Thumb2. + +Signed-off-by: Martin Storsjö + +[Arnout: backported to gst-ffmpeg, from ffmpeg 9a83adaf3] +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- + gst-libs/ext/libav/libavcodec/arm/ac3dsp_armv6.S | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gst-libs/ext/libav/libavcodec/arm/ac3dsp_armv6.S b/gst-libs/ext/libav/libavcodec/arm/ac3dsp_armv6.S +index d3058ff..b6aee86 100644 +--- a/gst-libs/ext/libav/libavcodec/arm/ac3dsp_armv6.S ++++ b/gst-libs/ext/libav/libavcodec/arm/ac3dsp_armv6.S +@@ -37,7 +37,7 @@ function ff_ac3_bit_alloc_calc_bap_armv6, export=1 + ldrb r10, [r4], #1 + 1: + ldrsh r9, [r0], #2 @ mask[band] +- movw r8, #0x1fe0 ++ mov r8, #0xff0 + sub r9, r9, r12 @ - snr_offset + mov r11, r10 + ldrb r10, [r4], #1 @ band_start_tab[band++] +@@ -44,7 +44,7 @@ function ff_ac3_bit_alloc_calc_bap_armv6, export=1 + subs r9, r9, r5 @ - floor + movlt r9, #0 + cmp r10, r3 @ - end +- and r9, r9, r8 @ & 0x1fe0 ++ and r9, r9, r8, lsl #1 @ & 0x1fe0 + subgt r8, r3, r11 + suble r8, r10, r11 + add r9, r9, r5 @ + floor => m +-- +1.7.10.4 + diff --git a/package/gstreamer/gst-ffmpeg/gst-ffmpeg-0001-gcc47.patch b/package/gstreamer/gst-ffmpeg/gst-ffmpeg-0001-gcc47.patch deleted file mode 100644 index 16744abae3..0000000000 --- a/package/gstreamer/gst-ffmpeg/gst-ffmpeg-0001-gcc47.patch +++ /dev/null @@ -1,65 +0,0 @@ -gst-ffmpeg libav: Fixes compiling gst-ffmpeg with gcc-4.7 - -Fetch from: http://www.slackware.com/~alien/slackbuilds/gst-plugins-ffmpeg/build/gst-ffmpeg-0.10.13_gcc47.patch - -Signed-off-by: Bernd Kuhls ---- -Submitted By: Andrew Benton -Date: 2012-06-15 -Initial Package Version: 0.10.13 -Upstream Status: From upstream -Origin: -http://git.videolan.org/?p=ffmpeg.git;a=patch;h=5f654897e325349dacf2546674e0510bb72ecb50 - -Description: Fixes compiling gst-ffmpeg with gcc-4.7 - -libavcodec/x86/h264_qpel_mmx.c: Assembler messages: -libavcodec/x86/h264_qpel_mmx.c:1294: Error: operand type mismatch for `cmp' -libavcodec/x86/h264_qpel_mmx.c:1294: Error: operand type mismatch for `cmp' -libavcodec/x86/h264_qpel_mmx.c:1298: Error: operand type mismatch for `cmp' -libavcodec/x86/h264_qpel_mmx.c:1298: Error: operand type mismatch for `cmp' -libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp' -libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp' -libavcodec/x86/h264_qpel_mmx.c:964: Error: operand type mismatch for `cmp' -make[5]: *** [libavcodec/x86/dsputil_mmx.o] Error 1 - -Index: gst-ffmpeg-0.10.13/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c -=================================================================== ---- gst-ffmpeg-0.10.13.orig/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c 2012-03-30 11:39:41.324522051 -0700 -+++ gst-ffmpeg-0.10.13/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c 2012-03-30 11:54:08.152564075 -0700 -@@ -398,7 +398,7 @@ - "2: \n\t"\ - \ - : "+a"(src), "+c"(dst)\ -- : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\ -+ : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\ - : "memory"\ - );\ - src += 4-(h+5)*srcStride;\ -@@ -446,7 +446,7 @@ - QPEL_H264HV(%%mm3, %%mm4, %%mm5, %%mm0, %%mm1, %%mm2, 15*48)\ - "2: \n\t"\ - : "+a"(src)\ -- : "c"(tmp), "S"((x86_reg)srcStride), "g"(size)\ -+ : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size)\ - : "memory"\ - );\ - tmp += 4;\ -@@ -823,7 +823,7 @@ - "2: \n\t"\ - \ - : "+a"(src), "+c"(dst)\ -- : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\ -+ : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\ - : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \ - "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\ - "memory"\ -@@ -878,7 +878,7 @@ - QPEL_H264HV_XMM(%%xmm3, %%xmm4, %%xmm5, %%xmm0, %%xmm1, %%xmm2, 15*48) - "2: \n\t" - : "+a"(src) -- : "c"(tmp), "S"((x86_reg)srcStride), "g"(size) -+ : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size) - : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", - "%xmm4", "%xmm5", "%xmm6", "%xmm7",) - "memory" diff --git a/package/gstreamer/gst-ffmpeg/gst-ffmpeg-0002-arm-avoid-using-the-movw-instruction.patch b/package/gstreamer/gst-ffmpeg/gst-ffmpeg-0002-arm-avoid-using-the-movw-instruction.patch deleted file mode 100644 index 288dc3d6e8..0000000000 --- a/package/gstreamer/gst-ffmpeg/gst-ffmpeg-0002-arm-avoid-using-the-movw-instruction.patch +++ /dev/null @@ -1,41 +0,0 @@ -Date: Mon, 1 Aug 2011 20:21:04 +0300 -Subject: [libavcodec] arm: Avoid using the movw instruction needlessly -MIME-Version: 1.0 -Content-Type: text/plain; charset=utf8 -Content-Transfer-Encoding: 8bit - -This fixes building for ARM11 without Thumb2. - -Signed-off-by: Martin Storsjö - -[Arnout: backported to gst-ffmpeg, from ffmpeg 9a83adaf3] -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - gst-libs/ext/libav/libavcodec/arm/ac3dsp_armv6.S | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gst-libs/ext/libav/libavcodec/arm/ac3dsp_armv6.S b/gst-libs/ext/libav/libavcodec/arm/ac3dsp_armv6.S -index d3058ff..b6aee86 100644 ---- a/gst-libs/ext/libav/libavcodec/arm/ac3dsp_armv6.S -+++ b/gst-libs/ext/libav/libavcodec/arm/ac3dsp_armv6.S -@@ -37,7 +37,7 @@ function ff_ac3_bit_alloc_calc_bap_armv6, export=1 - ldrb r10, [r4], #1 - 1: - ldrsh r9, [r0], #2 @ mask[band] -- movw r8, #0x1fe0 -+ mov r8, #0xff0 - sub r9, r9, r12 @ - snr_offset - mov r11, r10 - ldrb r10, [r4], #1 @ band_start_tab[band++] -@@ -44,7 +44,7 @@ function ff_ac3_bit_alloc_calc_bap_armv6, export=1 - subs r9, r9, r5 @ - floor - movlt r9, #0 - cmp r10, r3 @ - end -- and r9, r9, r8 @ & 0x1fe0 -+ and r9, r9, r8, lsl #1 @ & 0x1fe0 - subgt r8, r3, r11 - suble r8, r10, r11 - add r9, r9, r5 @ + floor => m --- -1.7.10.4 - diff --git a/package/gstreamer/gst-fsl-plugins/0001-gplay-add-missing-include.patch b/package/gstreamer/gst-fsl-plugins/0001-gplay-add-missing-include.patch new file mode 100644 index 0000000000..19753bc787 --- /dev/null +++ b/package/gstreamer/gst-fsl-plugins/0001-gplay-add-missing-include.patch @@ -0,0 +1,23 @@ +From ed649ccb8ddc724546172d329fca39b23c49b804 Mon Sep 17 00:00:00 2001 +From: "Arnout Vandecappelle (Essensium/Mind)" +Date: Mon, 17 Dec 2012 17:58:28 +0100 +Subject: [PATCH] gplay: add missing include + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- + tools/gplay/gst_snapshot.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tools/gplay/gst_snapshot.c b/tools/gplay/gst_snapshot.c +index 40dbb6f..596f399 100755 +--- a/tools/gplay/gst_snapshot.c ++++ b/tools/gplay/gst_snapshot.c +@@ -22,6 +22,7 @@ + + #include + #include ++#include + #include "gst_snapshot.h" + + static void +-- diff --git a/package/gstreamer/gst-fsl-plugins/0002-Fix-bashism-in-configure-script.patch b/package/gstreamer/gst-fsl-plugins/0002-Fix-bashism-in-configure-script.patch new file mode 100644 index 0000000000..35617cd419 --- /dev/null +++ b/package/gstreamer/gst-fsl-plugins/0002-Fix-bashism-in-configure-script.patch @@ -0,0 +1,50 @@ +From 83b4f84b1c490b9bb816e1ecbc743d80d48cc06d Mon Sep 17 00:00:00 2001 +From: "Arnout Vandecappelle (Essensium/Mind)" +Date: Tue, 18 Dec 2012 12:05:22 +0100 +Subject: [PATCH] Fix bashism in configure script. + +The configure script uses +=, which is not POSIX. Debians that +have the default dash as /bin/sh define a variable ending with ++ instead of appending to it. + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- + configure.ac | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 5968eb6..1a31a06 100755 +--- a/configure.ac ++++ b/configure.ac +@@ -152,7 +152,7 @@ AC_SUBST(GST_PLUGINS_BASE_LIBS) + AC_CHECK_HEADERS([vpu_lib.h], [HAVE_VPU_LIB=yes], [HAVE_VPU_LIB=no]) + if test "x$HAVE_VPU_LIB" = "xyes"; then + VPU_LIBS=`$PKG_CONFIG --libs libfslvpuwrap 2>/dev/null` +- VPU_LIBS+=" -lvpu" ++ VPU_LIBS="$VPU_LIBS -lvpu" + fi + AC_SUBST(VPU_LIBS) + +@@ -176,15 +176,15 @@ AC_SUBST(RT_CFLAGS) + AC_SUBST(RT_LIBS) + + FSL_MM_CORE_CFLAGS=`$PKG_CONFIG --cflags libfslaudiocodec 2>/dev/null` +-FSL_MM_CORE_CFLAGS+=`$PKG_CONFIG --cflags libfslvideocodec 2>/dev/null` +-FSL_MM_CORE_CFLAGS+=`$PKG_CONFIG --cflags libfslparser 2>/dev/null` +-FSL_MM_CORE_CFLAGS+=`$PKG_CONFIG --cflags libfslvpuwrap 2>/dev/null` ++FSL_MM_CORE_CFLAGS="$FSL_MM_CORE_CFLAGS `$PKG_CONFIG --cflags libfslvideocodec 2>/dev/null`" ++FSL_MM_CORE_CFLAGS="$FSL_MM_CORE_CFLAGS `$PKG_CONFIG --cflags libfslparser 2>/dev/null`" ++FSL_MM_CORE_CFLAGS="$FSL_MM_CORE_CFLAGS `$PKG_CONFIG --cflags libfslvpuwrap 2>/dev/null`" + AC_SUBST(FSL_MM_CORE_CFLAGS) + + FSL_MM_CORE_LIBS=`$PKG_CONFIG --libs libfslaudiocodec 2>/dev/null` +-FSL_MM_CORE_LIBS+=`$PKG_CONFIG --libs libfslvideocodec 2>/dev/null` +-FSL_MM_CORE_LIBS+=`$PKG_CONFIG --libs libfslparser 2>/dev/null` +-FSL_MM_CORE_LIBS+=`$PKG_CONFIG --libs libfslvpuwrap 2>/dev/null` ++FSL_MM_CORE_LIBS="$FSL_MM_CORE_LIBS `$PKG_CONFIG --libs libfslvideocodec 2>/dev/null`" ++FSL_MM_CORE_LIBS="$FSL_MM_CORE_LIBS `$PKG_CONFIG --libs libfslparser 2>/dev/null`" ++FSL_MM_CORE_LIBS="$FSL_MM_CORE_LIBS `$PKG_CONFIG --libs libfslvpuwrap 2>/dev/null`" + AC_SUBST(FSL_MM_CORE_LIBS) + + EXTRAPLATFORMCFLAGS="-DARM -D_GNUC_" +-- diff --git a/package/gstreamer/gst-fsl-plugins/0003-Use-proper-objdump.patch b/package/gstreamer/gst-fsl-plugins/0003-Use-proper-objdump.patch new file mode 100644 index 0000000000..b7b8c9f740 --- /dev/null +++ b/package/gstreamer/gst-fsl-plugins/0003-Use-proper-objdump.patch @@ -0,0 +1,36 @@ +From c58b658a93b1b6d6e94ba0306d58de845012cef6 Mon Sep 17 00:00:00 2001 +From: "Arnout Vandecappelle (Essensium/Mind)" +Date: Tue, 18 Dec 2012 12:22:52 +0100 +Subject: [PATCH] Use proper objdump + +If the OBJDUMP environment variable is set, that should be used rather +than the objdump in PATH. + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 1a31a06..cc7557d 100755 +--- a/configure.ac ++++ b/configure.ac +@@ -17,7 +17,7 @@ AC_DEFUN([FIND_PARSER_SONAME], + AC_MSG_CHECKING([for lib_$1_parser_$2_elinux.3.0.so soname]) + path=`$PKG_CONFIG --variable=libdir libfslparser` + SONAME=$( $CC -print-file-name=$PKG_CONFIG_SYSROOT_DIR$path/lib_$1_parser_$2_elinux.so | \ +- while read output; do objdump -p $output | \ ++ while read output; do $OBJDUMP -p $output | \ + grep "SONAME" | \ + sed -e 's/ \+SONAME \+//'; done 2> /dev/null ) + if [[ -z "$SONAME" ]]; then +@@ -36,7 +36,7 @@ AC_DEFUN([FIND_ACODEC_SONAME], + AC_MSG_CHECKING([for lib_$1_wrap_$2_elinux.so soname]) + path=`$PKG_CONFIG --variable=libdir libfslaudiocodec` + SONAME=$( $CC -print-file-name=$PKG_CONFIG_SYSROOT_DIR$path/wrap/lib_$1_wrap_$2_elinux.so | \ +- while read output; do objdump -p $output | \ ++ while read output; do $OBJDUMP -p $output | \ + grep "SONAME" | \ + sed -e 's/ \+SONAME \+//'; done 2> /dev/null ) + if [[ -z "$SONAME" ]]; then +-- diff --git a/package/gstreamer/gst-fsl-plugins/0004-Fix-libgstfsl-linkage-add-lrt-for-shared-memory-func.patch b/package/gstreamer/gst-fsl-plugins/0004-Fix-libgstfsl-linkage-add-lrt-for-shared-memory-func.patch new file mode 100644 index 0000000000..763703c27c --- /dev/null +++ b/package/gstreamer/gst-fsl-plugins/0004-Fix-libgstfsl-linkage-add-lrt-for-shared-memory-func.patch @@ -0,0 +1,46 @@ +From 1ca4251d1284f2cb56e31aaec4d369809e2139c9 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Mon, 24 Feb 2014 16:30:39 +0100 +Subject: [PATCH] Fix libgstfsl linkage (add -lrt for shared memory functions). + +Fixes runtime failure of gst-fsl-plugins, e.g.: +(gst-plugin-scanner:1700): GStreamer-WARNING **: Failed to load + plugin '/usr/lib/gstreamer-0.10/libmfw_vpu.so': + /usr/lib/libgstfsl-0.10.so.0: undefined symbol: shm_open) + +Signed-off-by: Peter Seiderer +--- + configure.ac | 3 +++ + libs/Makefile.am | 2 +- + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index a5d1655..7b5a7a6 100755 +--- a/configure.ac ++++ b/configure.ac +@@ -170,6 +170,9 @@ AC_CHECK_LIB(ipu, mxc_ipu_lib_task_init, [IPU_LIBS=-lipu], [echo "No libipu arou + AC_SUBST(IPU_CFLAGS) + AC_SUBST(IPU_LIBS) + ++AC_SEARCH_LIBS([shm_open], [rt], [SHM_LIBS="-lrt"]) ++AC_SUBST(SHM_LIBS) ++ + dnl of the POSIX Real-Time Extensions. + AC_CHECK_LIB(rt, clock_gettime) + AC_SUBST(RT_CFLAGS) +diff --git a/libs/Makefile.am b/libs/Makefile.am +index 2f56bba..5b30657 100755 +--- a/libs/Makefile.am ++++ b/libs/Makefile.am +@@ -42,7 +42,7 @@ libgstfsl_@GST_MAJORMINOR@_la_CFLAGS += -DIPULIB + endif + + libgstfsl_@GST_MAJORMINOR@_la_LDFLAGS = -version-info @GSTMXLIBS_VERSION@ +-libgstfsl_@GST_MAJORMINOR@_la_LIBADD = $(GST_BASE_LIBS) -lgstvideo-@GST_MAJORMINOR@ -lgstinterfaces-$(GST_MAJORMINOR) $(IPU_LIBS) $(RT_LIBS) ++libgstfsl_@GST_MAJORMINOR@_la_LIBADD = $(GST_BASE_LIBS) -lgstvideo-@GST_MAJORMINOR@ -lgstinterfaces-$(GST_MAJORMINOR) $(IPU_LIBS) $(RT_LIBS) $(SHM_LIBS) + + libgstfsl_@GST_MAJORMINOR@includedir = $(includedir)/gstreamer-@GST_MAJORMINOR@/gst/imx-mm + libgstfsl_@GST_MAJORMINOR@include_HEADERS = \ +-- +1.8.1.4 + diff --git a/package/gstreamer/gst-fsl-plugins/0005-Remove-use-of-obsolete-VIDIOC_DBG_G_CHIP_IDENT.patch b/package/gstreamer/gst-fsl-plugins/0005-Remove-use-of-obsolete-VIDIOC_DBG_G_CHIP_IDENT.patch new file mode 100644 index 0000000000..56352753a0 --- /dev/null +++ b/package/gstreamer/gst-fsl-plugins/0005-Remove-use-of-obsolete-VIDIOC_DBG_G_CHIP_IDENT.patch @@ -0,0 +1,69 @@ +From ce90794a3458af0aed43b8570cf44cd87900185d Mon Sep 17 00:00:00 2001 +From: Gary Bisson +Date: Fri, 25 Jul 2014 16:44:53 -0700 +Subject: [PATCH] Remove use of obsolete VIDIOC_DBG_G_CHIP_IDENT + +This ioctl should never be used in application as +stated in videodev2.h header. +Moreover, its use in this plugin was very limited. + +Signed-off-by: Gary Bisson +--- + src/misc/tvsrc/src/mfw_gst_tvsrc.c | 8 -------- + src/misc/v4l_source/src/mfw_gst_v4lsrc.c | 7 ------- + 2 files changed, 15 deletions(-) + +diff --git a/src/misc/tvsrc/src/mfw_gst_tvsrc.c b/src/misc/tvsrc/src/mfw_gst_tvsrc.c +index 67e0cd2..f495b6f 100755 +--- a/src/misc/tvsrc/src/mfw_gst_tvsrc.c ++++ b/src/misc/tvsrc/src/mfw_gst_tvsrc.c +@@ -450,7 +450,6 @@ mfw_gst_tvsrc_capture_setup (MFWGstTVSRC * v4l_src) + struct v4l2_format fmt; + struct v4l2_control ctrl; + struct v4l2_streamparm parm; +- struct v4l2_dbg_chip_ident chip; + gint fd_v4l = 0; + struct v4l2_mxc_offset off; + gint in_width = 0, in_height = 0; +@@ -461,13 +460,6 @@ mfw_gst_tvsrc_capture_setup (MFWGstTVSRC * v4l_src) + return 0; + } + +- if (ioctl (fd_v4l, VIDIOC_DBG_G_CHIP_IDENT, &chip)) { +- g_print ("VIDIOC_DBG_G_CHIP_IDENT failed.\n"); +- } else +- g_print ("sensor chip is %s\n", chip.match.name); +- +- +- + if (ioctl (fd_v4l, VIDIOC_G_STD, &id) < 0) { + g_print ("VIDIOC_G_STD failed\n"); + close (fd_v4l); +diff --git a/src/misc/v4l_source/src/mfw_gst_v4lsrc.c b/src/misc/v4l_source/src/mfw_gst_v4lsrc.c +index 2c2e838..85e7ff0 100755 +--- a/src/misc/v4l_source/src/mfw_gst_v4lsrc.c ++++ b/src/misc/v4l_source/src/mfw_gst_v4lsrc.c +@@ -464,7 +464,6 @@ mfw_gst_v4lsrc_capture_setup (MFWGstV4LSrc * v4l_src) + struct v4l2_format fmt = {0}; + struct v4l2_control ctrl = {0}; + struct v4l2_streamparm parm = {0}; +- struct v4l2_dbg_chip_ident chip = {0}; + struct v4l2_frmsizeenum fszenum = {0}; + gint input; + gint fd_v4l = 0; +@@ -476,12 +475,6 @@ mfw_gst_v4lsrc_capture_setup (MFWGstV4LSrc * v4l_src) + return 0; + } + +- if (ioctl (fd_v4l, VIDIOC_DBG_G_CHIP_IDENT, &chip)) { +- GST_ERROR ("VIDIOC_DBG_G_CHIP_IDENT failed."); +- } else +- GST_INFO ("sensor chip is %s", chip.match.name); +- +- + if (v4l_src->crop_pixel) { + in_width = v4l_src->capture_width - (2 * v4l_src->crop_pixel); + in_height = v4l_src->capture_height - (2 * v4l_src->crop_pixel); +-- +2.0.1 + diff --git a/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins-0001-gplay-add-missing-include.patch b/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins-0001-gplay-add-missing-include.patch deleted file mode 100644 index 19753bc787..0000000000 --- a/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins-0001-gplay-add-missing-include.patch +++ /dev/null @@ -1,23 +0,0 @@ -From ed649ccb8ddc724546172d329fca39b23c49b804 Mon Sep 17 00:00:00 2001 -From: "Arnout Vandecappelle (Essensium/Mind)" -Date: Mon, 17 Dec 2012 17:58:28 +0100 -Subject: [PATCH] gplay: add missing include - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - tools/gplay/gst_snapshot.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tools/gplay/gst_snapshot.c b/tools/gplay/gst_snapshot.c -index 40dbb6f..596f399 100755 ---- a/tools/gplay/gst_snapshot.c -+++ b/tools/gplay/gst_snapshot.c -@@ -22,6 +22,7 @@ - - #include - #include -+#include - #include "gst_snapshot.h" - - static void --- diff --git a/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins-0002-Fix-bashism-in-configure-script.patch b/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins-0002-Fix-bashism-in-configure-script.patch deleted file mode 100644 index 35617cd419..0000000000 --- a/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins-0002-Fix-bashism-in-configure-script.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 83b4f84b1c490b9bb816e1ecbc743d80d48cc06d Mon Sep 17 00:00:00 2001 -From: "Arnout Vandecappelle (Essensium/Mind)" -Date: Tue, 18 Dec 2012 12:05:22 +0100 -Subject: [PATCH] Fix bashism in configure script. - -The configure script uses +=, which is not POSIX. Debians that -have the default dash as /bin/sh define a variable ending with -+ instead of appending to it. - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - configure.ac | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 5968eb6..1a31a06 100755 ---- a/configure.ac -+++ b/configure.ac -@@ -152,7 +152,7 @@ AC_SUBST(GST_PLUGINS_BASE_LIBS) - AC_CHECK_HEADERS([vpu_lib.h], [HAVE_VPU_LIB=yes], [HAVE_VPU_LIB=no]) - if test "x$HAVE_VPU_LIB" = "xyes"; then - VPU_LIBS=`$PKG_CONFIG --libs libfslvpuwrap 2>/dev/null` -- VPU_LIBS+=" -lvpu" -+ VPU_LIBS="$VPU_LIBS -lvpu" - fi - AC_SUBST(VPU_LIBS) - -@@ -176,15 +176,15 @@ AC_SUBST(RT_CFLAGS) - AC_SUBST(RT_LIBS) - - FSL_MM_CORE_CFLAGS=`$PKG_CONFIG --cflags libfslaudiocodec 2>/dev/null` --FSL_MM_CORE_CFLAGS+=`$PKG_CONFIG --cflags libfslvideocodec 2>/dev/null` --FSL_MM_CORE_CFLAGS+=`$PKG_CONFIG --cflags libfslparser 2>/dev/null` --FSL_MM_CORE_CFLAGS+=`$PKG_CONFIG --cflags libfslvpuwrap 2>/dev/null` -+FSL_MM_CORE_CFLAGS="$FSL_MM_CORE_CFLAGS `$PKG_CONFIG --cflags libfslvideocodec 2>/dev/null`" -+FSL_MM_CORE_CFLAGS="$FSL_MM_CORE_CFLAGS `$PKG_CONFIG --cflags libfslparser 2>/dev/null`" -+FSL_MM_CORE_CFLAGS="$FSL_MM_CORE_CFLAGS `$PKG_CONFIG --cflags libfslvpuwrap 2>/dev/null`" - AC_SUBST(FSL_MM_CORE_CFLAGS) - - FSL_MM_CORE_LIBS=`$PKG_CONFIG --libs libfslaudiocodec 2>/dev/null` --FSL_MM_CORE_LIBS+=`$PKG_CONFIG --libs libfslvideocodec 2>/dev/null` --FSL_MM_CORE_LIBS+=`$PKG_CONFIG --libs libfslparser 2>/dev/null` --FSL_MM_CORE_LIBS+=`$PKG_CONFIG --libs libfslvpuwrap 2>/dev/null` -+FSL_MM_CORE_LIBS="$FSL_MM_CORE_LIBS `$PKG_CONFIG --libs libfslvideocodec 2>/dev/null`" -+FSL_MM_CORE_LIBS="$FSL_MM_CORE_LIBS `$PKG_CONFIG --libs libfslparser 2>/dev/null`" -+FSL_MM_CORE_LIBS="$FSL_MM_CORE_LIBS `$PKG_CONFIG --libs libfslvpuwrap 2>/dev/null`" - AC_SUBST(FSL_MM_CORE_LIBS) - - EXTRAPLATFORMCFLAGS="-DARM -D_GNUC_" --- diff --git a/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins-0003-Use-proper-objdump.patch b/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins-0003-Use-proper-objdump.patch deleted file mode 100644 index b7b8c9f740..0000000000 --- a/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins-0003-Use-proper-objdump.patch +++ /dev/null @@ -1,36 +0,0 @@ -From c58b658a93b1b6d6e94ba0306d58de845012cef6 Mon Sep 17 00:00:00 2001 -From: "Arnout Vandecappelle (Essensium/Mind)" -Date: Tue, 18 Dec 2012 12:22:52 +0100 -Subject: [PATCH] Use proper objdump - -If the OBJDUMP environment variable is set, that should be used rather -than the objdump in PATH. - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 1a31a06..cc7557d 100755 ---- a/configure.ac -+++ b/configure.ac -@@ -17,7 +17,7 @@ AC_DEFUN([FIND_PARSER_SONAME], - AC_MSG_CHECKING([for lib_$1_parser_$2_elinux.3.0.so soname]) - path=`$PKG_CONFIG --variable=libdir libfslparser` - SONAME=$( $CC -print-file-name=$PKG_CONFIG_SYSROOT_DIR$path/lib_$1_parser_$2_elinux.so | \ -- while read output; do objdump -p $output | \ -+ while read output; do $OBJDUMP -p $output | \ - grep "SONAME" | \ - sed -e 's/ \+SONAME \+//'; done 2> /dev/null ) - if [[ -z "$SONAME" ]]; then -@@ -36,7 +36,7 @@ AC_DEFUN([FIND_ACODEC_SONAME], - AC_MSG_CHECKING([for lib_$1_wrap_$2_elinux.so soname]) - path=`$PKG_CONFIG --variable=libdir libfslaudiocodec` - SONAME=$( $CC -print-file-name=$PKG_CONFIG_SYSROOT_DIR$path/wrap/lib_$1_wrap_$2_elinux.so | \ -- while read output; do objdump -p $output | \ -+ while read output; do $OBJDUMP -p $output | \ - grep "SONAME" | \ - sed -e 's/ \+SONAME \+//'; done 2> /dev/null ) - if [[ -z "$SONAME" ]]; then --- diff --git a/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins-0004-Fix-libgstfsl-linkage-add-lrt-for-shared-memory-func.patch b/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins-0004-Fix-libgstfsl-linkage-add-lrt-for-shared-memory-func.patch deleted file mode 100644 index 763703c27c..0000000000 --- a/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins-0004-Fix-libgstfsl-linkage-add-lrt-for-shared-memory-func.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 1ca4251d1284f2cb56e31aaec4d369809e2139c9 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Mon, 24 Feb 2014 16:30:39 +0100 -Subject: [PATCH] Fix libgstfsl linkage (add -lrt for shared memory functions). - -Fixes runtime failure of gst-fsl-plugins, e.g.: -(gst-plugin-scanner:1700): GStreamer-WARNING **: Failed to load - plugin '/usr/lib/gstreamer-0.10/libmfw_vpu.so': - /usr/lib/libgstfsl-0.10.so.0: undefined symbol: shm_open) - -Signed-off-by: Peter Seiderer ---- - configure.ac | 3 +++ - libs/Makefile.am | 2 +- - 2 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index a5d1655..7b5a7a6 100755 ---- a/configure.ac -+++ b/configure.ac -@@ -170,6 +170,9 @@ AC_CHECK_LIB(ipu, mxc_ipu_lib_task_init, [IPU_LIBS=-lipu], [echo "No libipu arou - AC_SUBST(IPU_CFLAGS) - AC_SUBST(IPU_LIBS) - -+AC_SEARCH_LIBS([shm_open], [rt], [SHM_LIBS="-lrt"]) -+AC_SUBST(SHM_LIBS) -+ - dnl of the POSIX Real-Time Extensions. - AC_CHECK_LIB(rt, clock_gettime) - AC_SUBST(RT_CFLAGS) -diff --git a/libs/Makefile.am b/libs/Makefile.am -index 2f56bba..5b30657 100755 ---- a/libs/Makefile.am -+++ b/libs/Makefile.am -@@ -42,7 +42,7 @@ libgstfsl_@GST_MAJORMINOR@_la_CFLAGS += -DIPULIB - endif - - libgstfsl_@GST_MAJORMINOR@_la_LDFLAGS = -version-info @GSTMXLIBS_VERSION@ --libgstfsl_@GST_MAJORMINOR@_la_LIBADD = $(GST_BASE_LIBS) -lgstvideo-@GST_MAJORMINOR@ -lgstinterfaces-$(GST_MAJORMINOR) $(IPU_LIBS) $(RT_LIBS) -+libgstfsl_@GST_MAJORMINOR@_la_LIBADD = $(GST_BASE_LIBS) -lgstvideo-@GST_MAJORMINOR@ -lgstinterfaces-$(GST_MAJORMINOR) $(IPU_LIBS) $(RT_LIBS) $(SHM_LIBS) - - libgstfsl_@GST_MAJORMINOR@includedir = $(includedir)/gstreamer-@GST_MAJORMINOR@/gst/imx-mm - libgstfsl_@GST_MAJORMINOR@include_HEADERS = \ --- -1.8.1.4 - diff --git a/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins-0005-Remove-use-of-obsolete-VIDIOC_DBG_G_CHIP_IDENT.patch b/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins-0005-Remove-use-of-obsolete-VIDIOC_DBG_G_CHIP_IDENT.patch deleted file mode 100644 index 56352753a0..0000000000 --- a/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins-0005-Remove-use-of-obsolete-VIDIOC_DBG_G_CHIP_IDENT.patch +++ /dev/null @@ -1,69 +0,0 @@ -From ce90794a3458af0aed43b8570cf44cd87900185d Mon Sep 17 00:00:00 2001 -From: Gary Bisson -Date: Fri, 25 Jul 2014 16:44:53 -0700 -Subject: [PATCH] Remove use of obsolete VIDIOC_DBG_G_CHIP_IDENT - -This ioctl should never be used in application as -stated in videodev2.h header. -Moreover, its use in this plugin was very limited. - -Signed-off-by: Gary Bisson ---- - src/misc/tvsrc/src/mfw_gst_tvsrc.c | 8 -------- - src/misc/v4l_source/src/mfw_gst_v4lsrc.c | 7 ------- - 2 files changed, 15 deletions(-) - -diff --git a/src/misc/tvsrc/src/mfw_gst_tvsrc.c b/src/misc/tvsrc/src/mfw_gst_tvsrc.c -index 67e0cd2..f495b6f 100755 ---- a/src/misc/tvsrc/src/mfw_gst_tvsrc.c -+++ b/src/misc/tvsrc/src/mfw_gst_tvsrc.c -@@ -450,7 +450,6 @@ mfw_gst_tvsrc_capture_setup (MFWGstTVSRC * v4l_src) - struct v4l2_format fmt; - struct v4l2_control ctrl; - struct v4l2_streamparm parm; -- struct v4l2_dbg_chip_ident chip; - gint fd_v4l = 0; - struct v4l2_mxc_offset off; - gint in_width = 0, in_height = 0; -@@ -461,13 +460,6 @@ mfw_gst_tvsrc_capture_setup (MFWGstTVSRC * v4l_src) - return 0; - } - -- if (ioctl (fd_v4l, VIDIOC_DBG_G_CHIP_IDENT, &chip)) { -- g_print ("VIDIOC_DBG_G_CHIP_IDENT failed.\n"); -- } else -- g_print ("sensor chip is %s\n", chip.match.name); -- -- -- - if (ioctl (fd_v4l, VIDIOC_G_STD, &id) < 0) { - g_print ("VIDIOC_G_STD failed\n"); - close (fd_v4l); -diff --git a/src/misc/v4l_source/src/mfw_gst_v4lsrc.c b/src/misc/v4l_source/src/mfw_gst_v4lsrc.c -index 2c2e838..85e7ff0 100755 ---- a/src/misc/v4l_source/src/mfw_gst_v4lsrc.c -+++ b/src/misc/v4l_source/src/mfw_gst_v4lsrc.c -@@ -464,7 +464,6 @@ mfw_gst_v4lsrc_capture_setup (MFWGstV4LSrc * v4l_src) - struct v4l2_format fmt = {0}; - struct v4l2_control ctrl = {0}; - struct v4l2_streamparm parm = {0}; -- struct v4l2_dbg_chip_ident chip = {0}; - struct v4l2_frmsizeenum fszenum = {0}; - gint input; - gint fd_v4l = 0; -@@ -476,12 +475,6 @@ mfw_gst_v4lsrc_capture_setup (MFWGstV4LSrc * v4l_src) - return 0; - } - -- if (ioctl (fd_v4l, VIDIOC_DBG_G_CHIP_IDENT, &chip)) { -- GST_ERROR ("VIDIOC_DBG_G_CHIP_IDENT failed."); -- } else -- GST_INFO ("sensor chip is %s", chip.match.name); -- -- - if (v4l_src->crop_pixel) { - in_width = v4l_src->capture_width - (2 * v4l_src->crop_pixel); - in_height = v4l_src->capture_height - (2 * v4l_src->crop_pixel); --- -2.0.1 - diff --git a/package/gstreamer/gst-plugin-x170/0001-correct-CFLAGS.patch b/package/gstreamer/gst-plugin-x170/0001-correct-CFLAGS.patch new file mode 100644 index 0000000000..9c32e46cce --- /dev/null +++ b/package/gstreamer/gst-plugin-x170/0001-correct-CFLAGS.patch @@ -0,0 +1,28 @@ +The configure script is correctly getting the CFLAGS needed to compile a plugin +for gstreamer and storing them in GST_BASE_CFLAGS but the Makefiles are never +making use of those. + +We actually have to use AM_CPPFLAGS as AM_CFLAGS is used everywhere but on the +real compiling rule... + +Signed-off-by: Alexandre Belloni +--- + src/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/Makefile.am b/src/Makefile.am +index 8cb51d1..6af5d91 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -5,6 +5,8 @@ + ############################################################################## + plugin_LTLIBRARIES = libgstx170.la + ++AM_CPPFLAGS = @GST_BASE_CFLAGS@ ++ + ############################################################################## + # for the next set of variables, rename the prefix if you renamed the .la, # + # e.g. libgstplugin_la_SOURCES => libmysomething_la_SOURCES # +-- +1.8.1.2 + diff --git a/package/gstreamer/gst-plugin-x170/gst-plugin-x170-01-correct-CFLAGS.patch b/package/gstreamer/gst-plugin-x170/gst-plugin-x170-01-correct-CFLAGS.patch deleted file mode 100644 index 9c32e46cce..0000000000 --- a/package/gstreamer/gst-plugin-x170/gst-plugin-x170-01-correct-CFLAGS.patch +++ /dev/null @@ -1,28 +0,0 @@ -The configure script is correctly getting the CFLAGS needed to compile a plugin -for gstreamer and storing them in GST_BASE_CFLAGS but the Makefiles are never -making use of those. - -We actually have to use AM_CPPFLAGS as AM_CFLAGS is used everywhere but on the -real compiling rule... - -Signed-off-by: Alexandre Belloni ---- - src/Makefile.am | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/Makefile.am b/src/Makefile.am -index 8cb51d1..6af5d91 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -5,6 +5,8 @@ - ############################################################################## - plugin_LTLIBRARIES = libgstx170.la - -+AM_CPPFLAGS = @GST_BASE_CFLAGS@ -+ - ############################################################################## - # for the next set of variables, rename the prefix if you renamed the .la, # - # e.g. libgstplugin_la_SOURCES => libmysomething_la_SOURCES # --- -1.8.1.2 - diff --git a/package/gstreamer/gst-plugins-bad/0001-opus-jpegformat-unbreak-non-debug-build.patch b/package/gstreamer/gst-plugins-bad/0001-opus-jpegformat-unbreak-non-debug-build.patch new file mode 100644 index 0000000000..2c98c3e102 --- /dev/null +++ b/package/gstreamer/gst-plugins-bad/0001-opus-jpegformat-unbreak-non-debug-build.patch @@ -0,0 +1,78 @@ +From 1725e702a3622cb45c8142622dd419fa0c410ac9 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Wed, 12 Sep 2012 09:10:35 +0200 +Subject: [PATCH] gst-plugins-bad: opus + jpegformat: unbreak non-debug build + +opus + jpegformat plugin builds fail when gstreamer is configured with +--disable-gst-debug as they are checking the GST_DISABLE_DEBUG symbol +instead of GST_DISABLE_GST_DEBUG. + +Submitted upstream as https://bugzilla.gnome.org/show_bug.cgi?id=683850 + +Signed-off-by: Peter Korsgaard +--- + ext/opus/gstopusdec.c | 2 +- + ext/opus/gstopusenc.c | 4 ++-- + gst/jpegformat/gstjpegparse.c | 4 ++-- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/ext/opus/gstopusdec.c b/ext/opus/gstopusdec.c +index 0e2805c..ab7221d 100644 +--- a/ext/opus/gstopusdec.c ++++ b/ext/opus/gstopusdec.c +@@ -357,7 +357,7 @@ opus_dec_chain_parse_data (GstOpusDec * dec, GstBuffer * buffer) + + GST_DEBUG_OBJECT (dec, "Creating decoder with %d channels, %d Hz", + dec->n_channels, dec->sample_rate); +-#ifndef GST_DISABLE_DEBUG ++#ifndef GST_DISABLE_GST_DEBUG + gst_opus_common_log_channel_mapping_table (GST_ELEMENT (dec), opusdec_debug, + "Mapping table", dec->n_channels, dec->channel_mapping); + #endif +diff --git a/ext/opus/gstopusenc.c b/ext/opus/gstopusenc.c +index 240a2cb..d991795 100644 +--- a/ext/opus/gstopusenc.c ++++ b/ext/opus/gstopusenc.c +@@ -589,7 +589,7 @@ gst_opus_enc_setup_channel_mappings (GstOpusEnc * enc, + } + } + +-#ifndef GST_DISABLE_DEBUG ++#ifndef GST_DISABLE_GST_DEBUG + GST_INFO_OBJECT (enc, + "Mapping tables built: %d channels, %d stereo streams", enc->n_channels, + enc->n_stereo_streams); +@@ -654,7 +654,7 @@ gst_opus_enc_setup (GstOpusEnc * enc) + { + int error = OPUS_OK; + +-#ifndef GST_DISABLE_DEBUG ++#ifndef GST_DISABLE_GST_DEBUG + GST_DEBUG_OBJECT (enc, + "setup: %d Hz, %d channels, %d stereo streams, family %d", + enc->sample_rate, enc->n_channels, enc->n_stereo_streams, +diff --git a/gst/jpegformat/gstjpegparse.c b/gst/jpegformat/gstjpegparse.c +index f984a52..b4af9ed 100644 +--- a/gst/jpegformat/gstjpegparse.c ++++ b/gst/jpegformat/gstjpegparse.c +@@ -545,7 +545,7 @@ gst_jpeg_parse_skip_marker (GstJpegParse * parse, + if (!gst_byte_reader_get_uint16_be (reader, &size)) + return FALSE; + +-#ifndef GST_DISABLE_DEBUG ++#ifndef GST_DISABLE_GST_DEBUG + /* We'd pry the id of the skipped application segment */ + if (marker >= APP0 && marker <= APP15) { + const gchar *id_str = NULL; +@@ -561,7 +561,7 @@ gst_jpeg_parse_skip_marker (GstJpegParse * parse, + #else + GST_DEBUG_OBJECT (parse, "unhandled marker %x skiping %u bytes", marker, + size); +-#endif // GST_DISABLE_DEBUG ++#endif // GST_DISABLE_GST_DEBUG + + if (!gst_byte_reader_skip (reader, size - 2)) + return FALSE; +-- +1.7.10 + diff --git a/package/gstreamer/gst-plugins-bad/0002-fix-dfb-example.patch b/package/gstreamer/gst-plugins-bad/0002-fix-dfb-example.patch new file mode 100644 index 0000000000..b2057484cd --- /dev/null +++ b/package/gstreamer/gst-plugins-bad/0002-fix-dfb-example.patch @@ -0,0 +1,22 @@ +Fix dfb-example + +Order of inclusion gives a strange effect on the definition of +gst_debug_log. Swapping the include statements solve it. + +Not upstreamed since there will be no more updates to this version +of gst-plugins-bad. + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- +diff -rup gst-plugins-bad-0.10.23/ext/directfb/dfb-example.c gst-plugins-bad-0.10.23.fixed/ext/directfb/dfb-example.c +--- gst-plugins-bad-0.10.23/ext/directfb/dfb-example.c 2011-12-11 19:49:11.000000000 +0100 ++++ gst-plugins-bad-0.10.23.fixed/ext/directfb/dfb-example.c 2013-05-13 00:32:00.507469138 +0200 +@@ -1,7 +1,7 @@ + +-#include + #include + #include ++#include + + static IDirectFB *dfb = NULL; + static IDirectFBSurface *primary = NULL; diff --git a/package/gstreamer/gst-plugins-bad/gst-plugins-bad-0002-fix-dfb-example.patch b/package/gstreamer/gst-plugins-bad/gst-plugins-bad-0002-fix-dfb-example.patch deleted file mode 100644 index b2057484cd..0000000000 --- a/package/gstreamer/gst-plugins-bad/gst-plugins-bad-0002-fix-dfb-example.patch +++ /dev/null @@ -1,22 +0,0 @@ -Fix dfb-example - -Order of inclusion gives a strange effect on the definition of -gst_debug_log. Swapping the include statements solve it. - -Not upstreamed since there will be no more updates to this version -of gst-plugins-bad. - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- -diff -rup gst-plugins-bad-0.10.23/ext/directfb/dfb-example.c gst-plugins-bad-0.10.23.fixed/ext/directfb/dfb-example.c ---- gst-plugins-bad-0.10.23/ext/directfb/dfb-example.c 2011-12-11 19:49:11.000000000 +0100 -+++ gst-plugins-bad-0.10.23.fixed/ext/directfb/dfb-example.c 2013-05-13 00:32:00.507469138 +0200 -@@ -1,7 +1,7 @@ - --#include - #include - #include -+#include - - static IDirectFB *dfb = NULL; - static IDirectFBSurface *primary = NULL; diff --git a/package/gstreamer/gst-plugins-bad/gst-plugins-bad-opus-jpegformat-unbreak-non-debug-build.patch b/package/gstreamer/gst-plugins-bad/gst-plugins-bad-opus-jpegformat-unbreak-non-debug-build.patch deleted file mode 100644 index 2c98c3e102..0000000000 --- a/package/gstreamer/gst-plugins-bad/gst-plugins-bad-opus-jpegformat-unbreak-non-debug-build.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 1725e702a3622cb45c8142622dd419fa0c410ac9 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Wed, 12 Sep 2012 09:10:35 +0200 -Subject: [PATCH] gst-plugins-bad: opus + jpegformat: unbreak non-debug build - -opus + jpegformat plugin builds fail when gstreamer is configured with ---disable-gst-debug as they are checking the GST_DISABLE_DEBUG symbol -instead of GST_DISABLE_GST_DEBUG. - -Submitted upstream as https://bugzilla.gnome.org/show_bug.cgi?id=683850 - -Signed-off-by: Peter Korsgaard ---- - ext/opus/gstopusdec.c | 2 +- - ext/opus/gstopusenc.c | 4 ++-- - gst/jpegformat/gstjpegparse.c | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/ext/opus/gstopusdec.c b/ext/opus/gstopusdec.c -index 0e2805c..ab7221d 100644 ---- a/ext/opus/gstopusdec.c -+++ b/ext/opus/gstopusdec.c -@@ -357,7 +357,7 @@ opus_dec_chain_parse_data (GstOpusDec * dec, GstBuffer * buffer) - - GST_DEBUG_OBJECT (dec, "Creating decoder with %d channels, %d Hz", - dec->n_channels, dec->sample_rate); --#ifndef GST_DISABLE_DEBUG -+#ifndef GST_DISABLE_GST_DEBUG - gst_opus_common_log_channel_mapping_table (GST_ELEMENT (dec), opusdec_debug, - "Mapping table", dec->n_channels, dec->channel_mapping); - #endif -diff --git a/ext/opus/gstopusenc.c b/ext/opus/gstopusenc.c -index 240a2cb..d991795 100644 ---- a/ext/opus/gstopusenc.c -+++ b/ext/opus/gstopusenc.c -@@ -589,7 +589,7 @@ gst_opus_enc_setup_channel_mappings (GstOpusEnc * enc, - } - } - --#ifndef GST_DISABLE_DEBUG -+#ifndef GST_DISABLE_GST_DEBUG - GST_INFO_OBJECT (enc, - "Mapping tables built: %d channels, %d stereo streams", enc->n_channels, - enc->n_stereo_streams); -@@ -654,7 +654,7 @@ gst_opus_enc_setup (GstOpusEnc * enc) - { - int error = OPUS_OK; - --#ifndef GST_DISABLE_DEBUG -+#ifndef GST_DISABLE_GST_DEBUG - GST_DEBUG_OBJECT (enc, - "setup: %d Hz, %d channels, %d stereo streams, family %d", - enc->sample_rate, enc->n_channels, enc->n_stereo_streams, -diff --git a/gst/jpegformat/gstjpegparse.c b/gst/jpegformat/gstjpegparse.c -index f984a52..b4af9ed 100644 ---- a/gst/jpegformat/gstjpegparse.c -+++ b/gst/jpegformat/gstjpegparse.c -@@ -545,7 +545,7 @@ gst_jpeg_parse_skip_marker (GstJpegParse * parse, - if (!gst_byte_reader_get_uint16_be (reader, &size)) - return FALSE; - --#ifndef GST_DISABLE_DEBUG -+#ifndef GST_DISABLE_GST_DEBUG - /* We'd pry the id of the skipped application segment */ - if (marker >= APP0 && marker <= APP15) { - const gchar *id_str = NULL; -@@ -561,7 +561,7 @@ gst_jpeg_parse_skip_marker (GstJpegParse * parse, - #else - GST_DEBUG_OBJECT (parse, "unhandled marker %x skiping %u bytes", marker, - size); --#endif // GST_DISABLE_DEBUG -+#endif // GST_DISABLE_GST_DEBUG - - if (!gst_byte_reader_skip (reader, size - 2)) - return FALSE; --- -1.7.10 - diff --git a/package/gstreamer/gst-plugins-base/0001-tremor.patch b/package/gstreamer/gst-plugins-base/0001-tremor.patch new file mode 100644 index 0000000000..fa8785bed4 --- /dev/null +++ b/package/gstreamer/gst-plugins-base/0001-tremor.patch @@ -0,0 +1,139 @@ +From 0088753651350de3060ece22c1be4153b6009515 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Wed, 25 Jan 2012 23:53:04 +0100 +Subject: [PATCH] base: vorbisdeclib: support modern Tremor versions + +Reported upstream as https://bugzilla.gnome.org/show_bug.cgi?id=668726 + +Tremor changed to use standard libogg rather than its own incompatible +copy back in Aug 2010 (r17375), causing gst-plugin-base build to fail. + +Tremolo so far unfortunately hasn't been updated. Restructure +vorbisdeclib.h so the legacy _ogg_packet_wrapper code is only used for +Tremolo. + +Signed-off-by: Peter Korsgaard +--- + ext/vorbis/gstvorbisdeclib.h | 77 ++++++++++++++++++++++------------------- + 1 files changed, 41 insertions(+), 36 deletions(-) + +diff --git a/ext/vorbis/gstvorbisdeclib.h b/ext/vorbis/gstvorbisdeclib.h +index ca00af9..e147591 100644 +--- a/ext/vorbis/gstvorbisdeclib.h ++++ b/ext/vorbis/gstvorbisdeclib.h +@@ -29,11 +29,6 @@ + + #ifndef TREMOR + +-#include +- +-typedef float vorbis_sample_t; +-typedef ogg_packet ogg_packet_wrapper; +- + #define GST_VORBIS_DEC_DESCRIPTION "decode raw vorbis streams to float audio" + + #define GST_VORBIS_DEC_SRC_CAPS \ +@@ -47,6 +42,42 @@ typedef ogg_packet ogg_packet_wrapper; + + #define GST_VORBIS_DEC_GLIB_TYPE_NAME GstVorbisDec + ++#else /* TREMOR */ ++ ++#define GST_VORBIS_DEC_DESCRIPTION "decode raw vorbis streams to integer audio" ++ ++#define GST_VORBIS_DEC_SRC_CAPS \ ++ GST_STATIC_CAPS ("audio/x-raw-int, " \ ++ "rate = (int) [ 1, MAX ], " \ ++ "channels = (int) [ 1, 6 ], " \ ++ "endianness = (int) BYTE_ORDER, " \ ++ "width = (int) { 16, 32 }, " \ ++ "depth = (int) 16, " \ ++ "signed = (boolean) true") ++ ++#define GST_VORBIS_DEC_DEFAULT_SAMPLE_WIDTH (16) ++ ++/* we need a different type name here */ ++#define GST_VORBIS_DEC_GLIB_TYPE_NAME GstIVorbisDec ++ ++/* and still have it compile */ ++typedef struct _GstVorbisDec GstIVorbisDec; ++typedef struct _GstVorbisDecClass GstIVorbisDecClass; ++ ++#endif /* TREMOR */ ++ ++#ifndef USE_TREMOLO ++ ++#ifdef TREMOR ++ #include ++ typedef ogg_int32_t vorbis_sample_t; ++#else ++ #include ++ typedef float vorbis_sample_t; ++#endif ++ ++typedef ogg_packet ogg_packet_wrapper; ++ + static inline guint8 * + gst_ogg_packet_data (ogg_packet * p) + { +@@ -72,17 +103,11 @@ gst_ogg_packet_from_wrapper (ogg_packet_wrapper * packet) + return packet; + } + +-#else +- +-#ifdef USE_TREMOLO +- #include +- #include +- typedef ogg_int16_t vorbis_sample_t; +-#else +- #include +- typedef ogg_int32_t vorbis_sample_t; +-#endif ++#else /* USE_TREMOLO */ + ++#include ++#include ++typedef ogg_int16_t vorbis_sample_t; + typedef struct _ogg_packet_wrapper ogg_packet_wrapper; + + struct _ogg_packet_wrapper { +@@ -91,26 +116,6 @@ struct _ogg_packet_wrapper { + ogg_buffer buf; + }; + +-#define GST_VORBIS_DEC_DESCRIPTION "decode raw vorbis streams to integer audio" +- +-#define GST_VORBIS_DEC_SRC_CAPS \ +- GST_STATIC_CAPS ("audio/x-raw-int, " \ +- "rate = (int) [ 1, MAX ], " \ +- "channels = (int) [ 1, 6 ], " \ +- "endianness = (int) BYTE_ORDER, " \ +- "width = (int) { 16, 32 }, " \ +- "depth = (int) 16, " \ +- "signed = (boolean) true") +- +-#define GST_VORBIS_DEC_DEFAULT_SAMPLE_WIDTH (16) +- +-/* we need a different type name here */ +-#define GST_VORBIS_DEC_GLIB_TYPE_NAME GstIVorbisDec +- +-/* and still have it compile */ +-typedef struct _GstVorbisDec GstIVorbisDec; +-typedef struct _GstVorbisDecClass GstIVorbisDecClass; +- + /* compensate minor variation */ + #define vorbis_synthesis(a, b) vorbis_synthesis (a, b, 1) + +@@ -154,7 +159,7 @@ gst_ogg_packet_from_wrapper (ogg_packet_wrapper * packet) + return &(packet->packet); + } + +-#endif ++#endif /* USE_TREMOLO */ + + typedef void (*CopySampleFunc)(vorbis_sample_t *out, vorbis_sample_t **in, + guint samples, gint channels, gint width); +-- +1.7.8.3 + diff --git a/package/gstreamer/gst-plugins-base/gst-plugins-base-tremor.patch b/package/gstreamer/gst-plugins-base/gst-plugins-base-tremor.patch deleted file mode 100644 index fa8785bed4..0000000000 --- a/package/gstreamer/gst-plugins-base/gst-plugins-base-tremor.patch +++ /dev/null @@ -1,139 +0,0 @@ -From 0088753651350de3060ece22c1be4153b6009515 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Wed, 25 Jan 2012 23:53:04 +0100 -Subject: [PATCH] base: vorbisdeclib: support modern Tremor versions - -Reported upstream as https://bugzilla.gnome.org/show_bug.cgi?id=668726 - -Tremor changed to use standard libogg rather than its own incompatible -copy back in Aug 2010 (r17375), causing gst-plugin-base build to fail. - -Tremolo so far unfortunately hasn't been updated. Restructure -vorbisdeclib.h so the legacy _ogg_packet_wrapper code is only used for -Tremolo. - -Signed-off-by: Peter Korsgaard ---- - ext/vorbis/gstvorbisdeclib.h | 77 ++++++++++++++++++++++------------------- - 1 files changed, 41 insertions(+), 36 deletions(-) - -diff --git a/ext/vorbis/gstvorbisdeclib.h b/ext/vorbis/gstvorbisdeclib.h -index ca00af9..e147591 100644 ---- a/ext/vorbis/gstvorbisdeclib.h -+++ b/ext/vorbis/gstvorbisdeclib.h -@@ -29,11 +29,6 @@ - - #ifndef TREMOR - --#include -- --typedef float vorbis_sample_t; --typedef ogg_packet ogg_packet_wrapper; -- - #define GST_VORBIS_DEC_DESCRIPTION "decode raw vorbis streams to float audio" - - #define GST_VORBIS_DEC_SRC_CAPS \ -@@ -47,6 +42,42 @@ typedef ogg_packet ogg_packet_wrapper; - - #define GST_VORBIS_DEC_GLIB_TYPE_NAME GstVorbisDec - -+#else /* TREMOR */ -+ -+#define GST_VORBIS_DEC_DESCRIPTION "decode raw vorbis streams to integer audio" -+ -+#define GST_VORBIS_DEC_SRC_CAPS \ -+ GST_STATIC_CAPS ("audio/x-raw-int, " \ -+ "rate = (int) [ 1, MAX ], " \ -+ "channels = (int) [ 1, 6 ], " \ -+ "endianness = (int) BYTE_ORDER, " \ -+ "width = (int) { 16, 32 }, " \ -+ "depth = (int) 16, " \ -+ "signed = (boolean) true") -+ -+#define GST_VORBIS_DEC_DEFAULT_SAMPLE_WIDTH (16) -+ -+/* we need a different type name here */ -+#define GST_VORBIS_DEC_GLIB_TYPE_NAME GstIVorbisDec -+ -+/* and still have it compile */ -+typedef struct _GstVorbisDec GstIVorbisDec; -+typedef struct _GstVorbisDecClass GstIVorbisDecClass; -+ -+#endif /* TREMOR */ -+ -+#ifndef USE_TREMOLO -+ -+#ifdef TREMOR -+ #include -+ typedef ogg_int32_t vorbis_sample_t; -+#else -+ #include -+ typedef float vorbis_sample_t; -+#endif -+ -+typedef ogg_packet ogg_packet_wrapper; -+ - static inline guint8 * - gst_ogg_packet_data (ogg_packet * p) - { -@@ -72,17 +103,11 @@ gst_ogg_packet_from_wrapper (ogg_packet_wrapper * packet) - return packet; - } - --#else -- --#ifdef USE_TREMOLO -- #include -- #include -- typedef ogg_int16_t vorbis_sample_t; --#else -- #include -- typedef ogg_int32_t vorbis_sample_t; --#endif -+#else /* USE_TREMOLO */ - -+#include -+#include -+typedef ogg_int16_t vorbis_sample_t; - typedef struct _ogg_packet_wrapper ogg_packet_wrapper; - - struct _ogg_packet_wrapper { -@@ -91,26 +116,6 @@ struct _ogg_packet_wrapper { - ogg_buffer buf; - }; - --#define GST_VORBIS_DEC_DESCRIPTION "decode raw vorbis streams to integer audio" -- --#define GST_VORBIS_DEC_SRC_CAPS \ -- GST_STATIC_CAPS ("audio/x-raw-int, " \ -- "rate = (int) [ 1, MAX ], " \ -- "channels = (int) [ 1, 6 ], " \ -- "endianness = (int) BYTE_ORDER, " \ -- "width = (int) { 16, 32 }, " \ -- "depth = (int) 16, " \ -- "signed = (boolean) true") -- --#define GST_VORBIS_DEC_DEFAULT_SAMPLE_WIDTH (16) -- --/* we need a different type name here */ --#define GST_VORBIS_DEC_GLIB_TYPE_NAME GstIVorbisDec -- --/* and still have it compile */ --typedef struct _GstVorbisDec GstIVorbisDec; --typedef struct _GstVorbisDecClass GstIVorbisDecClass; -- - /* compensate minor variation */ - #define vorbis_synthesis(a, b) vorbis_synthesis (a, b, 1) - -@@ -154,7 +159,7 @@ gst_ogg_packet_from_wrapper (ogg_packet_wrapper * packet) - return &(packet->packet); - } - --#endif -+#endif /* USE_TREMOLO */ - - typedef void (*CopySampleFunc)(vorbis_sample_t *out, vorbis_sample_t **in, - guint samples, gint channels, gint width); --- -1.7.8.3 - diff --git a/package/gstreamer/gst-plugins-good/0001-linux36.patch b/package/gstreamer/gst-plugins-good/0001-linux36.patch new file mode 100644 index 0000000000..5d7cd932ed --- /dev/null +++ b/package/gstreamer/gst-plugins-good/0001-linux36.patch @@ -0,0 +1,37 @@ +Fix building with Linux headers 3.6 + +Signed-off-by: Markos Chandras + +From bfb1ac952b4c3caaba0297bbe7dc73ea92f9b292 Mon Sep 17 00:00:00 2001 +From: Matthias Clasen +Date: Thu, 09 Aug 2012 07:35:23 +0000 +Subject: v4l2: fix build with recent kernels, the v4l2_buffer input field was removed + +This was unused apparently and removed in the kernel in commit: + + From 2b719d7baf490e24ce7d817c6337b7c87fda84c1 Mon Sep 17 00:00:00 2001 + From: Sakari Ailus + Date: Wed, 2 May 2012 09:40:03 -0300 + Subject: [PATCH] [media] v4l: drop v4l2_buffer.input and V4L2_BUF_FLAG_INPUT + + Remove input field in struct v4l2_buffer and flag V4L2_BUF_FLAG_INPUT which + tells the former is valid. The flag is used by no driver currently. + +https://bugzilla.gnome.org/show_bug.cgi?id=681491 +--- +(limited to 'sys/v4l2/gstv4l2bufferpool.c') + +diff --git a/sys/v4l2/gstv4l2bufferpool.c b/sys/v4l2/gstv4l2bufferpool.c +index 2e3a563..5aaed5a 100644 +--- a/sys/v4l2/gstv4l2bufferpool.c ++++ b/sys/v4l2/gstv4l2bufferpool.c +@@ -182,7 +182,6 @@ gst_v4l2_buffer_new (GstV4l2BufferPool * pool, guint index, GstCaps * caps) + GST_LOG_OBJECT (pool->v4l2elem, " MMAP offset: %u", + ret->vbuffer.m.offset); + GST_LOG_OBJECT (pool->v4l2elem, " length: %u", ret->vbuffer.length); +- GST_LOG_OBJECT (pool->v4l2elem, " input: %u", ret->vbuffer.input); + + ret->mmap_length = ret->vbuffer.length; + data = (guint8 *) v4l2_mmap (0, ret->vbuffer.length, +-- +cgit v0.9.0.2-2-gbebe diff --git a/package/gstreamer/gst-plugins-good/0002-v4l2-fix-compilation-against-newer-kernel-headers.patch b/package/gstreamer/gst-plugins-good/0002-v4l2-fix-compilation-against-newer-kernel-headers.patch new file mode 100644 index 0000000000..62c3bb24e6 --- /dev/null +++ b/package/gstreamer/gst-plugins-good/0002-v4l2-fix-compilation-against-newer-kernel-headers.patch @@ -0,0 +1,30 @@ +From 8e633d2059cb835448021cf79becb487aff10975 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Mon, 18 Mar 2013 14:59:35 +0000 +Subject: [PATCH] v4l2: fix compilation against newer kernel headers as on + FC19 + +--- + sys/v4l2/v4l2_calls.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c +index 07d390a..4c10f4f 100644 +--- a/sys/v4l2/v4l2_calls.c ++++ b/sys/v4l2/v4l2_calls.c +@@ -291,8 +291,12 @@ gst_v4l2_fill_lists (GstV4l2Object * v4l2object) + break; + case V4L2_CID_HFLIP: + case V4L2_CID_VFLIP: ++#ifndef V4L2_CID_PAN_RESET + case V4L2_CID_HCENTER: ++#endif ++#ifndef V4L2_CID_TILT_RESET + case V4L2_CID_VCENTER: ++#endif + #ifdef V4L2_CID_PAN_RESET + case V4L2_CID_PAN_RESET: + #endif +-- +1.7.10.4 + diff --git a/package/gstreamer/gst-plugins-good/gst-plugins-good-linux36.patch b/package/gstreamer/gst-plugins-good/gst-plugins-good-linux36.patch deleted file mode 100644 index 5d7cd932ed..0000000000 --- a/package/gstreamer/gst-plugins-good/gst-plugins-good-linux36.patch +++ /dev/null @@ -1,37 +0,0 @@ -Fix building with Linux headers 3.6 - -Signed-off-by: Markos Chandras - -From bfb1ac952b4c3caaba0297bbe7dc73ea92f9b292 Mon Sep 17 00:00:00 2001 -From: Matthias Clasen -Date: Thu, 09 Aug 2012 07:35:23 +0000 -Subject: v4l2: fix build with recent kernels, the v4l2_buffer input field was removed - -This was unused apparently and removed in the kernel in commit: - - From 2b719d7baf490e24ce7d817c6337b7c87fda84c1 Mon Sep 17 00:00:00 2001 - From: Sakari Ailus - Date: Wed, 2 May 2012 09:40:03 -0300 - Subject: [PATCH] [media] v4l: drop v4l2_buffer.input and V4L2_BUF_FLAG_INPUT - - Remove input field in struct v4l2_buffer and flag V4L2_BUF_FLAG_INPUT which - tells the former is valid. The flag is used by no driver currently. - -https://bugzilla.gnome.org/show_bug.cgi?id=681491 ---- -(limited to 'sys/v4l2/gstv4l2bufferpool.c') - -diff --git a/sys/v4l2/gstv4l2bufferpool.c b/sys/v4l2/gstv4l2bufferpool.c -index 2e3a563..5aaed5a 100644 ---- a/sys/v4l2/gstv4l2bufferpool.c -+++ b/sys/v4l2/gstv4l2bufferpool.c -@@ -182,7 +182,6 @@ gst_v4l2_buffer_new (GstV4l2BufferPool * pool, guint index, GstCaps * caps) - GST_LOG_OBJECT (pool->v4l2elem, " MMAP offset: %u", - ret->vbuffer.m.offset); - GST_LOG_OBJECT (pool->v4l2elem, " length: %u", ret->vbuffer.length); -- GST_LOG_OBJECT (pool->v4l2elem, " input: %u", ret->vbuffer.input); - - ret->mmap_length = ret->vbuffer.length; - data = (guint8 *) v4l2_mmap (0, ret->vbuffer.length, --- -cgit v0.9.0.2-2-gbebe diff --git a/package/gstreamer/gst-plugins-good/gst-plugins-good-v4l2-fix-compilation-against-newer-kernel-headers.patch b/package/gstreamer/gst-plugins-good/gst-plugins-good-v4l2-fix-compilation-against-newer-kernel-headers.patch deleted file mode 100644 index 62c3bb24e6..0000000000 --- a/package/gstreamer/gst-plugins-good/gst-plugins-good-v4l2-fix-compilation-against-newer-kernel-headers.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 8e633d2059cb835448021cf79becb487aff10975 Mon Sep 17 00:00:00 2001 -From: Bastien Nocera -Date: Mon, 18 Mar 2013 14:59:35 +0000 -Subject: [PATCH] v4l2: fix compilation against newer kernel headers as on - FC19 - ---- - sys/v4l2/v4l2_calls.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c -index 07d390a..4c10f4f 100644 ---- a/sys/v4l2/v4l2_calls.c -+++ b/sys/v4l2/v4l2_calls.c -@@ -291,8 +291,12 @@ gst_v4l2_fill_lists (GstV4l2Object * v4l2object) - break; - case V4L2_CID_HFLIP: - case V4L2_CID_VFLIP: -+#ifndef V4L2_CID_PAN_RESET - case V4L2_CID_HCENTER: -+#endif -+#ifndef V4L2_CID_TILT_RESET - case V4L2_CID_VCENTER: -+#endif - #ifdef V4L2_CID_PAN_RESET - case V4L2_CID_PAN_RESET: - #endif --- -1.7.10.4 - diff --git a/package/gstreamer/gstreamer/0001-bison3.patch b/package/gstreamer/gstreamer/0001-bison3.patch new file mode 100644 index 0000000000..f9ec52d95a --- /dev/null +++ b/package/gstreamer/gstreamer/0001-bison3.patch @@ -0,0 +1,24 @@ +Fix deprecation from bison 3.0+ +From http://comments.gmane.org/gmane.linux.lfs.beyond.devel/24620 + +Signed-off-by: Gustavo Zacarias + +diff -Nura gstreamer-0.10.36.orig/gst/parse/grammar.y gstreamer-0.10.36/gst/parse/grammar.y +--- gstreamer-0.10.36.orig/gst/parse/grammar.y 2013-10-04 09:52:21.685282055 -0300 ++++ gstreamer-0.10.36/gst/parse/grammar.y 2013-10-04 10:21:54.800211238 -0300 +@@ -26,7 +26,6 @@ + */ + + #define YYERROR_VERBOSE 1 +-#define YYLEX_PARAM scanner + + #define YYENABLE_NLS 0 + +@@ -648,6 +647,7 @@ + %right '.' + %left '!' '=' + ++%lex-param { void *scanner } + %parse-param { void *scanner } + %parse-param { graph_t *graph } + %pure-parser diff --git a/package/gstreamer/gstreamer/gstreamer-01-bison3.patch b/package/gstreamer/gstreamer/gstreamer-01-bison3.patch deleted file mode 100644 index f9ec52d95a..0000000000 --- a/package/gstreamer/gstreamer/gstreamer-01-bison3.patch +++ /dev/null @@ -1,24 +0,0 @@ -Fix deprecation from bison 3.0+ -From http://comments.gmane.org/gmane.linux.lfs.beyond.devel/24620 - -Signed-off-by: Gustavo Zacarias - -diff -Nura gstreamer-0.10.36.orig/gst/parse/grammar.y gstreamer-0.10.36/gst/parse/grammar.y ---- gstreamer-0.10.36.orig/gst/parse/grammar.y 2013-10-04 09:52:21.685282055 -0300 -+++ gstreamer-0.10.36/gst/parse/grammar.y 2013-10-04 10:21:54.800211238 -0300 -@@ -26,7 +26,6 @@ - */ - - #define YYERROR_VERBOSE 1 --#define YYLEX_PARAM scanner - - #define YYENABLE_NLS 0 - -@@ -648,6 +647,7 @@ - %right '.' - %left '!' '=' - -+%lex-param { void *scanner } - %parse-param { void *scanner } - %parse-param { graph_t *graph } - %pure-parser diff --git a/package/gstreamer1/gst1-plugins-bad/0001-use-gettext-0.18.patch b/package/gstreamer1/gst1-plugins-bad/0001-use-gettext-0.18.patch new file mode 100644 index 0000000000..ebf4567b00 --- /dev/null +++ b/package/gstreamer1/gst1-plugins-bad/0001-use-gettext-0.18.patch @@ -0,0 +1,17 @@ +Use newer version of gettext to match current buildroot gettext. + +Signed-off-by: Spenser Gilliland +---- +Index: gst1-plugins-bad-1.1.1/po/Makefile.in.in +=================================================================== +--- gst1-plugins-bad-1.1.1.orig/po/Makefile.in.in ++++ gst1-plugins-bad-1.1.1/po/Makefile.in.in +@@ -9,7 +9,7 @@ + # General Public License and is *not* in the public domain. + # + # Origin: gettext-0.17 +-GETTEXT_MACRO_VERSION = 0.17 ++GETTEXT_MACRO_VERSION = 0.18 + + PACKAGE = @PACKAGE@ + VERSION = @VERSION@ diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad-use-gettext-0.18.patch b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad-use-gettext-0.18.patch deleted file mode 100644 index ebf4567b00..0000000000 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad-use-gettext-0.18.patch +++ /dev/null @@ -1,17 +0,0 @@ -Use newer version of gettext to match current buildroot gettext. - -Signed-off-by: Spenser Gilliland ----- -Index: gst1-plugins-bad-1.1.1/po/Makefile.in.in -=================================================================== ---- gst1-plugins-bad-1.1.1.orig/po/Makefile.in.in -+++ gst1-plugins-bad-1.1.1/po/Makefile.in.in -@@ -9,7 +9,7 @@ - # General Public License and is *not* in the public domain. - # - # Origin: gettext-0.17 --GETTEXT_MACRO_VERSION = 0.17 -+GETTEXT_MACRO_VERSION = 0.18 - - PACKAGE = @PACKAGE@ - VERSION = @VERSION@ diff --git a/package/gutenprint/0001-use-pregen-xmli18n-header.patch b/package/gutenprint/0001-use-pregen-xmli18n-header.patch new file mode 100644 index 0000000000..533fe33d82 --- /dev/null +++ b/package/gutenprint/0001-use-pregen-xmli18n-header.patch @@ -0,0 +1,48 @@ +src/xml: use preg-gen xmli18n_tmp.h if specified + +Ideally, the programs needed at build-time should be built with +CC_FOR_BUILD, and not with CC_FOR_HOST. + +Unfortunately, this program wants to link against the gutenprint libs, +so we would also need to build them with CC_FOR_HOST, that is build them +twice, once for build, once for host. + +Instead, in the Buildroot context, we first build gutenprint for the build +system, use that to generate the incriminated header, and then re-use that +header to build the gutenprint for the host. + +It is not possible to have such constructs in Makefile.am: + ifeq ($(FOO),) + bar: bla + cat $< >$@ + else + bar: + echo $(FOO) >$@ + endif + +as autoreconf will yell loudly that there is an 'endif' without an 'if'. +Sigh... :-( + +Signed-off-by: "Yann E. MORIN" + +diff -durN gutenprint-5.2.9.orig/src/xml/Makefile.am gutenprint-5.2.9/src/xml/Makefile.am +--- gutenprint-5.2.9.orig/src/xml/Makefile.am 2011-03-30 02:43:24.000000000 +0200 ++++ gutenprint-5.2.9/src/xml/Makefile.am 2013-03-24 17:08:08.435918773 +0100 +@@ -52,10 +52,13 @@ + + + xmli18n-tmp.h: xml-stamp extract-strings +- -rm -f $@ $@.tmp +- ./extract-strings `cat xml-stamp | sed -e 's;^;$(srcdir)/;'` > $@.tmp +- mv $@.tmp $@ +- ++ if [ -z "$(BR2_USE_PREGEN_XMLI18N_TMP_H)" ]; then \ ++ rm -f $@ $@.tmp; \ ++ ./extract-strings `cat xml-stamp | sed -e 's;^;$(srcdir)/;'` > $@.tmp; \ ++ mv $@.tmp $@; \ ++ else \ ++ cp $(BR2_USE_PREGEN_XMLI18N_TMP_H) $@; \ ++ fi + + dist-hook: xmli18n-tmp.h xml-stamp + # xmli18n-tmp.h is needed by po/POTFILES.in at dist time diff --git a/package/gutenprint/0002-cups-support-replaces-static-with-static-libtool-lib.patch b/package/gutenprint/0002-cups-support-replaces-static-with-static-libtool-lib.patch new file mode 100644 index 0000000000..d8cfb7d9d7 --- /dev/null +++ b/package/gutenprint/0002-cups-support-replaces-static-with-static-libtool-lib.patch @@ -0,0 +1,39 @@ +From 08a5d355160eb2ac8346ae1b94591418343217f9 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sun, 17 Aug 2014 23:43:20 +0200 +Subject: [PATCH 1/1] cups support: replaces -static with -static-libtool-libs + +gutenprint rely on the original behaviour of -static, but since commit +in buildroot "support/libtool: make -static behave like -all-static" [1], +the build of genppd is broken. + +genppd need to be build statically otherwise the following warning appears: +***WARNING: Use of --disable-static-genppd or --disable-static + when building CUPS is very dangerous. The build may + fail when building the PPD files, or may *SILENTLY* + build incorrect PPD files or cause other problems. + Please review the README and release notes carefully! + +[1] http://git.buildroot.net/buildroot/commit/?id=97703978ac870ce2b14ad144f8e082de82aa2c64 + +Signed-off-by: Romain Naour +--- + src/cups/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/cups/Makefile.am b/src/cups/Makefile.am +index 1e27ae0..d711b70 100644 +--- a/src/cups/Makefile.am ++++ b/src/cups/Makefile.am +@@ -84,7 +84,7 @@ noinst_SCRIPTS=test-rastertogutenprint + endif + + if BUILD_GENPPD_STATIC +-STATIC_LDOPTS=-static -export-dynamic ++STATIC_LDOPTS=-static-libtool-libs -export-dynamic + endif + + cups_calibrate_SOURCES = cups-calibrate.c +-- +1.9.3 + diff --git a/package/gutenprint/gutenprint-000-use-pregen-xmli18n-header.patch b/package/gutenprint/gutenprint-000-use-pregen-xmli18n-header.patch deleted file mode 100644 index 533fe33d82..0000000000 --- a/package/gutenprint/gutenprint-000-use-pregen-xmli18n-header.patch +++ /dev/null @@ -1,48 +0,0 @@ -src/xml: use preg-gen xmli18n_tmp.h if specified - -Ideally, the programs needed at build-time should be built with -CC_FOR_BUILD, and not with CC_FOR_HOST. - -Unfortunately, this program wants to link against the gutenprint libs, -so we would also need to build them with CC_FOR_HOST, that is build them -twice, once for build, once for host. - -Instead, in the Buildroot context, we first build gutenprint for the build -system, use that to generate the incriminated header, and then re-use that -header to build the gutenprint for the host. - -It is not possible to have such constructs in Makefile.am: - ifeq ($(FOO),) - bar: bla - cat $< >$@ - else - bar: - echo $(FOO) >$@ - endif - -as autoreconf will yell loudly that there is an 'endif' without an 'if'. -Sigh... :-( - -Signed-off-by: "Yann E. MORIN" - -diff -durN gutenprint-5.2.9.orig/src/xml/Makefile.am gutenprint-5.2.9/src/xml/Makefile.am ---- gutenprint-5.2.9.orig/src/xml/Makefile.am 2011-03-30 02:43:24.000000000 +0200 -+++ gutenprint-5.2.9/src/xml/Makefile.am 2013-03-24 17:08:08.435918773 +0100 -@@ -52,10 +52,13 @@ - - - xmli18n-tmp.h: xml-stamp extract-strings -- -rm -f $@ $@.tmp -- ./extract-strings `cat xml-stamp | sed -e 's;^;$(srcdir)/;'` > $@.tmp -- mv $@.tmp $@ -- -+ if [ -z "$(BR2_USE_PREGEN_XMLI18N_TMP_H)" ]; then \ -+ rm -f $@ $@.tmp; \ -+ ./extract-strings `cat xml-stamp | sed -e 's;^;$(srcdir)/;'` > $@.tmp; \ -+ mv $@.tmp $@; \ -+ else \ -+ cp $(BR2_USE_PREGEN_XMLI18N_TMP_H) $@; \ -+ fi - - dist-hook: xmli18n-tmp.h xml-stamp - # xmli18n-tmp.h is needed by po/POTFILES.in at dist time diff --git a/package/gutenprint/gutenprint-001-cups-support-replaces-static-with-static-libtool-lib.patch b/package/gutenprint/gutenprint-001-cups-support-replaces-static-with-static-libtool-lib.patch deleted file mode 100644 index d8cfb7d9d7..0000000000 --- a/package/gutenprint/gutenprint-001-cups-support-replaces-static-with-static-libtool-lib.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 08a5d355160eb2ac8346ae1b94591418343217f9 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sun, 17 Aug 2014 23:43:20 +0200 -Subject: [PATCH 1/1] cups support: replaces -static with -static-libtool-libs - -gutenprint rely on the original behaviour of -static, but since commit -in buildroot "support/libtool: make -static behave like -all-static" [1], -the build of genppd is broken. - -genppd need to be build statically otherwise the following warning appears: -***WARNING: Use of --disable-static-genppd or --disable-static - when building CUPS is very dangerous. The build may - fail when building the PPD files, or may *SILENTLY* - build incorrect PPD files or cause other problems. - Please review the README and release notes carefully! - -[1] http://git.buildroot.net/buildroot/commit/?id=97703978ac870ce2b14ad144f8e082de82aa2c64 - -Signed-off-by: Romain Naour ---- - src/cups/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/cups/Makefile.am b/src/cups/Makefile.am -index 1e27ae0..d711b70 100644 ---- a/src/cups/Makefile.am -+++ b/src/cups/Makefile.am -@@ -84,7 +84,7 @@ noinst_SCRIPTS=test-rastertogutenprint - endif - - if BUILD_GENPPD_STATIC --STATIC_LDOPTS=-static -export-dynamic -+STATIC_LDOPTS=-static-libtool-libs -export-dynamic - endif - - cups_calibrate_SOURCES = cups-calibrate.c --- -1.9.3 - diff --git a/package/heimdal/0001-add-roken-h-process.patch b/package/heimdal/0001-add-roken-h-process.patch new file mode 100644 index 0000000000..b8fbd2a4a3 --- /dev/null +++ b/package/heimdal/0001-add-roken-h-process.patch @@ -0,0 +1,195 @@ +Add roken-h-process.pl from: +https://raw.github.com/heimdal/heimdal/master/cf/roken-h-process.pl +It's required for cross-compiling and missing from release tarballs: +http://kerberos.996246.n3.nabble.com/Missing-roken-h-process-pl-when-cross-compiling-v1-5-2-td38806.html + +Signed-off-by: Gustavo Zacarias + +diff -Nura heimdal-1.5.3.orig/cf/roken-h-process.pl heimdal-1.5.3/cf/roken-h-process.pl +--- heimdal-1.5.3.orig/cf/roken-h-process.pl 1969-12-31 21:00:00.000000000 -0300 ++++ heimdal-1.5.3/cf/roken-h-process.pl 2013-12-18 11:32:38.157625167 -0300 +@@ -0,0 +1,184 @@ ++#!/usr/bin/perl ++ ++require 'getopts.pl'; ++ ++my $debug = 0; ++ ++Getopts('dc:p:o:') || die "foo"; ++ ++if ($opt_d) { ++ $debug = 1; ++} ++ ++die "missing arg" if (!defined $opt_c || !defined $opt_p || !defined $opt_o); ++ ++my %defines; ++my $IN; ++my $OUT; ++ ++print "parse config.h\n" if ($debug); ++ ++open IN, $opt_c || die "failed open ${opt_c}"; ++ ++my @nesting; ++ ++push @nesting, 1; ++ ++while () { ++ if (m/\s*#ifdef\s+(.*)/) { ++ my $var = $1; ++ if (defined $defines{$var}) { ++ push @nesting, 1; ++ } else { ++ push @nesting, 0; ++ } ++ next; ++ } elsif (m/\s*#ifndef\s+(.*)/) { ++ my $var = $1; ++ if (defined $defines{$var}) { ++ push @nesting, 0; ++ } else { ++ push @nesting, 1; ++ } ++ next; ++ } elsif (m/\s*#else/) { ++ my $var = pop @nesting; ++ $var = !$var; ++ push @nesting, $var; ++ next; ++ } elsif ($nesting[$#nesting] and m/\s*#define\s+(\w+)\s+(\S+)/) { ++ my $res = $2; ++ $res = 1 if (!defined $res); ++ $defines{$1} = $res; ++ } ++} ++ ++close IN; ++ ++if ($debug) { ++ foreach my $i (keys %defines) { ++ print "k: $i v: $defines{$i}\n"; ++ } ++} ++ ++open IN, "$opt_p" || die "failed open ${opt_p}"; ++open OUT, ">$opt_o" || die "failed open ${opt_o}"; ++ ++print "parse roken.h.in\n" if ($debug); ++ ++print OUT "/* This is an OS dependent, generated file */\n"; ++print OUT "\n"; ++print OUT "\n"; ++print OUT "#ifndef __ROKEN_H__\n"; ++print OUT "#define __ROKEN_H__\n"; ++print OUT "\n"; ++ ++@nesting = (1); ++ ++while () { ++ if (m/\s*#ifdef\s+(.*)/) { ++ my $var = $1; ++ if (defined $defines{$var}) { ++ push @nesting, 1; ++ } else { ++ push @nesting, 0; ++ } ++ next; ++ } elsif (m/\s*#ifndef\s+(.*)/) { ++ my $var = $1; ++ if (defined $defines{$var}) { ++ push @nesting, 0; ++ } else { ++ push @nesting, 1; ++ } ++ next; ++ } elsif (m/\s*#if\s+(.*)/) { ++ my $res = parse_if($1); ++ print "line = $res: $1\n" if ($debug); ++ push @nesting, $res; ++ next; ++ } elsif (m/\s*#elif\s+(.*)/) { ++ my $res = pop @nesting; ++ if ($res gt 0) { ++ $res = -1; ++ } else { ++ my $res = parse_if($1); ++ } ++ push @nesting, $res; ++ next; ++ } elsif (m/\s*#else/) { ++ my $var = pop @nesting; ++ $var = !$var; ++ push @nesting, $var; ++ next; ++ } elsif (m/\s*#endif/) { ++ pop @nesting; ++ next; ++ } ++ print "line: $_\n" if ($debug); ++ print "nesting dep $#{nesting}\n" if ($debug); ++ my $i = 0, $t = 1; ++ while ($i le $#nesting) { ++ $t = 0 if ($nesting[$i] le 0); ++ print "nesting $i val $nesting[$i] -> $t\n" if ($debug); ++ $i++; ++ } ++ if ($t) { ++ print OUT; ++ } ++} ++ ++print OUT "\n"; ++print OUT "#endif /* __ROKEN_H__ */\n"; ++ ++ ++close IN; ++ ++exit 0; ++ ++sub parse_if ++{ ++ my ($neg, $var); ++ ++ $_ = shift; ++ ++ if (m/^\s*$/) { ++ print "end $_\n" if ($debug); ++ return 1; ++ } elsif (m/^([^&]+)\&\&(.*)$/) { ++ print "$1 and $2\n" if ($debug); ++ return parse_if($1) and parse_if($2); ++ } elsif (m/^\(([^&]+)\&\&(.*)$/) { ++ print "$1 and $2\n" if ($debug); ++ return parse_if($1) and parse_if($2); ++ } elsif (m/^([^\|]+)\|\|(.*)$/) { ++ print "$1 or $2\n" if ($debug); ++ return parse_if($1) or parse_if($2); ++ } elsif (m/^\s*(\!)?\s*defined\((\w+)\)/) { ++ ($neg, $var) = ($1, $2); ++ print "def: ${neg}-defined(${var})\n" if ($debug); ++ my $res = defined $defines{$var}; ++ if ($neg eq "!") { ++ if ($res) { ++ $res = 0; ++ } else { ++ $res = 1; ++ } ++ } ++ print "res: $res\n" if ($debug); ++ return $res; ++ } elsif (m/^\s*(\!)?(\w+)/) { ++ ($neg, $var) = ($1, $2); ++ print "var: $neg $var\n" if ($debug); ++ my $res; ++ if (defined $defines{$var}) { ++ $res = $defines{$var}; ++ } else { ++ $res = 0; ++ } ++ $res = ! $res if ($neg =~ m/!/); ++ print "res: $res\n" if ($debug); ++ return $res; ++ } ++ die "failed parse: $_\n"; ++} diff --git a/package/heimdal/0002-use-Getopt-Std.patch b/package/heimdal/0002-use-Getopt-Std.patch new file mode 100644 index 0000000000..134b888ffa --- /dev/null +++ b/package/heimdal/0002-use-Getopt-Std.patch @@ -0,0 +1,30 @@ +From 6080c0b229c6e332d7dd609d9435ac9baeeea443 Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Thu, 30 Jan 2014 16:33:02 -0300 +Subject: [PATCH] roken-h-process: use Getopt::Std, getopts.pl is deprecated + +Signed-off-by: Gustavo Zacarias +--- + cf/roken-h-process.pl | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/cf/roken-h-process.pl b/cf/roken-h-process.pl +index 153a35c..72d3bd3 100644 +--- a/cf/roken-h-process.pl ++++ b/cf/roken-h-process.pl +@@ -1,10 +1,10 @@ + #!/usr/bin/perl + +-require 'getopts.pl'; ++use Getopt::Std; + + my $debug = 0; + +-Getopts('dc:p:o:') || die "foo"; ++getopts('dc:p:o:') || die "foo"; + + if ($opt_d) { + $debug = 1; +-- +1.8.3.2 + diff --git a/package/heimdal/0003-vendor.patch b/package/heimdal/0003-vendor.patch new file mode 100644 index 0000000000..1ccd629b69 --- /dev/null +++ b/package/heimdal/0003-vendor.patch @@ -0,0 +1,19 @@ +Add --vendor option to krb5-config, required by samba 4. +Status: Backport from upstream git. + +Signed-off-by: Gustavo Zacarias + +diff -Nura heimdal-1.5.3.orig/tools/krb5-config.in heimdal-1.5.3.vendor/tools/krb5-config.in +--- heimdal-1.5.3.orig/tools/krb5-config.in 2012-12-09 19:06:44.000000000 -0300 ++++ heimdal-1.5.3.vendor/tools/krb5-config.in 2013-12-18 15:49:45.283986300 -0300 +@@ -50,6 +50,10 @@ + do_usage=yes + usage_exit=0 + ;; ++ --vendor) ++ echo "Heimdal"; ++ exit 0 ++ ;; + --version) + echo "@PACKAGE@ @VERSION@" + exit 0 diff --git a/package/heimdal/0004-compile_et.patch b/package/heimdal/0004-compile_et.patch new file mode 100644 index 0000000000..6bdec6fabd --- /dev/null +++ b/package/heimdal/0004-compile_et.patch @@ -0,0 +1,28 @@ +Use compile_et from e2fsprogs rather than building the native and useless one +from heimdal. + +Idea from: +http://comments.gmane.org/gmane.comp.encryption.kerberos.heimdal.general/6572 + +Status: Backport from upstream git. + +Signed-off-by: Gustavo Zacarias + +diff -Nura heimdal-1.5.3.orig/cf/check-compile-et.m4 heimdal-1.5.3.et/cf/check-compile-et.m4 +--- heimdal-1.5.3.orig/cf/check-compile-et.m4 2012-12-09 19:06:44.000000000 -0300 ++++ heimdal-1.5.3.et/cf/check-compile-et.m4 2013-12-18 14:20:04.025925879 -0300 +@@ -3,12 +3,12 @@ + dnl CHECK_COMPILE_ET + AC_DEFUN([CHECK_COMPILE_ET], [ + +-AC_CHECK_PROG(COMPILE_ET, compile_et, [compile_et]) ++AC_CHECK_PROG(COMPILE_ET, compile_et, [compile_et], [no]) + + krb_cv_compile_et="no" + krb_cv_com_err_need_r="" + krb_cv_compile_et_cross=no +-if test "${COMPILE_ET}" = "compile_et"; then ++if test "$COMPILE_ET" != "no"; then + + dnl We have compile_et. Now let's see if it supports `prefix' and `index'. + AC_MSG_CHECKING(whether compile_et has the features we need) diff --git a/package/heimdal/heimdal-0001-add-roken-h-process.patch b/package/heimdal/heimdal-0001-add-roken-h-process.patch deleted file mode 100644 index b8fbd2a4a3..0000000000 --- a/package/heimdal/heimdal-0001-add-roken-h-process.patch +++ /dev/null @@ -1,195 +0,0 @@ -Add roken-h-process.pl from: -https://raw.github.com/heimdal/heimdal/master/cf/roken-h-process.pl -It's required for cross-compiling and missing from release tarballs: -http://kerberos.996246.n3.nabble.com/Missing-roken-h-process-pl-when-cross-compiling-v1-5-2-td38806.html - -Signed-off-by: Gustavo Zacarias - -diff -Nura heimdal-1.5.3.orig/cf/roken-h-process.pl heimdal-1.5.3/cf/roken-h-process.pl ---- heimdal-1.5.3.orig/cf/roken-h-process.pl 1969-12-31 21:00:00.000000000 -0300 -+++ heimdal-1.5.3/cf/roken-h-process.pl 2013-12-18 11:32:38.157625167 -0300 -@@ -0,0 +1,184 @@ -+#!/usr/bin/perl -+ -+require 'getopts.pl'; -+ -+my $debug = 0; -+ -+Getopts('dc:p:o:') || die "foo"; -+ -+if ($opt_d) { -+ $debug = 1; -+} -+ -+die "missing arg" if (!defined $opt_c || !defined $opt_p || !defined $opt_o); -+ -+my %defines; -+my $IN; -+my $OUT; -+ -+print "parse config.h\n" if ($debug); -+ -+open IN, $opt_c || die "failed open ${opt_c}"; -+ -+my @nesting; -+ -+push @nesting, 1; -+ -+while () { -+ if (m/\s*#ifdef\s+(.*)/) { -+ my $var = $1; -+ if (defined $defines{$var}) { -+ push @nesting, 1; -+ } else { -+ push @nesting, 0; -+ } -+ next; -+ } elsif (m/\s*#ifndef\s+(.*)/) { -+ my $var = $1; -+ if (defined $defines{$var}) { -+ push @nesting, 0; -+ } else { -+ push @nesting, 1; -+ } -+ next; -+ } elsif (m/\s*#else/) { -+ my $var = pop @nesting; -+ $var = !$var; -+ push @nesting, $var; -+ next; -+ } elsif ($nesting[$#nesting] and m/\s*#define\s+(\w+)\s+(\S+)/) { -+ my $res = $2; -+ $res = 1 if (!defined $res); -+ $defines{$1} = $res; -+ } -+} -+ -+close IN; -+ -+if ($debug) { -+ foreach my $i (keys %defines) { -+ print "k: $i v: $defines{$i}\n"; -+ } -+} -+ -+open IN, "$opt_p" || die "failed open ${opt_p}"; -+open OUT, ">$opt_o" || die "failed open ${opt_o}"; -+ -+print "parse roken.h.in\n" if ($debug); -+ -+print OUT "/* This is an OS dependent, generated file */\n"; -+print OUT "\n"; -+print OUT "\n"; -+print OUT "#ifndef __ROKEN_H__\n"; -+print OUT "#define __ROKEN_H__\n"; -+print OUT "\n"; -+ -+@nesting = (1); -+ -+while () { -+ if (m/\s*#ifdef\s+(.*)/) { -+ my $var = $1; -+ if (defined $defines{$var}) { -+ push @nesting, 1; -+ } else { -+ push @nesting, 0; -+ } -+ next; -+ } elsif (m/\s*#ifndef\s+(.*)/) { -+ my $var = $1; -+ if (defined $defines{$var}) { -+ push @nesting, 0; -+ } else { -+ push @nesting, 1; -+ } -+ next; -+ } elsif (m/\s*#if\s+(.*)/) { -+ my $res = parse_if($1); -+ print "line = $res: $1\n" if ($debug); -+ push @nesting, $res; -+ next; -+ } elsif (m/\s*#elif\s+(.*)/) { -+ my $res = pop @nesting; -+ if ($res gt 0) { -+ $res = -1; -+ } else { -+ my $res = parse_if($1); -+ } -+ push @nesting, $res; -+ next; -+ } elsif (m/\s*#else/) { -+ my $var = pop @nesting; -+ $var = !$var; -+ push @nesting, $var; -+ next; -+ } elsif (m/\s*#endif/) { -+ pop @nesting; -+ next; -+ } -+ print "line: $_\n" if ($debug); -+ print "nesting dep $#{nesting}\n" if ($debug); -+ my $i = 0, $t = 1; -+ while ($i le $#nesting) { -+ $t = 0 if ($nesting[$i] le 0); -+ print "nesting $i val $nesting[$i] -> $t\n" if ($debug); -+ $i++; -+ } -+ if ($t) { -+ print OUT; -+ } -+} -+ -+print OUT "\n"; -+print OUT "#endif /* __ROKEN_H__ */\n"; -+ -+ -+close IN; -+ -+exit 0; -+ -+sub parse_if -+{ -+ my ($neg, $var); -+ -+ $_ = shift; -+ -+ if (m/^\s*$/) { -+ print "end $_\n" if ($debug); -+ return 1; -+ } elsif (m/^([^&]+)\&\&(.*)$/) { -+ print "$1 and $2\n" if ($debug); -+ return parse_if($1) and parse_if($2); -+ } elsif (m/^\(([^&]+)\&\&(.*)$/) { -+ print "$1 and $2\n" if ($debug); -+ return parse_if($1) and parse_if($2); -+ } elsif (m/^([^\|]+)\|\|(.*)$/) { -+ print "$1 or $2\n" if ($debug); -+ return parse_if($1) or parse_if($2); -+ } elsif (m/^\s*(\!)?\s*defined\((\w+)\)/) { -+ ($neg, $var) = ($1, $2); -+ print "def: ${neg}-defined(${var})\n" if ($debug); -+ my $res = defined $defines{$var}; -+ if ($neg eq "!") { -+ if ($res) { -+ $res = 0; -+ } else { -+ $res = 1; -+ } -+ } -+ print "res: $res\n" if ($debug); -+ return $res; -+ } elsif (m/^\s*(\!)?(\w+)/) { -+ ($neg, $var) = ($1, $2); -+ print "var: $neg $var\n" if ($debug); -+ my $res; -+ if (defined $defines{$var}) { -+ $res = $defines{$var}; -+ } else { -+ $res = 0; -+ } -+ $res = ! $res if ($neg =~ m/!/); -+ print "res: $res\n" if ($debug); -+ return $res; -+ } -+ die "failed parse: $_\n"; -+} diff --git a/package/heimdal/heimdal-0002-use-Getopt-Std.patch b/package/heimdal/heimdal-0002-use-Getopt-Std.patch deleted file mode 100644 index 134b888ffa..0000000000 --- a/package/heimdal/heimdal-0002-use-Getopt-Std.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 6080c0b229c6e332d7dd609d9435ac9baeeea443 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Thu, 30 Jan 2014 16:33:02 -0300 -Subject: [PATCH] roken-h-process: use Getopt::Std, getopts.pl is deprecated - -Signed-off-by: Gustavo Zacarias ---- - cf/roken-h-process.pl | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/cf/roken-h-process.pl b/cf/roken-h-process.pl -index 153a35c..72d3bd3 100644 ---- a/cf/roken-h-process.pl -+++ b/cf/roken-h-process.pl -@@ -1,10 +1,10 @@ - #!/usr/bin/perl - --require 'getopts.pl'; -+use Getopt::Std; - - my $debug = 0; - --Getopts('dc:p:o:') || die "foo"; -+getopts('dc:p:o:') || die "foo"; - - if ($opt_d) { - $debug = 1; --- -1.8.3.2 - diff --git a/package/heimdal/heimdal-0003-vendor.patch b/package/heimdal/heimdal-0003-vendor.patch deleted file mode 100644 index 1ccd629b69..0000000000 --- a/package/heimdal/heimdal-0003-vendor.patch +++ /dev/null @@ -1,19 +0,0 @@ -Add --vendor option to krb5-config, required by samba 4. -Status: Backport from upstream git. - -Signed-off-by: Gustavo Zacarias - -diff -Nura heimdal-1.5.3.orig/tools/krb5-config.in heimdal-1.5.3.vendor/tools/krb5-config.in ---- heimdal-1.5.3.orig/tools/krb5-config.in 2012-12-09 19:06:44.000000000 -0300 -+++ heimdal-1.5.3.vendor/tools/krb5-config.in 2013-12-18 15:49:45.283986300 -0300 -@@ -50,6 +50,10 @@ - do_usage=yes - usage_exit=0 - ;; -+ --vendor) -+ echo "Heimdal"; -+ exit 0 -+ ;; - --version) - echo "@PACKAGE@ @VERSION@" - exit 0 diff --git a/package/heimdal/heimdal-0004-compile_et.patch b/package/heimdal/heimdal-0004-compile_et.patch deleted file mode 100644 index 6bdec6fabd..0000000000 --- a/package/heimdal/heimdal-0004-compile_et.patch +++ /dev/null @@ -1,28 +0,0 @@ -Use compile_et from e2fsprogs rather than building the native and useless one -from heimdal. - -Idea from: -http://comments.gmane.org/gmane.comp.encryption.kerberos.heimdal.general/6572 - -Status: Backport from upstream git. - -Signed-off-by: Gustavo Zacarias - -diff -Nura heimdal-1.5.3.orig/cf/check-compile-et.m4 heimdal-1.5.3.et/cf/check-compile-et.m4 ---- heimdal-1.5.3.orig/cf/check-compile-et.m4 2012-12-09 19:06:44.000000000 -0300 -+++ heimdal-1.5.3.et/cf/check-compile-et.m4 2013-12-18 14:20:04.025925879 -0300 -@@ -3,12 +3,12 @@ - dnl CHECK_COMPILE_ET - AC_DEFUN([CHECK_COMPILE_ET], [ - --AC_CHECK_PROG(COMPILE_ET, compile_et, [compile_et]) -+AC_CHECK_PROG(COMPILE_ET, compile_et, [compile_et], [no]) - - krb_cv_compile_et="no" - krb_cv_com_err_need_r="" - krb_cv_compile_et_cross=no --if test "${COMPILE_ET}" = "compile_et"; then -+if test "$COMPILE_ET" != "no"; then - - dnl We have compile_et. Now let's see if it supports `prefix' and `index'. - AC_MSG_CHECKING(whether compile_et has the features we need) diff --git a/package/hplip/0001-fix-make.patch b/package/hplip/0001-fix-make.patch new file mode 100644 index 0000000000..da05d03fd3 --- /dev/null +++ b/package/hplip/0001-fix-make.patch @@ -0,0 +1,35 @@ +From 6019d012246578ae1a191d3510284e7b894fb528 Mon Sep 17 00:00:00 2001 +From: Olivier Schonken +Date: Sat, 2 Mar 2013 18:01:03 +0200 +Subject: [PATCH] Changed Makefile.am to allow cross-compilation of HPLIP + +Signed-off-by: Olivier Schonken +--- + Makefile.am | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 16ea902..b22f46a 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -72,7 +72,7 @@ libhpmud_la_SOURCES = io/hpmud/hpmud.c io/hpmud/mlc.c io/hpmud/model.c io/hpmud/ + io/hpmud/hpmud.h io/hpmud/hpmudi.h io/hpmud/list.h io/hpmud/mlc.h io/hpmud/pml.h io/hpmud/dot4.c \ + io/hpmud/dot4.h io/hpmud/jd.c io/hpmud/jd.h io/hpmud/pp.c io/hpmud/pp.h io/hpmud/musb.h io/hpmud/musb_libusb01.c + else +-libhpmud_la_CFLAGS = -I/usr/include/libusb-1.0 -DMUDNAME=\"$(MUDNAME)\" -DCONFDIR=\"$(hplip_confdir)\" ++libhpmud_la_CFLAGS = -I$(includedir)/libusb-1.0 -DMUDNAME=\"$(MUDNAME)\" -DCONFDIR=\"$(hplip_confdir)\" + libhpmud_la_SOURCES = io/hpmud/hpmud.c io/hpmud/mlc.c io/hpmud/model.c io/hpmud/pml.c \ + io/hpmud/hpmud.h io/hpmud/hpmudi.h io/hpmud/list.h io/hpmud/mlc.h io/hpmud/pml.h io/hpmud/dot4.c \ + io/hpmud/dot4.h io/hpmud/jd.c io/hpmud/jd.h io/hpmud/pp.c io/hpmud/pp.h io/hpmud/musb.h io/hpmud/musb.c +@@ -292,7 +292,7 @@ hpmudext_la_LIBADD = libhpmud.la + if LIBUSB01_BUILD + hpmudext_la_CFLAGS = -I$(PYTHONINCLUDEDIR) + else +-hpmudext_la_CFLAGS =-I/usr/include/libusb-1.0 -I$(PYTHONINCLUDEDIR) ++hpmudext_la_CFLAGS =-I$(includedir)/libusb-1.0 -I$(PYTHONINCLUDEDIR) + endif + + # ui (qt3) +-- +1.7.10.4 + diff --git a/package/hplip/hplip-fix-make.patch b/package/hplip/hplip-fix-make.patch deleted file mode 100644 index da05d03fd3..0000000000 --- a/package/hplip/hplip-fix-make.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 6019d012246578ae1a191d3510284e7b894fb528 Mon Sep 17 00:00:00 2001 -From: Olivier Schonken -Date: Sat, 2 Mar 2013 18:01:03 +0200 -Subject: [PATCH] Changed Makefile.am to allow cross-compilation of HPLIP - -Signed-off-by: Olivier Schonken ---- - Makefile.am | 28 ++++++++++++++-------------- - 1 file changed, 14 insertions(+), 14 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 16ea902..b22f46a 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -72,7 +72,7 @@ libhpmud_la_SOURCES = io/hpmud/hpmud.c io/hpmud/mlc.c io/hpmud/model.c io/hpmud/ - io/hpmud/hpmud.h io/hpmud/hpmudi.h io/hpmud/list.h io/hpmud/mlc.h io/hpmud/pml.h io/hpmud/dot4.c \ - io/hpmud/dot4.h io/hpmud/jd.c io/hpmud/jd.h io/hpmud/pp.c io/hpmud/pp.h io/hpmud/musb.h io/hpmud/musb_libusb01.c - else --libhpmud_la_CFLAGS = -I/usr/include/libusb-1.0 -DMUDNAME=\"$(MUDNAME)\" -DCONFDIR=\"$(hplip_confdir)\" -+libhpmud_la_CFLAGS = -I$(includedir)/libusb-1.0 -DMUDNAME=\"$(MUDNAME)\" -DCONFDIR=\"$(hplip_confdir)\" - libhpmud_la_SOURCES = io/hpmud/hpmud.c io/hpmud/mlc.c io/hpmud/model.c io/hpmud/pml.c \ - io/hpmud/hpmud.h io/hpmud/hpmudi.h io/hpmud/list.h io/hpmud/mlc.h io/hpmud/pml.h io/hpmud/dot4.c \ - io/hpmud/dot4.h io/hpmud/jd.c io/hpmud/jd.h io/hpmud/pp.c io/hpmud/pp.h io/hpmud/musb.h io/hpmud/musb.c -@@ -292,7 +292,7 @@ hpmudext_la_LIBADD = libhpmud.la - if LIBUSB01_BUILD - hpmudext_la_CFLAGS = -I$(PYTHONINCLUDEDIR) - else --hpmudext_la_CFLAGS =-I/usr/include/libusb-1.0 -I$(PYTHONINCLUDEDIR) -+hpmudext_la_CFLAGS =-I$(includedir)/libusb-1.0 -I$(PYTHONINCLUDEDIR) - endif - - # ui (qt3) --- -1.7.10.4 - diff --git a/package/htop/0001-native-affinity.patch b/package/htop/0001-native-affinity.patch new file mode 100644 index 0000000000..bf68e53ed1 --- /dev/null +++ b/package/htop/0001-native-affinity.patch @@ -0,0 +1,25 @@ +# This patch removes the check for native_affinity for cross compiling. +# This patch has been pushed to htop on 23 November 2011, however, is +# not in the 1.0 release and may not be exactly what Hisham puts into +# the official build. +# +# Signed-off-by: Andy Kennedy +diff -Naur a/configure.ac b/configure.ac +--- a/configure.ac 2011-11-20 20:46:48.000000000 -0600 ++++ b/configure.ac 2011-11-23 10:41:44.000000000 -0600 +@@ -111,7 +111,6 @@ + if test "$cross_compiling" = "no"; then + AC_CHECK_FILE($PROCDIR/stat,,AC_MSG_ERROR(Cannot find /proc/stat. Make sure you have a Linux-compatible /proc filesystem mounted. See the file README for help.)) + AC_CHECK_FILE($PROCDIR/meminfo,,AC_MSG_ERROR(Cannot find /proc/meminfo. Make sure you have a Linux-compatible /proc filesystem mounted. See the file README for help.)) +-fi + + AC_ARG_ENABLE(native_affinity, [AC_HELP_STRING([--enable-native-affinity], [enable native sched_setaffinity and sched_getaffinity for affinity support, disables hwloc])], ,enable_native_affinity="yes") + if test "x$enable_native_affinity" = xyes; then +@@ -130,6 +129,7 @@ + AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no])]) + fi ++fi + + AC_ARG_ENABLE(hwloc, [AC_HELP_STRING([--enable-hwloc], [enable hwloc support for CPU affinity])],, enable_hwloc="no") + if test "x$enable_hwloc" = xyes diff --git a/package/htop/htop-01-native-affinity.patch b/package/htop/htop-01-native-affinity.patch deleted file mode 100644 index bf68e53ed1..0000000000 --- a/package/htop/htop-01-native-affinity.patch +++ /dev/null @@ -1,25 +0,0 @@ -# This patch removes the check for native_affinity for cross compiling. -# This patch has been pushed to htop on 23 November 2011, however, is -# not in the 1.0 release and may not be exactly what Hisham puts into -# the official build. -# -# Signed-off-by: Andy Kennedy -diff -Naur a/configure.ac b/configure.ac ---- a/configure.ac 2011-11-20 20:46:48.000000000 -0600 -+++ b/configure.ac 2011-11-23 10:41:44.000000000 -0600 -@@ -111,7 +111,6 @@ - if test "$cross_compiling" = "no"; then - AC_CHECK_FILE($PROCDIR/stat,,AC_MSG_ERROR(Cannot find /proc/stat. Make sure you have a Linux-compatible /proc filesystem mounted. See the file README for help.)) - AC_CHECK_FILE($PROCDIR/meminfo,,AC_MSG_ERROR(Cannot find /proc/meminfo. Make sure you have a Linux-compatible /proc filesystem mounted. See the file README for help.)) --fi - - AC_ARG_ENABLE(native_affinity, [AC_HELP_STRING([--enable-native-affinity], [enable native sched_setaffinity and sched_getaffinity for affinity support, disables hwloc])], ,enable_native_affinity="yes") - if test "x$enable_native_affinity" = xyes; then -@@ -130,6 +129,7 @@ - AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no])]) - fi -+fi - - AC_ARG_ENABLE(hwloc, [AC_HELP_STRING([--enable-hwloc], [enable hwloc support for CPU affinity])],, enable_hwloc="no") - if test "x$enable_hwloc" = xyes diff --git a/package/httping/0001-fix-math-library-linking.patch b/package/httping/0001-fix-math-library-linking.patch new file mode 100644 index 0000000000..0078f41c61 --- /dev/null +++ b/package/httping/0001-fix-math-library-linking.patch @@ -0,0 +1,25 @@ +Move LDFLAGS+=-lm option to the end. +The order of the math library directive '-lm' matters. + +Signed-off-by: Yuvaraj Patil +--- +diff -Nurp httping-2.3.4_orig/Makefile httping-2.3.4/Makefile +--- httping-2.3.4_orig/Makefile 2014-07-23 16:16:36.495546288 +0530 ++++ httping-2.3.4/Makefile 2014-07-23 16:18:42.547541002 +0530 +@@ -37,7 +37,6 @@ DEBUG=yes + WFLAGS=-Wall -W + OFLAGS= + CFLAGS+=$(WFLAGS) $(OFLAGS) -DVERSION=\"$(VERSION)\" -DLOCALEDIR=\"$(LOCALEDIR)\" +-LDFLAGS+=-lm + + PACKAGE=$(TARGET)-$(VERSION) + PREFIX?=/usr +@@ -97,6 +96,8 @@ ifeq ($(ARM),yes) + CC=arm-linux-gcc + endif + ++LDFLAGS+=-lm ++ + all: $(TARGET) $(TRANSLATIONS) + + $(TARGET): $(OBJS) diff --git a/package/httping/httping-0001-fix-math-library-linking.patch b/package/httping/httping-0001-fix-math-library-linking.patch deleted file mode 100644 index 0078f41c61..0000000000 --- a/package/httping/httping-0001-fix-math-library-linking.patch +++ /dev/null @@ -1,25 +0,0 @@ -Move LDFLAGS+=-lm option to the end. -The order of the math library directive '-lm' matters. - -Signed-off-by: Yuvaraj Patil ---- -diff -Nurp httping-2.3.4_orig/Makefile httping-2.3.4/Makefile ---- httping-2.3.4_orig/Makefile 2014-07-23 16:16:36.495546288 +0530 -+++ httping-2.3.4/Makefile 2014-07-23 16:18:42.547541002 +0530 -@@ -37,7 +37,6 @@ DEBUG=yes - WFLAGS=-Wall -W - OFLAGS= - CFLAGS+=$(WFLAGS) $(OFLAGS) -DVERSION=\"$(VERSION)\" -DLOCALEDIR=\"$(LOCALEDIR)\" --LDFLAGS+=-lm - - PACKAGE=$(TARGET)-$(VERSION) - PREFIX?=/usr -@@ -97,6 +96,8 @@ ifeq ($(ARM),yes) - CC=arm-linux-gcc - endif - -+LDFLAGS+=-lm -+ - all: $(TARGET) $(TRANSLATIONS) - - $(TARGET): $(OBJS) diff --git a/package/icu/0001-dont-build-static-dynamic-twice.patch b/package/icu/0001-dont-build-static-dynamic-twice.patch new file mode 100644 index 0000000000..ccbe534aa2 --- /dev/null +++ b/package/icu/0001-dont-build-static-dynamic-twice.patch @@ -0,0 +1,37 @@ +Don't build object files twice + +When passed --enable-static and --enable-shared, icu will generate +both a shared and a static version of its libraries. + +However, in order to do so, it builds each and every object file +twice: once with -fPIC (for the shared library), and once without +-fPIC (for the static library). While admittedly building -fPIC for a +static library generates a slightly suboptimal code, this is what all +the autotools-based project are doing. They build each object file +once, and they use it for both the static and shared libraries. + +icu builds the object files for the shared library as .o files, and +the object files for static library as .ao files. By simply changing +the suffix of object files used for static libraries to ".o", we tell +icu to use the ones built for the shared library (i.e, with -fPIC), +and avoid the double build of icu. + +On a fast build server, this brings the target icu build from +3m41.302s down to 1m43.926s (approximate numbers: some other builds +are running on the system at the same time). + +Signed-off-by: Thomas Petazzoni + +Index: b/source/config/mh-linux +=================================================================== +--- a/source/config/mh-linux ++++ b/source/config/mh-linux +@@ -35,7 +35,7 @@ + ## Shared object suffix + SO = so + ## Non-shared intermediate object suffix +-STATIC_O = ao ++STATIC_O = o + + ## Compilation rules + %.$(STATIC_O): $(srcdir)/%.c diff --git a/package/icu/0002-workaround-toolchain-bugs.patch b/package/icu/0002-workaround-toolchain-bugs.patch new file mode 100644 index 0000000000..b5f25d0a13 --- /dev/null +++ b/package/icu/0002-workaround-toolchain-bugs.patch @@ -0,0 +1,37 @@ +Workaround toolchain bugs + +Many of ARM Sourcery CodeBench toolchain have a bug when compiling +icu's translit.cpp source file. The bug is trigerred when there is a +combination of "-W -Wall" and "-Os", and causes an internal compiler +error. The bug has been reported to Mentor Graphics. + +Even though it is clearly a toolchain bug, having a workaround for it +is trivial in this case. So it will avoid our users falling into this +internal compiler error, and allow our autobuilders to test more +packages using this Sourcery CodeBench toolchain.qq + +[Gustavo: update for ICU4C 54.1] +Signed-off-by: Thomas Petazzoni +Signed-off-by: Gustavo Zacarias + +diff -Nura icu.orig/source/configure icu/source/configure +--- icu.orig/source/configure 2014-12-18 15:49:43.038628644 -0300 ++++ icu/source/configure 2014-12-18 15:51:23.183083232 -0300 +@@ -4323,7 +4323,7 @@ + ;; + esac + +- CFLAGS="$CFLAGS -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings" ++ CFLAGS="$CFLAGS -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings" + else + case "${host}" in + *-*-cygwin) +@@ -4337,7 +4337,7 @@ + fi + if test "$GXX" = yes + then +- CXXFLAGS="$CXXFLAGS -W -Wall -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long" ++ CXXFLAGS="$CXXFLAGS -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long" + else + case "${host}" in + *-*-cygwin) diff --git a/package/icu/0003-detect-compiler-symbol-prefix.patch b/package/icu/0003-detect-compiler-symbol-prefix.patch new file mode 100644 index 0000000000..1e9537503b --- /dev/null +++ b/package/icu/0003-detect-compiler-symbol-prefix.patch @@ -0,0 +1,116 @@ +detect and add compiler symbol prefix to the assembly code + +Some compiler, such as Blackfin GNU compiler, prefix a charater to any +C symbol in generated assembly code. If any assembly symbol is invoked +from C code, it needs to be prefixed as well. + +Note: since autoreconf doesn't work with this package because automake +isn't support + +[Ryan: add information about why patching configure is ok] +[Gustavo: update for ICU4C 54.1] + +Signed-off-by: Sonic Zhang +Signed-off-by: Ryan Barnett +Signed-off-by: Gustavo Zacarias + +diff -Nura icu.orig/source/configure icu/source/configure +--- icu.orig/source/configure 2014-12-18 15:49:43.038628644 -0300 ++++ icu/source/configure 2014-12-18 15:56:05.793832186 -0300 +@@ -637,6 +637,7 @@ + ICUDATA_CHAR + SAMPLES_TRUE + TESTS_TRUE ++SYMBOL_PREFIX + ICULIBSUFFIXCNAME + U_HAVE_LIB_SUFFIX + ICULIBSUFFIX +@@ -7414,6 +7415,17 @@ + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CHECK_UTF16_STRING_RESULT" >&5 + $as_echo "$CHECK_UTF16_STRING_RESULT" >&6; } + ++# Check compiler generated symbol profix ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for symbol prefix" >&5 ++$as_echo "checking for symbol prefix... " >&6; } ++ SYMBOL_PREFIX=`echo "PREFIX=__USER_LABEL_PREFIX__" \ ++ | ${CPP-${CC-gcc} -E} - 2>&1 \ ++ | ${EGREP-grep} "^PREFIX=" \ ++ | sed -e "s:^PREFIX=::" -e "s:__USER_LABEL_PREFIX__::"` ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SYMBOL_PREFIX" >&5 ++$as_echo "$SYMBOL_PREFIX" >&6; } ++ + # Enable/disable extras + # Check whether --enable-extras was given. + if test "${enable_extras+set}" = set; then : +diff -Nura icu.orig/source/data/Makefile.in icu/source/data/Makefile.in +--- icu.orig/source/data/Makefile.in 2014-12-18 15:49:42.908624160 -0300 ++++ icu/source/data/Makefile.in 2014-12-18 16:01:32.751110913 -0300 +@@ -182,11 +182,11 @@ + packagedata: icupkg.inc $(PKGDATA_LIST) build-local + ifneq ($(ENABLE_STATIC),) + ifeq ($(PKGDATA_MODE),dll) +- $(PKGDATA_INVOKE) $(PKGDATA) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBSTATICNAME) -m static $(PKGDATA_VERSIONING) $(PKGDATA_LIST) ++ $(PKGDATA_INVOKE) $(PKGDATA) -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBSTATICNAME) -m static $(PKGDATA_VERSIONING) $(PKGDATA_LIST) + endif + endif + ifneq ($(ICUDATA_SOURCE_IS_NATIVE_TARGET),YES) +- $(PKGDATA_INVOKE) $(PKGDATA) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -p $(ICUDATA_NAME) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) $(PKGDATA_LIBNAME) $(PKGDATA_LIST) ++ $(PKGDATA_INVOKE) $(PKGDATA) -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -p $(ICUDATA_NAME) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) $(PKGDATA_LIBNAME) $(PKGDATA_LIST) + else + $(INSTALL_DATA) $(ICUDATA_SOURCE_ARCHIVE) $(OUTDIR) + endif +@@ -209,11 +209,11 @@ + endif + ifneq ($(ENABLE_STATIC),) + ifeq ($(PKGDATA_MODE),dll) +- $(PKGDATA_INVOKE) $(PKGDATA) -m static -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBSTATICNAME) $(PKGDATA_LIST) -I $(ICUPKGDATA_INSTALL_LIBDIR) ++ $(PKGDATA_INVOKE) $(PKGDATA) -m static -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBSTATICNAME) $(PKGDATA_LIST) -I $(ICUPKGDATA_INSTALL_LIBDIR) + endif + endif + ifneq ($(ICUDATA_SOURCE_IS_NATIVE_TARGET),YES) +- $(PKGDATA_INVOKE) $(PKGDATA) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBNAME) $(PKGDATA_LIST) -I $(ICUPKGDATA_INSTALL_DIR) ++ $(PKGDATA_INVOKE) $(PKGDATA) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBNAME) $(PKGDATA_LIST) -I $(ICUPKGDATA_INSTALL_DIR) + else + $(INSTALL_DATA) $(ICUDATA_SOURCE_ARCHIVE) $(DESTDIR)$(ICUPKGDATA_DIR) + endif +@@ -224,7 +224,7 @@ + #### 390 support + install390: package390 + $(MKINSTALLDIRS) $(TMPDATADIR) $(DESTDIR)$(libdir) +- $(INVOKE) $(PKGDATA) -s $(BUILDDIR)$(STUB_SUFFIX) -T $(OUTTMPDIR_390STUB) -p $(ICUDATA_NAME)$(STUB_SUFFIX) $(PKGDATA_LIBNAME)$(STUB_SUFFIX) -e $(ICUDATA_ENTRY_POINT) $(OS390LIST) -m dll $(PKGDATA_VERSIONING) -I $(DESTDIR)$(ICUPKGDATA_DIR) ++ $(INVOKE) $(PKGDATA) -s $(BUILDDIR)$(STUB_SUFFIX) -T $(OUTTMPDIR_390STUB) -p $(ICUDATA_NAME)$(STUB_SUFFIX) $(PKGDATA_LIBNAME)$(STUB_SUFFIX) -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) $(OS390LIST) -m dll $(PKGDATA_VERSIONING) -I $(DESTDIR)$(ICUPKGDATA_DIR) + ifeq ($(PKGDATA_MODE),dll) + $(INSTALL-L) $(ICUPKGDATA_OUTDIR)/$(FINAL_IMPORT_LIB) $(DESTDIR)$(ICUPKGDATA_DIR)/$(FINAL_IMPORT_LIB) + endif +@@ -232,7 +232,7 @@ + #### $(LIB_ICUDATA_NAME)$(STUB_SUFFIX) is the subset data for batch mode + package390: $(OUTTMPDIR)/icudata390.lst $(PKGDATA_LIST) ./icupkg.inc packagedata + ln -s $(ICUDATA_NAME) $(OUTDIR)/build/$(ICUDATA_NAME)$(STUB_SUFFIX) +- $(INVOKE) $(PKGDATA) -s $(BUILDDIR)$(STUB_SUFFIX) -T $(OUTTMPDIR_390STUB) -p $(ICUDATA_NAME)$(STUB_SUFFIX) $(PKGDATA_LIBNAME)$(STUB_SUFFIX) -e $(ICUDATA_ENTRY_POINT) $(OS390LIST) -m dll $(PKGDATA_VERSIONING) ++ $(INVOKE) $(PKGDATA) -s $(BUILDDIR)$(STUB_SUFFIX) -T $(OUTTMPDIR_390STUB) -p $(ICUDATA_NAME)$(STUB_SUFFIX) $(PKGDATA_LIBNAME)$(STUB_SUFFIX) -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) $(OS390LIST) -m dll $(PKGDATA_VERSIONING) + cp $(ICUPKGDATA_OUTDIR)/$(LIB_ICUDATA_NAME)$(STUB_SUFFIX).$(SO) $(top_builddir)/stubdata/$(LIB_ICUDATA_NAME)$(STUB_SUFFIX).$(SO) + + +diff -Nura icu.orig/source/extra/uconv/Makefile.in icu/source/extra/uconv/Makefile.in +--- icu.orig/source/extra/uconv/Makefile.in 2014-12-18 15:49:42.986626850 -0300 ++++ icu/source/extra/uconv/Makefile.in 2014-12-18 15:57:40.558101179 -0300 +@@ -58,7 +58,8 @@ + ## Static mode + ifeq ($(UCONVMSG_MODE),static) + DEFS += -DUCONVMSG_LINK=$(MSGNAME) +-UCONVMSG_LIB = $(RESDIR)/$(LIBPREFIX)$(STATIC_PREFIX_WHEN_USED)$(MSGNAME).$(A) ++UCONVMSG_LIB = $(RESDIR)/$(LIBPREFIX)$(STATIC_PREFIX_WHEN_USED)@SYMBOL_PREFIX@$(MSGNAME).$(A) ++ + LIBS += $(UCONVMSG_LIB) + PKGMODE=static + INSTALLTO=$(libdir) +@@ -152,7 +153,7 @@ + endif + + $(UCONVMSG_LIB): $(RESFILES) $(RESDIR)/$(RESDIR).lst pkgdata.inc +- $(INVOKE) $(PKGDATA_INVOKE_OPTS) $(TOOLBINDIR)/pkgdata -p $(MSGNAME) $(PKGDATA_OPTS) -m $(PKGMODE) -s $(RESDIR) -d $(RESDIR) -T $(RESDIR) $(RESDIR)/$(RESDIR).lst ++ $(INVOKE) $(PKGDATA_INVOKE_OPTS) $(TOOLBINDIR)/pkgdata -p @SYMBOL_PREFIX@$(MSGNAME) $(PKGDATA_OPTS) -m $(PKGMODE) -s $(RESDIR) -d $(RESDIR) -T $(RESDIR) $(RESDIR)/$(RESDIR).lst + + $(RESDIR)/$(RESDIR).lst: Makefile $(srcdir)/resfiles.mk + @-$(RMV) $@ diff --git a/package/icu/0004-link-icudata-as-data-only.patch b/package/icu/0004-link-icudata-as-data-only.patch new file mode 100644 index 0000000000..d970e8d30d --- /dev/null +++ b/package/icu/0004-link-icudata-as-data-only.patch @@ -0,0 +1,35 @@ +From d5d0c4bb7cc9aa4a132ec0bea13255aee50c1cf9 Mon Sep 17 00:00:00 2001 +From: Maxime Hadjinlian +Date: Fri, 6 Jun 2014 14:55:58 +0200 +Subject: [PATCH] Don't link icudata as a data only library + +This patch cames straight from Debian. It fixes an issue when +libicudata would not have some flags indicating it's EABIhf, causing +applications linked against libicudata to not start on EABIhf +systems. Getting rid of the -nodefaultlibs -nostdlib flags solves the +problem, and is the solution that is used by Debian, see +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=653457. + +Signed-off-by: Maxime Hadjinlian +--- + source/config/mh-linux | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/source/config/mh-linux b/source/config/mh-linux +index 531a3b2..5a2a7c4 100644 +--- a/source/config/mh-linux ++++ b/source/config/mh-linux +@@ -21,7 +21,9 @@ LD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN + LD_RPATH_PRE = -Wl,-rpath, + + ## These are the library specific LDFLAGS +-LDFLAGSICUDT=-nodefaultlibs -nostdlib ++#LDFLAGSICUDT=-nodefaultlibs -nostdlib ++# Debian change: linking icudata as data only causes too many problems. ++LDFLAGSICUDT= + + ## Compiler switch to embed a library name + # The initial tab in the next line is to prevent icu-config from reading it. +-- +2.0.0.rc2 + diff --git a/package/icu/icu-001-dont-build-static-dynamic-twice.patch b/package/icu/icu-001-dont-build-static-dynamic-twice.patch deleted file mode 100644 index ccbe534aa2..0000000000 --- a/package/icu/icu-001-dont-build-static-dynamic-twice.patch +++ /dev/null @@ -1,37 +0,0 @@ -Don't build object files twice - -When passed --enable-static and --enable-shared, icu will generate -both a shared and a static version of its libraries. - -However, in order to do so, it builds each and every object file -twice: once with -fPIC (for the shared library), and once without --fPIC (for the static library). While admittedly building -fPIC for a -static library generates a slightly suboptimal code, this is what all -the autotools-based project are doing. They build each object file -once, and they use it for both the static and shared libraries. - -icu builds the object files for the shared library as .o files, and -the object files for static library as .ao files. By simply changing -the suffix of object files used for static libraries to ".o", we tell -icu to use the ones built for the shared library (i.e, with -fPIC), -and avoid the double build of icu. - -On a fast build server, this brings the target icu build from -3m41.302s down to 1m43.926s (approximate numbers: some other builds -are running on the system at the same time). - -Signed-off-by: Thomas Petazzoni - -Index: b/source/config/mh-linux -=================================================================== ---- a/source/config/mh-linux -+++ b/source/config/mh-linux -@@ -35,7 +35,7 @@ - ## Shared object suffix - SO = so - ## Non-shared intermediate object suffix --STATIC_O = ao -+STATIC_O = o - - ## Compilation rules - %.$(STATIC_O): $(srcdir)/%.c diff --git a/package/icu/icu-002-workaround-toolchain-bugs.patch b/package/icu/icu-002-workaround-toolchain-bugs.patch deleted file mode 100644 index b5f25d0a13..0000000000 --- a/package/icu/icu-002-workaround-toolchain-bugs.patch +++ /dev/null @@ -1,37 +0,0 @@ -Workaround toolchain bugs - -Many of ARM Sourcery CodeBench toolchain have a bug when compiling -icu's translit.cpp source file. The bug is trigerred when there is a -combination of "-W -Wall" and "-Os", and causes an internal compiler -error. The bug has been reported to Mentor Graphics. - -Even though it is clearly a toolchain bug, having a workaround for it -is trivial in this case. So it will avoid our users falling into this -internal compiler error, and allow our autobuilders to test more -packages using this Sourcery CodeBench toolchain.qq - -[Gustavo: update for ICU4C 54.1] -Signed-off-by: Thomas Petazzoni -Signed-off-by: Gustavo Zacarias - -diff -Nura icu.orig/source/configure icu/source/configure ---- icu.orig/source/configure 2014-12-18 15:49:43.038628644 -0300 -+++ icu/source/configure 2014-12-18 15:51:23.183083232 -0300 -@@ -4323,7 +4323,7 @@ - ;; - esac - -- CFLAGS="$CFLAGS -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings" -+ CFLAGS="$CFLAGS -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings" - else - case "${host}" in - *-*-cygwin) -@@ -4337,7 +4337,7 @@ - fi - if test "$GXX" = yes - then -- CXXFLAGS="$CXXFLAGS -W -Wall -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long" -+ CXXFLAGS="$CXXFLAGS -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long" - else - case "${host}" in - *-*-cygwin) diff --git a/package/icu/icu-003-detect-compiler-symbol-prefix.patch b/package/icu/icu-003-detect-compiler-symbol-prefix.patch deleted file mode 100644 index 1e9537503b..0000000000 --- a/package/icu/icu-003-detect-compiler-symbol-prefix.patch +++ /dev/null @@ -1,116 +0,0 @@ -detect and add compiler symbol prefix to the assembly code - -Some compiler, such as Blackfin GNU compiler, prefix a charater to any -C symbol in generated assembly code. If any assembly symbol is invoked -from C code, it needs to be prefixed as well. - -Note: since autoreconf doesn't work with this package because automake -isn't support - -[Ryan: add information about why patching configure is ok] -[Gustavo: update for ICU4C 54.1] - -Signed-off-by: Sonic Zhang -Signed-off-by: Ryan Barnett -Signed-off-by: Gustavo Zacarias - -diff -Nura icu.orig/source/configure icu/source/configure ---- icu.orig/source/configure 2014-12-18 15:49:43.038628644 -0300 -+++ icu/source/configure 2014-12-18 15:56:05.793832186 -0300 -@@ -637,6 +637,7 @@ - ICUDATA_CHAR - SAMPLES_TRUE - TESTS_TRUE -+SYMBOL_PREFIX - ICULIBSUFFIXCNAME - U_HAVE_LIB_SUFFIX - ICULIBSUFFIX -@@ -7414,6 +7415,17 @@ - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CHECK_UTF16_STRING_RESULT" >&5 - $as_echo "$CHECK_UTF16_STRING_RESULT" >&6; } - -+# Check compiler generated symbol profix -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for symbol prefix" >&5 -+$as_echo "checking for symbol prefix... " >&6; } -+ SYMBOL_PREFIX=`echo "PREFIX=__USER_LABEL_PREFIX__" \ -+ | ${CPP-${CC-gcc} -E} - 2>&1 \ -+ | ${EGREP-grep} "^PREFIX=" \ -+ | sed -e "s:^PREFIX=::" -e "s:__USER_LABEL_PREFIX__::"` -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SYMBOL_PREFIX" >&5 -+$as_echo "$SYMBOL_PREFIX" >&6; } -+ - # Enable/disable extras - # Check whether --enable-extras was given. - if test "${enable_extras+set}" = set; then : -diff -Nura icu.orig/source/data/Makefile.in icu/source/data/Makefile.in ---- icu.orig/source/data/Makefile.in 2014-12-18 15:49:42.908624160 -0300 -+++ icu/source/data/Makefile.in 2014-12-18 16:01:32.751110913 -0300 -@@ -182,11 +182,11 @@ - packagedata: icupkg.inc $(PKGDATA_LIST) build-local - ifneq ($(ENABLE_STATIC),) - ifeq ($(PKGDATA_MODE),dll) -- $(PKGDATA_INVOKE) $(PKGDATA) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBSTATICNAME) -m static $(PKGDATA_VERSIONING) $(PKGDATA_LIST) -+ $(PKGDATA_INVOKE) $(PKGDATA) -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBSTATICNAME) -m static $(PKGDATA_VERSIONING) $(PKGDATA_LIST) - endif - endif - ifneq ($(ICUDATA_SOURCE_IS_NATIVE_TARGET),YES) -- $(PKGDATA_INVOKE) $(PKGDATA) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -p $(ICUDATA_NAME) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) $(PKGDATA_LIBNAME) $(PKGDATA_LIST) -+ $(PKGDATA_INVOKE) $(PKGDATA) -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -p $(ICUDATA_NAME) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) $(PKGDATA_LIBNAME) $(PKGDATA_LIST) - else - $(INSTALL_DATA) $(ICUDATA_SOURCE_ARCHIVE) $(OUTDIR) - endif -@@ -209,11 +209,11 @@ - endif - ifneq ($(ENABLE_STATIC),) - ifeq ($(PKGDATA_MODE),dll) -- $(PKGDATA_INVOKE) $(PKGDATA) -m static -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBSTATICNAME) $(PKGDATA_LIST) -I $(ICUPKGDATA_INSTALL_LIBDIR) -+ $(PKGDATA_INVOKE) $(PKGDATA) -m static -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBSTATICNAME) $(PKGDATA_LIST) -I $(ICUPKGDATA_INSTALL_LIBDIR) - endif - endif - ifneq ($(ICUDATA_SOURCE_IS_NATIVE_TARGET),YES) -- $(PKGDATA_INVOKE) $(PKGDATA) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBNAME) $(PKGDATA_LIST) -I $(ICUPKGDATA_INSTALL_DIR) -+ $(PKGDATA_INVOKE) $(PKGDATA) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBNAME) $(PKGDATA_LIST) -I $(ICUPKGDATA_INSTALL_DIR) - else - $(INSTALL_DATA) $(ICUDATA_SOURCE_ARCHIVE) $(DESTDIR)$(ICUPKGDATA_DIR) - endif -@@ -224,7 +224,7 @@ - #### 390 support - install390: package390 - $(MKINSTALLDIRS) $(TMPDATADIR) $(DESTDIR)$(libdir) -- $(INVOKE) $(PKGDATA) -s $(BUILDDIR)$(STUB_SUFFIX) -T $(OUTTMPDIR_390STUB) -p $(ICUDATA_NAME)$(STUB_SUFFIX) $(PKGDATA_LIBNAME)$(STUB_SUFFIX) -e $(ICUDATA_ENTRY_POINT) $(OS390LIST) -m dll $(PKGDATA_VERSIONING) -I $(DESTDIR)$(ICUPKGDATA_DIR) -+ $(INVOKE) $(PKGDATA) -s $(BUILDDIR)$(STUB_SUFFIX) -T $(OUTTMPDIR_390STUB) -p $(ICUDATA_NAME)$(STUB_SUFFIX) $(PKGDATA_LIBNAME)$(STUB_SUFFIX) -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) $(OS390LIST) -m dll $(PKGDATA_VERSIONING) -I $(DESTDIR)$(ICUPKGDATA_DIR) - ifeq ($(PKGDATA_MODE),dll) - $(INSTALL-L) $(ICUPKGDATA_OUTDIR)/$(FINAL_IMPORT_LIB) $(DESTDIR)$(ICUPKGDATA_DIR)/$(FINAL_IMPORT_LIB) - endif -@@ -232,7 +232,7 @@ - #### $(LIB_ICUDATA_NAME)$(STUB_SUFFIX) is the subset data for batch mode - package390: $(OUTTMPDIR)/icudata390.lst $(PKGDATA_LIST) ./icupkg.inc packagedata - ln -s $(ICUDATA_NAME) $(OUTDIR)/build/$(ICUDATA_NAME)$(STUB_SUFFIX) -- $(INVOKE) $(PKGDATA) -s $(BUILDDIR)$(STUB_SUFFIX) -T $(OUTTMPDIR_390STUB) -p $(ICUDATA_NAME)$(STUB_SUFFIX) $(PKGDATA_LIBNAME)$(STUB_SUFFIX) -e $(ICUDATA_ENTRY_POINT) $(OS390LIST) -m dll $(PKGDATA_VERSIONING) -+ $(INVOKE) $(PKGDATA) -s $(BUILDDIR)$(STUB_SUFFIX) -T $(OUTTMPDIR_390STUB) -p $(ICUDATA_NAME)$(STUB_SUFFIX) $(PKGDATA_LIBNAME)$(STUB_SUFFIX) -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) $(OS390LIST) -m dll $(PKGDATA_VERSIONING) - cp $(ICUPKGDATA_OUTDIR)/$(LIB_ICUDATA_NAME)$(STUB_SUFFIX).$(SO) $(top_builddir)/stubdata/$(LIB_ICUDATA_NAME)$(STUB_SUFFIX).$(SO) - - -diff -Nura icu.orig/source/extra/uconv/Makefile.in icu/source/extra/uconv/Makefile.in ---- icu.orig/source/extra/uconv/Makefile.in 2014-12-18 15:49:42.986626850 -0300 -+++ icu/source/extra/uconv/Makefile.in 2014-12-18 15:57:40.558101179 -0300 -@@ -58,7 +58,8 @@ - ## Static mode - ifeq ($(UCONVMSG_MODE),static) - DEFS += -DUCONVMSG_LINK=$(MSGNAME) --UCONVMSG_LIB = $(RESDIR)/$(LIBPREFIX)$(STATIC_PREFIX_WHEN_USED)$(MSGNAME).$(A) -+UCONVMSG_LIB = $(RESDIR)/$(LIBPREFIX)$(STATIC_PREFIX_WHEN_USED)@SYMBOL_PREFIX@$(MSGNAME).$(A) -+ - LIBS += $(UCONVMSG_LIB) - PKGMODE=static - INSTALLTO=$(libdir) -@@ -152,7 +153,7 @@ - endif - - $(UCONVMSG_LIB): $(RESFILES) $(RESDIR)/$(RESDIR).lst pkgdata.inc -- $(INVOKE) $(PKGDATA_INVOKE_OPTS) $(TOOLBINDIR)/pkgdata -p $(MSGNAME) $(PKGDATA_OPTS) -m $(PKGMODE) -s $(RESDIR) -d $(RESDIR) -T $(RESDIR) $(RESDIR)/$(RESDIR).lst -+ $(INVOKE) $(PKGDATA_INVOKE_OPTS) $(TOOLBINDIR)/pkgdata -p @SYMBOL_PREFIX@$(MSGNAME) $(PKGDATA_OPTS) -m $(PKGMODE) -s $(RESDIR) -d $(RESDIR) -T $(RESDIR) $(RESDIR)/$(RESDIR).lst - - $(RESDIR)/$(RESDIR).lst: Makefile $(srcdir)/resfiles.mk - @-$(RMV) $@ diff --git a/package/icu/icu-004-link-icudata-as-data-only.patch b/package/icu/icu-004-link-icudata-as-data-only.patch deleted file mode 100644 index d970e8d30d..0000000000 --- a/package/icu/icu-004-link-icudata-as-data-only.patch +++ /dev/null @@ -1,35 +0,0 @@ -From d5d0c4bb7cc9aa4a132ec0bea13255aee50c1cf9 Mon Sep 17 00:00:00 2001 -From: Maxime Hadjinlian -Date: Fri, 6 Jun 2014 14:55:58 +0200 -Subject: [PATCH] Don't link icudata as a data only library - -This patch cames straight from Debian. It fixes an issue when -libicudata would not have some flags indicating it's EABIhf, causing -applications linked against libicudata to not start on EABIhf -systems. Getting rid of the -nodefaultlibs -nostdlib flags solves the -problem, and is the solution that is used by Debian, see -https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=653457. - -Signed-off-by: Maxime Hadjinlian ---- - source/config/mh-linux | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/source/config/mh-linux b/source/config/mh-linux -index 531a3b2..5a2a7c4 100644 ---- a/source/config/mh-linux -+++ b/source/config/mh-linux -@@ -21,7 +21,9 @@ LD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN - LD_RPATH_PRE = -Wl,-rpath, - - ## These are the library specific LDFLAGS --LDFLAGSICUDT=-nodefaultlibs -nostdlib -+#LDFLAGSICUDT=-nodefaultlibs -nostdlib -+# Debian change: linking icudata as data only causes too many problems. -+LDFLAGSICUDT= - - ## Compiler switch to embed a library name - # The initial tab in the next line is to prevent icu-config from reading it. --- -2.0.0.rc2 - diff --git a/package/ifplugd/0001-cross.patch b/package/ifplugd/0001-cross.patch new file mode 100644 index 0000000000..6217238149 --- /dev/null +++ b/package/ifplugd/0001-cross.patch @@ -0,0 +1,17 @@ +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: ifplugd-0.28/configure +=================================================================== +--- ifplugd-0.28.orig/configure ++++ ifplugd-0.28/configure +@@ -5430,7 +5430,7 @@ + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + if test "$cross_compiling" = yes; then +- ac_cv_func_malloc_0_nonnull=no ++ ac_cv_func_malloc_0_nonnull=yes + else + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ diff --git a/package/ifplugd/0002-fix-headers.patch b/package/ifplugd/0002-fix-headers.patch new file mode 100644 index 0000000000..06372a26a0 --- /dev/null +++ b/package/ifplugd/0002-fix-headers.patch @@ -0,0 +1,24 @@ +--- + src/interface.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: ifplugd-0.28/src/interface.c +=================================================================== +--- ifplugd-0.28.orig/src/interface.c ++++ ifplugd-0.28/src/interface.c +@@ -23,7 +23,6 @@ + #endif + + #include +-#include + #include + #include + #include +@@ -32,6 +31,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/package/ifplugd/0003-no-cxx.patch b/package/ifplugd/0003-no-cxx.patch new file mode 100644 index 0000000000..50ec0545a3 --- /dev/null +++ b/package/ifplugd/0003-no-cxx.patch @@ -0,0 +1,17 @@ +[PATCH] ifplugd: configure: don't check for C++ compiler + +The configure script was checking for a C++ compiler (and erroring out +if not found), even though it isn't used for anything. + +Signed-off-by: Peter Korsgaard +diff -urpN ifplugd-0.28/configure.ac ifplugd-0.28.new/configure.ac +--- ifplugd-0.28/configure.ac 2005-06-04 21:21:51.000000000 +0200 ++++ ifplugd-0.28.new/configure.ac 2008-12-13 20:31:13.000000000 +0100 +@@ -33,7 +33,6 @@ if type -p stow > /dev/null && test -d / + fi + + # Checks for programs. +-AC_PROG_CXX + AC_PROG_CC + AC_PROG_CPP + AC_PROG_INSTALL diff --git a/package/ifplugd/ifplugd-cross.patch b/package/ifplugd/ifplugd-cross.patch deleted file mode 100644 index 6217238149..0000000000 --- a/package/ifplugd/ifplugd-cross.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: ifplugd-0.28/configure -=================================================================== ---- ifplugd-0.28.orig/configure -+++ ifplugd-0.28/configure -@@ -5430,7 +5430,7 @@ - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - if test "$cross_compiling" = yes; then -- ac_cv_func_malloc_0_nonnull=no -+ ac_cv_func_malloc_0_nonnull=yes - else - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ diff --git a/package/ifplugd/ifplugd-fix-headers.patch b/package/ifplugd/ifplugd-fix-headers.patch deleted file mode 100644 index 06372a26a0..0000000000 --- a/package/ifplugd/ifplugd-fix-headers.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- - src/interface.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: ifplugd-0.28/src/interface.c -=================================================================== ---- ifplugd-0.28.orig/src/interface.c -+++ ifplugd-0.28/src/interface.c -@@ -23,7 +23,6 @@ - #endif - - #include --#include - #include - #include - #include -@@ -32,6 +31,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/package/ifplugd/ifplugd-no-cxx.patch b/package/ifplugd/ifplugd-no-cxx.patch deleted file mode 100644 index 50ec0545a3..0000000000 --- a/package/ifplugd/ifplugd-no-cxx.patch +++ /dev/null @@ -1,17 +0,0 @@ -[PATCH] ifplugd: configure: don't check for C++ compiler - -The configure script was checking for a C++ compiler (and erroring out -if not found), even though it isn't used for anything. - -Signed-off-by: Peter Korsgaard -diff -urpN ifplugd-0.28/configure.ac ifplugd-0.28.new/configure.ac ---- ifplugd-0.28/configure.ac 2005-06-04 21:21:51.000000000 +0200 -+++ ifplugd-0.28.new/configure.ac 2008-12-13 20:31:13.000000000 +0100 -@@ -33,7 +33,6 @@ if type -p stow > /dev/null && test -d / - fi - - # Checks for programs. --AC_PROG_CXX - AC_PROG_CC - AC_PROG_CPP - AC_PROG_INSTALL diff --git a/package/igmpproxy/0001-uclinux.patch b/package/igmpproxy/0001-uclinux.patch new file mode 100644 index 0000000000..7fa4a23830 --- /dev/null +++ b/package/igmpproxy/0001-uclinux.patch @@ -0,0 +1,16 @@ +configure.ac: uclinux is also linux + +Signed-off-by: Gustavo Zacarias + +diff -Nura igmpproxy-0.1.orig/configure.ac igmpproxy-0.1/configure.ac +--- igmpproxy-0.1.orig/configure.ac 2014-03-12 18:43:02.369323771 -0300 ++++ igmpproxy-0.1/configure.ac 2014-03-12 18:43:22.129979179 -0300 +@@ -7,7 +7,7 @@ + + AC_CANONICAL_HOST + case $host_os in +- linux*) os=linux;; ++ linux*|uclinux*) os=linux;; + freebsd*) os=freebsd;; + netbsd*) os=netbsd;; + openbsd*) os=openbsd;; diff --git a/package/igmpproxy/igmpproxy-01-uclinux.patch b/package/igmpproxy/igmpproxy-01-uclinux.patch deleted file mode 100644 index 7fa4a23830..0000000000 --- a/package/igmpproxy/igmpproxy-01-uclinux.patch +++ /dev/null @@ -1,16 +0,0 @@ -configure.ac: uclinux is also linux - -Signed-off-by: Gustavo Zacarias - -diff -Nura igmpproxy-0.1.orig/configure.ac igmpproxy-0.1/configure.ac ---- igmpproxy-0.1.orig/configure.ac 2014-03-12 18:43:02.369323771 -0300 -+++ igmpproxy-0.1/configure.ac 2014-03-12 18:43:22.129979179 -0300 -@@ -7,7 +7,7 @@ - - AC_CANONICAL_HOST - case $host_os in -- linux*) os=linux;; -+ linux*|uclinux*) os=linux;; - freebsd*) os=freebsd;; - netbsd*) os=netbsd;; - openbsd*) os=openbsd;; diff --git a/package/infozip/0001-configure-fix-cross-build.patch b/package/infozip/0001-configure-fix-cross-build.patch new file mode 100644 index 0000000000..0b939b35bc --- /dev/null +++ b/package/infozip/0001-configure-fix-cross-build.patch @@ -0,0 +1,237 @@ +From 941c322e4378e0ef09f21bfd7b2a337b8f812629 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Mon, 27 Jan 2014 22:42:53 +0100 +Subject: [PATCH 1/1] configure: fix cross-compilation issues + +- Use CFLAGS from command line + +- Remove "Check C compiler type (optimization options)" + This test force optimization to -O3 + while it is already set in CFLAGS + +- Don't use host CPP + +- Remove "Check for Large File Support" + LFS support is already set in CFLAGS + +Note: configure script still use host nm + +Signed-off-by: Romain Naour +--- + unix/Makefile | 4 +- + unix/configure | 161 +-------------------------------------------------------- + 2 files changed, 3 insertions(+), 162 deletions(-) + +diff --git a/unix/Makefile b/unix/Makefile +index abd0c44..8388c74 100644 +--- a/unix/Makefile ++++ b/unix/Makefile +@@ -58,7 +58,7 @@ IZ_OUR_BZIP2_DIR = bzip2 + # LFLAGS1 flags after output file spec, before obj file list + # LFLAGS2 flags after obj file list (libraries, etc) + CFLAGS_NOOPT = -I. -DUNIX $(LOCAL_ZIP) +-CFLAGS = -O2 $(CFLAGS_NOOPT) ++CFLAGS ?= -O2 $(CFLAGS_NOOPT) + LFLAGS1 = + LFLAGS2 = -s + +@@ -177,7 +177,7 @@ uninstall: + + + flags: unix/configure +- sh unix/configure "${CC}" "${CFLAGS_NOOPT}" "${IZ_BZIP2}" ++ sh unix/configure "${CC}" "${CFLAGS}" "${IZ_BZIP2}" + + # These symbols, when #defined using -D have these effects on compilation: + # ZMEM - includes C language versions of memset(), memcpy(), +diff --git a/unix/configure b/unix/configure +index 73ba803..57272db 100644 +--- a/unix/configure ++++ b/unix/configure +@@ -22,109 +22,9 @@ LFLAGS1='' + LFLAGS2='' + LN="ln -s" + +-CFLAGS_OPT='' +- + # bzip2 + IZ_BZIP2=${3-} +-CFLAGS_BZ='' +- +- +-echo 'Check C compiler type (optimization options)' +-# Sun C? +-cat > conftest.c << _EOF_ +-int main() +-{ +-#ifndef __SUNPRO_C +- bad code +-#endif +- return 0; +-} +-_EOF_ +-$CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null +-if test $? -eq 0; then +- CFLAGS_OPT='-xO3' +- echo " Sun C ($CFLAGS_OPT)" +-else +- # Tru64 DEC/Compaq/HP C? +- cat > conftest.c << _EOF_ +-int main() +-{ +-#ifndef __DECC +- bad code +-#endif +- return 0; +-} +-_EOF_ +- $CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null +- if test $? -eq 0; then +- CFLAGS_OPT='-O3' +- echo " DEC C ($CFLAGS_OPT)" +- else +- # HP-UX HP C? +- cat > conftest.c << _EOF_ +-int main() +-{ +-#ifdef __GNUC__ +- bad code +-#endif +-#ifndef __hpux +- bad code +-#endif +- return 0; +-} +-_EOF_ +- $CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null +- if test $? -eq 0; then +- # HP-UX, not GCC. Lame bundled or real ANSI compiler? +- CFLAGS_OPT_TRY="+O3 +Onolimit" +- $CC $CFLAGS $CFLAGS_OPT_TRY -c conftest.c 2>&1 | \ +- grep '(Bundled)' > /dev/null +- if test $? -ne 0; then +- CFLAGS_OPT="$CFLAGS_OPT_TRY" +- echo " HP-UX ANSI C ($CFLAGS_OPT)" +- else +- echo ' HP-UX Bundled C (no opt)' +- fi +- else +- # GNU C? +- cat > conftest.c << _EOF_ +-int main() +-{ +-#ifndef __GNUC__ +- bad code +-#endif +- return 0; +-} +-_EOF_ +- $CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null +- if test $? -eq 0; then +- CFLAGS_OPT='-O3' +- echo " GNU C ($CFLAGS_OPT)" +- # Special Mac OS X shared library "ld" option? +- if test ` uname -s 2> /dev/null ` = 'Darwin'; then +- lf='-Wl,-search_paths_first' +- $CC $CFLAGS $lf conftest.c > /dev/null 2>/dev/null +- if test $? -eq 0; then +- LFLAGS2="${LFLAGS2} ${lf}" +- fi +- rm -f conftest +- fi +- else +- CFLAGS_OPT='-O' +- echo " Other-unknown C ($CFLAGS_OPT)" +- fi +- fi +- fi +-fi +- +-# optimization flags +-if test -n "${CFLAGS_OPT}"; then +- CFLAGS="${CFLAGS} ${CFLAGS_OPT}" +- CFLAGS_BZ="${CFLAGS_BZ} ${CFLAGS_OPT}" +-fi +- +- +-# bzip2 ++CFLAGS_BZ="${CFLAGS}" + + echo "Check bzip2 support" + CC_BZ="${CC}" +@@ -220,13 +120,6 @@ fi + echo Check for the C preprocessor + # on SVR4, cc -E does not produce correct assembler files. Need /lib/cpp. + CPP="${CC} -E" +-# solaris as(1) needs -P, maybe others as well ? +-[ -f /usr/ccs/lib/cpp ] && CPP="/usr/ccs/lib/cpp -P" +-[ -f /usr/lib/cpp ] && CPP=/usr/lib/cpp +-[ -f /lib/cpp ] && CPP=/lib/cpp +-[ -f /usr/bin/cpp ] && CPP=/usr/bin/cpp +-[ -f /xenix ] && CPP="${CC} -E" +-[ -f /lynx.os ] && CPP="${CC} -E" + + echo "#include " > conftest.c + $CPP conftest.c >/dev/null 2>/dev/null || CPP="${CC} -E" +@@ -398,58 +291,6 @@ else + fi + fi + +- +-# Now we set the 64-bit file environment and check the size of off_t +-# Added 11/4/2003 EG +-# Revised 8/12/2004 EG +- +-echo Check for Large File Support +-cat > conftest.c << _EOF_ +-# define _LARGEFILE_SOURCE /* some OSes need this for fseeko */ +-# define _LARGEFILE64_SOURCE +-# define _FILE_OFFSET_BITS 64 /* select default interface as 64 bit */ +-# define _LARGE_FILES /* some OSes need this for 64-bit off_t */ +-#include +-#include +-#include +-#include +-int main() +-{ +- off_t offset; +- struct stat s; +- /* see if have 64-bit off_t */ +- if (sizeof(offset) < 8) +- return 1; +- printf(" off_t is %d bytes\n", sizeof(off_t)); +- /* see if have 64-bit stat */ +- if (sizeof(s.st_size) < 8) { +- printf(" s.st_size is %d bytes\n", sizeof(s.st_size)); +- return 2; +- } +- return 3; +-} +-_EOF_ +-# compile it +-$CC -o conftest conftest.c >/dev/null 2>/dev/null +-if [ $? -ne 0 ]; then +- echo -- no Large File Support +-else +-# run it +- ./conftest +- r=$? +- if [ $r -eq 1 ]; then +- echo -- no Large File Support - no 64-bit off_t +- elif [ $r -eq 2 ]; then +- echo -- no Large File Support - no 64-bit stat +- elif [ $r -eq 3 ]; then +- echo -- yes we have Large File Support! +- CFLAGS="${CFLAGS} -DLARGE_FILE_SUPPORT" +- else +- echo -- no Large File Support - conftest returned $r +- fi +-fi +- +- + # Check for wide char for Unicode support + # Added 11/24/2005 EG + +-- +1.8.5.3 + diff --git a/package/infozip/infozip-0001-configure-fix-cross-build.patch b/package/infozip/infozip-0001-configure-fix-cross-build.patch deleted file mode 100644 index 0b939b35bc..0000000000 --- a/package/infozip/infozip-0001-configure-fix-cross-build.patch +++ /dev/null @@ -1,237 +0,0 @@ -From 941c322e4378e0ef09f21bfd7b2a337b8f812629 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Mon, 27 Jan 2014 22:42:53 +0100 -Subject: [PATCH 1/1] configure: fix cross-compilation issues - -- Use CFLAGS from command line - -- Remove "Check C compiler type (optimization options)" - This test force optimization to -O3 - while it is already set in CFLAGS - -- Don't use host CPP - -- Remove "Check for Large File Support" - LFS support is already set in CFLAGS - -Note: configure script still use host nm - -Signed-off-by: Romain Naour ---- - unix/Makefile | 4 +- - unix/configure | 161 +-------------------------------------------------------- - 2 files changed, 3 insertions(+), 162 deletions(-) - -diff --git a/unix/Makefile b/unix/Makefile -index abd0c44..8388c74 100644 ---- a/unix/Makefile -+++ b/unix/Makefile -@@ -58,7 +58,7 @@ IZ_OUR_BZIP2_DIR = bzip2 - # LFLAGS1 flags after output file spec, before obj file list - # LFLAGS2 flags after obj file list (libraries, etc) - CFLAGS_NOOPT = -I. -DUNIX $(LOCAL_ZIP) --CFLAGS = -O2 $(CFLAGS_NOOPT) -+CFLAGS ?= -O2 $(CFLAGS_NOOPT) - LFLAGS1 = - LFLAGS2 = -s - -@@ -177,7 +177,7 @@ uninstall: - - - flags: unix/configure -- sh unix/configure "${CC}" "${CFLAGS_NOOPT}" "${IZ_BZIP2}" -+ sh unix/configure "${CC}" "${CFLAGS}" "${IZ_BZIP2}" - - # These symbols, when #defined using -D have these effects on compilation: - # ZMEM - includes C language versions of memset(), memcpy(), -diff --git a/unix/configure b/unix/configure -index 73ba803..57272db 100644 ---- a/unix/configure -+++ b/unix/configure -@@ -22,109 +22,9 @@ LFLAGS1='' - LFLAGS2='' - LN="ln -s" - --CFLAGS_OPT='' -- - # bzip2 - IZ_BZIP2=${3-} --CFLAGS_BZ='' -- -- --echo 'Check C compiler type (optimization options)' --# Sun C? --cat > conftest.c << _EOF_ --int main() --{ --#ifndef __SUNPRO_C -- bad code --#endif -- return 0; --} --_EOF_ --$CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null --if test $? -eq 0; then -- CFLAGS_OPT='-xO3' -- echo " Sun C ($CFLAGS_OPT)" --else -- # Tru64 DEC/Compaq/HP C? -- cat > conftest.c << _EOF_ --int main() --{ --#ifndef __DECC -- bad code --#endif -- return 0; --} --_EOF_ -- $CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null -- if test $? -eq 0; then -- CFLAGS_OPT='-O3' -- echo " DEC C ($CFLAGS_OPT)" -- else -- # HP-UX HP C? -- cat > conftest.c << _EOF_ --int main() --{ --#ifdef __GNUC__ -- bad code --#endif --#ifndef __hpux -- bad code --#endif -- return 0; --} --_EOF_ -- $CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null -- if test $? -eq 0; then -- # HP-UX, not GCC. Lame bundled or real ANSI compiler? -- CFLAGS_OPT_TRY="+O3 +Onolimit" -- $CC $CFLAGS $CFLAGS_OPT_TRY -c conftest.c 2>&1 | \ -- grep '(Bundled)' > /dev/null -- if test $? -ne 0; then -- CFLAGS_OPT="$CFLAGS_OPT_TRY" -- echo " HP-UX ANSI C ($CFLAGS_OPT)" -- else -- echo ' HP-UX Bundled C (no opt)' -- fi -- else -- # GNU C? -- cat > conftest.c << _EOF_ --int main() --{ --#ifndef __GNUC__ -- bad code --#endif -- return 0; --} --_EOF_ -- $CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null -- if test $? -eq 0; then -- CFLAGS_OPT='-O3' -- echo " GNU C ($CFLAGS_OPT)" -- # Special Mac OS X shared library "ld" option? -- if test ` uname -s 2> /dev/null ` = 'Darwin'; then -- lf='-Wl,-search_paths_first' -- $CC $CFLAGS $lf conftest.c > /dev/null 2>/dev/null -- if test $? -eq 0; then -- LFLAGS2="${LFLAGS2} ${lf}" -- fi -- rm -f conftest -- fi -- else -- CFLAGS_OPT='-O' -- echo " Other-unknown C ($CFLAGS_OPT)" -- fi -- fi -- fi --fi -- --# optimization flags --if test -n "${CFLAGS_OPT}"; then -- CFLAGS="${CFLAGS} ${CFLAGS_OPT}" -- CFLAGS_BZ="${CFLAGS_BZ} ${CFLAGS_OPT}" --fi -- -- --# bzip2 -+CFLAGS_BZ="${CFLAGS}" - - echo "Check bzip2 support" - CC_BZ="${CC}" -@@ -220,13 +120,6 @@ fi - echo Check for the C preprocessor - # on SVR4, cc -E does not produce correct assembler files. Need /lib/cpp. - CPP="${CC} -E" --# solaris as(1) needs -P, maybe others as well ? --[ -f /usr/ccs/lib/cpp ] && CPP="/usr/ccs/lib/cpp -P" --[ -f /usr/lib/cpp ] && CPP=/usr/lib/cpp --[ -f /lib/cpp ] && CPP=/lib/cpp --[ -f /usr/bin/cpp ] && CPP=/usr/bin/cpp --[ -f /xenix ] && CPP="${CC} -E" --[ -f /lynx.os ] && CPP="${CC} -E" - - echo "#include " > conftest.c - $CPP conftest.c >/dev/null 2>/dev/null || CPP="${CC} -E" -@@ -398,58 +291,6 @@ else - fi - fi - -- --# Now we set the 64-bit file environment and check the size of off_t --# Added 11/4/2003 EG --# Revised 8/12/2004 EG -- --echo Check for Large File Support --cat > conftest.c << _EOF_ --# define _LARGEFILE_SOURCE /* some OSes need this for fseeko */ --# define _LARGEFILE64_SOURCE --# define _FILE_OFFSET_BITS 64 /* select default interface as 64 bit */ --# define _LARGE_FILES /* some OSes need this for 64-bit off_t */ --#include --#include --#include --#include --int main() --{ -- off_t offset; -- struct stat s; -- /* see if have 64-bit off_t */ -- if (sizeof(offset) < 8) -- return 1; -- printf(" off_t is %d bytes\n", sizeof(off_t)); -- /* see if have 64-bit stat */ -- if (sizeof(s.st_size) < 8) { -- printf(" s.st_size is %d bytes\n", sizeof(s.st_size)); -- return 2; -- } -- return 3; --} --_EOF_ --# compile it --$CC -o conftest conftest.c >/dev/null 2>/dev/null --if [ $? -ne 0 ]; then -- echo -- no Large File Support --else --# run it -- ./conftest -- r=$? -- if [ $r -eq 1 ]; then -- echo -- no Large File Support - no 64-bit off_t -- elif [ $r -eq 2 ]; then -- echo -- no Large File Support - no 64-bit stat -- elif [ $r -eq 3 ]; then -- echo -- yes we have Large File Support! -- CFLAGS="${CFLAGS} -DLARGE_FILE_SUPPORT" -- else -- echo -- no Large File Support - conftest returned $r -- fi --fi -- -- - # Check for wide char for Unicode support - # Added 11/24/2005 EG - --- -1.8.5.3 - diff --git a/package/input-tools/0001-rint.patch b/package/input-tools/0001-rint.patch new file mode 100644 index 0000000000..b2aa13f760 --- /dev/null +++ b/package/input-tools/0001-rint.patch @@ -0,0 +1,18 @@ +diff -urN joystick-20051019.orig/utils/jscal.c joystick-20051019/utils/jscal.c +--- joystick-20051019.orig/utils/jscal.c 2004-10-19 09:51:52.000000000 +0200 ++++ joystick-20051019/utils/jscal.c 2009-01-18 10:48:50.000000000 +0100 +@@ -141,10 +141,10 @@ + c = 32767.0 / (inputs.cmin[1] - inputs.cmax[0]); + d = 32767.0 / (inputs.cmin[2] - inputs.cmax[1]); + +- results[0] = rint(a); +- results[1] = rint(b); +- results[2] = rint(c*16384.0); +- results[3] = rint(d*16384.0); ++ results[0] = (int) (a + 0.5); ++ results[1] = (int) (b + 0.5); ++ results[2] = (int) (c*16384.0 + 0.5); ++ results[3] = (int) (d*16384.0 + 0.5); + + return 1; + } diff --git a/package/input-tools/input-tools-20051019-rint.patch b/package/input-tools/input-tools-20051019-rint.patch deleted file mode 100644 index b2aa13f760..0000000000 --- a/package/input-tools/input-tools-20051019-rint.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -urN joystick-20051019.orig/utils/jscal.c joystick-20051019/utils/jscal.c ---- joystick-20051019.orig/utils/jscal.c 2004-10-19 09:51:52.000000000 +0200 -+++ joystick-20051019/utils/jscal.c 2009-01-18 10:48:50.000000000 +0100 -@@ -141,10 +141,10 @@ - c = 32767.0 / (inputs.cmin[1] - inputs.cmax[0]); - d = 32767.0 / (inputs.cmin[2] - inputs.cmax[1]); - -- results[0] = rint(a); -- results[1] = rint(b); -- results[2] = rint(c*16384.0); -- results[3] = rint(d*16384.0); -+ results[0] = (int) (a + 0.5); -+ results[1] = (int) (b + 0.5); -+ results[2] = (int) (c*16384.0 + 0.5); -+ results[3] = (int) (d*16384.0 + 0.5); - - return 1; - } diff --git a/package/iostat/0001-cpunum.patch b/package/iostat/0001-cpunum.patch new file mode 100644 index 0000000000..0e75dbf71a --- /dev/null +++ b/package/iostat/0001-cpunum.patch @@ -0,0 +1,27 @@ +From bf646965f75cdad77a45fa3b0046e093b202b2ce Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Thu, 22 Jul 2010 12:42:10 -0300 +Subject: [PATCH] Make cpu number counter more reliable + + +Signed-off-by: Gustavo Zacarias +--- + iostat.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/iostat.c b/iostat.c +index 13e2af7..5d74085 100644 +--- a/iostat.c ++++ b/iostat.c +@@ -140,7 +140,7 @@ void get_number_of_cpus() + + handle_error("Can't open /proc/cpuinfo", !ncpufp); + while (fgets(buffer, sizeof(buffer), ncpufp)) { +- if (!strncmp(buffer, "processor\t:", 11)) ++ if (!strncasecmp(buffer, "processor\t", 10)) + ncpu++; + } + fclose(ncpufp); +-- +1.7.1 + diff --git a/package/iostat/iostat-cpunum.patch b/package/iostat/iostat-cpunum.patch deleted file mode 100644 index 0e75dbf71a..0000000000 --- a/package/iostat/iostat-cpunum.patch +++ /dev/null @@ -1,27 +0,0 @@ -From bf646965f75cdad77a45fa3b0046e093b202b2ce Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Thu, 22 Jul 2010 12:42:10 -0300 -Subject: [PATCH] Make cpu number counter more reliable - - -Signed-off-by: Gustavo Zacarias ---- - iostat.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/iostat.c b/iostat.c -index 13e2af7..5d74085 100644 ---- a/iostat.c -+++ b/iostat.c -@@ -140,7 +140,7 @@ void get_number_of_cpus() - - handle_error("Can't open /proc/cpuinfo", !ncpufp); - while (fgets(buffer, sizeof(buffer), ncpufp)) { -- if (!strncmp(buffer, "processor\t:", 11)) -+ if (!strncasecmp(buffer, "processor\t", 10)) - ncpu++; - } - fclose(ncpufp); --- -1.7.1 - diff --git a/package/iozone/0001-targets.patch b/package/iozone/0001-targets.patch new file mode 100644 index 0000000000..258b960928 --- /dev/null +++ b/package/iozone/0001-targets.patch @@ -0,0 +1,92 @@ +Add new targets for iozone: + +linux-noaio is for linux targets without AIO (use case: uClibc) +linux-noth is for linux target without threads or AIO + +And make largefile support optional via CFLAGS. + +Signed-off-by: Gustavo Zacarias + +diff -Nura iozone3_414.orig/src/current/makefile iozone3_414/src/current/makefile +--- iozone3_414.orig/src/current/makefile 2013-06-11 09:48:18.257837091 -0300 ++++ iozone3_414/src/current/makefile 2013-06-11 13:05:56.338162144 -0300 +@@ -166,10 +166,28 @@ + # GNU 'C' compiler Linux build with threads, largefiles, async I/O + # + linux: iozone_linux.o libasync.o libbif.o fileop_linux.o pit_server.o +- $(CC) -O3 $(LDFLAGS) iozone_linux.o libasync.o libbif.o -lpthread \ ++ $(CC) $(CFLAGS) $(LDFLAGS) iozone_linux.o libasync.o libbif.o \ ++ -lpthread -lrt -o iozone ++ $(CC) $(CFLAGS) -Dlinux fileop_linux.o -o fileop ++ $(CC) $(CFLAGS) -Dlinux pit_server.o -o pit_server ++ ++# ++# GNU 'C' compiler Linux build with threads, largefiles ++# ++linux-noaio: iozone_linux-noaio.o libbif.o fileop_linux.o pit_server.o ++ $(CC) $(CFLAGS) $(LDFLAGS) iozone_linux-noaio.o libbif.o \ ++ -lpthread -lrt -o iozone ++ $(CC) $(CFLAGS) -Dlinux fileop_linux.o -o fileop ++ $(CC) $(CFLAGS) -Dlinux pit_server.o -o pit_server ++ ++# ++# GNU 'C' compiler Linux build with largefiles ++# ++linux-noth: iozone_linux-noth.o libbif.o fileop_linux.o pit_server.o ++ $(CC) $(CFLAGS) $(LDFLAGS) iozone_linux-noth.o libbif.o \ + -lrt -o iozone +- $(CC) -O3 -Dlinux fileop_linux.o -o fileop +- $(CC) -O3 -Dlinux pit_server.o -o pit_server ++ $(CC) $(CFLAGS) -Dlinux fileop_linux.o -o fileop ++ $(CC) $(CFLAGS) -Dlinux pit_server.o -o pit_server + + # + # GNU 'C' compiler Linux build for powerpc chip with threads, largefiles, async I/O +@@ -795,13 +813,33 @@ + @echo "" + @echo "Building iozone for Linux" + @echo "" +- $(CC) -Wall -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DHAVE_PREAD \ +- -DSHARED_MEM -Dlinux -D_LARGEFILE64_SOURCE $(CFLAGS) iozone.c \ ++ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DHAVE_PREAD \ ++ -DSHARED_MEM -Dlinux $(CFLAGS) iozone.c \ + -DNAME='"linux"' -o iozone_linux.o +- $(CC) -Wall -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D_LARGEFILE64_SOURCE \ ++ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO \ ++ -DSHARED_MEM -Dlinux $(CFLAGS) libbif.c -o libbif.o ++ $(CC) -Wall -c -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \ ++ $(CFLAGS) libasync.c -o libasync.o ++ ++iozone_linux-noaio.o: iozone.c libbif.c ++ @echo "" ++ @echo "Building iozone for Linux no AIO" ++ @echo "" ++ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C -DHAVE_PREAD \ ++ -DSHARED_MEM -Dlinux $(CFLAGS) iozone.c \ ++ -DNAME='"linux"' -o iozone_linux-noaio.o ++ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C \ ++ -DSHARED_MEM -Dlinux $(CFLAGS) libbif.c -o libbif.o ++ ++iozone_linux-noth.o: iozone.c libbif.c ++ @echo "" ++ @echo "Building iozone for Linux with no threads" ++ @echo "" ++ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C -DNO_THREADS -DHAVE_PREAD \ ++ -DSHARED_MEM -Dlinux $(CFLAGS) iozone.c \ ++ -DNAME='"linux"' -o iozone_linux-noth.o ++ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C -DNO_THREADS \ + -DSHARED_MEM -Dlinux $(CFLAGS) libbif.c -o libbif.o +- $(CC) -Wall -c -O3 -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \ +- -D_LARGEFILE64_SOURCE $(CFLAGS) libasync.c -o libasync.o + + fileop_AIX.o: fileop.c + @echo "" +@@ -893,7 +931,7 @@ + @echo "" + @echo "Building fileop for Linux" + @echo "" +- $(CC) -Wall -c -O3 $(CFLAGS) fileop.c -o fileop_linux.o ++ $(CC) -Wall -c $(CFLAGS) fileop.c -o fileop_linux.o + + fileop_openbsd.o: fileop.c + @echo "" diff --git a/package/iozone/0002-no-nptl-support.patch b/package/iozone/0002-no-nptl-support.patch new file mode 100644 index 0000000000..493f52cc77 --- /dev/null +++ b/package/iozone/0002-no-nptl-support.patch @@ -0,0 +1,37 @@ +Dummy pthread_setaffinity_np() when not available + +On uClibc configurations that do not use the NPTL thread +implementation, pthread_setaffinity_np() is not available. This patch +defines a dummy (empty) implementation of this function for such +cases. + +The only few architectures that do not provide the NPTL thread +implementation are very likely to be non-SMP architectures, and +therefore, setting the affinity of the thread is not doing anything +useful, so having an empty stub for pthread_setaffinity_np() is not a +problem. + +Signed-off-by: Thomas Petazzoni + +Index: b/src/current/iozone.c +=================================================================== +--- a/src/current/iozone.c ++++ b/src/current/iozone.c +@@ -306,6 +306,17 @@ + #endif + #endif + ++#if defined (__linux__) ++#include ++#if defined (__UCLIBC__) && !defined (__UCLIBC_HAS_THREADS_NATIVE__) ++static int pthread_setaffinity_np(pthread_t thread, size_t cpusetsize, ++ const cpu_set_t *cpuset) ++{ ++ return 0; ++} ++#endif ++#endif ++ + #if ((defined(solaris) && defined(__LP64__)) || defined(__s390x__)) + /* If we are building for 64-bit Solaris, all functions that return pointers + * must be declared before they are used; otherwise the compiler will assume diff --git a/package/iozone/iozone-01-targets.patch b/package/iozone/iozone-01-targets.patch deleted file mode 100644 index 258b960928..0000000000 --- a/package/iozone/iozone-01-targets.patch +++ /dev/null @@ -1,92 +0,0 @@ -Add new targets for iozone: - -linux-noaio is for linux targets without AIO (use case: uClibc) -linux-noth is for linux target without threads or AIO - -And make largefile support optional via CFLAGS. - -Signed-off-by: Gustavo Zacarias - -diff -Nura iozone3_414.orig/src/current/makefile iozone3_414/src/current/makefile ---- iozone3_414.orig/src/current/makefile 2013-06-11 09:48:18.257837091 -0300 -+++ iozone3_414/src/current/makefile 2013-06-11 13:05:56.338162144 -0300 -@@ -166,10 +166,28 @@ - # GNU 'C' compiler Linux build with threads, largefiles, async I/O - # - linux: iozone_linux.o libasync.o libbif.o fileop_linux.o pit_server.o -- $(CC) -O3 $(LDFLAGS) iozone_linux.o libasync.o libbif.o -lpthread \ -+ $(CC) $(CFLAGS) $(LDFLAGS) iozone_linux.o libasync.o libbif.o \ -+ -lpthread -lrt -o iozone -+ $(CC) $(CFLAGS) -Dlinux fileop_linux.o -o fileop -+ $(CC) $(CFLAGS) -Dlinux pit_server.o -o pit_server -+ -+# -+# GNU 'C' compiler Linux build with threads, largefiles -+# -+linux-noaio: iozone_linux-noaio.o libbif.o fileop_linux.o pit_server.o -+ $(CC) $(CFLAGS) $(LDFLAGS) iozone_linux-noaio.o libbif.o \ -+ -lpthread -lrt -o iozone -+ $(CC) $(CFLAGS) -Dlinux fileop_linux.o -o fileop -+ $(CC) $(CFLAGS) -Dlinux pit_server.o -o pit_server -+ -+# -+# GNU 'C' compiler Linux build with largefiles -+# -+linux-noth: iozone_linux-noth.o libbif.o fileop_linux.o pit_server.o -+ $(CC) $(CFLAGS) $(LDFLAGS) iozone_linux-noth.o libbif.o \ - -lrt -o iozone -- $(CC) -O3 -Dlinux fileop_linux.o -o fileop -- $(CC) -O3 -Dlinux pit_server.o -o pit_server -+ $(CC) $(CFLAGS) -Dlinux fileop_linux.o -o fileop -+ $(CC) $(CFLAGS) -Dlinux pit_server.o -o pit_server - - # - # GNU 'C' compiler Linux build for powerpc chip with threads, largefiles, async I/O -@@ -795,13 +813,33 @@ - @echo "" - @echo "Building iozone for Linux" - @echo "" -- $(CC) -Wall -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DHAVE_PREAD \ -- -DSHARED_MEM -Dlinux -D_LARGEFILE64_SOURCE $(CFLAGS) iozone.c \ -+ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DHAVE_PREAD \ -+ -DSHARED_MEM -Dlinux $(CFLAGS) iozone.c \ - -DNAME='"linux"' -o iozone_linux.o -- $(CC) -Wall -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D_LARGEFILE64_SOURCE \ -+ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO \ -+ -DSHARED_MEM -Dlinux $(CFLAGS) libbif.c -o libbif.o -+ $(CC) -Wall -c -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \ -+ $(CFLAGS) libasync.c -o libasync.o -+ -+iozone_linux-noaio.o: iozone.c libbif.c -+ @echo "" -+ @echo "Building iozone for Linux no AIO" -+ @echo "" -+ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C -DHAVE_PREAD \ -+ -DSHARED_MEM -Dlinux $(CFLAGS) iozone.c \ -+ -DNAME='"linux"' -o iozone_linux-noaio.o -+ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C \ -+ -DSHARED_MEM -Dlinux $(CFLAGS) libbif.c -o libbif.o -+ -+iozone_linux-noth.o: iozone.c libbif.c -+ @echo "" -+ @echo "Building iozone for Linux with no threads" -+ @echo "" -+ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C -DNO_THREADS -DHAVE_PREAD \ -+ -DSHARED_MEM -Dlinux $(CFLAGS) iozone.c \ -+ -DNAME='"linux"' -o iozone_linux-noth.o -+ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C -DNO_THREADS \ - -DSHARED_MEM -Dlinux $(CFLAGS) libbif.c -o libbif.o -- $(CC) -Wall -c -O3 -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \ -- -D_LARGEFILE64_SOURCE $(CFLAGS) libasync.c -o libasync.o - - fileop_AIX.o: fileop.c - @echo "" -@@ -893,7 +931,7 @@ - @echo "" - @echo "Building fileop for Linux" - @echo "" -- $(CC) -Wall -c -O3 $(CFLAGS) fileop.c -o fileop_linux.o -+ $(CC) -Wall -c $(CFLAGS) fileop.c -o fileop_linux.o - - fileop_openbsd.o: fileop.c - @echo "" diff --git a/package/iozone/iozone-02-no-nptl-support.patch b/package/iozone/iozone-02-no-nptl-support.patch deleted file mode 100644 index 493f52cc77..0000000000 --- a/package/iozone/iozone-02-no-nptl-support.patch +++ /dev/null @@ -1,37 +0,0 @@ -Dummy pthread_setaffinity_np() when not available - -On uClibc configurations that do not use the NPTL thread -implementation, pthread_setaffinity_np() is not available. This patch -defines a dummy (empty) implementation of this function for such -cases. - -The only few architectures that do not provide the NPTL thread -implementation are very likely to be non-SMP architectures, and -therefore, setting the affinity of the thread is not doing anything -useful, so having an empty stub for pthread_setaffinity_np() is not a -problem. - -Signed-off-by: Thomas Petazzoni - -Index: b/src/current/iozone.c -=================================================================== ---- a/src/current/iozone.c -+++ b/src/current/iozone.c -@@ -306,6 +306,17 @@ - #endif - #endif - -+#if defined (__linux__) -+#include -+#if defined (__UCLIBC__) && !defined (__UCLIBC_HAS_THREADS_NATIVE__) -+static int pthread_setaffinity_np(pthread_t thread, size_t cpusetsize, -+ const cpu_set_t *cpuset) -+{ -+ return 0; -+} -+#endif -+#endif -+ - #if ((defined(solaris) && defined(__LP64__)) || defined(__s390x__)) - /* If we are building for 64-bit Solaris, all functions that return pointers - * must be declared before they are used; otherwise the compiler will assume diff --git a/package/ipsec-tools/0001-susv3-legacy.patch b/package/ipsec-tools/0001-susv3-legacy.patch new file mode 100644 index 0000000000..ea98505622 --- /dev/null +++ b/package/ipsec-tools/0001-susv3-legacy.patch @@ -0,0 +1,35 @@ +Replaces sysv3 legacy functions with modern equivalents. + +Signed-off-by: Julien Boibessot +Index: ipsec-tools-0.7.3/src/racoon/pfkey.c +=================================================================== +--- ipsec-tools-0.7.3.orig/src/racoon/pfkey.c 2010-07-12 14:46:52.000000000 +0200 ++++ ipsec-tools-0.7.3/src/racoon/pfkey.c 2010-07-12 15:01:39.000000000 +0200 +@@ -3008,12 +3008,12 @@ + struct sockaddr *paddr; + + paddr = (struct sockaddr *)(xisr + 1); +- bcopy(paddr, &(*p_isr)->saidx.src, ++ memmove(&(*p_isr)->saidx.src, paddr, + sysdep_sa_len(paddr)); + + paddr = (struct sockaddr *)((caddr_t)paddr + + sysdep_sa_len(paddr)); +- bcopy(paddr, &(*p_isr)->saidx.dst, ++ memmove(&(*p_isr)->saidx.dst, paddr, + sysdep_sa_len(paddr)); + } + +Index: ipsec-tools-0.7.3/src/racoon/racoonctl.c +=================================================================== +--- ipsec-tools-0.7.3.orig/src/racoon/racoonctl.c 2010-07-12 14:49:51.000000000 +0200 ++++ ipsec-tools-0.7.3/src/racoon/racoonctl.c 2010-07-12 15:00:52.000000000 +0200 +@@ -785,7 +785,7 @@ + errx(1, "cannot read source address"); + + /* We get "ip[port]" strip the port */ +- if ((idx = index(srcaddr, '[')) == NULL) ++ if ((idx = strchr(srcaddr, '[')) == NULL) + errx(1, "unexpected source address format"); + *idx = '\0'; + diff --git a/package/ipsec-tools/ipsec-tools-001-susv3-legacy.patch b/package/ipsec-tools/ipsec-tools-001-susv3-legacy.patch deleted file mode 100644 index ea98505622..0000000000 --- a/package/ipsec-tools/ipsec-tools-001-susv3-legacy.patch +++ /dev/null @@ -1,35 +0,0 @@ -Replaces sysv3 legacy functions with modern equivalents. - -Signed-off-by: Julien Boibessot -Index: ipsec-tools-0.7.3/src/racoon/pfkey.c -=================================================================== ---- ipsec-tools-0.7.3.orig/src/racoon/pfkey.c 2010-07-12 14:46:52.000000000 +0200 -+++ ipsec-tools-0.7.3/src/racoon/pfkey.c 2010-07-12 15:01:39.000000000 +0200 -@@ -3008,12 +3008,12 @@ - struct sockaddr *paddr; - - paddr = (struct sockaddr *)(xisr + 1); -- bcopy(paddr, &(*p_isr)->saidx.src, -+ memmove(&(*p_isr)->saidx.src, paddr, - sysdep_sa_len(paddr)); - - paddr = (struct sockaddr *)((caddr_t)paddr - + sysdep_sa_len(paddr)); -- bcopy(paddr, &(*p_isr)->saidx.dst, -+ memmove(&(*p_isr)->saidx.dst, paddr, - sysdep_sa_len(paddr)); - } - -Index: ipsec-tools-0.7.3/src/racoon/racoonctl.c -=================================================================== ---- ipsec-tools-0.7.3.orig/src/racoon/racoonctl.c 2010-07-12 14:49:51.000000000 +0200 -+++ ipsec-tools-0.7.3/src/racoon/racoonctl.c 2010-07-12 15:00:52.000000000 +0200 -@@ -785,7 +785,7 @@ - errx(1, "cannot read source address"); - - /* We get "ip[port]" strip the port */ -- if ((idx = index(srcaddr, '[')) == NULL) -+ if ((idx = strchr(srcaddr, '[')) == NULL) - errx(1, "unexpected source address format"); - *idx = '\0'; - diff --git a/package/irda-utils/0001-daemon.patch b/package/irda-utils/0001-daemon.patch new file mode 100644 index 0000000000..f6034a75b4 --- /dev/null +++ b/package/irda-utils/0001-daemon.patch @@ -0,0 +1,34 @@ +written by Mike Frysinger + +https://sourceforge.net/tracker/?func=detail&aid=3132053&group_id=5616&atid=305616 + +Rather than using the fork function (which doesnt work on nommu +systems), simply use the daemon() function instead (which does +work). this should work the same before and after for all systems. + +--- a/irattach/util.c ++++ b/irattach/util.c +@@ -156,21 +156,10 @@ + + void fork_now(int ttyfd) + { +- int ret; + int i; + +- if ((ret = fork()) > 0) +- exit(0); +- +- if (ret == -1) +- syslog(LOG_INFO, "forking: %m"); +- if (setsid() < 0) +- syslog(LOG_INFO, "detaching from tty: %m"); +- +- if ((ret = fork()) > 0) { +- /* cleanup_files = 0; */ +- exit(0); +- } ++ if (daemon(1, 1)) ++ syslog(LOG_INFO, "daemon: %m"); + + /* Close all open inherited files! Except for ttyfd! */ + for (i = 0; i < 64; i++) diff --git a/package/irda-utils/0002-nommu.patch b/package/irda-utils/0002-nommu.patch new file mode 100644 index 0000000000..bc76bd3957 --- /dev/null +++ b/package/irda-utils/0002-nommu.patch @@ -0,0 +1,24 @@ +written by Mike Frysinger + +https://sourceforge.net/tracker/?func=detail&aid=3132056&group_id=5616&atid=305616 + +nommu systems cannot fork() as the hardware cannot support +it. irattach uses it as a minor optimization, but it isnt +necessary for correct functioning of the utility. so add a +NO_FORK define so we nommu peeps can do CFLAGS="... -DNO_FORK=1 +..." and use it in our embedded systems. + +--- a/irattach/irattach.c ++++ b/irattach/irattach.c +@@ -397,7 +397,11 @@ + after_names[i]); + /* Create a new instance for this other + * interface */ ++#ifdef NO_FORK ++ pid = -1; ++#else + pid = fork(); ++#endif + /* If in the child */ + if(!pid) { + /* Get the interface name */ diff --git a/package/irda-utils/0003-subdir.patch b/package/irda-utils/0003-subdir.patch new file mode 100644 index 0000000000..e9b5458a0b --- /dev/null +++ b/package/irda-utils/0003-subdir.patch @@ -0,0 +1,23 @@ +written by Mike Frysinger + +https://sourceforge.net/tracker/?func=detail&aid=3132051&group_id=5616&atid=305616 + +The top level makefile ignores build/install errors in subdirs which makes +packaging a pain to verify. + +--- a/Makefile ++++ b/Makefile +@@ -31,11 +31,11 @@ + CFLAGS= -O2 -W -Wall + + all: +- @-(set -e ; for d in $(DIRS) ; do $(MAKE) $(MAKE_OUTPUT) -C $$d $@ ; done) ++ @(set -e ; for d in $(DIRS) ; do $(MAKE) $(MAKE_OUTPUT) -C $$d $@ ; done) + + + install: +- @-(set -e ; for d in $(DIRS) ; do $(MAKE) $(MAKE_OUTPUT) -C $$d $@ ; done) ++ @(set -e ; for d in $(DIRS) ; do $(MAKE) $(MAKE_OUTPUT) -C $$d $@ ; done) + + + clean: diff --git a/package/irda-utils/irda-utils-0.9.18-daemon.patch b/package/irda-utils/irda-utils-0.9.18-daemon.patch deleted file mode 100644 index f6034a75b4..0000000000 --- a/package/irda-utils/irda-utils-0.9.18-daemon.patch +++ /dev/null @@ -1,34 +0,0 @@ -written by Mike Frysinger - -https://sourceforge.net/tracker/?func=detail&aid=3132053&group_id=5616&atid=305616 - -Rather than using the fork function (which doesnt work on nommu -systems), simply use the daemon() function instead (which does -work). this should work the same before and after for all systems. - ---- a/irattach/util.c -+++ b/irattach/util.c -@@ -156,21 +156,10 @@ - - void fork_now(int ttyfd) - { -- int ret; - int i; - -- if ((ret = fork()) > 0) -- exit(0); -- -- if (ret == -1) -- syslog(LOG_INFO, "forking: %m"); -- if (setsid() < 0) -- syslog(LOG_INFO, "detaching from tty: %m"); -- -- if ((ret = fork()) > 0) { -- /* cleanup_files = 0; */ -- exit(0); -- } -+ if (daemon(1, 1)) -+ syslog(LOG_INFO, "daemon: %m"); - - /* Close all open inherited files! Except for ttyfd! */ - for (i = 0; i < 64; i++) diff --git a/package/irda-utils/irda-utils-0.9.18-nommu.patch b/package/irda-utils/irda-utils-0.9.18-nommu.patch deleted file mode 100644 index bc76bd3957..0000000000 --- a/package/irda-utils/irda-utils-0.9.18-nommu.patch +++ /dev/null @@ -1,24 +0,0 @@ -written by Mike Frysinger - -https://sourceforge.net/tracker/?func=detail&aid=3132056&group_id=5616&atid=305616 - -nommu systems cannot fork() as the hardware cannot support -it. irattach uses it as a minor optimization, but it isnt -necessary for correct functioning of the utility. so add a -NO_FORK define so we nommu peeps can do CFLAGS="... -DNO_FORK=1 -..." and use it in our embedded systems. - ---- a/irattach/irattach.c -+++ b/irattach/irattach.c -@@ -397,7 +397,11 @@ - after_names[i]); - /* Create a new instance for this other - * interface */ -+#ifdef NO_FORK -+ pid = -1; -+#else - pid = fork(); -+#endif - /* If in the child */ - if(!pid) { - /* Get the interface name */ diff --git a/package/irda-utils/irda-utils-0.9.18-subdir.patch b/package/irda-utils/irda-utils-0.9.18-subdir.patch deleted file mode 100644 index e9b5458a0b..0000000000 --- a/package/irda-utils/irda-utils-0.9.18-subdir.patch +++ /dev/null @@ -1,23 +0,0 @@ -written by Mike Frysinger - -https://sourceforge.net/tracker/?func=detail&aid=3132051&group_id=5616&atid=305616 - -The top level makefile ignores build/install errors in subdirs which makes -packaging a pain to verify. - ---- a/Makefile -+++ b/Makefile -@@ -31,11 +31,11 @@ - CFLAGS= -O2 -W -Wall - - all: -- @-(set -e ; for d in $(DIRS) ; do $(MAKE) $(MAKE_OUTPUT) -C $$d $@ ; done) -+ @(set -e ; for d in $(DIRS) ; do $(MAKE) $(MAKE_OUTPUT) -C $$d $@ ; done) - - - install: -- @-(set -e ; for d in $(DIRS) ; do $(MAKE) $(MAKE_OUTPUT) -C $$d $@ ; done) -+ @(set -e ; for d in $(DIRS) ; do $(MAKE) $(MAKE_OUTPUT) -C $$d $@ ; done) - - - clean: diff --git a/package/jhead/0001-use-ldflags.patch b/package/jhead/0001-use-ldflags.patch new file mode 100644 index 0000000000..a1d8185a26 --- /dev/null +++ b/package/jhead/0001-use-ldflags.patch @@ -0,0 +1,16 @@ +Make jhead use LDFLAGS for the final link. + +Signed-off-by: Gustavo Zacarias + +diff -Nura jhead-2.97.orig/makefile jhead-2.97/makefile +--- jhead-2.97.orig/makefile 2013-03-27 09:22:38.759966389 -0300 ++++ jhead-2.97/makefile 2013-03-27 09:25:06.290691745 -0300 +@@ -14,7 +14,7 @@ + ${CC} $(CFLAGS) -c $< -o $@ + + jhead: $(objs) jhead.h +- ${CC} -o jhead $(objs) -lm ++ ${CC} $(LDFLAGS) -o jhead $(objs) -lm + + clean: + rm -f $(objs) jhead diff --git a/package/jhead/jhead-use-ldflags.patch b/package/jhead/jhead-use-ldflags.patch deleted file mode 100644 index a1d8185a26..0000000000 --- a/package/jhead/jhead-use-ldflags.patch +++ /dev/null @@ -1,16 +0,0 @@ -Make jhead use LDFLAGS for the final link. - -Signed-off-by: Gustavo Zacarias - -diff -Nura jhead-2.97.orig/makefile jhead-2.97/makefile ---- jhead-2.97.orig/makefile 2013-03-27 09:22:38.759966389 -0300 -+++ jhead-2.97/makefile 2013-03-27 09:25:06.290691745 -0300 -@@ -14,7 +14,7 @@ - ${CC} $(CFLAGS) -c $< -o $@ - - jhead: $(objs) jhead.h -- ${CC} -o jhead $(objs) -lm -+ ${CC} $(LDFLAGS) -o jhead $(objs) -lm - - clean: - rm -f $(objs) jhead diff --git a/package/joe/0001-disable-bessel-functions-on-uclibc.patch b/package/joe/0001-disable-bessel-functions-on-uclibc.patch new file mode 100644 index 0000000000..9f7b72c170 --- /dev/null +++ b/package/joe/0001-disable-bessel-functions-on-uclibc.patch @@ -0,0 +1,50 @@ +[PATCH] uClibc can be (and by default is) configured without bessel functions + +Signed-off-by: Peter Korsgaard +--- + umath.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +Index: joe-3.7/umath.c +=================================================================== +--- joe-3.7.orig/umath.c ++++ joe-3.7/umath.c +@@ -7,6 +7,12 @@ + */ + #include "types.h" + ++/* uClibc can be configured without bessel functions */ ++#include ++#if defined (__UCLIBC__) && !defined(__DO_XSI_MATH__) ++#define NO_BESSEL ++#endif ++ + unsigned char *merr; + + int mode_hex; +@@ -396,10 +402,12 @@ + double m_fabs(double n) { return fabs(n); } + double m_erf(double n) { return erf(n); } + double m_erfc(double n) { return erfc(n); } ++#ifndef NO_BESSEL + double m_j0(double n) { return j0(n); } + double m_j1(double n) { return j1(n); } + double m_y0(double n) { return y0(n); } + double m_y1(double n) { return y1(n); } ++#endif + + double calc(BW *bw, unsigned char *s) + { +@@ -434,10 +442,12 @@ + v = get(USTR "abs"); v->func = m_fabs; + v = get(USTR "erf"); v->func = m_erf; + v = get(USTR "erfc"); v->func = m_erfc; ++#ifndef NO_BESSEL + v = get(USTR "j0"); v->func = m_j0; + v = get(USTR "j1"); v->func = m_j1; + v = get(USTR "y0"); v->func = m_y0; + v = get(USTR "y1"); v->func = m_y1; ++#endif + } + + v = get(USTR "top"); diff --git a/package/joe/joe-0001-disable-bessel-functions-on-uclibc.patch b/package/joe/joe-0001-disable-bessel-functions-on-uclibc.patch deleted file mode 100644 index 9f7b72c170..0000000000 --- a/package/joe/joe-0001-disable-bessel-functions-on-uclibc.patch +++ /dev/null @@ -1,50 +0,0 @@ -[PATCH] uClibc can be (and by default is) configured without bessel functions - -Signed-off-by: Peter Korsgaard ---- - umath.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -Index: joe-3.7/umath.c -=================================================================== ---- joe-3.7.orig/umath.c -+++ joe-3.7/umath.c -@@ -7,6 +7,12 @@ - */ - #include "types.h" - -+/* uClibc can be configured without bessel functions */ -+#include -+#if defined (__UCLIBC__) && !defined(__DO_XSI_MATH__) -+#define NO_BESSEL -+#endif -+ - unsigned char *merr; - - int mode_hex; -@@ -396,10 +402,12 @@ - double m_fabs(double n) { return fabs(n); } - double m_erf(double n) { return erf(n); } - double m_erfc(double n) { return erfc(n); } -+#ifndef NO_BESSEL - double m_j0(double n) { return j0(n); } - double m_j1(double n) { return j1(n); } - double m_y0(double n) { return y0(n); } - double m_y1(double n) { return y1(n); } -+#endif - - double calc(BW *bw, unsigned char *s) - { -@@ -434,10 +442,12 @@ - v = get(USTR "abs"); v->func = m_fabs; - v = get(USTR "erf"); v->func = m_erf; - v = get(USTR "erfc"); v->func = m_erfc; -+#ifndef NO_BESSEL - v = get(USTR "j0"); v->func = m_j0; - v = get(USTR "j1"); v->func = m_j1; - v = get(USTR "y0"); v->func = m_y0; - v = get(USTR "y1"); v->func = m_y1; -+#endif - } - - v = get(USTR "top"); diff --git a/package/jq/0001-libm.h-comment-j0-j1-y0-and-y1.patch b/package/jq/0001-libm.h-comment-j0-j1-y0-and-y1.patch new file mode 100644 index 0000000000..dfc2f4cd1a --- /dev/null +++ b/package/jq/0001-libm.h-comment-j0-j1-y0-and-y1.patch @@ -0,0 +1,49 @@ +From e87163425a67938afde96f01b19587ac3348b369 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 7 Sep 2014 10:49:57 +0200 +Subject: [PATCH] libm.h: comment j0, j1, y0 and y1 + +Those functions are currently not used by jq, but having them in +libm.h prevents building with the uClibc C library when it doesn't +have DO_XSI_MATH option enabled. + +This issue was spotted by the Buildroot autobuilder system: + + http://autobuild.buildroot.org/results/aaf/aaf3c114e0ca3e265ae32c646ba67f01aaf608bd/build-end.log + +Submitted upstream at https://github.com/stedolan/jq/pull/570. + +Signed-off-by: Thomas Petazzoni +--- + libm.h | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/libm.h b/libm.h +index f8c52be..8e82fb7 100644 +--- a/libm.h ++++ b/libm.h +@@ -10,8 +10,8 @@ LIBM_DD(cosh) + LIBM_DD(exp2) + LIBM_DD(exp) + LIBM_DD(floor) +-LIBM_DD(j0) +-LIBM_DD(j1) ++/* LIBM_DD(j0) */ ++/* LIBM_DD(j1) */ + LIBM_DD(log10) + LIBM_DD(log2) + LIBM_DD(log) +@@ -21,8 +21,8 @@ LIBM_DD(sqrt) + LIBM_DD(tan) + LIBM_DD(tanh) + LIBM_DD(tgamma) +-LIBM_DD(y0) +-LIBM_DD(y1) ++/* LIBM_DD(y0) */ ++/* LIBM_DD(y1) */ + /* LIBM_DID(jn) */ + /* LIBM_DID(yn) */ + /* LIBM_DDD(pow) */ +-- +2.0.0 + diff --git a/package/jq/jq-0001-libm.h-comment-j0-j1-y0-and-y1.patch b/package/jq/jq-0001-libm.h-comment-j0-j1-y0-and-y1.patch deleted file mode 100644 index dfc2f4cd1a..0000000000 --- a/package/jq/jq-0001-libm.h-comment-j0-j1-y0-and-y1.patch +++ /dev/null @@ -1,49 +0,0 @@ -From e87163425a67938afde96f01b19587ac3348b369 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 7 Sep 2014 10:49:57 +0200 -Subject: [PATCH] libm.h: comment j0, j1, y0 and y1 - -Those functions are currently not used by jq, but having them in -libm.h prevents building with the uClibc C library when it doesn't -have DO_XSI_MATH option enabled. - -This issue was spotted by the Buildroot autobuilder system: - - http://autobuild.buildroot.org/results/aaf/aaf3c114e0ca3e265ae32c646ba67f01aaf608bd/build-end.log - -Submitted upstream at https://github.com/stedolan/jq/pull/570. - -Signed-off-by: Thomas Petazzoni ---- - libm.h | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/libm.h b/libm.h -index f8c52be..8e82fb7 100644 ---- a/libm.h -+++ b/libm.h -@@ -10,8 +10,8 @@ LIBM_DD(cosh) - LIBM_DD(exp2) - LIBM_DD(exp) - LIBM_DD(floor) --LIBM_DD(j0) --LIBM_DD(j1) -+/* LIBM_DD(j0) */ -+/* LIBM_DD(j1) */ - LIBM_DD(log10) - LIBM_DD(log2) - LIBM_DD(log) -@@ -21,8 +21,8 @@ LIBM_DD(sqrt) - LIBM_DD(tan) - LIBM_DD(tanh) - LIBM_DD(tgamma) --LIBM_DD(y0) --LIBM_DD(y1) -+/* LIBM_DD(y0) */ -+/* LIBM_DD(y1) */ - /* LIBM_DID(jn) */ - /* LIBM_DID(yn) */ - /* LIBM_DDD(pow) */ --- -2.0.0 - diff --git a/package/json-c/0001-no-reentrant.patch b/package/json-c/0001-no-reentrant.patch new file mode 100644 index 0000000000..b8ae6bb249 --- /dev/null +++ b/package/json-c/0001-no-reentrant.patch @@ -0,0 +1,44 @@ +Do not pass -D_REENTRANT + +This flag is not needed to build this library, and prevents to build +it with toolchains that don't have thread support. + +Since the Makefile.in change is a one-liner, we also do it in the +patch to avoid having to autoreconfigure the package. + +Signed-off-by: Thomas Petazzoni + +Index: b/Makefile.am.inc +=================================================================== +--- a/Makefile.am.inc ++++ b/Makefile.am.inc +@@ -1,2 +1,2 @@ +-AM_CFLAGS = -Wall -Werror -Wextra -Wwrite-strings -Wno-unused-parameter -std=gnu99 -D_GNU_SOURCE -D_REENTRANT ++AM_CFLAGS = -Wall -Werror -Wextra -Wwrite-strings -Wno-unused-parameter -std=gnu99 -D_GNU_SOURCE + +Index: b/Makefile.in +=================================================================== +--- a/Makefile.in ++++ b/Makefile.in +@@ -274,7 +274,7 @@ + top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ +-AM_CFLAGS = -Wall -Werror -Wextra -Wwrite-strings -Wno-unused-parameter -std=gnu99 -D_GNU_SOURCE -D_REENTRANT ++AM_CFLAGS = -Wall -Werror -Wextra -Wwrite-strings -Wno-unused-parameter -std=gnu99 -D_GNU_SOURCE + EXTRA_DIST = README.html README-WIN32.html config.h.win32 doc json-c.vcproj + SUBDIRS = . tests + lib_LTLIBRARIES = libjson-c.la $(am__append_1) +Index: b/tests/Makefile.in +=================================================================== +--- a/tests/Makefile.in ++++ b/tests/Makefile.in +@@ -228,7 +228,7 @@ + top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ +-AM_CFLAGS = -Wall -Werror -Wextra -Wwrite-strings -Wno-unused-parameter -std=gnu99 -D_GNU_SOURCE -D_REENTRANT ++AM_CFLAGS = -Wall -Werror -Wextra -Wwrite-strings -Wno-unused-parameter -std=gnu99 -D_GNU_SOURCE + LIBJSON_LA = $(top_builddir)/libjson-c.la + test1_LDADD = $(LIBJSON_LA) + test1Formatted_LDADD = $(LIBJSON_LA) diff --git a/package/json-c/json-c-no-reentrant.patch b/package/json-c/json-c-no-reentrant.patch deleted file mode 100644 index b8ae6bb249..0000000000 --- a/package/json-c/json-c-no-reentrant.patch +++ /dev/null @@ -1,44 +0,0 @@ -Do not pass -D_REENTRANT - -This flag is not needed to build this library, and prevents to build -it with toolchains that don't have thread support. - -Since the Makefile.in change is a one-liner, we also do it in the -patch to avoid having to autoreconfigure the package. - -Signed-off-by: Thomas Petazzoni - -Index: b/Makefile.am.inc -=================================================================== ---- a/Makefile.am.inc -+++ b/Makefile.am.inc -@@ -1,2 +1,2 @@ --AM_CFLAGS = -Wall -Werror -Wextra -Wwrite-strings -Wno-unused-parameter -std=gnu99 -D_GNU_SOURCE -D_REENTRANT -+AM_CFLAGS = -Wall -Werror -Wextra -Wwrite-strings -Wno-unused-parameter -std=gnu99 -D_GNU_SOURCE - -Index: b/Makefile.in -=================================================================== ---- a/Makefile.in -+++ b/Makefile.in -@@ -274,7 +274,7 @@ - top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ --AM_CFLAGS = -Wall -Werror -Wextra -Wwrite-strings -Wno-unused-parameter -std=gnu99 -D_GNU_SOURCE -D_REENTRANT -+AM_CFLAGS = -Wall -Werror -Wextra -Wwrite-strings -Wno-unused-parameter -std=gnu99 -D_GNU_SOURCE - EXTRA_DIST = README.html README-WIN32.html config.h.win32 doc json-c.vcproj - SUBDIRS = . tests - lib_LTLIBRARIES = libjson-c.la $(am__append_1) -Index: b/tests/Makefile.in -=================================================================== ---- a/tests/Makefile.in -+++ b/tests/Makefile.in -@@ -228,7 +228,7 @@ - top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ --AM_CFLAGS = -Wall -Werror -Wextra -Wwrite-strings -Wno-unused-parameter -std=gnu99 -D_GNU_SOURCE -D_REENTRANT -+AM_CFLAGS = -Wall -Werror -Wextra -Wwrite-strings -Wno-unused-parameter -std=gnu99 -D_GNU_SOURCE - LIBJSON_LA = $(top_builddir)/libjson-c.la - test1_LDADD = $(LIBJSON_LA) - test1Formatted_LDADD = $(LIBJSON_LA) diff --git a/package/kbd/0001-link-against-libintl.patch b/package/kbd/0001-link-against-libintl.patch new file mode 100644 index 0000000000..39fd461cc4 --- /dev/null +++ b/package/kbd/0001-link-against-libintl.patch @@ -0,0 +1,34 @@ +Make sure we link against libintl if needed + +We modify directly the Makefile.in so that we don't have to +autoreconfigure the package, which doesn't work because packages using +gettext need the autopoint tool for their autoregeneration step and +this thing doesn't work (yet) in Buildroot. + +Signed-off-by: Thomas Petazzoni + +Index: kbd-1.15.2/src/Makefile.am +=================================================================== +--- kbd-1.15.2.orig/src/Makefile.am 2011-05-22 16:08:51.144530776 +0200 ++++ kbd-1.15.2/src/Makefile.am 2011-05-22 16:09:09.892530778 +0200 +@@ -5,6 +5,8 @@ + AM_CPPFLAGS = -DDATADIR=\"$(datadir)\" -DLOCALEDIR=\"$(localedir)\" $(WARNINGS) \ + -funit-at-a-time + ++LDADD = @INTLLIBS@ ++ + OLDPROGS = mapscrn loadunimap + PROGS = \ + dumpkeys loadkeys showkey setfont showconsolefont \ +Index: kbd-1.15.2/src/Makefile.in +=================================================================== +--- kbd-1.15.2.orig/src/Makefile.in 2011-05-22 16:10:27.540530777 +0200 ++++ kbd-1.15.2/src/Makefile.in 2011-05-22 16:10:51.172530778 +0200 +@@ -26,6 +26,7 @@ + install_sh_PROGRAM = $(install_sh) -c + install_sh_SCRIPT = $(install_sh) -c + INSTALL_HEADER = $(INSTALL_DATA) ++LDADD = @INTLLIBS@ + transform = $(program_transform_name) + NORMAL_INSTALL = : + PRE_INSTALL = : diff --git a/package/kbd/kbd-link-against-libintl.patch b/package/kbd/kbd-link-against-libintl.patch deleted file mode 100644 index 39fd461cc4..0000000000 --- a/package/kbd/kbd-link-against-libintl.patch +++ /dev/null @@ -1,34 +0,0 @@ -Make sure we link against libintl if needed - -We modify directly the Makefile.in so that we don't have to -autoreconfigure the package, which doesn't work because packages using -gettext need the autopoint tool for their autoregeneration step and -this thing doesn't work (yet) in Buildroot. - -Signed-off-by: Thomas Petazzoni - -Index: kbd-1.15.2/src/Makefile.am -=================================================================== ---- kbd-1.15.2.orig/src/Makefile.am 2011-05-22 16:08:51.144530776 +0200 -+++ kbd-1.15.2/src/Makefile.am 2011-05-22 16:09:09.892530778 +0200 -@@ -5,6 +5,8 @@ - AM_CPPFLAGS = -DDATADIR=\"$(datadir)\" -DLOCALEDIR=\"$(localedir)\" $(WARNINGS) \ - -funit-at-a-time - -+LDADD = @INTLLIBS@ -+ - OLDPROGS = mapscrn loadunimap - PROGS = \ - dumpkeys loadkeys showkey setfont showconsolefont \ -Index: kbd-1.15.2/src/Makefile.in -=================================================================== ---- kbd-1.15.2.orig/src/Makefile.in 2011-05-22 16:10:27.540530777 +0200 -+++ kbd-1.15.2/src/Makefile.in 2011-05-22 16:10:51.172530778 +0200 -@@ -26,6 +26,7 @@ - install_sh_PROGRAM = $(install_sh) -c - install_sh_SCRIPT = $(install_sh) -c - INSTALL_HEADER = $(INSTALL_DATA) -+LDADD = @INTLLIBS@ - transform = $(program_transform_name) - NORMAL_INSTALL = : - PRE_INSTALL = : diff --git a/package/kexec-lite/0001-clean-restart.patch b/package/kexec-lite/0001-clean-restart.patch new file mode 100644 index 0000000000..faaa93a046 --- /dev/null +++ b/package/kexec-lite/0001-clean-restart.patch @@ -0,0 +1,34 @@ +From 0a654c20e1b9324c57ba4116b52fb6ab33847e1d Mon Sep 17 00:00:00 2001 +From: Jeremy Kerr +Date: Thu, 8 Aug 2013 17:16:31 +0800 +Subject: [PATCH] kexec: Implement clean restart for busybox init + +Signed-off-by: Jeremy Kerr +--- + kexec.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/kexec.c b/kexec.c +index 2edb7df..b2a0c42 100644 +--- a/kexec.c ++++ b/kexec.c +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -818,7 +819,7 @@ int main(int argc, char *argv[]) + sync(); + exec_kexec(); + } else { +- execlp("shutdown", "shutdown", "-r", "now", NULL); ++ kill(1, SIGQUIT); + } + + return -1; +-- +1.7.10.4 + diff --git a/package/kexec-lite/kexec-lite-01-clean-restart.patch b/package/kexec-lite/kexec-lite-01-clean-restart.patch deleted file mode 100644 index faaa93a046..0000000000 --- a/package/kexec-lite/kexec-lite-01-clean-restart.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 0a654c20e1b9324c57ba4116b52fb6ab33847e1d Mon Sep 17 00:00:00 2001 -From: Jeremy Kerr -Date: Thu, 8 Aug 2013 17:16:31 +0800 -Subject: [PATCH] kexec: Implement clean restart for busybox init - -Signed-off-by: Jeremy Kerr ---- - kexec.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/kexec.c b/kexec.c -index 2edb7df..b2a0c42 100644 ---- a/kexec.c -+++ b/kexec.c -@@ -27,6 +27,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -818,7 +819,7 @@ int main(int argc, char *argv[]) - sync(); - exec_kexec(); - } else { -- execlp("shutdown", "shutdown", "-r", "now", NULL); -+ kill(1, SIGQUIT); - } - - return -1; --- -1.7.10.4 - diff --git a/package/kexec/0001-largefile.patch b/package/kexec/0001-largefile.patch new file mode 100644 index 0000000000..74dd8e2cdc --- /dev/null +++ b/package/kexec/0001-largefile.patch @@ -0,0 +1,22 @@ +[PATCH] vmcore-dmesg: don't enforce largefile handling + +Breaks build on !largefile toolchains. + +Instead simply use whatever mode is selected by toolchain / CFLAGS. + +Signed-off-by: Peter Korsgaard +--- + vmcore-dmesg/vmcore-dmesg.c | 2 -- + 1 file changed, 2 deletions(-) + +Index: kexec-tools-2.0.3/vmcore-dmesg/vmcore-dmesg.c +=================================================================== +--- kexec-tools-2.0.3.orig/vmcore-dmesg/vmcore-dmesg.c ++++ kexec-tools-2.0.3/vmcore-dmesg/vmcore-dmesg.c +@@ -1,6 +1,4 @@ + #define _XOPEN_SOURCE 600 +-#define _LARGEFILE_SOURCE 1 +-#define _FILE_OFFSET_BITS 64 + #include + #include + #include diff --git a/package/kexec/kexec-0001-largefile.patch b/package/kexec/kexec-0001-largefile.patch deleted file mode 100644 index 74dd8e2cdc..0000000000 --- a/package/kexec/kexec-0001-largefile.patch +++ /dev/null @@ -1,22 +0,0 @@ -[PATCH] vmcore-dmesg: don't enforce largefile handling - -Breaks build on !largefile toolchains. - -Instead simply use whatever mode is selected by toolchain / CFLAGS. - -Signed-off-by: Peter Korsgaard ---- - vmcore-dmesg/vmcore-dmesg.c | 2 -- - 1 file changed, 2 deletions(-) - -Index: kexec-tools-2.0.3/vmcore-dmesg/vmcore-dmesg.c -=================================================================== ---- kexec-tools-2.0.3.orig/vmcore-dmesg/vmcore-dmesg.c -+++ kexec-tools-2.0.3/vmcore-dmesg/vmcore-dmesg.c -@@ -1,6 +1,4 @@ - #define _XOPEN_SOURCE 600 --#define _LARGEFILE_SOURCE 1 --#define _FILE_OFFSET_BITS 64 - #include - #include - #include diff --git a/package/keyutils/0001-allow-building-of-the-shared-library-to-be-suppressed.patch b/package/keyutils/0001-allow-building-of-the-shared-library-to-be-suppressed.patch new file mode 100644 index 0000000000..88d32b0cf0 --- /dev/null +++ b/package/keyutils/0001-allow-building-of-the-shared-library-to-be-suppressed.patch @@ -0,0 +1,104 @@ +keyutils: Allow building of the shared library to be suppressed + +Upstream patch: + https://kernel.googlesource.com/pub/scm/linux/kernel/git/dhowells/keyutils/+/a4deb71ddc05e951c8be8d46615beed9d408a5c8 + +Signed-off-by: Vicente Olivert Riera + +LIB: Allow building of the shared library to be suppressed + +Allow building of the shared library to be suppressed by passing NO_SOLIB=1 to +the Makefile. + +Reported-and-tested-by: Vicente Olivert Riera +Signed-off-by: David Howells +diff --git a/Makefile b/Makefile +index c904eaf..5dd2113 100644 +--- a/Makefile ++++ b/Makefile +@@ -5,6 +5,7 @@ + SPECFILE := keyutils.spec + NO_GLIBC_KEYERR := 0 + NO_ARLIB := 0 ++NO_SOLIB := 0 + ETCDIR := /etc + BINDIR := /bin + SBINDIR := /sbin +@@ -95,7 +96,7 @@ + # Normal build rule + # + ############################################################################### +-all: $(DEVELLIB) keyctl request-key key.dns_resolver ++all: keyctl request-key key.dns_resolver + + ############################################################################### + # +@@ -104,20 +105,23 @@ + ############################################################################### + #RPATH = -Wl,-rpath,$(LIBDIR) + +-ifeq ($(NO_ARLIB),0) +-all: $(ARLIB) +-$(ARLIB): keyutils.o +- $(AR) rcs $@ $< +-endif +- + VCPPFLAGS := -DPKGBUILD="\"$(shell date -u +%F)\"" + VCPPFLAGS += -DPKGVERSION="\"keyutils-$(VERSION)\"" + VCPPFLAGS += -DAPIVERSION="\"libkeyutils-$(APIVERSION)\"" + ++ifeq ($(NO_ARLIB),0) ++all: $(ARLIB) ++$(ARLIB): keyutils.o ++ $(AR) rcs $@ $< ++ + keyutils.o: keyutils.c keyutils.h Makefile + $(CC) $(CPPFLAGS) $(VCPPFLAGS) $(CFLAGS) -UNO_GLIBC_KEYERR -o $@ -c $< ++LIB_DEPENDENCY := libkeyutils.a ++endif + + ++ifeq ($(NO_SOLIB),0) ++all: $(DEVELLIB) + $(DEVELLIB): $(SONAME) + ln -sf $< $@ + +@@ -131,6 +135,8 @@ + + keyutils.os: keyutils.c keyutils.h Makefile + $(CC) $(CPPFLAGS) $(VCPPFLAGS) $(CFLAGS) -fPIC -o $@ -c $< ++LIB_DEPENDENCY := $(DEVELLIB) ++endif + + ############################################################################### + # +@@ -140,13 +146,13 @@ + %.o: %.c keyutils.h Makefile + $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -c $< + +-keyctl: keyctl.o $(DEVELLIB) ++keyctl: keyctl.o $(LIB_DEPENDENCY) + $(CC) -L. $(CFLAGS) $(LDFLAGS) $(RPATH) -o $@ $< -lkeyutils + +-request-key: request-key.o $(DEVELLIB) ++request-key: request-key.o $(LIB_DEPENDENCY) + $(CC) -L. $(CFLAGS) $(LDFLAGS) $(RPATH) -o $@ $< -lkeyutils + +-key.dns_resolver: key.dns_resolver.o $(DEVELLIB) ++key.dns_resolver: key.dns_resolver.o $(LIB_DEPENDENCY) + $(CC) -L. $(CFLAGS) $(LDFLAGS) $(RPATH) -o $@ $< -lkeyutils -lresolv + + ############################################################################### +@@ -158,10 +164,12 @@ + ifeq ($(NO_ARLIB),0) + $(INSTALL) -D -m 0644 $(ARLIB) $(DESTDIR)$(USRLIBDIR)/$(ARLIB) + endif ++ifeq ($(NO_SOLIB),0) + $(INSTALL) -D $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME) + $(LNS) $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME) + mkdir -p $(DESTDIR)$(USRLIBDIR) + $(LNS) $(LIBDIR)/$(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB) ++endif + $(INSTALL) -D keyctl $(DESTDIR)$(BINDIR)/keyctl + $(INSTALL) -D request-key $(DESTDIR)$(SBINDIR)/request-key + $(INSTALL) -D request-key-debug.sh $(DESTDIR)$(SHAREDIR)/request-key-debug.sh diff --git a/package/keyutils/0002-fix-install-rule.patch b/package/keyutils/0002-fix-install-rule.patch new file mode 100644 index 0000000000..3670d28e66 --- /dev/null +++ b/package/keyutils/0002-fix-install-rule.patch @@ -0,0 +1,20 @@ +Makefile: fix install rule + +Do not link the .so with an absolute path, otherwise it may point to +the host library. + +Based on the former patch by Yann E. MORIN. + +Signed-off-by: Vicente Olivert Riera + +--- keyutils-1.5.9/Makefile.orig 2014-09-22 16:13:41.593562765 +0100 ++++ keyutils-1.5.9/Makefile 2014-09-22 16:14:05.377963952 +0100 +@@ -168,7 +168,7 @@ ifeq ($(NO_SOLIB),0) + $(INSTALL) -D $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME) + $(LNS) $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME) + mkdir -p $(DESTDIR)$(USRLIBDIR) +- $(LNS) $(LIBDIR)/$(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB) ++ $(LNS) $(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB) + endif + $(INSTALL) -D keyctl $(DESTDIR)$(BINDIR)/keyctl + $(INSTALL) -D request-key $(DESTDIR)$(SBINDIR)/request-key diff --git a/package/keyutils/0003-cifs.patch b/package/keyutils/0003-cifs.patch new file mode 100644 index 0000000000..b2903f971f --- /dev/null +++ b/package/keyutils/0003-cifs.patch @@ -0,0 +1,15 @@ +Patch vampirised from Debian's packaging of keyutils-1.4 + +Author: Marcus Meissner +Description: Added 2 cifs helpers to request-key.conf (for CIFS DFS support) + +diff -Naurp keyutils.orig/request-key.conf keyutils/request-key.conf +--- keyutils.orig/request-key.conf 2008-09-07 23:53:10.000000000 +0000 ++++ keyutils/request-key.conf 2009-02-05 00:53:00.000000000 +0000 +@@ -34,4 +34,6 @@ + create user debug:* negate /bin/keyctl negate %k 30 %S + create user debug:loop:* * |/bin/cat + create user debug:* * /usr/share/keyutils/request-key-debug.sh %k %d %c %S ++create cifs.spnego * * /usr/sbin/cifs.upcall -c %k ++create dns_resolver * * /usr/sbin/cifs.upcall %k + negate * * * /bin/keyctl negate %k 30 %S diff --git a/package/keyutils/0004-Makefile-for-buildroot.patch b/package/keyutils/0004-Makefile-for-buildroot.patch new file mode 100644 index 0000000000..1e19f77dcb --- /dev/null +++ b/package/keyutils/0004-Makefile-for-buildroot.patch @@ -0,0 +1,19 @@ +Makefile: Don't call "ln" directly + +Signed-off-by: Vicente Olivert Riera + +--- keyutils-1.5.9/Makefile.orig 2014-09-22 16:05:14.117007430 +0100 ++++ keyutils-1.5.9/Makefile 2014-09-22 16:06:26.053219336 +0100 +@@ -123,10 +123,10 @@ endif + ifeq ($(NO_SOLIB),0) + all: $(DEVELLIB) + $(DEVELLIB): $(SONAME) +- ln -sf $< $@ ++ $(LNS) $< $@ + + $(SONAME): $(LIBNAME) +- ln -sf $< $@ ++ $(LNS) $< $@ + + LIBVERS := -shared -Wl,-soname,$(SONAME) -Wl,--version-script,version.lds + diff --git a/package/keyutils/keyutils-01-allow-building-of-the-shared-library-to-be-suppressed.patch b/package/keyutils/keyutils-01-allow-building-of-the-shared-library-to-be-suppressed.patch deleted file mode 100644 index 88d32b0cf0..0000000000 --- a/package/keyutils/keyutils-01-allow-building-of-the-shared-library-to-be-suppressed.patch +++ /dev/null @@ -1,104 +0,0 @@ -keyutils: Allow building of the shared library to be suppressed - -Upstream patch: - https://kernel.googlesource.com/pub/scm/linux/kernel/git/dhowells/keyutils/+/a4deb71ddc05e951c8be8d46615beed9d408a5c8 - -Signed-off-by: Vicente Olivert Riera - -LIB: Allow building of the shared library to be suppressed - -Allow building of the shared library to be suppressed by passing NO_SOLIB=1 to -the Makefile. - -Reported-and-tested-by: Vicente Olivert Riera -Signed-off-by: David Howells -diff --git a/Makefile b/Makefile -index c904eaf..5dd2113 100644 ---- a/Makefile -+++ b/Makefile -@@ -5,6 +5,7 @@ - SPECFILE := keyutils.spec - NO_GLIBC_KEYERR := 0 - NO_ARLIB := 0 -+NO_SOLIB := 0 - ETCDIR := /etc - BINDIR := /bin - SBINDIR := /sbin -@@ -95,7 +96,7 @@ - # Normal build rule - # - ############################################################################### --all: $(DEVELLIB) keyctl request-key key.dns_resolver -+all: keyctl request-key key.dns_resolver - - ############################################################################### - # -@@ -104,20 +105,23 @@ - ############################################################################### - #RPATH = -Wl,-rpath,$(LIBDIR) - --ifeq ($(NO_ARLIB),0) --all: $(ARLIB) --$(ARLIB): keyutils.o -- $(AR) rcs $@ $< --endif -- - VCPPFLAGS := -DPKGBUILD="\"$(shell date -u +%F)\"" - VCPPFLAGS += -DPKGVERSION="\"keyutils-$(VERSION)\"" - VCPPFLAGS += -DAPIVERSION="\"libkeyutils-$(APIVERSION)\"" - -+ifeq ($(NO_ARLIB),0) -+all: $(ARLIB) -+$(ARLIB): keyutils.o -+ $(AR) rcs $@ $< -+ - keyutils.o: keyutils.c keyutils.h Makefile - $(CC) $(CPPFLAGS) $(VCPPFLAGS) $(CFLAGS) -UNO_GLIBC_KEYERR -o $@ -c $< -+LIB_DEPENDENCY := libkeyutils.a -+endif - - -+ifeq ($(NO_SOLIB),0) -+all: $(DEVELLIB) - $(DEVELLIB): $(SONAME) - ln -sf $< $@ - -@@ -131,6 +135,8 @@ - - keyutils.os: keyutils.c keyutils.h Makefile - $(CC) $(CPPFLAGS) $(VCPPFLAGS) $(CFLAGS) -fPIC -o $@ -c $< -+LIB_DEPENDENCY := $(DEVELLIB) -+endif - - ############################################################################### - # -@@ -140,13 +146,13 @@ - %.o: %.c keyutils.h Makefile - $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -c $< - --keyctl: keyctl.o $(DEVELLIB) -+keyctl: keyctl.o $(LIB_DEPENDENCY) - $(CC) -L. $(CFLAGS) $(LDFLAGS) $(RPATH) -o $@ $< -lkeyutils - --request-key: request-key.o $(DEVELLIB) -+request-key: request-key.o $(LIB_DEPENDENCY) - $(CC) -L. $(CFLAGS) $(LDFLAGS) $(RPATH) -o $@ $< -lkeyutils - --key.dns_resolver: key.dns_resolver.o $(DEVELLIB) -+key.dns_resolver: key.dns_resolver.o $(LIB_DEPENDENCY) - $(CC) -L. $(CFLAGS) $(LDFLAGS) $(RPATH) -o $@ $< -lkeyutils -lresolv - - ############################################################################### -@@ -158,10 +164,12 @@ - ifeq ($(NO_ARLIB),0) - $(INSTALL) -D -m 0644 $(ARLIB) $(DESTDIR)$(USRLIBDIR)/$(ARLIB) - endif -+ifeq ($(NO_SOLIB),0) - $(INSTALL) -D $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME) - $(LNS) $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME) - mkdir -p $(DESTDIR)$(USRLIBDIR) - $(LNS) $(LIBDIR)/$(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB) -+endif - $(INSTALL) -D keyctl $(DESTDIR)$(BINDIR)/keyctl - $(INSTALL) -D request-key $(DESTDIR)$(SBINDIR)/request-key - $(INSTALL) -D request-key-debug.sh $(DESTDIR)$(SHAREDIR)/request-key-debug.sh diff --git a/package/keyutils/keyutils-02-fix-install-rule.patch b/package/keyutils/keyutils-02-fix-install-rule.patch deleted file mode 100644 index 3670d28e66..0000000000 --- a/package/keyutils/keyutils-02-fix-install-rule.patch +++ /dev/null @@ -1,20 +0,0 @@ -Makefile: fix install rule - -Do not link the .so with an absolute path, otherwise it may point to -the host library. - -Based on the former patch by Yann E. MORIN. - -Signed-off-by: Vicente Olivert Riera - ---- keyutils-1.5.9/Makefile.orig 2014-09-22 16:13:41.593562765 +0100 -+++ keyutils-1.5.9/Makefile 2014-09-22 16:14:05.377963952 +0100 -@@ -168,7 +168,7 @@ ifeq ($(NO_SOLIB),0) - $(INSTALL) -D $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME) - $(LNS) $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME) - mkdir -p $(DESTDIR)$(USRLIBDIR) -- $(LNS) $(LIBDIR)/$(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB) -+ $(LNS) $(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB) - endif - $(INSTALL) -D keyctl $(DESTDIR)$(BINDIR)/keyctl - $(INSTALL) -D request-key $(DESTDIR)$(SBINDIR)/request-key diff --git a/package/keyutils/keyutils-03-cifs.patch b/package/keyutils/keyutils-03-cifs.patch deleted file mode 100644 index b2903f971f..0000000000 --- a/package/keyutils/keyutils-03-cifs.patch +++ /dev/null @@ -1,15 +0,0 @@ -Patch vampirised from Debian's packaging of keyutils-1.4 - -Author: Marcus Meissner -Description: Added 2 cifs helpers to request-key.conf (for CIFS DFS support) - -diff -Naurp keyutils.orig/request-key.conf keyutils/request-key.conf ---- keyutils.orig/request-key.conf 2008-09-07 23:53:10.000000000 +0000 -+++ keyutils/request-key.conf 2009-02-05 00:53:00.000000000 +0000 -@@ -34,4 +34,6 @@ - create user debug:* negate /bin/keyctl negate %k 30 %S - create user debug:loop:* * |/bin/cat - create user debug:* * /usr/share/keyutils/request-key-debug.sh %k %d %c %S -+create cifs.spnego * * /usr/sbin/cifs.upcall -c %k -+create dns_resolver * * /usr/sbin/cifs.upcall %k - negate * * * /bin/keyctl negate %k 30 %S diff --git a/package/keyutils/keyutils-04-Makefile-for-buildroot.patch b/package/keyutils/keyutils-04-Makefile-for-buildroot.patch deleted file mode 100644 index 1e19f77dcb..0000000000 --- a/package/keyutils/keyutils-04-Makefile-for-buildroot.patch +++ /dev/null @@ -1,19 +0,0 @@ -Makefile: Don't call "ln" directly - -Signed-off-by: Vicente Olivert Riera - ---- keyutils-1.5.9/Makefile.orig 2014-09-22 16:05:14.117007430 +0100 -+++ keyutils-1.5.9/Makefile 2014-09-22 16:06:26.053219336 +0100 -@@ -123,10 +123,10 @@ endif - ifeq ($(NO_SOLIB),0) - all: $(DEVELLIB) - $(DEVELLIB): $(SONAME) -- ln -sf $< $@ -+ $(LNS) $< $@ - - $(SONAME): $(LIBNAME) -- ln -sf $< $@ -+ $(LNS) $< $@ - - LIBVERS := -shared -Wl,-soname,$(SONAME) -Wl,--version-script,version.lds - diff --git a/package/kobs-ng/0001-fix-mtd-defines.patch b/package/kobs-ng/0001-fix-mtd-defines.patch new file mode 100644 index 0000000000..3ffba7166d --- /dev/null +++ b/package/kobs-ng/0001-fix-mtd-defines.patch @@ -0,0 +1,73 @@ +Newer kernel headers renamed mtd mode defines and no longer support +MEMSETOOBSEL. Allow code to work with both older and newer kernel +versions. + +Signed-off-by: Paul B. Henson +Signed-off-by: Sergey Alyoshin + +diff -u -r kobs-ng-3.0.35-4.0.0-orig/src/mtd.c kobs-ng-3.0.35-4.0.0/src/mtd.c +--- kobs-ng-3.0.35-4.0.0-orig/src/mtd.c 2012-12-17 22:37:40.000000000 -0800 ++++ kobs-ng-3.0.35-4.0.0/src/mtd.c 2013-07-28 19:39:59.000000000 -0700 +@@ -852,8 +852,11 @@ + mp = &md->part[i]; + + if (mp->fd != -1) { ++/* Newer kernels dropped MEMSETOOBSEL */ ++#ifdef MEMSETOOBSEL + (void)ioctl(mp->fd, MEMSETOOBSEL, + &mp->old_oobinfo); ++#endif + close(mp->fd); + } + +@@ -896,6 +899,8 @@ + continue; + } + ++/* Newer kernels dropped MEMSETOOBSEL */ ++#ifdef MEMSETOOBSEL + if (r == -ENOTTY) { + r = ioctl(mp->fd, MEMSETOOBSEL, &mp->old_oobinfo); + if (r != 0) { +@@ -904,6 +909,7 @@ + } + mp->oobinfochanged = 0; + } ++#endif + } else { + r = ioctl(mp->fd, MTDFILEMODE, (void *)MTD_MODE_RAW); + if (r != 0 && r != -ENOTTY) { +@@ -911,6 +917,8 @@ + continue; + } + ++/* Newer kernels dropped MEMSETOOBSEL */ ++#ifdef MEMSETOOBSEL + if (r == -ENOTTY) { + r = ioctl(mp->fd, MEMSETOOBSEL, &none_oobinfo); + if (r != 0) { +@@ -920,6 +928,7 @@ + mp->oobinfochanged = 1; + } else + mp->oobinfochanged = 2; ++#endif + } + + mp->ecc = ecc; +diff -u -r kobs-ng-3.0.35-4.0.0-orig/src/mtd.h kobs-ng-3.0.35-4.0.0/src/mtd.h +--- kobs-ng-3.0.35-4.0.0-orig/src/mtd.h 2012-12-17 22:37:40.000000000 -0800 ++++ kobs-ng-3.0.35-4.0.0/src/mtd.h 2013-07-28 19:33:57.000000000 -0700 +@@ -31,6 +31,13 @@ + #include "BootControlBlocks.h" + #include "rom_nand_hamming_code_ecc.h" + ++// Newer kernel headers renamed define ++#include ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0) ++# define MTD_MODE_NORMAL MTD_FILE_MODE_NORMAL ++# define MTD_MODE_RAW MTD_FILE_MODE_RAW ++#endif ++ + //------------------------------------------------------------------------------ + // Re-definitions of true and false, because the standard ones aren't good + // enough? diff --git a/package/kobs-ng/kobs-ng-0001-fix-mtd-defines.patch b/package/kobs-ng/kobs-ng-0001-fix-mtd-defines.patch deleted file mode 100644 index 3ffba7166d..0000000000 --- a/package/kobs-ng/kobs-ng-0001-fix-mtd-defines.patch +++ /dev/null @@ -1,73 +0,0 @@ -Newer kernel headers renamed mtd mode defines and no longer support -MEMSETOOBSEL. Allow code to work with both older and newer kernel -versions. - -Signed-off-by: Paul B. Henson -Signed-off-by: Sergey Alyoshin - -diff -u -r kobs-ng-3.0.35-4.0.0-orig/src/mtd.c kobs-ng-3.0.35-4.0.0/src/mtd.c ---- kobs-ng-3.0.35-4.0.0-orig/src/mtd.c 2012-12-17 22:37:40.000000000 -0800 -+++ kobs-ng-3.0.35-4.0.0/src/mtd.c 2013-07-28 19:39:59.000000000 -0700 -@@ -852,8 +852,11 @@ - mp = &md->part[i]; - - if (mp->fd != -1) { -+/* Newer kernels dropped MEMSETOOBSEL */ -+#ifdef MEMSETOOBSEL - (void)ioctl(mp->fd, MEMSETOOBSEL, - &mp->old_oobinfo); -+#endif - close(mp->fd); - } - -@@ -896,6 +899,8 @@ - continue; - } - -+/* Newer kernels dropped MEMSETOOBSEL */ -+#ifdef MEMSETOOBSEL - if (r == -ENOTTY) { - r = ioctl(mp->fd, MEMSETOOBSEL, &mp->old_oobinfo); - if (r != 0) { -@@ -904,6 +909,7 @@ - } - mp->oobinfochanged = 0; - } -+#endif - } else { - r = ioctl(mp->fd, MTDFILEMODE, (void *)MTD_MODE_RAW); - if (r != 0 && r != -ENOTTY) { -@@ -911,6 +917,8 @@ - continue; - } - -+/* Newer kernels dropped MEMSETOOBSEL */ -+#ifdef MEMSETOOBSEL - if (r == -ENOTTY) { - r = ioctl(mp->fd, MEMSETOOBSEL, &none_oobinfo); - if (r != 0) { -@@ -920,6 +928,7 @@ - mp->oobinfochanged = 1; - } else - mp->oobinfochanged = 2; -+#endif - } - - mp->ecc = ecc; -diff -u -r kobs-ng-3.0.35-4.0.0-orig/src/mtd.h kobs-ng-3.0.35-4.0.0/src/mtd.h ---- kobs-ng-3.0.35-4.0.0-orig/src/mtd.h 2012-12-17 22:37:40.000000000 -0800 -+++ kobs-ng-3.0.35-4.0.0/src/mtd.h 2013-07-28 19:33:57.000000000 -0700 -@@ -31,6 +31,13 @@ - #include "BootControlBlocks.h" - #include "rom_nand_hamming_code_ecc.h" - -+// Newer kernel headers renamed define -+#include -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0) -+# define MTD_MODE_NORMAL MTD_FILE_MODE_NORMAL -+# define MTD_MODE_RAW MTD_FILE_MODE_RAW -+#endif -+ - //------------------------------------------------------------------------------ - // Re-definitions of true and false, because the standard ones aren't good - // enough? diff --git a/package/latencytop/0001-makefile.patch b/package/latencytop/0001-makefile.patch new file mode 100644 index 0000000000..fa8c51cfd0 --- /dev/null +++ b/package/latencytop/0001-makefile.patch @@ -0,0 +1,28 @@ +Usee $(CC) to enable cross compiling and link to the right ncurses library. + +Signed-off-by: Qais Yousef + +--- latencytop-0.5/Makefile.old 2012-04-18 11:59:39.748084334 +0100 ++++ latencytop-0.5/Makefile 2012-04-18 12:00:08.659112340 +0100 +@@ -4,7 +4,7 @@ + DESTDIR = + SBINDIR = /usr/sbin + XCFLAGS = -W -g `pkg-config --cflags glib-2.0` -D_FORTIFY_SOURCE=2 -Wno-sign-compare +-LDF = -Wl,--as-needed `pkg-config --libs glib-2.0` -lncursesw ++LDF = -Wl,--as-needed `pkg-config --libs glib-2.0` -lncurses + + OBJS= latencytop.o text_display.o translate.o fsync.o + +@@ -26,10 +26,10 @@ + + # We write explicity this "implicit rule" + %.o : %.c +- gcc -c $(CFLAGS) $(XCFLAGS) $< -o $@ ++ $(CC) -c $(CFLAGS) $(XCFLAGS) $< -o $@ + + latencytop: $(OBJS) latencytop.h Makefile +- gcc $(CFLAGS) $(OBJS) $(LDF) -o latencytop ++ $(CC) $(CFLAGS) $(OBJS) $(LDF) -o latencytop + + clean: + rm -f *~ latencytop DEADJOE *.o diff --git a/package/latencytop/latencytop-makefile.patch b/package/latencytop/latencytop-makefile.patch deleted file mode 100644 index fa8c51cfd0..0000000000 --- a/package/latencytop/latencytop-makefile.patch +++ /dev/null @@ -1,28 +0,0 @@ -Usee $(CC) to enable cross compiling and link to the right ncurses library. - -Signed-off-by: Qais Yousef - ---- latencytop-0.5/Makefile.old 2012-04-18 11:59:39.748084334 +0100 -+++ latencytop-0.5/Makefile 2012-04-18 12:00:08.659112340 +0100 -@@ -4,7 +4,7 @@ - DESTDIR = - SBINDIR = /usr/sbin - XCFLAGS = -W -g `pkg-config --cflags glib-2.0` -D_FORTIFY_SOURCE=2 -Wno-sign-compare --LDF = -Wl,--as-needed `pkg-config --libs glib-2.0` -lncursesw -+LDF = -Wl,--as-needed `pkg-config --libs glib-2.0` -lncurses - - OBJS= latencytop.o text_display.o translate.o fsync.o - -@@ -26,10 +26,10 @@ - - # We write explicity this "implicit rule" - %.o : %.c -- gcc -c $(CFLAGS) $(XCFLAGS) $< -o $@ -+ $(CC) -c $(CFLAGS) $(XCFLAGS) $< -o $@ - - latencytop: $(OBJS) latencytop.h Makefile -- gcc $(CFLAGS) $(OBJS) $(LDF) -o latencytop -+ $(CC) $(CFLAGS) $(OBJS) $(LDF) -o latencytop - - clean: - rm -f *~ latencytop DEADJOE *.o diff --git a/package/lcdapi/0001-Remove-installation-of-docs-examples.patch b/package/lcdapi/0001-Remove-installation-of-docs-examples.patch new file mode 100644 index 0000000000..dcadcf4a1b --- /dev/null +++ b/package/lcdapi/0001-Remove-installation-of-docs-examples.patch @@ -0,0 +1,39 @@ +From ede0fa7d410be407164b68570a1540378bf0bd09 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 19 Jul 2014 10:40:59 +0200 +Subject: [PATCH] Remove installation of docs/examples + +They get installed in the wrong directory, i.e if DESTDIR is +/path/to/output/target, they will be installed in +/path/to/output/target./examples and /path/to/output/target./docs. + +Since we don't need docs and examples in Buildroot anyway, simply get +rid of them. + +Signed-off-by: Thomas Petazzoni +--- + Makefile.am | 11 ----------- + 1 file changed, 11 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index c56860a..6b1267b 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -69,14 +69,3 @@ liblcdapi_la_CXXFLAGS = \ + -g0 -DNODEBUG -Os + + ACLOCAL_AMFLAGS = -I m4 +- +-docsdir = $(top_srcdir)/docs +-exampledir = $(top_srcdir)/example +-dist_docs_DATA = \ +- docs/Makefile.am \ +- docs/Makefile.in \ +- docs/Doxyfile.in +-dist_example_DATA = \ +- example/client.cpp \ +- example/Makefile.am \ +- example/Makefile.in +-- +2.0.0 + diff --git a/package/lcdapi/lcdapi-0001-Remove-installation-of-docs-examples.patch b/package/lcdapi/lcdapi-0001-Remove-installation-of-docs-examples.patch deleted file mode 100644 index dcadcf4a1b..0000000000 --- a/package/lcdapi/lcdapi-0001-Remove-installation-of-docs-examples.patch +++ /dev/null @@ -1,39 +0,0 @@ -From ede0fa7d410be407164b68570a1540378bf0bd09 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 19 Jul 2014 10:40:59 +0200 -Subject: [PATCH] Remove installation of docs/examples - -They get installed in the wrong directory, i.e if DESTDIR is -/path/to/output/target, they will be installed in -/path/to/output/target./examples and /path/to/output/target./docs. - -Since we don't need docs and examples in Buildroot anyway, simply get -rid of them. - -Signed-off-by: Thomas Petazzoni ---- - Makefile.am | 11 ----------- - 1 file changed, 11 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index c56860a..6b1267b 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -69,14 +69,3 @@ liblcdapi_la_CXXFLAGS = \ - -g0 -DNODEBUG -Os - - ACLOCAL_AMFLAGS = -I m4 -- --docsdir = $(top_srcdir)/docs --exampledir = $(top_srcdir)/example --dist_docs_DATA = \ -- docs/Makefile.am \ -- docs/Makefile.in \ -- docs/Doxyfile.in --dist_example_DATA = \ -- example/client.cpp \ -- example/Makefile.am \ -- example/Makefile.in --- -2.0.0 - diff --git a/package/lcdproc/0001-LCDd.conf.patch b/package/lcdproc/0001-LCDd.conf.patch new file mode 100644 index 0000000000..283ac8867b --- /dev/null +++ b/package/lcdproc/0001-LCDd.conf.patch @@ -0,0 +1,18 @@ +Fix the default LCDd configuration file, so that the DriverPath +is set to the correct lcdproc library install path, rather than +the dummy/default path. + +Signed-off-by: Simon Dawson +--- + +--- lcdproc-0.5.3/LCDd.conf.orig 2009-06-20 14:48:34.000000000 +0100 ++++ lcdproc-0.5.3/LCDd.conf 2010-05-11 10:02:21.000000000 +0100 +@@ -34,7 +34,7 @@ + # the driver modules and will thus not be able to + # function properly. + # NOTE: Always place a slash as last character ! +-DriverPath=server/drivers/ ++DriverPath=/usr/lib/lcdproc/ + + # Tells the server to load the given drivers. Multiple lines can be given. + # The name of the driver is case sensitive and determines the section diff --git a/package/lcdproc/lcdproc-LCDd.conf.patch b/package/lcdproc/lcdproc-LCDd.conf.patch deleted file mode 100644 index 283ac8867b..0000000000 --- a/package/lcdproc/lcdproc-LCDd.conf.patch +++ /dev/null @@ -1,18 +0,0 @@ -Fix the default LCDd configuration file, so that the DriverPath -is set to the correct lcdproc library install path, rather than -the dummy/default path. - -Signed-off-by: Simon Dawson ---- - ---- lcdproc-0.5.3/LCDd.conf.orig 2009-06-20 14:48:34.000000000 +0100 -+++ lcdproc-0.5.3/LCDd.conf 2010-05-11 10:02:21.000000000 +0100 -@@ -34,7 +34,7 @@ - # the driver modules and will thus not be able to - # function properly. - # NOTE: Always place a slash as last character ! --DriverPath=server/drivers/ -+DriverPath=/usr/lib/lcdproc/ - - # Tells the server to load the given drivers. Multiple lines can be given. - # The name of the driver is case sensitive and determines the section diff --git a/package/leafnode2/0001-cross_makefile.patch b/package/leafnode2/0001-cross_makefile.patch new file mode 100644 index 0000000000..b61a8ef3c6 --- /dev/null +++ b/package/leafnode2/0001-cross_makefile.patch @@ -0,0 +1,39 @@ +Fix cross-compilation issues + + - During target package compilation the host version of b_sortnl is + needed. + + - Do not call a 'amiroot' program built for the target when + cross-compiling. We're anyway not root, so simply remove the + chown/chgrp dance. + +Signed-off-by: Bernd Kuhls +Signed-off-by: Thomas Petazzoni + +Index: b/Makefile.in +=================================================================== +--- a/Makefile.in ++++ b/Makefile.in +@@ -1853,7 +1853,7 @@ + + configparam_data.c: $(srcdir)/config.table b_sortnl$(EXEEXT) genconfigparam_data.awk + rm -f config.table.sorted +- ./b_sortnl$(EXEEXT) <$(srcdir)/config.table >config.table.sorted ++ ./b_sortnl_host$(EXEEXT) <$(srcdir)/config.table >config.table.sorted + $(AWK) -f $(srcdir)/genconfigparam_data.awk $@ \ + || { rm -f $@ ; false ; } + +@@ -1868,13 +1868,7 @@ + install-data-hook: + $(INSTALL) -d -m 02770 $(DESTDIR)$(SPOOLDIR) + $(INSTALL) -d -m 02770 $(DESTDIR)$(SPOOLDIR)/leaf.node +- -./amiroot && chown $(RUNAS_USER) $(DESTDIR)$(SPOOLDIR) +- -./amiroot && chown $(RUNAS_USER) $(DESTDIR)$(SPOOLDIR)/leaf.node +- -./amiroot && chgrp $(RUNAS_GROUP) $(DESTDIR)$(SPOOLDIR) +- -./amiroot && chgrp $(RUNAS_GROUP) $(DESTDIR)$(SPOOLDIR)/leaf.node + rm -f $(DESTDIR)$(sbindir)/leafnode-version # now in $(bindir) +- ./amiroot && p=$(DESTDIR)$(bindir)/newsq && chown 0 $$p \ +- && chgrp $(RUNAS_GROUP) $$p && chmod 2111 $$p ; true + @echo + @echo "### If upgrading from leafnode before 1.6," + @echo "### run: make update" diff --git a/package/leafnode2/leafnode2-0001-cross_makefile.patch b/package/leafnode2/leafnode2-0001-cross_makefile.patch deleted file mode 100644 index b61a8ef3c6..0000000000 --- a/package/leafnode2/leafnode2-0001-cross_makefile.patch +++ /dev/null @@ -1,39 +0,0 @@ -Fix cross-compilation issues - - - During target package compilation the host version of b_sortnl is - needed. - - - Do not call a 'amiroot' program built for the target when - cross-compiling. We're anyway not root, so simply remove the - chown/chgrp dance. - -Signed-off-by: Bernd Kuhls -Signed-off-by: Thomas Petazzoni - -Index: b/Makefile.in -=================================================================== ---- a/Makefile.in -+++ b/Makefile.in -@@ -1853,7 +1853,7 @@ - - configparam_data.c: $(srcdir)/config.table b_sortnl$(EXEEXT) genconfigparam_data.awk - rm -f config.table.sorted -- ./b_sortnl$(EXEEXT) <$(srcdir)/config.table >config.table.sorted -+ ./b_sortnl_host$(EXEEXT) <$(srcdir)/config.table >config.table.sorted - $(AWK) -f $(srcdir)/genconfigparam_data.awk $@ \ - || { rm -f $@ ; false ; } - -@@ -1868,13 +1868,7 @@ - install-data-hook: - $(INSTALL) -d -m 02770 $(DESTDIR)$(SPOOLDIR) - $(INSTALL) -d -m 02770 $(DESTDIR)$(SPOOLDIR)/leaf.node -- -./amiroot && chown $(RUNAS_USER) $(DESTDIR)$(SPOOLDIR) -- -./amiroot && chown $(RUNAS_USER) $(DESTDIR)$(SPOOLDIR)/leaf.node -- -./amiroot && chgrp $(RUNAS_GROUP) $(DESTDIR)$(SPOOLDIR) -- -./amiroot && chgrp $(RUNAS_GROUP) $(DESTDIR)$(SPOOLDIR)/leaf.node - rm -f $(DESTDIR)$(sbindir)/leafnode-version # now in $(bindir) -- ./amiroot && p=$(DESTDIR)$(bindir)/newsq && chown 0 $$p \ -- && chgrp $(RUNAS_GROUP) $$p && chmod 2111 $$p ; true - @echo - @echo "### If upgrading from leafnode before 1.6," - @echo "### run: make update" diff --git a/package/libaio/0001-arches.patch b/package/libaio/0001-arches.patch new file mode 100644 index 0000000000..c85568cad3 --- /dev/null +++ b/package/libaio/0001-arches.patch @@ -0,0 +1,671 @@ +Patch borrowed from OpenEmbedded, available at +recipes/libaio/libaio-0.3.106/00_arches.patch in their source +tree. The patch has been adapted to remove the ARM-related +definitions, since they have been merged in later versions of libaio. + +The patch adds various architecture specific definitions (syscall +number and macros) for m68k, MIPS, PA/RISC and Sparc. Amongst these, +Buildroot mostly only cares about MIPS, but it was just easier to take +the whole OpenEmbedded patch. + +Signed-off-by: Thomas Petazzoni +--- + src/libaio.h | 24 +++++ + src/syscall-m68k.h | 78 +++++++++++++++++ + src/syscall-mips.h | 223 +++++++++++++++++++++++++++++++++++++++++++++++++++ + src/syscall-parisc.h | 146 +++++++++++++++++++++++++++++++++ + src/syscall-sparc.h | 130 +++++++++++++++++++++++++++++ + src/syscall.h | 8 + + 7 files changed, 725 insertions(+) + +Index: libaio-0.3.109/src/libaio.h +=================================================================== +--- libaio-0.3.109.orig/src/libaio.h ++++ libaio-0.3.109/src/libaio.h +@@ -83,6 +83,30 @@ + #define PADDEDptr(x, y) x; unsigned y + #define PADDEDul(x, y) unsigned long x; unsigned y + # endif ++#elif defined(__m68k__) /* big endian, 32 bits */ ++#define PADDED(x, y) unsigned y; x ++#define PADDEDptr(x, y) unsigned y; x ++#define PADDEDul(x, y) unsigned y; unsigned long x ++#elif defined(__sparc__) /* big endian, 32 bits */ ++#define PADDED(x, y) unsigned y; x ++#define PADDEDptr(x, y) unsigned y; x ++#define PADDEDul(x, y) unsigned y; unsigned long x ++#elif defined(__hppa__) /* big endian, 32 bits */ ++#define PADDED(x, y) unsigned y; x ++#define PADDEDptr(x, y) unsigned y; x ++#define PADDEDul(x, y) unsigned y; unsigned long x ++#elif defined(__mips__) ++# if defined (__MIPSEB__) /* big endian, 32 bits */ ++#define PADDED(x, y) unsigned y; x ++#define PADDEDptr(x, y) unsigned y; x ++#define PADDEDul(x, y) unsigned y; unsigned long x ++# elif defined(__MIPSEL__) /* little endian, 32 bits */ ++#define PADDED(x, y) x; unsigned y ++#define PADDEDptr(x, y) x; unsigned y ++#define PADDEDul(x, y) unsigned long x; unsigned y ++# else ++# error "neither mipseb nor mipsel?" ++# endif + #else + #error endian? + #endif +Index: libaio-0.3.109/src/syscall-m68k.h +=================================================================== +--- /dev/null ++++ libaio-0.3.109/src/syscall-m68k.h +@@ -0,0 +1,78 @@ ++#define __NR_io_setup 241 ++#define __NR_io_destroy 242 ++#define __NR_io_getevents 243 ++#define __NR_io_submit 244 ++#define __NR_io_cancel 245 ++ ++#define io_syscall1(type,fname,sname,atype,a) \ ++type fname(atype a) \ ++{ \ ++register long __res __asm__ ("%d0") = __NR_##sname; \ ++register long __a __asm__ ("%d1") = (long)(a); \ ++__asm__ __volatile__ ("trap #0" \ ++ : "+d" (__res) \ ++ : "d" (__a) ); \ ++return (type) __res; \ ++} ++ ++#define io_syscall2(type,fname,sname,atype,a,btype,b) \ ++type fname(atype a,btype b) \ ++{ \ ++register long __res __asm__ ("%d0") = __NR_##sname; \ ++register long __a __asm__ ("%d1") = (long)(a); \ ++register long __b __asm__ ("%d2") = (long)(b); \ ++__asm__ __volatile__ ("trap #0" \ ++ : "+d" (__res) \ ++ : "d" (__a), "d" (__b) \ ++ ); \ ++return (type) __res; \ ++} ++ ++#define io_syscall3(type,fname,sname,atype,a,btype,b,ctype,c) \ ++type fname(atype a,btype b,ctype c) \ ++{ \ ++register long __res __asm__ ("%d0") = __NR_##sname; \ ++register long __a __asm__ ("%d1") = (long)(a); \ ++register long __b __asm__ ("%d2") = (long)(b); \ ++register long __c __asm__ ("%d3") = (long)(c); \ ++__asm__ __volatile__ ("trap #0" \ ++ : "+d" (__res) \ ++ : "d" (__a), "d" (__b), \ ++ "d" (__c) \ ++ ); \ ++return (type) __res; \ ++} ++ ++#define io_syscall4(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d) \ ++type fname (atype a, btype b, ctype c, dtype d) \ ++{ \ ++register long __res __asm__ ("%d0") = __NR_##sname; \ ++register long __a __asm__ ("%d1") = (long)(a); \ ++register long __b __asm__ ("%d2") = (long)(b); \ ++register long __c __asm__ ("%d3") = (long)(c); \ ++register long __d __asm__ ("%d4") = (long)(d); \ ++__asm__ __volatile__ ("trap #0" \ ++ : "+d" (__res) \ ++ : "d" (__a), "d" (__b), \ ++ "d" (__c), "d" (__d) \ ++ ); \ ++return (type) __res; \ ++} ++ ++#define io_syscall5(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d,etype,e) \ ++type fname (atype a,btype b,ctype c,dtype d,etype e) \ ++{ \ ++register long __res __asm__ ("%d0") = __NR_##sname; \ ++register long __a __asm__ ("%d1") = (long)(a); \ ++register long __b __asm__ ("%d2") = (long)(b); \ ++register long __c __asm__ ("%d3") = (long)(c); \ ++register long __d __asm__ ("%d4") = (long)(d); \ ++register long __e __asm__ ("%d5") = (long)(e); \ ++__asm__ __volatile__ ("trap #0" \ ++ : "+d" (__res) \ ++ : "d" (__a), "d" (__b), \ ++ "d" (__c), "d" (__d), "d" (__e) \ ++ ); \ ++return (type) __res; \ ++} ++ +Index: libaio-0.3.109/src/syscall-mips.h +=================================================================== +--- /dev/null ++++ libaio-0.3.109/src/syscall-mips.h +@@ -0,0 +1,223 @@ ++/* ++ * This file is subject to the terms and conditions of the GNU General Public ++ * License. See the file "COPYING" in the main directory of this archive ++ * for more details. ++ * ++ * Copyright (C) 1995, 96, 97, 98, 99, 2000 by Ralf Baechle ++ * Copyright (C) 1999, 2000 Silicon Graphics, Inc. ++ * ++ * Changed system calls macros _syscall5 - _syscall7 to push args 5 to 7 onto ++ * the stack. Robin Farine for ACN S.A, Copyright (C) 1996 by ACN S.A ++ */ ++ ++#ifndef _MIPS_SIM_ABI32 ++#define _MIPS_SIM_ABI32 1 ++#define _MIPS_SIM_NABI32 2 ++#define _MIPS_SIM_ABI64 3 ++#endif ++ ++#if _MIPS_SIM == _MIPS_SIM_ABI32 ++ ++/* ++ * Linux o32 style syscalls are in the range from 4000 to 4999. ++ */ ++#define __NR_Linux 4000 ++#define __NR_io_setup (__NR_Linux + 241) ++#define __NR_io_destroy (__NR_Linux + 242) ++#define __NR_io_getevents (__NR_Linux + 243) ++#define __NR_io_submit (__NR_Linux + 244) ++#define __NR_io_cancel (__NR_Linux + 245) ++ ++#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */ ++ ++#if _MIPS_SIM == _MIPS_SIM_ABI64 ++ ++/* ++ * Linux 64-bit syscalls are in the range from 5000 to 5999. ++ */ ++#define __NR_Linux 5000 ++#define __NR_io_setup (__NR_Linux + 200) ++#define __NR_io_destroy (__NR_Linux + 201) ++#define __NR_io_getevents (__NR_Linux + 202) ++#define __NR_io_submit (__NR_Linux + 203) ++#define __NR_io_cancel (__NR_Linux + 204) ++#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */ ++ ++#if _MIPS_SIM == _MIPS_SIM_NABI32 ++ ++/* ++ * Linux N32 syscalls are in the range from 6000 to 6999. ++ */ ++#define __NR_Linux 6000 ++#define __NR_io_setup (__NR_Linux + 200) ++#define __NR_io_destroy (__NR_Linux + 201) ++#define __NR_io_getevents (__NR_Linux + 202) ++#define __NR_io_submit (__NR_Linux + 203) ++#define __NR_io_cancel (__NR_Linux + 204) ++#endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */ ++ ++#define io_syscall1(type,fname,sname,atype,a) \ ++type fname(atype a) \ ++{ \ ++ register unsigned long __a0 asm("$4") = (unsigned long) a; \ ++ register unsigned long __a3 asm("$7"); \ ++ unsigned long __v0; \ ++ \ ++ __asm__ volatile ( \ ++ ".set\tnoreorder\n\t" \ ++ "li\t$2, %3\t\t\t# " #fname "\n\t" \ ++ "syscall\n\t" \ ++ "move\t%0, $2\n\t" \ ++ ".set\treorder" \ ++ : "=&r" (__v0), "=r" (__a3) \ ++ : "r" (__a0), "i" (__NR_##sname) \ ++ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ ++ "memory"); \ ++ \ ++ if (__a3 == 0) \ ++ return (type) __v0; \ ++ return (type) -1; \ ++} ++ ++#define io_syscall2(type,fname,sname,atype,a,btype,b) \ ++type fname(atype a, btype b) \ ++{ \ ++ register unsigned long __a0 asm("$4") = (unsigned long) a; \ ++ register unsigned long __a1 asm("$5") = (unsigned long) b; \ ++ register unsigned long __a3 asm("$7"); \ ++ unsigned long __v0; \ ++ \ ++ __asm__ volatile ( \ ++ ".set\tnoreorder\n\t" \ ++ "li\t$2, %4\t\t\t# " #fname "\n\t" \ ++ "syscall\n\t" \ ++ "move\t%0, $2\n\t" \ ++ ".set\treorder" \ ++ : "=&r" (__v0), "=r" (__a3) \ ++ : "r" (__a0), "r" (__a1), "i" (__NR_##sname) \ ++ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ ++ "memory"); \ ++ \ ++ if (__a3 == 0) \ ++ return (type) __v0; \ ++ return (type) -1; \ ++} ++ ++#define io_syscall3(type,fname,sname,atype,a,btype,b,ctype,c) \ ++type fname(atype a, btype b, ctype c) \ ++{ \ ++ register unsigned long __a0 asm("$4") = (unsigned long) a; \ ++ register unsigned long __a1 asm("$5") = (unsigned long) b; \ ++ register unsigned long __a2 asm("$6") = (unsigned long) c; \ ++ register unsigned long __a3 asm("$7"); \ ++ unsigned long __v0; \ ++ \ ++ __asm__ volatile ( \ ++ ".set\tnoreorder\n\t" \ ++ "li\t$2, %5\t\t\t# " #fname "\n\t" \ ++ "syscall\n\t" \ ++ "move\t%0, $2\n\t" \ ++ ".set\treorder" \ ++ : "=&r" (__v0), "=r" (__a3) \ ++ : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##sname) \ ++ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ ++ "memory"); \ ++ \ ++ if (__a3 == 0) \ ++ return (type) __v0; \ ++ return (type) -1; \ ++} ++ ++#define io_syscall4(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d) \ ++type fname(atype a, btype b, ctype c, dtype d) \ ++{ \ ++ register unsigned long __a0 asm("$4") = (unsigned long) a; \ ++ register unsigned long __a1 asm("$5") = (unsigned long) b; \ ++ register unsigned long __a2 asm("$6") = (unsigned long) c; \ ++ register unsigned long __a3 asm("$7") = (unsigned long) d; \ ++ unsigned long __v0; \ ++ \ ++ __asm__ volatile ( \ ++ ".set\tnoreorder\n\t" \ ++ "li\t$2, %5\t\t\t# " #fname "\n\t" \ ++ "syscall\n\t" \ ++ "move\t%0, $2\n\t" \ ++ ".set\treorder" \ ++ : "=&r" (__v0), "+r" (__a3) \ ++ : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##sname) \ ++ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ ++ "memory"); \ ++ \ ++ if (__a3 == 0) \ ++ return (type) __v0; \ ++ return (type) -1; \ ++} ++ ++#if (_MIPS_SIM == _MIPS_SIM_ABI32) ++ ++/* ++ * Using those means your brain needs more than an oil change ;-) ++ */ ++ ++#define io_syscall5(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d,etype,e) \ ++type fname(atype a, btype b, ctype c, dtype d, etype e) \ ++{ \ ++ register unsigned long __a0 asm("$4") = (unsigned long) a; \ ++ register unsigned long __a1 asm("$5") = (unsigned long) b; \ ++ register unsigned long __a2 asm("$6") = (unsigned long) c; \ ++ register unsigned long __a3 asm("$7") = (unsigned long) d; \ ++ unsigned long __v0; \ ++ \ ++ __asm__ volatile ( \ ++ ".set\tnoreorder\n\t" \ ++ "lw\t$2, %6\n\t" \ ++ "subu\t$29, 32\n\t" \ ++ "sw\t$2, 16($29)\n\t" \ ++ "li\t$2, %5\t\t\t# " #fname "\n\t" \ ++ "syscall\n\t" \ ++ "move\t%0, $2\n\t" \ ++ "addiu\t$29, 32\n\t" \ ++ ".set\treorder" \ ++ : "=&r" (__v0), "+r" (__a3) \ ++ : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##sname), \ ++ "m" ((unsigned long)e) \ ++ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ ++ "memory"); \ ++ \ ++ if (__a3 == 0) \ ++ return (type) __v0; \ ++ return (type) -1; \ ++} ++ ++#endif /* (_MIPS_SIM == _MIPS_SIM_ABI32) */ ++ ++#if (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) ++ ++#define io_syscall5(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d,etype,e) \ ++type fname (atype a,btype b,ctype c,dtype d,etype e) \ ++{ \ ++ register unsigned long __a0 asm("$4") = (unsigned long) a; \ ++ register unsigned long __a1 asm("$5") = (unsigned long) b; \ ++ register unsigned long __a2 asm("$6") = (unsigned long) c; \ ++ register unsigned long __a3 asm("$7") = (unsigned long) d; \ ++ register unsigned long __a4 asm("$8") = (unsigned long) e; \ ++ unsigned long __v0; \ ++ \ ++ __asm__ volatile ( \ ++ ".set\tnoreorder\n\t" \ ++ "li\t$2, %6\t\t\t# " #fname "\n\t" \ ++ "syscall\n\t" \ ++ "move\t%0, $2\n\t" \ ++ ".set\treorder" \ ++ : "=&r" (__v0), "+r" (__a3) \ ++ : "r" (__a0), "r" (__a1), "r" (__a2), "r" (__a4), "i" (__NR_##sname) \ ++ : "$2", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ ++ "memory"); \ ++ \ ++ if (__a3 == 0) \ ++ return (type) __v0; \ ++ return (type) -1; \ ++} ++ ++#endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */ ++ +Index: libaio-0.3.109/src/syscall-parisc.h +=================================================================== +--- /dev/null ++++ libaio-0.3.109/src/syscall-parisc.h +@@ -0,0 +1,146 @@ ++/* ++ * Linux system call numbers. ++ * ++ * Cary Coutant says that we should just use another syscall gateway ++ * page to avoid clashing with the HPUX space, and I think he's right: ++ * it will would keep a branch out of our syscall entry path, at the ++ * very least. If we decide to change it later, we can ``just'' tweak ++ * the LINUX_GATEWAY_ADDR define at the bottom and make __NR_Linux be ++ * 1024 or something. Oh, and recompile libc. =) ++ * ++ * 64-bit HPUX binaries get the syscall gateway address passed in a register ++ * from the kernel at startup, which seems a sane strategy. ++ */ ++ ++#define __NR_Linux 0 ++#define __NR_io_setup (__NR_Linux + 215) ++#define __NR_io_destroy (__NR_Linux + 216) ++#define __NR_io_getevents (__NR_Linux + 217) ++#define __NR_io_submit (__NR_Linux + 218) ++#define __NR_io_cancel (__NR_Linux + 219) ++ ++#define SYS_ify(syscall_name) __NR_##syscall_name ++ ++/* Assume all syscalls are done from PIC code just to be ++ * safe. The worst case scenario is that you lose a register ++ * and save/restore r19 across the syscall. */ ++#define PIC ++ ++/* Definition taken from glibc 2.3.3 ++ * sysdeps/unix/sysv/linux/hppa/sysdep.h ++ */ ++ ++#ifdef PIC ++/* WARNING: CANNOT BE USED IN A NOP! */ ++# define K_STW_ASM_PIC " copy %%r19, %%r4\n" ++# define K_LDW_ASM_PIC " copy %%r4, %%r19\n" ++# define K_USING_GR4 "%r4", ++#else ++# define K_STW_ASM_PIC " \n" ++# define K_LDW_ASM_PIC " \n" ++# define K_USING_GR4 ++#endif ++ ++/* GCC has to be warned that a syscall may clobber all the ABI ++ registers listed as "caller-saves", see page 8, Table 2 ++ in section 2.2.6 of the PA-RISC RUN-TIME architecture ++ document. However! r28 is the result and will conflict with ++ the clobber list so it is left out. Also the input arguments ++ registers r20 -> r26 will conflict with the list so they ++ are treated specially. Although r19 is clobbered by the syscall ++ we cannot say this because it would violate ABI, thus we say ++ r4 is clobbered and use that register to save/restore r19 ++ across the syscall. */ ++ ++#define K_CALL_CLOB_REGS "%r1", "%r2", K_USING_GR4 \ ++ "%r20", "%r29", "%r31" ++ ++#undef K_INLINE_SYSCALL ++#define K_INLINE_SYSCALL(name, nr, args...) ({ \ ++ long __sys_res; \ ++ { \ ++ register unsigned long __res __asm__("r28"); \ ++ K_LOAD_ARGS_##nr(args) \ ++ /* FIXME: HACK stw/ldw r19 around syscall */ \ ++ __asm__ volatile( \ ++ K_STW_ASM_PIC \ ++ " ble 0x100(%%sr2, %%r0)\n" \ ++ " ldi %1, %%r20\n" \ ++ K_LDW_ASM_PIC \ ++ : "=r" (__res) \ ++ : "i" (SYS_ify(name)) K_ASM_ARGS_##nr \ ++ : "memory", K_CALL_CLOB_REGS K_CLOB_ARGS_##nr \ ++ ); \ ++ __sys_res = (long)__res; \ ++ } \ ++ __sys_res; \ ++}) ++ ++#define K_LOAD_ARGS_0() ++#define K_LOAD_ARGS_1(r26) \ ++ register unsigned long __r26 __asm__("r26") = (unsigned long)(r26); \ ++ K_LOAD_ARGS_0() ++#define K_LOAD_ARGS_2(r26,r25) \ ++ register unsigned long __r25 __asm__("r25") = (unsigned long)(r25); \ ++ K_LOAD_ARGS_1(r26) ++#define K_LOAD_ARGS_3(r26,r25,r24) \ ++ register unsigned long __r24 __asm__("r24") = (unsigned long)(r24); \ ++ K_LOAD_ARGS_2(r26,r25) ++#define K_LOAD_ARGS_4(r26,r25,r24,r23) \ ++ register unsigned long __r23 __asm__("r23") = (unsigned long)(r23); \ ++ K_LOAD_ARGS_3(r26,r25,r24) ++#define K_LOAD_ARGS_5(r26,r25,r24,r23,r22) \ ++ register unsigned long __r22 __asm__("r22") = (unsigned long)(r22); \ ++ K_LOAD_ARGS_4(r26,r25,r24,r23) ++#define K_LOAD_ARGS_6(r26,r25,r24,r23,r22,r21) \ ++ register unsigned long __r21 __asm__("r21") = (unsigned long)(r21); \ ++ K_LOAD_ARGS_5(r26,r25,r24,r23,r22) ++ ++/* Even with zero args we use r20 for the syscall number */ ++#define K_ASM_ARGS_0 ++#define K_ASM_ARGS_1 K_ASM_ARGS_0, "r" (__r26) ++#define K_ASM_ARGS_2 K_ASM_ARGS_1, "r" (__r25) ++#define K_ASM_ARGS_3 K_ASM_ARGS_2, "r" (__r24) ++#define K_ASM_ARGS_4 K_ASM_ARGS_3, "r" (__r23) ++#define K_ASM_ARGS_5 K_ASM_ARGS_4, "r" (__r22) ++#define K_ASM_ARGS_6 K_ASM_ARGS_5, "r" (__r21) ++ ++/* The registers not listed as inputs but clobbered */ ++#define K_CLOB_ARGS_6 ++#define K_CLOB_ARGS_5 K_CLOB_ARGS_6, "%r21" ++#define K_CLOB_ARGS_4 K_CLOB_ARGS_5, "%r22" ++#define K_CLOB_ARGS_3 K_CLOB_ARGS_4, "%r23" ++#define K_CLOB_ARGS_2 K_CLOB_ARGS_3, "%r24" ++#define K_CLOB_ARGS_1 K_CLOB_ARGS_2, "%r25" ++#define K_CLOB_ARGS_0 K_CLOB_ARGS_1, "%r26" ++ ++#define io_syscall1(type,fname,sname,type1,arg1) \ ++type fname(type1 arg1) \ ++{ \ ++ return K_INLINE_SYSCALL(sname, 1, arg1); \ ++} ++ ++#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \ ++type fname(type1 arg1, type2 arg2) \ ++{ \ ++ return K_INLINE_SYSCALL(sname, 2, arg1, arg2); \ ++} ++ ++#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \ ++type fname(type1 arg1, type2 arg2, type3 arg3) \ ++{ \ ++ return K_INLINE_SYSCALL(sname, 3, arg1, arg2, arg3); \ ++} ++ ++#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ ++type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ ++{ \ ++ return K_INLINE_SYSCALL(sname, 4, arg1, arg2, arg3, arg4); \ ++} ++ ++#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5) \ ++type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \ ++{ \ ++ return K_INLINE_SYSCALL(sname, 5, arg1, arg2, arg3, arg4, arg5); \ ++} ++ +Index: libaio-0.3.109/src/syscall-sparc.h +=================================================================== +--- /dev/null ++++ libaio-0.3.109/src/syscall-sparc.h +@@ -0,0 +1,130 @@ ++/* $Id: unistd.h,v 1.74 2002/02/08 03:57:18 davem Exp $ */ ++ ++/* ++ * System calls under the Sparc. ++ * ++ * Don't be scared by the ugly clobbers, it is the only way I can ++ * think of right now to force the arguments into fixed registers ++ * before the trap into the system call with gcc 'asm' statements. ++ * ++ * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) ++ * ++ * SunOS compatibility based upon preliminary work which is: ++ * ++ * Copyright (C) 1995 Adrian M. Rodriguez (adrian@remus.rutgers.edu) ++ */ ++ ++ ++#define __NR_io_setup 268 ++#define __NR_io_destroy 269 ++#define __NR_io_submit 270 ++#define __NR_io_cancel 271 ++#define __NR_io_getevents 272 ++ ++ ++#define io_syscall1(type,fname,sname,type1,arg1) \ ++type fname(type1 arg1) \ ++{ \ ++long __res; \ ++register long __g1 __asm__ ("g1") = __NR_##sname; \ ++register long __o0 __asm__ ("o0") = (long)(arg1); \ ++__asm__ __volatile__ ("t 0x10\n\t" \ ++ "bcc 1f\n\t" \ ++ "mov %%o0, %0\n\t" \ ++ "sub %%g0, %%o0, %0\n\t" \ ++ "1:\n\t" \ ++ : "=r" (__res), "=&r" (__o0) \ ++ : "1" (__o0), "r" (__g1) \ ++ : "cc"); \ ++if (__res < -255 || __res >= 0) \ ++ return (type) __res; \ ++return -1; \ ++} ++ ++#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \ ++type fname(type1 arg1,type2 arg2) \ ++{ \ ++long __res; \ ++register long __g1 __asm__ ("g1") = __NR_##sname; \ ++register long __o0 __asm__ ("o0") = (long)(arg1); \ ++register long __o1 __asm__ ("o1") = (long)(arg2); \ ++__asm__ __volatile__ ("t 0x10\n\t" \ ++ "bcc 1f\n\t" \ ++ "mov %%o0, %0\n\t" \ ++ "sub %%g0, %%o0, %0\n\t" \ ++ "1:\n\t" \ ++ : "=r" (__res), "=&r" (__o0) \ ++ : "1" (__o0), "r" (__o1), "r" (__g1) \ ++ : "cc"); \ ++if (__res < -255 || __res >= 0) \ ++ return (type) __res; \ ++return -1; \ ++} ++ ++#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \ ++type fname(type1 arg1,type2 arg2,type3 arg3) \ ++{ \ ++long __res; \ ++register long __g1 __asm__ ("g1") = __NR_##sname; \ ++register long __o0 __asm__ ("o0") = (long)(arg1); \ ++register long __o1 __asm__ ("o1") = (long)(arg2); \ ++register long __o2 __asm__ ("o2") = (long)(arg3); \ ++__asm__ __volatile__ ("t 0x10\n\t" \ ++ "bcc 1f\n\t" \ ++ "mov %%o0, %0\n\t" \ ++ "sub %%g0, %%o0, %0\n\t" \ ++ "1:\n\t" \ ++ : "=r" (__res), "=&r" (__o0) \ ++ : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__g1) \ ++ : "cc"); \ ++if (__res < -255 || __res>=0) \ ++ return (type) __res; \ ++return -1; \ ++} ++ ++#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ ++type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ ++{ \ ++long __res; \ ++register long __g1 __asm__ ("g1") = __NR_##sname; \ ++register long __o0 __asm__ ("o0") = (long)(arg1); \ ++register long __o1 __asm__ ("o1") = (long)(arg2); \ ++register long __o2 __asm__ ("o2") = (long)(arg3); \ ++register long __o3 __asm__ ("o3") = (long)(arg4); \ ++__asm__ __volatile__ ("t 0x10\n\t" \ ++ "bcc 1f\n\t" \ ++ "mov %%o0, %0\n\t" \ ++ "sub %%g0, %%o0, %0\n\t" \ ++ "1:\n\t" \ ++ : "=r" (__res), "=&r" (__o0) \ ++ : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__o3), "r" (__g1) \ ++ : "cc"); \ ++if (__res < -255 || __res>=0) \ ++ return (type) __res; \ ++return -1; \ ++} ++ ++#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ ++ type5,arg5) \ ++type fname(type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \ ++{ \ ++long __res; \ ++register long __g1 __asm__ ("g1") = __NR_##sname; \ ++register long __o0 __asm__ ("o0") = (long)(arg1); \ ++register long __o1 __asm__ ("o1") = (long)(arg2); \ ++register long __o2 __asm__ ("o2") = (long)(arg3); \ ++register long __o3 __asm__ ("o3") = (long)(arg4); \ ++register long __o4 __asm__ ("o4") = (long)(arg5); \ ++__asm__ __volatile__ ("t 0x10\n\t" \ ++ "bcc 1f\n\t" \ ++ "mov %%o0, %0\n\t" \ ++ "sub %%g0, %%o0, %0\n\t" \ ++ "1:\n\t" \ ++ : "=r" (__res), "=&r" (__o0) \ ++ : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__o3), "r" (__o4), "r" (__g1) \ ++ : "cc"); \ ++if (__res < -255 || __res>=0) \ ++ return (type) __res; \ ++return -1; \ ++} ++ +Index: libaio-0.3.109/src/syscall.h +=================================================================== +--- libaio-0.3.109.orig/src/syscall.h ++++ libaio-0.3.109/src/syscall.h +@@ -24,6 +24,14 @@ + #include "syscall-alpha.h" + #elif defined(__arm__) + #include "syscall-arm.h" ++#elif defined(__m68k__) ++#include "syscall-m68k.h" ++#elif defined(__sparc__) ++#include "syscall-sparc.h" ++#elif defined(__hppa__) ++#include "syscall-parisc.h" ++#elif defined(__mips__) ++#include "syscall-mips.h" + #else + #error "add syscall-arch.h" + #endif diff --git a/package/libaio/0002-avr32-support.patch b/package/libaio/0002-avr32-support.patch new file mode 100644 index 0000000000..57bb1f388c --- /dev/null +++ b/package/libaio/0002-avr32-support.patch @@ -0,0 +1,122 @@ +Add AVR32 support to libaio + +Taken from OpenWRT repository. + +--- a/src/libaio.h ++++ b/src/libaio.h +@@ -107,6 +107,10 @@ typedef enum io_iocb_cmd { + # else + # error "neither mipseb nor mipsel?" + # endif ++#elif defined(__avr32__) /* big endian, 32 bits */ ++#define PADDED(x, y) unsigned y; x ++#define PADDEDptr(x, y) unsigned y; x ++#define PADDEDul(x, y) unsigned y; unsigned long x; + #else + #error endian? + #endif +--- /dev/null ++++ b/src/syscall-avr32.h +@@ -0,0 +1,91 @@ ++/* ++ * Copyright (C) 2007 Atmel Corporation ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ */ ++ ++#define __NR_io_setup 197 ++#define __NR_io_destroy 198 ++#define __NR_io_getevents 199 ++#define __NR_io_submit 200 ++#define __NR_io_cancel 201 ++ ++#define io_syscall1(type,fname,sname,type1,arg1) \ ++type fname(type1 arg1) \ ++{ \ ++ register long __r12 __asm__("r12") = (long)arg1; \ ++ register long __res_r12 __asm__("r12"); \ ++ register long __scno __asm__("r8") = __NR_##sname; \ ++ __asm__ __volatile__("scall" \ ++ : "=r"(__res_r12) \ ++ : "0"(__r12), "r"(__scno) \ ++ : "memory"); \ ++ return (type) __res_r12; \ ++} ++ ++#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \ ++type fname(type1 arg1, type2 arg2) \ ++{ \ ++ register long __r12 __asm__("r12") = (long)arg1; \ ++ register long __r11 __asm__("r11") = (long)arg2; \ ++ register long __res_r12 __asm__("r12"); \ ++ register long __scno __asm__("r8") = __NR_##sname; \ ++ __asm__ __volatile__("scall" \ ++ : "=r"(__res_r12) \ ++ : "0"(__r12), "r"(__r11), "r"(__scno) \ ++ : "memory"); \ ++ return (type) __res_r12; \ ++} ++ ++#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \ ++type fname(type1 arg1, type2 arg2, type3 arg3) \ ++{ \ ++ register long __r12 __asm__("r12") = (long)arg1; \ ++ register long __r11 __asm__("r11") = (long)arg2; \ ++ register long __r10 __asm__("r10") = (long)arg3; \ ++ register long __res_r12 __asm__("r12"); \ ++ register long __scno __asm__("r8") = __NR_##sname; \ ++ __asm__ __volatile__("scall" \ ++ : "=r"(__res_r12) \ ++ : "0"(__r12), "r"(__r11), "r"(__r10), \ ++ "r"(__scno) \ ++ : "memory"); \ ++ return (type) __res_r12; \ ++} ++ ++#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ ++type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ ++{ \ ++ register long __r12 __asm__("r12") = (long)arg1; \ ++ register long __r11 __asm__("r11") = (long)arg2; \ ++ register long __r10 __asm__("r10") = (long)arg3; \ ++ register long __r9 __asm__("r9") = (long)arg4; \ ++ register long __res_r12 __asm__("r12"); \ ++ register long __scno __asm__("r8") = __NR_##sname; \ ++ __asm__ __volatile__("scall" \ ++ : "=r"(__res_r12) \ ++ : "0"(__r12), "r"(__r11), "r"(__r10), \ ++ "r"(__r9), "r"(__scno) \ ++ : "memory"); \ ++ return (type) __res_r12; \ ++} ++ ++#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5) \ ++type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \ ++{ \ ++ register long __r12 __asm__("r12") = (long)arg1; \ ++ register long __r11 __asm__("r11") = (long)arg2; \ ++ register long __r10 __asm__("r10") = (long)arg3; \ ++ register long __r9 __asm__("r9") = (long)arg4; \ ++ register long __r5 __asm__("r5") = (long)arg5; \ ++ register long __res_r12 __asm__("r12"); \ ++ register long __scno __asm__("r8") = __NR_##sname; \ ++ __asm__ __volatile__("scall" \ ++ : "=r"(__res_r12) \ ++ : "0"(__r12), "r"(__r11), "r"(__r10), \ ++ "r"(__r9), "r"(__r5), "r"(__scno) \ ++ : "memory"); \ ++ return (type) __res_r12; \ ++} +--- a/src/syscall.h ++++ b/src/syscall.h +@@ -32,6 +32,8 @@ + #include "syscall-parisc.h" + #elif defined(__mips__) + #include "syscall-mips.h" ++#elif defined(__avr32__) ++#include "syscall-avr32.h" + #else + #error "add syscall-arch.h" + #endif diff --git a/package/libaio/0003-destdir.patch b/package/libaio/0003-destdir.patch new file mode 100644 index 0000000000..583a2afa86 --- /dev/null +++ b/package/libaio/0003-destdir.patch @@ -0,0 +1,24 @@ +Patch borrowed from OpenEmbedded, available at +recipes/libaio/libaio-0.3.106/destdir.patch in their source tree. + +It just adds support for the traditional DESTDIR variable to install +the library in a different sysroot than the normal /. + +Signed-off-by: Thomas Petazzoni +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: libaio-0.3.109/Makefile +=================================================================== +--- libaio-0.3.109.orig/Makefile ++++ libaio-0.3.109/Makefile +@@ -23,7 +23,7 @@ + @$(MAKE) -C src + + install: +- @$(MAKE) -C src install prefix=$(prefix) includedir=$(includedir) libdir=$(libdir) ++ @$(MAKE) -C src install prefix=$(DESTDIR)$(prefix) includedir=$(DESTDIR)$(includedir) libdir=$(DESTDIR)$(libdir) + + check: + @$(MAKE) -C harness check diff --git a/package/libaio/libaio-0.3.109-arches.patch b/package/libaio/libaio-0.3.109-arches.patch deleted file mode 100644 index c85568cad3..0000000000 --- a/package/libaio/libaio-0.3.109-arches.patch +++ /dev/null @@ -1,671 +0,0 @@ -Patch borrowed from OpenEmbedded, available at -recipes/libaio/libaio-0.3.106/00_arches.patch in their source -tree. The patch has been adapted to remove the ARM-related -definitions, since they have been merged in later versions of libaio. - -The patch adds various architecture specific definitions (syscall -number and macros) for m68k, MIPS, PA/RISC and Sparc. Amongst these, -Buildroot mostly only cares about MIPS, but it was just easier to take -the whole OpenEmbedded patch. - -Signed-off-by: Thomas Petazzoni ---- - src/libaio.h | 24 +++++ - src/syscall-m68k.h | 78 +++++++++++++++++ - src/syscall-mips.h | 223 +++++++++++++++++++++++++++++++++++++++++++++++++++ - src/syscall-parisc.h | 146 +++++++++++++++++++++++++++++++++ - src/syscall-sparc.h | 130 +++++++++++++++++++++++++++++ - src/syscall.h | 8 + - 7 files changed, 725 insertions(+) - -Index: libaio-0.3.109/src/libaio.h -=================================================================== ---- libaio-0.3.109.orig/src/libaio.h -+++ libaio-0.3.109/src/libaio.h -@@ -83,6 +83,30 @@ - #define PADDEDptr(x, y) x; unsigned y - #define PADDEDul(x, y) unsigned long x; unsigned y - # endif -+#elif defined(__m68k__) /* big endian, 32 bits */ -+#define PADDED(x, y) unsigned y; x -+#define PADDEDptr(x, y) unsigned y; x -+#define PADDEDul(x, y) unsigned y; unsigned long x -+#elif defined(__sparc__) /* big endian, 32 bits */ -+#define PADDED(x, y) unsigned y; x -+#define PADDEDptr(x, y) unsigned y; x -+#define PADDEDul(x, y) unsigned y; unsigned long x -+#elif defined(__hppa__) /* big endian, 32 bits */ -+#define PADDED(x, y) unsigned y; x -+#define PADDEDptr(x, y) unsigned y; x -+#define PADDEDul(x, y) unsigned y; unsigned long x -+#elif defined(__mips__) -+# if defined (__MIPSEB__) /* big endian, 32 bits */ -+#define PADDED(x, y) unsigned y; x -+#define PADDEDptr(x, y) unsigned y; x -+#define PADDEDul(x, y) unsigned y; unsigned long x -+# elif defined(__MIPSEL__) /* little endian, 32 bits */ -+#define PADDED(x, y) x; unsigned y -+#define PADDEDptr(x, y) x; unsigned y -+#define PADDEDul(x, y) unsigned long x; unsigned y -+# else -+# error "neither mipseb nor mipsel?" -+# endif - #else - #error endian? - #endif -Index: libaio-0.3.109/src/syscall-m68k.h -=================================================================== ---- /dev/null -+++ libaio-0.3.109/src/syscall-m68k.h -@@ -0,0 +1,78 @@ -+#define __NR_io_setup 241 -+#define __NR_io_destroy 242 -+#define __NR_io_getevents 243 -+#define __NR_io_submit 244 -+#define __NR_io_cancel 245 -+ -+#define io_syscall1(type,fname,sname,atype,a) \ -+type fname(atype a) \ -+{ \ -+register long __res __asm__ ("%d0") = __NR_##sname; \ -+register long __a __asm__ ("%d1") = (long)(a); \ -+__asm__ __volatile__ ("trap #0" \ -+ : "+d" (__res) \ -+ : "d" (__a) ); \ -+return (type) __res; \ -+} -+ -+#define io_syscall2(type,fname,sname,atype,a,btype,b) \ -+type fname(atype a,btype b) \ -+{ \ -+register long __res __asm__ ("%d0") = __NR_##sname; \ -+register long __a __asm__ ("%d1") = (long)(a); \ -+register long __b __asm__ ("%d2") = (long)(b); \ -+__asm__ __volatile__ ("trap #0" \ -+ : "+d" (__res) \ -+ : "d" (__a), "d" (__b) \ -+ ); \ -+return (type) __res; \ -+} -+ -+#define io_syscall3(type,fname,sname,atype,a,btype,b,ctype,c) \ -+type fname(atype a,btype b,ctype c) \ -+{ \ -+register long __res __asm__ ("%d0") = __NR_##sname; \ -+register long __a __asm__ ("%d1") = (long)(a); \ -+register long __b __asm__ ("%d2") = (long)(b); \ -+register long __c __asm__ ("%d3") = (long)(c); \ -+__asm__ __volatile__ ("trap #0" \ -+ : "+d" (__res) \ -+ : "d" (__a), "d" (__b), \ -+ "d" (__c) \ -+ ); \ -+return (type) __res; \ -+} -+ -+#define io_syscall4(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d) \ -+type fname (atype a, btype b, ctype c, dtype d) \ -+{ \ -+register long __res __asm__ ("%d0") = __NR_##sname; \ -+register long __a __asm__ ("%d1") = (long)(a); \ -+register long __b __asm__ ("%d2") = (long)(b); \ -+register long __c __asm__ ("%d3") = (long)(c); \ -+register long __d __asm__ ("%d4") = (long)(d); \ -+__asm__ __volatile__ ("trap #0" \ -+ : "+d" (__res) \ -+ : "d" (__a), "d" (__b), \ -+ "d" (__c), "d" (__d) \ -+ ); \ -+return (type) __res; \ -+} -+ -+#define io_syscall5(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d,etype,e) \ -+type fname (atype a,btype b,ctype c,dtype d,etype e) \ -+{ \ -+register long __res __asm__ ("%d0") = __NR_##sname; \ -+register long __a __asm__ ("%d1") = (long)(a); \ -+register long __b __asm__ ("%d2") = (long)(b); \ -+register long __c __asm__ ("%d3") = (long)(c); \ -+register long __d __asm__ ("%d4") = (long)(d); \ -+register long __e __asm__ ("%d5") = (long)(e); \ -+__asm__ __volatile__ ("trap #0" \ -+ : "+d" (__res) \ -+ : "d" (__a), "d" (__b), \ -+ "d" (__c), "d" (__d), "d" (__e) \ -+ ); \ -+return (type) __res; \ -+} -+ -Index: libaio-0.3.109/src/syscall-mips.h -=================================================================== ---- /dev/null -+++ libaio-0.3.109/src/syscall-mips.h -@@ -0,0 +1,223 @@ -+/* -+ * This file is subject to the terms and conditions of the GNU General Public -+ * License. See the file "COPYING" in the main directory of this archive -+ * for more details. -+ * -+ * Copyright (C) 1995, 96, 97, 98, 99, 2000 by Ralf Baechle -+ * Copyright (C) 1999, 2000 Silicon Graphics, Inc. -+ * -+ * Changed system calls macros _syscall5 - _syscall7 to push args 5 to 7 onto -+ * the stack. Robin Farine for ACN S.A, Copyright (C) 1996 by ACN S.A -+ */ -+ -+#ifndef _MIPS_SIM_ABI32 -+#define _MIPS_SIM_ABI32 1 -+#define _MIPS_SIM_NABI32 2 -+#define _MIPS_SIM_ABI64 3 -+#endif -+ -+#if _MIPS_SIM == _MIPS_SIM_ABI32 -+ -+/* -+ * Linux o32 style syscalls are in the range from 4000 to 4999. -+ */ -+#define __NR_Linux 4000 -+#define __NR_io_setup (__NR_Linux + 241) -+#define __NR_io_destroy (__NR_Linux + 242) -+#define __NR_io_getevents (__NR_Linux + 243) -+#define __NR_io_submit (__NR_Linux + 244) -+#define __NR_io_cancel (__NR_Linux + 245) -+ -+#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */ -+ -+#if _MIPS_SIM == _MIPS_SIM_ABI64 -+ -+/* -+ * Linux 64-bit syscalls are in the range from 5000 to 5999. -+ */ -+#define __NR_Linux 5000 -+#define __NR_io_setup (__NR_Linux + 200) -+#define __NR_io_destroy (__NR_Linux + 201) -+#define __NR_io_getevents (__NR_Linux + 202) -+#define __NR_io_submit (__NR_Linux + 203) -+#define __NR_io_cancel (__NR_Linux + 204) -+#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */ -+ -+#if _MIPS_SIM == _MIPS_SIM_NABI32 -+ -+/* -+ * Linux N32 syscalls are in the range from 6000 to 6999. -+ */ -+#define __NR_Linux 6000 -+#define __NR_io_setup (__NR_Linux + 200) -+#define __NR_io_destroy (__NR_Linux + 201) -+#define __NR_io_getevents (__NR_Linux + 202) -+#define __NR_io_submit (__NR_Linux + 203) -+#define __NR_io_cancel (__NR_Linux + 204) -+#endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */ -+ -+#define io_syscall1(type,fname,sname,atype,a) \ -+type fname(atype a) \ -+{ \ -+ register unsigned long __a0 asm("$4") = (unsigned long) a; \ -+ register unsigned long __a3 asm("$7"); \ -+ unsigned long __v0; \ -+ \ -+ __asm__ volatile ( \ -+ ".set\tnoreorder\n\t" \ -+ "li\t$2, %3\t\t\t# " #fname "\n\t" \ -+ "syscall\n\t" \ -+ "move\t%0, $2\n\t" \ -+ ".set\treorder" \ -+ : "=&r" (__v0), "=r" (__a3) \ -+ : "r" (__a0), "i" (__NR_##sname) \ -+ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ -+ "memory"); \ -+ \ -+ if (__a3 == 0) \ -+ return (type) __v0; \ -+ return (type) -1; \ -+} -+ -+#define io_syscall2(type,fname,sname,atype,a,btype,b) \ -+type fname(atype a, btype b) \ -+{ \ -+ register unsigned long __a0 asm("$4") = (unsigned long) a; \ -+ register unsigned long __a1 asm("$5") = (unsigned long) b; \ -+ register unsigned long __a3 asm("$7"); \ -+ unsigned long __v0; \ -+ \ -+ __asm__ volatile ( \ -+ ".set\tnoreorder\n\t" \ -+ "li\t$2, %4\t\t\t# " #fname "\n\t" \ -+ "syscall\n\t" \ -+ "move\t%0, $2\n\t" \ -+ ".set\treorder" \ -+ : "=&r" (__v0), "=r" (__a3) \ -+ : "r" (__a0), "r" (__a1), "i" (__NR_##sname) \ -+ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ -+ "memory"); \ -+ \ -+ if (__a3 == 0) \ -+ return (type) __v0; \ -+ return (type) -1; \ -+} -+ -+#define io_syscall3(type,fname,sname,atype,a,btype,b,ctype,c) \ -+type fname(atype a, btype b, ctype c) \ -+{ \ -+ register unsigned long __a0 asm("$4") = (unsigned long) a; \ -+ register unsigned long __a1 asm("$5") = (unsigned long) b; \ -+ register unsigned long __a2 asm("$6") = (unsigned long) c; \ -+ register unsigned long __a3 asm("$7"); \ -+ unsigned long __v0; \ -+ \ -+ __asm__ volatile ( \ -+ ".set\tnoreorder\n\t" \ -+ "li\t$2, %5\t\t\t# " #fname "\n\t" \ -+ "syscall\n\t" \ -+ "move\t%0, $2\n\t" \ -+ ".set\treorder" \ -+ : "=&r" (__v0), "=r" (__a3) \ -+ : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##sname) \ -+ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ -+ "memory"); \ -+ \ -+ if (__a3 == 0) \ -+ return (type) __v0; \ -+ return (type) -1; \ -+} -+ -+#define io_syscall4(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d) \ -+type fname(atype a, btype b, ctype c, dtype d) \ -+{ \ -+ register unsigned long __a0 asm("$4") = (unsigned long) a; \ -+ register unsigned long __a1 asm("$5") = (unsigned long) b; \ -+ register unsigned long __a2 asm("$6") = (unsigned long) c; \ -+ register unsigned long __a3 asm("$7") = (unsigned long) d; \ -+ unsigned long __v0; \ -+ \ -+ __asm__ volatile ( \ -+ ".set\tnoreorder\n\t" \ -+ "li\t$2, %5\t\t\t# " #fname "\n\t" \ -+ "syscall\n\t" \ -+ "move\t%0, $2\n\t" \ -+ ".set\treorder" \ -+ : "=&r" (__v0), "+r" (__a3) \ -+ : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##sname) \ -+ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ -+ "memory"); \ -+ \ -+ if (__a3 == 0) \ -+ return (type) __v0; \ -+ return (type) -1; \ -+} -+ -+#if (_MIPS_SIM == _MIPS_SIM_ABI32) -+ -+/* -+ * Using those means your brain needs more than an oil change ;-) -+ */ -+ -+#define io_syscall5(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d,etype,e) \ -+type fname(atype a, btype b, ctype c, dtype d, etype e) \ -+{ \ -+ register unsigned long __a0 asm("$4") = (unsigned long) a; \ -+ register unsigned long __a1 asm("$5") = (unsigned long) b; \ -+ register unsigned long __a2 asm("$6") = (unsigned long) c; \ -+ register unsigned long __a3 asm("$7") = (unsigned long) d; \ -+ unsigned long __v0; \ -+ \ -+ __asm__ volatile ( \ -+ ".set\tnoreorder\n\t" \ -+ "lw\t$2, %6\n\t" \ -+ "subu\t$29, 32\n\t" \ -+ "sw\t$2, 16($29)\n\t" \ -+ "li\t$2, %5\t\t\t# " #fname "\n\t" \ -+ "syscall\n\t" \ -+ "move\t%0, $2\n\t" \ -+ "addiu\t$29, 32\n\t" \ -+ ".set\treorder" \ -+ : "=&r" (__v0), "+r" (__a3) \ -+ : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##sname), \ -+ "m" ((unsigned long)e) \ -+ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ -+ "memory"); \ -+ \ -+ if (__a3 == 0) \ -+ return (type) __v0; \ -+ return (type) -1; \ -+} -+ -+#endif /* (_MIPS_SIM == _MIPS_SIM_ABI32) */ -+ -+#if (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) -+ -+#define io_syscall5(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d,etype,e) \ -+type fname (atype a,btype b,ctype c,dtype d,etype e) \ -+{ \ -+ register unsigned long __a0 asm("$4") = (unsigned long) a; \ -+ register unsigned long __a1 asm("$5") = (unsigned long) b; \ -+ register unsigned long __a2 asm("$6") = (unsigned long) c; \ -+ register unsigned long __a3 asm("$7") = (unsigned long) d; \ -+ register unsigned long __a4 asm("$8") = (unsigned long) e; \ -+ unsigned long __v0; \ -+ \ -+ __asm__ volatile ( \ -+ ".set\tnoreorder\n\t" \ -+ "li\t$2, %6\t\t\t# " #fname "\n\t" \ -+ "syscall\n\t" \ -+ "move\t%0, $2\n\t" \ -+ ".set\treorder" \ -+ : "=&r" (__v0), "+r" (__a3) \ -+ : "r" (__a0), "r" (__a1), "r" (__a2), "r" (__a4), "i" (__NR_##sname) \ -+ : "$2", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ -+ "memory"); \ -+ \ -+ if (__a3 == 0) \ -+ return (type) __v0; \ -+ return (type) -1; \ -+} -+ -+#endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */ -+ -Index: libaio-0.3.109/src/syscall-parisc.h -=================================================================== ---- /dev/null -+++ libaio-0.3.109/src/syscall-parisc.h -@@ -0,0 +1,146 @@ -+/* -+ * Linux system call numbers. -+ * -+ * Cary Coutant says that we should just use another syscall gateway -+ * page to avoid clashing with the HPUX space, and I think he's right: -+ * it will would keep a branch out of our syscall entry path, at the -+ * very least. If we decide to change it later, we can ``just'' tweak -+ * the LINUX_GATEWAY_ADDR define at the bottom and make __NR_Linux be -+ * 1024 or something. Oh, and recompile libc. =) -+ * -+ * 64-bit HPUX binaries get the syscall gateway address passed in a register -+ * from the kernel at startup, which seems a sane strategy. -+ */ -+ -+#define __NR_Linux 0 -+#define __NR_io_setup (__NR_Linux + 215) -+#define __NR_io_destroy (__NR_Linux + 216) -+#define __NR_io_getevents (__NR_Linux + 217) -+#define __NR_io_submit (__NR_Linux + 218) -+#define __NR_io_cancel (__NR_Linux + 219) -+ -+#define SYS_ify(syscall_name) __NR_##syscall_name -+ -+/* Assume all syscalls are done from PIC code just to be -+ * safe. The worst case scenario is that you lose a register -+ * and save/restore r19 across the syscall. */ -+#define PIC -+ -+/* Definition taken from glibc 2.3.3 -+ * sysdeps/unix/sysv/linux/hppa/sysdep.h -+ */ -+ -+#ifdef PIC -+/* WARNING: CANNOT BE USED IN A NOP! */ -+# define K_STW_ASM_PIC " copy %%r19, %%r4\n" -+# define K_LDW_ASM_PIC " copy %%r4, %%r19\n" -+# define K_USING_GR4 "%r4", -+#else -+# define K_STW_ASM_PIC " \n" -+# define K_LDW_ASM_PIC " \n" -+# define K_USING_GR4 -+#endif -+ -+/* GCC has to be warned that a syscall may clobber all the ABI -+ registers listed as "caller-saves", see page 8, Table 2 -+ in section 2.2.6 of the PA-RISC RUN-TIME architecture -+ document. However! r28 is the result and will conflict with -+ the clobber list so it is left out. Also the input arguments -+ registers r20 -> r26 will conflict with the list so they -+ are treated specially. Although r19 is clobbered by the syscall -+ we cannot say this because it would violate ABI, thus we say -+ r4 is clobbered and use that register to save/restore r19 -+ across the syscall. */ -+ -+#define K_CALL_CLOB_REGS "%r1", "%r2", K_USING_GR4 \ -+ "%r20", "%r29", "%r31" -+ -+#undef K_INLINE_SYSCALL -+#define K_INLINE_SYSCALL(name, nr, args...) ({ \ -+ long __sys_res; \ -+ { \ -+ register unsigned long __res __asm__("r28"); \ -+ K_LOAD_ARGS_##nr(args) \ -+ /* FIXME: HACK stw/ldw r19 around syscall */ \ -+ __asm__ volatile( \ -+ K_STW_ASM_PIC \ -+ " ble 0x100(%%sr2, %%r0)\n" \ -+ " ldi %1, %%r20\n" \ -+ K_LDW_ASM_PIC \ -+ : "=r" (__res) \ -+ : "i" (SYS_ify(name)) K_ASM_ARGS_##nr \ -+ : "memory", K_CALL_CLOB_REGS K_CLOB_ARGS_##nr \ -+ ); \ -+ __sys_res = (long)__res; \ -+ } \ -+ __sys_res; \ -+}) -+ -+#define K_LOAD_ARGS_0() -+#define K_LOAD_ARGS_1(r26) \ -+ register unsigned long __r26 __asm__("r26") = (unsigned long)(r26); \ -+ K_LOAD_ARGS_0() -+#define K_LOAD_ARGS_2(r26,r25) \ -+ register unsigned long __r25 __asm__("r25") = (unsigned long)(r25); \ -+ K_LOAD_ARGS_1(r26) -+#define K_LOAD_ARGS_3(r26,r25,r24) \ -+ register unsigned long __r24 __asm__("r24") = (unsigned long)(r24); \ -+ K_LOAD_ARGS_2(r26,r25) -+#define K_LOAD_ARGS_4(r26,r25,r24,r23) \ -+ register unsigned long __r23 __asm__("r23") = (unsigned long)(r23); \ -+ K_LOAD_ARGS_3(r26,r25,r24) -+#define K_LOAD_ARGS_5(r26,r25,r24,r23,r22) \ -+ register unsigned long __r22 __asm__("r22") = (unsigned long)(r22); \ -+ K_LOAD_ARGS_4(r26,r25,r24,r23) -+#define K_LOAD_ARGS_6(r26,r25,r24,r23,r22,r21) \ -+ register unsigned long __r21 __asm__("r21") = (unsigned long)(r21); \ -+ K_LOAD_ARGS_5(r26,r25,r24,r23,r22) -+ -+/* Even with zero args we use r20 for the syscall number */ -+#define K_ASM_ARGS_0 -+#define K_ASM_ARGS_1 K_ASM_ARGS_0, "r" (__r26) -+#define K_ASM_ARGS_2 K_ASM_ARGS_1, "r" (__r25) -+#define K_ASM_ARGS_3 K_ASM_ARGS_2, "r" (__r24) -+#define K_ASM_ARGS_4 K_ASM_ARGS_3, "r" (__r23) -+#define K_ASM_ARGS_5 K_ASM_ARGS_4, "r" (__r22) -+#define K_ASM_ARGS_6 K_ASM_ARGS_5, "r" (__r21) -+ -+/* The registers not listed as inputs but clobbered */ -+#define K_CLOB_ARGS_6 -+#define K_CLOB_ARGS_5 K_CLOB_ARGS_6, "%r21" -+#define K_CLOB_ARGS_4 K_CLOB_ARGS_5, "%r22" -+#define K_CLOB_ARGS_3 K_CLOB_ARGS_4, "%r23" -+#define K_CLOB_ARGS_2 K_CLOB_ARGS_3, "%r24" -+#define K_CLOB_ARGS_1 K_CLOB_ARGS_2, "%r25" -+#define K_CLOB_ARGS_0 K_CLOB_ARGS_1, "%r26" -+ -+#define io_syscall1(type,fname,sname,type1,arg1) \ -+type fname(type1 arg1) \ -+{ \ -+ return K_INLINE_SYSCALL(sname, 1, arg1); \ -+} -+ -+#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \ -+type fname(type1 arg1, type2 arg2) \ -+{ \ -+ return K_INLINE_SYSCALL(sname, 2, arg1, arg2); \ -+} -+ -+#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \ -+type fname(type1 arg1, type2 arg2, type3 arg3) \ -+{ \ -+ return K_INLINE_SYSCALL(sname, 3, arg1, arg2, arg3); \ -+} -+ -+#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ -+type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ -+{ \ -+ return K_INLINE_SYSCALL(sname, 4, arg1, arg2, arg3, arg4); \ -+} -+ -+#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5) \ -+type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \ -+{ \ -+ return K_INLINE_SYSCALL(sname, 5, arg1, arg2, arg3, arg4, arg5); \ -+} -+ -Index: libaio-0.3.109/src/syscall-sparc.h -=================================================================== ---- /dev/null -+++ libaio-0.3.109/src/syscall-sparc.h -@@ -0,0 +1,130 @@ -+/* $Id: unistd.h,v 1.74 2002/02/08 03:57:18 davem Exp $ */ -+ -+/* -+ * System calls under the Sparc. -+ * -+ * Don't be scared by the ugly clobbers, it is the only way I can -+ * think of right now to force the arguments into fixed registers -+ * before the trap into the system call with gcc 'asm' statements. -+ * -+ * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) -+ * -+ * SunOS compatibility based upon preliminary work which is: -+ * -+ * Copyright (C) 1995 Adrian M. Rodriguez (adrian@remus.rutgers.edu) -+ */ -+ -+ -+#define __NR_io_setup 268 -+#define __NR_io_destroy 269 -+#define __NR_io_submit 270 -+#define __NR_io_cancel 271 -+#define __NR_io_getevents 272 -+ -+ -+#define io_syscall1(type,fname,sname,type1,arg1) \ -+type fname(type1 arg1) \ -+{ \ -+long __res; \ -+register long __g1 __asm__ ("g1") = __NR_##sname; \ -+register long __o0 __asm__ ("o0") = (long)(arg1); \ -+__asm__ __volatile__ ("t 0x10\n\t" \ -+ "bcc 1f\n\t" \ -+ "mov %%o0, %0\n\t" \ -+ "sub %%g0, %%o0, %0\n\t" \ -+ "1:\n\t" \ -+ : "=r" (__res), "=&r" (__o0) \ -+ : "1" (__o0), "r" (__g1) \ -+ : "cc"); \ -+if (__res < -255 || __res >= 0) \ -+ return (type) __res; \ -+return -1; \ -+} -+ -+#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \ -+type fname(type1 arg1,type2 arg2) \ -+{ \ -+long __res; \ -+register long __g1 __asm__ ("g1") = __NR_##sname; \ -+register long __o0 __asm__ ("o0") = (long)(arg1); \ -+register long __o1 __asm__ ("o1") = (long)(arg2); \ -+__asm__ __volatile__ ("t 0x10\n\t" \ -+ "bcc 1f\n\t" \ -+ "mov %%o0, %0\n\t" \ -+ "sub %%g0, %%o0, %0\n\t" \ -+ "1:\n\t" \ -+ : "=r" (__res), "=&r" (__o0) \ -+ : "1" (__o0), "r" (__o1), "r" (__g1) \ -+ : "cc"); \ -+if (__res < -255 || __res >= 0) \ -+ return (type) __res; \ -+return -1; \ -+} -+ -+#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \ -+type fname(type1 arg1,type2 arg2,type3 arg3) \ -+{ \ -+long __res; \ -+register long __g1 __asm__ ("g1") = __NR_##sname; \ -+register long __o0 __asm__ ("o0") = (long)(arg1); \ -+register long __o1 __asm__ ("o1") = (long)(arg2); \ -+register long __o2 __asm__ ("o2") = (long)(arg3); \ -+__asm__ __volatile__ ("t 0x10\n\t" \ -+ "bcc 1f\n\t" \ -+ "mov %%o0, %0\n\t" \ -+ "sub %%g0, %%o0, %0\n\t" \ -+ "1:\n\t" \ -+ : "=r" (__res), "=&r" (__o0) \ -+ : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__g1) \ -+ : "cc"); \ -+if (__res < -255 || __res>=0) \ -+ return (type) __res; \ -+return -1; \ -+} -+ -+#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ -+type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ -+{ \ -+long __res; \ -+register long __g1 __asm__ ("g1") = __NR_##sname; \ -+register long __o0 __asm__ ("o0") = (long)(arg1); \ -+register long __o1 __asm__ ("o1") = (long)(arg2); \ -+register long __o2 __asm__ ("o2") = (long)(arg3); \ -+register long __o3 __asm__ ("o3") = (long)(arg4); \ -+__asm__ __volatile__ ("t 0x10\n\t" \ -+ "bcc 1f\n\t" \ -+ "mov %%o0, %0\n\t" \ -+ "sub %%g0, %%o0, %0\n\t" \ -+ "1:\n\t" \ -+ : "=r" (__res), "=&r" (__o0) \ -+ : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__o3), "r" (__g1) \ -+ : "cc"); \ -+if (__res < -255 || __res>=0) \ -+ return (type) __res; \ -+return -1; \ -+} -+ -+#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ -+ type5,arg5) \ -+type fname(type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \ -+{ \ -+long __res; \ -+register long __g1 __asm__ ("g1") = __NR_##sname; \ -+register long __o0 __asm__ ("o0") = (long)(arg1); \ -+register long __o1 __asm__ ("o1") = (long)(arg2); \ -+register long __o2 __asm__ ("o2") = (long)(arg3); \ -+register long __o3 __asm__ ("o3") = (long)(arg4); \ -+register long __o4 __asm__ ("o4") = (long)(arg5); \ -+__asm__ __volatile__ ("t 0x10\n\t" \ -+ "bcc 1f\n\t" \ -+ "mov %%o0, %0\n\t" \ -+ "sub %%g0, %%o0, %0\n\t" \ -+ "1:\n\t" \ -+ : "=r" (__res), "=&r" (__o0) \ -+ : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__o3), "r" (__o4), "r" (__g1) \ -+ : "cc"); \ -+if (__res < -255 || __res>=0) \ -+ return (type) __res; \ -+return -1; \ -+} -+ -Index: libaio-0.3.109/src/syscall.h -=================================================================== ---- libaio-0.3.109.orig/src/syscall.h -+++ libaio-0.3.109/src/syscall.h -@@ -24,6 +24,14 @@ - #include "syscall-alpha.h" - #elif defined(__arm__) - #include "syscall-arm.h" -+#elif defined(__m68k__) -+#include "syscall-m68k.h" -+#elif defined(__sparc__) -+#include "syscall-sparc.h" -+#elif defined(__hppa__) -+#include "syscall-parisc.h" -+#elif defined(__mips__) -+#include "syscall-mips.h" - #else - #error "add syscall-arch.h" - #endif diff --git a/package/libaio/libaio-0.3.109-avr32-support.patch b/package/libaio/libaio-0.3.109-avr32-support.patch deleted file mode 100644 index 57bb1f388c..0000000000 --- a/package/libaio/libaio-0.3.109-avr32-support.patch +++ /dev/null @@ -1,122 +0,0 @@ -Add AVR32 support to libaio - -Taken from OpenWRT repository. - ---- a/src/libaio.h -+++ b/src/libaio.h -@@ -107,6 +107,10 @@ typedef enum io_iocb_cmd { - # else - # error "neither mipseb nor mipsel?" - # endif -+#elif defined(__avr32__) /* big endian, 32 bits */ -+#define PADDED(x, y) unsigned y; x -+#define PADDEDptr(x, y) unsigned y; x -+#define PADDEDul(x, y) unsigned y; unsigned long x; - #else - #error endian? - #endif ---- /dev/null -+++ b/src/syscall-avr32.h -@@ -0,0 +1,91 @@ -+/* -+ * Copyright (C) 2007 Atmel Corporation -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation. -+ */ -+ -+#define __NR_io_setup 197 -+#define __NR_io_destroy 198 -+#define __NR_io_getevents 199 -+#define __NR_io_submit 200 -+#define __NR_io_cancel 201 -+ -+#define io_syscall1(type,fname,sname,type1,arg1) \ -+type fname(type1 arg1) \ -+{ \ -+ register long __r12 __asm__("r12") = (long)arg1; \ -+ register long __res_r12 __asm__("r12"); \ -+ register long __scno __asm__("r8") = __NR_##sname; \ -+ __asm__ __volatile__("scall" \ -+ : "=r"(__res_r12) \ -+ : "0"(__r12), "r"(__scno) \ -+ : "memory"); \ -+ return (type) __res_r12; \ -+} -+ -+#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \ -+type fname(type1 arg1, type2 arg2) \ -+{ \ -+ register long __r12 __asm__("r12") = (long)arg1; \ -+ register long __r11 __asm__("r11") = (long)arg2; \ -+ register long __res_r12 __asm__("r12"); \ -+ register long __scno __asm__("r8") = __NR_##sname; \ -+ __asm__ __volatile__("scall" \ -+ : "=r"(__res_r12) \ -+ : "0"(__r12), "r"(__r11), "r"(__scno) \ -+ : "memory"); \ -+ return (type) __res_r12; \ -+} -+ -+#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \ -+type fname(type1 arg1, type2 arg2, type3 arg3) \ -+{ \ -+ register long __r12 __asm__("r12") = (long)arg1; \ -+ register long __r11 __asm__("r11") = (long)arg2; \ -+ register long __r10 __asm__("r10") = (long)arg3; \ -+ register long __res_r12 __asm__("r12"); \ -+ register long __scno __asm__("r8") = __NR_##sname; \ -+ __asm__ __volatile__("scall" \ -+ : "=r"(__res_r12) \ -+ : "0"(__r12), "r"(__r11), "r"(__r10), \ -+ "r"(__scno) \ -+ : "memory"); \ -+ return (type) __res_r12; \ -+} -+ -+#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ -+type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ -+{ \ -+ register long __r12 __asm__("r12") = (long)arg1; \ -+ register long __r11 __asm__("r11") = (long)arg2; \ -+ register long __r10 __asm__("r10") = (long)arg3; \ -+ register long __r9 __asm__("r9") = (long)arg4; \ -+ register long __res_r12 __asm__("r12"); \ -+ register long __scno __asm__("r8") = __NR_##sname; \ -+ __asm__ __volatile__("scall" \ -+ : "=r"(__res_r12) \ -+ : "0"(__r12), "r"(__r11), "r"(__r10), \ -+ "r"(__r9), "r"(__scno) \ -+ : "memory"); \ -+ return (type) __res_r12; \ -+} -+ -+#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5) \ -+type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \ -+{ \ -+ register long __r12 __asm__("r12") = (long)arg1; \ -+ register long __r11 __asm__("r11") = (long)arg2; \ -+ register long __r10 __asm__("r10") = (long)arg3; \ -+ register long __r9 __asm__("r9") = (long)arg4; \ -+ register long __r5 __asm__("r5") = (long)arg5; \ -+ register long __res_r12 __asm__("r12"); \ -+ register long __scno __asm__("r8") = __NR_##sname; \ -+ __asm__ __volatile__("scall" \ -+ : "=r"(__res_r12) \ -+ : "0"(__r12), "r"(__r11), "r"(__r10), \ -+ "r"(__r9), "r"(__r5), "r"(__scno) \ -+ : "memory"); \ -+ return (type) __res_r12; \ -+} ---- a/src/syscall.h -+++ b/src/syscall.h -@@ -32,6 +32,8 @@ - #include "syscall-parisc.h" - #elif defined(__mips__) - #include "syscall-mips.h" -+#elif defined(__avr32__) -+#include "syscall-avr32.h" - #else - #error "add syscall-arch.h" - #endif diff --git a/package/libaio/libaio-0.3.109-destdir.patch b/package/libaio/libaio-0.3.109-destdir.patch deleted file mode 100644 index 583a2afa86..0000000000 --- a/package/libaio/libaio-0.3.109-destdir.patch +++ /dev/null @@ -1,24 +0,0 @@ -Patch borrowed from OpenEmbedded, available at -recipes/libaio/libaio-0.3.106/destdir.patch in their source tree. - -It just adds support for the traditional DESTDIR variable to install -the library in a different sysroot than the normal /. - -Signed-off-by: Thomas Petazzoni ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: libaio-0.3.109/Makefile -=================================================================== ---- libaio-0.3.109.orig/Makefile -+++ libaio-0.3.109/Makefile -@@ -23,7 +23,7 @@ - @$(MAKE) -C src - - install: -- @$(MAKE) -C src install prefix=$(prefix) includedir=$(includedir) libdir=$(libdir) -+ @$(MAKE) -C src install prefix=$(DESTDIR)$(prefix) includedir=$(DESTDIR)$(includedir) libdir=$(DESTDIR)$(libdir) - - check: - @$(MAKE) -C harness check diff --git a/package/libart/0001-art-config-cross.patch b/package/libart/0001-art-config-cross.patch new file mode 100644 index 0000000000..a54f26a235 --- /dev/null +++ b/package/libart/0001-art-config-cross.patch @@ -0,0 +1,34 @@ +diff -Nura libart_lgpl-2.3.21.orig/Makefile.am libart_lgpl-2.3.21/Makefile.am +--- libart_lgpl-2.3.21.orig/Makefile.am 2011-02-01 10:07:39.687545397 -0300 ++++ libart_lgpl-2.3.21/Makefile.am 2011-02-01 10:08:48.320545396 -0300 +@@ -5,11 +5,6 @@ + + noinst_SCRIPTS = gen_art_config.sh + +-BUILT_SOURCES = art_config.h +- +-art_config.h: +- ./gen_art_config.sh > art_config.h +- + EXTRA_DIST = \ + libart.def \ + libart-config.in \ +diff -Nura libart_lgpl-2.3.21.orig/art_config.h libart_lgpl-2.3.21/art_config.h +--- libart_lgpl-2.3.21.orig/art_config.h 2011-02-01 10:07:39.688545397 -0300 ++++ libart_lgpl-2.3.21/art_config.h 2011-02-01 10:08:27.315545395 -0300 +@@ -1,9 +1,15 @@ + /* Automatically generated by gen_art_config */ + ++#include ++ + #define ART_SIZEOF_CHAR 1 + #define ART_SIZEOF_SHORT 2 + #define ART_SIZEOF_INT 4 ++#if LONG_MAX == 2147483647L + #define ART_SIZEOF_LONG 4 ++#else ++#define ART_SIZEOF_LONG 8 ++#endif + + typedef unsigned char art_u8; + typedef unsigned short art_u16; diff --git a/package/libart/libart-art-config-cross.patch b/package/libart/libart-art-config-cross.patch deleted file mode 100644 index a54f26a235..0000000000 --- a/package/libart/libart-art-config-cross.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff -Nura libart_lgpl-2.3.21.orig/Makefile.am libart_lgpl-2.3.21/Makefile.am ---- libart_lgpl-2.3.21.orig/Makefile.am 2011-02-01 10:07:39.687545397 -0300 -+++ libart_lgpl-2.3.21/Makefile.am 2011-02-01 10:08:48.320545396 -0300 -@@ -5,11 +5,6 @@ - - noinst_SCRIPTS = gen_art_config.sh - --BUILT_SOURCES = art_config.h -- --art_config.h: -- ./gen_art_config.sh > art_config.h -- - EXTRA_DIST = \ - libart.def \ - libart-config.in \ -diff -Nura libart_lgpl-2.3.21.orig/art_config.h libart_lgpl-2.3.21/art_config.h ---- libart_lgpl-2.3.21.orig/art_config.h 2011-02-01 10:07:39.688545397 -0300 -+++ libart_lgpl-2.3.21/art_config.h 2011-02-01 10:08:27.315545395 -0300 -@@ -1,9 +1,15 @@ - /* Automatically generated by gen_art_config */ - -+#include -+ - #define ART_SIZEOF_CHAR 1 - #define ART_SIZEOF_SHORT 2 - #define ART_SIZEOF_INT 4 -+#if LONG_MAX == 2147483647L - #define ART_SIZEOF_LONG 4 -+#else -+#define ART_SIZEOF_LONG 8 -+#endif - - typedef unsigned char art_u8; - typedef unsigned short art_u16; diff --git a/package/libatasmart/0001-strpool-cross-flags.patch b/package/libatasmart/0001-strpool-cross-flags.patch new file mode 100644 index 0000000000..89b91cca41 --- /dev/null +++ b/package/libatasmart/0001-strpool-cross-flags.patch @@ -0,0 +1,42 @@ +From 730158700ea7a554c37f24bfbf5f4985f7280f3e Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Wed, 6 Feb 2013 14:07:02 +0100 +Subject: [PATCH] strpool: don't mix up host/build flags when cross compiling + +Submitted upstream as https://bugs.freedesktop.org/show_bug.cgi?id=60364 + +Commit b71035ce89 (build-sys: modernize build system) changed the strpool +(which needs to be built for the build machine) compilation to use +AM_CFLAGS / AM_LDFLAGS rather than CFLAGS / LDFLAGS. This is wrong, as +The AM_ version is used TOGETHER with (the user supplied) CFLAGS/LDFLAGS, +causing strpool to use both CFLAGS (for host) and CCFLAGS_FOR_BUILD (for +build) flags, breaking cross compilation with errors like: + +cc1: error: unrecognized command line option "-mabi=spe" + +Instead overwrite the (user supplied) CFLAGS with the (user supplied) +CFLAGS_FOR_BUILD (and similar for LDFLAGS) like we used to do. + +Signed-off-by: Peter Korsgaard +--- + strpool/Makefile.am | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/strpool/Makefile.am b/strpool/Makefile.am +index b041cea..5b335a5 100644 +--- a/strpool/Makefile.am ++++ b/strpool/Makefile.am +@@ -17,8 +17,8 @@ + # . + + CC = @CC_FOR_BUILD@ +-AM_CFLAGS = @BUILD_CFLAGS@ +-AM_LDFLAGS = @BUILD_LDFLAGS@ ++CFLAGS = @BUILD_CFLAGS@ ++LDFLAGS = @BUILD_LDFLAGS@ + + noinst_PROGRAMS = \ + strpool +-- +1.7.10.4 + diff --git a/package/libatasmart/libatasmart-strpool-cross-flags.patch b/package/libatasmart/libatasmart-strpool-cross-flags.patch deleted file mode 100644 index 89b91cca41..0000000000 --- a/package/libatasmart/libatasmart-strpool-cross-flags.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 730158700ea7a554c37f24bfbf5f4985f7280f3e Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Wed, 6 Feb 2013 14:07:02 +0100 -Subject: [PATCH] strpool: don't mix up host/build flags when cross compiling - -Submitted upstream as https://bugs.freedesktop.org/show_bug.cgi?id=60364 - -Commit b71035ce89 (build-sys: modernize build system) changed the strpool -(which needs to be built for the build machine) compilation to use -AM_CFLAGS / AM_LDFLAGS rather than CFLAGS / LDFLAGS. This is wrong, as -The AM_ version is used TOGETHER with (the user supplied) CFLAGS/LDFLAGS, -causing strpool to use both CFLAGS (for host) and CCFLAGS_FOR_BUILD (for -build) flags, breaking cross compilation with errors like: - -cc1: error: unrecognized command line option "-mabi=spe" - -Instead overwrite the (user supplied) CFLAGS with the (user supplied) -CFLAGS_FOR_BUILD (and similar for LDFLAGS) like we used to do. - -Signed-off-by: Peter Korsgaard ---- - strpool/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/strpool/Makefile.am b/strpool/Makefile.am -index b041cea..5b335a5 100644 ---- a/strpool/Makefile.am -+++ b/strpool/Makefile.am -@@ -17,8 +17,8 @@ - # . - - CC = @CC_FOR_BUILD@ --AM_CFLAGS = @BUILD_CFLAGS@ --AM_LDFLAGS = @BUILD_LDFLAGS@ -+CFLAGS = @BUILD_CFLAGS@ -+LDFLAGS = @BUILD_LDFLAGS@ - - noinst_PROGRAMS = \ - strpool --- -1.7.10.4 - diff --git a/package/libcgi/0001-misc-fixes.patch b/package/libcgi/0001-misc-fixes.patch new file mode 100644 index 0000000000..b576178546 --- /dev/null +++ b/package/libcgi/0001-misc-fixes.patch @@ -0,0 +1,122 @@ +Index: b/src/cgi.c +=================================================================== +--- a/src/cgi.c ++++ b/src/cgi.c +@@ -336,7 +336,7 @@ + hextable['b'] = 11; + hextable['c'] = 12; + hextable['d'] = 13; +- hextable['e'] = 13; ++ hextable['e'] = 14; + hextable['f'] = 15; + hextable['A'] = 10; + hextable['B'] = 11; +Index: b/src/string.c +=================================================================== +--- a/src/string.c ++++ b/src/string.c +@@ -584,7 +584,7 @@ + + va_start(ptr, s); + +- va_copy(bkp, str); ++ va_copy(bkp, ptr); + len = strlen(s); + + while (*str) { +Index: b/Makefile.in +=================================================================== +--- a/Makefile.in ++++ b/Makefile.in +@@ -5,22 +5,32 @@ + prefix = @prefix@ + exec_prefix = @exec_prefix@ + +-SHAREDOPT = -shared ++SHAREDOPT = -shared -fPIC -Wl,-soname,libcgi.so.0 + LIBDIR = $(prefix)/lib +-INCDIR = $(prefix)/include ++INCDIR = $(prefix)/include/libcgi/ + MANDIR = $(prefix)/man/man3 + SHELL = /bin/sh + EXTRA_LIBS = + + INCS = -Isrc +-FLAGS = -Wall -fpic ++FLAGS = -Wall -D_REENTRANT + + OBJS = src/error.o src/cgi.o src/session.o src/base64.o src/md5.o \ + src/string.o src/general.o src/list.o src/cookie.o ++SHOBJS=$(OBJS:.o=.sh.o) + +-.c.o: $(CC) $(FLAGS) -c $< ++ALL_TARGETS = src/libcgi.a ++ifeq ($(STATIC),) ++ALL_TARGETS += src/libcgi.so ++endif + +-all: $(OBJS) src/libcgi.so ++%.o: %.c ++ $(CC) $(FLAGS) -c $*.c -o $@ ++ ++%.sh.o: %.c ++ $(CC) $(FLAGS) -fPIC -c $*.c -o $@ ++ ++all: $(ALL_TARGETS) + + @echo "" + @echo "" +@@ -48,14 +58,17 @@ + src/libcgi.a: $(OBJS) + $(AR) rc src/libcgi.a $(OBJS) + +-src/libcgi.so: src/libcgi.a +- $(CC) $(SHAREDOPT) -o src/libcgi.so $(OBJS) $(EXTRA_LIBS) ++src/libcgi.so: $(SHOBJS) ++ $(CC) $(SHAREDOPT) -o src/libcgi.so $(SHOBJS) $(EXTRA_LIBS) + + install: +- cp src/libcgi.a $(LIBDIR) +- cp src/libcgi.so $(LIBDIR) +- cp src/cgi.h $(INCDIR) +- cp src/session.h $(INCDIR) ++ cp src/libcgi.a $(DESTDIR)/$(LIBDIR) ++ifeq ($(STATIC),) ++ cp src/libcgi.so $(DESTDIR)/$(LIBDIR) ++endif ++ [ -d $(DESTDIR)/$(INCDIR) ] || mkdir -p $(DESTDIR)/$(INCDIR) ++ cp src/cgi.h $(DESTDIR)/$(INCDIR) ++ cp src/session.h $(DESTDIR)/$(INCDIR) + + + src/error.o: src/error.c src/error.h +@@ -69,8 +82,9 @@ + src/list.o: src/list.c + + clean: +- find src/ -name *.*o -exec rm -f {} \; ++ find src/ -name *.o -exec rm -f {} \; + find src/ -name *.a -exec rm -f {} \; ++ find src/ -name *.so -exec rm -f {} \; + + uninstall: clean + rm -f $(LIBDIR)/libcgi.* +@@ -78,11 +92,11 @@ + rm -f $(INCDIR)/session.h + rm -f $(MANDIR)/libcgi* + +-install_man: +- cp doc/man/man3/libcgi_base64.3 $(MANDIR) +- cp doc/man/man3/libcgi_cgi.3 $(MANDIR) +- cp doc/man/man3/libcgi_general.3 $(MANDIR) +- cp doc/man/man3/libcgi_string.3 $(MANDIR) +- cp doc/man/man3/libcgi_session.3 $(MANDIR) +- cp doc/man/man3/libcgi_cookie.3 $(MANDIR) ++#install_man: ++# cp doc/man/man3/libcgi_base64.3 $(MANDIR) ++# cp doc/man/man3/libcgi_cgi.3 $(MANDIR) ++# cp doc/man/man3/libcgi_general.3 $(MANDIR) ++# cp doc/man/man3/libcgi_string.3 $(MANDIR) ++# cp doc/man/man3/libcgi_session.3 $(MANDIR) ++# cp doc/man/man3/libcgi_cookie.3 $(MANDIR) + diff --git a/package/libcgi/libcgi.patch b/package/libcgi/libcgi.patch deleted file mode 100644 index b576178546..0000000000 --- a/package/libcgi/libcgi.patch +++ /dev/null @@ -1,122 +0,0 @@ -Index: b/src/cgi.c -=================================================================== ---- a/src/cgi.c -+++ b/src/cgi.c -@@ -336,7 +336,7 @@ - hextable['b'] = 11; - hextable['c'] = 12; - hextable['d'] = 13; -- hextable['e'] = 13; -+ hextable['e'] = 14; - hextable['f'] = 15; - hextable['A'] = 10; - hextable['B'] = 11; -Index: b/src/string.c -=================================================================== ---- a/src/string.c -+++ b/src/string.c -@@ -584,7 +584,7 @@ - - va_start(ptr, s); - -- va_copy(bkp, str); -+ va_copy(bkp, ptr); - len = strlen(s); - - while (*str) { -Index: b/Makefile.in -=================================================================== ---- a/Makefile.in -+++ b/Makefile.in -@@ -5,22 +5,32 @@ - prefix = @prefix@ - exec_prefix = @exec_prefix@ - --SHAREDOPT = -shared -+SHAREDOPT = -shared -fPIC -Wl,-soname,libcgi.so.0 - LIBDIR = $(prefix)/lib --INCDIR = $(prefix)/include -+INCDIR = $(prefix)/include/libcgi/ - MANDIR = $(prefix)/man/man3 - SHELL = /bin/sh - EXTRA_LIBS = - - INCS = -Isrc --FLAGS = -Wall -fpic -+FLAGS = -Wall -D_REENTRANT - - OBJS = src/error.o src/cgi.o src/session.o src/base64.o src/md5.o \ - src/string.o src/general.o src/list.o src/cookie.o -+SHOBJS=$(OBJS:.o=.sh.o) - --.c.o: $(CC) $(FLAGS) -c $< -+ALL_TARGETS = src/libcgi.a -+ifeq ($(STATIC),) -+ALL_TARGETS += src/libcgi.so -+endif - --all: $(OBJS) src/libcgi.so -+%.o: %.c -+ $(CC) $(FLAGS) -c $*.c -o $@ -+ -+%.sh.o: %.c -+ $(CC) $(FLAGS) -fPIC -c $*.c -o $@ -+ -+all: $(ALL_TARGETS) - - @echo "" - @echo "" -@@ -48,14 +58,17 @@ - src/libcgi.a: $(OBJS) - $(AR) rc src/libcgi.a $(OBJS) - --src/libcgi.so: src/libcgi.a -- $(CC) $(SHAREDOPT) -o src/libcgi.so $(OBJS) $(EXTRA_LIBS) -+src/libcgi.so: $(SHOBJS) -+ $(CC) $(SHAREDOPT) -o src/libcgi.so $(SHOBJS) $(EXTRA_LIBS) - - install: -- cp src/libcgi.a $(LIBDIR) -- cp src/libcgi.so $(LIBDIR) -- cp src/cgi.h $(INCDIR) -- cp src/session.h $(INCDIR) -+ cp src/libcgi.a $(DESTDIR)/$(LIBDIR) -+ifeq ($(STATIC),) -+ cp src/libcgi.so $(DESTDIR)/$(LIBDIR) -+endif -+ [ -d $(DESTDIR)/$(INCDIR) ] || mkdir -p $(DESTDIR)/$(INCDIR) -+ cp src/cgi.h $(DESTDIR)/$(INCDIR) -+ cp src/session.h $(DESTDIR)/$(INCDIR) - - - src/error.o: src/error.c src/error.h -@@ -69,8 +82,9 @@ - src/list.o: src/list.c - - clean: -- find src/ -name *.*o -exec rm -f {} \; -+ find src/ -name *.o -exec rm -f {} \; - find src/ -name *.a -exec rm -f {} \; -+ find src/ -name *.so -exec rm -f {} \; - - uninstall: clean - rm -f $(LIBDIR)/libcgi.* -@@ -78,11 +92,11 @@ - rm -f $(INCDIR)/session.h - rm -f $(MANDIR)/libcgi* - --install_man: -- cp doc/man/man3/libcgi_base64.3 $(MANDIR) -- cp doc/man/man3/libcgi_cgi.3 $(MANDIR) -- cp doc/man/man3/libcgi_general.3 $(MANDIR) -- cp doc/man/man3/libcgi_string.3 $(MANDIR) -- cp doc/man/man3/libcgi_session.3 $(MANDIR) -- cp doc/man/man3/libcgi_cookie.3 $(MANDIR) -+#install_man: -+# cp doc/man/man3/libcgi_base64.3 $(MANDIR) -+# cp doc/man/man3/libcgi_cgi.3 $(MANDIR) -+# cp doc/man/man3/libcgi_general.3 $(MANDIR) -+# cp doc/man/man3/libcgi_string.3 $(MANDIR) -+# cp doc/man/man3/libcgi_session.3 $(MANDIR) -+# cp doc/man/man3/libcgi_cookie.3 $(MANDIR) - diff --git a/package/libcgicc/0001-disable-documentation-option.patch b/package/libcgicc/0001-disable-documentation-option.patch new file mode 100644 index 0000000000..a7b04a83a7 --- /dev/null +++ b/package/libcgicc/0001-disable-documentation-option.patch @@ -0,0 +1,50 @@ +Index: cgicc-3.2.9/Makefile.am +=================================================================== +--- cgicc-3.2.9.orig/Makefile.am 2010-02-25 16:34:06.000000000 +0100 ++++ cgicc-3.2.9/Makefile.am 2010-02-25 16:34:14.000000000 +0100 +@@ -8,9 +8,15 @@ + DEMO = + endif + ++if DOC ++DOCDIR = doc ++else ++DOC = ++endif ++ + ACLOCAL_AMFLAGS= + +-SUBDIRS = cgicc doc support $(DEMO) ++SUBDIRS = cgicc $(DOCDIR) support $(DEMO) + + CLEANFILES = *~ + +Index: cgicc-3.2.9/configure.ac +=================================================================== +--- cgicc-3.2.9.orig/configure.ac 2010-02-25 16:34:06.000000000 +0100 ++++ cgicc-3.2.9/configure.ac 2010-02-25 16:45:46.000000000 +0100 +@@ -17,9 +17,23 @@ + AC_PROG_CXX + AC_PROG_INSTALL + AC_PROG_LIBTOOL +-AC_CHECK_PROG(DOXYGEN, doxygen, doxygen, /bin/echo) + + ++AC_ARG_ENABLE(doc, ++ [ --enable-doc build doc [[default=yes]]], ++ [case "${enableval}" in ++ yes) cgicc_doc=yes ;; ++ no) cgicc_doc=no ;; ++ *) AC_MSG_ERROR(bad value ${enableval} for --enable-doc) ;; ++ esac], cgicc_doc=yes) ++ ++if test "$cgicc_doc" = yes; then ++ AC_CHECK_PROG(DOXYGEN, doxygen, doxygen) ++ if test -z "$DOXYGEN" ; then ++ AC_MSG_ERROR([Doxygen is required to build the documentation]) ++ fi ++fi ++AM_CONDITIONAL(DOC, test "$cgicc_doc" = yes) + + dnl Determine host system type + diff --git a/package/libcgicc/libcgicc-01-disable-documentation-option.patch b/package/libcgicc/libcgicc-01-disable-documentation-option.patch deleted file mode 100644 index a7b04a83a7..0000000000 --- a/package/libcgicc/libcgicc-01-disable-documentation-option.patch +++ /dev/null @@ -1,50 +0,0 @@ -Index: cgicc-3.2.9/Makefile.am -=================================================================== ---- cgicc-3.2.9.orig/Makefile.am 2010-02-25 16:34:06.000000000 +0100 -+++ cgicc-3.2.9/Makefile.am 2010-02-25 16:34:14.000000000 +0100 -@@ -8,9 +8,15 @@ - DEMO = - endif - -+if DOC -+DOCDIR = doc -+else -+DOC = -+endif -+ - ACLOCAL_AMFLAGS= - --SUBDIRS = cgicc doc support $(DEMO) -+SUBDIRS = cgicc $(DOCDIR) support $(DEMO) - - CLEANFILES = *~ - -Index: cgicc-3.2.9/configure.ac -=================================================================== ---- cgicc-3.2.9.orig/configure.ac 2010-02-25 16:34:06.000000000 +0100 -+++ cgicc-3.2.9/configure.ac 2010-02-25 16:45:46.000000000 +0100 -@@ -17,9 +17,23 @@ - AC_PROG_CXX - AC_PROG_INSTALL - AC_PROG_LIBTOOL --AC_CHECK_PROG(DOXYGEN, doxygen, doxygen, /bin/echo) - - -+AC_ARG_ENABLE(doc, -+ [ --enable-doc build doc [[default=yes]]], -+ [case "${enableval}" in -+ yes) cgicc_doc=yes ;; -+ no) cgicc_doc=no ;; -+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-doc) ;; -+ esac], cgicc_doc=yes) -+ -+if test "$cgicc_doc" = yes; then -+ AC_CHECK_PROG(DOXYGEN, doxygen, doxygen) -+ if test -z "$DOXYGEN" ; then -+ AC_MSG_ERROR([Doxygen is required to build the documentation]) -+ fi -+fi -+AM_CONDITIONAL(DOC, test "$cgicc_doc" = yes) - - dnl Determine host system type - diff --git a/package/libconfuse/0001-fix-configure-ac.patch b/package/libconfuse/0001-fix-configure-ac.patch new file mode 100644 index 0000000000..6d61b4881b --- /dev/null +++ b/package/libconfuse/0001-fix-configure-ac.patch @@ -0,0 +1,27 @@ +configure: remove po/Makefile.in from AC_CONFIG_FILES + +Since we are gettextizing the package, gettextize updates configure.ac +to add po/Makefile.in to AC_CONFIG_FILES> + +Unfortunately, it's already present, and gettextize does not detect it, +and insists on adding its own. Later on, autoreconf barfs on the double +occurences. + +As suggested by Arnout, just patch configure.ac to remove the +po/Makefile.in occurence, so gettextize can safely add its own + +Reported-by: Arnout Vandecappelle +Signed-off-by: "Yann E. MORIN" +Cc: Alvaro Gamez + +diff -durN libconfuse-V2_7.orig/configure.ac libconfuse-V2_7/configure.ac +--- libconfuse-V2_7.orig/configure.ac 2010-02-20 10:14:10.000000000 +0100 ++++ libconfuse-V2_7/configure.ac 2014-07-17 00:19:18.816785340 +0200 +@@ -49,7 +49,6 @@ + AC_CONFIG_FILES([Makefile \ + src/Makefile \ + examples/Makefile \ +- po/Makefile.in \ + m4/Makefile \ + tests/Makefile \ + doc/Makefile \ diff --git a/package/libconfuse/libconfuse-0000-fix-configure-ac.patch b/package/libconfuse/libconfuse-0000-fix-configure-ac.patch deleted file mode 100644 index 6d61b4881b..0000000000 --- a/package/libconfuse/libconfuse-0000-fix-configure-ac.patch +++ /dev/null @@ -1,27 +0,0 @@ -configure: remove po/Makefile.in from AC_CONFIG_FILES - -Since we are gettextizing the package, gettextize updates configure.ac -to add po/Makefile.in to AC_CONFIG_FILES> - -Unfortunately, it's already present, and gettextize does not detect it, -and insists on adding its own. Later on, autoreconf barfs on the double -occurences. - -As suggested by Arnout, just patch configure.ac to remove the -po/Makefile.in occurence, so gettextize can safely add its own - -Reported-by: Arnout Vandecappelle -Signed-off-by: "Yann E. MORIN" -Cc: Alvaro Gamez - -diff -durN libconfuse-V2_7.orig/configure.ac libconfuse-V2_7/configure.ac ---- libconfuse-V2_7.orig/configure.ac 2010-02-20 10:14:10.000000000 +0100 -+++ libconfuse-V2_7/configure.ac 2014-07-17 00:19:18.816785340 +0200 -@@ -49,7 +49,6 @@ - AC_CONFIG_FILES([Makefile \ - src/Makefile \ - examples/Makefile \ -- po/Makefile.in \ - m4/Makefile \ - tests/Makefile \ - doc/Makefile \ diff --git a/package/libcue/0001-_unused-fix.patch b/package/libcue/0001-_unused-fix.patch new file mode 100644 index 0000000000..8a58919325 --- /dev/null +++ b/package/libcue/0001-_unused-fix.patch @@ -0,0 +1,50 @@ +[PATCH] fix build on uClibc + +Use cue_unused / cue_dead2 for the unused/non-returning annotation macros, +as uClibc defines a struct member called __unused in stdio.h when built +with locale support, breaking the build. + +According to ANSI C 4.1.2.1, defines beginning with '__' are reserved +for the implementation, so shouldn't be used in user code. + +Signed-off-by: Peter Korsgaard +--- + src/libcue/cue_scanner.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +Index: libcue-1.4.0/src/libcue/cue_scanner.c +=================================================================== +--- libcue-1.4.0.orig/src/libcue/cue_scanner.c ++++ libcue-1.4.0/src/libcue/cue_scanner.c +@@ -7,9 +7,11 @@ + + #if defined(__FreeBSD__) + #include ++#define cue_unused __unused ++#define cue_dead2 __dead2 + #else +-#define __unused +-#define __dead2 ++#define cue_unused ++#define cue_dead2 + #endif + + #define FLEX_SCANNER +@@ -248,7 +250,7 @@ + YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len )); + + static void *yy_flex_alloc YY_PROTO(( yy_size_t )); +-static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) __unused; ++static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) cue_unused; + static void yy_flex_free YY_PROTO(( void * )); + + #define yy_new_buffer yy_create_buffer +@@ -285,7 +287,7 @@ + static yy_state_type yy_get_previous_state YY_PROTO(( void )); + static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state )); + static int yy_get_next_buffer YY_PROTO(( void )); +-static void yy_fatal_error YY_PROTO(( yyconst char msg[] )) __dead2; ++static void yy_fatal_error YY_PROTO(( yyconst char msg[] )) cue_dead2; + + /* Done after the current pattern has been matched and before the + * corresponding action - sets up yytext. diff --git a/package/libcue/libcue-1.4.0-__unused-fix.patch b/package/libcue/libcue-1.4.0-__unused-fix.patch deleted file mode 100644 index 8a58919325..0000000000 --- a/package/libcue/libcue-1.4.0-__unused-fix.patch +++ /dev/null @@ -1,50 +0,0 @@ -[PATCH] fix build on uClibc - -Use cue_unused / cue_dead2 for the unused/non-returning annotation macros, -as uClibc defines a struct member called __unused in stdio.h when built -with locale support, breaking the build. - -According to ANSI C 4.1.2.1, defines beginning with '__' are reserved -for the implementation, so shouldn't be used in user code. - -Signed-off-by: Peter Korsgaard ---- - src/libcue/cue_scanner.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -Index: libcue-1.4.0/src/libcue/cue_scanner.c -=================================================================== ---- libcue-1.4.0.orig/src/libcue/cue_scanner.c -+++ libcue-1.4.0/src/libcue/cue_scanner.c -@@ -7,9 +7,11 @@ - - #if defined(__FreeBSD__) - #include -+#define cue_unused __unused -+#define cue_dead2 __dead2 - #else --#define __unused --#define __dead2 -+#define cue_unused -+#define cue_dead2 - #endif - - #define FLEX_SCANNER -@@ -248,7 +250,7 @@ - YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len )); - - static void *yy_flex_alloc YY_PROTO(( yy_size_t )); --static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) __unused; -+static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) cue_unused; - static void yy_flex_free YY_PROTO(( void * )); - - #define yy_new_buffer yy_create_buffer -@@ -285,7 +287,7 @@ - static yy_state_type yy_get_previous_state YY_PROTO(( void )); - static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state )); - static int yy_get_next_buffer YY_PROTO(( void )); --static void yy_fatal_error YY_PROTO(( yyconst char msg[] )) __dead2; -+static void yy_fatal_error YY_PROTO(( yyconst char msg[] )) cue_dead2; - - /* Done after the current pattern has been matched and before the - * corresponding action - sets up yytext. diff --git a/package/libcuefile/0001-fix-static-link.patch b/package/libcuefile/0001-fix-static-link.patch new file mode 100644 index 0000000000..6eb58909fd --- /dev/null +++ b/package/libcuefile/0001-fix-static-link.patch @@ -0,0 +1,25 @@ +Fix static only build + +Make sure to build the shared library only if BUILD_SHARED_LIBS is +ON. Normally, CMake takes care of this automatically, but libcuefile +wants to build both the shared and static variants, so the normal +logic of CMake doesn't apply. + +Signed-off-by: Thomas Petazzoni + +Index: b/src/CMakeLists.txt +=================================================================== +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -4,7 +4,11 @@ + add_library(cuefile-static STATIC cd cdtext cue_parse cue_print cue_scan cuefile time toc toc_parse toc_print toc_scan) + set_target_properties(cuefile-static PROPERTIES OUTPUT_NAME cuefile CLEAN_DIRECT_OUTPUT 1) + ++if (BUILD_SHARED_LIBS) + add_library(cuefile-shared SHARED cd cdtext cue_parse cue_print cue_scan cuefile time toc toc_parse toc_print toc_scan) + set_target_properties(cuefile-shared PROPERTIES OUTPUT_NAME cuefile CLEAN_DIRECT_OUTPUT 1 VERSION 0.0.0 SOVERSION 0) + + install(TARGETS cuefile-static cuefile-shared LIBRARY DESTINATION "lib${LIB_SUFFIX}" ARCHIVE DESTINATION "lib${LIB_SUFFIX}") ++else (BUILD_SHARED_LIBS) ++install(TARGETS cuefile-static LIBRARY DESTINATION "lib${LIB_SUFFIX}" ARCHIVE DESTINATION "lib${LIB_SUFFIX}") ++endif (BUILD_SHARED_LIBS) diff --git a/package/libcuefile/libcuefile-0001-fix-static-link.patch b/package/libcuefile/libcuefile-0001-fix-static-link.patch deleted file mode 100644 index 6eb58909fd..0000000000 --- a/package/libcuefile/libcuefile-0001-fix-static-link.patch +++ /dev/null @@ -1,25 +0,0 @@ -Fix static only build - -Make sure to build the shared library only if BUILD_SHARED_LIBS is -ON. Normally, CMake takes care of this automatically, but libcuefile -wants to build both the shared and static variants, so the normal -logic of CMake doesn't apply. - -Signed-off-by: Thomas Petazzoni - -Index: b/src/CMakeLists.txt -=================================================================== ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -4,7 +4,11 @@ - add_library(cuefile-static STATIC cd cdtext cue_parse cue_print cue_scan cuefile time toc toc_parse toc_print toc_scan) - set_target_properties(cuefile-static PROPERTIES OUTPUT_NAME cuefile CLEAN_DIRECT_OUTPUT 1) - -+if (BUILD_SHARED_LIBS) - add_library(cuefile-shared SHARED cd cdtext cue_parse cue_print cue_scan cuefile time toc toc_parse toc_print toc_scan) - set_target_properties(cuefile-shared PROPERTIES OUTPUT_NAME cuefile CLEAN_DIRECT_OUTPUT 1 VERSION 0.0.0 SOVERSION 0) - - install(TARGETS cuefile-static cuefile-shared LIBRARY DESTINATION "lib${LIB_SUFFIX}" ARCHIVE DESTINATION "lib${LIB_SUFFIX}") -+else (BUILD_SHARED_LIBS) -+install(TARGETS cuefile-static LIBRARY DESTINATION "lib${LIB_SUFFIX}" ARCHIVE DESTINATION "lib${LIB_SUFFIX}") -+endif (BUILD_SHARED_LIBS) diff --git a/package/libdaemon/0001-testd-use-unistd-h-instead-of-sys-unistd-h.patch b/package/libdaemon/0001-testd-use-unistd-h-instead-of-sys-unistd-h.patch new file mode 100644 index 0000000000..c8f4270d6a --- /dev/null +++ b/package/libdaemon/0001-testd-use-unistd-h-instead-of-sys-unistd-h.patch @@ -0,0 +1,16 @@ +examples/testd.c: As the C POSIX library recommends include the +instead of . This removes an error when building libdaemon +against the musl C library. + +Signed-off-by: Jörg Krause +--- libdaemon-0.14.orig/examples/testd.c 2014-08-30 00:27:08.359832977 +0200 ++++ libdaemon-0.14/examples/testd.c 2014-08-30 00:27:25.439832670 +0200 +@@ -23,7 +23,7 @@ + #include + #include + #include +-#include ++#include + #include + + #include diff --git a/package/libdaemon/libdaemon-0001-testd-use-unistd-h-instead-of-sys-unistd-h.patch b/package/libdaemon/libdaemon-0001-testd-use-unistd-h-instead-of-sys-unistd-h.patch deleted file mode 100644 index c8f4270d6a..0000000000 --- a/package/libdaemon/libdaemon-0001-testd-use-unistd-h-instead-of-sys-unistd-h.patch +++ /dev/null @@ -1,16 +0,0 @@ -examples/testd.c: As the C POSIX library recommends include the -instead of . This removes an error when building libdaemon -against the musl C library. - -Signed-off-by: Jörg Krause ---- libdaemon-0.14.orig/examples/testd.c 2014-08-30 00:27:08.359832977 +0200 -+++ libdaemon-0.14/examples/testd.c 2014-08-30 00:27:25.439832670 +0200 -@@ -23,7 +23,7 @@ - #include - #include - #include --#include -+#include - #include - - #include diff --git a/package/libdnet/0001-python-gcc.patch b/package/libdnet/0001-python-gcc.patch new file mode 100644 index 0000000000..ea732e4358 --- /dev/null +++ b/package/libdnet/0001-python-gcc.patch @@ -0,0 +1,20 @@ +--- a/python/dnet.c 2006-01-19 18:08:23.000000000 +1100 ++++ b/python/dnet.c 2008-09-03 16:30:47.000000000 +1000 +@@ -2726,7 +2726,7 @@ + PyObject *__pyx_3 = 0; + unsigned short __pyx_4; + Py_INCREF(__pyx_v_self); +- ((PyObject*)__pyx_v_next) = Py_None; Py_INCREF(((PyObject*)__pyx_v_next)); ++ __pyx_v_next = (struct __pyx_obj_4dnet_addr*)Py_None; Py_INCREF(((PyObject*)__pyx_v_next)); + + /* "/Users/dugsong/projects/libdnet/python/./dnet.pyx":634 */ + __pyx_1 = (((struct __pyx_obj_4dnet___addr_ip4_iter *)__pyx_v_self)->cur <= ((struct __pyx_obj_4dnet___addr_ip4_iter *)__pyx_v_self)->max); +@@ -2738,7 +2739,7 @@ + Py_DECREF(__pyx_2); __pyx_2 = 0; + if (!__Pyx_TypeTest(__pyx_3, __pyx_ptype_4dnet_addr)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; goto __pyx_L1;} + Py_DECREF(((PyObject *)__pyx_v_next)); +- ((PyObject *)__pyx_v_next) = __pyx_3; ++ __pyx_v_next = (struct __pyx_obj_4dnet_addr*)__pyx_3; + __pyx_3 = 0; + + /* "/Users/dugsong/projects/libdnet/python/./dnet.pyx":636 */ diff --git a/package/libdnet/0002-python-makefile.patch b/package/libdnet/0002-python-makefile.patch new file mode 100644 index 0000000000..fb41e43e35 --- /dev/null +++ b/package/libdnet/0002-python-makefile.patch @@ -0,0 +1,16 @@ +--- + python/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +Index: libdnet-1.11/python/Makefile.am +=================================================================== +--- libdnet-1.11.orig/python/Makefile.am ++++ libdnet-1.11/python/Makefile.am +@@ -11,6 +11,7 @@ + pyrexc $(srcdir)/dnet.pyx + + python-build: $(srcdir)/dnet.c ++ CC="$(CC)" LDSHARED="$(CC) -shared" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" $(PYTHON) setup.py build_ext -I$(PYINCDIR) -L$(PYLIBDIR) + $(PYTHON) setup.py build + touch python-build + diff --git a/package/libdnet/libdnet-001-python-gcc.patch b/package/libdnet/libdnet-001-python-gcc.patch deleted file mode 100644 index ea732e4358..0000000000 --- a/package/libdnet/libdnet-001-python-gcc.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/python/dnet.c 2006-01-19 18:08:23.000000000 +1100 -+++ b/python/dnet.c 2008-09-03 16:30:47.000000000 +1000 -@@ -2726,7 +2726,7 @@ - PyObject *__pyx_3 = 0; - unsigned short __pyx_4; - Py_INCREF(__pyx_v_self); -- ((PyObject*)__pyx_v_next) = Py_None; Py_INCREF(((PyObject*)__pyx_v_next)); -+ __pyx_v_next = (struct __pyx_obj_4dnet_addr*)Py_None; Py_INCREF(((PyObject*)__pyx_v_next)); - - /* "/Users/dugsong/projects/libdnet/python/./dnet.pyx":634 */ - __pyx_1 = (((struct __pyx_obj_4dnet___addr_ip4_iter *)__pyx_v_self)->cur <= ((struct __pyx_obj_4dnet___addr_ip4_iter *)__pyx_v_self)->max); -@@ -2738,7 +2739,7 @@ - Py_DECREF(__pyx_2); __pyx_2 = 0; - if (!__Pyx_TypeTest(__pyx_3, __pyx_ptype_4dnet_addr)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; goto __pyx_L1;} - Py_DECREF(((PyObject *)__pyx_v_next)); -- ((PyObject *)__pyx_v_next) = __pyx_3; -+ __pyx_v_next = (struct __pyx_obj_4dnet_addr*)__pyx_3; - __pyx_3 = 0; - - /* "/Users/dugsong/projects/libdnet/python/./dnet.pyx":636 */ diff --git a/package/libdnet/libdnet-002-python-makefile.patch b/package/libdnet/libdnet-002-python-makefile.patch deleted file mode 100644 index fb41e43e35..0000000000 --- a/package/libdnet/libdnet-002-python-makefile.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- - python/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -Index: libdnet-1.11/python/Makefile.am -=================================================================== ---- libdnet-1.11.orig/python/Makefile.am -+++ libdnet-1.11/python/Makefile.am -@@ -11,6 +11,7 @@ - pyrexc $(srcdir)/dnet.pyx - - python-build: $(srcdir)/dnet.c -+ CC="$(CC)" LDSHARED="$(CC) -shared" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" $(PYTHON) setup.py build_ext -I$(PYINCDIR) -L$(PYLIBDIR) - $(PYTHON) setup.py build - touch python-build - diff --git a/package/libdvdnav/0001-fix-os2-support.patch b/package/libdvdnav/0001-fix-os2-support.patch new file mode 100644 index 0000000000..0f75f2fbd7 --- /dev/null +++ b/package/libdvdnav/0001-fix-os2-support.patch @@ -0,0 +1,32 @@ +configure: fix build on NIOS II platform + +NIOS II is a CPU architecture from Altera, which uses 'nios2' as the +architecture part of the tuple. Unfortunately, 'nios2' matches the +current '*os2*' test done by libdvdnav's configure script to detect +the OS/2 operating system. This leads to build issues as the build +process of libdvdnav then tries to use OS/2 specific compiler +options, that do not exist in the gcc used for Linux/NIOS2. + +To fix this, this patch makes the test for OS/2 a little bit more +specific: in the case of the OS/2 operating system, the OS part of the +tuple contains just 'os2' (confirmed by looking at config.guess and +config.sub in the gnuconfig project). So using '*-os2-*' will properly +match the OS/2 operating system but not the NIOS II architecture. + +Upstream-status: not needed, newer upstream versions no longer have + this test +Signed-off-by: Thomas Petazzoni + +Index: b/configure.ac +=================================================================== +--- a/configure.ac ++++ b/configure.ac +@@ -166,7 +166,7 @@ + *cygwin*) + LDFLAGS="-no-undefined $LDFLAGS" + ;; +- *os2*) ++ *-os2-*) + LDFLAGS="-no-undefined -Zbin-files $LDFLAGS" + ;; + *) diff --git a/package/libdvdnav/libdvdnav-01-fix-os2-support.patch b/package/libdvdnav/libdvdnav-01-fix-os2-support.patch deleted file mode 100644 index 0f75f2fbd7..0000000000 --- a/package/libdvdnav/libdvdnav-01-fix-os2-support.patch +++ /dev/null @@ -1,32 +0,0 @@ -configure: fix build on NIOS II platform - -NIOS II is a CPU architecture from Altera, which uses 'nios2' as the -architecture part of the tuple. Unfortunately, 'nios2' matches the -current '*os2*' test done by libdvdnav's configure script to detect -the OS/2 operating system. This leads to build issues as the build -process of libdvdnav then tries to use OS/2 specific compiler -options, that do not exist in the gcc used for Linux/NIOS2. - -To fix this, this patch makes the test for OS/2 a little bit more -specific: in the case of the OS/2 operating system, the OS part of the -tuple contains just 'os2' (confirmed by looking at config.guess and -config.sub in the gnuconfig project). So using '*-os2-*' will properly -match the OS/2 operating system but not the NIOS II architecture. - -Upstream-status: not needed, newer upstream versions no longer have - this test -Signed-off-by: Thomas Petazzoni - -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -166,7 +166,7 @@ - *cygwin*) - LDFLAGS="-no-undefined $LDFLAGS" - ;; -- *os2*) -+ *-os2-*) - LDFLAGS="-no-undefined -Zbin-files $LDFLAGS" - ;; - *) diff --git a/package/libdvdread/0001-fix-os2-support.patch b/package/libdvdread/0001-fix-os2-support.patch new file mode 100644 index 0000000000..755bfaf3ee --- /dev/null +++ b/package/libdvdread/0001-fix-os2-support.patch @@ -0,0 +1,31 @@ +configure: fix build on NIOS II platform + +NIOS II is a CPU architecture from Altera, which uses 'nios2' as the +architecture part of the tuple. Unfortunately, 'nios2' matches the +current '*os2*' test done by libdvdread's configure script to detect +the OS/2 operating system. This leads to build issues as the build +process of libdvdread then tries to use OS/2 specific compiler +options, that do not exist in the gcc used for Linux/NIOS2. + +To fix this, this patch makes the test for OS/2 a little bit more +specific: in the case of the OS/2 operating system, the OS part of the +tuple contains just 'os2' (confirmed by looking at config.guess and +config.sub in the gnuconfig project). So using '*-os2-*' will properly +match the OS/2 operating system but not the NIOS II architecture. + +Upstream-status: submitted +Signed-off-by: Thomas Petazzoni + +Index: b/configure.ac +=================================================================== +--- a/configure.ac ++++ b/configure.ac +@@ -146,7 +146,7 @@ + *cygwin*) + LDFLAGS="-no-undefined $LDFLAGS" + ;; +- *os2*) ++ *-os2-*) + LDFLAGS="-no-undefined -Zbin-files $LDFLAGS" + ;; + *) diff --git a/package/libdvdread/libdvdread-01-fix-os2-support.patch b/package/libdvdread/libdvdread-01-fix-os2-support.patch deleted file mode 100644 index 755bfaf3ee..0000000000 --- a/package/libdvdread/libdvdread-01-fix-os2-support.patch +++ /dev/null @@ -1,31 +0,0 @@ -configure: fix build on NIOS II platform - -NIOS II is a CPU architecture from Altera, which uses 'nios2' as the -architecture part of the tuple. Unfortunately, 'nios2' matches the -current '*os2*' test done by libdvdread's configure script to detect -the OS/2 operating system. This leads to build issues as the build -process of libdvdread then tries to use OS/2 specific compiler -options, that do not exist in the gcc used for Linux/NIOS2. - -To fix this, this patch makes the test for OS/2 a little bit more -specific: in the case of the OS/2 operating system, the OS part of the -tuple contains just 'os2' (confirmed by looking at config.guess and -config.sub in the gnuconfig project). So using '*-os2-*' will properly -match the OS/2 operating system but not the NIOS II architecture. - -Upstream-status: submitted -Signed-off-by: Thomas Petazzoni - -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -146,7 +146,7 @@ - *cygwin*) - LDFLAGS="-no-undefined $LDFLAGS" - ;; -- *os2*) -+ *-os2-*) - LDFLAGS="-no-undefined -Zbin-files $LDFLAGS" - ;; - *) diff --git a/package/libeXosip2/0001-fix-non-ipv6-build.patch b/package/libeXosip2/0001-fix-non-ipv6-build.patch new file mode 100644 index 0000000000..bec833fb73 --- /dev/null +++ b/package/libeXosip2/0001-fix-non-ipv6-build.patch @@ -0,0 +1,22 @@ +[PATCH] Fix build on systems without IPV6_TCLASS support + +The wrong variable name was used. + +Signed-off-by: Peter Korsgaard +--- + src/eXtl_udp.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: libeXosip2-3.6.0/src/eXtl_udp.c +=================================================================== +--- libeXosip2-3.6.0.orig/src/eXtl_udp.c ++++ libeXosip2-3.6.0/src/eXtl_udp.c +@@ -178,7 +178,7 @@ + res = setsockopt(udp_socket, IPPROTO_IPV6, IPV6_TCLASS, + (SOCKET_OPTION_VALUE)&tos, sizeof(tos)); + #else +- retval = setsockopt(udp_socket, IPPROTO_IPV6, IP_TOS, ++ res = setsockopt(udp_socket, IPPROTO_IPV6, IP_TOS, + (SOCKET_OPTION_VALUE)&tos, sizeof(tos)); + #endif + } diff --git a/package/libeXosip2/0002-use-pkg-config-to-detect-openssl.patch b/package/libeXosip2/0002-use-pkg-config-to-detect-openssl.patch new file mode 100644 index 0000000000..69e349f205 --- /dev/null +++ b/package/libeXosip2/0002-use-pkg-config-to-detect-openssl.patch @@ -0,0 +1,62 @@ +configure: use pkg-config to find openssl + +The current check is broken for static linking, since the openssl +libs need to be linked against libz, which is missing in the link +command when doing a static build: + http://autobuild.buildroot.net/results/787/787cd9992b00d8008641af208f5fb7c4afb40b06/build-end.log + +Instead of trying convoluted tests to decide what additional libs +are required, just delegate this job to pkg-config. + +At the same time, fix a few legacy, deprecated constructs in favour +of their new counterparts. + +Signed-off-by: "Yann E. MORIN" + +--- +Upstream status: submitted, but no public mailing list (sent to the +mail documented in: http://www.antisip.com/doc/exosip2/index.html ) + +diff -durN libeXosip2-3.6.0.orig/configure.in libeXosip2-3.6.0/configure.in +--- libeXosip2-3.6.0.orig/configure.in 2014-06-22 23:58:26.549487427 +0200 ++++ libeXosip2-3.6.0/configure.in 2014-06-22 23:59:12.822008499 +0200 +@@ -44,7 +44,7 @@ + AC_CONFIG_AUX_DIR(scripts) + AC_CONFIG_HEADERS(config.h) + AM_INIT_AUTOMAKE($PACKAGE, $VERSION) +-AM_ACLOCAL_INCLUDE(scripts) ++AC_CONFIG_MACRO_DIR([scripts]) + + AC_CANONICAL_HOST + +@@ -371,13 +371,15 @@ + + AC_ARG_ENABLE(openssl, + [ --enable-openssl enable support for openssl], +- enable_openssl=$enableval,enable_openssl="yes") ++ enable_openssl=$enableval,enable_openssl="auto") + +-if test "$enable_openssl" = "yes" ; then +- AC_CHECK_HEADERS(openssl/ssl.h) +- AC_CHECK_LIB(ssl,SSL_CTX_new,[EXOSIP_LIB="$EXOSIP_LIB -lssl"]) +- AC_CHECK_LIB(crypto,X509_get_issuer_name,[EXOSIP_LIB="$EXOSIP_LIB -lcrypto"]) +-fi ++AS_IF([test "$enable_openssl" = "yes" -o "$enable_openssl" = "auto"], ++ [PKG_CHECK_MODULES([SSL], [openssl], ++ [EXOSIP_LIB="$EXOSIP_LIB $SSL_LIBS"], ++ [AS_IF([test "$enable_openssl" = "yes"], ++ [AC_MSG_ERROR([can not find openssl])]) ++ ]) ++ ]) + + AC_ARG_ENABLE(srvrec, + [ --enable-srvrec enable support for SRV records DNS queries (yes) ], +diff -durN build/libeXosip2-3.6.0.orig/Makefile.am build/libeXosip2-3.6.0/Makefile.am +--- libeXosip2-3.6.0.orig/Makefile.am 2014-06-23 00:14:25.328226745 +0200 ++++ libeXosip2-3.6.0/Makefile.am 2014-06-23 00:14:38.296371236 +0200 +@@ -1,4 +1,4 @@ +- ++ACLOCAL_AMFLAGS = -I scripts + EXTRA_DIST = README autogen.sh + + SUBDIRS = scripts platform src include tools help diff --git a/package/libeXosip2/libeXosip2-0000-fix-non-ipv6-build.patch b/package/libeXosip2/libeXosip2-0000-fix-non-ipv6-build.patch deleted file mode 100644 index bec833fb73..0000000000 --- a/package/libeXosip2/libeXosip2-0000-fix-non-ipv6-build.patch +++ /dev/null @@ -1,22 +0,0 @@ -[PATCH] Fix build on systems without IPV6_TCLASS support - -The wrong variable name was used. - -Signed-off-by: Peter Korsgaard ---- - src/eXtl_udp.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: libeXosip2-3.6.0/src/eXtl_udp.c -=================================================================== ---- libeXosip2-3.6.0.orig/src/eXtl_udp.c -+++ libeXosip2-3.6.0/src/eXtl_udp.c -@@ -178,7 +178,7 @@ - res = setsockopt(udp_socket, IPPROTO_IPV6, IPV6_TCLASS, - (SOCKET_OPTION_VALUE)&tos, sizeof(tos)); - #else -- retval = setsockopt(udp_socket, IPPROTO_IPV6, IP_TOS, -+ res = setsockopt(udp_socket, IPPROTO_IPV6, IP_TOS, - (SOCKET_OPTION_VALUE)&tos, sizeof(tos)); - #endif - } diff --git a/package/libeXosip2/libeXosip2-0001-use-pkg-config-to-detect-openssl.patch b/package/libeXosip2/libeXosip2-0001-use-pkg-config-to-detect-openssl.patch deleted file mode 100644 index 69e349f205..0000000000 --- a/package/libeXosip2/libeXosip2-0001-use-pkg-config-to-detect-openssl.patch +++ /dev/null @@ -1,62 +0,0 @@ -configure: use pkg-config to find openssl - -The current check is broken for static linking, since the openssl -libs need to be linked against libz, which is missing in the link -command when doing a static build: - http://autobuild.buildroot.net/results/787/787cd9992b00d8008641af208f5fb7c4afb40b06/build-end.log - -Instead of trying convoluted tests to decide what additional libs -are required, just delegate this job to pkg-config. - -At the same time, fix a few legacy, deprecated constructs in favour -of their new counterparts. - -Signed-off-by: "Yann E. MORIN" - ---- -Upstream status: submitted, but no public mailing list (sent to the -mail documented in: http://www.antisip.com/doc/exosip2/index.html ) - -diff -durN libeXosip2-3.6.0.orig/configure.in libeXosip2-3.6.0/configure.in ---- libeXosip2-3.6.0.orig/configure.in 2014-06-22 23:58:26.549487427 +0200 -+++ libeXosip2-3.6.0/configure.in 2014-06-22 23:59:12.822008499 +0200 -@@ -44,7 +44,7 @@ - AC_CONFIG_AUX_DIR(scripts) - AC_CONFIG_HEADERS(config.h) - AM_INIT_AUTOMAKE($PACKAGE, $VERSION) --AM_ACLOCAL_INCLUDE(scripts) -+AC_CONFIG_MACRO_DIR([scripts]) - - AC_CANONICAL_HOST - -@@ -371,13 +371,15 @@ - - AC_ARG_ENABLE(openssl, - [ --enable-openssl enable support for openssl], -- enable_openssl=$enableval,enable_openssl="yes") -+ enable_openssl=$enableval,enable_openssl="auto") - --if test "$enable_openssl" = "yes" ; then -- AC_CHECK_HEADERS(openssl/ssl.h) -- AC_CHECK_LIB(ssl,SSL_CTX_new,[EXOSIP_LIB="$EXOSIP_LIB -lssl"]) -- AC_CHECK_LIB(crypto,X509_get_issuer_name,[EXOSIP_LIB="$EXOSIP_LIB -lcrypto"]) --fi -+AS_IF([test "$enable_openssl" = "yes" -o "$enable_openssl" = "auto"], -+ [PKG_CHECK_MODULES([SSL], [openssl], -+ [EXOSIP_LIB="$EXOSIP_LIB $SSL_LIBS"], -+ [AS_IF([test "$enable_openssl" = "yes"], -+ [AC_MSG_ERROR([can not find openssl])]) -+ ]) -+ ]) - - AC_ARG_ENABLE(srvrec, - [ --enable-srvrec enable support for SRV records DNS queries (yes) ], -diff -durN build/libeXosip2-3.6.0.orig/Makefile.am build/libeXosip2-3.6.0/Makefile.am ---- libeXosip2-3.6.0.orig/Makefile.am 2014-06-23 00:14:25.328226745 +0200 -+++ libeXosip2-3.6.0/Makefile.am 2014-06-23 00:14:38.296371236 +0200 -@@ -1,4 +1,4 @@ -- -+ACLOCAL_AMFLAGS = -I scripts - EXTRA_DIST = README autogen.sh - - SUBDIRS = scripts platform src include tools help diff --git a/package/libedit/0001-check-bsd-functions-in-libbsd.patch b/package/libedit/0001-check-bsd-functions-in-libbsd.patch new file mode 100644 index 0000000000..21c57f8f11 --- /dev/null +++ b/package/libedit/0001-check-bsd-functions-in-libbsd.patch @@ -0,0 +1,18 @@ +configure: on Linux, the BSD functions require linking against libbsd + +Signed-off-by: "Yann E. MORIN" + +diff -durN libedit-20130712-3.1.orig/configure.ac libedit-20130712-3.1/configure.ac +--- libedit-20130712-3.1.orig/configure.ac 2013-07-12 20:39:22.000000000 +0200 ++++ libedit-20130712-3.1/configure.ac 2013-07-28 23:35:35.012676469 +0200 +@@ -108,6 +108,10 @@ + #AC_FUNC_REALLOC + AC_TYPE_SIGNAL + AC_FUNC_STAT ++ ++# Search for libbsd for *vis functions ++AC_CHECK_LIB([bsd], [vis]) ++ + AC_CHECK_FUNCS([endpwent isascii memchr memset re_comp regcomp strcasecmp strchr strcspn strdup strerror strrchr strstr strtol issetugid wcsdup strlcpy strlcat fgetln vis strvis strunvis __secure_getenv secure_getenv]) + + # strlcpy diff --git a/package/libedit/libedit-000-check-bsd-functions-in-libbsd.patch b/package/libedit/libedit-000-check-bsd-functions-in-libbsd.patch deleted file mode 100644 index 21c57f8f11..0000000000 --- a/package/libedit/libedit-000-check-bsd-functions-in-libbsd.patch +++ /dev/null @@ -1,18 +0,0 @@ -configure: on Linux, the BSD functions require linking against libbsd - -Signed-off-by: "Yann E. MORIN" - -diff -durN libedit-20130712-3.1.orig/configure.ac libedit-20130712-3.1/configure.ac ---- libedit-20130712-3.1.orig/configure.ac 2013-07-12 20:39:22.000000000 +0200 -+++ libedit-20130712-3.1/configure.ac 2013-07-28 23:35:35.012676469 +0200 -@@ -108,6 +108,10 @@ - #AC_FUNC_REALLOC - AC_TYPE_SIGNAL - AC_FUNC_STAT -+ -+# Search for libbsd for *vis functions -+AC_CHECK_LIB([bsd], [vis]) -+ - AC_CHECK_FUNCS([endpwent isascii memchr memset re_comp regcomp strcasecmp strchr strcspn strdup strerror strrchr strstr strtol issetugid wcsdup strlcpy strlcat fgetln vis strvis strunvis __secure_getenv secure_getenv]) - - # strlcpy diff --git a/package/libfcgi/0001-eof.patch b/package/libfcgi/0001-eof.patch new file mode 100644 index 0000000000..e7314265a2 --- /dev/null +++ b/package/libfcgi/0001-eof.patch @@ -0,0 +1,24 @@ +[PATCH] fix build with C++ support and gcc >= 4.4 + +EOF is defined in stdio, so ensure it is included. + +Based on similar patch by Markus Rothe: +http://comments.gmane.org/gmane.comp.web.fastcgi.devel/3205 + +Signed-off-by: Peter Korsgaard +--- + libfcgi/fcgio.cpp | 1 + + 1 file changed, 1 insertion(+) + +Index: fcgi-2.4.0/libfcgi/fcgio.cpp +=================================================================== +--- fcgi-2.4.0.orig/libfcgi/fcgio.cpp ++++ fcgi-2.4.0/libfcgi/fcgio.cpp +@@ -22,6 +22,7 @@ + #define DLLAPI __declspec(dllexport) + #endif + ++#include + #include + #include "fcgio.h" + diff --git a/package/libfcgi/0002-link-against-libfcgi-la.patch b/package/libfcgi/0002-link-against-libfcgi-la.patch new file mode 100644 index 0000000000..8a5973ac5b --- /dev/null +++ b/package/libfcgi/0002-link-against-libfcgi-la.patch @@ -0,0 +1,20 @@ +Properly link libfcgi++ against libfcgi + +We cannot directly use -lfcgi to link libfcgi++ against libfcgi, +because libfcgi is not installed at this time. Instead, we should rely +on libtool doing the right thing, by specifying libfcgi.la in +libfcgi++ LIBADD variable. + +Signed-off-by: Thomas Petazzoni + +Index: b/libfcgi/Makefile.am +=================================================================== +--- a/libfcgi/Makefile.am ++++ b/libfcgi/Makefile.am +@@ -23,5 +23,6 @@ + $(INCLUDEDIR)/fcgio.h \ + fcgio.cpp + libfcgi___la_CFLAGS = @PTHREAD_CFLAGS@ +-libfcgi___la_LDFLAGS = -lfcgi -rpath @libdir@ ++libfcgi___la_LIBADD = libfcgi.la ++libfcgi___la_LDFLAGS = -rpath @libdir@ diff --git a/package/libfcgi/0003-link-against-math.patch b/package/libfcgi/0003-link-against-math.patch new file mode 100644 index 0000000000..4c87ea6786 --- /dev/null +++ b/package/libfcgi/0003-link-against-math.patch @@ -0,0 +1,28 @@ +Link against math libraries when needed + +Signed-off-by: Thomas Petazzoni + +Index: b/cgi-fcgi/Makefile.am +=================================================================== +--- a/cgi-fcgi/Makefile.am ++++ b/cgi-fcgi/Makefile.am +@@ -11,5 +11,5 @@ + LIBDIR = ../libfcgi + LIBFCGI = $(LIBDIR)/libfcgi.la + +-LDADD = $(LIBFCGI) ++LDADD = $(LIBFCGI) -lm + cgi_fcgi_SOURCES = $(INCLUDE_FILES) cgi-fcgi.c +Index: b/examples/Makefile.am +=================================================================== +--- a/examples/Makefile.am ++++ b/examples/Makefile.am +@@ -21,7 +21,7 @@ + LIBDIR = ../libfcgi + LIBFCGI = $(LIBDIR)/libfcgi.la + +-LDADD = $(LIBFCGI) ++LDADD = $(LIBFCGI) -lm + + echo_SOURCES = $(INCLUDE_FILES) echo.c + echo_x_SOURCES = $(INCLUDE_FILES) echo-x.c diff --git a/package/libfcgi/0004-make-autoreconfable.patch b/package/libfcgi/0004-make-autoreconfable.patch new file mode 100644 index 0000000000..e255fc6d3b --- /dev/null +++ b/package/libfcgi/0004-make-autoreconfable.patch @@ -0,0 +1,67 @@ +Make the package autoreconfigurable + +Adjust minor details in Makefile.am and configure.in in order to make +the package compatible with the autoconf/automake versions we are +using in Buildroot. + +Signed-off-by: Thomas Petazzoni + +Index: b/cgi-fcgi/Makefile.am +=================================================================== +--- a/cgi-fcgi/Makefile.am ++++ b/cgi-fcgi/Makefile.am +@@ -2,7 +2,7 @@ + bin_PROGRAMS = cgi-fcgi + + INCLUDEDIR = ../include +-CPPFLAGS = @CPPFLAGS@ -I$(top_srcdir)/include ++AM_CPPFLAGS = @CPPFLAGS@ -I$(top_srcdir)/include + + INCLUDE_FILES = $(INCLUDEDIR)/fastcgi.h \ + $(INCLUDEDIR)/fcgiapp.h \ +Index: b/configure.in +=================================================================== +--- a/configure.in ++++ b/configure.in +@@ -4,12 +4,13 @@ + dnl generate the file "configure", which is run during the build + dnl to configure the system for the local environment. + +-AC_INIT +-AM_INIT_AUTOMAKE(fcgi, 2.4.0) ++AC_INIT([fcgi], [2.4.0]) ++AM_INIT_AUTOMAKE([foreign]) + + AM_CONFIG_HEADER(fcgi_config.h) + + AC_PROG_CC ++AC_PROG_CC_C_O + AC_PROG_CPP + AC_PROG_INSTALL + AC_PROG_LIBTOOL +Index: b/examples/Makefile.am +=================================================================== +--- a/examples/Makefile.am ++++ b/examples/Makefile.am +@@ -11,7 +11,7 @@ + EXTRA_PROGRAMS = threaded echo-cpp + + INCLUDEDIR = ../include +-CPPFLAGS = @CPPFLAGS@ -I$(top_srcdir)/include ++AM_CPPFLAGS = @CPPFLAGS@ -I$(top_srcdir)/include + + INCLUDE_FILES = $(INCLUDEDIR)/fastcgi.h \ + $(INCLUDEDIR)/fcgiapp.h \ +Index: b/libfcgi/Makefile.am +=================================================================== +--- a/libfcgi/Makefile.am ++++ b/libfcgi/Makefile.am +@@ -1,7 +1,7 @@ + # $Id: Makefile.am,v 1.9 2001/12/22 03:16:20 robs Exp $ + + INCLUDEDIR = ../include +-CPPFLAGS = @CPPFLAGS@ -I$(top_srcdir)/include ++AM_CPPFLAGS = @CPPFLAGS@ -I$(top_srcdir)/include + + INCLUDE_FILES = $(INCLUDEDIR)/fastcgi.h \ + $(INCLUDEDIR)/fcgiapp.h \ diff --git a/package/libfcgi/0005-disable-examples.patch b/package/libfcgi/0005-disable-examples.patch new file mode 100644 index 0000000000..4a9916f02a --- /dev/null +++ b/package/libfcgi/0005-disable-examples.patch @@ -0,0 +1,21 @@ +Common subdirectories: libfcgi-2.4.0.orig/cgi-fcgi and libfcgi-2.4.0/cgi-fcgi +Common subdirectories: libfcgi-2.4.0.orig/doc and libfcgi-2.4.0/doc +Common subdirectories: libfcgi-2.4.0.orig/examples and libfcgi-2.4.0/examples +Common subdirectories: libfcgi-2.4.0.orig/images and libfcgi-2.4.0/images +Common subdirectories: libfcgi-2.4.0.orig/include and libfcgi-2.4.0/include +Common subdirectories: libfcgi-2.4.0.orig/java and libfcgi-2.4.0/java +Common subdirectories: libfcgi-2.4.0.orig/libfcgi and libfcgi-2.4.0/libfcgi +diff -du libfcgi-2.4.0.orig/Makefile.am libfcgi-2.4.0/Makefile.am +--- libfcgi-2.4.0.orig/Makefile.am 2001-12-22 14:05:39.000000000 +0100 ++++ libfcgi-2.4.0/Makefile.am 2014-07-19 16:56:21.935216540 +0200 +@@ -4,7 +4,7 @@ + # $Id: Makefile.am,v 1.7 2001/12/22 13:05:39 robs Exp $ + # + +-SUBDIRS = libfcgi cgi-fcgi examples include ++SUBDIRS = libfcgi cgi-fcgi include + + include_HEADERS = fcgi_config.h + +Common subdirectories: libfcgi-2.4.0.orig/perl and libfcgi-2.4.0/perl +Common subdirectories: libfcgi-2.4.0.orig/Win32 and libfcgi-2.4.0/Win32 diff --git a/package/libfcgi/libfcgi-0000-eof.patch b/package/libfcgi/libfcgi-0000-eof.patch deleted file mode 100644 index e7314265a2..0000000000 --- a/package/libfcgi/libfcgi-0000-eof.patch +++ /dev/null @@ -1,24 +0,0 @@ -[PATCH] fix build with C++ support and gcc >= 4.4 - -EOF is defined in stdio, so ensure it is included. - -Based on similar patch by Markus Rothe: -http://comments.gmane.org/gmane.comp.web.fastcgi.devel/3205 - -Signed-off-by: Peter Korsgaard ---- - libfcgi/fcgio.cpp | 1 + - 1 file changed, 1 insertion(+) - -Index: fcgi-2.4.0/libfcgi/fcgio.cpp -=================================================================== ---- fcgi-2.4.0.orig/libfcgi/fcgio.cpp -+++ fcgi-2.4.0/libfcgi/fcgio.cpp -@@ -22,6 +22,7 @@ - #define DLLAPI __declspec(dllexport) - #endif - -+#include - #include - #include "fcgio.h" - diff --git a/package/libfcgi/libfcgi-0001-link-against-libfcgi-la.patch b/package/libfcgi/libfcgi-0001-link-against-libfcgi-la.patch deleted file mode 100644 index 8a5973ac5b..0000000000 --- a/package/libfcgi/libfcgi-0001-link-against-libfcgi-la.patch +++ /dev/null @@ -1,20 +0,0 @@ -Properly link libfcgi++ against libfcgi - -We cannot directly use -lfcgi to link libfcgi++ against libfcgi, -because libfcgi is not installed at this time. Instead, we should rely -on libtool doing the right thing, by specifying libfcgi.la in -libfcgi++ LIBADD variable. - -Signed-off-by: Thomas Petazzoni - -Index: b/libfcgi/Makefile.am -=================================================================== ---- a/libfcgi/Makefile.am -+++ b/libfcgi/Makefile.am -@@ -23,5 +23,6 @@ - $(INCLUDEDIR)/fcgio.h \ - fcgio.cpp - libfcgi___la_CFLAGS = @PTHREAD_CFLAGS@ --libfcgi___la_LDFLAGS = -lfcgi -rpath @libdir@ -+libfcgi___la_LIBADD = libfcgi.la -+libfcgi___la_LDFLAGS = -rpath @libdir@ diff --git a/package/libfcgi/libfcgi-0002-link-against-math.patch b/package/libfcgi/libfcgi-0002-link-against-math.patch deleted file mode 100644 index 4c87ea6786..0000000000 --- a/package/libfcgi/libfcgi-0002-link-against-math.patch +++ /dev/null @@ -1,28 +0,0 @@ -Link against math libraries when needed - -Signed-off-by: Thomas Petazzoni - -Index: b/cgi-fcgi/Makefile.am -=================================================================== ---- a/cgi-fcgi/Makefile.am -+++ b/cgi-fcgi/Makefile.am -@@ -11,5 +11,5 @@ - LIBDIR = ../libfcgi - LIBFCGI = $(LIBDIR)/libfcgi.la - --LDADD = $(LIBFCGI) -+LDADD = $(LIBFCGI) -lm - cgi_fcgi_SOURCES = $(INCLUDE_FILES) cgi-fcgi.c -Index: b/examples/Makefile.am -=================================================================== ---- a/examples/Makefile.am -+++ b/examples/Makefile.am -@@ -21,7 +21,7 @@ - LIBDIR = ../libfcgi - LIBFCGI = $(LIBDIR)/libfcgi.la - --LDADD = $(LIBFCGI) -+LDADD = $(LIBFCGI) -lm - - echo_SOURCES = $(INCLUDE_FILES) echo.c - echo_x_SOURCES = $(INCLUDE_FILES) echo-x.c diff --git a/package/libfcgi/libfcgi-0003-make-autoreconfable.patch b/package/libfcgi/libfcgi-0003-make-autoreconfable.patch deleted file mode 100644 index e255fc6d3b..0000000000 --- a/package/libfcgi/libfcgi-0003-make-autoreconfable.patch +++ /dev/null @@ -1,67 +0,0 @@ -Make the package autoreconfigurable - -Adjust minor details in Makefile.am and configure.in in order to make -the package compatible with the autoconf/automake versions we are -using in Buildroot. - -Signed-off-by: Thomas Petazzoni - -Index: b/cgi-fcgi/Makefile.am -=================================================================== ---- a/cgi-fcgi/Makefile.am -+++ b/cgi-fcgi/Makefile.am -@@ -2,7 +2,7 @@ - bin_PROGRAMS = cgi-fcgi - - INCLUDEDIR = ../include --CPPFLAGS = @CPPFLAGS@ -I$(top_srcdir)/include -+AM_CPPFLAGS = @CPPFLAGS@ -I$(top_srcdir)/include - - INCLUDE_FILES = $(INCLUDEDIR)/fastcgi.h \ - $(INCLUDEDIR)/fcgiapp.h \ -Index: b/configure.in -=================================================================== ---- a/configure.in -+++ b/configure.in -@@ -4,12 +4,13 @@ - dnl generate the file "configure", which is run during the build - dnl to configure the system for the local environment. - --AC_INIT --AM_INIT_AUTOMAKE(fcgi, 2.4.0) -+AC_INIT([fcgi], [2.4.0]) -+AM_INIT_AUTOMAKE([foreign]) - - AM_CONFIG_HEADER(fcgi_config.h) - - AC_PROG_CC -+AC_PROG_CC_C_O - AC_PROG_CPP - AC_PROG_INSTALL - AC_PROG_LIBTOOL -Index: b/examples/Makefile.am -=================================================================== ---- a/examples/Makefile.am -+++ b/examples/Makefile.am -@@ -11,7 +11,7 @@ - EXTRA_PROGRAMS = threaded echo-cpp - - INCLUDEDIR = ../include --CPPFLAGS = @CPPFLAGS@ -I$(top_srcdir)/include -+AM_CPPFLAGS = @CPPFLAGS@ -I$(top_srcdir)/include - - INCLUDE_FILES = $(INCLUDEDIR)/fastcgi.h \ - $(INCLUDEDIR)/fcgiapp.h \ -Index: b/libfcgi/Makefile.am -=================================================================== ---- a/libfcgi/Makefile.am -+++ b/libfcgi/Makefile.am -@@ -1,7 +1,7 @@ - # $Id: Makefile.am,v 1.9 2001/12/22 03:16:20 robs Exp $ - - INCLUDEDIR = ../include --CPPFLAGS = @CPPFLAGS@ -I$(top_srcdir)/include -+AM_CPPFLAGS = @CPPFLAGS@ -I$(top_srcdir)/include - - INCLUDE_FILES = $(INCLUDEDIR)/fastcgi.h \ - $(INCLUDEDIR)/fcgiapp.h \ diff --git a/package/libfcgi/libfcgi-0004-disable-examples.patch b/package/libfcgi/libfcgi-0004-disable-examples.patch deleted file mode 100644 index 4a9916f02a..0000000000 --- a/package/libfcgi/libfcgi-0004-disable-examples.patch +++ /dev/null @@ -1,21 +0,0 @@ -Common subdirectories: libfcgi-2.4.0.orig/cgi-fcgi and libfcgi-2.4.0/cgi-fcgi -Common subdirectories: libfcgi-2.4.0.orig/doc and libfcgi-2.4.0/doc -Common subdirectories: libfcgi-2.4.0.orig/examples and libfcgi-2.4.0/examples -Common subdirectories: libfcgi-2.4.0.orig/images and libfcgi-2.4.0/images -Common subdirectories: libfcgi-2.4.0.orig/include and libfcgi-2.4.0/include -Common subdirectories: libfcgi-2.4.0.orig/java and libfcgi-2.4.0/java -Common subdirectories: libfcgi-2.4.0.orig/libfcgi and libfcgi-2.4.0/libfcgi -diff -du libfcgi-2.4.0.orig/Makefile.am libfcgi-2.4.0/Makefile.am ---- libfcgi-2.4.0.orig/Makefile.am 2001-12-22 14:05:39.000000000 +0100 -+++ libfcgi-2.4.0/Makefile.am 2014-07-19 16:56:21.935216540 +0200 -@@ -4,7 +4,7 @@ - # $Id: Makefile.am,v 1.7 2001/12/22 13:05:39 robs Exp $ - # - --SUBDIRS = libfcgi cgi-fcgi examples include -+SUBDIRS = libfcgi cgi-fcgi include - - include_HEADERS = fcgi_config.h - -Common subdirectories: libfcgi-2.4.0.orig/perl and libfcgi-2.4.0/perl -Common subdirectories: libfcgi-2.4.0.orig/Win32 and libfcgi-2.4.0/Win32 diff --git a/package/libffi/0001-Fix-installation-location-of-libffi.patch b/package/libffi/0001-Fix-installation-location-of-libffi.patch new file mode 100644 index 0000000000..56e08f7363 --- /dev/null +++ b/package/libffi/0001-Fix-installation-location-of-libffi.patch @@ -0,0 +1,50 @@ +From 102c02de867bfe831b5366c89d66bcf170db962e Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 7 Feb 2013 22:26:56 +0100 +Subject: [PATCH] Fix installation location of libffi + +The libffi is currently declared as toolexeclib_LTLIBRARIES. In many +cases, toolexeclib libraries will be installed in /usr/lib, so it +doesn't make any difference. + +However, with multilib toolchains, they get installed in a +subdirectory of /usr/lib/. For example, with a Sourcery CodeBench +PowerPC toolchain, if the e500mc multilib variant is used, the libffi +library gets installed in /usr/lib/te500mc/. This is due to the +following code in the configure script: + + multi_os_directory=`$CC -print-multi-os-directory` + case $multi_os_directory in + .) ;; # Avoid trailing /. + *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;; + esac + +Once the library is installed in /usr/lib/te500mc/, nothing works +because this installation location is inconsistent with the +installation location declared in libffi.pc. + +So, instead of using this bizarre toolexeclib_LTLIBRARIES, simply use +the more standard lib_LTLIBRARIES, which ensures that the libffi +library is always installed in /usr/lib. + +Signed-off-by: Thomas Petazzoni +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 6f669ca..b60bcc1 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -93,7 +93,7 @@ FLAGS_TO_PASS = $(AM_MAKEFLAGS) + + MAKEOVERRIDES= + +-toolexeclib_LTLIBRARIES = libffi.la ++lib_LTLIBRARIES = libffi.la + noinst_LTLIBRARIES = libffi_convenience.la + + libffi_la_SOURCES = src/prep_cif.c src/types.c \ +-- +1.7.9.5 + diff --git a/package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch b/package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch new file mode 100644 index 0000000000..15d1c96ea7 --- /dev/null +++ b/package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch @@ -0,0 +1,27 @@ +Newer MIPS toolchains use a different (compact) eh_frame format. +libffi don't like them, so we have to switch to the older format. + +This patch add -mno-compact-eh to CFLAGS when compiling for +Mips and compiler support it. + +Signed-off-by: Jérôme Pouiller + +--- a/configure.ac 2013-08-08 14:53:11.884267155 +0200 ++++ b/configure.ac 2013-08-08 14:54:14.437493244 +0200 +@@ -430,6 +430,16 @@ + AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1) + AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE) + ++if test x$TARGET = xMIPS; then ++ save_CFLAGS="$CFLAGS" ++ CFLAGS=-mno-compact-eh ++ AC_MSG_CHECKING([whether the C compiler needs -mno-compact-eh]) ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], ++ [AC_MSG_RESULT([yes])]; [save_CFLAGS="$save_CFLAGS -mno-compact-eh"], ++ [AC_MSG_RESULT([no])]) ++ CFLAGS="$save_CFLAGS" ++fi ++ + if test x$TARGET = xX86_64; then + AC_CACHE_CHECK([assembler supports unwind section type], + libffi_cv_as_x86_64_unwind_section_type, [ diff --git a/package/libffi/0003-fix-typo.patch b/package/libffi/0003-fix-typo.patch new file mode 100644 index 0000000000..f20804bf8b --- /dev/null +++ b/package/libffi/0003-fix-typo.patch @@ -0,0 +1,41 @@ +From cbc5a3c0200aa6c2cf8d6798d69a21501557c83f Mon Sep 17 00:00:00 2001 +From: Ryan Hill +Date: Sat, 31 May 2014 08:26:34 -0400 +Subject: [PATCH 05/10] Fix typo + +This patch was borrowed from upstream, commit +cbc5a3c0200aa6c2cf8d6798d69a21501557c83f, and will be part of the next +3.1.1 release. + +Signed-off-by: Thomas Petazzoni +--- + include/ffi.h.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/include/ffi.h.in b/include/ffi.h.in +index 93c776f..70c6179 100644 +--- a/include/ffi.h.in ++++ b/include/ffi.h.in +@@ -1,5 +1,5 @@ + /* -----------------------------------------------------------------*-C-*- +- libffi @VERSION@ - Copyright (c) 2011 Anthony Green ++ libffi @VERSION@ - Copyright (c) 2011, 2014 Anthony Green + - Copyright (c) 1996-2003, 2007, 2008 Red Hat, Inc. + + Permission is hereby granted, free of charge, to any person +@@ -221,10 +221,10 @@ typedef struct { + #endif + } ffi_cif; + +-#if HAVE_LONG_DOUBLE_VARIANT ++#if @HAVE_LONG_DOUBLE_VARIANT@ + /* Used to adjust size/alignment of ffi types. */ + void ffi_prep_types (ffi_abi abi); +-# endif ++#endif + + /* Used internally, but overridden by some architectures */ + ffi_status ffi_prep_cif_core(ffi_cif *cif, +-- +2.0.0 + diff --git a/package/libffi/0004-Add-missing-GNU-stack-markings-in-win32.S.patch b/package/libffi/0004-Add-missing-GNU-stack-markings-in-win32.S.patch new file mode 100644 index 0000000000..6097287a0d --- /dev/null +++ b/package/libffi/0004-Add-missing-GNU-stack-markings-in-win32.S.patch @@ -0,0 +1,36 @@ +From 978c9540154d320525488db1b7049277122f736d Mon Sep 17 00:00:00 2001 +From: Samuli Suominen +Date: Sat, 31 May 2014 08:53:10 -0400 +Subject: [PATCH 06/10] Add missing GNU stack markings in win32.S + +This patch was borrowed from upstream, commit +978c9540154d320525488db1b7049277122f736d, and will be part of the next +3.1.1 release. + +Signed-off-by: Thomas Petazzoni +--- + src/x86/win32.S | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/x86/win32.S b/src/x86/win32.S +index daf0e79..e42baf2 100644 +--- a/src/x86/win32.S ++++ b/src/x86/win32.S +@@ -1,5 +1,6 @@ + /* ----------------------------------------------------------------------- +- win32.S - Copyright (c) 1996, 1998, 2001, 2002, 2009 Red Hat, Inc. ++ win32.S - Copyright (c) 2014 Anthony Green ++ Copyright (c) 1996, 1998, 2001, 2002, 2009 Red Hat, Inc. + Copyright (c) 2001 John Beniton + Copyright (c) 2002 Ranjit Mathew + Copyright (c) 2009 Daniel Witte +@@ -1304,3 +1305,6 @@ L_ffi_closure_SYSV_inner$stub: + + #endif /* !_MSC_VER */ + ++#if defined __ELF__ && defined __linux__ ++ .section .note.GNU-stack,"",@progbits ++#endif +-- +2.0.0 + diff --git a/package/libffi/0005-Fix-paths-in-libffi.pc.in.patch b/package/libffi/0005-Fix-paths-in-libffi.pc.in.patch new file mode 100644 index 0000000000..fd110a6d58 --- /dev/null +++ b/package/libffi/0005-Fix-paths-in-libffi.pc.in.patch @@ -0,0 +1,46 @@ +From ad0d1d239afc7ad09203847793dcc020856d1035 Mon Sep 17 00:00:00 2001 +From: Samuli Suominen +Date: Thu, 12 Jun 2014 06:30:21 -0400 +Subject: [PATCH 09/10] Fix paths in libffi.pc.in + +This patch was borrowed from upstream, commit +ad0d1d239afc7ad09203847793dcc020856d1035, and will be part of the next +3.1.1 release. + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 4f7fe3f..bbc1a9d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -590,11 +590,11 @@ AC_ARG_ENABLE(purify-safety, + if test "x$GCC" = "xyes"; then + if test -n "$with_cross_host" && + test x"$with_cross_host" != x"no"; then +- toolexecdir='$(exec_prefix)/$(target_alias)' +- toolexeclibdir='$(toolexecdir)/lib' ++ toolexecdir="${exec_prefix}"/'$(target_alias)' ++ toolexeclibdir="${toolexecdir}"/lib + else +- toolexecdir='$(libdir)/gcc-lib/$(target_alias)' +- toolexeclibdir='$(libdir)' ++ toolexecdir="${libdir}"/gcc-lib/'$(target_alias)' ++ toolexeclibdir="${libdir}" + fi + multi_os_directory=`$CC $CFLAGS -print-multi-os-directory` + case $multi_os_directory in +@@ -603,7 +603,7 @@ if test "x$GCC" = "xyes"; then + esac + AC_SUBST(toolexecdir) + else +- toolexeclibdir='$(libdir)' ++ toolexeclibdir="${libdir}" + fi + AC_SUBST(toolexeclibdir) + +-- +2.0.0 + diff --git a/package/libffi/libffi-001-Fix-installation-location-of-libffi.patch b/package/libffi/libffi-001-Fix-installation-location-of-libffi.patch deleted file mode 100644 index 56e08f7363..0000000000 --- a/package/libffi/libffi-001-Fix-installation-location-of-libffi.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 102c02de867bfe831b5366c89d66bcf170db962e Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 7 Feb 2013 22:26:56 +0100 -Subject: [PATCH] Fix installation location of libffi - -The libffi is currently declared as toolexeclib_LTLIBRARIES. In many -cases, toolexeclib libraries will be installed in /usr/lib, so it -doesn't make any difference. - -However, with multilib toolchains, they get installed in a -subdirectory of /usr/lib/. For example, with a Sourcery CodeBench -PowerPC toolchain, if the e500mc multilib variant is used, the libffi -library gets installed in /usr/lib/te500mc/. This is due to the -following code in the configure script: - - multi_os_directory=`$CC -print-multi-os-directory` - case $multi_os_directory in - .) ;; # Avoid trailing /. - *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;; - esac - -Once the library is installed in /usr/lib/te500mc/, nothing works -because this installation location is inconsistent with the -installation location declared in libffi.pc. - -So, instead of using this bizarre toolexeclib_LTLIBRARIES, simply use -the more standard lib_LTLIBRARIES, which ensures that the libffi -library is always installed in /usr/lib. - -Signed-off-by: Thomas Petazzoni ---- - Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index 6f669ca..b60bcc1 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -93,7 +93,7 @@ FLAGS_TO_PASS = $(AM_MAKEFLAGS) - - MAKEOVERRIDES= - --toolexeclib_LTLIBRARIES = libffi.la -+lib_LTLIBRARIES = libffi.la - noinst_LTLIBRARIES = libffi_convenience.la - - libffi_la_SOURCES = src/prep_cif.c src/types.c \ --- -1.7.9.5 - diff --git a/package/libffi/libffi-002-Fix-use-of-compact-eh-frames-on-MIPS.patch b/package/libffi/libffi-002-Fix-use-of-compact-eh-frames-on-MIPS.patch deleted file mode 100644 index 15d1c96ea7..0000000000 --- a/package/libffi/libffi-002-Fix-use-of-compact-eh-frames-on-MIPS.patch +++ /dev/null @@ -1,27 +0,0 @@ -Newer MIPS toolchains use a different (compact) eh_frame format. -libffi don't like them, so we have to switch to the older format. - -This patch add -mno-compact-eh to CFLAGS when compiling for -Mips and compiler support it. - -Signed-off-by: Jérôme Pouiller - ---- a/configure.ac 2013-08-08 14:53:11.884267155 +0200 -+++ b/configure.ac 2013-08-08 14:54:14.437493244 +0200 -@@ -430,6 +430,16 @@ - AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1) - AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE) - -+if test x$TARGET = xMIPS; then -+ save_CFLAGS="$CFLAGS" -+ CFLAGS=-mno-compact-eh -+ AC_MSG_CHECKING([whether the C compiler needs -mno-compact-eh]) -+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], -+ [AC_MSG_RESULT([yes])]; [save_CFLAGS="$save_CFLAGS -mno-compact-eh"], -+ [AC_MSG_RESULT([no])]) -+ CFLAGS="$save_CFLAGS" -+fi -+ - if test x$TARGET = xX86_64; then - AC_CACHE_CHECK([assembler supports unwind section type], - libffi_cv_as_x86_64_unwind_section_type, [ diff --git a/package/libffi/libffi-003-fix-typo.patch b/package/libffi/libffi-003-fix-typo.patch deleted file mode 100644 index f20804bf8b..0000000000 --- a/package/libffi/libffi-003-fix-typo.patch +++ /dev/null @@ -1,41 +0,0 @@ -From cbc5a3c0200aa6c2cf8d6798d69a21501557c83f Mon Sep 17 00:00:00 2001 -From: Ryan Hill -Date: Sat, 31 May 2014 08:26:34 -0400 -Subject: [PATCH 05/10] Fix typo - -This patch was borrowed from upstream, commit -cbc5a3c0200aa6c2cf8d6798d69a21501557c83f, and will be part of the next -3.1.1 release. - -Signed-off-by: Thomas Petazzoni ---- - include/ffi.h.in | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/include/ffi.h.in b/include/ffi.h.in -index 93c776f..70c6179 100644 ---- a/include/ffi.h.in -+++ b/include/ffi.h.in -@@ -1,5 +1,5 @@ - /* -----------------------------------------------------------------*-C-*- -- libffi @VERSION@ - Copyright (c) 2011 Anthony Green -+ libffi @VERSION@ - Copyright (c) 2011, 2014 Anthony Green - - Copyright (c) 1996-2003, 2007, 2008 Red Hat, Inc. - - Permission is hereby granted, free of charge, to any person -@@ -221,10 +221,10 @@ typedef struct { - #endif - } ffi_cif; - --#if HAVE_LONG_DOUBLE_VARIANT -+#if @HAVE_LONG_DOUBLE_VARIANT@ - /* Used to adjust size/alignment of ffi types. */ - void ffi_prep_types (ffi_abi abi); --# endif -+#endif - - /* Used internally, but overridden by some architectures */ - ffi_status ffi_prep_cif_core(ffi_cif *cif, --- -2.0.0 - diff --git a/package/libffi/libffi-004-Add-missing-GNU-stack-markings-in-win32.S.patch b/package/libffi/libffi-004-Add-missing-GNU-stack-markings-in-win32.S.patch deleted file mode 100644 index 6097287a0d..0000000000 --- a/package/libffi/libffi-004-Add-missing-GNU-stack-markings-in-win32.S.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 978c9540154d320525488db1b7049277122f736d Mon Sep 17 00:00:00 2001 -From: Samuli Suominen -Date: Sat, 31 May 2014 08:53:10 -0400 -Subject: [PATCH 06/10] Add missing GNU stack markings in win32.S - -This patch was borrowed from upstream, commit -978c9540154d320525488db1b7049277122f736d, and will be part of the next -3.1.1 release. - -Signed-off-by: Thomas Petazzoni ---- - src/x86/win32.S | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/src/x86/win32.S b/src/x86/win32.S -index daf0e79..e42baf2 100644 ---- a/src/x86/win32.S -+++ b/src/x86/win32.S -@@ -1,5 +1,6 @@ - /* ----------------------------------------------------------------------- -- win32.S - Copyright (c) 1996, 1998, 2001, 2002, 2009 Red Hat, Inc. -+ win32.S - Copyright (c) 2014 Anthony Green -+ Copyright (c) 1996, 1998, 2001, 2002, 2009 Red Hat, Inc. - Copyright (c) 2001 John Beniton - Copyright (c) 2002 Ranjit Mathew - Copyright (c) 2009 Daniel Witte -@@ -1304,3 +1305,6 @@ L_ffi_closure_SYSV_inner$stub: - - #endif /* !_MSC_VER */ - -+#if defined __ELF__ && defined __linux__ -+ .section .note.GNU-stack,"",@progbits -+#endif --- -2.0.0 - diff --git a/package/libffi/libffi-005-Fix-paths-in-libffi.pc.in.patch b/package/libffi/libffi-005-Fix-paths-in-libffi.pc.in.patch deleted file mode 100644 index fd110a6d58..0000000000 --- a/package/libffi/libffi-005-Fix-paths-in-libffi.pc.in.patch +++ /dev/null @@ -1,46 +0,0 @@ -From ad0d1d239afc7ad09203847793dcc020856d1035 Mon Sep 17 00:00:00 2001 -From: Samuli Suominen -Date: Thu, 12 Jun 2014 06:30:21 -0400 -Subject: [PATCH 09/10] Fix paths in libffi.pc.in - -This patch was borrowed from upstream, commit -ad0d1d239afc7ad09203847793dcc020856d1035, and will be part of the next -3.1.1 release. - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 4f7fe3f..bbc1a9d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -590,11 +590,11 @@ AC_ARG_ENABLE(purify-safety, - if test "x$GCC" = "xyes"; then - if test -n "$with_cross_host" && - test x"$with_cross_host" != x"no"; then -- toolexecdir='$(exec_prefix)/$(target_alias)' -- toolexeclibdir='$(toolexecdir)/lib' -+ toolexecdir="${exec_prefix}"/'$(target_alias)' -+ toolexeclibdir="${toolexecdir}"/lib - else -- toolexecdir='$(libdir)/gcc-lib/$(target_alias)' -- toolexeclibdir='$(libdir)' -+ toolexecdir="${libdir}"/gcc-lib/'$(target_alias)' -+ toolexeclibdir="${libdir}" - fi - multi_os_directory=`$CC $CFLAGS -print-multi-os-directory` - case $multi_os_directory in -@@ -603,7 +603,7 @@ if test "x$GCC" = "xyes"; then - esac - AC_SUBST(toolexecdir) - else -- toolexeclibdir='$(libdir)' -+ toolexeclibdir="${libdir}" - fi - AC_SUBST(toolexeclibdir) - --- -2.0.0 - diff --git a/package/libfslvpuwrap/0001-vpu_wrapper-fix-tests-of-return-value-from-IOGetVirt.patch b/package/libfslvpuwrap/0001-vpu_wrapper-fix-tests-of-return-value-from-IOGetVirt.patch new file mode 100644 index 0000000000..39274306a6 --- /dev/null +++ b/package/libfslvpuwrap/0001-vpu_wrapper-fix-tests-of-return-value-from-IOGetVirt.patch @@ -0,0 +1,44 @@ +From 7ca66c10c05168c7d342df7c7a70d4a1ae0629f7 Mon Sep 17 00:00:00 2001 +From: Eric Nelson +Date: Sat, 28 Jun 2014 09:45:09 -0700 +Subject: [PATCH] vpu_wrapper: fix tests of return value from IOGetVirtMem + +IOGetVirtMem() returns a pointer or specifically -1 (MAP_FAILED) +in the case of failure. + +This problem is being discussed upstream at +https://lists.yoctoproject.org/pipermail/meta-freescale/2014-June/008993.html. + +Upstream-Status: Pending + +Signed-off-by: Laci Tele +Signed-off-by: Eric Nelson +--- + vpu_wrapper.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/vpu_wrapper.c b/vpu_wrapper.c +index 9249174..148c5df 100755 +--- a/vpu_wrapper.c ++++ b/vpu_wrapper.c +@@ -6653,7 +6653,7 @@ VpuDecRetCode VPU_DecGetMem(VpuMemDesc* pInOutMem) + return VPU_DEC_RET_FAILURE; + } + ret=IOGetVirtMem(&buff); +- if(ret==0) //if(ret!=RETCODE_SUCCESS) ++ if(ret == -1) //if(ret==MAP_FAILED) + { + VPU_ERROR("%s: get virtual memory failure: size=%d, ret=%d \r\n",__FUNCTION__,buff.size,ret); + return VPU_DEC_RET_FAILURE; +@@ -8277,7 +8277,7 @@ VpuEncRetCode VPU_EncGetMem(VpuMemDesc* pInOutMem) + return VPU_ENC_RET_FAILURE; + } + ret=IOGetVirtMem(&buff); +- if(ret==0) //if(ret!=RETCODE_SUCCESS) ++ if(ret == -1) //if(ret==MAP_FAILED) + { + VPU_ENC_ERROR("%s: get virtual memory failure: size=%d, ret=%d \r\n",__FUNCTION__,buff.size,(UINT32)ret); + return VPU_ENC_RET_FAILURE; +-- +1.9.1 + diff --git a/package/libfslvpuwrap/libfslvpuwrap-0001-vpu_wrapper-fix-tests-of-return-value-from-IOGetVirt.patch b/package/libfslvpuwrap/libfslvpuwrap-0001-vpu_wrapper-fix-tests-of-return-value-from-IOGetVirt.patch deleted file mode 100644 index 39274306a6..0000000000 --- a/package/libfslvpuwrap/libfslvpuwrap-0001-vpu_wrapper-fix-tests-of-return-value-from-IOGetVirt.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 7ca66c10c05168c7d342df7c7a70d4a1ae0629f7 Mon Sep 17 00:00:00 2001 -From: Eric Nelson -Date: Sat, 28 Jun 2014 09:45:09 -0700 -Subject: [PATCH] vpu_wrapper: fix tests of return value from IOGetVirtMem - -IOGetVirtMem() returns a pointer or specifically -1 (MAP_FAILED) -in the case of failure. - -This problem is being discussed upstream at -https://lists.yoctoproject.org/pipermail/meta-freescale/2014-June/008993.html. - -Upstream-Status: Pending - -Signed-off-by: Laci Tele -Signed-off-by: Eric Nelson ---- - vpu_wrapper.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/vpu_wrapper.c b/vpu_wrapper.c -index 9249174..148c5df 100755 ---- a/vpu_wrapper.c -+++ b/vpu_wrapper.c -@@ -6653,7 +6653,7 @@ VpuDecRetCode VPU_DecGetMem(VpuMemDesc* pInOutMem) - return VPU_DEC_RET_FAILURE; - } - ret=IOGetVirtMem(&buff); -- if(ret==0) //if(ret!=RETCODE_SUCCESS) -+ if(ret == -1) //if(ret==MAP_FAILED) - { - VPU_ERROR("%s: get virtual memory failure: size=%d, ret=%d \r\n",__FUNCTION__,buff.size,ret); - return VPU_DEC_RET_FAILURE; -@@ -8277,7 +8277,7 @@ VpuEncRetCode VPU_EncGetMem(VpuMemDesc* pInOutMem) - return VPU_ENC_RET_FAILURE; - } - ret=IOGetVirtMem(&buff); -- if(ret==0) //if(ret!=RETCODE_SUCCESS) -+ if(ret == -1) //if(ret==MAP_FAILED) - { - VPU_ENC_ERROR("%s: get virtual memory failure: size=%d, ret=%d \r\n",__FUNCTION__,buff.size,(UINT32)ret); - return VPU_ENC_RET_FAILURE; --- -1.9.1 - diff --git a/package/libfuse/0001-fix-aarch64-build.patch b/package/libfuse/0001-fix-aarch64-build.patch new file mode 100644 index 0000000000..3b88687f6c --- /dev/null +++ b/package/libfuse/0001-fix-aarch64-build.patch @@ -0,0 +1,22 @@ +Fix build on the AArch64 platform + +Upstream-Status: Submitted + +Signed-off-by: Riku Voipio + +--- a/include/fuse_kernel.h ++++ b/include/fuse_kernel.h +@@ -88,12 +88,7 @@ + #ifndef _LINUX_FUSE_H + #define _LINUX_FUSE_H + +-#include +-#define __u64 uint64_t +-#define __s64 int64_t +-#define __u32 uint32_t +-#define __s32 int32_t +-#define __u16 uint16_t ++#include + + /* + * Version negotiation: diff --git a/package/libfuse/libfuse-fix-aarch64-build.patch b/package/libfuse/libfuse-fix-aarch64-build.patch deleted file mode 100644 index 3b88687f6c..0000000000 --- a/package/libfuse/libfuse-fix-aarch64-build.patch +++ /dev/null @@ -1,22 +0,0 @@ -Fix build on the AArch64 platform - -Upstream-Status: Submitted - -Signed-off-by: Riku Voipio - ---- a/include/fuse_kernel.h -+++ b/include/fuse_kernel.h -@@ -88,12 +88,7 @@ - #ifndef _LINUX_FUSE_H - #define _LINUX_FUSE_H - --#include --#define __u64 uint64_t --#define __s64 int64_t --#define __u32 uint32_t --#define __s32 int32_t --#define __u16 uint16_t -+#include - - /* - * Version negotiation: diff --git a/package/libgail/0001-Relax-X11-dependencies.patch b/package/libgail/0001-Relax-X11-dependencies.patch new file mode 100644 index 0000000000..97e56560d6 --- /dev/null +++ b/package/libgail/0001-Relax-X11-dependencies.patch @@ -0,0 +1,42 @@ +From cca72c48b5643fa62e1d55b7b181e147f5ba7fe9 Mon Sep 17 00:00:00 2001 +From: Lionel Landwerlin +Date: Sun, 28 Mar 2010 21:47:38 +0200 +Subject: [PATCH] Relax X11 dependency + +Signed-off-by: Lionel Landwerlin +--- + configure.in | 4 +++- + gail/gailwindow.c | 2 +- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/configure.in b/configure.in +index 3801655..abaf417 100644 +--- a/configure.in ++++ b/configure.in +@@ -86,7 +86,9 @@ GTK_REQUIRED_VERSION=2.9.4 + PKG_CHECK_MODULES(DEP, $ATK_PACKAGES >= $ATK_REQUIRED_VERSION \ + $GTK_PACKAGES >= $GTK_REQUIRED_VERSION) + +-if test "$gail_native_win32" != "yes"; then ++AC_ARG_ENABLE(x, [ --disable-x disable x11 backend ],x11_backend=no,x11_backend=yes) ++ ++if test "$gail_native_win32" != "yes" -a "$x11_backend" != "no"; then + + PKG_CHECK_MODULES(X, x11, :, [ + # pkg-config modules not found (only present since X11R7 aka Xorg); use +diff --git a/gail/gailwindow.c b/gail/gailwindow.c +index 616b25e..add454b 100644 +--- a/gail/gailwindow.c ++++ b/gail/gailwindow.c +@@ -1071,7 +1071,7 @@ gail_window_get_mdi_zorder (AtkComponent *component) + return get_window_zorder (widget->window); + } + +-#elif defined (GDK_WINDOWING_WIN32) ++#elif defined (GDK_WINDOWING_WIN32) || defined (GDK_WINDOWING_DIRECTFB) + + static gint + gail_window_get_mdi_zorder (AtkComponent *component) +-- +1.7.0.2 + diff --git a/package/libgail/libgail-1.22.3-Relax-X11-dependencies.patch b/package/libgail/libgail-1.22.3-Relax-X11-dependencies.patch deleted file mode 100644 index 97e56560d6..0000000000 --- a/package/libgail/libgail-1.22.3-Relax-X11-dependencies.patch +++ /dev/null @@ -1,42 +0,0 @@ -From cca72c48b5643fa62e1d55b7b181e147f5ba7fe9 Mon Sep 17 00:00:00 2001 -From: Lionel Landwerlin -Date: Sun, 28 Mar 2010 21:47:38 +0200 -Subject: [PATCH] Relax X11 dependency - -Signed-off-by: Lionel Landwerlin ---- - configure.in | 4 +++- - gail/gailwindow.c | 2 +- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/configure.in b/configure.in -index 3801655..abaf417 100644 ---- a/configure.in -+++ b/configure.in -@@ -86,7 +86,9 @@ GTK_REQUIRED_VERSION=2.9.4 - PKG_CHECK_MODULES(DEP, $ATK_PACKAGES >= $ATK_REQUIRED_VERSION \ - $GTK_PACKAGES >= $GTK_REQUIRED_VERSION) - --if test "$gail_native_win32" != "yes"; then -+AC_ARG_ENABLE(x, [ --disable-x disable x11 backend ],x11_backend=no,x11_backend=yes) -+ -+if test "$gail_native_win32" != "yes" -a "$x11_backend" != "no"; then - - PKG_CHECK_MODULES(X, x11, :, [ - # pkg-config modules not found (only present since X11R7 aka Xorg); use -diff --git a/gail/gailwindow.c b/gail/gailwindow.c -index 616b25e..add454b 100644 ---- a/gail/gailwindow.c -+++ b/gail/gailwindow.c -@@ -1071,7 +1071,7 @@ gail_window_get_mdi_zorder (AtkComponent *component) - return get_window_zorder (widget->window); - } - --#elif defined (GDK_WINDOWING_WIN32) -+#elif defined (GDK_WINDOWING_WIN32) || defined (GDK_WINDOWING_DIRECTFB) - - static gint - gail_window_get_mdi_zorder (AtkComponent *component) --- -1.7.0.2 - diff --git a/package/libgc/0001-Fix-build-on-Linux-x86_64-under-uClibc.patch b/package/libgc/0001-Fix-build-on-Linux-x86_64-under-uClibc.patch new file mode 100644 index 0000000000..9190a01650 --- /dev/null +++ b/package/libgc/0001-Fix-build-on-Linux-x86_64-under-uClibc.patch @@ -0,0 +1,32 @@ +From 9cbd876ebc6ef8cbe647d4a914d03f527f822424 Mon Sep 17 00:00:00 2001 +Message-Id: <9cbd876ebc6ef8cbe647d4a914d03f527f822424.1398253762.git.baruch@tkos.co.il> +From: Baruch Siach +Date: Wed, 23 Apr 2014 14:42:21 +0300 +Subject: [PATCH] Fix build on Linux/x86_64 under uClibc + +* include/private/gcconfig.h (GETCONTEXT_FPU_EXCMASK_BUG): don't define for +uClibc, as it may not have fenv.h + +Patch status: sent upstream + +Signed-off-by: Baruch Siach +--- + include/private/gcconfig.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/private/gcconfig.h b/include/private/gcconfig.h +index de7998be0f54..f866cc4ed8cc 100644 +--- a/include/private/gcconfig.h ++++ b/include/private/gcconfig.h +@@ -2235,7 +2235,7 @@ + extern int etext[]; + # define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff)) + # endif +-# if defined(__GLIBC__) ++# if defined(__GLIBC__) && !defined(__UCLIBC__) + /* At present, there's a bug in GLibc getcontext() on */ + /* Linux/x64 (it clears FPU exception mask). We define this */ + /* macro to workaround it. */ +-- +1.9.2 + diff --git a/package/libgc/libgc-01-Fix-build-on-Linux-x86_64-under-uClibc.patch b/package/libgc/libgc-01-Fix-build-on-Linux-x86_64-under-uClibc.patch deleted file mode 100644 index 9190a01650..0000000000 --- a/package/libgc/libgc-01-Fix-build-on-Linux-x86_64-under-uClibc.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 9cbd876ebc6ef8cbe647d4a914d03f527f822424 Mon Sep 17 00:00:00 2001 -Message-Id: <9cbd876ebc6ef8cbe647d4a914d03f527f822424.1398253762.git.baruch@tkos.co.il> -From: Baruch Siach -Date: Wed, 23 Apr 2014 14:42:21 +0300 -Subject: [PATCH] Fix build on Linux/x86_64 under uClibc - -* include/private/gcconfig.h (GETCONTEXT_FPU_EXCMASK_BUG): don't define for -uClibc, as it may not have fenv.h - -Patch status: sent upstream - -Signed-off-by: Baruch Siach ---- - include/private/gcconfig.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/private/gcconfig.h b/include/private/gcconfig.h -index de7998be0f54..f866cc4ed8cc 100644 ---- a/include/private/gcconfig.h -+++ b/include/private/gcconfig.h -@@ -2235,7 +2235,7 @@ - extern int etext[]; - # define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff)) - # endif --# if defined(__GLIBC__) -+# if defined(__GLIBC__) && !defined(__UCLIBC__) - /* At present, there's a bug in GLibc getcontext() on */ - /* Linux/x64 (it clears FPU exception mask). We define this */ - /* macro to workaround it. */ --- -1.9.2 - diff --git a/package/libgcrypt/0001-ac_cv_sys_symbol_underscore.patch b/package/libgcrypt/0001-ac_cv_sys_symbol_underscore.patch new file mode 100644 index 0000000000..95db0fbba8 --- /dev/null +++ b/package/libgcrypt/0001-ac_cv_sys_symbol_underscore.patch @@ -0,0 +1,27 @@ +diff --git a/acinclude.m4 b/acinclude.m4 +index a7bc0fa..1a5bffc 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -76,13 +76,14 @@ case "${host}" in + i386-emx-os2 | i[3456]86-pc-os2*emx | i386-pc-msdosdjgpp) + ac_cv_sys_symbol_underscore=yes + ;; +- *) +- if test "$cross_compiling" = yes; then +- if test "x$ac_cv_sys_symbol_underscore" = x ; then +- ac_cv_sys_symbol_underscore=yes +- fi +- else +- tmp_do_check="yes" ++ *) if test -z "$ac_cv_sys_symbol_underscore"; then ++ if test "$cross_compiling" = yes; then ++ if test "x$ac_cv_sys_symbol_underscore" = x ; then ++ ac_cv_sys_symbol_underscore=yes ++ fi ++ else ++ tmp_do_check="yes" ++ fi + fi + ;; + esac + diff --git a/package/libgcrypt/0002-reconfigure.patch b/package/libgcrypt/0002-reconfigure.patch new file mode 100644 index 0000000000..87d29a298b --- /dev/null +++ b/package/libgcrypt/0002-reconfigure.patch @@ -0,0 +1,27 @@ +diff --git a/configure b/configure +index 70a6d50..8f55d95 100755 +--- a/configure ++++ b/configure +@@ -22306,14 +22306,15 @@ case "${host}" in + i386-emx-os2 | i345686-pc-os2*emx | i386-pc-msdosdjgpp) + ac_cv_sys_symbol_underscore=yes + ;; +- *) +- if test "$cross_compiling" = yes; then +- if test "x$ac_cv_sys_symbol_underscore" = x ; then +- ac_cv_sys_symbol_underscore=yes ++ *)if test -z "$ac_cv_sys_symbol_underscore";then ++ if test "$cross_compiling" = yes; then ++ if test "x$ac_cv_sys_symbol_underscore" = x ; then ++ ac_cv_sys_symbol_underscore=yes ++ fi ++ else ++ tmp_do_check="yes" ++ fi + fi +- else +- tmp_do_check="yes" +- fi + ;; + esac + if test "$tmp_do_check" = "yes"; then diff --git a/package/libgcrypt/libgcrypt-00-ac_cv_sys_symbol_underscore.patch b/package/libgcrypt/libgcrypt-00-ac_cv_sys_symbol_underscore.patch deleted file mode 100644 index 95db0fbba8..0000000000 --- a/package/libgcrypt/libgcrypt-00-ac_cv_sys_symbol_underscore.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/acinclude.m4 b/acinclude.m4 -index a7bc0fa..1a5bffc 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -76,13 +76,14 @@ case "${host}" in - i386-emx-os2 | i[3456]86-pc-os2*emx | i386-pc-msdosdjgpp) - ac_cv_sys_symbol_underscore=yes - ;; -- *) -- if test "$cross_compiling" = yes; then -- if test "x$ac_cv_sys_symbol_underscore" = x ; then -- ac_cv_sys_symbol_underscore=yes -- fi -- else -- tmp_do_check="yes" -+ *) if test -z "$ac_cv_sys_symbol_underscore"; then -+ if test "$cross_compiling" = yes; then -+ if test "x$ac_cv_sys_symbol_underscore" = x ; then -+ ac_cv_sys_symbol_underscore=yes -+ fi -+ else -+ tmp_do_check="yes" -+ fi - fi - ;; - esac - diff --git a/package/libgcrypt/libgcrypt-01-reconfigure.patch b/package/libgcrypt/libgcrypt-01-reconfigure.patch deleted file mode 100644 index 87d29a298b..0000000000 --- a/package/libgcrypt/libgcrypt-01-reconfigure.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/configure b/configure -index 70a6d50..8f55d95 100755 ---- a/configure -+++ b/configure -@@ -22306,14 +22306,15 @@ case "${host}" in - i386-emx-os2 | i345686-pc-os2*emx | i386-pc-msdosdjgpp) - ac_cv_sys_symbol_underscore=yes - ;; -- *) -- if test "$cross_compiling" = yes; then -- if test "x$ac_cv_sys_symbol_underscore" = x ; then -- ac_cv_sys_symbol_underscore=yes -+ *)if test -z "$ac_cv_sys_symbol_underscore";then -+ if test "$cross_compiling" = yes; then -+ if test "x$ac_cv_sys_symbol_underscore" = x ; then -+ ac_cv_sys_symbol_underscore=yes -+ fi -+ else -+ tmp_do_check="yes" -+ fi - fi -- else -- tmp_do_check="yes" -- fi - ;; - esac - if test "$tmp_do_check" = "yes"; then diff --git a/package/libgeotiff/0001-use-pkg-config.patch b/package/libgeotiff/0001-use-pkg-config.patch new file mode 100644 index 0000000000..a4b11f1523 --- /dev/null +++ b/package/libgeotiff/0001-use-pkg-config.patch @@ -0,0 +1,79 @@ +Use pkg-config for libtiff detection + +Using pkg-config allows proper behavior in static-only contexts: the +libtiff library might depend on libz and libjpeg. + +This patch also fixes a few other issues in the configure.ac script +that prevents autoreconf to work, or proper detection of the proj +library. + +Signed-off-by: Thomas Petazzoni + +Index: b/configure.ac +=================================================================== +--- a/configure.ac ++++ b/configure.ac +@@ -196,39 +196,12 @@ + + TIFF_CONFIG="no" + +-AC_ARG_WITH(libtiff, [ --with-libtiff=dir Use libtiff in directory dir],,) +- +-if test "$with_libtiff" != "" ; then +- if test -f $with_libtiff/include/tiffio.h -a -d $with_libtiff/lib ; then +- LIBS="-L$with_libtiff/lib -ltiff $LIBS" +- TIFF_INC=-I$with_libtiff/include +- else +- LIBS="-L$with_libtiff -ltiff $LIBS" +- TIFF_INC=-I$with_libtiff +- fi +- LIBS_SAVED="$LIBS" +- AC_CHECK_LIB(tiff,TIFFOpen,[TIFF_CONFIG=yes], +- AC_MSG_ERROR([failed to link with -ltiff to find TIFFOpen]),-lm) +- AC_CHECK_LIB(tiff,TIFFMergeFieldInfo,[TIFF_CONFIG=yes], +- AC_MSG_ERROR([Libtiff 3.6.0 Beta or later required for this version of +-libgeotiff. Please upgrade or use an older version of libgeotiff.]),-lm) +- LIBS="$LIBS_SAVED" +-else +- AC_CHECK_LIB(tiff,TIFFOpen,[TIFF_CONFIG=yes], +- AC_MSG_ERROR([You will need to substantially rewrite libxtiff to +-build libgeotiff without libtiff]),-lm) +- LIBS_SAVED="$LIBS" +- AC_CHECK_LIB(tiff,TIFFMergeFieldInfo,[TIFF_CONFIG=yes], +- AC_MSG_ERROR([Libtiff 3.6.0 Beta or later required for this version of +-libgeotiff. Please upgrade libtiff or use an older version of libgeotiff.]),-lm) +- LIBS="$LIBS -ltiff" +- TIFF_INC= +- TIFF_CONFIG="yes" +-fi +- ++PKG_CHECK_MODULES(LIBTIFF, libtiff-4) ++TIFF_INC="$LIBTIFF_CFLAGS" ++LIBS="$LIBS $LIBTIFF_LIBS" ++TIFF_CONFIG="yes" + + AC_SUBST([TIFF_INC]) +-AC_SUBST([TIFF_PREFIX]) + AM_CONDITIONAL([TIFF_IS_CONFIG], [test ! x$TIFF_CONFIG = xno]) + + dnl +@@ -280,15 +253,16 @@ + PROJ_INC=-I$PROJ_INC + + AC_SUBST(PROJ_INC,$PROJ_INC) +- AC_DEFINE(HAVE_PROJECTS_H) ++ AC_DEFINE([HAVE_PROJECTS_H], [], [Whether proj library header is available]) + AC_DEFINE(HAVE_LIBPROJ) + AC_SUBST([HAVE_LIBPROJ]) + PROJ_CONFIG="yes" +- + else + AC_CHECK_LIB(proj,pj_init,,,-lm) + AC_CHECK_HEADERS(proj_api.h,,) +- PROJ_CONFIG="yes" ++ if "$ac_cv_lib_proj_pj_init" = "yes" -a "$ac_cv_header_proj_api_h" = "yes"; then ++ PROJ_CONFIG="yes" ++ fi + fi + + AM_CONDITIONAL([PROJ_IS_CONFIG], [test ! x$PROJ_CONFIG = xno]) diff --git a/package/libgeotiff/libgeotiff-0001-use-pkg-config.patch b/package/libgeotiff/libgeotiff-0001-use-pkg-config.patch deleted file mode 100644 index a4b11f1523..0000000000 --- a/package/libgeotiff/libgeotiff-0001-use-pkg-config.patch +++ /dev/null @@ -1,79 +0,0 @@ -Use pkg-config for libtiff detection - -Using pkg-config allows proper behavior in static-only contexts: the -libtiff library might depend on libz and libjpeg. - -This patch also fixes a few other issues in the configure.ac script -that prevents autoreconf to work, or proper detection of the proj -library. - -Signed-off-by: Thomas Petazzoni - -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -196,39 +196,12 @@ - - TIFF_CONFIG="no" - --AC_ARG_WITH(libtiff, [ --with-libtiff=dir Use libtiff in directory dir],,) -- --if test "$with_libtiff" != "" ; then -- if test -f $with_libtiff/include/tiffio.h -a -d $with_libtiff/lib ; then -- LIBS="-L$with_libtiff/lib -ltiff $LIBS" -- TIFF_INC=-I$with_libtiff/include -- else -- LIBS="-L$with_libtiff -ltiff $LIBS" -- TIFF_INC=-I$with_libtiff -- fi -- LIBS_SAVED="$LIBS" -- AC_CHECK_LIB(tiff,TIFFOpen,[TIFF_CONFIG=yes], -- AC_MSG_ERROR([failed to link with -ltiff to find TIFFOpen]),-lm) -- AC_CHECK_LIB(tiff,TIFFMergeFieldInfo,[TIFF_CONFIG=yes], -- AC_MSG_ERROR([Libtiff 3.6.0 Beta or later required for this version of --libgeotiff. Please upgrade or use an older version of libgeotiff.]),-lm) -- LIBS="$LIBS_SAVED" --else -- AC_CHECK_LIB(tiff,TIFFOpen,[TIFF_CONFIG=yes], -- AC_MSG_ERROR([You will need to substantially rewrite libxtiff to --build libgeotiff without libtiff]),-lm) -- LIBS_SAVED="$LIBS" -- AC_CHECK_LIB(tiff,TIFFMergeFieldInfo,[TIFF_CONFIG=yes], -- AC_MSG_ERROR([Libtiff 3.6.0 Beta or later required for this version of --libgeotiff. Please upgrade libtiff or use an older version of libgeotiff.]),-lm) -- LIBS="$LIBS -ltiff" -- TIFF_INC= -- TIFF_CONFIG="yes" --fi -- -+PKG_CHECK_MODULES(LIBTIFF, libtiff-4) -+TIFF_INC="$LIBTIFF_CFLAGS" -+LIBS="$LIBS $LIBTIFF_LIBS" -+TIFF_CONFIG="yes" - - AC_SUBST([TIFF_INC]) --AC_SUBST([TIFF_PREFIX]) - AM_CONDITIONAL([TIFF_IS_CONFIG], [test ! x$TIFF_CONFIG = xno]) - - dnl -@@ -280,15 +253,16 @@ - PROJ_INC=-I$PROJ_INC - - AC_SUBST(PROJ_INC,$PROJ_INC) -- AC_DEFINE(HAVE_PROJECTS_H) -+ AC_DEFINE([HAVE_PROJECTS_H], [], [Whether proj library header is available]) - AC_DEFINE(HAVE_LIBPROJ) - AC_SUBST([HAVE_LIBPROJ]) - PROJ_CONFIG="yes" -- - else - AC_CHECK_LIB(proj,pj_init,,,-lm) - AC_CHECK_HEADERS(proj_api.h,,) -- PROJ_CONFIG="yes" -+ if "$ac_cv_lib_proj_pj_init" = "yes" -a "$ac_cv_header_proj_api_h" = "yes"; then -+ PROJ_CONFIG="yes" -+ fi - fi - - AM_CONDITIONAL([PROJ_IS_CONFIG], [test ! x$PROJ_CONFIG = xno]) diff --git a/package/libglib2/0001-optional-ipv6.patch b/package/libglib2/0001-optional-ipv6.patch new file mode 100644 index 0000000000..cbab1f1df8 --- /dev/null +++ b/package/libglib2/0001-optional-ipv6.patch @@ -0,0 +1,195 @@ +[PATCH]: fix build on uClibc without IPv6 support + +Updated to glib 2.36 by Thomas Petazzoni. + +Signed-off-by: Peter Korsgaard +Signed-off-by: Thomas Petazzoni +--- + gio/ginetaddress.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +Index: b/gio/ginetaddress.c +=================================================================== +--- a/gio/ginetaddress.c ++++ b/gio/ginetaddress.c +@@ -21,6 +21,7 @@ + * Samuel Cormier-Iijima + */ + ++#include + #include + + #include +@@ -423,7 +424,11 @@ + return NULL; + } + ++#if defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__) ++#define G_INET_ADDRESS_FAMILY_IS_VALID(family) ((family) == AF_INET) ++#else + #define G_INET_ADDRESS_FAMILY_IS_VALID(family) ((family) == AF_INET || (family) == AF_INET6) ++#endif + + /** + * g_inet_address_new_from_bytes: +@@ -472,8 +477,10 @@ + + return g_inet_address_new_from_bytes (addr, family); + } ++#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)) + else + return g_inet_address_new_from_bytes (in6addr_loopback.s6_addr, family); ++#endif + } + + /** +@@ -499,8 +506,10 @@ + + return g_inet_address_new_from_bytes (addr, family); + } ++#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)) + else + return g_inet_address_new_from_bytes (in6addr_any.s6_addr, family); ++#endif + } + + +Index: b/gio/gsocket.c +=================================================================== +--- a/gio/gsocket.c ++++ b/gio/gsocket.c +@@ -425,7 +425,9 @@ + switch (family) + { + case G_SOCKET_FAMILY_IPV4: ++#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)) + case G_SOCKET_FAMILY_IPV6: ++#endif + socket->priv->family = address.ss_family; + switch (socket->priv->type) + { +@@ -1321,11 +1323,13 @@ + g_socket_get_option (socket, IPPROTO_IP, IP_TTL, + &value, &error); + } ++#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)) + else if (socket->priv->family == G_SOCKET_FAMILY_IPV6) + { + g_socket_get_option (socket, IPPROTO_IPV6, IPV6_UNICAST_HOPS, + &value, &error); + } ++#endif + else + g_return_val_if_reached (0); + +@@ -1362,6 +1366,7 @@ + g_socket_set_option (socket, IPPROTO_IP, IP_TTL, + ttl, &error); + } ++#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)) + else if (socket->priv->family == G_SOCKET_FAMILY_IPV6) + { + g_socket_set_option (socket, IPPROTO_IP, IP_TTL, +@@ -1369,6 +1374,7 @@ + g_socket_set_option (socket, IPPROTO_IPV6, IPV6_UNICAST_HOPS, + ttl, &error); + } ++#endif + else + g_return_if_reached (); + +@@ -1470,11 +1476,13 @@ + g_socket_get_option (socket, IPPROTO_IP, IP_MULTICAST_LOOP, + &value, &error); + } ++#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)) + else if (socket->priv->family == G_SOCKET_FAMILY_IPV6) + { + g_socket_get_option (socket, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, + &value, &error); + } ++#endif + else + g_return_val_if_reached (FALSE); + +@@ -1515,6 +1523,7 @@ + g_socket_set_option (socket, IPPROTO_IP, IP_MULTICAST_LOOP, + loopback, &error); + } ++#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)) + else if (socket->priv->family == G_SOCKET_FAMILY_IPV6) + { + g_socket_set_option (socket, IPPROTO_IP, IP_MULTICAST_LOOP, +@@ -1522,6 +1531,7 @@ + g_socket_set_option (socket, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, + loopback, &error); + } ++#endif + else + g_return_if_reached (); + +@@ -1559,11 +1569,13 @@ + g_socket_get_option (socket, IPPROTO_IP, IP_MULTICAST_TTL, + &value, &error); + } ++#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)) + else if (socket->priv->family == G_SOCKET_FAMILY_IPV6) + { + g_socket_get_option (socket, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, + &value, &error); + } ++#endif + else + g_return_val_if_reached (FALSE); + +@@ -1601,6 +1613,7 @@ + g_socket_set_option (socket, IPPROTO_IP, IP_MULTICAST_TTL, + ttl, &error); + } ++#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)) + else if (socket->priv->family == G_SOCKET_FAMILY_IPV6) + { + g_socket_set_option (socket, IPPROTO_IP, IP_MULTICAST_TTL, +@@ -1608,6 +1621,7 @@ + g_socket_set_option (socket, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, + ttl, &error); + } ++#endif + else + g_return_if_reached (); + +@@ -1965,6 +1979,7 @@ + result = setsockopt (socket->priv->fd, IPPROTO_IP, optname, + &mc_req, sizeof (mc_req)); + } ++#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)) + else if (g_inet_address_get_family (group) == G_SOCKET_FAMILY_IPV6) + { + struct ipv6_mreq mc_req_ipv6; +@@ -1982,6 +1997,7 @@ + result = setsockopt (socket->priv->fd, IPPROTO_IPV6, optname, + &mc_req_ipv6, sizeof (mc_req_ipv6)); + } ++#endif + else + g_return_val_if_reached (FALSE); + +@@ -2089,8 +2105,8 @@ + case G_SOCKET_FAMILY_IPV4: + return TRUE; + +- case G_SOCKET_FAMILY_IPV6: + #if defined (IPPROTO_IPV6) && defined (IPV6_V6ONLY) ++ case G_SOCKET_FAMILY_IPV6: + { + gint v6_only; + +@@ -2101,8 +2117,6 @@ + + return !v6_only; + } +-#else +- return FALSE; + #endif + + default: diff --git a/package/libglib2/libglib2-0001-optional-ipv6.patch b/package/libglib2/libglib2-0001-optional-ipv6.patch deleted file mode 100644 index cbab1f1df8..0000000000 --- a/package/libglib2/libglib2-0001-optional-ipv6.patch +++ /dev/null @@ -1,195 +0,0 @@ -[PATCH]: fix build on uClibc without IPv6 support - -Updated to glib 2.36 by Thomas Petazzoni. - -Signed-off-by: Peter Korsgaard -Signed-off-by: Thomas Petazzoni ---- - gio/ginetaddress.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -Index: b/gio/ginetaddress.c -=================================================================== ---- a/gio/ginetaddress.c -+++ b/gio/ginetaddress.c -@@ -21,6 +21,7 @@ - * Samuel Cormier-Iijima - */ - -+#include - #include - - #include -@@ -423,7 +424,11 @@ - return NULL; - } - -+#if defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__) -+#define G_INET_ADDRESS_FAMILY_IS_VALID(family) ((family) == AF_INET) -+#else - #define G_INET_ADDRESS_FAMILY_IS_VALID(family) ((family) == AF_INET || (family) == AF_INET6) -+#endif - - /** - * g_inet_address_new_from_bytes: -@@ -472,8 +477,10 @@ - - return g_inet_address_new_from_bytes (addr, family); - } -+#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)) - else - return g_inet_address_new_from_bytes (in6addr_loopback.s6_addr, family); -+#endif - } - - /** -@@ -499,8 +506,10 @@ - - return g_inet_address_new_from_bytes (addr, family); - } -+#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)) - else - return g_inet_address_new_from_bytes (in6addr_any.s6_addr, family); -+#endif - } - - -Index: b/gio/gsocket.c -=================================================================== ---- a/gio/gsocket.c -+++ b/gio/gsocket.c -@@ -425,7 +425,9 @@ - switch (family) - { - case G_SOCKET_FAMILY_IPV4: -+#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)) - case G_SOCKET_FAMILY_IPV6: -+#endif - socket->priv->family = address.ss_family; - switch (socket->priv->type) - { -@@ -1321,11 +1323,13 @@ - g_socket_get_option (socket, IPPROTO_IP, IP_TTL, - &value, &error); - } -+#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)) - else if (socket->priv->family == G_SOCKET_FAMILY_IPV6) - { - g_socket_get_option (socket, IPPROTO_IPV6, IPV6_UNICAST_HOPS, - &value, &error); - } -+#endif - else - g_return_val_if_reached (0); - -@@ -1362,6 +1366,7 @@ - g_socket_set_option (socket, IPPROTO_IP, IP_TTL, - ttl, &error); - } -+#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)) - else if (socket->priv->family == G_SOCKET_FAMILY_IPV6) - { - g_socket_set_option (socket, IPPROTO_IP, IP_TTL, -@@ -1369,6 +1374,7 @@ - g_socket_set_option (socket, IPPROTO_IPV6, IPV6_UNICAST_HOPS, - ttl, &error); - } -+#endif - else - g_return_if_reached (); - -@@ -1470,11 +1476,13 @@ - g_socket_get_option (socket, IPPROTO_IP, IP_MULTICAST_LOOP, - &value, &error); - } -+#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)) - else if (socket->priv->family == G_SOCKET_FAMILY_IPV6) - { - g_socket_get_option (socket, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, - &value, &error); - } -+#endif - else - g_return_val_if_reached (FALSE); - -@@ -1515,6 +1523,7 @@ - g_socket_set_option (socket, IPPROTO_IP, IP_MULTICAST_LOOP, - loopback, &error); - } -+#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)) - else if (socket->priv->family == G_SOCKET_FAMILY_IPV6) - { - g_socket_set_option (socket, IPPROTO_IP, IP_MULTICAST_LOOP, -@@ -1522,6 +1531,7 @@ - g_socket_set_option (socket, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, - loopback, &error); - } -+#endif - else - g_return_if_reached (); - -@@ -1559,11 +1569,13 @@ - g_socket_get_option (socket, IPPROTO_IP, IP_MULTICAST_TTL, - &value, &error); - } -+#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)) - else if (socket->priv->family == G_SOCKET_FAMILY_IPV6) - { - g_socket_get_option (socket, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, - &value, &error); - } -+#endif - else - g_return_val_if_reached (FALSE); - -@@ -1601,6 +1613,7 @@ - g_socket_set_option (socket, IPPROTO_IP, IP_MULTICAST_TTL, - ttl, &error); - } -+#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)) - else if (socket->priv->family == G_SOCKET_FAMILY_IPV6) - { - g_socket_set_option (socket, IPPROTO_IP, IP_MULTICAST_TTL, -@@ -1608,6 +1621,7 @@ - g_socket_set_option (socket, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, - ttl, &error); - } -+#endif - else - g_return_if_reached (); - -@@ -1965,6 +1979,7 @@ - result = setsockopt (socket->priv->fd, IPPROTO_IP, optname, - &mc_req, sizeof (mc_req)); - } -+#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)) - else if (g_inet_address_get_family (group) == G_SOCKET_FAMILY_IPV6) - { - struct ipv6_mreq mc_req_ipv6; -@@ -1982,6 +1997,7 @@ - result = setsockopt (socket->priv->fd, IPPROTO_IPV6, optname, - &mc_req_ipv6, sizeof (mc_req_ipv6)); - } -+#endif - else - g_return_val_if_reached (FALSE); - -@@ -2089,8 +2105,8 @@ - case G_SOCKET_FAMILY_IPV4: - return TRUE; - -- case G_SOCKET_FAMILY_IPV6: - #if defined (IPPROTO_IPV6) && defined (IPV6_V6ONLY) -+ case G_SOCKET_FAMILY_IPV6: - { - gint v6_only; - -@@ -2101,8 +2117,6 @@ - - return !v6_only; - } --#else -- return FALSE; - #endif - - default: diff --git a/package/libgtk2/0001-reduce-dependencies.patch b/package/libgtk2/0001-reduce-dependencies.patch new file mode 100644 index 0000000000..3250cae4b0 --- /dev/null +++ b/package/libgtk2/0001-reduce-dependencies.patch @@ -0,0 +1,117 @@ +Hack the configure.in file to add a "none" gdktarget which removes +dependencies on graphic backends such as X.org or DirectFB. Gtk does +not fully build in this mode, but it builds sufficiently to build the +host tools that are needed to build the target Gtk. + +Changes: + Ported to 2.24.18 + +Signed-off-by: Thomas Petazzoni +Signed-off-by: Spenser Gilliland +--- +Index: libgtk2-2.24.18/configure.ac +=================================================================== +--- libgtk2-2.24.18.orig/configure.ac 2013-05-13 07:02:44.000000000 -0500 ++++ libgtk2-2.24.18/configure.ac 2013-05-27 02:12:09.947030335 -0500 +@@ -258,12 +258,12 @@ + gdktarget=x11 + fi + +-AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/win32/quartz/directfb]] select non-default GDK target], ++AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/win32/quartz/directfb/none]] select non-default GDK target], + gdktarget=$with_gdktarget) + + AC_SUBST(gdktarget) + case $gdktarget in +- x11|win32|quartz|directfb) ;; ++ x11|win32|quartz|directfb|none) ;; + *) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz, directfb or win32.]);; + esac + +@@ -372,11 +373,15 @@ + ## annoying to construct + PKG_CHECK_MODULES(BASE_DEPENDENCIES, + [glib-2.0 >= glib_required_version dnl +- atk >= atk_required_version dnl +- pango >= pango_required_version dnl +- cairo >= cairo_required_version dnl + gdk-pixbuf-2.0 >= gdk_pixbuf_required_version]) + ++if test "x$gdktarget" != "xnone"; then ++ PKG_CHECK_MODULES(BASE_DEPENDENCIES, ++ [atk >= atk_required_version dnl ++ pango >= pango_required_version dnl ++ cairo >= cairo_required_version]) ++fi ++ + ## In addition to checking that cairo is present, we also need to + ## check that the correct cairo backend is there. E.g. if the GDK + ## target is win32 we need the cairo-win32 backend and so on. +@@ -387,8 +392,11 @@ + if test "x$cairo_backend" = "xx11"; then + cairo_backend=xlib + fi +-PKG_CHECK_MODULES(CAIRO_BACKEND, +- [cairo-$cairo_backend >= cairo_required_version]) ++ ++if test "x$gdktarget" != "xnone"; then ++ PKG_CHECK_MODULES(CAIRO_BACKEND, ++ [cairo-$cairo_backend >= cairo_required_version]) ++fi + + PKG_CHECK_MODULES(GMODULE, [gmodule-2.0]) + +@@ -1279,6 +1287,7 @@ + AM_CONDITIONAL(USE_DIRECTFB, false) + fi + ++if test "x$gdktarget" != "xnone"; then + + # Check for Pango flags + +@@ -1324,6 +1333,8 @@ + GDK_PACKAGES="$PANGO_PACKAGES gio-2.0 gdk-pixbuf-2.0 cairo-$cairo_backend" + fi + ++fi # gdktarget != none ++ + GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PACKAGES` $MATH_LIB" + GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PACKAGES` $GDK_EXTRA_CFLAGS" + # +@@ -1341,6 +1352,7 @@ + AC_SUBST(GDK_DEP_LIBS) + AC_SUBST(GDK_DEP_CFLAGS) + ++if test "x$gdktarget" != "xnone"; then + + ######################################## + # Check for Accessibility Toolkit flags +@@ -1372,6 +1384,10 @@ + fi + + GTK_PACKAGES="atk cairo gdk-pixbuf-2.0 gio-2.0" ++else # gdktarget != none ++GTK_PACKAGES="gdk-pixbuf-2.0" ++fi # gdktarget != none ++ + if test "x$gdktarget" = "xx11"; then + GTK_PACKAGES="$GTK_PACKAGES pangoft2" + fi +@@ -1533,6 +1549,8 @@ + gtk_save_cppflags="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS $GDK_DEP_CFLAGS" + ++if test "x$gdktarget" != "xnone"; then ++ + AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([ + *** Can't find cairo-pdf.h. You must build Cairo with the pdf + *** backend enabled.])) +@@ -1547,6 +1565,8 @@ + *** svg backend enabled.])) + fi + ++fi # gdktarget != none ++ + CPPFLAGS="$gtk_save_cppflags" + + diff --git a/package/libgtk2/libgtk2-reduce-dependencies.patch b/package/libgtk2/libgtk2-reduce-dependencies.patch deleted file mode 100644 index 3250cae4b0..0000000000 --- a/package/libgtk2/libgtk2-reduce-dependencies.patch +++ /dev/null @@ -1,117 +0,0 @@ -Hack the configure.in file to add a "none" gdktarget which removes -dependencies on graphic backends such as X.org or DirectFB. Gtk does -not fully build in this mode, but it builds sufficiently to build the -host tools that are needed to build the target Gtk. - -Changes: - Ported to 2.24.18 - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Spenser Gilliland ---- -Index: libgtk2-2.24.18/configure.ac -=================================================================== ---- libgtk2-2.24.18.orig/configure.ac 2013-05-13 07:02:44.000000000 -0500 -+++ libgtk2-2.24.18/configure.ac 2013-05-27 02:12:09.947030335 -0500 -@@ -258,12 +258,12 @@ - gdktarget=x11 - fi - --AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/win32/quartz/directfb]] select non-default GDK target], -+AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/win32/quartz/directfb/none]] select non-default GDK target], - gdktarget=$with_gdktarget) - - AC_SUBST(gdktarget) - case $gdktarget in -- x11|win32|quartz|directfb) ;; -+ x11|win32|quartz|directfb|none) ;; - *) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz, directfb or win32.]);; - esac - -@@ -372,11 +373,15 @@ - ## annoying to construct - PKG_CHECK_MODULES(BASE_DEPENDENCIES, - [glib-2.0 >= glib_required_version dnl -- atk >= atk_required_version dnl -- pango >= pango_required_version dnl -- cairo >= cairo_required_version dnl - gdk-pixbuf-2.0 >= gdk_pixbuf_required_version]) - -+if test "x$gdktarget" != "xnone"; then -+ PKG_CHECK_MODULES(BASE_DEPENDENCIES, -+ [atk >= atk_required_version dnl -+ pango >= pango_required_version dnl -+ cairo >= cairo_required_version]) -+fi -+ - ## In addition to checking that cairo is present, we also need to - ## check that the correct cairo backend is there. E.g. if the GDK - ## target is win32 we need the cairo-win32 backend and so on. -@@ -387,8 +392,11 @@ - if test "x$cairo_backend" = "xx11"; then - cairo_backend=xlib - fi --PKG_CHECK_MODULES(CAIRO_BACKEND, -- [cairo-$cairo_backend >= cairo_required_version]) -+ -+if test "x$gdktarget" != "xnone"; then -+ PKG_CHECK_MODULES(CAIRO_BACKEND, -+ [cairo-$cairo_backend >= cairo_required_version]) -+fi - - PKG_CHECK_MODULES(GMODULE, [gmodule-2.0]) - -@@ -1279,6 +1287,7 @@ - AM_CONDITIONAL(USE_DIRECTFB, false) - fi - -+if test "x$gdktarget" != "xnone"; then - - # Check for Pango flags - -@@ -1324,6 +1333,8 @@ - GDK_PACKAGES="$PANGO_PACKAGES gio-2.0 gdk-pixbuf-2.0 cairo-$cairo_backend" - fi - -+fi # gdktarget != none -+ - GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PACKAGES` $MATH_LIB" - GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PACKAGES` $GDK_EXTRA_CFLAGS" - # -@@ -1341,6 +1352,7 @@ - AC_SUBST(GDK_DEP_LIBS) - AC_SUBST(GDK_DEP_CFLAGS) - -+if test "x$gdktarget" != "xnone"; then - - ######################################## - # Check for Accessibility Toolkit flags -@@ -1372,6 +1384,10 @@ - fi - - GTK_PACKAGES="atk cairo gdk-pixbuf-2.0 gio-2.0" -+else # gdktarget != none -+GTK_PACKAGES="gdk-pixbuf-2.0" -+fi # gdktarget != none -+ - if test "x$gdktarget" = "xx11"; then - GTK_PACKAGES="$GTK_PACKAGES pangoft2" - fi -@@ -1533,6 +1549,8 @@ - gtk_save_cppflags="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS $GDK_DEP_CFLAGS" - -+if test "x$gdktarget" != "xnone"; then -+ - AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([ - *** Can't find cairo-pdf.h. You must build Cairo with the pdf - *** backend enabled.])) -@@ -1547,6 +1565,8 @@ - *** svg backend enabled.])) - fi - -+fi # gdktarget != none -+ - CPPFLAGS="$gtk_save_cppflags" - - diff --git a/package/libhid/0001-dont-fiddle-with-debug-flags.patch b/package/libhid/0001-dont-fiddle-with-debug-flags.patch new file mode 100644 index 0000000000..44a172877a --- /dev/null +++ b/package/libhid/0001-dont-fiddle-with-debug-flags.patch @@ -0,0 +1,19 @@ +MD_CONF_DEBUGGING changes CFLAGS and CXXFLAGS with a horrible magic so disable +it to prevent compilation errors. + +downloaded from +http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/libhid/files/libhid-0.2.16-gentoo.patch?revision=1.1&view=markup + +Signed-off-by: Bernd Kuhls + +diff -uNr libhid-0.2.16.org/configure.ac libhid-0.2.16/configure.ac +--- libhid-0.2.16.org/configure.ac 2007-04-01 22:32:10.000000000 +0200 ++++ libhid-0.2.16/configure.ac 2014-10-19 21:31:00.550091947 +0200 +@@ -78,7 +78,6 @@ + AC_C_BIGENDIAN + AC_C_STRINGIZE + +-MD_CONF_DEBUGGING + MD_CONF_COMPILER + AM_CONDITIONAL(OS_LINUX, test "$MD_OS" = "linux") + AM_CONDITIONAL(OS_BSD, test "$MD_OS" = "bsd") diff --git a/package/libhid/0002-no-newline-in-ldflags.patch b/package/libhid/0002-no-newline-in-ldflags.patch new file mode 100644 index 0000000000..df845ee1f5 --- /dev/null +++ b/package/libhid/0002-no-newline-in-ldflags.patch @@ -0,0 +1,22 @@ +Fix improper usage of macro that introduces a wrong newline + +The MD_CONF_FLAGS() macro was used with a final newline that +introduces an invalid newline in the middle of the macro expansion +when defining LDFLAGS. + +Signed-off-by: Thomas Petazzoni + +Index: libhid-0.2.16/configure.ac +=================================================================== +--- libhid-0.2.16.orig/configure.ac 2007-04-01 22:32:10.000000000 +0200 ++++ libhid-0.2.16/configure.ac 2012-12-12 20:24:03.000000000 +0100 +@@ -102,8 +102,7 @@ + [], + [$OS_CFLAGS $LIBUSB_CFLAGS], + [], +- [$OS_LDFLAGS $LIBUSB_LIBS] +-) ++ [$OS_LDFLAGS $LIBUSB_LIBS]) + + MD_CONF_DB2MAN + diff --git a/package/libhid/0003-uclinux.patch b/package/libhid/0003-uclinux.patch new file mode 100644 index 0000000000..cb3c45216a --- /dev/null +++ b/package/libhid/0003-uclinux.patch @@ -0,0 +1,27 @@ +Good old 'uclinux is also linux' + +Signed-off-by: Gustavo Zacarias + +diff -Nura libhid-0.2.16.orig/configure.ac libhid-0.2.16/configure.ac +--- libhid-0.2.16.orig/configure.ac 2014-06-22 09:35:50.277261742 -0300 ++++ libhid-0.2.16/configure.ac 2014-06-22 09:36:10.688951947 -0300 +@@ -80,6 +80,7 @@ + + MD_CONF_DEBUGGING + MD_CONF_COMPILER ++AM_CONDITIONAL(OS_LINUX, test "$MD_OS" = "uclinux") + AM_CONDITIONAL(OS_LINUX, test "$MD_OS" = "linux") + AM_CONDITIONAL(OS_BSD, test "$MD_OS" = "bsd") + AM_CONDITIONAL(OS_SOLARIS, test "$MD_OS" = "solaris") +diff -Nura libhid-0.2.16.orig/m4/md_check_os.m4 libhid-0.2.16/m4/md_check_os.m4 +--- libhid-0.2.16.orig/m4/md_check_os.m4 2014-06-22 09:35:50.275261675 -0300 ++++ libhid-0.2.16/m4/md_check_os.m4 2014-06-22 09:46:17.651475891 -0300 +@@ -3,7 +3,7 @@ + AC_CANONICAL_HOST + AC_MSG_CHECKING(for target OS) + case $host in +- *-linux*) ++ *-linux*|*-uclinux*) + AC_DEFINE(OS_LINUX, [], [define to 1 if building for Linux]) + AC_SUBST(OS_LINUX) + MD_OS=linux diff --git a/package/libhid/libhid-0001-dont-fiddle-with-debug-flags.patch b/package/libhid/libhid-0001-dont-fiddle-with-debug-flags.patch deleted file mode 100644 index 44a172877a..0000000000 --- a/package/libhid/libhid-0001-dont-fiddle-with-debug-flags.patch +++ /dev/null @@ -1,19 +0,0 @@ -MD_CONF_DEBUGGING changes CFLAGS and CXXFLAGS with a horrible magic so disable -it to prevent compilation errors. - -downloaded from -http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/libhid/files/libhid-0.2.16-gentoo.patch?revision=1.1&view=markup - -Signed-off-by: Bernd Kuhls - -diff -uNr libhid-0.2.16.org/configure.ac libhid-0.2.16/configure.ac ---- libhid-0.2.16.org/configure.ac 2007-04-01 22:32:10.000000000 +0200 -+++ libhid-0.2.16/configure.ac 2014-10-19 21:31:00.550091947 +0200 -@@ -78,7 +78,6 @@ - AC_C_BIGENDIAN - AC_C_STRINGIZE - --MD_CONF_DEBUGGING - MD_CONF_COMPILER - AM_CONDITIONAL(OS_LINUX, test "$MD_OS" = "linux") - AM_CONDITIONAL(OS_BSD, test "$MD_OS" = "bsd") diff --git a/package/libhid/libhid-0002-no-newline-in-ldflags.patch b/package/libhid/libhid-0002-no-newline-in-ldflags.patch deleted file mode 100644 index df845ee1f5..0000000000 --- a/package/libhid/libhid-0002-no-newline-in-ldflags.patch +++ /dev/null @@ -1,22 +0,0 @@ -Fix improper usage of macro that introduces a wrong newline - -The MD_CONF_FLAGS() macro was used with a final newline that -introduces an invalid newline in the middle of the macro expansion -when defining LDFLAGS. - -Signed-off-by: Thomas Petazzoni - -Index: libhid-0.2.16/configure.ac -=================================================================== ---- libhid-0.2.16.orig/configure.ac 2007-04-01 22:32:10.000000000 +0200 -+++ libhid-0.2.16/configure.ac 2012-12-12 20:24:03.000000000 +0100 -@@ -102,8 +102,7 @@ - [], - [$OS_CFLAGS $LIBUSB_CFLAGS], - [], -- [$OS_LDFLAGS $LIBUSB_LIBS] --) -+ [$OS_LDFLAGS $LIBUSB_LIBS]) - - MD_CONF_DB2MAN - diff --git a/package/libhid/libhid-0003-uclinux.patch b/package/libhid/libhid-0003-uclinux.patch deleted file mode 100644 index cb3c45216a..0000000000 --- a/package/libhid/libhid-0003-uclinux.patch +++ /dev/null @@ -1,27 +0,0 @@ -Good old 'uclinux is also linux' - -Signed-off-by: Gustavo Zacarias - -diff -Nura libhid-0.2.16.orig/configure.ac libhid-0.2.16/configure.ac ---- libhid-0.2.16.orig/configure.ac 2014-06-22 09:35:50.277261742 -0300 -+++ libhid-0.2.16/configure.ac 2014-06-22 09:36:10.688951947 -0300 -@@ -80,6 +80,7 @@ - - MD_CONF_DEBUGGING - MD_CONF_COMPILER -+AM_CONDITIONAL(OS_LINUX, test "$MD_OS" = "uclinux") - AM_CONDITIONAL(OS_LINUX, test "$MD_OS" = "linux") - AM_CONDITIONAL(OS_BSD, test "$MD_OS" = "bsd") - AM_CONDITIONAL(OS_SOLARIS, test "$MD_OS" = "solaris") -diff -Nura libhid-0.2.16.orig/m4/md_check_os.m4 libhid-0.2.16/m4/md_check_os.m4 ---- libhid-0.2.16.orig/m4/md_check_os.m4 2014-06-22 09:35:50.275261675 -0300 -+++ libhid-0.2.16/m4/md_check_os.m4 2014-06-22 09:46:17.651475891 -0300 -@@ -3,7 +3,7 @@ - AC_CANONICAL_HOST - AC_MSG_CHECKING(for target OS) - case $host in -- *-linux*) -+ *-linux*|*-uclinux*) - AC_DEFINE(OS_LINUX, [], [define to 1 if building for Linux]) - AC_SUBST(OS_LINUX) - MD_OS=linux diff --git a/package/libiqrf/0001-cmake-handle-static-library-and-find-required-thread.patch b/package/libiqrf/0001-cmake-handle-static-library-and-find-required-thread.patch new file mode 100644 index 0000000000..cfd7d54523 --- /dev/null +++ b/package/libiqrf/0001-cmake-handle-static-library-and-find-required-thread.patch @@ -0,0 +1,45 @@ +From 46660112b76664473cc98b8ae6c863fd27c27d2d Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Fri, 29 Aug 2014 23:40:59 +0200 +Subject: [PATCH 1/1] cmake: handle static library and find required thread + module + +Signed-off-by: Samuel Martin +--- + CMakeLists.txt | 2 ++ + src/CMakeLists.txt | 4 +++- + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 79f644c..7779a2a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,7 +6,9 @@ enable_testing() + # use local module (for Findlibusb-1.0.cmake) + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/") + ++find_package(Threads REQUIRED) + find_package(libusb-1.0 REQUIRED) ++ + if (NOT LIBUSB_1_FOUND) + message(FATAL_ERROR "libusb-1.0 not installed. (try apt-get install libusb-1.0-0-dev)") + endif (NOT LIBUSB_1_FOUND) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 149d198..0597ccd 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -18,8 +18,10 @@ set (iqrf_sources + + include_directories ("${LIBUSB_1_INCLUDE_DIRS}") + +-add_library(iqrf SHARED ${iqrf_sources} ${iqrf_headers}) ++add_library(iqrf ${iqrf_sources} ${iqrf_headers}) ++ + target_link_libraries(iqrf ${LIBUSB_1_LIBRARIES}) ++target_link_libraries(iqrf ${CMAKE_THREAD_LIBS_INIT}) + + set_target_properties(iqrf PROPERTIES + VERSION "${iqrf_version_major}.${iqrf_version_minor}" +-- +2.1.0 + diff --git a/package/libiqrf/0002-use-only-c-language.patch b/package/libiqrf/0002-use-only-c-language.patch new file mode 100644 index 0000000000..2f1c23c28b --- /dev/null +++ b/package/libiqrf/0002-use-only-c-language.patch @@ -0,0 +1,29 @@ +Use only the C language + +libirqf is written completely in C, but by default, CMake assumes that +both C and C++ are used, and therefore verifies that a C++ compiler is +installed. This may not necessarily be the case for a C-only package +in Buildroot. + +Signed-off-by: Thomas Petazzoni + +Index: b/src/CMakeLists.txt +=================================================================== +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -1,5 +1,3 @@ +-project(iqrf) +- + set (iqrf_version_major 0) + set (iqrf_version_minor 1) + set (iqrf_version_patch 2) +Index: b/CMakeLists.txt +=================================================================== +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,3 +1,5 @@ ++project(iqrf C) ++ + cmake_minimum_required(VERSION 2.8.1) + enable_testing() + diff --git a/package/libiqrf/libiqrf-0001-cmake-handle-static-library-and-find-required-thread.patch b/package/libiqrf/libiqrf-0001-cmake-handle-static-library-and-find-required-thread.patch deleted file mode 100644 index cfd7d54523..0000000000 --- a/package/libiqrf/libiqrf-0001-cmake-handle-static-library-and-find-required-thread.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 46660112b76664473cc98b8ae6c863fd27c27d2d Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Fri, 29 Aug 2014 23:40:59 +0200 -Subject: [PATCH 1/1] cmake: handle static library and find required thread - module - -Signed-off-by: Samuel Martin ---- - CMakeLists.txt | 2 ++ - src/CMakeLists.txt | 4 +++- - 2 files changed, 5 insertions(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 79f644c..7779a2a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -6,7 +6,9 @@ enable_testing() - # use local module (for Findlibusb-1.0.cmake) - set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/") - -+find_package(Threads REQUIRED) - find_package(libusb-1.0 REQUIRED) -+ - if (NOT LIBUSB_1_FOUND) - message(FATAL_ERROR "libusb-1.0 not installed. (try apt-get install libusb-1.0-0-dev)") - endif (NOT LIBUSB_1_FOUND) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 149d198..0597ccd 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -18,8 +18,10 @@ set (iqrf_sources - - include_directories ("${LIBUSB_1_INCLUDE_DIRS}") - --add_library(iqrf SHARED ${iqrf_sources} ${iqrf_headers}) -+add_library(iqrf ${iqrf_sources} ${iqrf_headers}) -+ - target_link_libraries(iqrf ${LIBUSB_1_LIBRARIES}) -+target_link_libraries(iqrf ${CMAKE_THREAD_LIBS_INIT}) - - set_target_properties(iqrf PROPERTIES - VERSION "${iqrf_version_major}.${iqrf_version_minor}" --- -2.1.0 - diff --git a/package/libiqrf/libiqrf-use-only-c-language.patch b/package/libiqrf/libiqrf-use-only-c-language.patch deleted file mode 100644 index 2f1c23c28b..0000000000 --- a/package/libiqrf/libiqrf-use-only-c-language.patch +++ /dev/null @@ -1,29 +0,0 @@ -Use only the C language - -libirqf is written completely in C, but by default, CMake assumes that -both C and C++ are used, and therefore verifies that a C++ compiler is -installed. This may not necessarily be the case for a C-only package -in Buildroot. - -Signed-off-by: Thomas Petazzoni - -Index: b/src/CMakeLists.txt -=================================================================== ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -1,5 +1,3 @@ --project(iqrf) -- - set (iqrf_version_major 0) - set (iqrf_version_minor 1) - set (iqrf_version_patch 2) -Index: b/CMakeLists.txt -=================================================================== ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,3 +1,5 @@ -+project(iqrf C) -+ - cmake_minimum_required(VERSION 2.8.1) - enable_testing() - diff --git a/package/libjson/0001-fix-broken-makefile.patch b/package/libjson/0001-fix-broken-makefile.patch new file mode 100644 index 0000000000..8ceb0cac3a --- /dev/null +++ b/package/libjson/0001-fix-broken-makefile.patch @@ -0,0 +1,16 @@ +Fix the broken libjson makefile. + +Signed-off-by: Simon Dawson + +diff -Nurp a/makefile b/makefile +--- a/makefile 2012-05-30 10:15:42.000000000 +0100 ++++ b/makefile 2013-03-27 18:45:34.814670534 +0000 +@@ -170,7 +170,7 @@ include_path = $(prefix)/$(includedi + # Usage check + ifdef CXXFLAGS + ifdef BUILD_TYPE +- $(error CXXFLAGS and BUILD_TYPE are mutually exclusive) ++$(error CXXFLAGS and BUILD_TYPE are mutually exclusive) + endif + endif + diff --git a/package/libjson/libjson-0001-fix-broken-makefile.patch b/package/libjson/libjson-0001-fix-broken-makefile.patch deleted file mode 100644 index 8ceb0cac3a..0000000000 --- a/package/libjson/libjson-0001-fix-broken-makefile.patch +++ /dev/null @@ -1,16 +0,0 @@ -Fix the broken libjson makefile. - -Signed-off-by: Simon Dawson - -diff -Nurp a/makefile b/makefile ---- a/makefile 2012-05-30 10:15:42.000000000 +0100 -+++ b/makefile 2013-03-27 18:45:34.814670534 +0000 -@@ -170,7 +170,7 @@ include_path = $(prefix)/$(includedi - # Usage check - ifdef CXXFLAGS - ifdef BUILD_TYPE -- $(error CXXFLAGS and BUILD_TYPE are mutually exclusive) -+$(error CXXFLAGS and BUILD_TYPE are mutually exclusive) - endif - endif - diff --git a/package/liblockfile/0001-install.patch b/package/liblockfile/0001-install.patch new file mode 100644 index 0000000000..bfa197c64f --- /dev/null +++ b/package/liblockfile/0001-install.patch @@ -0,0 +1,16 @@ +diff -ur liblockfile-1.06.1/Makefile.in liblockfile-1.06.1-patched/Makefile.in +--- liblockfile-1.06.1/Makefile.in 2001-03-16 22:08:33.000000000 -0600 ++++ liblockfile-1.06.1-patched/Makefile.in 2007-04-11 07:18:38.000000000 -0500 +@@ -60,11 +60,7 @@ + + install_common: + install -m 644 lockfile.h maillock.h $(ROOT)$(includedir) +- if [ "$(MAILGROUP)" != "" ]; then\ +- install -g $(MAILGROUP) -m 2755 dotlockfile $(ROOT)$(bindir);\ +- else \ +- install -g root -m 755 dotlockfile $(ROOT)$(bindir); \ +- fi ++ install -m 2755 dotlockfile $(ROOT)$(bindir);\ + install -m 644 *.1 $(ROOT)$(mandir)/man1 + install -m 644 *.3 $(ROOT)$(mandir)/man3 + diff --git a/package/liblockfile/liblockfile-install.patch b/package/liblockfile/liblockfile-install.patch deleted file mode 100644 index bfa197c64f..0000000000 --- a/package/liblockfile/liblockfile-install.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -ur liblockfile-1.06.1/Makefile.in liblockfile-1.06.1-patched/Makefile.in ---- liblockfile-1.06.1/Makefile.in 2001-03-16 22:08:33.000000000 -0600 -+++ liblockfile-1.06.1-patched/Makefile.in 2007-04-11 07:18:38.000000000 -0500 -@@ -60,11 +60,7 @@ - - install_common: - install -m 644 lockfile.h maillock.h $(ROOT)$(includedir) -- if [ "$(MAILGROUP)" != "" ]; then\ -- install -g $(MAILGROUP) -m 2755 dotlockfile $(ROOT)$(bindir);\ -- else \ -- install -g root -m 755 dotlockfile $(ROOT)$(bindir); \ -- fi -+ install -m 2755 dotlockfile $(ROOT)$(bindir);\ - install -m 644 *.1 $(ROOT)$(mandir)/man1 - install -m 644 *.3 $(ROOT)$(mandir)/man3 - diff --git a/package/libmad/0001-mips-h-constraint-removal.patch b/package/libmad/0001-mips-h-constraint-removal.patch new file mode 100644 index 0000000000..095858717e --- /dev/null +++ b/package/libmad/0001-mips-h-constraint-removal.patch @@ -0,0 +1,72 @@ +http://patchwork.openembedded.org/patch/921/ + +diff -ur libmad-0.15.1b-orig/fixed.h libmad-0.15.1b/fixed.h +--- libmad-0.15.1b-orig/fixed.h 2004-02-17 12:32:03.000000000 +1030 ++++ libmad-0.15.1b/fixed.h 2009-08-05 10:46:30.000000000 +0930 +@@ -299,6 +299,23 @@ + + # elif defined(FPM_MIPS) + ++/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */ ++#if defined (__GNUC__) && defined (__GNUC_MINOR__) ++#define __GNUC_PREREQ(maj, min) \ ++ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) ++#else ++#define __GNUC_PREREQ(maj, min) 0 ++#endif ++ ++#if __GNUC_PREREQ(4,4) ++ typedef unsigned int u64_di_t __attribute__ ((mode (DI))); ++# define MAD_F_MLX(hi, lo, x, y) \ ++ do { \ ++ u64_di_t __ll = (u64_di_t) (x) * (y); \ ++ hi = __ll >> 32; \ ++ lo = __ll; \ ++ } while (0) ++#else + /* + * This MIPS version is fast and accurate; the disposition of the least + * significant bit depends on OPT_ACCURACY via mad_f_scale64(). +@@ -328,6 +345,7 @@ + : "%r" ((x) >> 12), "r" ((y) >> 16)) + # define MAD_F_MLZ(hi, lo) ((mad_fixed_t) (lo)) + # endif ++#endif /* __GNU_PREREQ(4,4) */ + + # if defined(OPT_SPEED) + # define mad_f_scale64(hi, lo) \ +diff -ur libmad-0.15.1b-orig/mad.h libmad-0.15.1b/mad.h +--- libmad-0.15.1b-orig/mad.h 2004-02-17 13:25:44.000000000 +1030 ++++ libmad-0.15.1b/mad.h 2009-08-05 10:42:40.000000000 +0930 +@@ -344,6 +344,23 @@ + + # elif defined(FPM_MIPS) + ++/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */ ++#if defined (__GNUC__) && defined (__GNUC_MINOR__) ++#define __GNUC_PREREQ(maj, min) \ ++ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) ++#else ++#define __GNUC_PREREQ(maj, min) 0 ++#endif ++ ++#if __GNUC_PREREQ(4,4) ++ typedef unsigned int u64_di_t __attribute__ ((mode (DI))); ++# define MAD_F_MLX(hi, lo, x, y) \ ++ do { \ ++ u64_di_t __ll = (u64_di_t) (x) * (y); \ ++ hi = __ll >> 32; \ ++ lo = __ll; \ ++ } while (0) ++#else + /* + * This MIPS version is fast and accurate; the disposition of the least + * significant bit depends on OPT_ACCURACY via mad_f_scale64(). +@@ -373,6 +390,7 @@ + : "%r" ((x) >> 12), "r" ((y) >> 16)) + # define MAD_F_MLZ(hi, lo) ((mad_fixed_t) (lo)) + # endif ++#endif /* __GNU_PREREQ(4,4) */ + + # if defined(OPT_SPEED) + # define mad_f_scale64(hi, lo) \ diff --git a/package/libmad/0002-optimization.patch.avr32 b/package/libmad/0002-optimization.patch.avr32 new file mode 100644 index 0000000000..b74eea3225 --- /dev/null +++ b/package/libmad/0002-optimization.patch.avr32 @@ -0,0 +1,2922 @@ +diff --git a/bit.c b/bit.c +index c2bfb24..262ce3a 100644 +--- a/bit.c ++++ b/bit.c +@@ -25,12 +25,6 @@ + + # include "global.h" + +-# ifdef HAVE_LIMITS_H +-# include +-# else +-# define CHAR_BIT 8 +-# endif +- + # include "bit.h" + + /* +@@ -81,6 +75,8 @@ unsigned short const crc_table[256] = { + + # define CRC_POLY 0x8005 + ++#ifndef FPM_AVR32 ++ + /* + * NAME: bit->init() + * DESCRIPTION: initialize bit pointer struct +@@ -190,6 +186,8 @@ void mad_bit_write(struct mad_bitptr *bitptr, unsigned int len, + } + # endif + ++#endif ++ + /* + * NAME: bit->crc() + * DESCRIPTION: compute CRC-check word +diff --git a/bit.h b/bit.h +index 5a51570..70f550a 100644 +--- a/bit.h ++++ b/bit.h +@@ -22,6 +22,92 @@ + # ifndef LIBMAD_BIT_H + # define LIBMAD_BIT_H + ++# ifdef HAVE_LIMITS_H ++# include ++# else ++# define CHAR_BIT 8 ++# endif ++ ++#ifdef FPM_AVR32 ++ ++struct mad_bitptr { ++ unsigned char const *byte; ++ unsigned int read_bytes; ++}; ++ ++/* ++ * NAME: bit->init() ++ * DESCRIPTION: initialize bit pointer struct ++ */ ++static void mad_bit_init(struct mad_bitptr *bitptr, unsigned char const *byte) ++{ ++ bitptr->byte = byte; ++ bitptr->read_bytes = 0; ++} ++ ++/* ++ * NAME: bit->length() ++ * DESCRIPTION: return number of bits between start and end points ++ */ ++static unsigned int mad_bit_length(struct mad_bitptr const *begin, ++ struct mad_bitptr const *end) ++{ ++ return (end->read_bytes - begin->read_bytes) + ++ 8 * (end->byte - begin->byte); ++} ++ ++/* ++ * NAME: bit->nextbyte() ++ * DESCRIPTION: return pointer to next unprocessed byte ++ */ ++static unsigned char const *mad_bit_nextbyte(struct mad_bitptr const *bitptr) ++{ ++ return bitptr->byte + ((bitptr->read_bytes + 0x7) >> 3); ++} ++ ++/* ++ * NAME: bit->skip() ++ * DESCRIPTION: advance bit pointer ++ */ ++static void mad_bit_skip(struct mad_bitptr *bitptr, unsigned int len) ++{ ++ bitptr->read_bytes += len; ++ bitptr->byte += (bitptr->read_bytes >> 3); ++ bitptr->read_bytes &= 0x7; ++} ++ ++/* ++ * NAME: bit->read() ++ * DESCRIPTION: read an arbitrary number of bits and return their UIMSBF value ++ */ ++static unsigned long mad_bit_read(struct mad_bitptr *bitptr, unsigned int len) ++{ ++ register unsigned long value; ++ ++ if (!len) ++ return 0; ++ ++ value = *(unsigned int *)bitptr->byte; ++ ++ value <<= bitptr->read_bytes; ++ value >>= (32 - len); ++ ++ bitptr->read_bytes += len; ++ bitptr->byte += (bitptr->read_bytes >> 3); ++ bitptr->read_bytes &= 0x7; ++ ++ return value; ++} ++ ++# define mad_bit_finish(bitptr) /* nothing */ ++ ++static unsigned long mad_bit_bitsleft(struct mad_bitptr *bitptr) ++{ ++ return (8 - (bitptr)->read_bytes); ++} ++ ++#else /* #ifdef FPM_AVR32 */ ++ + struct mad_bitptr { + unsigned char const *byte; + unsigned short cache; +@@ -42,6 +128,8 @@ void mad_bit_skip(struct mad_bitptr *, unsigned int); + unsigned long mad_bit_read(struct mad_bitptr *, unsigned int); + void mad_bit_write(struct mad_bitptr *, unsigned int, unsigned long); + ++#endif ++ + unsigned short mad_bit_crc(struct mad_bitptr, unsigned int, unsigned short); + + # endif +diff --git a/configure.ac b/configure.ac +index 9b79399..063cb9b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -274,13 +274,14 @@ fi + AC_MSG_CHECKING(for architecture-specific fixed-point math routines) + AC_ARG_ENABLE(fpm, AC_HELP_STRING([--enable-fpm=ARCH], + [use ARCH-specific fixed-point math routines +- (one of: intel, arm, mips, sparc, ppc, 64bit, default)]), ++ (one of: intel, arm, avr32, mips, sparc, ppc, 64bit, default)]), + [ + case "$enableval" in + yes) ;; + no|default|approx) FPM="DEFAULT" ;; + intel|i?86) FPM="INTEL" ;; + arm) FPM="ARM" ;; ++ avr32) FPM="AVR32" ;; + mips) FPM="MIPS" ;; + sparc) FPM="SPARC" ;; + ppc|powerpc) FPM="PPC" ;; +@@ -298,6 +299,7 @@ then + case "$host" in + i?86-*) FPM="INTEL" ;; + arm*-*) FPM="ARM" ;; ++ avr32*-*) FPM="AVR32" ;; + mips*-*) FPM="MIPS" ;; + sparc*-*) FPM="SPARC" ;; + powerpc*-*) FPM="PPC" ;; +@@ -343,6 +345,11 @@ then + ASO="$ASO -DASO_IMDCT" + ASO_OBJS="imdct_l_arm.lo" + ;; ++ avr32*-*) ++ ASO="$ASO -DASO_INTERLEAVE2" ++ ASO="$ASO -DASO_ZEROCHECK" ++ ASO_OBJS="dct32_avr32.lo synth_avr32.lo imdct_avr32.lo" ++ ;; + mips*-*) + ASO="$ASO -DASO_INTERLEAVE2" + ASO="$ASO -DASO_ZEROCHECK" +diff --git a/configure b/configure +index ee421cc..7a9f0c8 100755 +--- a/configure ++++ b/configure +@@ -1048,7 +1048,7 @@ Optional Features: + --enable-speed optimize for speed over accuracy + --enable-accuracy optimize for accuracy over speed + --enable-fpm=ARCH use ARCH-specific fixed-point math routines (one of: +- intel, arm, mips, sparc, ppc, 64bit, default) ++ intel, arm, avr32, mips, sparc, ppc, 64bit, default) + --enable-sso use subband synthesis optimization + --disable-aso disable architecture-specific optimizations + --enable-strict-iso use strict ISO/IEC interpretations +@@ -21477,6 +21477,7 @@ if test "${enable_fpm+set}" = set; then + no|default|approx) FPM="DEFAULT" ;; + intel|i?86) FPM="INTEL" ;; + arm) FPM="ARM" ;; ++ avr32) FPM="AVR32" ;; + mips) FPM="MIPS" ;; + sparc) FPM="SPARC" ;; + ppc|powerpc) FPM="PPC" ;; +@@ -21498,6 +21499,7 @@ then + case "$host" in + i?86-*) FPM="INTEL" ;; + arm*-*) FPM="ARM" ;; ++ avr32*-*) FPM="AVR32" ;; + mips*-*) FPM="MIPS" ;; + sparc*-*) FPM="SPARC" ;; + powerpc*-*) FPM="PPC" ;; +@@ -21554,6 +21556,11 @@ then + ASO="$ASO -DASO_IMDCT" + ASO_OBJS="imdct_l_arm.lo" + ;; ++ avr32*-*) ++ ASO="$ASO -DASO_INTERLEAVE2" ++ ASO="$ASO -DASO_ZEROCHECK" ++ ASO_OBJS="dct32_avr32.lo synth_avr32.lo imdct_avr32.lo" ++ ;; + mips*-*) + ASO="$ASO -DASO_INTERLEAVE2" + ASO="$ASO -DASO_ZEROCHECK" +diff --git a/dct32_avr32.S b/dct32_avr32.S +new file mode 100644 +index 0000000..7513340 +--- /dev/null ++++ b/dct32_avr32.S +@@ -0,0 +1,780 @@ ++/* ++ Optimized 32-point Discrete Cosine Transform (DCT) ++ Copyright 2003-2006 Atmel Corporation. ++ ++ Written by Ronny Pedersen, Atmel Norway ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ ++ ++#define SHIFT 12 ++#define MAD_F_SCALEBITS 28 ++#define SLOTS 8 ++ ++#define MAD_F(x) ((x + (1 << 15)) >> 16) ++ ++# define costab1 MAD_F(0x7fd8878e) ++# define costab2 MAD_F(0x7f62368f) ++# define costab3 MAD_F(0x7e9d55fc) ++# define costab4 MAD_F(0x7d8a5f40) ++# define costab5 MAD_F(0x7c29fbee) ++# define costab6 MAD_F(0x7a7d055b) ++# define costab7 MAD_F(0x78848414) ++# define costab8 MAD_F(0x7641af3d) ++# define costab9 MAD_F(0x73b5ebd1) ++# define costab10 MAD_F(0x70e2cbc6) ++# define costab11 MAD_F(0x6dca0d14) ++# define costab12 MAD_F(0x6a6d98a4) ++# define costab13 MAD_F(0x66cf8120) ++# define costab14 MAD_F(0x62f201ac) ++# define costab15 MAD_F(0x5ed77c8a) ++# define costab16 MAD_F(0x5a82799a) ++# define costab17 MAD_F(0x55f5a4d2) ++# define costab18 MAD_F(0x5133cc94) ++# define costab19 MAD_F(0x4c3fdff4) ++# define costab20 MAD_F(0x471cece7) ++# define costab21 MAD_F(0x41ce1e65) ++# define costab22 MAD_F(0x3c56ba70) ++# define costab23 MAD_F(0x36ba2014) ++# define costab24 MAD_F(0x30fbc54d) ++# define costab25 MAD_F(0x2b1f34eb) ++# define costab26 MAD_F(0x25280c5e) ++# define costab27 MAD_F(0x1f19f97b) ++# define costab28 MAD_F(0x18f8b83c) ++# define costab29 MAD_F(0x12c8106f) ++# define costab30 MAD_F(0x0c8bd35e) ++# define costab31 MAD_F(0x0647d97c) ++ ++ ++ .macro butterfly2_in out1, out2, out3, out4, in, idx_in1, idx_in2, idx_in3, idx_in4, coeff1, coeff2, tmplo, tmphi ++ mov \tmplo, \coeff1 ++ ld.w \out1, \in[\idx_in1 * 4] ++ ld.w \out2, \in[\idx_in2 * 4] ++ ld.w \out3, \in[\idx_in3 * 4] ++ ld.w \out4, \in[\idx_in4 * 4] ++ sub \tmphi, \out1, \out2 ++ add \out1, \out2 ++ mulsatrndwh.w \out2, \tmphi, \tmplo:b ++ ++ sub \tmphi, \out3, \out4 ++ mov \tmplo, \coeff2 ++ add \out3, \out4 ++ mulsatrndwh.w \out4, \tmphi, \tmplo:b ++ .endm ++ ++ .macro butterfly2 in1, in2, in3, in4, coeff1, tmplo, tmphi, tmp ++ mov \tmp, \coeff1 ++ sub \tmphi, \in1, \in2 ++ add \in1, \in2 ++ mulsatrndwh.w \in2, \tmphi, \tmp:b ++ ++ sub \tmphi, \in3, \in4 ++ add \in3, \in4 ++ mulsatrndwh.w \in4, \tmphi, \tmp:b ++ .endm ++ ++ .macro butterfly4 in1, in2, in3, in4, in5, in6, in7, in8, coeff1, tmplo, tmphi, tmp ++ mov \tmp, \coeff1 ++ sub \tmphi, \in1, \in2 ++ add \in1, \in2 ++ mulsatrndwh.w \in2, \tmphi, \tmp:b ++ ++ sub \tmphi, \in3, \in4 ++ add \in3, \in4 ++ mulsatrndwh.w \in4, \tmphi, \tmp:b ++ ++ sub \tmphi, \in5, \in6 ++ add \in5, \in6 ++ mulsatrndwh.w \in6, \tmphi, \tmp:b ++ ++ sub \tmphi, \in7, \in8 ++ add \in7, \in8 ++ mulsatrndwh.w \in8, \tmphi, \tmp:b ++ .endm ++ ++ .macro scale reg ++ .endm ++ ++/*void dct32( mad_fixed_t const in[32], unsigned int slot, ++ mad_fixed_t lo[16][8], mad_fixed_t hi[16][8]) */ ++ ++ .global dct32_avr32 ++dct32_avr32: ++ stm --sp, r0-r7, r9-r11, lr ++ ++ sub sp, 32*4 ++ ++/* t0 = in[0] + in[31]; t16 = MUL(in[0] - in[31], costab1); ++ t1 = in[15] + in[16]; t17 = MUL(in[15] - in[16], costab31); */ ++ butterfly2_in r4/*t0*/, r5/*t16*/, r6/*t1*/, r7/*t17*/, r12, 0, 31, 15, 16, costab1, costab31, r10, r11 ++ ++/* t41 = t16 + t17; ++ t59 = MUL(t16 - t17, costab2); ++ t33 = t0 + t1; ++ t50 = MUL(t0 - t1, costab2);*/ ++ butterfly2 r5/*t41*/, r7/*t59*/, r4/*t33*/, r6/*t50*/, costab2, r10, r11, lr ++ ++/* t2 = in[7] + in[24]; t18 = MUL(in[7] - in[24], costab15); ++ t3 = in[8] + in[23]; t19 = MUL(in[8] - in[23], costab17); */ ++ butterfly2_in r0/*t2*/, r1/*t18*/, r2/*t3*/, r3/*t19*/, r12, 7, 24, 8, 23, costab15, costab17, r10, r11 ++ ++/* t42 = t18 + t19; ++ t60 = MUL(t18 - t19, costab30); ++ t34 = t2 + t3; ++ t51 = MUL(t2 - t3, costab30); */ ++ butterfly2 r1/*t42*/, r3/*t60*/, r0/*t34*/, r2/*t51*/, costab30, r10, r11, lr ++ ++/* t73 = t41 + t42; t94 = MUL(t41 - t42, costab4); ++ t83 = t59 + t60; t106 = MUL(t59 - t60, costab4); */ ++ ++ ++/* t69 = t33 + t34; t89 = MUL(t33 - t34, costab4); ++ t78 = t50 + t51; t100 = MUL(t50 - t51, costab4); */ ++ butterfly4 r5/*t73*/, r1/*t94*/, r7/*t83*/, r3/*t106*/,r4/*t69*/, r0/*t89*/, r6/*t78*/, r2/*t100*/, costab4, r10, r11, lr ++ ++/* Store away the computed butterflies: ++ sp[0-7] = t83, t78, t73, t69, t106, t100, t94, t89 */ ++ stm sp, r0-r7 ++ ++ ++/* t4 = in[3] + in[28]; t20 = MUL(in[3] - in[28], costab7); ++ t5 = in[12] + in[19]; t21 = MUL(in[12] - in[19], costab25); */ ++ butterfly2_in r4/*t4*/, r5/*t20*/, r6/*t5*/, r7/*t21*/, r12, 3, 28, 12, 19, costab7, costab25, r10, r11 ++ ++/* t43 = t20 + t21; ++ t61 = MUL(t20 - t21, costab14); ++ t35 = t4 + t5; ++ t52 = MUL(t4 - t5, costab14); */ ++ butterfly2 r5/*t43*/, r7/*t61*/, r4/*t35*/, r6/*t52*/, costab14, r10, r11, lr ++ ++/* t6 = in[4] + in[27]; t22 = MUL(in[4] - in[27], costab9); ++ t7 = in[11] + in[20]; t23 = MUL(in[11] - in[20], costab23); */ ++ butterfly2_in r0/*t6*/, r1/*t22*/, r2/*t7*/, r3/*t23*/, r12, 4, 27, 11, 20, costab9, costab23, r10, r11 ++ ++/* t44 = t22 + t23; ++ t62 = MUL(t22 - t23, costab18); ++ t36 = t6 + t7; ++ t53 = MUL(t6 - t7, costab18); */ ++ butterfly2 r1/*t44*/, r3/*t62*/, r0/*t36*/, r2/*t53*/, costab18, r10, r11, lr ++ ++/* t74 = t43 + t44; t95 = MUL(t43 - t44, costab28); ++ t84 = t61 + t62; t107 = MUL(t61 - t62, costab28); */ ++ ++/* t70 = t35 + t36; t90 = MUL(t35 - t36, costab28); ++ t79 = t52 + t53; t101 = MUL(t52 - t53, costab28); */ ++ butterfly4 r5/*t74*/, r1/*t95*/, r7/*t84*/, r3/*t107*/, r4/*t70*/, r0/*t90*/, r6/*t79*/, r2/*t101*/, costab28, r10, r11, lr ++ ++/* Store away the computed butterflies: ++ sp[8-15] = t84, t79, t74, t70, t107, t101, t95, t90 */ ++ sub r10, sp, -8*4 ++ stm r10, r0-r7 ++ ++ ++/* t8 = in[1] + in[30]; t24 = MUL(in[1] - in[30], costab3); ++ t9 = in[14] + in[17]; t25 = MUL(in[14] - in[17], costab29); */ ++ butterfly2_in r4/*t8*/, r5/*t24*/, r6/*t9*/, r7/*t25*/, r12, 1, 30, 14, 17, costab3, costab29, r10, r11 ++ ++ ++/* t45 = t24 + t25; ++ t63 = MUL(t24 - t25, costab6); ++ t37 = t8 + t9; ++ t54 = MUL(t8 - t9, costab6); */ ++ butterfly2 r5/*t45*/, r7/*t63*/, r4/*t37*/, r6/*t54*/, costab6, r10, r11, lr ++ ++/* t10 = in[6] + in[25]; t26 = MUL(in[6] - in[25], costab13); ++ t11 = in[9] + in[22]; t27 = MUL(in[9] - in[22], costab19); */ ++ butterfly2_in r0/*t10*/, r1/*t26*/, r2/*t11*/, r3/*t27*/, r12, 6, 25, 9, 22, costab13, costab19, r10, r11 ++ ++/* t46 = t26 + t27; ++ t64 = MUL(t26 - t27, costab26); ++ t38 = t10 + t11; ++ t55 = MUL(t10 - t11, costab26); */ ++ butterfly2 r1/*t46*/, r3/*t64*/, r0/*t38*/, r2/*t55*/, costab26, r10, r11, lr ++ ++/* t75 = t45 + t46; t96 = MUL(t45 - t46, costab12); ++ t85 = t63 + t64; t108 = MUL(t63 - t64, costab12); */ ++ ++/* t71 = t37 + t38; t91 = MUL(t37 - t38, costab12); ++ t80 = t54 + t55; t102 = MUL(t54 - t55, costab12); */ ++ butterfly4 r5/*t75*/, r1/*t96*/, r7/*t85*/, r3/*t108*/, r4/*t71*/, r0/*t91*/, r6/*t80*/, r2/*t102*/, costab12, r10, r11, lr ++ ++/* Store away the computed butterflies: ++ sp[16-23] = t85, t80, t75, t71, t108, t102, t96, t91 */ ++ sub r10, sp, -16*4 ++ stm r10, r0-r7 ++ ++/* t12 = in[2] + in[29]; t28 = MUL(in[2] - in[29], costab5); ++ t13 = in[13] + in[18]; t29 = MUL(in[13] - in[18], costab27); */ ++ butterfly2_in r4/*t12*/, r5/*t28*/, r6/*t13*/, r7/*t29*/, r12, 2, 29, 13, 18, costab5, costab27, r10, r11 ++ ++/* t47 = t28 + t29; ++ t65 = MUL(t28 - t29, costab10); ++ t39 = t12 + t13; ++ t56 = MUL(t12 - t13, costab10); */ ++ butterfly2 r5/*t47*/, r7/*t65*/, r4/*t39*/, r6/*t56*/, costab10, r10, r11, lr ++ ++/* t14 = in[5] + in[26]; t30 = MUL(in[5] - in[26], costab11); ++ t15 = in[10] + in[21]; t31 = MUL(in[10] - in[21], costab21);*/ ++ butterfly2_in r0/*t14*/, r1/*t30*/, r2/*t15*/, r3/*t31*/, r12, 5, 26, 10, 21, costab11, costab21, r10, r11 ++ ++/* t48 = t30 + t31; ++ t66 = MUL(t30 - t31, costab22); ++ t40 = t14 + t15; ++ t57 = MUL(t14 - t15, costab22);*/ ++ butterfly2 r1/*t48*/, r3/*t66*/, r0/*t40*/, r2/*t57*/, costab22, r10, r11, lr ++ ++/* t76 = t47 + t48; t97 = MUL(t47 - t48, costab20); ++ t86 = t65 + t66; t109 = MUL(t65 - t66, costab20);*/ ++ ++/* t72 = t39 + t40; t92 = MUL(t39 - t40, costab20); ++ t81 = t56 + t57; t103 = MUL(t56 - t57, costab20);*/ ++ butterfly4 r5/*t76*/, r1/*t97*/, r7/*t86*/, r3/*t109*/,r4/*t72*/, r0/*t92*/, r6/*t81*/, r2/*t103*/, costab20, r10, r11, lr ++ ++/* Store away the computed butterflies: ++ sp[24-31] = t86, t81, t76, t72, t109, t103, t97, t92 */ ++ sub r10, sp, -24*4 ++ stm r10, r0-r7 ++ ++/* We now have the following on the stack: ++ ++ sp[0-7] = t83, t78, t73, t69, t106, t100, t94, t89 ++ sp[8-15] = t84, t79, t74, t70, t107, t101, t95, t90 ++ sp[16-23] = t85, t80, t75, t71, t108, t102, t96, t91 ++ sp[24-31] = t86, t81, t76, t72, t109, t103, t97, t92 */ ++ ++/* Load {r0...r7} = { t72, t76, t71, t75, t70, t74, t69, t73 } */ ++ ld.d r6, sp[2*4] ++ ld.d r4, sp[10*4] ++ ld.d r2, sp[18*4] ++ ld.d r0, sp[26*4] ++ ++ ++/* t113 = t69 + t70; ++ t141 = MUL(t69 - t70, costab8); ++ ++ t115 = t73 + t74; ++ t144 = MUL(t73 - t74, costab8); */ ++ butterfly2 r6/*t113*/, r4/*t141*/, r7/*t115*/, r5/*t144*/, costab8, r10, r11, lr ++ ++/* t114 = t71 + t72; ++ t142 = MUL(t71 - t72, costab24); ++ ++ t116 = t75 + t76; ++ t145 = MUL(t75 - t76, costab24); */ ++ butterfly2 r2/*t114*/, r0/*t142*/, r3/*t116*/, r1/*t145*/, costab24, r10, r11, lr ++ ++ ++/* ++ t191 = t113 + t114; ++ t192 = MUL(t113 - t114, costab16) ++ ++ t32 = t115 + t116; ++ t177 = MUL(t115 - t116, costab16) ; ++ ++ t143 = t141 + t142; ++ t190 = MUL(t141 - t142, costab16) ; ++ ++ t146 = t144 + t145; ++ t184 = MUL(t144 - t145, costab16) ; */ ++ butterfly4 r6/*t191*/, r2/*t192*/, r7/*t32*/, r3/*t177*/, r4/*t143*/, r0/*190*/, r5/*t146*/, r1/*t184*/, costab16, r10, r11, lr ++ ++/* Store away the computed butterflies: ++ sp[2-3] = t32, t191 ++ sp[10-11] = t146, t143 ++ sp[18-19] = t177, t192 ++ sp[26-27] = t184, t190 */ ++ st.d sp[2*4] , r6 ++ st.d sp[10*4], r4 ++ st.d sp[18*4], r2 ++ st.d sp[26*4], r0 ++ ++/* Load {r0...r7} = { t81, t86, t80, t85, t79, t84, t78, t83 } */ ++ ld.d r6, sp[0*4] ++ ld.d r4, sp[8*4] ++ ld.d r2, sp[16*4] ++ ld.d r0, sp[24*4] ++ ++ ++/* t118 = t78 + t79; ++ t148 = MUL(t78 - t79, costab8); ++ ++ t121 = t83 + t84; ++ t152 = MUL(t83 - t84, costab8); */ ++ butterfly2 r6/*t118*/, r4/*t148*/, r7/*t121*/, r5/*t152*/, costab8, r10, r11, lr ++ ++/* t119 = t80 + t81; ++ t149 = MUL(t80 - t81, costab24); ++ ++ t122 = t85 + t86; ++ t153 = MUL(t85 - t86, costab24); */ ++ butterfly2 r2/*t119*/, r0/*t149*/, r3/*t122*/, r1/*t153*/, costab24, r10, r11, lr ++ ++ ++ ++/* t58 = t118 + t119; ++ t178 = MUL(t118 - t119, costab16) ; ++ ++ t67 = t121 + t122; ++ t179 = MUL(t121 - t122, costab16) ; ++ ++ t150 = t148 + t149; ++ t185 = MUL(t148 - t149, costab16) ; ++ ++ t154 = t152 + t153; ++ t186 = MUL(t152 - t153, costab16) ; */ ++ butterfly4 r6/*t58*/, r2/*t178*/, r7/*t67*/, r3/*t179*/, r4/*t150*/, r0/*185*/, r5/*t154*/, r1/*t186*/, costab16, r10, r11, lr ++ ++/* Store away the computed butterflies: ++ sp[0-1] = t67, t58 ++ sp[8-9] = t154, t150 ++ sp[16-17] = t179, t178 ++ sp[24-25] = t186, t185 */ ++ st.d sp[0*4] , r6 ++ st.d sp[8*4], r4 ++ st.d sp[16*4], r2 ++ st.d sp[24*4], r0 ++ ++/* Load {r0...r7} = { t92, t97, t91, t96, t90, t95, t89, t94 } */ ++ ld.d r6, sp[6*4] ++ ld.d r4, sp[14*4] ++ ld.d r2, sp[22*4] ++ ld.d r0, sp[30*4] ++ ++ ++/* t125 = t89 + t90; ++ t157 = MUL(t89 - t90, costab8); ++ ++ t128 = t94 + t95; ++ t161 = MUL(t94 - t95, costab8); */ ++ butterfly2 r6/*t125*/, r4/*t157*/, r7/*t128*/, r5/*t161*/, costab8, r10, r11, lr ++ ++/* t126 = t91 + t92; ++ t158 = MUL(t91 - t92, costab24); ++ ++ t129 = t96 + t97; ++ t162 = MUL(t96 - t97, costab24); */ ++ butterfly2 r2/*t126*/, r0/*t158*/, r3/*t129*/, r1/*t162*/, costab24, r10, r11, lr ++ ++ ++/* ++ t93 = t125 + t126; ++ t180 = MUL(t125 - t126, costab16) ; ++ ++ t98 = t128 + t129; ++ t181 = MUL(t128 - t129, costab16) ; ++ ++ t159 = t157 + t158; ++ t187 = MUL(t157 - t158, costab16) ; ++ ++ t163 = t161 + t162; ++ t188 = MUL(t161 - t162, costab16) ; */ ++ butterfly4 r6/*t93*/, r2/*t180*/, r7/*t98*/, r3/*t181*/, r4/*t159*/, r0/*187*/, r5/*t163*/, r1/*t188*/, costab16, r10, r11, lr ++ ++ ++/* Store away the computed butterflies: ++ sp[6-7] = t98, t93 ++ sp[14-15] = t163, t159 ++ sp[22-23] = t181, t180 ++ sp[30-31] = t188, t187 */ ++ st.d sp[6*4] , r6 ++ st.d sp[14*4], r4 ++ st.d sp[22*4], r2 ++ st.d sp[30*4], r0 ++ ++/* Load {r0...r7} = { t103, t109, t102, t108, t101, t107, t100, t106 } */ ++ ld.d r6, sp[4*4] ++ ld.d r4, sp[12*4] ++ ld.d r2, sp[20*4] ++ ld.d r0, sp[28*4] ++ ++ ++ ++/* t132 = t100 + t101; ++ t166 = MUL(t100 - t101, costab8); ++ ++ t136 = t106 + t107; ++ t171 = MUL(t106 - t107, costab8); */ ++ butterfly2 r6/*t132*/, r4/*t166*/, r7/*t136*/, r5/*t171*/, costab8, r10, r11, lr ++ ++/* t133 = t102 + t103; ++ t167 = MUL(t102 - t103, costab24); ++ ++ t137 = t108 + t109; ++ t172 = MUL(t108 - t109, costab24);*/ ++ butterfly2 r2/*t133*/, r0/*t167*/, r3/*t137*/, r1/*t172*/, costab24, r10, r11, lr ++ ++ ++/* t104 = t132 + t133; ++ t182 = MUL(t132 - t133, costab16) ; ++ ++ t110 = t136 + t137; ++ t183 = MUL(t136 - t137, costab16) ; ++ ++ t168 = t166 + t167; ++ t189 = MUL(t166 - t167, costab16) ; ++ ++ t173 = t171 + t172; ++ t208 = MUL(t171 - t172, costab16) ; */ ++ butterfly4 r6/*t104*/, r2/*t182*/, r7/*t110*/, r3/*t183*/, r4/*t168*/, r0/*189*/, r5/*t173*/, r1/*t208*/, costab16, r10, r11, lr ++ ++/* Store away the computed butterflies: ++ sp[4-5] = t110, t104 ++ sp[12-13] = t173, t168 ++ sp[20-21] = t183, t182 ++ sp[28-29] = t208, t189 */ ++ st.d sp[4*4] , r6 ++ st.d sp[12*4], r4 ++ st.d sp[20*4], r2 ++ st.d sp[28*4], r0 ++ ++/* Now we have the following stack ++ ++ sp[0-7] = t67, t58 , t32, t191, t110, t104, t98, t93 ++ sp[8-15] = t154, t150, t146, t143, t173, t168, t163, t159 ++ sp[16-23] = t179, t178, t177, t192, t183, t182, t181, t180 ++ sp[24-31] = t186, t185, t184, t190, t208, t189, t188, t187 ++*/ ++ ++ /* Get slot, lo and hi from stack */ ++ lddsp lr, sp[32*4 + 4] /*slot*/ ++ lddsp r12, sp[32*4 + 8] /*lo*/ ++ lddsp r11, sp[32*4 + 12] /*hi*/ ++ ++ add r12, r12, lr << 2 ++ add r11, r11, lr << 2 ++ ++ ++/* t49 = -(t67 * 2) + t32; ++ hi[14][slot] = SHIFT(t32); ++ t87 = -(t110 * 2) + t67; ++ t138 = -(t173 * 2) + t110; ++ t203 = -(t208 * 2) + t173; */ ++ ++ lddsp r0/*t67*/, sp[0] ++ lddsp r1/*t32*/, sp[2*4] ++ lddsp r2/*t110*/, sp[4*4] ++ lddsp r3/*t173*/, sp[12*4] ++ lddsp r5/*t208*/, sp[28*4] ++ ++ sub r4/*t49*/, r1, r0 << 1 ++ scale r1 ++ sub r0/*t87*/, r0, r2 << 1 ++ st.w r11[14*SLOTS*4], r1 ++ sub r2/*t138*/, r2, r3 << 1 ++ sub r1/*t203*/, r3, r5 << 1 ++ ++/* Live: r0 = t87, r1= t203, r2= t138, r4 = t49 ++ Free: r3, r5, r6, r7, r8, r9, r10, lr */ ++ ++/* t68 = (t98 * 2) + t49; ++ hi[12][slot] = SHIFT(-t49); ++ t130 = -(t163 * 2) + t98; ++ t201 = -(t188 * 2) + t163; ++ t200 = -(t186 * 2) + t154; ++ t111 = (t154 * 2) + t87; ++ t77 = -(-(t87 * 2) - t68); ++ t88 = (t146 * 2) + t77; ++ t199 = -(t184 * 2) + t146; ++ hi[ 8][slot] = SHIFT(-t77); ++ hi[10][slot] = SHIFT(t68);*/ ++ lddsp r3/*t98*/, sp[6*4] ++ lddsp r5/*t163*/, sp[14*4] ++ lddsp r6/*t188*/, sp[30*4] ++ lddsp r10/*t186*/, sp[24*4] ++ ++ add r7/*t68*/, r4, r3 << 1 ++ neg r4 ++ scale r4 ++ lddsp r9/*t154*/, sp[8*4] ++ sub r3/*t130*/, r3, r5 << 1 ++ st.w r11[12*SLOTS*4], r4 ++ sub r8/*t201*/, r5, r6 << 1 ++ sub r4/*t200*/, r9, r10 << 1 ++ lddsp lr/*t146*/, sp[10*4] ++ lddsp r6/*t184*/, sp[26*4] ++ add r10/*t111*/, r0, r9 << 1 ++ add r5/*t77*/,r7, r0 << 1 ++ add r0/*t88*/, r5, lr << 1 ++ sub r6/*t199*/, lr, r6 << 1 ++ neg r5 ++ scale r5 ++ scale r7 ++ st.w r11[8*SLOTS*4], r5 ++ st.w r11[10*SLOTS*4], r7 ++ ++/* Live: r0 = t88, r1= t203, r2= t138, r3 = t130, r4 = t200, ++ r6 = 199, r8 = t201, r10 = t111 ++ Free: r5, r7, r9, lr */ ++ ++ ++/* ++ t123 = -(-(t138 * 2) - t111); ++ t174 = (t183 * 2) + t138; ++ t99 = -(t111 * 2) + t88; ++ hi[ 6][slot] = SHIFT(t88); */ ++ lddsp r5/*t183*/, sp[20*4] ++ ++ add r7/*t123*/, r10, r2 << 1 ++ sub r10/*t99*/, r0, r10 << 1 ++ scale r0 ++ add r2/*t174*/, r2, r5 << 1 ++ st.w r11[6*SLOTS*4], r0 ++ ++/* Live: r1 = t203, r2 = t174, r3 = t130, r4 = t200, ++ r6 = t199, r7 = t123, r8 = t201, r10 = t99 ++ Free: r0, r5, r9, lr */ ++ ++/* t112 = -(t130 * 2) + t99; ++ t164 = (t181 * 2) + t130; ++ hi[ 4][slot] = SHIFT(-t99); */ ++ lddsp r0/*t181*/, sp[22*4] ++ ++ sub r5/*t112*/, r10, r3 << 1 ++ neg r10 ++ scale r10 ++ add r3/*164*/, r3, r0 << 1 ++ st.w r11[4*SLOTS*4], r10 ++ ++/* Live: r1 = t203, r2 = t174, r3 = t164, r4 = t200, ++ r5 = t112, r6 = t199, r7 = t123, r8 = t201 ++ Free: r0, r9, r10, lr */ ++ ++ ++/* t117 = -(-(t123 * 2) - t112); ++ t139 = (t179 * 2) + t123; ++ hi[ 2][slot] = SHIFT(t112); */ ++ lddsp r0/*t179*/, sp[16*4] ++ ++ add r9/*t117*/, r5, r7 << 1 ++ scale r5 ++ add r7/*t139*/, r7, r0 << 1 ++ st.w r11[2*SLOTS*4], r5 ++ ++/* Live: r1 = t203, r2 = t174, r3 = t164, r4 = t200, ++ r6 = t199, r7 = t139, r8 = t201, r9 = t117 ++ Free: r0, r5, r10, lr */ ++ ++/* t155 = -(t174 * 2) + t139; ++ t204 = -(-(t203 * 2) - t174); ++ t124 = (t177 * 2) + t117; ++ hi[ 0][slot] = SHIFT(-t117); ++ t131 = -(t139 * 2) + t124; ++ lo[ 1][slot] = SHIFT(t124);*/ ++ lddsp r0/*t177*/, sp[18*4] ++ ++ sub r5/*t155*/, r7, r2 << 1 ++ add r2/*t204*/, r2, r1 << 1 ++ add r0/*t124*/, r9, r0 << 1 ++ neg r9 ++ scale r9 ++ sub r7/*t131*/, r0, r7 << 1 ++ scale r0 ++ st.w r11[0*SLOTS*4], r9 ++ st.w r12[1*SLOTS*4], r0 ++ ++/* Live: r2 = t204, r3 = t164, r4 = t200, ++ r5 = t155, r6 = t199, r7 = t131, r8 = t201 ++ Free: r0, r1, r9, r10, lr */ ++ ++/* t140 = (t164 * 2) + t131; ++ lo[ 3][slot] = SHIFT(-t131); ++ t202 = -(-(t201 * 2) - t164); */ ++ add r0/*t140*/, r7, r3 << 1 ++ neg r7 ++ scale r7 ++ add r3/*t202*/, r3, r8 << 1 ++ st.w r12[3*SLOTS*4], r7 ++ ++/* Live: r0 = t140, r2 = t204, r3 = t202, r4 = t200, ++ r5 = t155, r6 = t199 ++ Free: r1, r7, r8, r9, r10, lr */ ++ ++ ++/* t147 = -(-(t155 * 2) - t140); ++ lo[ 5][slot] = SHIFT(t140); ++ t175 = -(t200 * 2) + t155; ++ t156 = -(t199 * 2) + t147; ++ lo[ 7][slot] = SHIFT(-t147); */ ++ add r1/*t147*/, r0, r5 << 1 ++ scale r0 ++ sub r5/*t175*/, r5, r4 << 1 ++ sub r4/*156*/, r1, r6 << 1 ++ neg r1 ++ scale r1 ++ st.w r12[5*SLOTS*4], r0 ++ st.w r12[7*SLOTS*4], r1 ++ ++/* Live: r2 = t204, r3 = t202, ++ r4 = t156, r5 = t175 ++ Free: r0, r1, r6, r7, r8, r9, r10, lr */ ++ ++ ++/* t205 = -(-(t204 * 2) - t175); ++ t165 = -(t175 * 2) + t156; ++ lo[ 9][slot] = SHIFT(t156); ++ t176 = -(t202 * 2) + t165; ++ lo[11][slot] = SHIFT(-t165); ++ t206 = -(-(t205 * 2) - t176); ++ lo[15][slot] = SHIFT(-t206) ++ lo[13][slot] = SHIFT(t176) */ ++ add r0/*t205*/, r5, r2 << 1 ++ sub r1/*t165*/, r4, r5 << 1 ++ scale r4 ++ sub r3/*t176*/, r1, r3 << 1 ++ st.w r12[9*SLOTS*4], r4 ++ neg r1 ++ scale r1 ++ add r6/*t206*/, r3, r0 << 1 ++ neg r6 ++ scale r6 ++ scale r3 ++ st.w r12[11*SLOTS*4], r1 ++ st.w r12[15*SLOTS*4], r6 ++ st.w r12[13*SLOTS*4], r3 ++ ++/* t193 = -((t190 * 2) - t143) ++ hi[ 7][slot] = SHIFT(t143); ++ lo[ 8][slot] = SHIFT(-t193); ++ t82 = -(t104 * 2) + t58; ++ hi[13][slot] = SHIFT(t58); ++ t134 = -(t168 * 2) + t104; ++ t196 = -(t189 * 2) + t168; */ ++ ++ lddsp r0/*t190*/, sp[27*4] ++ lddsp r1/*t143*/, sp[11*4] ++ lddsp r2/*t104*/, sp[5*4] ++ lddsp r3/*t58*/, sp[1*4] ++ lddsp r4/*t168*/, sp[13*4] ++ lddsp r5/*t189*/, sp[29*4] ++ sub r0/*t193*/, r1, r0 << 1 ++ neg r0 ++ scale r1 ++ scale r0 ++ st.w r11[7*SLOTS*4], r1 ++ st.w r12[8*SLOTS*4], r0 ++ sub r0/*t82*/, r3, r2 << 1 ++ scale r3 ++ sub r2/*t134*/, r2, r4 << 1 ++ sub r4/*t196*/, r4, r5 << 1 ++ st.w r11[13*SLOTS*4], r3 ++ ++/* Live: r0 = t82, r2 = t134, ++ r4 = t196 ++ Free: r1, r3, r5, r6, r7, r8, r9, r10, lr */ ++ ++ ++ ++/* ++ ++ t207 = -(t185 * 2) + t150; ++ t105 = (t150 * 2) + t82; ++ hi[ 9][slot] = SHIFT(-t82); ++ t120 = -(-(t134 * 2) - t105); ++ hi[ 5][slot] = SHIFT(t105); ++ t169 = (t182 * 2) + t134; ++ ++ t135 = (t178 * 2) + t120; ++ hi[ 1][slot] = SHIFT(-t120); ++ t197 = -(-(t196 * 2) - t169); ++ t151 = -(t169 * 2) + t135; ++ lo[ 2][slot] = SHIFT(t135); */ ++ lddsp r1/*t185*/, sp[25*4] ++ lddsp r3/*t150*/, sp[9*4] ++ lddsp r5/*t182*/, sp[21*4] ++ lddsp r8/*t178*/, sp[17*4] ++ ++ sub r6/*t207*/, r3, r1 << 1 ++ add r3/*t105*/, r0, r3 << 1 ++ neg r0 ++ scale r0 ++ add r7/*t120*/, r3, r2 << 1 ++ scale r3 ++ st.w r11[9*SLOTS*4], r0 ++ st.w r11[5*SLOTS*4], r3 ++ add r2/*t169*/, r2, r5 << 1 ++ add r8/*t135*/, r7, r8 << 1 ++ neg r7 ++ scale r7 ++ add r4/*t197*/, r2, r4 << 1 ++ sub r2/*t151*/, r8, r2 << 1 ++ scale r8 ++ st.w r11[1*SLOTS*4], r7 ++ st.w r12[2*SLOTS*4], r8 ++ ++/* Live: r2 = t151, r4 = t197, r6 = t207 ++ ++ Free: r0, r1, r3, r5, r7, r8, r9, r10, lr */ ++ ++ ++ ++/* t170 = -(t207 * 2) + t151; ++ lo[ 6][slot] = SHIFT(-t151); ++ ++ t198 = -(-(t197 * 2) - t170); ++ lo[10][slot] = SHIFT(t170); ++ lo[14][slot] = SHIFT(-t198); ++ ++ t127 = -(t159 * 2) + t93; ++ hi[11][slot] = SHIFT(t93); ++ t194 = -(t187 * 2) + t159; */ ++ lddsp r0/*t159*/, sp[15*4] ++ lddsp r1/*t93*/, sp[7*4] ++ lddsp r3/*t187*/, sp[31*4] ++ sub r5/*t170*/, r2, r6 << 1 ++ neg r2 ++ scale r2 ++ add r4/*t198*/,r5, r4 << 1 ++ neg r4 ++ scale r5 ++ scale r4 ++ st.w r12[6*SLOTS*4], r2 ++ st.w r12[10*SLOTS*4], r5 ++ st.w r12[14*SLOTS*4], r4 ++ sub r7/*t127*/, r1, r0 << 1 ++ scale r1 ++ sub r0/*t194*/, r0, r3 << 1 ++ st.w r11[11*SLOTS*4], r1 ++ ++ ++/* Live: r0 = t194, r7 = t127 ++ Free: r1, r2, r3, r4, r6, r5, r8, r9, r10, lr */ ++ ++/* t160 = (t180 * 2) + t127; ++ hi[ 3][slot] = SHIFT(-t127); ++ t195 = -(-(t194 * 2) - t160); ++ lo[ 4][slot] = SHIFT(t160); ++ lo[12][slot] = SHIFT(-t195); ++ ++ hi[15][slot] = SHIFT(t191); ++ lo[ 0][slot] = SHIFT(t192); */ ++ lddsp r1/*t180*/, sp[23*4] ++ lddsp r2/*t191*/, sp[3*4] ++ lddsp r3/*t192*/, sp[19*4] ++ add r4/*t160*/, r7, r1 << 1 ++ neg r7 ++ scale r7 ++ add r6/*t195*/, r4, r0 << 1 ++ scale r4 ++ neg r6 ++ scale r6 ++ st.w r11[3*SLOTS*4], r7 ++ st.w r12[4*SLOTS*4], r4 ++ st.w r12[12*SLOTS*4], r6 ++ scale r2 ++ scale r3 ++ st.w r11[15*SLOTS*4], r2 ++ st.w r12[0*SLOTS*4], r3 ++ ++ sub sp, -32*4 ++ ldm sp++,r0-r7, r9-r11, pc +diff --git a/fixed.h b/fixed.h +index 4b58abf..0a1350a 100644 +--- a/fixed.h ++++ b/fixed.h +@@ -237,6 +237,46 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t x, mad_fixed_t y) + # define MAD_F_SCALEBITS MAD_F_FRACBITS + # endif + ++/* --- AVR32 ----------------------------------------------------------------- */ ++ ++# elif defined(FPM_AVR32) ++ ++typedef signed short mad_coeff_t; ++ ++struct DWstruct {int high, low;}; ++ ++typedef union { ++ struct DWstruct s; ++ long long ll; ++} DWunion; ++ ++# define MAD_F_MLX(hi, lo, x, y) \ ++ { register DWunion __res; \ ++ __res.ll = (long long)x * (long long)y; \ ++ /* asm ("muls.d\t%0, %1, %2" : "=r" (__res.ll) : "r" (x), "r" (y));*/ \ ++ hi = __res.s.high; \ ++ lo = __res.s.low; } ++ ++# define MAD_F_MLA(hi, lo, x, y) \ ++ { register DWunion __res; \ ++ __res.s.high = hi; \ ++ __res.s.low = lo; \ ++ __res.ll += (long long)x * (long long)y; \ ++/* asm ("macs.d\t%0, %1, %2" : "+r" (__res.ll) : "r" (x), "r" (y));*/ \ ++ hi = __res.s.high; \ ++ lo = __res.s.low; } ++ ++ ++# define MAD_F_MLN(hi, lo) \ ++ asm ("neg %0\n" \ ++ "acr %1\n" \ ++ "neg %1" \ ++ : "+r" (lo), "+r" (hi) \ ++ :: "cc") ++ ++ ++# define MAD_F_SCALEBITS MAD_F_FRACBITS ++ + /* --- ARM ----------------------------------------------------------------- */ + + # elif defined(FPM_ARM) +@@ -433,6 +473,8 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t x, mad_fixed_t y) + * + * Pre-rounding is required to stay within the limits of compliance. + */ ++typedef signed int mad_coeff_t; ++ + # if defined(OPT_SPEED) + # define mad_f_mul(x, y) (((x) >> 12) * ((y) >> 16)) + # else +diff --git a/imdct_avr32.S b/imdct_avr32.S +new file mode 100644 +index 0000000..d0ee6b4 +--- /dev/null ++++ b/imdct_avr32.S +@@ -0,0 +1,789 @@ ++/* ++ Optimized 36-point Inverse Modified Cosine Transform (IMDCT) ++ Copyright 2003-2006 Atmel Corporation. ++ ++ Written by Ronny Pedersen, Atmel Norway ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ ++ ++#define MAD_F(x) ((x + (1 << 13)) >> 14) ++ ++ .public imdct36_avr32 ++ ++/* ++ void imdct36(mad_fixed_t const x[18], mad_fixed_t y[36]) ++ { ++ mad_fixed_t tmp[18]; ++ int i; ++*/ ++/* DCT-IV */ ++imdct36_avr32: ++ pushm r0-r7,r11,lr ++ sub sp, 4*18 ++/* ++ { ++ mad_fixed_t tmp2[18]; ++ int i; ++ ++ /* scale[i] = 2 * cos(PI * (2 * i + 1) / (4 * 18)) */ ++/* ++ static mad_fixed_t const scale[18] = { ++ MAD_F(0x1ff833fa), MAD_F(0x1fb9ea93), MAD_F(0x1f3dd120), ++ MAD_F(0x1e84d969), MAD_F(0x1d906bcf), MAD_F(0x1c62648b), ++ MAD_F(0x1afd100f), MAD_F(0x1963268b), MAD_F(0x1797c6a4), ++ MAD_F(0x159e6f5b), MAD_F(0x137af940), MAD_F(0x11318ef3), ++ MAD_F(0x0ec6a507), MAD_F(0x0c3ef153), MAD_F(0x099f61c5), ++ MAD_F(0x06ed12c5), MAD_F(0x042d4544), MAD_F(0x0165547c) ++ }; ++*/ ++ ++ /* scaling */ ++ ++/* ++ for (i = 0; i < 18; i += 3) { ++ tmp2[i + 0] = mad_f_mul(x[i + 0], scale[i + 0]); ++ tmp2[i + 1] = mad_f_mul(x[i + 1], scale[i + 1]); ++ tmp2[i + 2] = mad_f_mul(x[i + 2], scale[i + 2]); ++ } ++*/ ++ /* even input butterfly */ ++ ++/* ++ for (i = 0; i < 9; i += 3) { ++ tmp3[i + 0] = tmp2[i + 0] + tmp2[18 - (i + 0) - 1]; ++ tmp3[i + 1] = tmp2[i + 1] + tmp2[18 - (i + 1) - 1]; ++ tmp3[i + 2] = tmp2[i + 2] + tmp2[18 - (i + 2) - 1]; ++ } ++ for (i = 0; i < 9; i += 3) { ++ tmp4[i + 0] = tmp2[i + 0] - tmp2[18 - (i + 0) - 1]; ++ tmp4[i + 1] = tmp2[i + 1] - tmp2[18 - (i + 1) - 1]; ++ tmp4[i + 2] = tmp2[i + 2] - tmp2[18 - (i + 2) - 1]; ++ } ++*/ ++ ++ ld.d r8, r12[0] /*r8 = x[1], r9 = x[0]*/ ++ ld.d r0, pc[scale_dctIV - .] /*r0 = {scale[2], scale[3]}, r1 = { scale[0], scale[1] }*/ ++ ld.d r2, r12[2*4] /*r2 = x[3], r3 = x[2]*/ ++ ld.d r4, pc[scale_dctIV - . + 14*2] /*r4 = {scale[16], scale[17]}, r5 = { scale[14], scale[15] }*/ ++ mulsatrndwh.w r9/*tmp2[0]*/, r9, r1:t /*tmp2[0] = mad_f_mul(x[0], scale[0]) */ ++ ld.d r6, r12[16*4] /*r6 = x[17], r7 = x[16]*/ ++ mulsatrndwh.w r8/*tmp2[1]*/, r8, r1:b /*tmp2[1] = mad_f_mul(x[1], scale[1]) */ ++ mulsatrndwh.w r3/*tmp2[2]*/, r3, r0:t /*tmp2[2] = mad_f_mul(x[2], scale[2]) */ ++ mulsatrndwh.w r2/*tmp2[3]*/, r2, r0:b /*tmp2[3] = mad_f_mul(x[3], scale[3]) */ ++ ld.d r0, r12[14*4] /*r0 = x[15], r1 = x[14]*/ ++ mulsatrndwh.w r7/*tmp2[16]*/, r7, r4:t /*tmp2[16] = mad_f_mul(x[16], scale[16]) */ ++ mulsatrndwh.w r6/*tmp2[17]*/, r6, r4:b /*tmp2[17] = mad_f_mul(x[17], scale[17]) */ ++ mulsatrndwh.w r1/*tmp2[14]*/, r1, r5:t /*tmp2[14] = mad_f_mul(x[14], scale[14]) */ ++ mulsatrndwh.w r0/*tmp2[15]*/, r0, r5:b /*tmp2[15] = mad_f_mul(x[15], scale[15]) */ ++ ++ ld.d r4, r12[4*4] /*r4 = x[5], r5 = x[4]*/ ++ ++ sub lr/*tmp4[0]*/, r9, r6 ++ add r6/*tmp3[0]*/, r9, r6 ++ sub r10/*tmp4[1]*/, r8, r7 ++ add r7/*tmp3[1]*/, r8, r7 ++ sub r9/*tmp4[2]*/, r3, r0 ++ add r0/*tmp3[2]*/, r3, r0 ++ sub r8/*tmp4[3]*/, r2, r1 ++ add r1/*tmp3[3]*/, r2, r1 ++ ++ ld.d r2, pc[scale_dctIV - . + 4*2] /*r2 = {scale[6], scale[7]}, r3 = { scale[4], scale[5] }*/ ++ ++ stm --sp, r8-r10, lr /*sp[0] = tmp4[0],sp[1] = tmp4[1], ++ sp[2] = tmp4[2],sp[3] = tmp4[3] */ ++ ++ /* Registers used: r0 = tmp3[2], r1 = tmp3[3], r6 = tmp3[0], r7 = tmp3[1], r12 = x ++ Free registers: r2-r5, r8-r11, lr ++ */ ++ ld.d r8, r12[6*4] /*r8 = x[7], r9 = x[6]*/ ++ ld.d r10, pc[scale_dctIV - . + 10*2] /*r10 = {scale[12], scale[13]}, r11 = { scale[10], scale[11] }*/ ++ mulsatrndwh.w r5/*tmp2[4]*/, r5, r3:t /*tmp2[4] = mad_f_mul(x[4], scale[4]) */ ++ mulsatrndwh.w r4/*tmp2[5]*/, r4, r3:b /*tmp2[5] = mad_f_mul(x[5], scale[5]) */ ++ mulsatrndwh.w r9/*tmp2[6]*/, r9, r2:t /*tmp2[6] = mad_f_mul(x[6], scale[6]) */ ++ mulsatrndwh.w r8/*tmp2[7]*/, r8, r2:b /*tmp2[7] = mad_f_mul(x[7], scale[7]) */ ++ ++ ld.d r2, r12[12*4] /*r2 = x[13], r3 = x[12]*/ ++ ld.w lr, r12[11*4] /*lr = x[11] */ ++ mulsatrndwh.w r3/*tmp2[12]*/, r3, r10:t /*tmp2[12] = mad_f_mul(x[12], scale[12]) */ ++ mulsatrndwh.w r2/*tmp2[13]*/, r2, r10:b /*tmp2[13] = mad_f_mul(x[13], scale[13]) */ ++ ld.w r10, r12[10*4] /*r10 = x[10] */ ++ mulsatrndwh.w lr/*tmp2[11]*/, lr, r11:b /*tmp2[11] = mad_f_mul(x[11], scale[11]) */ ++ mulsatrndwh.w r10/*tmp2[10]*/, r10, r11:t /*tmp2[10] = mad_f_mul(x[10], scale[10]) */ ++ ++ sub r11/*tmp4[4]*/, r5, r2 ++ add r2/*tmp3[4]*/, r5, r2 ++ sub r5/*tmp4[5]*/, r4, r3 ++ add r3/*tmp3[5]*/, r4, r3 ++ sub r4/*tmp4[6]*/, r9, lr ++ add lr/*tmp3[6]*/, r9, lr ++ sub r9/*tmp4[7]*/, r8, r10 ++ add r10/*tmp3[7]*/, r8, r10 ++ lddpc r8, scale_dctIV + 8*2 /*r8 = {scale[8], scale[9]} */ ++ ++ stm --sp, r4, r5, r9, r11 /*sp[0] = tmp4[4],sp[1] = tmp4[7], ++ sp[2] = tmp4[5],sp[3] = tmp4[6] */ ++ ld.d r4, r12[8*4] /*r4 = x[9], r5 = x[8]*/ ++ mulsatrndwh.w r5/*tmp2[8]*/, r5, r8:t /*tmp2[8] = mad_f_mul(x[8], scale[8]) */ ++ mulsatrndwh.w r4/*tmp2[9]*/, r4, r8:b /*tmp2[9] = mad_f_mul(x[9], scale[9]) */ ++ sub r9/*tmp4[8]*/, r5, r4 ++ add r5/*tmp3[8]*/, r5, r4 ++ ++ st.w --sp, r9 /* sp[0] = tmp4[8] */ ++ ++ /* Registers used: ++ ++ r0=tmp3[2], r1=tmp3[3], r2=tmp3[4], r3=tmp3[5], r5=tmp3[8], r6 = tmp3[0], ++ r7 = tmp3[1], r10=tmp3[7], lr=tmp3[6] ++ Free registers: ++ r4, r8, r9, r11, r12 ++ */ ++ ++ ++ /* SDCT-II */ ++/* ++ ++ { ++ mad_fixed_t tmp3[9]; ++ int i; ++*/ ++ /* scale[i] = 2 * cos(PI * (2 * i + 1) / (2 * 18)) */ ++/* ++ static mad_fixed_t const scale[9] = { ++ MAD_F(0x1fe0d3b4), MAD_F(0x1ee8dd47), MAD_F(0x1d007930), ++ MAD_F(0x1a367e59), MAD_F(0x16a09e66), MAD_F(0x125abcf8), ++ MAD_F(0x0d8616bc), MAD_F(0x08483ee1), MAD_F(0x02c9fad7) ++ }; ++*/ ++ /* divide the 18-point SDCT-II into two 9-point SDCT-IIs */ ++ ++ ++ /* fastdct */ ++ ++/* ++ { ++ mad_fixed_t a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12; ++ mad_fixed_t a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25; ++ mad_fixed_t m0, m1, m2, m3, m4, m5, m6, m7; ++*/ ++// enum { ++// c0 = MAD_F(0x1f838b8d), /* 2 * cos( 1 * PI / 18) */ ++// c1 = MAD_F(0x1bb67ae8), /* 2 * cos( 3 * PI / 18) */ ++// c2 = MAD_F(0x18836fa3), /* 2 * cos( 4 * PI / 18) */ ++// c3 = MAD_F(0x1491b752), /* 2 * cos( 5 * PI / 18) */ ++// c4 = MAD_F(0x0af1d43a), /* 2 * cos( 7 * PI / 18) */ ++// c5 = MAD_F(0x058e86a0), /* 2 * cos( 8 * PI / 18) */ ++// c6 = -MAD_F(0x1e11f642) /* 2 * cos(16 * PI / 18) */ ++// }; ++ ++/* ++ a2 = tmp3[6] + tmp3[2]; ++ a6 = tmp3[8] + tmp3[0]; ++ a11 = a2 - a6; ++ m5 = mad_f_mul(a11, -c6) ; ++ a4 = tmp3[1] + tmp3[7]; ++ ++ a18 = tmp3[4] + a4; ++ a19 = -2 * tmp3[4] + a4; ++ ++ a0 = tmp3[3] + tmp3[5]; ++ ++*/ ++ add r11/*a4*/, r7, r10 ++ add r12/*a18*/, r2, r11 ++ sub r11/*a19*/, r11, r2<<1 ++ ++ add r4/*a2*/, lr, r0 ++ add r8/*a6*/, r5, r6 ++ sub r9/*a11*/, r4, r8 ++ ++ st.d --sp, r0 /* sp[0] = tmp3[3], sp1[1] = tmp3[2]*/ ++ ++ mov r2, MAD_F(0x1e11f642) ++ mulsatrndwh.w r9/*m5*/, r9, r2:b ++ ++ add r2/*a0*/, r1, r3 ++ ++ /* Registers used: ++ ++ r2=a0, r3=tmp3[5], r4=a2, r5=tmp3[8], r6 = tmp3[0], ++ r7 = tmp3[1], r8=a6, r10=tmp3[7], r9=m5, r11=a19, r12=a18,lr=tmp3[6] ++ Free registers: ++ r0, r1 ++ */ ++ ++/* ++ a8 = a0 + a2; ++ a12 = a8 + a6; ++ a10 = a0 - a6; ++ a9 = a0 - a2; ++ m7 = mad_f_mul(a9, -c2) ; ++ m6 = mad_f_mul(a10, -c5) ; ++*/ ++ ++ add r0/*a8*/, r2, r4 ++ add r0/*a12*/, r8 ++ rsub r8/*a10*/, r2 ++ sub r2/*a9*/, r4 ++ mov r1, -MAD_F(0x18836fa3) ++ mulsatrndwh.w r2/*m7*/, r2, r1:b ++ mov r1, -MAD_F(0x058e86a0) ++ mulsatrndwh.w r8/*m6*/, r8, r1:b ++ ++ /* Registers used: ++ ++ r0=a12, r2=m7, r3=tmp3[5], r5=tmp3[8], r6 = tmp3[0], ++ r7 = tmp3[1], r8=m6, r10=tmp3[7], r9=m5, r11=a19, r12=a18,lr=tmp3[6] ++ Free registers: ++ r1, r4 ++ */ ++ ++ ++/* ++ a21 = -a19 - (m5 << 1); ++ tmp[ 8] = a21 - (m6 << 1); ++ ++ a20 = a19 - (m5 << 1); ++ tmp[ 4] = (m7 << 1) + a20; ++ a22 = -a19 + (m6 << 1); ++ tmp[16] = a22 + (m7 << 1); ++ tmp[ 0] = a18 + a12; ++ tmp[12] = a12 - 2 * a18; ++*/ ++ add r1/*a21*/, r11, r9 << 1 ++ neg r1 ++ sub r1/*tmp[8]*/, r1, r8 << 1 ++ stdsp sp[4*11/*tmp3[..] on the stack*/ + 8*4], r1 ++ sub r4/*a20*/, r11, r9 << 1 ++ add r4/*tmp[4]*/, r4, r2 << 1 ++ stdsp sp[4*11/*tmp3[..] on the stack*/ + 4*4], r4 ++ neg r11 ++ add r1/*a22*/, r11, r8 << 1 ++ add r1/*tmp[16]*/, r1, r2 << 1 ++ stdsp sp[4*11/*tmp3[..] on the stack*/ + 16*4], r1 ++ add r4, r12, r0 ++ sub r1, r0, r12 << 1 ++ stdsp sp[4*11/*tmp3[..] on the stack*/ + 0*4], r4 ++ stdsp sp[4*11/*tmp3[..] on the stack*/ + 12*4], r1 ++ ++ ld.d r0, sp++ ++ ++ /* Registers used: ++ ++ r0 = tmp3[2], r1 = tmp3[3], r3=tmp3[5], r5=tmp3[8], r6 = tmp3[0], ++ r7 = tmp3[1], r10=tmp3[7], r11=a19, lr=tmp3[6] ++ Free registers: ++ r2,r4,r8,r9,r12 ++ */ ++ ++/* ++ a5 = tmp3[1] - tmp3[7]; ++ a7 = tmp3[8] - tmp3[0]; ++ a3 = tmp3[6] - tmp3[2]; ++ a1 = tmp3[3] - tmp3[5]; ++ a13 = a1 - a3; ++ a14 = a13 + a7; ++ m3 = mad_f_mul(a14, -c1) ; ++ m4 = mad_f_mul(a5, -c1) ; ++ tmp[ 6] = m3 << 1; ++*/ ++ sub r7/*a5*/, r10 ++ sub r2/*a7*/, r5, r6 ++ sub r4/*a3*/, lr, r0 ++ sub r8/*a1*/, r1, r3 ++ sub r9/*a13*/, r8, r4 ++ add r12/*a14*/, r9, r2 ++ mov r0, -MAD_F(0x1bb67ae8) ++ mulsatrndwh.w r12/*m3*/, r12, r0:b ++ mulsatrndwh.w r7/*m4*/, r7, r0:b ++ lsl r12, 1 ++ stdsp sp[4*9/*tmp3[..] on the stack*/ + 6*4], r12 ++ ++ /* Registers used: ++ r2 = a7, r4 = a3, r7 = m4, r8 = a1, r12 = m3 ++ ++ Free registers: ++ r0, r1, r3, r5, r6, r10, r9, r11, lr ++ */ ++ ++ ++/* ++ a15 = a3 + a7; ++ m2 = mad_f_mul(a15, -c4) ; ++ a17 = a1 + a3; ++ m0 = mad_f_mul(a17, -c3) ; ++ a23 = (m4 << 1) + (m2 << 1); ++ tmp[14] = a23 + (m0 << 1); */ ++ add r0/*a15*/, r4, r2 ++ mov r1, -MAD_F(0x0af1d43a) ++ mulsatrndwh.w r0/*m2*/, r0, r1:b ++ mov r3, -MAD_F(0x1491b752) ++ add r5/*a17*/, r8, r4 ++ mulsatrndwh.w r5/*m0*/, r5, r3:b ++ lsl r7, 1 ++ add r6/*a23*/, r7, r0 << 1 ++ add r6/*tmp[14]*/, r6, r5 << 1 ++ stdsp sp[4*9/*tmp3[..] on the stack*/ + 14*4], r6 ++ ++ /* Registers used: ++ r0 = m2, r2 = a7, r5 = m0, r7 = m4, r8 = a1 ++ ++ Free registers: ++ r1, r3, r4, r6, r10, r9, r11, lr ++ */ ++ ++/* ++ a16 = a1 - a7; ++ m1 = mad_f_mul(a16, -c0) ; ++ a24 = (m4 << 1) - (m2 << 1); ++ tmp[10] = a24 - (m1 << 1); ++ ++ a25 = (m4 << 1) + (m1 << 1); ++ tmp[ 2] = (m0 << 1) - a25; ++*/ ++ sub r3/*a16*/, r8, r2 ++ mov r4, -MAD_F(0x1f838b8d) ++ mulsatrndwh.w r3/*m1*/, r3, r4:b ++ sub r1/*a24*/, r7, r0 << 1 ++ sub r1/*tmp[10]*/, r1, r3 << 1 ++ stdsp sp[4*9/*tmp3[..] on the stack*/ + 10*4], r1 ++ add r7/*a25*/, r7, r3 << 1 ++ sub r7, r7, r5 << 1 ++ neg r7 ++ stdsp sp[4*9/*tmp3[..] on the stack*/ + 2*4], r7 ++ ++ ++ ++ ++ /* output to every other slot for convenience */ ++ ++ /*} */ ++ /* End fastdct */ ++ ++ /* odd input butterfly and scaling */ ++ ++ ++ /* On the stack: ++ sp[0] = tmp4[8], sp[1] = tmp4[4],sp[2] = tmp4[7], sp[3] = tmp4[5],sp[4] = tmp4[6] ++ sp[5] = tmp4[0], sp[6] = tmp4[1],sp[7] = tmp4[2],sp[8] = tmp4[3] ++ */ ++ ++ /* ++ tmp3[0] = mad_f_mul(tmp4[0], scale[0]); ++ tmp3[1] = mad_f_mul(tmp4[1], scale[1]) << 1; ++ tmp3[2] = mad_f_mul(tmp4[2], scale[2]); ++ tmp3[3] = mad_f_mul(tmp4[3], scale[3]) << 1; ++ tmp3[4] = mad_f_mul(tmp4[4], scale[4]); ++ tmp3[5] = mad_f_mul(tmp4[5], scale[5]); ++ tmp3[6] = mad_f_mul(tmp4[6], scale[6]) << 1; ++ tmp3[7] = mad_f_mul(tmp4[7], scale[7]); ++ tmp3[8] = mad_f_mul(tmp4[8], scale[8]) << 1; ++ */ ++ /* Registers used: ++ r1 = tmp4[3], r2 = tmp4[2], r3 = tmp4[1], r4 = tmp4[0], r7 = tmp4[6] ++ r10 = tmp4[5], r11 = tmp4[7], r12 = tmp4[4], lr = tmp4[8] ++ ++ Free registers: ++ r0, r5, r6, r8, r9 ++ */ ++ ld.d r8, pc[ scale_sdctII - . + 4*2] /* r8 = { scale[6], scale[7] }, r9 = { scale[4], scale[5]} */ ++ ldm sp++, r1, r2, r3, r4, r7, r10, r11, r12, lr ++ mov r5, MAD_F(0x02c9fad7) /* r3 = scale[8] */ ++ mulsatrndwh.w r5/*tmp3[8]*/, lr, r5:b ++ mulsatrndwh.w lr/*tmp3[6]*/, r7, r8:t ++ ld.d r6, pc[ scale_sdctII - . + 0*2] /* r6 = { scale[2], scale[3] }, r7 = { scale[0], scale[1]} */ ++ lsl lr, 1 ++ lsl r5, 1 ++ mulsatrndwh.w r0/*tmp3[2]*/, r2, r6:t ++ mulsatrndwh.w r1/*tmp3[3]*/, r1, r6:b ++ mulsatrndwh.w r6/*tmp3[0]*/, r4, r7:t ++ mulsatrndwh.w r7/*tmp3[1]*/, r3, r7:b ++ mulsatrndwh.w r3/*tmp3[5]*/, r10, r9:b ++ mulsatrndwh.w r2/*tmp3[4]*/, r12, r9:t ++ mulsatrndwh.w r9/*tmp3[7]*/, r11, r8:b ++ lsl r1, 1 ++ lsl r7, 1 ++ ++ ++ /* fastdct */ ++ ++/* ++ { ++ mad_fixed_t a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12; ++ mad_fixed_t a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25; ++ mad_fixed_t m0, m1, m2, m3, m4, m5, m6, m7; ++*/ ++// enum { ++// c0 = MAD_F(0x1f838b8d), /* 2 * cos( 1 * PI / 18) */ ++// c1 = MAD_F(0x1bb67ae8), /* 2 * cos( 3 * PI / 18) */ ++// c2 = MAD_F(0x18836fa3), /* 2 * cos( 4 * PI / 18) */ ++// c3 = MAD_F(0x1491b752), /* 2 * cos( 5 * PI / 18) */ ++// c4 = MAD_F(0x0af1d43a), /* 2 * cos( 7 * PI / 18) */ ++// c5 = MAD_F(0x058e86a0), /* 2 * cos( 8 * PI / 18) */ ++// c6 = -MAD_F(0x1e11f642) /* 2 * cos(16 * PI / 18) */ ++// }; ++ ++ /* Registers used: ++ ++ r0=tmp3[2], r1=tmp3[3], r2=tmp3[4], r3=tmp3[5], r5=tmp3[8], r6 = tmp3[0], ++ r7 = tmp3[1], r9=tmp3[7], lr=tmp3[6] ++ Free registers: ++ r4, r8, r10, r11, r12 ++ */ ++ ++/* ++ a2 = tmp3[6] + (tmp3[2] << 1); ++ a6 = tmp3[8] + (tmp3[0] << 1); ++ a11 = a2 - a6; ++ m5 = mad_f_mul(a11, c6) ; ++ a4 = tmp3[1] + (tmp3[7] << 1); ++ ++ a18 = (tmp3[4] << 1) + a4; ++ a19 = -2 * (tmp3[4] << 1) + a4; ++ ++ a0 = tmp3[3] + (tmp3[5] << 1); ++ ++*/ ++ add r11/*a4*/, r7, r9 << 1 ++ add r12/*a18*/, r11, r2 << 1 ++ sub r11/*a19*/, r11, r2 << 2 ++ ++ add r4/*a2*/, lr, r0 << 1 ++ add r8/*a6*/, r5, r6 << 1 ++ sub r10/*a11*/, r4, r8 ++ ++ st.d --sp, r0 /* sp[0] = tmp3[3], sp1[1] = tmp3[2]*/ ++ ++ mov r2, -MAD_F(0x1e11f642) ++ mulsatrndwh.w r10/*m5*/, r10, r2:b ++ ++ add r2/*a0*/, r1, r3 << 1 ++ ++ /* Registers used: ++ ++ r2=a0, r3=tmp3[5], r4=a2, r5=tmp3[8], r6 = tmp3[0], ++ r7 = tmp3[1], r8=a6, r9=tmp3[7], r10=m5, r11=a19, r12=a18,lr=tmp3[6] ++ Free registers: ++ r0, r1 ++ */ ++ ++/* ++ a8 = a0 + a2; ++ a12 = a8 + a6; ++ a10 = a0 - a6; ++ a9 = a0 - a2; ++ m7 = mad_f_mul(a9, -c2) ; ++ m6 = mad_f_mul(a10, -c5) ; ++*/ ++ ++ add r0/*a8*/, r2, r4 ++ add r0/*a12*/, r8 ++ rsub r8/*a10*/, r2 ++ sub r2/*a9*/, r4 ++ mov r1, -MAD_F(0x18836fa3) ++ mulsatrndwh.w r2/*m7*/, r2, r1:b ++ mov r1, -MAD_F(0x058e86a0) ++ mulsatrndwh.w r8/*m6*/, r8, r1:b ++ ++ /* Registers used: ++ ++ r0=a12, r2=m7, r3=tmp3[5], r5=tmp3[8], r6 = tmp3[0], ++ r7 = tmp3[1], r8=m6, r9=tmp3[7], r10=m5, r11=a19, r12=a18,lr=tmp3[6] ++ Free registers: ++ r1, r4 ++ */ ++ ++ ++/* ++ a21 = -a19 + (m5 << 1); ++ tmp[ 9] = a21 - (m6 << 1); ++ ++ a20 = -(-a19 - (m5 << 1)); ++ tmp[ 5] = (m7 << 1) + a20; ++ a22 = -a19 + (m6 << 1); ++ tmp[17] = a22 + (m7 << 1); ++ tmp[ 1] = a18 + a12; ++ tmp[13] = a12 - 2 * a18; ++*/ ++ sub r1/*a21*/, r11, r10 << 1 ++ neg r1 ++ sub r1/*tmp[9]*/, r1, r8 << 1 ++ stdsp sp[4*2/*tmp3[..] on the stack*/ + 9*4], r1 ++ add r4/*a20*/, r11, r10 << 1 ++ add r4/*tmp[5]*/, r4, r2 << 1 ++ stdsp sp[4*2/*tmp3[..] on the stack*/ + 5*4], r4 ++ neg r11 ++ add r1/*a22*/, r11, r8 << 1 ++ add r1/*tmp[17]*/, r1, r2 << 1 ++ stdsp sp[4*2/*tmp3[..] on the stack*/ + 17*4], r1 ++ add r4, r12, r0 ++ sub r1, r0, r12 << 1 ++ stdsp sp[4*2/*tmp3[..] on the stack*/ + 1*4], r4 ++ stdsp sp[4*2/*tmp3[..] on the stack*/ + 13*4], r1 ++ ++ ld.d r0, sp++ ++ ++ /* Registers used: ++ ++ r0 = tmp3[2], r1 = tmp3[3], r3=tmp3[5], r5=tmp3[8], r6 = tmp3[0], ++ r7 = tmp3[1], r9=tmp3[7], r11=a19, lr=tmp3[6] ++ Free registers: ++ r2,r4,r8,r10,r12 ++ */ ++ ++/* ++ a5 = tmp3[1] - (tmp3[7] << 1); ++ a7 = tmp3[8] - (tmp3[0] << 1); ++ a3 = tmp3[6] - (tmp3[2] << 1); ++ a1 = tmp3[3] - (tmp3[5] << 1); ++ a13 = a1 - a3; ++ a14 = a13 + a7; ++ m3 = mad_f_mul(a14, -c1) ; ++ m4 = mad_f_mul(a5, -c1) ; ++ tmp[ 7] = m3 << 1; ++*/ ++ sub r7/*a5*/, r7, r9 << 1 ++ sub r2/*a7*/, r5, r6 << 1 ++ sub r4/*a3*/, lr, r0 << 1 ++ sub r8/*a1*/, r1, r3 << 1 ++ sub r10/*a13*/, r8, r4 ++ add r12/*a14*/, r10, r2 ++ mov r0, -MAD_F(0x1bb67ae8) ++ mulsatrndwh.w r12/*m3*/, r12, r0:b ++ mulsatrndwh.w r7/*m4*/, r7, r0:b ++ lsl r12, 1 ++ stdsp sp[7*4], r12 ++ ++ /* Registers used: ++ r2 = a7, r4 = a3, r7 = m4, r8 = a1, r12 = m3 ++ ++ Free registers: ++ r0, r1, r3, r5, r6, r9, r10, r11, lr ++ */ ++ ++ ++/* ++ a15 = a3 + a7; ++ m2 = mad_f_mul(a15, -c4) ; ++ a17 = a1 + a3; ++ m0 = mad_f_mul(a17, -c3) ; ++ a23 = (m4 << 1) + (m2 << 1); ++ tmp[15] = a23 + (m0 << 1); */ ++ add r0/*a15*/, r4, r2 ++ mov r1, -MAD_F(0x0af1d43a) ++ mulsatrndwh.w r0/*m2*/, r0, r1:b ++ mov r3, -MAD_F(0x1491b752) ++ add r5/*a17*/, r8, r4 ++ mulsatrndwh.w r5/*m0*/, r5, r3:b ++ lsl r7, 1 ++ add r6/*a23*/, r7, r0 << 1 ++ add r6/*tmp[15]*/, r6, r5 << 1 ++ stdsp sp[15*4], r6 ++ ++ /* Registers used: ++ r0 = m2, r2 = a7, r5 = m0, r7 = m4, r8 = a1 ++ ++ Free registers: ++ r1, r3, r4, r6, r9, r10, r11, lr ++ */ ++ ++/* ++ a16 = a1 - a7; ++ m1 = mad_f_mul(a16, -c0) ; ++ a24 = (m4 << 1) - (m2 << 1); ++ tmp[11] = a24 - (m1 << 1); ++ ++ a25 = (m4 << 1) + (m1 << 1); ++ tmp[ 3] = (m0 << 1) - a25; ++*/ ++ sub r3/*a16*/, r8, r2 ++ mov r4, -MAD_F(0x1f838b8d) ++ mulsatrndwh.w r3/*m1*/, r3, r4:b ++ sub r1/*a24*/, r7, r0 << 1 ++ sub r1/*tmp[11]*/, r1, r3 << 1 ++ stdsp sp[11*4], r1 ++ add r7/*a25*/, r7, r3 << 1 ++ sub r7, r7, r5 << 1 ++ neg r7 ++ lddsp r12, sp[4*18+4] /* Get y from stack */ ++ stdsp sp[3*4], r7 ++ ++ ++ /* output to every other slot for convenience */ ++ ++ /* End fastdct */ ++ ++ /* output accumulation */ ++ ++/* for (i = 3; i < 18; i += 8) { ++ tmp[i + 0] -= tmp[(i + 0) - 2]; ++ tmp[i + 2] -= tmp[(i + 2) - 2]; ++ tmp[i + 4] -= tmp[(i + 4) - 2]; ++ tmp[i + 6] -= tmp[(i + 6) - 2]; ++ } ++ } ++*/ ++ ++/* End SDCT-II */ ++ ++ ++ ++ /* scale reduction and output accumulation */ ++ ++/* ++ for (i = 1; i < 17; i += 4) { ++ tmp[i + 0] = tmp[i + 0] - tmp[(i + 0) - 1]; ++ tmp[i + 1] = tmp[i + 1] - tmp[(i + 1) - 1]; ++ tmp[i + 2] = tmp[i + 2] - tmp[(i + 2) - 1]; ++ tmp[i + 3] = tmp[i + 3] - tmp[(i + 3) - 1]; ++ } ++ tmp[17] = tmp[17] - tmp[16]; ++ } ++*/ ++/* End DCT-IV */ ++ ++ ++ /* convert 18-point DCT-IV to 36-point IMDCT */ ++ ++/* ++ for (i = 0; i < 9; i += 3) { ++ y[i + 0] = tmp[9 + (i + 0)]; ++ y[i + 1] = tmp[9 + (i + 1)]; ++ y[i + 2] = tmp[9 + (i + 2)]; ++ } ++ for (i = 9; i < 27; i += 3) { ++ y[i + 0] = -tmp[36 - (9 + (i + 0)) - 1]; ++ y[i + 1] = -tmp[36 - (9 + (i + 1)) - 1]; ++ y[i + 2] = -tmp[36 - (9 + (i + 2)) - 1]; ++ } ++ for (i = 27; i < 36; i += 3) { ++ y[i + 0] = -tmp[(i + 0) - 27]; ++ y[i + 1] = -tmp[(i + 1) - 27]; ++ y[i + 2] = -tmp[(i + 2) - 27]; ++ } ++ } ++*/ ++ ++ /* Registers used: ++ r0 = tmp[8], r1 = tmp[7], r2 = tmp[6], r3 = tmp[5], r4 = tmp[4] ++ r5 = tmp[3], r6 = tmp[2], r7 = tmp[1], r8 = tmp[0], r12 = y ++ ++ Free registers: ++ r9, r10, r11, lr ++ */ ++ ++ ldm sp++, r0-r8 /* Get tmp[0]-tmp[8] from stack */ ++ sub r5, r7 /* tmp[3] -= tmp[1]*/ ++ sub r3, r5 /* tmp[5] -= tmp[3]*/ ++ sub r1, r3 /* tmp[7] -= tmp[5]*/ ++ ++ sub r7, r8 /* tmp[1] -= tmp[0]*/ ++ sub r6, r7 /* tmp[2] -= tmp[1]*/ ++ sub r5, r6 /* tmp[3] -= tmp[2]*/ ++ neg r8 ++ st.w r12[26*4], r8 /* y[26] = -tmp[0] */ ++ st.w r12[27*4], r8 /* y[27] = -tmp[0] */ ++ neg r7 ++ neg r6 ++ st.w r12[25*4], r7 /* y[25] = -tmp[1] */ ++ st.w r12[24*4], r6 /* y[24] = -tmp[2] */ ++ st.d r12[28*4], r6 /* y[28] = -tmp[1], y[29] = -tmp[2]*/ ++ ++ sub r4, r5 /* tmp[4] -= tmp[3]*/ ++ sub r3, r4 /* tmp[5] -= tmp[4]*/ ++ neg r5 ++ neg r4 ++ st.w r12[23*4], r5 /* y[23] = -tmp[3] */ ++ st.w r12[22*4], r4 /* y[22] = -tmp[4] */ ++ st.d r12[30*4], r4 /* y[30] = -tmp[3], y[31] = -tmp[4]*/ ++ ++ ldm sp++, r4-r11,lr /* Get tmp[9]-tmp[17] from stack */ ++ ++ sub r2, r3 /* tmp[6] -= tmp[5]*/ ++ ++ sub lr, r1 /* tmp[9] -= tmp[7]*/ ++ sub r10, lr /* tmp[11] -= tmp[9]*/ ++ sub r8, r10 /* tmp[13] -= tmp[11]*/ ++ sub r6, r8 /* tmp[15] -= tmp[13]*/ ++ sub r4, r6 /* tmp[17] -= tmp[15]*/ ++ ++ sub r1, r2 /* tmp[7] -= tmp[6]*/ ++ sub r0, r1 /* tmp[8] -= tmp[7]*/ ++ neg r3 ++ neg r2 ++ st.w r12[21*4], r3 /* y[21] = -tmp[5] */ ++ st.w r12[20*4], r2 /* y[20] = -tmp[6] */ ++ st.d r12[32*4], r2 /* y[32] = -tmp[5], y[33] = -tmp[6]*/ ++ ++ sub lr, r0 /* tmp[9] -= tmp[8]*/ ++ sub r11, lr /* tmp[10] -= tmp[9]*/ ++ neg r1 ++ neg r0 ++ st.w r12[19*4], r1 /* y[19] = -tmp[7] */ ++ st.w r12[18*4], r0 /* y[18] = -tmp[8] */ ++ st.d r12[34*4], r0 /* y[34] = -tmp[7], y[35] = -tmp[8]*/ ++ ++ sub r10, r11 /* tmp[11] -= tmp[10]*/ ++ sub r9, r10 /* tmp[12] -= tmp[11]*/ ++ ++ st.w r12[0*4], lr /* y[0] = tmp[9]*/ ++ neg lr ++ st.w r12[17*4], lr /* y[17] = -tmp[9]*/ ++ st.d r12[1*4], r10 /* y[1] = tmp[10], y[2] = tmp[11] */ ++ neg r11 ++ neg r10 ++ st.w r12[16*4], r11 /* y[16] = -tmp[10] */ ++ st.w r12[15*4], r10 /* y[15] = -tmp[11] */ ++ ++ ++ sub r8, r9 /* tmp[13] -= tmp[12]*/ ++ sub r7, r8 /* tmp[14] -= tmp[13]*/ ++ st.d r12[3*4], r8 /* y[3] = tmp[12], y[4] = tmp[13] */ ++ neg r9 ++ neg r8 ++ st.w r12[14*4], r9 /* y[14] = -tmp[12] */ ++ st.w r12[13*4], r8 /* y[13] = -tmp[13] */ ++ ++ sub r6, r7 /* tmp[15] -= tmp[14]*/ ++ sub r5, r6 /* tmp[16] -= tmp[15]*/ ++ sub r4, r5 /* tmp[17] -= tmp[16]*/ ++ ++ st.d r12[5*4], r6 /* y[5] = tmp[14], y[6] = tmp[15] */ ++ neg r7 ++ neg r6 ++ st.w r12[12*4], r7 /* y[12] = -tmp[14] */ ++ st.w r12[11*4], r6 /* y[11] = -tmp[15] */ ++ ++ st.d r12[7*4], r4 /* y[7] = tmp[16], y[8] = tmp[17] */ ++ neg r5 ++ neg r4 ++ st.w r12[10*4], r5 /* y[10] = -tmp[16] */ ++ st.w r12[9*4], r4 /* y[9] = -tmp[17] */ ++ ++ popm r0-r7,r11,pc ++ ++ .align 2 ++scale_dctIV: ++ .short MAD_F(0x1ff833fa), MAD_F(0x1fb9ea93), MAD_F(0x1f3dd120) ++ .short MAD_F(0x1e84d969), MAD_F(0x1d906bcf), MAD_F(0x1c62648b) ++ .short MAD_F(0x1afd100f), MAD_F(0x1963268b), MAD_F(0x1797c6a4) ++ .short MAD_F(0x159e6f5b), MAD_F(0x137af940), MAD_F(0x11318ef3) ++ .short MAD_F(0x0ec6a507), MAD_F(0x0c3ef153), MAD_F(0x099f61c5) ++ .short MAD_F(0x06ed12c5), MAD_F(0x042d4544), MAD_F(0x0165547c) ++ ++ .align 2 ++scale_sdctII: ++ .short MAD_F(0x1fe0d3b4), MAD_F(0x1ee8dd47), MAD_F(0x1d007930) ++ .short MAD_F(0x1a367e59), MAD_F(0x16a09e66), MAD_F(0x125abcf8) ++ .short MAD_F(0x0d8616bc), MAD_F(0x08483ee1), MAD_F(0x02c9fad7) +diff --git a/layer3.c b/layer3.c +index 4e5d3fa..dffdab3 100644 +--- a/layer3.c ++++ b/layer3.c +@@ -378,6 +378,11 @@ mad_fixed_t const ca[8] = { + -MAD_F(0x003a2847) /* -0.014198569 */, -MAD_F(0x000f27b4) /* -0.003699975 */ + }; + ++#ifdef FPM_AVR32 ++# undef MAD_F ++# define MAD_F(x) ((x + (1 << 12)) >> 13) ++#endif ++ + /* + * IMDCT coefficients for short blocks + * derived from section 2.4.3.4.10.2 of ISO/IEC 11172-3 +@@ -386,7 +391,7 @@ mad_fixed_t const ca[8] = { + * imdct_s[i /odd][k] = cos((PI / 24) * (2 * (6 + (i-1)/2) + 7) * (2 * k + 1)) + */ + static +-mad_fixed_t const imdct_s[6][6] = { ++mad_coeff_t const imdct_s[6][6] = { + # include "imdct_s.dat" + }; + +@@ -398,7 +403,7 @@ mad_fixed_t const imdct_s[6][6] = { + * window_l[i] = sin((PI / 36) * (i + 1/2)) + */ + static +-mad_fixed_t const window_l[36] = { ++mad_coeff_t const window_l[36] = { + MAD_F(0x00b2aa3e) /* 0.043619387 */, MAD_F(0x0216a2a2) /* 0.130526192 */, + MAD_F(0x03768962) /* 0.216439614 */, MAD_F(0x04cfb0e2) /* 0.300705800 */, + MAD_F(0x061f78aa) /* 0.382683432 */, MAD_F(0x07635284) /* 0.461748613 */, +@@ -429,7 +434,7 @@ mad_fixed_t const window_l[36] = { + * window_s[i] = sin((PI / 12) * (i + 1/2)) + */ + static +-mad_fixed_t const window_s[12] = { ++mad_coeff_t const window_s[12] = { + MAD_F(0x0216a2a2) /* 0.130526192 */, MAD_F(0x061f78aa) /* 0.382683432 */, + MAD_F(0x09bd7ca0) /* 0.608761429 */, MAD_F(0x0cb19346) /* 0.793353340 */, + MAD_F(0x0ec835e8) /* 0.923879533 */, MAD_F(0x0fdcf549) /* 0.991444861 */, +@@ -438,6 +443,11 @@ mad_fixed_t const window_s[12] = { + MAD_F(0x061f78aa) /* 0.382683432 */, MAD_F(0x0216a2a2) /* 0.130526192 */, + }; + ++#ifdef FPM_AVR32 ++# undef MAD_F ++# define MAD_F(x) ((mad_fixed_t) (x##L)) ++#endif ++ + /* + * coefficients for intensity stereo processing + * derived from section 2.4.3.4.9.3 of ISO/IEC 11172-3 +@@ -879,6 +889,42 @@ void III_exponents(struct channel const *channel, + * NAME: III_requantize() + * DESCRIPTION: requantize one (positive) value + */ ++ ++#if 0 ++/*static*/ ++mad_fixed_t III_requantize(unsigned int value, signed int exp) ++{ ++ register mad_fixed_t tmp2, tmp3; ++ long long tmp_d; ++ ++ asm ("asr\t%0, %1, 2\n" ++ "ld.w\t%2, %4[%5 << 2]\n" ++ "sub\t%1, %1, %0 << 2\n" ++ "asr\t%3, %2, 7\n" ++ "andl\t%2, 0x7f, COH\n" ++ "add\t%0, %2\n" ++ "lsl\t%m0,%3,%0\n" ++ "neg\t%0\n" ++ "asr\t%3,%3,%0\n" ++ "add\t%2, %6, %1 << 2\n" ++ "ld.w\t%2, %2[12]\n" ++ "cp.w\t%0, 0\n" ++ "movlt\t%3, %m0\n" ++ "muls.d\t%0, %3, %2\n" ++ "cp.w\t%1, 0\n" ++ "breq\t0f\n" ++ "lsr\t%0, %0, 28\n" ++ "or\t%3, %0, %m0 << 4\n" ++ "0:\n" ++ : "=&r"(tmp_d), "+r"(exp), "=&r"(tmp2), "=&r"(tmp3) ++ : "r"(&rq_table), "r"(value), "r"(root_table)); ++ ++ ++ return tmp3; ++} ++ ++#else ++ + static + mad_fixed_t III_requantize(unsigned int value, signed int exp) + { +@@ -918,6 +964,7 @@ mad_fixed_t III_requantize(unsigned int value, signed int exp) + + return frac ? mad_f_mul(requantized, root_table[3 + frac]) : requantized; + } ++#endif + + /* we must take care that sz >= bits and sz < sizeof(long) lest bits == 0 */ + # define MASK(cache, sz, bits) \ +@@ -2054,27 +2101,42 @@ void imdct36(mad_fixed_t const X[18], mad_fixed_t x[36]) + } + # endif + ++ ++#ifdef FPM_AVR32 ++# undef mad_f_mul ++# define mad_f_mul(x, y) __builtin_mulsatrndwh_w(x, y) ++#endif ++ + /* + * NAME: III_imdct_l() + * DESCRIPTION: perform IMDCT and windowing for long blocks + */ + static +-void III_imdct_l(mad_fixed_t const X[18], mad_fixed_t z[36], ++void III_imdct_l(mad_fixed_t /*const*/ X[18], mad_fixed_t z[36], + unsigned int block_type) + { + unsigned int i; ++ mad_fixed_t *z_ptr; ++ mad_coeff_t *w_ptr; + + /* IMDCT */ + ++#ifdef FPM_AVR32 ++ imdct36_avr32(X, z); ++#else + imdct36(X, z); ++#endif + + /* windowing */ + ++ z_ptr = &z[0]; ++ w_ptr = &window_l[0]; ++ + switch (block_type) { + case 0: /* normal window */ + # if defined(ASO_INTERLEAVE1) + { +- register mad_fixed_t tmp1, tmp2; ++ register mad_coeff_t tmp1, tmp2; + + tmp1 = window_l[0]; + tmp2 = window_l[1]; +@@ -2091,15 +2153,16 @@ void III_imdct_l(mad_fixed_t const X[18], mad_fixed_t z[36], + } + # elif defined(ASO_INTERLEAVE2) + { +- register mad_fixed_t tmp1, tmp2; ++ register mad_fixed_t tmp1; ++ register mad_coeff_t tmp2; + +- tmp1 = z[0]; +- tmp2 = window_l[0]; ++ tmp1 = *z_ptr; ++ tmp2 = *w_ptr++; + + for (i = 0; i < 35; ++i) { +- z[i] = mad_f_mul(tmp1, tmp2); +- tmp1 = z[i + 1]; +- tmp2 = window_l[i + 1]; ++ *z_ptr++ = mad_f_mul(tmp1, tmp2); ++ tmp1 = *z_ptr; ++ tmp2 = *w_ptr++; + } + + z[35] = mad_f_mul(tmp1, tmp2); +@@ -2118,23 +2181,28 @@ void III_imdct_l(mad_fixed_t const X[18], mad_fixed_t z[36], + + case 1: /* start block */ + for (i = 0; i < 18; i += 3) { +- z[i + 0] = mad_f_mul(z[i + 0], window_l[i + 0]); +- z[i + 1] = mad_f_mul(z[i + 1], window_l[i + 1]); +- z[i + 2] = mad_f_mul(z[i + 2], window_l[i + 2]); ++ *(z_ptr++) = mad_f_mul(*z_ptr, *w_ptr++); ++ *(z_ptr++) = mad_f_mul(*z_ptr, *w_ptr++); ++ *(z_ptr++) = mad_f_mul(*z_ptr, *w_ptr++); + } ++ z_ptr += 6; ++ w_ptr = &window_s[6]; + /* (i = 18; i < 24; ++i) z[i] unchanged */ +- for (i = 24; i < 30; ++i) z[i] = mad_f_mul(z[i], window_s[i - 18]); +- for (i = 30; i < 36; ++i) z[i] = 0; ++ for (i = 24; i < 30; ++i) *z_ptr++ = mad_f_mul(*z_ptr, *w_ptr++); ++ for (i = 30; i < 36; ++i) *z_ptr++ = 0; + break; + + case 3: /* stop block */ +- for (i = 0; i < 6; ++i) z[i] = 0; +- for (i = 6; i < 12; ++i) z[i] = mad_f_mul(z[i], window_s[i - 6]); ++ w_ptr = &window_s[0]; ++ for (i = 0; i < 6; ++i) *z_ptr++ = 0; ++ for (i = 6; i < 12; ++i) *z_ptr++ = mad_f_mul(*z_ptr, *w_ptr++); + /* (i = 12; i < 18; ++i) z[i] unchanged */ ++ w_ptr = &window_l[18]; ++ z_ptr += 6; + for (i = 18; i < 36; i += 3) { +- z[i + 0] = mad_f_mul(z[i + 0], window_l[i + 0]); +- z[i + 1] = mad_f_mul(z[i + 1], window_l[i + 1]); +- z[i + 2] = mad_f_mul(z[i + 2], window_l[i + 2]); ++ *z_ptr++ = mad_f_mul(*z_ptr, *w_ptr++ ); ++ *z_ptr++ = mad_f_mul(*z_ptr, *w_ptr++); ++ *z_ptr++ = mad_f_mul(*z_ptr, *w_ptr++); + } + break; + } +@@ -2146,10 +2214,10 @@ void III_imdct_l(mad_fixed_t const X[18], mad_fixed_t z[36], + * DESCRIPTION: perform IMDCT and windowing for short blocks + */ + static +-void III_imdct_s(mad_fixed_t const X[18], mad_fixed_t z[36]) ++void III_imdct_s(mad_fixed_t /*const*/ X[18], mad_fixed_t z[36]) + { + mad_fixed_t y[36], *yptr; +- mad_fixed_t const *wptr; ++ mad_coeff_t const *wptr; + int w, i; + register mad_fixed64hi_t hi; + register mad_fixed64lo_t lo; +@@ -2159,11 +2227,56 @@ void III_imdct_s(mad_fixed_t const X[18], mad_fixed_t z[36]) + yptr = &y[0]; + + for (w = 0; w < 3; ++w) { +- register mad_fixed_t const (*s)[6]; ++ register mad_coeff_t const (*s)[6]; + + s = imdct_s; + + for (i = 0; i < 3; ++i) { ++#ifdef FPM_AVR32 ++ register long long int acc, tmp1, tmp2, tmp3, tmp4; ++ asm volatile ("ld.d\t%0, %5++\n" ++ "ld.d\t%1, %6[0]\n" ++ "ld.d\t%2, %6[2*4]\n" ++ "ld.d\t%3, %6[4*4]\n" ++ "mulwh.d\t%4, %m1, %m0:t\n" ++ "macwh.d\t%4, %1, %m0:b\n" ++ "ld.w\t%m0, %5++\n" ++ "macwh.d\t%4, %m2, %0:t\n" ++ "macwh.d\t%4, %2, %0:b\n" ++ "macwh.d\t%4, %m3, %m0:t\n" ++ "macwh.d\t%4, %3, %m0:b\n" ++ "ld.d\t%0, %5++\n" ++ "rol\t%4\n" ++ "rol\t%m4\n" ++ : "=&r"(tmp1), "=&r"(tmp2), "=&r"(tmp3), "=&r"(tmp4), ++ "=&r"(acc), "+r"(s) ++ : "r"(X)); ++ ++ asm volatile ("st.w\t%1[0], %m0\n" ++ "neg\t%m0\n" ++ "st.w\t%2[5*4], %m0\n" ++ : "+r"(acc) ++ : "r"(&yptr[i]), "r"(&yptr[-i])); ++ ++ asm volatile ("mulwh.d\t%4, %m1, %m0:t\n" ++ "macwh.d\t%4, %1, %m0:b\n" ++ "ld.w\t%m0, %5++\n" ++ "macwh.d\t%4, %m2, %0:t\n" ++ "macwh.d\t%4, %2, %0:b\n" ++ "macwh.d\t%4, %m3, %m0:t\n" ++ "macwh.d\t%4, %3, %m0:b\n" ++ "rol\t%4\n" ++ "rol\t%m4\n" ++ : "+r"(tmp1), "+r"(tmp2), "+r"(tmp3), "+r"(tmp4), ++ "=&r"(acc), "+r"(s) ++ : "r"(X)); ++ ++ asm volatile ( "st.w\t%1[6*4], %m0\n" ++ "st.w\t%2[11*4], %m0\n" ++ :: "r"(acc), "r"(&yptr[i]), "r"(&yptr[-i])); ++ ++ ++#else + MAD_F_ML0(hi, lo, X[0], (*s)[0]); + MAD_F_MLA(hi, lo, X[1], (*s)[1]); + MAD_F_MLA(hi, lo, X[2], (*s)[2]); +@@ -2187,6 +2300,7 @@ void III_imdct_s(mad_fixed_t const X[18], mad_fixed_t z[36]) + yptr[11 - i] = yptr[i + 6]; + + ++s; ++#endif + } + + yptr += 12; +@@ -2198,6 +2312,196 @@ void III_imdct_s(mad_fixed_t const X[18], mad_fixed_t z[36]) + yptr = &y[0]; + wptr = &window_s[0]; + ++#ifdef FPM_AVR32 ++ /* z[0] = 0; ++ z[1] = 0; ++ z[2] = 0; ++ z[3] = 0; ++ z[4] = 0; ++ z[5] = 0; ++ z[30] = 0; ++ z[31] = 0; ++ z[32] = 0; ++ z[33] = 0; ++ z[34] = 0; ++ z[35] = 0; ++ */ ++ { ++ register long long int tmp, tmp2, tmp3, w0123, w4567, w891011; ++ asm volatile ("mov\t%m0, 0\n" ++ "mov\t%0, %m0\n" ++ "st.d\t%1[0], %0\n" ++ "st.d\t%1[2*4], %0\n" ++ "st.d\t%1[4*4], %0\n" ++ "st.d\t%1[30*4], %0\n" ++ "st.d\t%1[32*4], %0\n" ++ "st.d\t%1[34*4], %0\n" ++ : "=&r"(tmp) : "r"(z)); ++ ++ ++ ++ /* ++ z[6] = mad_f_mul(yptr [0], wptr[0]); ++ z[7] = mad_f_mul(yptr [1], wptr[1]); ++ z[8] = mad_f_mul(yptr [2], wptr[2]); ++ z[9] = mad_f_mul(yptr [3], wptr[3]); ++ z[10] = mad_f_mul(yptr[4], wptr[4]); ++ z[11] = mad_f_mul(yptr[5], wptr[5]); ++ z[24] = mad_f_mul(yptr [30], wptr[6]); ++ z[25] = mad_f_mul(yptr [31], wptr[7]); ++ z[26] = mad_f_mul(yptr [32], wptr[8]); ++ z[27] = mad_f_mul(yptr [33], wptr[9]); ++ z[28] = mad_f_mul(yptr[34], wptr[10]); ++ z[29] = mad_f_mul(yptr[35], wptr[11]); ++ */ ++ ++ ++ asm volatile ("ld.d\t%0, %5[0*4]\n" ++ "ld.d\t%3, %6[0*4]\n" ++ "ld.d\t%1, %5[2*4]\n" ++ "ld.d\t%2, %5[4*4]\n" ++ "mulsatrndwh.w\t%m3, %m3, %m0:t\n" ++ "mulsatrndwh.w\t%3, %3, %m0:b\n" ++ "ld.d\t%4, %6[2*4]\n" ++ "st.d\t%7[6*4], %3\n" ++ ++ "mulsatrndwh.w\t%m4, %m4, %0:t\n" ++ "mulsatrndwh.w\t%4, %4, %0:b\n" ++ "ld.d\t%3, %6[4*4]\n" ++ "st.d\t%7[8*4], %4\n" ++ ++ "mulsatrndwh.w\t%m3, %m3, %m1:t\n" ++ "mulsatrndwh.w\t%3, %3, %m1:b\n" ++ "ld.d\t%4, %6[30*4]\n" ++ "st.d\t%7[10*4], %3\n" ++ ++ "mulsatrndwh.w\t%m4, %m4, %1:t\n" ++ "mulsatrndwh.w\t%4, %4, %1:b\n" ++ "ld.d\t%3, %6[32*4]\n" ++ "st.d\t%7[24*4], %4\n" ++ ++ "mulsatrndwh.w\t%m3, %m3, %m2:t\n" ++ "mulsatrndwh.w\t%3, %3, %m2:b\n" ++ "ld.d\t%4, %6[34*4]\n" ++ "st.d\t%7[26*4], %3\n" ++ ++ "mulsatrndwh.w\t%m4, %m4, %2:t\n" ++ "mulsatrndwh.w\t%4, %4, %2:b\n" ++ "st.d\t%7[28*4], %4\n" ++ ++ : "=&r"(w0123), "=&r"(w4567), "=&r"(w891011), "=&r"(tmp), "=&r"(tmp2) ++ : "r"(wptr), "r"(yptr), "r"(z)); ++ /* ++ MAD_F_ML0(hi, lo, yptr[6], wptr[6]); ++ MAD_F_MLA(hi, lo, yptr[12], wptr[0]); ++ z[12] = MAD_F_MLZ(hi, lo); ++ MAD_F_ML0(hi, lo, yptr[7], wptr[7]); ++ MAD_F_MLA(hi, lo, yptr[13], wptr[1]); ++ z[13] = MAD_F_MLZ(hi, lo); ++ MAD_F_ML0(hi, lo, yptr[8], wptr[8]); ++ MAD_F_MLA(hi, lo, yptr[14], wptr[2]); ++ z[14] = MAD_F_MLZ(hi, lo); ++ MAD_F_ML0(hi, lo, yptr[9], wptr[9]); ++ MAD_F_MLA(hi, lo, yptr[15], wptr[3]); ++ z[15] = MAD_F_MLZ(hi, lo); ++ MAD_F_ML0(hi, lo, yptr[10], wptr[10]); ++ MAD_F_MLA(hi, lo, yptr[16], wptr[4]); ++ z[16] = MAD_F_MLZ(hi, lo); ++ MAD_F_ML0(hi, lo, yptr[11], wptr[11]); ++ MAD_F_MLA(hi, lo, yptr[17], wptr[5]); ++ z[17] = MAD_F_MLZ(hi, lo); ++ ++ MAD_F_ML0(hi, lo, yptr[18], wptr[6]); ++ MAD_F_MLA(hi, lo, yptr[24], wptr[0]); ++ z[18] = MAD_F_MLZ(hi, lo); ++ MAD_F_ML0(hi, lo, yptr[19], wptr[7]); ++ MAD_F_MLA(hi, lo, yptr[25], wptr[1]); ++ z[19] = MAD_F_MLZ(hi, lo); ++ MAD_F_ML0(hi, lo, yptr[20], wptr[8]); ++ MAD_F_MLA(hi, lo, yptr[26], wptr[2]); ++ z[20] = MAD_F_MLZ(hi, lo); ++ MAD_F_ML0(hi, lo, yptr[21], wptr[9]); ++ MAD_F_MLA(hi, lo, yptr[27], wptr[3]); ++ z[21] = MAD_F_MLZ(hi, lo); ++ MAD_F_ML0(hi, lo, yptr[22], wptr[10]); ++ MAD_F_MLA(hi, lo, yptr[28], wptr[4]); ++ z[22] = MAD_F_MLZ(hi, lo); ++ MAD_F_ML0(hi, lo, yptr[23], wptr[11]); ++ MAD_F_MLA(hi, lo, yptr[29], wptr[5]); ++ z[23] = MAD_F_MLZ(hi, lo);*/ ++ ++ ++ asm volatile ("ld.d\t%0, %3[6*4]\n" ++ "ld.d\t%1, %3[12*4]\n" ++ "mulwh.d\t%2, %m0, %5:t\n" ++ "macwh.d\t%2, %m1, %m4:t\n" ++ "mulwh.d\t%0, %0, %5:b\n" ++ "macwh.d\t%0, %1, %m4:b\n" ++ "lsl\t%m2, 1\n" ++ "lsl\t%2, %m0, 1\n" ++ "st.d\t%6[12*4], %2\n" ++ ++ "ld.d\t%0, %3[18*4]\n" ++ "ld.d\t%1, %3[24*4]\n" ++ "mulwh.d\t%2, %m0, %5:t\n" ++ "macwh.d\t%2, %m1, %m4:t\n" ++ "mulwh.d\t%0, %0, %5:b\n" ++ "macwh.d\t%0, %1, %m4:b\n" ++ "lsl\t%m2, 1\n" ++ "lsl\t%2, %m0, 1\n" ++ "st.d\t%6[18*4], %2\n" ++ ++ : "=&r"(tmp), "=&r"(tmp2), "=&r"(tmp3) ++ : "r"(yptr), "r"(w0123), "r"(w4567), "r"(z)); ++ ++ asm volatile ("ld.d\t%0, %3[8*4]\n" ++ "ld.d\t%1, %3[14*4]\n" ++ "mulwh.d\t%2, %m0, %m5:t\n" ++ "macwh.d\t%2, %m1, %4:t\n" ++ "mulwh.d\t%0, %0, %m5:b\n" ++ "macwh.d\t%0, %1, %4:b\n" ++ "lsl\t%m2, 1\n" ++ "lsl\t%2, %m0, 1\n" ++ "st.d\t%6[14*4], %2\n" ++ ++ "ld.d\t%0, %3[20*4]\n" ++ "ld.d\t%1, %3[26*4]\n" ++ "mulwh.d\t%2, %m0, %m5:t\n" ++ "macwh.d\t%2, %m1, %4:t\n" ++ "mulwh.d\t%0, %0, %m5:b\n" ++ "macwh.d\t%0, %1, %4:b\n" ++ "lsl\t%m2, 1\n" ++ "lsl\t%2, %m0, 1\n" ++ "st.d\t%6[20*4], %2\n" ++ ++ : "=&r"(tmp), "=&r"(tmp2), "=&r"(tmp3) ++ : "r"(yptr), "r"(w0123), "r"(w891011), "r"(z)); ++ ++ asm volatile ("ld.d\t%0, %3[10*4]\n" ++ "ld.d\t%1, %3[16*4]\n" ++ "mulwh.d\t%2, %m0, %5:t\n" ++ "macwh.d\t%2, %m1, %m4:t\n" ++ "mulwh.d\t%0, %0, %5:b\n" ++ "macwh.d\t%0, %1, %m4:b\n" ++ "lsl\t%m2, 1\n" ++ "lsl\t%2, %m0, 1\n" ++ "st.d\t%6[16*4], %2\n" ++ ++ "ld.d\t%0, %3[22*4]\n" ++ "ld.d\t%1, %3[28*4]\n" ++ "mulwh.d\t%2, %m0, %5:t\n" ++ "macwh.d\t%2, %m1, %m4:t\n" ++ "mulwh.d\t%0, %0, %5:b\n" ++ "macwh.d\t%0, %1, %m4:b\n" ++ "lsl\t%m2, 1\n" ++ "lsl\t%2, %m0, 1\n" ++ "st.d\t%6[22*4], %2\n" ++ ++ : "=&r"(tmp), "=&r"(tmp2), "=&r"(tmp3) ++ : "r"(yptr), "r"(w4567), "r"(w891011), "r"(z)); ++ ++ } ++#else + for (i = 0; i < 6; ++i) { + z[i + 0] = 0; + z[i + 6] = mad_f_mul(yptr[ 0 + 0], wptr[0]); +@@ -2218,8 +2522,15 @@ void III_imdct_s(mad_fixed_t const X[18], mad_fixed_t z[36]) + ++yptr; + ++wptr; + } ++#endif + } + ++#ifdef FPM_AVR32 ++# undef mad_f_mul ++# define mad_f_mul(x, y) ((((x) + (1L << 11)) >> 12) * \ ++ (((y) + (1L << 15)) >> 16)) ++#endif ++ + /* + * NAME: III_overlap() + * DESCRIPTION: perform overlap-add of windowed IMDCT outputs +diff --git a/synth.c b/synth.c +index 1d28d43..f42d49b 100644 +--- a/synth.c ++++ b/synth.c +@@ -29,20 +29,6 @@ + # include "frame.h" + # include "synth.h" + +-/* +- * NAME: synth->init() +- * DESCRIPTION: initialize synth struct +- */ +-void mad_synth_init(struct mad_synth *synth) +-{ +- mad_synth_mute(synth); +- +- synth->phase = 0; +- +- synth->pcm.samplerate = 0; +- synth->pcm.channels = 0; +- synth->pcm.length = 0; +-} + + /* + * NAME: synth->mute() +@@ -88,6 +74,10 @@ void mad_synth_mute(struct mad_synth *synth) + + /* FPM_DEFAULT without OPT_SSO will actually lose accuracy and performance */ + ++# if defined(FPM_AVR32) ++# define OPT_SSO ++# endif ++ + # if defined(FPM_DEFAULT) && !defined(OPT_SSO) + # define OPT_SSO + # endif +@@ -522,9 +512,15 @@ void dct32(mad_fixed_t const in[32], unsigned int slot, + # endif + # define ML0(hi, lo, x, y) ((lo) = (x) * (y)) + # define MLA(hi, lo, x, y) ((lo) += (x) * (y)) +-# define MLN(hi, lo) ((lo) = -(lo)) +-# define MLZ(hi, lo) ((void) (hi), (mad_fixed_t) (lo)) +-# define SHIFT(x) ((x) >> 2) ++# if defined(FPM_AVR32) ++# define MLN(hi, lo) MAD_F_MLN((hi), (lo)) ++# define MLZ(hi, lo) (hi) ++# define SHIFT(x) ((x) << 2) ++# else ++# define MLN(hi, lo) ((lo) = -(lo)) ++# define MLZ(hi, lo) ((void) (hi), (mad_fixed_t) (lo)) ++# define SHIFT(x) ((x) >> 2) ++# endif + # define PRESHIFT(x) ((MAD_F(x) + (1L << 13)) >> 14) + # else + # define ML0(hi, lo, x, y) MAD_F_ML0((hi), (lo), (x), (y)) +@@ -541,11 +537,54 @@ void dct32(mad_fixed_t const in[32], unsigned int slot, + # endif + # endif + ++/* ++ * NAME: synth->init() ++ * DESCRIPTION: initialize synth struct ++ */ ++ ++#ifdef FPM_AVR32 ++short Dmod[17][33]; ++#endif ++ + static ++#ifdef FPM_AVR32 ++short const D[17][32] = { ++#else + mad_fixed_t const D[17][32] = { ++#endif + # include "D.dat" + }; + ++void mad_synth_init(struct mad_synth *synth) ++{ ++ ++ mad_synth_mute(synth); ++ ++ synth->phase = 0; ++ ++ synth->pcm.samplerate = 0; ++ synth->pcm.channels = 0; ++ synth->pcm.length = 0; ++ ++#ifdef FPM_AVR32 ++ { ++ int i, j; ++ for ( i = 0; i < 17; i++ ){ ++ for ( j = 0; j < 32; j++ ){ ++ if ( j & 1 ){ ++ Dmod[i][17 + (j >> 1)]= D[i][j]; ++ } else { ++ Dmod[i][(j >> 1)]= D[i][j]; ++ } ++ } ++ ++ Dmod[i][16]= Dmod[i][16+8]; ++ } ++ } ++#endif ++ ++} ++ + # if defined(ASO_SYNTH) + void synth_full(struct mad_synth *, struct mad_frame const *, + unsigned int, unsigned int); +@@ -560,9 +599,13 @@ void synth_full(struct mad_synth *synth, struct mad_frame const *frame, + { + unsigned int phase, ch, s, sb, pe, po; + mad_fixed_t *pcm1, *pcm2, (*filter)[2][2][16][8]; +- mad_fixed_t const (*sbsample)[36][32]; ++ mad_fixed_t /*const*/ (*sbsample)[36][32]; + register mad_fixed_t (*fe)[8], (*fx)[8], (*fo)[8]; ++#ifdef FPM_AVR32 ++ register short const (*Dptr)[32], *ptr; ++#else + register mad_fixed_t const (*Dptr)[32], *ptr; ++#endif + register mad_fixed64hi_t hi; + register mad_fixed64lo_t lo; + +@@ -573,6 +616,20 @@ void synth_full(struct mad_synth *synth, struct mad_frame const *frame, + pcm1 = synth->pcm.samples[ch]; + + for (s = 0; s < ns; ++s) { ++# ifdef FPM_AVR32 ++/* ++ int i; ++ for ( i = 0; i < 32; i++ ){ ++ (*sbsample)[s][i] = ((*sbsample)[s][i] + (1 << 13)) & 0xFFFFC000; ++ } ++*/ ++ dct32_avr32((*sbsample)[s], phase >> 1, ++ (*filter)[0][phase & 1], (*filter)[1][phase & 1]); ++ /* printf("dct32: %d\n", GET_CYCLES);*/ ++ pcm1 = synth_avr32(phase, (mad_fixed_t *)filter, \ ++ pcm1, (short *)&Dmod[0]); ++ /* printf("synth_window: %d\n", GET_CYCLES);*/ ++# else + dct32((*sbsample)[s], phase >> 1, + (*filter)[0][phase & 1], (*filter)[1][phase & 1]); + +@@ -679,6 +736,7 @@ void synth_full(struct mad_synth *synth, struct mad_frame const *frame, + MLA(hi, lo, (*fo)[7], ptr[ 2]); + + *pcm1 = SHIFT(-MLZ(hi, lo)); ++# endif + pcm1 += 16; + + phase = (phase + 1) % 16; +diff --git a/synth_avr32.S b/synth_avr32.S +new file mode 100644 +index 0000000..701077b +--- /dev/null ++++ b/synth_avr32.S +@@ -0,0 +1,394 @@ ++/* ++ Optimized function for speeding up synthesis filter ++ in MPEG Audio Decoding. ++ Copyright 2003-2006 Atmel Corporation. ++ ++ Written by Ronny Pedersen and Lars Even Almås, Atmel Norway ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program; if not, write to the Free Software ++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ ++ ++ ++/* ***************** ++ Defining macros ++ ***************** */ ++ ++ .macro window_1 f, ptr, acc, ptr_offset, mul, tmp1_lo, tmp1_hi, tmp2_lo, tmp2_hi, tmp3_lo, tmp3_hi ++ ld.d \tmp1_lo, \f[0*4] /* tmp1 = { f[0], f[1] } */ ++ ld.w \tmp2_lo, \ptr[0*2+\ptr_offset*2] /* tmp2_lo = { ptr[0], ptr[1] }*/ ++ ld.d \tmp3_lo, \f[6*4] /* tmp3 = { f[6], f[7] } */ ++ ld.w \tmp2_hi, \ptr[6*2+\ptr_offset*2] /* tmp2_hi = { ptr[6], ptr[7] }*/ ++ .if \mul ++ mulwh.d \acc, \tmp1_hi, \tmp2_lo:t /* f[0] * ptr[0]*/ ++ .else ++ macwh.d \acc, \tmp1_hi, \tmp2_lo:t /* f[0] * ptr[0]*/ ++ .endif ++ macwh.d \acc, \tmp3_lo, \tmp2_lo:b /* f[7] * ptr[1]*/ ++ ld.w \tmp2_lo, \ptr[2*2+\ptr_offset*2] /* tmp2_lo = { ptr[2], ptr[3] }*/ ++ macwh.d \acc, \tmp1_lo, \tmp2_hi:b /* f[1] * ptr[7]*/ ++ ld.d \tmp1_lo, \f[2*4] /* tmp1 = { f[2], f[3] } */ ++ ++ macwh.d \acc, \tmp3_hi, \tmp2_lo:t /* f[6] * ptr[2]*/ ++ macwh.d \acc, \tmp1_hi, \tmp2_hi:t /* f[2] * ptr[6]*/ ++ ld.d \tmp3_lo, \f[4*4] /* tmp3 = { f[4], f[5] } */ ++ ld.w \tmp2_hi, \ptr[4*2+\ptr_offset*2] /* tmp2_hi = { ptr[4], ptr[5] }*/ ++ macwh.d \acc, \tmp3_lo, \tmp2_lo:b /* f[5] * ptr[3]*/ ++ ++ macwh.d \acc, \tmp1_lo, \tmp2_hi:b /* f[3] * ptr[5]*/ ++ macwh.d \acc, \tmp3_hi, \tmp2_hi:t /* f[4] * ptr[4]*/ ++ .endm ++ ++ .macro window_2 f, ptr, acc, ptr_offset, mul, tmp1_lo, tmp1_hi, tmp2_lo, tmp2_hi, tmp3_lo, tmp3_hi ++ ld.d \tmp1_lo, \f[0*4] /* tmp1 = { f[0], f[1] } */ ++ ld.w \tmp2_lo, \ptr[7*2+\ptr_offset*2] /* tmp2_lo = { ptr[7], ptr[8] }*/ ++ ld.d \tmp3_lo, \f[2*4] /* tmp3 = { f[2], f[3] } */ ++ ld.w \tmp2_hi, \ptr[9*2+\ptr_offset*2] /* tmp2_hi = { ptr[9], ptr[10] }*/ ++ .if \mul ++ mulwh.d \acc, \tmp1_hi, \tmp2_lo:t /* f[0] * ptr[7]*/ ++ .else ++ macwh.d \acc, \tmp1_hi, \tmp2_lo:t /* f[0] * ptr[7]*/ ++ .endif ++ macwh.d \acc, \tmp1_lo, \tmp2_lo:b /* f[1] * ptr[8]*/ ++ ++ ld.d \tmp1_lo, \f[4*4] /* tmp1 = { f[4], f[5] } */ ++ ld.w \tmp2_lo, \ptr[11*2+\ptr_offset*2] /* tmp2_lo = { ptr[11], ptr[12] }*/ ++ ++ macwh.d \acc, \tmp3_hi, \tmp2_hi:t /* f[2] * ptr[9]*/ ++ macwh.d \acc, \tmp3_lo, \tmp2_hi:b /* f[3] * ptr[10]*/ ++ ++ ld.d \tmp3_lo, \f[6*4] /* tmp3 = { f[6], f[7] } */ ++ ld.w \tmp2_hi, \ptr[13*2+\ptr_offset*2] /* tmp2_hi = { ptr[13], ptr[14] }*/ ++ ++ macwh.d \acc, \tmp1_hi, \tmp2_lo:t /* f[4] * ptr[11]*/ ++ macwh.d \acc, \tmp1_lo, \tmp2_lo:b /* f[5] * ptr[12]*/ ++ macwh.d \acc, \tmp3_hi, \tmp2_hi:t /* f[6] * ptr[13]*/ ++ macwh.d \acc, \tmp3_lo, \tmp2_hi:b /* f[7] * ptr[14]*/ ++ .endm ++ ++ .macro scale res, d_lo, d_hi ++ lsl \d_hi, 2 ++ .endm ++ ++/* ********************** ++ Starting main function ++ ********************** */ ++ ++/* Function synth_avr32 is called from synth.c with arguments: ++ phase, filter, *pcm1, &D[0] */ ++ ++ .global synth_avr32 ++synth_avr32: ++ pushm r0-r7, lr ++ sub sp, 8 ++ ++ /* R12 = phase, R11 = filter, R10 = pcm1, r9 = D*/ ++ bld r12, 0 ++ brcc synth_even ++ ++ /* Filter for odd phases */ ++ ++ /* fe = &(*filter)[0][1][0]; ++ fx = &(*filter)[0][0][0]; ++ fo = &(*filter)[1][0][0]; */ ++ sub lr /*fe*/, r11, -16*8*4 ++ sub r8 /*fo*/, r11, -16*8*4*2 ++ ++ /* pe = phase >> 1; */ ++ lsr r12, 1 ++ stdsp sp[4], r12 ++ /* ptr = (short const *)Dmod + pe; */ ++ add r12, r9, r12 << 1 ++ ++ /* ML0(hi, lo, (*fx)[0], ptr[0 + 17]); ++ MLA(hi, lo, (*fx)[1], ptr[7 + 17]); ++ MLA(hi, lo, (*fx)[2], ptr[6 + 17]); ++ MLA(hi, lo, (*fx)[3], ptr[5 + 17]); ++ MLA(hi, lo, (*fx)[4], ptr[4 + 17]); ++ MLA(hi, lo, (*fx)[5], ptr[3 + 17]); ++ MLA(hi, lo, (*fx)[6], ptr[2 + 17]); ++ MLA(hi, lo, (*fx)[7], ptr[1 + 17]); */ ++ window_1 r11/*fx*/,r12/*ptr*/,r0/*acc*/,17/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7 ++ ++ /* MLN(hi, lo); */ ++ neg r0 ++ acr r1 ++ neg r1 ++ ++ /* MLA(hi, lo, (*fe)[0], ptr[0]); ++ MLA(hi, lo, (*fe)[1], ptr[7]); ++ MLA(hi, lo, (*fe)[2], ptr[6]); ++ MLA(hi, lo, (*fe)[3], ptr[5]); ++ MLA(hi, lo, (*fe)[4], ptr[4]); ++ MLA(hi, lo, (*fe)[5], ptr[3]); ++ MLA(hi, lo, (*fe)[6], ptr[2]); ++ MLA(hi, lo, (*fe)[7], ptr[1]); */ ++ window_1 lr/*fe*/,r12/*ptr*/,r0/*acc*/,0/*off*/,0/*mac*/,r2,r3,r4,r5,r6,r7 ++ ++ /* *pcm1++ = SHIFT(MLZ(hi, lo)); ++ ++ pcm2 = pcm1 + 31; */ ++ scale r1, r0, r1 ++ st.w r10/*pcm_1*/++, r1 ++ sub r11/*pcm2*/, r10, -4*31 ++ ++ /* for (sb = 1; sb < 16; ++sb) { */ ++ mov r2, 15 ++ stdsp sp[0], r2 ++odd_loop: ++ /* ++fe; ++ ptr += 33; */ ++ sub lr /*fe*/, -8*4 ++ sub r12, -33*2 ++ ++ /* ML0(hi, lo, (*fo)[0], ptr[0 + 17]); ++ MLA(hi, lo, (*fo)[1], ptr[7 + 17]); ++ MLA(hi, lo, (*fo)[2], ptr[6 + 17]); ++ MLA(hi, lo, (*fo)[3], ptr[5 + 17]); ++ MLA(hi, lo, (*fo)[4], ptr[4 + 17]); ++ MLA(hi, lo, (*fo)[5], ptr[3 + 17]); ++ MLA(hi, lo, (*fo)[6], ptr[2 + 17]); ++ MLA(hi, lo, (*fo)[7], ptr[1 + 17]); */ ++ window_1 r8/*fo*/,r12/*ptr*/,r0/*acc*/,17/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7 ++ /* MLN(hi, lo); */ ++ ++ neg r0 ++ acr r1 ++ neg r1 ++ ++ /* MLA(hi, lo, (*fe)[7], ptr[1]); ++ MLA(hi, lo, (*fe)[6], ptr[2]); ++ MLA(hi, lo, (*fe)[5], ptr[3]); ++ MLA(hi, lo, (*fe)[4], ptr[4]); ++ MLA(hi, lo, (*fe)[3], ptr[5]); ++ MLA(hi, lo, (*fe)[2], ptr[6]); ++ MLA(hi, lo, (*fe)[1], ptr[7]); ++ MLA(hi, lo, (*fe)[0], ptr[0]); */ ++ window_1 lr/*fe*/,r12/*ptr*/,r0/*acc*/,0/*off*/,0/*mac*/,r2,r3,r4,r5,r6,r7 ++ ++ /* ptr -= 2*pe; */ ++ lddsp r2, sp[4] ++ ++ /* *pcm1++ = SHIFT(MLZ(hi, lo)); */ ++ ++ scale r1, r0, r1 ++ sub r12/*ptr*/, r12, r2/*pe*/<< 2 ++ st.w r10/*pcm_1*/++, r1 ++ ++ ++ /* ML0(hi, lo, (*fe)[0], ptr[7 + 17]); ++ MLA(hi, lo, (*fe)[1], ptr[8 + 17]); ++ MLA(hi, lo, (*fe)[2], ptr[9 + 17]); ++ MLA(hi, lo, (*fe)[3], ptr[10 + 17]); ++ MLA(hi, lo, (*fe)[4], ptr[11 + 17]); ++ MLA(hi, lo, (*fe)[5], ptr[12 + 17]); ++ MLA(hi, lo, (*fe)[6], ptr[13 + 17]); ++ MLA(hi, lo, (*fe)[7], ptr[14 + 17]); */ ++ window_2 lr/*fe*/,r12/*ptr*/,r0/*acc*/,17/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7 ++ /* MLA(hi, lo, (*fo)[7], ptr[14]); ++ MLA(hi, lo, (*fo)[6], ptr[13]); ++ MLA(hi, lo, (*fo)[5], ptr[12]); ++ MLA(hi, lo, (*fo)[4], ptr[11]); ++ MLA(hi, lo, (*fo)[3], ptr[10]); ++ MLA(hi, lo, (*fo)[2], ptr[9]); ++ MLA(hi, lo, (*fo)[1], ptr[8]); ++ MLA(hi, lo, (*fo)[0], ptr[7]); */ ++ window_2 r8/*fo*/,r12/*ptr*/,r0/*acc*/,0/*off*/,0/*mac*/,r2,r3,r4,r5,r6,r7 ++ ++ ++ /* *pcm2-- = SHIFT(MLZ(hi, lo)); */ ++ lddsp r3, sp[4] ++ lddsp r2, sp[0] ++ scale r1, r0, r1 ++ st.w --r11/*pcm_2*/, r1 ++ ++ /* ptr += 2*pe; */ ++ add r12/*ptr*/, r12, r3/*pe*/<< 2 ++ ++ /* ++fo; ++ } */ ++ sub r8/*fo*/, -8*4 ++ ++ sub r2, 1 ++ stdsp sp[0], r2 ++ brne odd_loop ++ ++ /* ptr += 33; */ ++ sub r12/*ptr*/, -33*2 ++ ++ /* ML0(hi, lo, (*fo)[0], ptr[0 + 17]); ++ MLA(hi, lo, (*fo)[1], ptr[7 + 17]); ++ MLA(hi, lo, (*fo)[2], ptr[6 + 17]); ++ MLA(hi, lo, (*fo)[3], ptr[5 + 17]); ++ MLA(hi, lo, (*fo)[4], ptr[4 + 17]); ++ MLA(hi, lo, (*fo)[5], ptr[3 + 17]); ++ MLA(hi, lo, (*fo)[6], ptr[2 + 17]); ++ MLA(hi, lo, (*fo)[7], ptr[1 + 17]); */ ++ window_1 r8/*fo*/,r12/*ptr*/,r0/*acc*/,17/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7 ++ ++ rjmp synth_end ++synth_even: ++ /* Filter for even phases */ ++ ++ /* fe = &(*filter)[0][0][0]; ++ fx = &(*filter)[0][1][0]; ++ fo = &(*filter)[1][1][0]; */ ++ sub lr /*fx*/, r11, -16*8*4 ++ sub r8 /*fo*/, r11, -(16*8*4*2 + 16*8*4) ++ ++ /* po = ((phase - 1) & 0xF) >> 1; */ ++ sub r12, 1 ++ andl r12, 0xe, COH ++ stdsp sp[4], r12 ++ /* ptr = (short const *)Dmod + po; */ ++ add r12, r9, r12 ++ ++ /* ML0(hi, lo, (*fx)[0], ptr[0 + 17]); ++ MLA(hi, lo, (*fx)[1], ptr[7 + 17]); ++ MLA(hi, lo, (*fx)[2], ptr[6 + 17]); ++ MLA(hi, lo, (*fx)[3], ptr[5 + 17]); ++ MLA(hi, lo, (*fx)[4], ptr[4 + 17]); ++ MLA(hi, lo, (*fx)[5], ptr[3 + 17]); ++ MLA(hi, lo, (*fx)[6], ptr[2 + 17]); ++ MLA(hi, lo, (*fx)[7], ptr[1 + 17]); */ ++ window_1 lr/*fx*/,r12/*ptr*/,r0/*acc*/,17/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7 ++ ++ /* MLN(hi, lo); */ ++ neg r0 ++ acr r1 ++ neg r1 ++ ++ /* MLA(hi, lo, (*fe)[0], ptr[0 + 1]); ++ MLA(hi, lo, (*fe)[1], ptr[7 + 1]); ++ MLA(hi, lo, (*fe)[2], ptr[6 + 1]); ++ MLA(hi, lo, (*fe)[3], ptr[5 + 1]); ++ MLA(hi, lo, (*fe)[4], ptr[4 + 1]); ++ MLA(hi, lo, (*fe)[5], ptr[3 + 1]); ++ MLA(hi, lo, (*fe)[6], ptr[2 + 1]); ++ MLA(hi, lo, (*fe)[7], ptr[1 + 1]); */ ++ window_1 r11/*fe*/,r12/*ptr*/,r0/*acc*/,1/*off*/,0/*mac*/,r2,r3,r4,r5,r6,r7 ++ ++ /* *pcm1++ = SHIFT(MLZ(hi, lo)); ++ ++ pcm2 = pcm1 + 31; */ ++ scale r1, r0, r1 ++ st.w r10/*pcm_1*/++, r1 ++ sub lr/*pcm2*/, r10, -4*31 ++ ++ /* for (sb = 1; sb < 16; ++sb) { */ ++ mov r2, 15 ++ stdsp sp[0], r2 ++even_loop: ++ /* ++fe; ++ ptr += 33; */ ++ sub r11 /*fe*/, -8*4 ++ sub r12, -33*2 ++ ++ /* ML0(hi, lo, (*fo)[0], ptr[0 + 17]); ++ MLA(hi, lo, (*fo)[1], ptr[7 + 17]); ++ MLA(hi, lo, (*fo)[2], ptr[6 + 17]); ++ MLA(hi, lo, (*fo)[3], ptr[5 + 17]); ++ MLA(hi, lo, (*fo)[4], ptr[4 + 17]); ++ MLA(hi, lo, (*fo)[5], ptr[3 + 17]); ++ MLA(hi, lo, (*fo)[6], ptr[2 + 17]); ++ MLA(hi, lo, (*fo)[7], ptr[1 + 17]); */ ++ window_1 r8/*fo*/,r12/*ptr*/,r0/*acc*/,17/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7 ++ /* MLN(hi, lo); */ ++ neg r0 ++ acr r1 ++ neg r1 ++ ++ /* MLA(hi, lo, (*fe)[7], ptr[1 + 1]); ++ MLA(hi, lo, (*fe)[6], ptr[2 + 1]); ++ MLA(hi, lo, (*fe)[5], ptr[3 + 1]); ++ MLA(hi, lo, (*fe)[4], ptr[4 + 1]); ++ MLA(hi, lo, (*fe)[3], ptr[5 + 1]); ++ MLA(hi, lo, (*fe)[2], ptr[6 + 1]); ++ MLA(hi, lo, (*fe)[1], ptr[7 + 1]); ++ MLA(hi, lo, (*fe)[0], ptr[0 + 1]); */ ++ window_1 r11/*fe*/,r12/*ptr*/,r0/*acc*/,1/*off*/,0/*mac*/,r2,r3,r4,r5,r6,r7 ++ ++ /* *pcm1++ = SHIFT(MLZ(hi, lo)); */ ++ lddsp r2, sp[4] ++ scale r1, r0, r1 ++ /* ptr -= 2*po; */ ++ sub r12/*ptr*/, r12, r2/*po*/<< 1 ++ st.w r10/*pcm_1*/++, r1 ++ ++ ++ /* ML0(hi, lo, (*fe)[0], ptr[7 + 17 - 1]); ++ MLA(hi, lo, (*fe)[1], ptr[8 + 17 - 1]); ++ MLA(hi, lo, (*fe)[2], ptr[9 + 17 - 1]); ++ MLA(hi, lo, (*fe)[3], ptr[10 + 17 - 1]); ++ MLA(hi, lo, (*fe)[4], ptr[11 + 17 - 1]); ++ MLA(hi, lo, (*fe)[5], ptr[12 + 17 - 1]); ++ MLA(hi, lo, (*fe)[6], ptr[13 + 17 - 1]); ++ MLA(hi, lo, (*fe)[7], ptr[14 + 17 - 1]); */ ++ window_2 r11/*fe*/,r12/*ptr*/,r0/*acc*/,16/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7 ++ /* MLA(hi, lo, (*fo)[7], ptr[14]); ++ MLA(hi, lo, (*fo)[6], ptr[13]); ++ MLA(hi, lo, (*fo)[5], ptr[12]); ++ MLA(hi, lo, (*fo)[4], ptr[11]); ++ MLA(hi, lo, (*fo)[3], ptr[10]); ++ MLA(hi, lo, (*fo)[2], ptr[9]); ++ MLA(hi, lo, (*fo)[1], ptr[8]); ++ MLA(hi, lo, (*fo)[0], ptr[7]); */ ++ window_2 r8/*fo*/,r12/*ptr*/,r0/*acc*/,0/*off*/,0/*mac*/,r2,r3,r4,r5,r6,r7 ++ ++ ++ /* *pcm2-- = SHIFT(MLZ(hi, lo)); */ ++ lddsp r3, sp[4] ++ lddsp r2, sp[0] ++ scale r1, r0, r1 ++ st.w --lr/*pcm_2*/, r1 ++ ++ /* ptr += 2*po; */ ++ add r12/*ptr*/, r12, r3/*po*/<< 1 ++ ++ /* ++fo; ++ } */ ++ sub r8/*fo*/, -8*4 ++ ++ sub r2, 1 ++ stdsp sp[0], r2 ++ brne even_loop ++ ++ /* ptr += 33; */ ++ sub r12/*ptr*/, -33*2 ++ ++ /* ML0(hi, lo, (*fo)[0], ptr[0 + 17]); ++ MLA(hi, lo, (*fo)[1], ptr[7 + 17]); ++ MLA(hi, lo, (*fo)[2], ptr[6 + 17]); ++ MLA(hi, lo, (*fo)[3], ptr[5 + 17]); ++ MLA(hi, lo, (*fo)[4], ptr[4 + 17]); ++ MLA(hi, lo, (*fo)[5], ptr[3 + 17]); ++ MLA(hi, lo, (*fo)[6], ptr[2 + 17]); ++ MLA(hi, lo, (*fo)[7], ptr[1 + 17]); */ ++ window_1 r8/*fo*/,r12/*ptr*/,r0/*acc*/,17/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7 ++ ++ ++ ++synth_end: ++ /* *pcm1 = SHIFT(-MLZ(hi, lo)); */ ++ scale r1, r0, r1 ++ neg r1 ++ st.w r10/*pcm_1*/, r1 ++ ++ mov r12, r10 ++ sub sp, -8 ++ popm r0-r7, pc ++ ++ ++ ++ ++ diff --git a/package/libmad/0003-remove-deprecated-cflags.patch b/package/libmad/0003-remove-deprecated-cflags.patch new file mode 100644 index 0000000000..e5040830f9 --- /dev/null +++ b/package/libmad/0003-remove-deprecated-cflags.patch @@ -0,0 +1,33 @@ +libmad: remove deprecated cflags (-fforce-mem) + +fforce-mem has long been deprecated, and is completely removed from +gcc 4.3.x on. +--- + configure | 1 - + configure.ac | 1 - + 2 files changed, 2 deletions(-) + +Index: libmad-0.15.1b/configure.ac +=================================================================== +--- libmad-0.15.1b.orig/configure.ac ++++ libmad-0.15.1b/configure.ac +@@ -140,7 +140,6 @@ + case "$optimize" in + -O|"-O "*) + optimize="-O" +- optimize="$optimize -fforce-mem" + optimize="$optimize -fforce-addr" + : #x optimize="$optimize -finline-functions" + : #- optimize="$optimize -fstrength-reduce" +Index: libmad-0.15.1b/configure +=================================================================== +--- libmad-0.15.1b.orig/configure ++++ libmad-0.15.1b/configure +@@ -19099,7 +19099,6 @@ + case "$optimize" in + -O|"-O "*) + optimize="-O" +- optimize="$optimize -fforce-mem" + optimize="$optimize -fforce-addr" + : #x optimize="$optimize -finline-functions" + : #- optimize="$optimize -fstrength-reduce" diff --git a/package/libmad/0004-thumb2-fixed-arm.patch b/package/libmad/0004-thumb2-fixed-arm.patch new file mode 100644 index 0000000000..befda48d7e --- /dev/null +++ b/package/libmad/0004-thumb2-fixed-arm.patch @@ -0,0 +1,40 @@ +Fixes Thumb2-related build failure + +Patch below comes from the Debian libmad package. + +Signed-off-by: Thomas Petazzoni + +From: Dave Martin +Subject: "rsc" doesnt exist anymore in thumb2 + +diff --git a/fixed.h b/fixed.h +index 4b58abf..ba4bc26 100644 +--- a/fixed.h ++++ b/fixed.h +@@ -275,12 +275,25 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t x, mad_fixed_t y) + : "+r" (lo), "+r" (hi) \ + : "%r" (x), "r" (y)) + ++#ifdef __thumb__ ++/* In Thumb-2, the RSB-immediate instruction is only allowed with a zero ++ operand. If needed this code can also support Thumb-1 ++ (simply append "s" to the end of the second two instructions). */ ++# define MAD_F_MLN(hi, lo) \ ++ asm ("rsbs %0, %0, #0\n\t" \ ++ "sbc %1, %1, %1\n\t" \ ++ "sub %1, %1, %2" \ ++ : "+&r" (lo), "=&r" (hi) \ ++ : "r" (hi) \ ++ : "cc") ++#else /* ! __thumb__ */ + # define MAD_F_MLN(hi, lo) \ + asm ("rsbs %0, %2, #0\n\t" \ + "rsc %1, %3, #0" \ +- : "=r" (lo), "=r" (hi) \ ++ : "=&r" (lo), "=r" (hi) \ + : "0" (lo), "1" (hi) \ + : "cc") ++#endif /* __thumb__ */ + + # define mad_f_scale64(hi, lo) \ + ({ mad_fixed_t __result; \ diff --git a/package/libmad/0005-thumb2-imdct-arm.patch b/package/libmad/0005-thumb2-imdct-arm.patch new file mode 100644 index 0000000000..414b9c8fcf --- /dev/null +++ b/package/libmad/0005-thumb2-imdct-arm.patch @@ -0,0 +1,20 @@ +Fixes Thumb2 related build failure + +Patch below comes from the Debian libmad package. + +Signed-off-by: Thomas Petazzoni + +From: Konstantinos Margaritis +Subject: use "adr" instead of "add" to make code ready for thumb2 + +--- ./imdct_l_arm.S.orig 2010-02-25 13:25:23.000000000 +0100 ++++ ./imdct_l_arm.S 2010-02-25 13:27:26.000000000 +0100 +@@ -468,7 +468,7 @@ + + @---- + +- add r2, pc, #(imdct36_long_karray-.-8) @ r2 = base address of Knn array (PIC safe ?) ++ adr r2, imdct36_long_karray + + + loop: diff --git a/package/libmad/libmad-0.15.1b-mips-h-constraint-removal.patch b/package/libmad/libmad-0.15.1b-mips-h-constraint-removal.patch deleted file mode 100644 index 095858717e..0000000000 --- a/package/libmad/libmad-0.15.1b-mips-h-constraint-removal.patch +++ /dev/null @@ -1,72 +0,0 @@ -http://patchwork.openembedded.org/patch/921/ - -diff -ur libmad-0.15.1b-orig/fixed.h libmad-0.15.1b/fixed.h ---- libmad-0.15.1b-orig/fixed.h 2004-02-17 12:32:03.000000000 +1030 -+++ libmad-0.15.1b/fixed.h 2009-08-05 10:46:30.000000000 +0930 -@@ -299,6 +299,23 @@ - - # elif defined(FPM_MIPS) - -+/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */ -+#if defined (__GNUC__) && defined (__GNUC_MINOR__) -+#define __GNUC_PREREQ(maj, min) \ -+ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) -+#else -+#define __GNUC_PREREQ(maj, min) 0 -+#endif -+ -+#if __GNUC_PREREQ(4,4) -+ typedef unsigned int u64_di_t __attribute__ ((mode (DI))); -+# define MAD_F_MLX(hi, lo, x, y) \ -+ do { \ -+ u64_di_t __ll = (u64_di_t) (x) * (y); \ -+ hi = __ll >> 32; \ -+ lo = __ll; \ -+ } while (0) -+#else - /* - * This MIPS version is fast and accurate; the disposition of the least - * significant bit depends on OPT_ACCURACY via mad_f_scale64(). -@@ -328,6 +345,7 @@ - : "%r" ((x) >> 12), "r" ((y) >> 16)) - # define MAD_F_MLZ(hi, lo) ((mad_fixed_t) (lo)) - # endif -+#endif /* __GNU_PREREQ(4,4) */ - - # if defined(OPT_SPEED) - # define mad_f_scale64(hi, lo) \ -diff -ur libmad-0.15.1b-orig/mad.h libmad-0.15.1b/mad.h ---- libmad-0.15.1b-orig/mad.h 2004-02-17 13:25:44.000000000 +1030 -+++ libmad-0.15.1b/mad.h 2009-08-05 10:42:40.000000000 +0930 -@@ -344,6 +344,23 @@ - - # elif defined(FPM_MIPS) - -+/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */ -+#if defined (__GNUC__) && defined (__GNUC_MINOR__) -+#define __GNUC_PREREQ(maj, min) \ -+ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) -+#else -+#define __GNUC_PREREQ(maj, min) 0 -+#endif -+ -+#if __GNUC_PREREQ(4,4) -+ typedef unsigned int u64_di_t __attribute__ ((mode (DI))); -+# define MAD_F_MLX(hi, lo, x, y) \ -+ do { \ -+ u64_di_t __ll = (u64_di_t) (x) * (y); \ -+ hi = __ll >> 32; \ -+ lo = __ll; \ -+ } while (0) -+#else - /* - * This MIPS version is fast and accurate; the disposition of the least - * significant bit depends on OPT_ACCURACY via mad_f_scale64(). -@@ -373,6 +390,7 @@ - : "%r" ((x) >> 12), "r" ((y) >> 16)) - # define MAD_F_MLZ(hi, lo) ((mad_fixed_t) (lo)) - # endif -+#endif /* __GNU_PREREQ(4,4) */ - - # if defined(OPT_SPEED) - # define mad_f_scale64(hi, lo) \ diff --git a/package/libmad/libmad-0.15.1b-optimization.patch.avr32 b/package/libmad/libmad-0.15.1b-optimization.patch.avr32 deleted file mode 100644 index b74eea3225..0000000000 --- a/package/libmad/libmad-0.15.1b-optimization.patch.avr32 +++ /dev/null @@ -1,2922 +0,0 @@ -diff --git a/bit.c b/bit.c -index c2bfb24..262ce3a 100644 ---- a/bit.c -+++ b/bit.c -@@ -25,12 +25,6 @@ - - # include "global.h" - --# ifdef HAVE_LIMITS_H --# include --# else --# define CHAR_BIT 8 --# endif -- - # include "bit.h" - - /* -@@ -81,6 +75,8 @@ unsigned short const crc_table[256] = { - - # define CRC_POLY 0x8005 - -+#ifndef FPM_AVR32 -+ - /* - * NAME: bit->init() - * DESCRIPTION: initialize bit pointer struct -@@ -190,6 +186,8 @@ void mad_bit_write(struct mad_bitptr *bitptr, unsigned int len, - } - # endif - -+#endif -+ - /* - * NAME: bit->crc() - * DESCRIPTION: compute CRC-check word -diff --git a/bit.h b/bit.h -index 5a51570..70f550a 100644 ---- a/bit.h -+++ b/bit.h -@@ -22,6 +22,92 @@ - # ifndef LIBMAD_BIT_H - # define LIBMAD_BIT_H - -+# ifdef HAVE_LIMITS_H -+# include -+# else -+# define CHAR_BIT 8 -+# endif -+ -+#ifdef FPM_AVR32 -+ -+struct mad_bitptr { -+ unsigned char const *byte; -+ unsigned int read_bytes; -+}; -+ -+/* -+ * NAME: bit->init() -+ * DESCRIPTION: initialize bit pointer struct -+ */ -+static void mad_bit_init(struct mad_bitptr *bitptr, unsigned char const *byte) -+{ -+ bitptr->byte = byte; -+ bitptr->read_bytes = 0; -+} -+ -+/* -+ * NAME: bit->length() -+ * DESCRIPTION: return number of bits between start and end points -+ */ -+static unsigned int mad_bit_length(struct mad_bitptr const *begin, -+ struct mad_bitptr const *end) -+{ -+ return (end->read_bytes - begin->read_bytes) + -+ 8 * (end->byte - begin->byte); -+} -+ -+/* -+ * NAME: bit->nextbyte() -+ * DESCRIPTION: return pointer to next unprocessed byte -+ */ -+static unsigned char const *mad_bit_nextbyte(struct mad_bitptr const *bitptr) -+{ -+ return bitptr->byte + ((bitptr->read_bytes + 0x7) >> 3); -+} -+ -+/* -+ * NAME: bit->skip() -+ * DESCRIPTION: advance bit pointer -+ */ -+static void mad_bit_skip(struct mad_bitptr *bitptr, unsigned int len) -+{ -+ bitptr->read_bytes += len; -+ bitptr->byte += (bitptr->read_bytes >> 3); -+ bitptr->read_bytes &= 0x7; -+} -+ -+/* -+ * NAME: bit->read() -+ * DESCRIPTION: read an arbitrary number of bits and return their UIMSBF value -+ */ -+static unsigned long mad_bit_read(struct mad_bitptr *bitptr, unsigned int len) -+{ -+ register unsigned long value; -+ -+ if (!len) -+ return 0; -+ -+ value = *(unsigned int *)bitptr->byte; -+ -+ value <<= bitptr->read_bytes; -+ value >>= (32 - len); -+ -+ bitptr->read_bytes += len; -+ bitptr->byte += (bitptr->read_bytes >> 3); -+ bitptr->read_bytes &= 0x7; -+ -+ return value; -+} -+ -+# define mad_bit_finish(bitptr) /* nothing */ -+ -+static unsigned long mad_bit_bitsleft(struct mad_bitptr *bitptr) -+{ -+ return (8 - (bitptr)->read_bytes); -+} -+ -+#else /* #ifdef FPM_AVR32 */ -+ - struct mad_bitptr { - unsigned char const *byte; - unsigned short cache; -@@ -42,6 +128,8 @@ void mad_bit_skip(struct mad_bitptr *, unsigned int); - unsigned long mad_bit_read(struct mad_bitptr *, unsigned int); - void mad_bit_write(struct mad_bitptr *, unsigned int, unsigned long); - -+#endif -+ - unsigned short mad_bit_crc(struct mad_bitptr, unsigned int, unsigned short); - - # endif -diff --git a/configure.ac b/configure.ac -index 9b79399..063cb9b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -274,13 +274,14 @@ fi - AC_MSG_CHECKING(for architecture-specific fixed-point math routines) - AC_ARG_ENABLE(fpm, AC_HELP_STRING([--enable-fpm=ARCH], - [use ARCH-specific fixed-point math routines -- (one of: intel, arm, mips, sparc, ppc, 64bit, default)]), -+ (one of: intel, arm, avr32, mips, sparc, ppc, 64bit, default)]), - [ - case "$enableval" in - yes) ;; - no|default|approx) FPM="DEFAULT" ;; - intel|i?86) FPM="INTEL" ;; - arm) FPM="ARM" ;; -+ avr32) FPM="AVR32" ;; - mips) FPM="MIPS" ;; - sparc) FPM="SPARC" ;; - ppc|powerpc) FPM="PPC" ;; -@@ -298,6 +299,7 @@ then - case "$host" in - i?86-*) FPM="INTEL" ;; - arm*-*) FPM="ARM" ;; -+ avr32*-*) FPM="AVR32" ;; - mips*-*) FPM="MIPS" ;; - sparc*-*) FPM="SPARC" ;; - powerpc*-*) FPM="PPC" ;; -@@ -343,6 +345,11 @@ then - ASO="$ASO -DASO_IMDCT" - ASO_OBJS="imdct_l_arm.lo" - ;; -+ avr32*-*) -+ ASO="$ASO -DASO_INTERLEAVE2" -+ ASO="$ASO -DASO_ZEROCHECK" -+ ASO_OBJS="dct32_avr32.lo synth_avr32.lo imdct_avr32.lo" -+ ;; - mips*-*) - ASO="$ASO -DASO_INTERLEAVE2" - ASO="$ASO -DASO_ZEROCHECK" -diff --git a/configure b/configure -index ee421cc..7a9f0c8 100755 ---- a/configure -+++ b/configure -@@ -1048,7 +1048,7 @@ Optional Features: - --enable-speed optimize for speed over accuracy - --enable-accuracy optimize for accuracy over speed - --enable-fpm=ARCH use ARCH-specific fixed-point math routines (one of: -- intel, arm, mips, sparc, ppc, 64bit, default) -+ intel, arm, avr32, mips, sparc, ppc, 64bit, default) - --enable-sso use subband synthesis optimization - --disable-aso disable architecture-specific optimizations - --enable-strict-iso use strict ISO/IEC interpretations -@@ -21477,6 +21477,7 @@ if test "${enable_fpm+set}" = set; then - no|default|approx) FPM="DEFAULT" ;; - intel|i?86) FPM="INTEL" ;; - arm) FPM="ARM" ;; -+ avr32) FPM="AVR32" ;; - mips) FPM="MIPS" ;; - sparc) FPM="SPARC" ;; - ppc|powerpc) FPM="PPC" ;; -@@ -21498,6 +21499,7 @@ then - case "$host" in - i?86-*) FPM="INTEL" ;; - arm*-*) FPM="ARM" ;; -+ avr32*-*) FPM="AVR32" ;; - mips*-*) FPM="MIPS" ;; - sparc*-*) FPM="SPARC" ;; - powerpc*-*) FPM="PPC" ;; -@@ -21554,6 +21556,11 @@ then - ASO="$ASO -DASO_IMDCT" - ASO_OBJS="imdct_l_arm.lo" - ;; -+ avr32*-*) -+ ASO="$ASO -DASO_INTERLEAVE2" -+ ASO="$ASO -DASO_ZEROCHECK" -+ ASO_OBJS="dct32_avr32.lo synth_avr32.lo imdct_avr32.lo" -+ ;; - mips*-*) - ASO="$ASO -DASO_INTERLEAVE2" - ASO="$ASO -DASO_ZEROCHECK" -diff --git a/dct32_avr32.S b/dct32_avr32.S -new file mode 100644 -index 0000000..7513340 ---- /dev/null -+++ b/dct32_avr32.S -@@ -0,0 +1,780 @@ -+/* -+ Optimized 32-point Discrete Cosine Transform (DCT) -+ Copyright 2003-2006 Atmel Corporation. -+ -+ Written by Ronny Pedersen, Atmel Norway -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software -+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -+ -+#define SHIFT 12 -+#define MAD_F_SCALEBITS 28 -+#define SLOTS 8 -+ -+#define MAD_F(x) ((x + (1 << 15)) >> 16) -+ -+# define costab1 MAD_F(0x7fd8878e) -+# define costab2 MAD_F(0x7f62368f) -+# define costab3 MAD_F(0x7e9d55fc) -+# define costab4 MAD_F(0x7d8a5f40) -+# define costab5 MAD_F(0x7c29fbee) -+# define costab6 MAD_F(0x7a7d055b) -+# define costab7 MAD_F(0x78848414) -+# define costab8 MAD_F(0x7641af3d) -+# define costab9 MAD_F(0x73b5ebd1) -+# define costab10 MAD_F(0x70e2cbc6) -+# define costab11 MAD_F(0x6dca0d14) -+# define costab12 MAD_F(0x6a6d98a4) -+# define costab13 MAD_F(0x66cf8120) -+# define costab14 MAD_F(0x62f201ac) -+# define costab15 MAD_F(0x5ed77c8a) -+# define costab16 MAD_F(0x5a82799a) -+# define costab17 MAD_F(0x55f5a4d2) -+# define costab18 MAD_F(0x5133cc94) -+# define costab19 MAD_F(0x4c3fdff4) -+# define costab20 MAD_F(0x471cece7) -+# define costab21 MAD_F(0x41ce1e65) -+# define costab22 MAD_F(0x3c56ba70) -+# define costab23 MAD_F(0x36ba2014) -+# define costab24 MAD_F(0x30fbc54d) -+# define costab25 MAD_F(0x2b1f34eb) -+# define costab26 MAD_F(0x25280c5e) -+# define costab27 MAD_F(0x1f19f97b) -+# define costab28 MAD_F(0x18f8b83c) -+# define costab29 MAD_F(0x12c8106f) -+# define costab30 MAD_F(0x0c8bd35e) -+# define costab31 MAD_F(0x0647d97c) -+ -+ -+ .macro butterfly2_in out1, out2, out3, out4, in, idx_in1, idx_in2, idx_in3, idx_in4, coeff1, coeff2, tmplo, tmphi -+ mov \tmplo, \coeff1 -+ ld.w \out1, \in[\idx_in1 * 4] -+ ld.w \out2, \in[\idx_in2 * 4] -+ ld.w \out3, \in[\idx_in3 * 4] -+ ld.w \out4, \in[\idx_in4 * 4] -+ sub \tmphi, \out1, \out2 -+ add \out1, \out2 -+ mulsatrndwh.w \out2, \tmphi, \tmplo:b -+ -+ sub \tmphi, \out3, \out4 -+ mov \tmplo, \coeff2 -+ add \out3, \out4 -+ mulsatrndwh.w \out4, \tmphi, \tmplo:b -+ .endm -+ -+ .macro butterfly2 in1, in2, in3, in4, coeff1, tmplo, tmphi, tmp -+ mov \tmp, \coeff1 -+ sub \tmphi, \in1, \in2 -+ add \in1, \in2 -+ mulsatrndwh.w \in2, \tmphi, \tmp:b -+ -+ sub \tmphi, \in3, \in4 -+ add \in3, \in4 -+ mulsatrndwh.w \in4, \tmphi, \tmp:b -+ .endm -+ -+ .macro butterfly4 in1, in2, in3, in4, in5, in6, in7, in8, coeff1, tmplo, tmphi, tmp -+ mov \tmp, \coeff1 -+ sub \tmphi, \in1, \in2 -+ add \in1, \in2 -+ mulsatrndwh.w \in2, \tmphi, \tmp:b -+ -+ sub \tmphi, \in3, \in4 -+ add \in3, \in4 -+ mulsatrndwh.w \in4, \tmphi, \tmp:b -+ -+ sub \tmphi, \in5, \in6 -+ add \in5, \in6 -+ mulsatrndwh.w \in6, \tmphi, \tmp:b -+ -+ sub \tmphi, \in7, \in8 -+ add \in7, \in8 -+ mulsatrndwh.w \in8, \tmphi, \tmp:b -+ .endm -+ -+ .macro scale reg -+ .endm -+ -+/*void dct32( mad_fixed_t const in[32], unsigned int slot, -+ mad_fixed_t lo[16][8], mad_fixed_t hi[16][8]) */ -+ -+ .global dct32_avr32 -+dct32_avr32: -+ stm --sp, r0-r7, r9-r11, lr -+ -+ sub sp, 32*4 -+ -+/* t0 = in[0] + in[31]; t16 = MUL(in[0] - in[31], costab1); -+ t1 = in[15] + in[16]; t17 = MUL(in[15] - in[16], costab31); */ -+ butterfly2_in r4/*t0*/, r5/*t16*/, r6/*t1*/, r7/*t17*/, r12, 0, 31, 15, 16, costab1, costab31, r10, r11 -+ -+/* t41 = t16 + t17; -+ t59 = MUL(t16 - t17, costab2); -+ t33 = t0 + t1; -+ t50 = MUL(t0 - t1, costab2);*/ -+ butterfly2 r5/*t41*/, r7/*t59*/, r4/*t33*/, r6/*t50*/, costab2, r10, r11, lr -+ -+/* t2 = in[7] + in[24]; t18 = MUL(in[7] - in[24], costab15); -+ t3 = in[8] + in[23]; t19 = MUL(in[8] - in[23], costab17); */ -+ butterfly2_in r0/*t2*/, r1/*t18*/, r2/*t3*/, r3/*t19*/, r12, 7, 24, 8, 23, costab15, costab17, r10, r11 -+ -+/* t42 = t18 + t19; -+ t60 = MUL(t18 - t19, costab30); -+ t34 = t2 + t3; -+ t51 = MUL(t2 - t3, costab30); */ -+ butterfly2 r1/*t42*/, r3/*t60*/, r0/*t34*/, r2/*t51*/, costab30, r10, r11, lr -+ -+/* t73 = t41 + t42; t94 = MUL(t41 - t42, costab4); -+ t83 = t59 + t60; t106 = MUL(t59 - t60, costab4); */ -+ -+ -+/* t69 = t33 + t34; t89 = MUL(t33 - t34, costab4); -+ t78 = t50 + t51; t100 = MUL(t50 - t51, costab4); */ -+ butterfly4 r5/*t73*/, r1/*t94*/, r7/*t83*/, r3/*t106*/,r4/*t69*/, r0/*t89*/, r6/*t78*/, r2/*t100*/, costab4, r10, r11, lr -+ -+/* Store away the computed butterflies: -+ sp[0-7] = t83, t78, t73, t69, t106, t100, t94, t89 */ -+ stm sp, r0-r7 -+ -+ -+/* t4 = in[3] + in[28]; t20 = MUL(in[3] - in[28], costab7); -+ t5 = in[12] + in[19]; t21 = MUL(in[12] - in[19], costab25); */ -+ butterfly2_in r4/*t4*/, r5/*t20*/, r6/*t5*/, r7/*t21*/, r12, 3, 28, 12, 19, costab7, costab25, r10, r11 -+ -+/* t43 = t20 + t21; -+ t61 = MUL(t20 - t21, costab14); -+ t35 = t4 + t5; -+ t52 = MUL(t4 - t5, costab14); */ -+ butterfly2 r5/*t43*/, r7/*t61*/, r4/*t35*/, r6/*t52*/, costab14, r10, r11, lr -+ -+/* t6 = in[4] + in[27]; t22 = MUL(in[4] - in[27], costab9); -+ t7 = in[11] + in[20]; t23 = MUL(in[11] - in[20], costab23); */ -+ butterfly2_in r0/*t6*/, r1/*t22*/, r2/*t7*/, r3/*t23*/, r12, 4, 27, 11, 20, costab9, costab23, r10, r11 -+ -+/* t44 = t22 + t23; -+ t62 = MUL(t22 - t23, costab18); -+ t36 = t6 + t7; -+ t53 = MUL(t6 - t7, costab18); */ -+ butterfly2 r1/*t44*/, r3/*t62*/, r0/*t36*/, r2/*t53*/, costab18, r10, r11, lr -+ -+/* t74 = t43 + t44; t95 = MUL(t43 - t44, costab28); -+ t84 = t61 + t62; t107 = MUL(t61 - t62, costab28); */ -+ -+/* t70 = t35 + t36; t90 = MUL(t35 - t36, costab28); -+ t79 = t52 + t53; t101 = MUL(t52 - t53, costab28); */ -+ butterfly4 r5/*t74*/, r1/*t95*/, r7/*t84*/, r3/*t107*/, r4/*t70*/, r0/*t90*/, r6/*t79*/, r2/*t101*/, costab28, r10, r11, lr -+ -+/* Store away the computed butterflies: -+ sp[8-15] = t84, t79, t74, t70, t107, t101, t95, t90 */ -+ sub r10, sp, -8*4 -+ stm r10, r0-r7 -+ -+ -+/* t8 = in[1] + in[30]; t24 = MUL(in[1] - in[30], costab3); -+ t9 = in[14] + in[17]; t25 = MUL(in[14] - in[17], costab29); */ -+ butterfly2_in r4/*t8*/, r5/*t24*/, r6/*t9*/, r7/*t25*/, r12, 1, 30, 14, 17, costab3, costab29, r10, r11 -+ -+ -+/* t45 = t24 + t25; -+ t63 = MUL(t24 - t25, costab6); -+ t37 = t8 + t9; -+ t54 = MUL(t8 - t9, costab6); */ -+ butterfly2 r5/*t45*/, r7/*t63*/, r4/*t37*/, r6/*t54*/, costab6, r10, r11, lr -+ -+/* t10 = in[6] + in[25]; t26 = MUL(in[6] - in[25], costab13); -+ t11 = in[9] + in[22]; t27 = MUL(in[9] - in[22], costab19); */ -+ butterfly2_in r0/*t10*/, r1/*t26*/, r2/*t11*/, r3/*t27*/, r12, 6, 25, 9, 22, costab13, costab19, r10, r11 -+ -+/* t46 = t26 + t27; -+ t64 = MUL(t26 - t27, costab26); -+ t38 = t10 + t11; -+ t55 = MUL(t10 - t11, costab26); */ -+ butterfly2 r1/*t46*/, r3/*t64*/, r0/*t38*/, r2/*t55*/, costab26, r10, r11, lr -+ -+/* t75 = t45 + t46; t96 = MUL(t45 - t46, costab12); -+ t85 = t63 + t64; t108 = MUL(t63 - t64, costab12); */ -+ -+/* t71 = t37 + t38; t91 = MUL(t37 - t38, costab12); -+ t80 = t54 + t55; t102 = MUL(t54 - t55, costab12); */ -+ butterfly4 r5/*t75*/, r1/*t96*/, r7/*t85*/, r3/*t108*/, r4/*t71*/, r0/*t91*/, r6/*t80*/, r2/*t102*/, costab12, r10, r11, lr -+ -+/* Store away the computed butterflies: -+ sp[16-23] = t85, t80, t75, t71, t108, t102, t96, t91 */ -+ sub r10, sp, -16*4 -+ stm r10, r0-r7 -+ -+/* t12 = in[2] + in[29]; t28 = MUL(in[2] - in[29], costab5); -+ t13 = in[13] + in[18]; t29 = MUL(in[13] - in[18], costab27); */ -+ butterfly2_in r4/*t12*/, r5/*t28*/, r6/*t13*/, r7/*t29*/, r12, 2, 29, 13, 18, costab5, costab27, r10, r11 -+ -+/* t47 = t28 + t29; -+ t65 = MUL(t28 - t29, costab10); -+ t39 = t12 + t13; -+ t56 = MUL(t12 - t13, costab10); */ -+ butterfly2 r5/*t47*/, r7/*t65*/, r4/*t39*/, r6/*t56*/, costab10, r10, r11, lr -+ -+/* t14 = in[5] + in[26]; t30 = MUL(in[5] - in[26], costab11); -+ t15 = in[10] + in[21]; t31 = MUL(in[10] - in[21], costab21);*/ -+ butterfly2_in r0/*t14*/, r1/*t30*/, r2/*t15*/, r3/*t31*/, r12, 5, 26, 10, 21, costab11, costab21, r10, r11 -+ -+/* t48 = t30 + t31; -+ t66 = MUL(t30 - t31, costab22); -+ t40 = t14 + t15; -+ t57 = MUL(t14 - t15, costab22);*/ -+ butterfly2 r1/*t48*/, r3/*t66*/, r0/*t40*/, r2/*t57*/, costab22, r10, r11, lr -+ -+/* t76 = t47 + t48; t97 = MUL(t47 - t48, costab20); -+ t86 = t65 + t66; t109 = MUL(t65 - t66, costab20);*/ -+ -+/* t72 = t39 + t40; t92 = MUL(t39 - t40, costab20); -+ t81 = t56 + t57; t103 = MUL(t56 - t57, costab20);*/ -+ butterfly4 r5/*t76*/, r1/*t97*/, r7/*t86*/, r3/*t109*/,r4/*t72*/, r0/*t92*/, r6/*t81*/, r2/*t103*/, costab20, r10, r11, lr -+ -+/* Store away the computed butterflies: -+ sp[24-31] = t86, t81, t76, t72, t109, t103, t97, t92 */ -+ sub r10, sp, -24*4 -+ stm r10, r0-r7 -+ -+/* We now have the following on the stack: -+ -+ sp[0-7] = t83, t78, t73, t69, t106, t100, t94, t89 -+ sp[8-15] = t84, t79, t74, t70, t107, t101, t95, t90 -+ sp[16-23] = t85, t80, t75, t71, t108, t102, t96, t91 -+ sp[24-31] = t86, t81, t76, t72, t109, t103, t97, t92 */ -+ -+/* Load {r0...r7} = { t72, t76, t71, t75, t70, t74, t69, t73 } */ -+ ld.d r6, sp[2*4] -+ ld.d r4, sp[10*4] -+ ld.d r2, sp[18*4] -+ ld.d r0, sp[26*4] -+ -+ -+/* t113 = t69 + t70; -+ t141 = MUL(t69 - t70, costab8); -+ -+ t115 = t73 + t74; -+ t144 = MUL(t73 - t74, costab8); */ -+ butterfly2 r6/*t113*/, r4/*t141*/, r7/*t115*/, r5/*t144*/, costab8, r10, r11, lr -+ -+/* t114 = t71 + t72; -+ t142 = MUL(t71 - t72, costab24); -+ -+ t116 = t75 + t76; -+ t145 = MUL(t75 - t76, costab24); */ -+ butterfly2 r2/*t114*/, r0/*t142*/, r3/*t116*/, r1/*t145*/, costab24, r10, r11, lr -+ -+ -+/* -+ t191 = t113 + t114; -+ t192 = MUL(t113 - t114, costab16) -+ -+ t32 = t115 + t116; -+ t177 = MUL(t115 - t116, costab16) ; -+ -+ t143 = t141 + t142; -+ t190 = MUL(t141 - t142, costab16) ; -+ -+ t146 = t144 + t145; -+ t184 = MUL(t144 - t145, costab16) ; */ -+ butterfly4 r6/*t191*/, r2/*t192*/, r7/*t32*/, r3/*t177*/, r4/*t143*/, r0/*190*/, r5/*t146*/, r1/*t184*/, costab16, r10, r11, lr -+ -+/* Store away the computed butterflies: -+ sp[2-3] = t32, t191 -+ sp[10-11] = t146, t143 -+ sp[18-19] = t177, t192 -+ sp[26-27] = t184, t190 */ -+ st.d sp[2*4] , r6 -+ st.d sp[10*4], r4 -+ st.d sp[18*4], r2 -+ st.d sp[26*4], r0 -+ -+/* Load {r0...r7} = { t81, t86, t80, t85, t79, t84, t78, t83 } */ -+ ld.d r6, sp[0*4] -+ ld.d r4, sp[8*4] -+ ld.d r2, sp[16*4] -+ ld.d r0, sp[24*4] -+ -+ -+/* t118 = t78 + t79; -+ t148 = MUL(t78 - t79, costab8); -+ -+ t121 = t83 + t84; -+ t152 = MUL(t83 - t84, costab8); */ -+ butterfly2 r6/*t118*/, r4/*t148*/, r7/*t121*/, r5/*t152*/, costab8, r10, r11, lr -+ -+/* t119 = t80 + t81; -+ t149 = MUL(t80 - t81, costab24); -+ -+ t122 = t85 + t86; -+ t153 = MUL(t85 - t86, costab24); */ -+ butterfly2 r2/*t119*/, r0/*t149*/, r3/*t122*/, r1/*t153*/, costab24, r10, r11, lr -+ -+ -+ -+/* t58 = t118 + t119; -+ t178 = MUL(t118 - t119, costab16) ; -+ -+ t67 = t121 + t122; -+ t179 = MUL(t121 - t122, costab16) ; -+ -+ t150 = t148 + t149; -+ t185 = MUL(t148 - t149, costab16) ; -+ -+ t154 = t152 + t153; -+ t186 = MUL(t152 - t153, costab16) ; */ -+ butterfly4 r6/*t58*/, r2/*t178*/, r7/*t67*/, r3/*t179*/, r4/*t150*/, r0/*185*/, r5/*t154*/, r1/*t186*/, costab16, r10, r11, lr -+ -+/* Store away the computed butterflies: -+ sp[0-1] = t67, t58 -+ sp[8-9] = t154, t150 -+ sp[16-17] = t179, t178 -+ sp[24-25] = t186, t185 */ -+ st.d sp[0*4] , r6 -+ st.d sp[8*4], r4 -+ st.d sp[16*4], r2 -+ st.d sp[24*4], r0 -+ -+/* Load {r0...r7} = { t92, t97, t91, t96, t90, t95, t89, t94 } */ -+ ld.d r6, sp[6*4] -+ ld.d r4, sp[14*4] -+ ld.d r2, sp[22*4] -+ ld.d r0, sp[30*4] -+ -+ -+/* t125 = t89 + t90; -+ t157 = MUL(t89 - t90, costab8); -+ -+ t128 = t94 + t95; -+ t161 = MUL(t94 - t95, costab8); */ -+ butterfly2 r6/*t125*/, r4/*t157*/, r7/*t128*/, r5/*t161*/, costab8, r10, r11, lr -+ -+/* t126 = t91 + t92; -+ t158 = MUL(t91 - t92, costab24); -+ -+ t129 = t96 + t97; -+ t162 = MUL(t96 - t97, costab24); */ -+ butterfly2 r2/*t126*/, r0/*t158*/, r3/*t129*/, r1/*t162*/, costab24, r10, r11, lr -+ -+ -+/* -+ t93 = t125 + t126; -+ t180 = MUL(t125 - t126, costab16) ; -+ -+ t98 = t128 + t129; -+ t181 = MUL(t128 - t129, costab16) ; -+ -+ t159 = t157 + t158; -+ t187 = MUL(t157 - t158, costab16) ; -+ -+ t163 = t161 + t162; -+ t188 = MUL(t161 - t162, costab16) ; */ -+ butterfly4 r6/*t93*/, r2/*t180*/, r7/*t98*/, r3/*t181*/, r4/*t159*/, r0/*187*/, r5/*t163*/, r1/*t188*/, costab16, r10, r11, lr -+ -+ -+/* Store away the computed butterflies: -+ sp[6-7] = t98, t93 -+ sp[14-15] = t163, t159 -+ sp[22-23] = t181, t180 -+ sp[30-31] = t188, t187 */ -+ st.d sp[6*4] , r6 -+ st.d sp[14*4], r4 -+ st.d sp[22*4], r2 -+ st.d sp[30*4], r0 -+ -+/* Load {r0...r7} = { t103, t109, t102, t108, t101, t107, t100, t106 } */ -+ ld.d r6, sp[4*4] -+ ld.d r4, sp[12*4] -+ ld.d r2, sp[20*4] -+ ld.d r0, sp[28*4] -+ -+ -+ -+/* t132 = t100 + t101; -+ t166 = MUL(t100 - t101, costab8); -+ -+ t136 = t106 + t107; -+ t171 = MUL(t106 - t107, costab8); */ -+ butterfly2 r6/*t132*/, r4/*t166*/, r7/*t136*/, r5/*t171*/, costab8, r10, r11, lr -+ -+/* t133 = t102 + t103; -+ t167 = MUL(t102 - t103, costab24); -+ -+ t137 = t108 + t109; -+ t172 = MUL(t108 - t109, costab24);*/ -+ butterfly2 r2/*t133*/, r0/*t167*/, r3/*t137*/, r1/*t172*/, costab24, r10, r11, lr -+ -+ -+/* t104 = t132 + t133; -+ t182 = MUL(t132 - t133, costab16) ; -+ -+ t110 = t136 + t137; -+ t183 = MUL(t136 - t137, costab16) ; -+ -+ t168 = t166 + t167; -+ t189 = MUL(t166 - t167, costab16) ; -+ -+ t173 = t171 + t172; -+ t208 = MUL(t171 - t172, costab16) ; */ -+ butterfly4 r6/*t104*/, r2/*t182*/, r7/*t110*/, r3/*t183*/, r4/*t168*/, r0/*189*/, r5/*t173*/, r1/*t208*/, costab16, r10, r11, lr -+ -+/* Store away the computed butterflies: -+ sp[4-5] = t110, t104 -+ sp[12-13] = t173, t168 -+ sp[20-21] = t183, t182 -+ sp[28-29] = t208, t189 */ -+ st.d sp[4*4] , r6 -+ st.d sp[12*4], r4 -+ st.d sp[20*4], r2 -+ st.d sp[28*4], r0 -+ -+/* Now we have the following stack -+ -+ sp[0-7] = t67, t58 , t32, t191, t110, t104, t98, t93 -+ sp[8-15] = t154, t150, t146, t143, t173, t168, t163, t159 -+ sp[16-23] = t179, t178, t177, t192, t183, t182, t181, t180 -+ sp[24-31] = t186, t185, t184, t190, t208, t189, t188, t187 -+*/ -+ -+ /* Get slot, lo and hi from stack */ -+ lddsp lr, sp[32*4 + 4] /*slot*/ -+ lddsp r12, sp[32*4 + 8] /*lo*/ -+ lddsp r11, sp[32*4 + 12] /*hi*/ -+ -+ add r12, r12, lr << 2 -+ add r11, r11, lr << 2 -+ -+ -+/* t49 = -(t67 * 2) + t32; -+ hi[14][slot] = SHIFT(t32); -+ t87 = -(t110 * 2) + t67; -+ t138 = -(t173 * 2) + t110; -+ t203 = -(t208 * 2) + t173; */ -+ -+ lddsp r0/*t67*/, sp[0] -+ lddsp r1/*t32*/, sp[2*4] -+ lddsp r2/*t110*/, sp[4*4] -+ lddsp r3/*t173*/, sp[12*4] -+ lddsp r5/*t208*/, sp[28*4] -+ -+ sub r4/*t49*/, r1, r0 << 1 -+ scale r1 -+ sub r0/*t87*/, r0, r2 << 1 -+ st.w r11[14*SLOTS*4], r1 -+ sub r2/*t138*/, r2, r3 << 1 -+ sub r1/*t203*/, r3, r5 << 1 -+ -+/* Live: r0 = t87, r1= t203, r2= t138, r4 = t49 -+ Free: r3, r5, r6, r7, r8, r9, r10, lr */ -+ -+/* t68 = (t98 * 2) + t49; -+ hi[12][slot] = SHIFT(-t49); -+ t130 = -(t163 * 2) + t98; -+ t201 = -(t188 * 2) + t163; -+ t200 = -(t186 * 2) + t154; -+ t111 = (t154 * 2) + t87; -+ t77 = -(-(t87 * 2) - t68); -+ t88 = (t146 * 2) + t77; -+ t199 = -(t184 * 2) + t146; -+ hi[ 8][slot] = SHIFT(-t77); -+ hi[10][slot] = SHIFT(t68);*/ -+ lddsp r3/*t98*/, sp[6*4] -+ lddsp r5/*t163*/, sp[14*4] -+ lddsp r6/*t188*/, sp[30*4] -+ lddsp r10/*t186*/, sp[24*4] -+ -+ add r7/*t68*/, r4, r3 << 1 -+ neg r4 -+ scale r4 -+ lddsp r9/*t154*/, sp[8*4] -+ sub r3/*t130*/, r3, r5 << 1 -+ st.w r11[12*SLOTS*4], r4 -+ sub r8/*t201*/, r5, r6 << 1 -+ sub r4/*t200*/, r9, r10 << 1 -+ lddsp lr/*t146*/, sp[10*4] -+ lddsp r6/*t184*/, sp[26*4] -+ add r10/*t111*/, r0, r9 << 1 -+ add r5/*t77*/,r7, r0 << 1 -+ add r0/*t88*/, r5, lr << 1 -+ sub r6/*t199*/, lr, r6 << 1 -+ neg r5 -+ scale r5 -+ scale r7 -+ st.w r11[8*SLOTS*4], r5 -+ st.w r11[10*SLOTS*4], r7 -+ -+/* Live: r0 = t88, r1= t203, r2= t138, r3 = t130, r4 = t200, -+ r6 = 199, r8 = t201, r10 = t111 -+ Free: r5, r7, r9, lr */ -+ -+ -+/* -+ t123 = -(-(t138 * 2) - t111); -+ t174 = (t183 * 2) + t138; -+ t99 = -(t111 * 2) + t88; -+ hi[ 6][slot] = SHIFT(t88); */ -+ lddsp r5/*t183*/, sp[20*4] -+ -+ add r7/*t123*/, r10, r2 << 1 -+ sub r10/*t99*/, r0, r10 << 1 -+ scale r0 -+ add r2/*t174*/, r2, r5 << 1 -+ st.w r11[6*SLOTS*4], r0 -+ -+/* Live: r1 = t203, r2 = t174, r3 = t130, r4 = t200, -+ r6 = t199, r7 = t123, r8 = t201, r10 = t99 -+ Free: r0, r5, r9, lr */ -+ -+/* t112 = -(t130 * 2) + t99; -+ t164 = (t181 * 2) + t130; -+ hi[ 4][slot] = SHIFT(-t99); */ -+ lddsp r0/*t181*/, sp[22*4] -+ -+ sub r5/*t112*/, r10, r3 << 1 -+ neg r10 -+ scale r10 -+ add r3/*164*/, r3, r0 << 1 -+ st.w r11[4*SLOTS*4], r10 -+ -+/* Live: r1 = t203, r2 = t174, r3 = t164, r4 = t200, -+ r5 = t112, r6 = t199, r7 = t123, r8 = t201 -+ Free: r0, r9, r10, lr */ -+ -+ -+/* t117 = -(-(t123 * 2) - t112); -+ t139 = (t179 * 2) + t123; -+ hi[ 2][slot] = SHIFT(t112); */ -+ lddsp r0/*t179*/, sp[16*4] -+ -+ add r9/*t117*/, r5, r7 << 1 -+ scale r5 -+ add r7/*t139*/, r7, r0 << 1 -+ st.w r11[2*SLOTS*4], r5 -+ -+/* Live: r1 = t203, r2 = t174, r3 = t164, r4 = t200, -+ r6 = t199, r7 = t139, r8 = t201, r9 = t117 -+ Free: r0, r5, r10, lr */ -+ -+/* t155 = -(t174 * 2) + t139; -+ t204 = -(-(t203 * 2) - t174); -+ t124 = (t177 * 2) + t117; -+ hi[ 0][slot] = SHIFT(-t117); -+ t131 = -(t139 * 2) + t124; -+ lo[ 1][slot] = SHIFT(t124);*/ -+ lddsp r0/*t177*/, sp[18*4] -+ -+ sub r5/*t155*/, r7, r2 << 1 -+ add r2/*t204*/, r2, r1 << 1 -+ add r0/*t124*/, r9, r0 << 1 -+ neg r9 -+ scale r9 -+ sub r7/*t131*/, r0, r7 << 1 -+ scale r0 -+ st.w r11[0*SLOTS*4], r9 -+ st.w r12[1*SLOTS*4], r0 -+ -+/* Live: r2 = t204, r3 = t164, r4 = t200, -+ r5 = t155, r6 = t199, r7 = t131, r8 = t201 -+ Free: r0, r1, r9, r10, lr */ -+ -+/* t140 = (t164 * 2) + t131; -+ lo[ 3][slot] = SHIFT(-t131); -+ t202 = -(-(t201 * 2) - t164); */ -+ add r0/*t140*/, r7, r3 << 1 -+ neg r7 -+ scale r7 -+ add r3/*t202*/, r3, r8 << 1 -+ st.w r12[3*SLOTS*4], r7 -+ -+/* Live: r0 = t140, r2 = t204, r3 = t202, r4 = t200, -+ r5 = t155, r6 = t199 -+ Free: r1, r7, r8, r9, r10, lr */ -+ -+ -+/* t147 = -(-(t155 * 2) - t140); -+ lo[ 5][slot] = SHIFT(t140); -+ t175 = -(t200 * 2) + t155; -+ t156 = -(t199 * 2) + t147; -+ lo[ 7][slot] = SHIFT(-t147); */ -+ add r1/*t147*/, r0, r5 << 1 -+ scale r0 -+ sub r5/*t175*/, r5, r4 << 1 -+ sub r4/*156*/, r1, r6 << 1 -+ neg r1 -+ scale r1 -+ st.w r12[5*SLOTS*4], r0 -+ st.w r12[7*SLOTS*4], r1 -+ -+/* Live: r2 = t204, r3 = t202, -+ r4 = t156, r5 = t175 -+ Free: r0, r1, r6, r7, r8, r9, r10, lr */ -+ -+ -+/* t205 = -(-(t204 * 2) - t175); -+ t165 = -(t175 * 2) + t156; -+ lo[ 9][slot] = SHIFT(t156); -+ t176 = -(t202 * 2) + t165; -+ lo[11][slot] = SHIFT(-t165); -+ t206 = -(-(t205 * 2) - t176); -+ lo[15][slot] = SHIFT(-t206) -+ lo[13][slot] = SHIFT(t176) */ -+ add r0/*t205*/, r5, r2 << 1 -+ sub r1/*t165*/, r4, r5 << 1 -+ scale r4 -+ sub r3/*t176*/, r1, r3 << 1 -+ st.w r12[9*SLOTS*4], r4 -+ neg r1 -+ scale r1 -+ add r6/*t206*/, r3, r0 << 1 -+ neg r6 -+ scale r6 -+ scale r3 -+ st.w r12[11*SLOTS*4], r1 -+ st.w r12[15*SLOTS*4], r6 -+ st.w r12[13*SLOTS*4], r3 -+ -+/* t193 = -((t190 * 2) - t143) -+ hi[ 7][slot] = SHIFT(t143); -+ lo[ 8][slot] = SHIFT(-t193); -+ t82 = -(t104 * 2) + t58; -+ hi[13][slot] = SHIFT(t58); -+ t134 = -(t168 * 2) + t104; -+ t196 = -(t189 * 2) + t168; */ -+ -+ lddsp r0/*t190*/, sp[27*4] -+ lddsp r1/*t143*/, sp[11*4] -+ lddsp r2/*t104*/, sp[5*4] -+ lddsp r3/*t58*/, sp[1*4] -+ lddsp r4/*t168*/, sp[13*4] -+ lddsp r5/*t189*/, sp[29*4] -+ sub r0/*t193*/, r1, r0 << 1 -+ neg r0 -+ scale r1 -+ scale r0 -+ st.w r11[7*SLOTS*4], r1 -+ st.w r12[8*SLOTS*4], r0 -+ sub r0/*t82*/, r3, r2 << 1 -+ scale r3 -+ sub r2/*t134*/, r2, r4 << 1 -+ sub r4/*t196*/, r4, r5 << 1 -+ st.w r11[13*SLOTS*4], r3 -+ -+/* Live: r0 = t82, r2 = t134, -+ r4 = t196 -+ Free: r1, r3, r5, r6, r7, r8, r9, r10, lr */ -+ -+ -+ -+/* -+ -+ t207 = -(t185 * 2) + t150; -+ t105 = (t150 * 2) + t82; -+ hi[ 9][slot] = SHIFT(-t82); -+ t120 = -(-(t134 * 2) - t105); -+ hi[ 5][slot] = SHIFT(t105); -+ t169 = (t182 * 2) + t134; -+ -+ t135 = (t178 * 2) + t120; -+ hi[ 1][slot] = SHIFT(-t120); -+ t197 = -(-(t196 * 2) - t169); -+ t151 = -(t169 * 2) + t135; -+ lo[ 2][slot] = SHIFT(t135); */ -+ lddsp r1/*t185*/, sp[25*4] -+ lddsp r3/*t150*/, sp[9*4] -+ lddsp r5/*t182*/, sp[21*4] -+ lddsp r8/*t178*/, sp[17*4] -+ -+ sub r6/*t207*/, r3, r1 << 1 -+ add r3/*t105*/, r0, r3 << 1 -+ neg r0 -+ scale r0 -+ add r7/*t120*/, r3, r2 << 1 -+ scale r3 -+ st.w r11[9*SLOTS*4], r0 -+ st.w r11[5*SLOTS*4], r3 -+ add r2/*t169*/, r2, r5 << 1 -+ add r8/*t135*/, r7, r8 << 1 -+ neg r7 -+ scale r7 -+ add r4/*t197*/, r2, r4 << 1 -+ sub r2/*t151*/, r8, r2 << 1 -+ scale r8 -+ st.w r11[1*SLOTS*4], r7 -+ st.w r12[2*SLOTS*4], r8 -+ -+/* Live: r2 = t151, r4 = t197, r6 = t207 -+ -+ Free: r0, r1, r3, r5, r7, r8, r9, r10, lr */ -+ -+ -+ -+/* t170 = -(t207 * 2) + t151; -+ lo[ 6][slot] = SHIFT(-t151); -+ -+ t198 = -(-(t197 * 2) - t170); -+ lo[10][slot] = SHIFT(t170); -+ lo[14][slot] = SHIFT(-t198); -+ -+ t127 = -(t159 * 2) + t93; -+ hi[11][slot] = SHIFT(t93); -+ t194 = -(t187 * 2) + t159; */ -+ lddsp r0/*t159*/, sp[15*4] -+ lddsp r1/*t93*/, sp[7*4] -+ lddsp r3/*t187*/, sp[31*4] -+ sub r5/*t170*/, r2, r6 << 1 -+ neg r2 -+ scale r2 -+ add r4/*t198*/,r5, r4 << 1 -+ neg r4 -+ scale r5 -+ scale r4 -+ st.w r12[6*SLOTS*4], r2 -+ st.w r12[10*SLOTS*4], r5 -+ st.w r12[14*SLOTS*4], r4 -+ sub r7/*t127*/, r1, r0 << 1 -+ scale r1 -+ sub r0/*t194*/, r0, r3 << 1 -+ st.w r11[11*SLOTS*4], r1 -+ -+ -+/* Live: r0 = t194, r7 = t127 -+ Free: r1, r2, r3, r4, r6, r5, r8, r9, r10, lr */ -+ -+/* t160 = (t180 * 2) + t127; -+ hi[ 3][slot] = SHIFT(-t127); -+ t195 = -(-(t194 * 2) - t160); -+ lo[ 4][slot] = SHIFT(t160); -+ lo[12][slot] = SHIFT(-t195); -+ -+ hi[15][slot] = SHIFT(t191); -+ lo[ 0][slot] = SHIFT(t192); */ -+ lddsp r1/*t180*/, sp[23*4] -+ lddsp r2/*t191*/, sp[3*4] -+ lddsp r3/*t192*/, sp[19*4] -+ add r4/*t160*/, r7, r1 << 1 -+ neg r7 -+ scale r7 -+ add r6/*t195*/, r4, r0 << 1 -+ scale r4 -+ neg r6 -+ scale r6 -+ st.w r11[3*SLOTS*4], r7 -+ st.w r12[4*SLOTS*4], r4 -+ st.w r12[12*SLOTS*4], r6 -+ scale r2 -+ scale r3 -+ st.w r11[15*SLOTS*4], r2 -+ st.w r12[0*SLOTS*4], r3 -+ -+ sub sp, -32*4 -+ ldm sp++,r0-r7, r9-r11, pc -diff --git a/fixed.h b/fixed.h -index 4b58abf..0a1350a 100644 ---- a/fixed.h -+++ b/fixed.h -@@ -237,6 +237,46 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t x, mad_fixed_t y) - # define MAD_F_SCALEBITS MAD_F_FRACBITS - # endif - -+/* --- AVR32 ----------------------------------------------------------------- */ -+ -+# elif defined(FPM_AVR32) -+ -+typedef signed short mad_coeff_t; -+ -+struct DWstruct {int high, low;}; -+ -+typedef union { -+ struct DWstruct s; -+ long long ll; -+} DWunion; -+ -+# define MAD_F_MLX(hi, lo, x, y) \ -+ { register DWunion __res; \ -+ __res.ll = (long long)x * (long long)y; \ -+ /* asm ("muls.d\t%0, %1, %2" : "=r" (__res.ll) : "r" (x), "r" (y));*/ \ -+ hi = __res.s.high; \ -+ lo = __res.s.low; } -+ -+# define MAD_F_MLA(hi, lo, x, y) \ -+ { register DWunion __res; \ -+ __res.s.high = hi; \ -+ __res.s.low = lo; \ -+ __res.ll += (long long)x * (long long)y; \ -+/* asm ("macs.d\t%0, %1, %2" : "+r" (__res.ll) : "r" (x), "r" (y));*/ \ -+ hi = __res.s.high; \ -+ lo = __res.s.low; } -+ -+ -+# define MAD_F_MLN(hi, lo) \ -+ asm ("neg %0\n" \ -+ "acr %1\n" \ -+ "neg %1" \ -+ : "+r" (lo), "+r" (hi) \ -+ :: "cc") -+ -+ -+# define MAD_F_SCALEBITS MAD_F_FRACBITS -+ - /* --- ARM ----------------------------------------------------------------- */ - - # elif defined(FPM_ARM) -@@ -433,6 +473,8 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t x, mad_fixed_t y) - * - * Pre-rounding is required to stay within the limits of compliance. - */ -+typedef signed int mad_coeff_t; -+ - # if defined(OPT_SPEED) - # define mad_f_mul(x, y) (((x) >> 12) * ((y) >> 16)) - # else -diff --git a/imdct_avr32.S b/imdct_avr32.S -new file mode 100644 -index 0000000..d0ee6b4 ---- /dev/null -+++ b/imdct_avr32.S -@@ -0,0 +1,789 @@ -+/* -+ Optimized 36-point Inverse Modified Cosine Transform (IMDCT) -+ Copyright 2003-2006 Atmel Corporation. -+ -+ Written by Ronny Pedersen, Atmel Norway -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software -+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -+ -+#define MAD_F(x) ((x + (1 << 13)) >> 14) -+ -+ .public imdct36_avr32 -+ -+/* -+ void imdct36(mad_fixed_t const x[18], mad_fixed_t y[36]) -+ { -+ mad_fixed_t tmp[18]; -+ int i; -+*/ -+/* DCT-IV */ -+imdct36_avr32: -+ pushm r0-r7,r11,lr -+ sub sp, 4*18 -+/* -+ { -+ mad_fixed_t tmp2[18]; -+ int i; -+ -+ /* scale[i] = 2 * cos(PI * (2 * i + 1) / (4 * 18)) */ -+/* -+ static mad_fixed_t const scale[18] = { -+ MAD_F(0x1ff833fa), MAD_F(0x1fb9ea93), MAD_F(0x1f3dd120), -+ MAD_F(0x1e84d969), MAD_F(0x1d906bcf), MAD_F(0x1c62648b), -+ MAD_F(0x1afd100f), MAD_F(0x1963268b), MAD_F(0x1797c6a4), -+ MAD_F(0x159e6f5b), MAD_F(0x137af940), MAD_F(0x11318ef3), -+ MAD_F(0x0ec6a507), MAD_F(0x0c3ef153), MAD_F(0x099f61c5), -+ MAD_F(0x06ed12c5), MAD_F(0x042d4544), MAD_F(0x0165547c) -+ }; -+*/ -+ -+ /* scaling */ -+ -+/* -+ for (i = 0; i < 18; i += 3) { -+ tmp2[i + 0] = mad_f_mul(x[i + 0], scale[i + 0]); -+ tmp2[i + 1] = mad_f_mul(x[i + 1], scale[i + 1]); -+ tmp2[i + 2] = mad_f_mul(x[i + 2], scale[i + 2]); -+ } -+*/ -+ /* even input butterfly */ -+ -+/* -+ for (i = 0; i < 9; i += 3) { -+ tmp3[i + 0] = tmp2[i + 0] + tmp2[18 - (i + 0) - 1]; -+ tmp3[i + 1] = tmp2[i + 1] + tmp2[18 - (i + 1) - 1]; -+ tmp3[i + 2] = tmp2[i + 2] + tmp2[18 - (i + 2) - 1]; -+ } -+ for (i = 0; i < 9; i += 3) { -+ tmp4[i + 0] = tmp2[i + 0] - tmp2[18 - (i + 0) - 1]; -+ tmp4[i + 1] = tmp2[i + 1] - tmp2[18 - (i + 1) - 1]; -+ tmp4[i + 2] = tmp2[i + 2] - tmp2[18 - (i + 2) - 1]; -+ } -+*/ -+ -+ ld.d r8, r12[0] /*r8 = x[1], r9 = x[0]*/ -+ ld.d r0, pc[scale_dctIV - .] /*r0 = {scale[2], scale[3]}, r1 = { scale[0], scale[1] }*/ -+ ld.d r2, r12[2*4] /*r2 = x[3], r3 = x[2]*/ -+ ld.d r4, pc[scale_dctIV - . + 14*2] /*r4 = {scale[16], scale[17]}, r5 = { scale[14], scale[15] }*/ -+ mulsatrndwh.w r9/*tmp2[0]*/, r9, r1:t /*tmp2[0] = mad_f_mul(x[0], scale[0]) */ -+ ld.d r6, r12[16*4] /*r6 = x[17], r7 = x[16]*/ -+ mulsatrndwh.w r8/*tmp2[1]*/, r8, r1:b /*tmp2[1] = mad_f_mul(x[1], scale[1]) */ -+ mulsatrndwh.w r3/*tmp2[2]*/, r3, r0:t /*tmp2[2] = mad_f_mul(x[2], scale[2]) */ -+ mulsatrndwh.w r2/*tmp2[3]*/, r2, r0:b /*tmp2[3] = mad_f_mul(x[3], scale[3]) */ -+ ld.d r0, r12[14*4] /*r0 = x[15], r1 = x[14]*/ -+ mulsatrndwh.w r7/*tmp2[16]*/, r7, r4:t /*tmp2[16] = mad_f_mul(x[16], scale[16]) */ -+ mulsatrndwh.w r6/*tmp2[17]*/, r6, r4:b /*tmp2[17] = mad_f_mul(x[17], scale[17]) */ -+ mulsatrndwh.w r1/*tmp2[14]*/, r1, r5:t /*tmp2[14] = mad_f_mul(x[14], scale[14]) */ -+ mulsatrndwh.w r0/*tmp2[15]*/, r0, r5:b /*tmp2[15] = mad_f_mul(x[15], scale[15]) */ -+ -+ ld.d r4, r12[4*4] /*r4 = x[5], r5 = x[4]*/ -+ -+ sub lr/*tmp4[0]*/, r9, r6 -+ add r6/*tmp3[0]*/, r9, r6 -+ sub r10/*tmp4[1]*/, r8, r7 -+ add r7/*tmp3[1]*/, r8, r7 -+ sub r9/*tmp4[2]*/, r3, r0 -+ add r0/*tmp3[2]*/, r3, r0 -+ sub r8/*tmp4[3]*/, r2, r1 -+ add r1/*tmp3[3]*/, r2, r1 -+ -+ ld.d r2, pc[scale_dctIV - . + 4*2] /*r2 = {scale[6], scale[7]}, r3 = { scale[4], scale[5] }*/ -+ -+ stm --sp, r8-r10, lr /*sp[0] = tmp4[0],sp[1] = tmp4[1], -+ sp[2] = tmp4[2],sp[3] = tmp4[3] */ -+ -+ /* Registers used: r0 = tmp3[2], r1 = tmp3[3], r6 = tmp3[0], r7 = tmp3[1], r12 = x -+ Free registers: r2-r5, r8-r11, lr -+ */ -+ ld.d r8, r12[6*4] /*r8 = x[7], r9 = x[6]*/ -+ ld.d r10, pc[scale_dctIV - . + 10*2] /*r10 = {scale[12], scale[13]}, r11 = { scale[10], scale[11] }*/ -+ mulsatrndwh.w r5/*tmp2[4]*/, r5, r3:t /*tmp2[4] = mad_f_mul(x[4], scale[4]) */ -+ mulsatrndwh.w r4/*tmp2[5]*/, r4, r3:b /*tmp2[5] = mad_f_mul(x[5], scale[5]) */ -+ mulsatrndwh.w r9/*tmp2[6]*/, r9, r2:t /*tmp2[6] = mad_f_mul(x[6], scale[6]) */ -+ mulsatrndwh.w r8/*tmp2[7]*/, r8, r2:b /*tmp2[7] = mad_f_mul(x[7], scale[7]) */ -+ -+ ld.d r2, r12[12*4] /*r2 = x[13], r3 = x[12]*/ -+ ld.w lr, r12[11*4] /*lr = x[11] */ -+ mulsatrndwh.w r3/*tmp2[12]*/, r3, r10:t /*tmp2[12] = mad_f_mul(x[12], scale[12]) */ -+ mulsatrndwh.w r2/*tmp2[13]*/, r2, r10:b /*tmp2[13] = mad_f_mul(x[13], scale[13]) */ -+ ld.w r10, r12[10*4] /*r10 = x[10] */ -+ mulsatrndwh.w lr/*tmp2[11]*/, lr, r11:b /*tmp2[11] = mad_f_mul(x[11], scale[11]) */ -+ mulsatrndwh.w r10/*tmp2[10]*/, r10, r11:t /*tmp2[10] = mad_f_mul(x[10], scale[10]) */ -+ -+ sub r11/*tmp4[4]*/, r5, r2 -+ add r2/*tmp3[4]*/, r5, r2 -+ sub r5/*tmp4[5]*/, r4, r3 -+ add r3/*tmp3[5]*/, r4, r3 -+ sub r4/*tmp4[6]*/, r9, lr -+ add lr/*tmp3[6]*/, r9, lr -+ sub r9/*tmp4[7]*/, r8, r10 -+ add r10/*tmp3[7]*/, r8, r10 -+ lddpc r8, scale_dctIV + 8*2 /*r8 = {scale[8], scale[9]} */ -+ -+ stm --sp, r4, r5, r9, r11 /*sp[0] = tmp4[4],sp[1] = tmp4[7], -+ sp[2] = tmp4[5],sp[3] = tmp4[6] */ -+ ld.d r4, r12[8*4] /*r4 = x[9], r5 = x[8]*/ -+ mulsatrndwh.w r5/*tmp2[8]*/, r5, r8:t /*tmp2[8] = mad_f_mul(x[8], scale[8]) */ -+ mulsatrndwh.w r4/*tmp2[9]*/, r4, r8:b /*tmp2[9] = mad_f_mul(x[9], scale[9]) */ -+ sub r9/*tmp4[8]*/, r5, r4 -+ add r5/*tmp3[8]*/, r5, r4 -+ -+ st.w --sp, r9 /* sp[0] = tmp4[8] */ -+ -+ /* Registers used: -+ -+ r0=tmp3[2], r1=tmp3[3], r2=tmp3[4], r3=tmp3[5], r5=tmp3[8], r6 = tmp3[0], -+ r7 = tmp3[1], r10=tmp3[7], lr=tmp3[6] -+ Free registers: -+ r4, r8, r9, r11, r12 -+ */ -+ -+ -+ /* SDCT-II */ -+/* -+ -+ { -+ mad_fixed_t tmp3[9]; -+ int i; -+*/ -+ /* scale[i] = 2 * cos(PI * (2 * i + 1) / (2 * 18)) */ -+/* -+ static mad_fixed_t const scale[9] = { -+ MAD_F(0x1fe0d3b4), MAD_F(0x1ee8dd47), MAD_F(0x1d007930), -+ MAD_F(0x1a367e59), MAD_F(0x16a09e66), MAD_F(0x125abcf8), -+ MAD_F(0x0d8616bc), MAD_F(0x08483ee1), MAD_F(0x02c9fad7) -+ }; -+*/ -+ /* divide the 18-point SDCT-II into two 9-point SDCT-IIs */ -+ -+ -+ /* fastdct */ -+ -+/* -+ { -+ mad_fixed_t a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12; -+ mad_fixed_t a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25; -+ mad_fixed_t m0, m1, m2, m3, m4, m5, m6, m7; -+*/ -+// enum { -+// c0 = MAD_F(0x1f838b8d), /* 2 * cos( 1 * PI / 18) */ -+// c1 = MAD_F(0x1bb67ae8), /* 2 * cos( 3 * PI / 18) */ -+// c2 = MAD_F(0x18836fa3), /* 2 * cos( 4 * PI / 18) */ -+// c3 = MAD_F(0x1491b752), /* 2 * cos( 5 * PI / 18) */ -+// c4 = MAD_F(0x0af1d43a), /* 2 * cos( 7 * PI / 18) */ -+// c5 = MAD_F(0x058e86a0), /* 2 * cos( 8 * PI / 18) */ -+// c6 = -MAD_F(0x1e11f642) /* 2 * cos(16 * PI / 18) */ -+// }; -+ -+/* -+ a2 = tmp3[6] + tmp3[2]; -+ a6 = tmp3[8] + tmp3[0]; -+ a11 = a2 - a6; -+ m5 = mad_f_mul(a11, -c6) ; -+ a4 = tmp3[1] + tmp3[7]; -+ -+ a18 = tmp3[4] + a4; -+ a19 = -2 * tmp3[4] + a4; -+ -+ a0 = tmp3[3] + tmp3[5]; -+ -+*/ -+ add r11/*a4*/, r7, r10 -+ add r12/*a18*/, r2, r11 -+ sub r11/*a19*/, r11, r2<<1 -+ -+ add r4/*a2*/, lr, r0 -+ add r8/*a6*/, r5, r6 -+ sub r9/*a11*/, r4, r8 -+ -+ st.d --sp, r0 /* sp[0] = tmp3[3], sp1[1] = tmp3[2]*/ -+ -+ mov r2, MAD_F(0x1e11f642) -+ mulsatrndwh.w r9/*m5*/, r9, r2:b -+ -+ add r2/*a0*/, r1, r3 -+ -+ /* Registers used: -+ -+ r2=a0, r3=tmp3[5], r4=a2, r5=tmp3[8], r6 = tmp3[0], -+ r7 = tmp3[1], r8=a6, r10=tmp3[7], r9=m5, r11=a19, r12=a18,lr=tmp3[6] -+ Free registers: -+ r0, r1 -+ */ -+ -+/* -+ a8 = a0 + a2; -+ a12 = a8 + a6; -+ a10 = a0 - a6; -+ a9 = a0 - a2; -+ m7 = mad_f_mul(a9, -c2) ; -+ m6 = mad_f_mul(a10, -c5) ; -+*/ -+ -+ add r0/*a8*/, r2, r4 -+ add r0/*a12*/, r8 -+ rsub r8/*a10*/, r2 -+ sub r2/*a9*/, r4 -+ mov r1, -MAD_F(0x18836fa3) -+ mulsatrndwh.w r2/*m7*/, r2, r1:b -+ mov r1, -MAD_F(0x058e86a0) -+ mulsatrndwh.w r8/*m6*/, r8, r1:b -+ -+ /* Registers used: -+ -+ r0=a12, r2=m7, r3=tmp3[5], r5=tmp3[8], r6 = tmp3[0], -+ r7 = tmp3[1], r8=m6, r10=tmp3[7], r9=m5, r11=a19, r12=a18,lr=tmp3[6] -+ Free registers: -+ r1, r4 -+ */ -+ -+ -+/* -+ a21 = -a19 - (m5 << 1); -+ tmp[ 8] = a21 - (m6 << 1); -+ -+ a20 = a19 - (m5 << 1); -+ tmp[ 4] = (m7 << 1) + a20; -+ a22 = -a19 + (m6 << 1); -+ tmp[16] = a22 + (m7 << 1); -+ tmp[ 0] = a18 + a12; -+ tmp[12] = a12 - 2 * a18; -+*/ -+ add r1/*a21*/, r11, r9 << 1 -+ neg r1 -+ sub r1/*tmp[8]*/, r1, r8 << 1 -+ stdsp sp[4*11/*tmp3[..] on the stack*/ + 8*4], r1 -+ sub r4/*a20*/, r11, r9 << 1 -+ add r4/*tmp[4]*/, r4, r2 << 1 -+ stdsp sp[4*11/*tmp3[..] on the stack*/ + 4*4], r4 -+ neg r11 -+ add r1/*a22*/, r11, r8 << 1 -+ add r1/*tmp[16]*/, r1, r2 << 1 -+ stdsp sp[4*11/*tmp3[..] on the stack*/ + 16*4], r1 -+ add r4, r12, r0 -+ sub r1, r0, r12 << 1 -+ stdsp sp[4*11/*tmp3[..] on the stack*/ + 0*4], r4 -+ stdsp sp[4*11/*tmp3[..] on the stack*/ + 12*4], r1 -+ -+ ld.d r0, sp++ -+ -+ /* Registers used: -+ -+ r0 = tmp3[2], r1 = tmp3[3], r3=tmp3[5], r5=tmp3[8], r6 = tmp3[0], -+ r7 = tmp3[1], r10=tmp3[7], r11=a19, lr=tmp3[6] -+ Free registers: -+ r2,r4,r8,r9,r12 -+ */ -+ -+/* -+ a5 = tmp3[1] - tmp3[7]; -+ a7 = tmp3[8] - tmp3[0]; -+ a3 = tmp3[6] - tmp3[2]; -+ a1 = tmp3[3] - tmp3[5]; -+ a13 = a1 - a3; -+ a14 = a13 + a7; -+ m3 = mad_f_mul(a14, -c1) ; -+ m4 = mad_f_mul(a5, -c1) ; -+ tmp[ 6] = m3 << 1; -+*/ -+ sub r7/*a5*/, r10 -+ sub r2/*a7*/, r5, r6 -+ sub r4/*a3*/, lr, r0 -+ sub r8/*a1*/, r1, r3 -+ sub r9/*a13*/, r8, r4 -+ add r12/*a14*/, r9, r2 -+ mov r0, -MAD_F(0x1bb67ae8) -+ mulsatrndwh.w r12/*m3*/, r12, r0:b -+ mulsatrndwh.w r7/*m4*/, r7, r0:b -+ lsl r12, 1 -+ stdsp sp[4*9/*tmp3[..] on the stack*/ + 6*4], r12 -+ -+ /* Registers used: -+ r2 = a7, r4 = a3, r7 = m4, r8 = a1, r12 = m3 -+ -+ Free registers: -+ r0, r1, r3, r5, r6, r10, r9, r11, lr -+ */ -+ -+ -+/* -+ a15 = a3 + a7; -+ m2 = mad_f_mul(a15, -c4) ; -+ a17 = a1 + a3; -+ m0 = mad_f_mul(a17, -c3) ; -+ a23 = (m4 << 1) + (m2 << 1); -+ tmp[14] = a23 + (m0 << 1); */ -+ add r0/*a15*/, r4, r2 -+ mov r1, -MAD_F(0x0af1d43a) -+ mulsatrndwh.w r0/*m2*/, r0, r1:b -+ mov r3, -MAD_F(0x1491b752) -+ add r5/*a17*/, r8, r4 -+ mulsatrndwh.w r5/*m0*/, r5, r3:b -+ lsl r7, 1 -+ add r6/*a23*/, r7, r0 << 1 -+ add r6/*tmp[14]*/, r6, r5 << 1 -+ stdsp sp[4*9/*tmp3[..] on the stack*/ + 14*4], r6 -+ -+ /* Registers used: -+ r0 = m2, r2 = a7, r5 = m0, r7 = m4, r8 = a1 -+ -+ Free registers: -+ r1, r3, r4, r6, r10, r9, r11, lr -+ */ -+ -+/* -+ a16 = a1 - a7; -+ m1 = mad_f_mul(a16, -c0) ; -+ a24 = (m4 << 1) - (m2 << 1); -+ tmp[10] = a24 - (m1 << 1); -+ -+ a25 = (m4 << 1) + (m1 << 1); -+ tmp[ 2] = (m0 << 1) - a25; -+*/ -+ sub r3/*a16*/, r8, r2 -+ mov r4, -MAD_F(0x1f838b8d) -+ mulsatrndwh.w r3/*m1*/, r3, r4:b -+ sub r1/*a24*/, r7, r0 << 1 -+ sub r1/*tmp[10]*/, r1, r3 << 1 -+ stdsp sp[4*9/*tmp3[..] on the stack*/ + 10*4], r1 -+ add r7/*a25*/, r7, r3 << 1 -+ sub r7, r7, r5 << 1 -+ neg r7 -+ stdsp sp[4*9/*tmp3[..] on the stack*/ + 2*4], r7 -+ -+ -+ -+ -+ /* output to every other slot for convenience */ -+ -+ /*} */ -+ /* End fastdct */ -+ -+ /* odd input butterfly and scaling */ -+ -+ -+ /* On the stack: -+ sp[0] = tmp4[8], sp[1] = tmp4[4],sp[2] = tmp4[7], sp[3] = tmp4[5],sp[4] = tmp4[6] -+ sp[5] = tmp4[0], sp[6] = tmp4[1],sp[7] = tmp4[2],sp[8] = tmp4[3] -+ */ -+ -+ /* -+ tmp3[0] = mad_f_mul(tmp4[0], scale[0]); -+ tmp3[1] = mad_f_mul(tmp4[1], scale[1]) << 1; -+ tmp3[2] = mad_f_mul(tmp4[2], scale[2]); -+ tmp3[3] = mad_f_mul(tmp4[3], scale[3]) << 1; -+ tmp3[4] = mad_f_mul(tmp4[4], scale[4]); -+ tmp3[5] = mad_f_mul(tmp4[5], scale[5]); -+ tmp3[6] = mad_f_mul(tmp4[6], scale[6]) << 1; -+ tmp3[7] = mad_f_mul(tmp4[7], scale[7]); -+ tmp3[8] = mad_f_mul(tmp4[8], scale[8]) << 1; -+ */ -+ /* Registers used: -+ r1 = tmp4[3], r2 = tmp4[2], r3 = tmp4[1], r4 = tmp4[0], r7 = tmp4[6] -+ r10 = tmp4[5], r11 = tmp4[7], r12 = tmp4[4], lr = tmp4[8] -+ -+ Free registers: -+ r0, r5, r6, r8, r9 -+ */ -+ ld.d r8, pc[ scale_sdctII - . + 4*2] /* r8 = { scale[6], scale[7] }, r9 = { scale[4], scale[5]} */ -+ ldm sp++, r1, r2, r3, r4, r7, r10, r11, r12, lr -+ mov r5, MAD_F(0x02c9fad7) /* r3 = scale[8] */ -+ mulsatrndwh.w r5/*tmp3[8]*/, lr, r5:b -+ mulsatrndwh.w lr/*tmp3[6]*/, r7, r8:t -+ ld.d r6, pc[ scale_sdctII - . + 0*2] /* r6 = { scale[2], scale[3] }, r7 = { scale[0], scale[1]} */ -+ lsl lr, 1 -+ lsl r5, 1 -+ mulsatrndwh.w r0/*tmp3[2]*/, r2, r6:t -+ mulsatrndwh.w r1/*tmp3[3]*/, r1, r6:b -+ mulsatrndwh.w r6/*tmp3[0]*/, r4, r7:t -+ mulsatrndwh.w r7/*tmp3[1]*/, r3, r7:b -+ mulsatrndwh.w r3/*tmp3[5]*/, r10, r9:b -+ mulsatrndwh.w r2/*tmp3[4]*/, r12, r9:t -+ mulsatrndwh.w r9/*tmp3[7]*/, r11, r8:b -+ lsl r1, 1 -+ lsl r7, 1 -+ -+ -+ /* fastdct */ -+ -+/* -+ { -+ mad_fixed_t a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12; -+ mad_fixed_t a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25; -+ mad_fixed_t m0, m1, m2, m3, m4, m5, m6, m7; -+*/ -+// enum { -+// c0 = MAD_F(0x1f838b8d), /* 2 * cos( 1 * PI / 18) */ -+// c1 = MAD_F(0x1bb67ae8), /* 2 * cos( 3 * PI / 18) */ -+// c2 = MAD_F(0x18836fa3), /* 2 * cos( 4 * PI / 18) */ -+// c3 = MAD_F(0x1491b752), /* 2 * cos( 5 * PI / 18) */ -+// c4 = MAD_F(0x0af1d43a), /* 2 * cos( 7 * PI / 18) */ -+// c5 = MAD_F(0x058e86a0), /* 2 * cos( 8 * PI / 18) */ -+// c6 = -MAD_F(0x1e11f642) /* 2 * cos(16 * PI / 18) */ -+// }; -+ -+ /* Registers used: -+ -+ r0=tmp3[2], r1=tmp3[3], r2=tmp3[4], r3=tmp3[5], r5=tmp3[8], r6 = tmp3[0], -+ r7 = tmp3[1], r9=tmp3[7], lr=tmp3[6] -+ Free registers: -+ r4, r8, r10, r11, r12 -+ */ -+ -+/* -+ a2 = tmp3[6] + (tmp3[2] << 1); -+ a6 = tmp3[8] + (tmp3[0] << 1); -+ a11 = a2 - a6; -+ m5 = mad_f_mul(a11, c6) ; -+ a4 = tmp3[1] + (tmp3[7] << 1); -+ -+ a18 = (tmp3[4] << 1) + a4; -+ a19 = -2 * (tmp3[4] << 1) + a4; -+ -+ a0 = tmp3[3] + (tmp3[5] << 1); -+ -+*/ -+ add r11/*a4*/, r7, r9 << 1 -+ add r12/*a18*/, r11, r2 << 1 -+ sub r11/*a19*/, r11, r2 << 2 -+ -+ add r4/*a2*/, lr, r0 << 1 -+ add r8/*a6*/, r5, r6 << 1 -+ sub r10/*a11*/, r4, r8 -+ -+ st.d --sp, r0 /* sp[0] = tmp3[3], sp1[1] = tmp3[2]*/ -+ -+ mov r2, -MAD_F(0x1e11f642) -+ mulsatrndwh.w r10/*m5*/, r10, r2:b -+ -+ add r2/*a0*/, r1, r3 << 1 -+ -+ /* Registers used: -+ -+ r2=a0, r3=tmp3[5], r4=a2, r5=tmp3[8], r6 = tmp3[0], -+ r7 = tmp3[1], r8=a6, r9=tmp3[7], r10=m5, r11=a19, r12=a18,lr=tmp3[6] -+ Free registers: -+ r0, r1 -+ */ -+ -+/* -+ a8 = a0 + a2; -+ a12 = a8 + a6; -+ a10 = a0 - a6; -+ a9 = a0 - a2; -+ m7 = mad_f_mul(a9, -c2) ; -+ m6 = mad_f_mul(a10, -c5) ; -+*/ -+ -+ add r0/*a8*/, r2, r4 -+ add r0/*a12*/, r8 -+ rsub r8/*a10*/, r2 -+ sub r2/*a9*/, r4 -+ mov r1, -MAD_F(0x18836fa3) -+ mulsatrndwh.w r2/*m7*/, r2, r1:b -+ mov r1, -MAD_F(0x058e86a0) -+ mulsatrndwh.w r8/*m6*/, r8, r1:b -+ -+ /* Registers used: -+ -+ r0=a12, r2=m7, r3=tmp3[5], r5=tmp3[8], r6 = tmp3[0], -+ r7 = tmp3[1], r8=m6, r9=tmp3[7], r10=m5, r11=a19, r12=a18,lr=tmp3[6] -+ Free registers: -+ r1, r4 -+ */ -+ -+ -+/* -+ a21 = -a19 + (m5 << 1); -+ tmp[ 9] = a21 - (m6 << 1); -+ -+ a20 = -(-a19 - (m5 << 1)); -+ tmp[ 5] = (m7 << 1) + a20; -+ a22 = -a19 + (m6 << 1); -+ tmp[17] = a22 + (m7 << 1); -+ tmp[ 1] = a18 + a12; -+ tmp[13] = a12 - 2 * a18; -+*/ -+ sub r1/*a21*/, r11, r10 << 1 -+ neg r1 -+ sub r1/*tmp[9]*/, r1, r8 << 1 -+ stdsp sp[4*2/*tmp3[..] on the stack*/ + 9*4], r1 -+ add r4/*a20*/, r11, r10 << 1 -+ add r4/*tmp[5]*/, r4, r2 << 1 -+ stdsp sp[4*2/*tmp3[..] on the stack*/ + 5*4], r4 -+ neg r11 -+ add r1/*a22*/, r11, r8 << 1 -+ add r1/*tmp[17]*/, r1, r2 << 1 -+ stdsp sp[4*2/*tmp3[..] on the stack*/ + 17*4], r1 -+ add r4, r12, r0 -+ sub r1, r0, r12 << 1 -+ stdsp sp[4*2/*tmp3[..] on the stack*/ + 1*4], r4 -+ stdsp sp[4*2/*tmp3[..] on the stack*/ + 13*4], r1 -+ -+ ld.d r0, sp++ -+ -+ /* Registers used: -+ -+ r0 = tmp3[2], r1 = tmp3[3], r3=tmp3[5], r5=tmp3[8], r6 = tmp3[0], -+ r7 = tmp3[1], r9=tmp3[7], r11=a19, lr=tmp3[6] -+ Free registers: -+ r2,r4,r8,r10,r12 -+ */ -+ -+/* -+ a5 = tmp3[1] - (tmp3[7] << 1); -+ a7 = tmp3[8] - (tmp3[0] << 1); -+ a3 = tmp3[6] - (tmp3[2] << 1); -+ a1 = tmp3[3] - (tmp3[5] << 1); -+ a13 = a1 - a3; -+ a14 = a13 + a7; -+ m3 = mad_f_mul(a14, -c1) ; -+ m4 = mad_f_mul(a5, -c1) ; -+ tmp[ 7] = m3 << 1; -+*/ -+ sub r7/*a5*/, r7, r9 << 1 -+ sub r2/*a7*/, r5, r6 << 1 -+ sub r4/*a3*/, lr, r0 << 1 -+ sub r8/*a1*/, r1, r3 << 1 -+ sub r10/*a13*/, r8, r4 -+ add r12/*a14*/, r10, r2 -+ mov r0, -MAD_F(0x1bb67ae8) -+ mulsatrndwh.w r12/*m3*/, r12, r0:b -+ mulsatrndwh.w r7/*m4*/, r7, r0:b -+ lsl r12, 1 -+ stdsp sp[7*4], r12 -+ -+ /* Registers used: -+ r2 = a7, r4 = a3, r7 = m4, r8 = a1, r12 = m3 -+ -+ Free registers: -+ r0, r1, r3, r5, r6, r9, r10, r11, lr -+ */ -+ -+ -+/* -+ a15 = a3 + a7; -+ m2 = mad_f_mul(a15, -c4) ; -+ a17 = a1 + a3; -+ m0 = mad_f_mul(a17, -c3) ; -+ a23 = (m4 << 1) + (m2 << 1); -+ tmp[15] = a23 + (m0 << 1); */ -+ add r0/*a15*/, r4, r2 -+ mov r1, -MAD_F(0x0af1d43a) -+ mulsatrndwh.w r0/*m2*/, r0, r1:b -+ mov r3, -MAD_F(0x1491b752) -+ add r5/*a17*/, r8, r4 -+ mulsatrndwh.w r5/*m0*/, r5, r3:b -+ lsl r7, 1 -+ add r6/*a23*/, r7, r0 << 1 -+ add r6/*tmp[15]*/, r6, r5 << 1 -+ stdsp sp[15*4], r6 -+ -+ /* Registers used: -+ r0 = m2, r2 = a7, r5 = m0, r7 = m4, r8 = a1 -+ -+ Free registers: -+ r1, r3, r4, r6, r9, r10, r11, lr -+ */ -+ -+/* -+ a16 = a1 - a7; -+ m1 = mad_f_mul(a16, -c0) ; -+ a24 = (m4 << 1) - (m2 << 1); -+ tmp[11] = a24 - (m1 << 1); -+ -+ a25 = (m4 << 1) + (m1 << 1); -+ tmp[ 3] = (m0 << 1) - a25; -+*/ -+ sub r3/*a16*/, r8, r2 -+ mov r4, -MAD_F(0x1f838b8d) -+ mulsatrndwh.w r3/*m1*/, r3, r4:b -+ sub r1/*a24*/, r7, r0 << 1 -+ sub r1/*tmp[11]*/, r1, r3 << 1 -+ stdsp sp[11*4], r1 -+ add r7/*a25*/, r7, r3 << 1 -+ sub r7, r7, r5 << 1 -+ neg r7 -+ lddsp r12, sp[4*18+4] /* Get y from stack */ -+ stdsp sp[3*4], r7 -+ -+ -+ /* output to every other slot for convenience */ -+ -+ /* End fastdct */ -+ -+ /* output accumulation */ -+ -+/* for (i = 3; i < 18; i += 8) { -+ tmp[i + 0] -= tmp[(i + 0) - 2]; -+ tmp[i + 2] -= tmp[(i + 2) - 2]; -+ tmp[i + 4] -= tmp[(i + 4) - 2]; -+ tmp[i + 6] -= tmp[(i + 6) - 2]; -+ } -+ } -+*/ -+ -+/* End SDCT-II */ -+ -+ -+ -+ /* scale reduction and output accumulation */ -+ -+/* -+ for (i = 1; i < 17; i += 4) { -+ tmp[i + 0] = tmp[i + 0] - tmp[(i + 0) - 1]; -+ tmp[i + 1] = tmp[i + 1] - tmp[(i + 1) - 1]; -+ tmp[i + 2] = tmp[i + 2] - tmp[(i + 2) - 1]; -+ tmp[i + 3] = tmp[i + 3] - tmp[(i + 3) - 1]; -+ } -+ tmp[17] = tmp[17] - tmp[16]; -+ } -+*/ -+/* End DCT-IV */ -+ -+ -+ /* convert 18-point DCT-IV to 36-point IMDCT */ -+ -+/* -+ for (i = 0; i < 9; i += 3) { -+ y[i + 0] = tmp[9 + (i + 0)]; -+ y[i + 1] = tmp[9 + (i + 1)]; -+ y[i + 2] = tmp[9 + (i + 2)]; -+ } -+ for (i = 9; i < 27; i += 3) { -+ y[i + 0] = -tmp[36 - (9 + (i + 0)) - 1]; -+ y[i + 1] = -tmp[36 - (9 + (i + 1)) - 1]; -+ y[i + 2] = -tmp[36 - (9 + (i + 2)) - 1]; -+ } -+ for (i = 27; i < 36; i += 3) { -+ y[i + 0] = -tmp[(i + 0) - 27]; -+ y[i + 1] = -tmp[(i + 1) - 27]; -+ y[i + 2] = -tmp[(i + 2) - 27]; -+ } -+ } -+*/ -+ -+ /* Registers used: -+ r0 = tmp[8], r1 = tmp[7], r2 = tmp[6], r3 = tmp[5], r4 = tmp[4] -+ r5 = tmp[3], r6 = tmp[2], r7 = tmp[1], r8 = tmp[0], r12 = y -+ -+ Free registers: -+ r9, r10, r11, lr -+ */ -+ -+ ldm sp++, r0-r8 /* Get tmp[0]-tmp[8] from stack */ -+ sub r5, r7 /* tmp[3] -= tmp[1]*/ -+ sub r3, r5 /* tmp[5] -= tmp[3]*/ -+ sub r1, r3 /* tmp[7] -= tmp[5]*/ -+ -+ sub r7, r8 /* tmp[1] -= tmp[0]*/ -+ sub r6, r7 /* tmp[2] -= tmp[1]*/ -+ sub r5, r6 /* tmp[3] -= tmp[2]*/ -+ neg r8 -+ st.w r12[26*4], r8 /* y[26] = -tmp[0] */ -+ st.w r12[27*4], r8 /* y[27] = -tmp[0] */ -+ neg r7 -+ neg r6 -+ st.w r12[25*4], r7 /* y[25] = -tmp[1] */ -+ st.w r12[24*4], r6 /* y[24] = -tmp[2] */ -+ st.d r12[28*4], r6 /* y[28] = -tmp[1], y[29] = -tmp[2]*/ -+ -+ sub r4, r5 /* tmp[4] -= tmp[3]*/ -+ sub r3, r4 /* tmp[5] -= tmp[4]*/ -+ neg r5 -+ neg r4 -+ st.w r12[23*4], r5 /* y[23] = -tmp[3] */ -+ st.w r12[22*4], r4 /* y[22] = -tmp[4] */ -+ st.d r12[30*4], r4 /* y[30] = -tmp[3], y[31] = -tmp[4]*/ -+ -+ ldm sp++, r4-r11,lr /* Get tmp[9]-tmp[17] from stack */ -+ -+ sub r2, r3 /* tmp[6] -= tmp[5]*/ -+ -+ sub lr, r1 /* tmp[9] -= tmp[7]*/ -+ sub r10, lr /* tmp[11] -= tmp[9]*/ -+ sub r8, r10 /* tmp[13] -= tmp[11]*/ -+ sub r6, r8 /* tmp[15] -= tmp[13]*/ -+ sub r4, r6 /* tmp[17] -= tmp[15]*/ -+ -+ sub r1, r2 /* tmp[7] -= tmp[6]*/ -+ sub r0, r1 /* tmp[8] -= tmp[7]*/ -+ neg r3 -+ neg r2 -+ st.w r12[21*4], r3 /* y[21] = -tmp[5] */ -+ st.w r12[20*4], r2 /* y[20] = -tmp[6] */ -+ st.d r12[32*4], r2 /* y[32] = -tmp[5], y[33] = -tmp[6]*/ -+ -+ sub lr, r0 /* tmp[9] -= tmp[8]*/ -+ sub r11, lr /* tmp[10] -= tmp[9]*/ -+ neg r1 -+ neg r0 -+ st.w r12[19*4], r1 /* y[19] = -tmp[7] */ -+ st.w r12[18*4], r0 /* y[18] = -tmp[8] */ -+ st.d r12[34*4], r0 /* y[34] = -tmp[7], y[35] = -tmp[8]*/ -+ -+ sub r10, r11 /* tmp[11] -= tmp[10]*/ -+ sub r9, r10 /* tmp[12] -= tmp[11]*/ -+ -+ st.w r12[0*4], lr /* y[0] = tmp[9]*/ -+ neg lr -+ st.w r12[17*4], lr /* y[17] = -tmp[9]*/ -+ st.d r12[1*4], r10 /* y[1] = tmp[10], y[2] = tmp[11] */ -+ neg r11 -+ neg r10 -+ st.w r12[16*4], r11 /* y[16] = -tmp[10] */ -+ st.w r12[15*4], r10 /* y[15] = -tmp[11] */ -+ -+ -+ sub r8, r9 /* tmp[13] -= tmp[12]*/ -+ sub r7, r8 /* tmp[14] -= tmp[13]*/ -+ st.d r12[3*4], r8 /* y[3] = tmp[12], y[4] = tmp[13] */ -+ neg r9 -+ neg r8 -+ st.w r12[14*4], r9 /* y[14] = -tmp[12] */ -+ st.w r12[13*4], r8 /* y[13] = -tmp[13] */ -+ -+ sub r6, r7 /* tmp[15] -= tmp[14]*/ -+ sub r5, r6 /* tmp[16] -= tmp[15]*/ -+ sub r4, r5 /* tmp[17] -= tmp[16]*/ -+ -+ st.d r12[5*4], r6 /* y[5] = tmp[14], y[6] = tmp[15] */ -+ neg r7 -+ neg r6 -+ st.w r12[12*4], r7 /* y[12] = -tmp[14] */ -+ st.w r12[11*4], r6 /* y[11] = -tmp[15] */ -+ -+ st.d r12[7*4], r4 /* y[7] = tmp[16], y[8] = tmp[17] */ -+ neg r5 -+ neg r4 -+ st.w r12[10*4], r5 /* y[10] = -tmp[16] */ -+ st.w r12[9*4], r4 /* y[9] = -tmp[17] */ -+ -+ popm r0-r7,r11,pc -+ -+ .align 2 -+scale_dctIV: -+ .short MAD_F(0x1ff833fa), MAD_F(0x1fb9ea93), MAD_F(0x1f3dd120) -+ .short MAD_F(0x1e84d969), MAD_F(0x1d906bcf), MAD_F(0x1c62648b) -+ .short MAD_F(0x1afd100f), MAD_F(0x1963268b), MAD_F(0x1797c6a4) -+ .short MAD_F(0x159e6f5b), MAD_F(0x137af940), MAD_F(0x11318ef3) -+ .short MAD_F(0x0ec6a507), MAD_F(0x0c3ef153), MAD_F(0x099f61c5) -+ .short MAD_F(0x06ed12c5), MAD_F(0x042d4544), MAD_F(0x0165547c) -+ -+ .align 2 -+scale_sdctII: -+ .short MAD_F(0x1fe0d3b4), MAD_F(0x1ee8dd47), MAD_F(0x1d007930) -+ .short MAD_F(0x1a367e59), MAD_F(0x16a09e66), MAD_F(0x125abcf8) -+ .short MAD_F(0x0d8616bc), MAD_F(0x08483ee1), MAD_F(0x02c9fad7) -diff --git a/layer3.c b/layer3.c -index 4e5d3fa..dffdab3 100644 ---- a/layer3.c -+++ b/layer3.c -@@ -378,6 +378,11 @@ mad_fixed_t const ca[8] = { - -MAD_F(0x003a2847) /* -0.014198569 */, -MAD_F(0x000f27b4) /* -0.003699975 */ - }; - -+#ifdef FPM_AVR32 -+# undef MAD_F -+# define MAD_F(x) ((x + (1 << 12)) >> 13) -+#endif -+ - /* - * IMDCT coefficients for short blocks - * derived from section 2.4.3.4.10.2 of ISO/IEC 11172-3 -@@ -386,7 +391,7 @@ mad_fixed_t const ca[8] = { - * imdct_s[i /odd][k] = cos((PI / 24) * (2 * (6 + (i-1)/2) + 7) * (2 * k + 1)) - */ - static --mad_fixed_t const imdct_s[6][6] = { -+mad_coeff_t const imdct_s[6][6] = { - # include "imdct_s.dat" - }; - -@@ -398,7 +403,7 @@ mad_fixed_t const imdct_s[6][6] = { - * window_l[i] = sin((PI / 36) * (i + 1/2)) - */ - static --mad_fixed_t const window_l[36] = { -+mad_coeff_t const window_l[36] = { - MAD_F(0x00b2aa3e) /* 0.043619387 */, MAD_F(0x0216a2a2) /* 0.130526192 */, - MAD_F(0x03768962) /* 0.216439614 */, MAD_F(0x04cfb0e2) /* 0.300705800 */, - MAD_F(0x061f78aa) /* 0.382683432 */, MAD_F(0x07635284) /* 0.461748613 */, -@@ -429,7 +434,7 @@ mad_fixed_t const window_l[36] = { - * window_s[i] = sin((PI / 12) * (i + 1/2)) - */ - static --mad_fixed_t const window_s[12] = { -+mad_coeff_t const window_s[12] = { - MAD_F(0x0216a2a2) /* 0.130526192 */, MAD_F(0x061f78aa) /* 0.382683432 */, - MAD_F(0x09bd7ca0) /* 0.608761429 */, MAD_F(0x0cb19346) /* 0.793353340 */, - MAD_F(0x0ec835e8) /* 0.923879533 */, MAD_F(0x0fdcf549) /* 0.991444861 */, -@@ -438,6 +443,11 @@ mad_fixed_t const window_s[12] = { - MAD_F(0x061f78aa) /* 0.382683432 */, MAD_F(0x0216a2a2) /* 0.130526192 */, - }; - -+#ifdef FPM_AVR32 -+# undef MAD_F -+# define MAD_F(x) ((mad_fixed_t) (x##L)) -+#endif -+ - /* - * coefficients for intensity stereo processing - * derived from section 2.4.3.4.9.3 of ISO/IEC 11172-3 -@@ -879,6 +889,42 @@ void III_exponents(struct channel const *channel, - * NAME: III_requantize() - * DESCRIPTION: requantize one (positive) value - */ -+ -+#if 0 -+/*static*/ -+mad_fixed_t III_requantize(unsigned int value, signed int exp) -+{ -+ register mad_fixed_t tmp2, tmp3; -+ long long tmp_d; -+ -+ asm ("asr\t%0, %1, 2\n" -+ "ld.w\t%2, %4[%5 << 2]\n" -+ "sub\t%1, %1, %0 << 2\n" -+ "asr\t%3, %2, 7\n" -+ "andl\t%2, 0x7f, COH\n" -+ "add\t%0, %2\n" -+ "lsl\t%m0,%3,%0\n" -+ "neg\t%0\n" -+ "asr\t%3,%3,%0\n" -+ "add\t%2, %6, %1 << 2\n" -+ "ld.w\t%2, %2[12]\n" -+ "cp.w\t%0, 0\n" -+ "movlt\t%3, %m0\n" -+ "muls.d\t%0, %3, %2\n" -+ "cp.w\t%1, 0\n" -+ "breq\t0f\n" -+ "lsr\t%0, %0, 28\n" -+ "or\t%3, %0, %m0 << 4\n" -+ "0:\n" -+ : "=&r"(tmp_d), "+r"(exp), "=&r"(tmp2), "=&r"(tmp3) -+ : "r"(&rq_table), "r"(value), "r"(root_table)); -+ -+ -+ return tmp3; -+} -+ -+#else -+ - static - mad_fixed_t III_requantize(unsigned int value, signed int exp) - { -@@ -918,6 +964,7 @@ mad_fixed_t III_requantize(unsigned int value, signed int exp) - - return frac ? mad_f_mul(requantized, root_table[3 + frac]) : requantized; - } -+#endif - - /* we must take care that sz >= bits and sz < sizeof(long) lest bits == 0 */ - # define MASK(cache, sz, bits) \ -@@ -2054,27 +2101,42 @@ void imdct36(mad_fixed_t const X[18], mad_fixed_t x[36]) - } - # endif - -+ -+#ifdef FPM_AVR32 -+# undef mad_f_mul -+# define mad_f_mul(x, y) __builtin_mulsatrndwh_w(x, y) -+#endif -+ - /* - * NAME: III_imdct_l() - * DESCRIPTION: perform IMDCT and windowing for long blocks - */ - static --void III_imdct_l(mad_fixed_t const X[18], mad_fixed_t z[36], -+void III_imdct_l(mad_fixed_t /*const*/ X[18], mad_fixed_t z[36], - unsigned int block_type) - { - unsigned int i; -+ mad_fixed_t *z_ptr; -+ mad_coeff_t *w_ptr; - - /* IMDCT */ - -+#ifdef FPM_AVR32 -+ imdct36_avr32(X, z); -+#else - imdct36(X, z); -+#endif - - /* windowing */ - -+ z_ptr = &z[0]; -+ w_ptr = &window_l[0]; -+ - switch (block_type) { - case 0: /* normal window */ - # if defined(ASO_INTERLEAVE1) - { -- register mad_fixed_t tmp1, tmp2; -+ register mad_coeff_t tmp1, tmp2; - - tmp1 = window_l[0]; - tmp2 = window_l[1]; -@@ -2091,15 +2153,16 @@ void III_imdct_l(mad_fixed_t const X[18], mad_fixed_t z[36], - } - # elif defined(ASO_INTERLEAVE2) - { -- register mad_fixed_t tmp1, tmp2; -+ register mad_fixed_t tmp1; -+ register mad_coeff_t tmp2; - -- tmp1 = z[0]; -- tmp2 = window_l[0]; -+ tmp1 = *z_ptr; -+ tmp2 = *w_ptr++; - - for (i = 0; i < 35; ++i) { -- z[i] = mad_f_mul(tmp1, tmp2); -- tmp1 = z[i + 1]; -- tmp2 = window_l[i + 1]; -+ *z_ptr++ = mad_f_mul(tmp1, tmp2); -+ tmp1 = *z_ptr; -+ tmp2 = *w_ptr++; - } - - z[35] = mad_f_mul(tmp1, tmp2); -@@ -2118,23 +2181,28 @@ void III_imdct_l(mad_fixed_t const X[18], mad_fixed_t z[36], - - case 1: /* start block */ - for (i = 0; i < 18; i += 3) { -- z[i + 0] = mad_f_mul(z[i + 0], window_l[i + 0]); -- z[i + 1] = mad_f_mul(z[i + 1], window_l[i + 1]); -- z[i + 2] = mad_f_mul(z[i + 2], window_l[i + 2]); -+ *(z_ptr++) = mad_f_mul(*z_ptr, *w_ptr++); -+ *(z_ptr++) = mad_f_mul(*z_ptr, *w_ptr++); -+ *(z_ptr++) = mad_f_mul(*z_ptr, *w_ptr++); - } -+ z_ptr += 6; -+ w_ptr = &window_s[6]; - /* (i = 18; i < 24; ++i) z[i] unchanged */ -- for (i = 24; i < 30; ++i) z[i] = mad_f_mul(z[i], window_s[i - 18]); -- for (i = 30; i < 36; ++i) z[i] = 0; -+ for (i = 24; i < 30; ++i) *z_ptr++ = mad_f_mul(*z_ptr, *w_ptr++); -+ for (i = 30; i < 36; ++i) *z_ptr++ = 0; - break; - - case 3: /* stop block */ -- for (i = 0; i < 6; ++i) z[i] = 0; -- for (i = 6; i < 12; ++i) z[i] = mad_f_mul(z[i], window_s[i - 6]); -+ w_ptr = &window_s[0]; -+ for (i = 0; i < 6; ++i) *z_ptr++ = 0; -+ for (i = 6; i < 12; ++i) *z_ptr++ = mad_f_mul(*z_ptr, *w_ptr++); - /* (i = 12; i < 18; ++i) z[i] unchanged */ -+ w_ptr = &window_l[18]; -+ z_ptr += 6; - for (i = 18; i < 36; i += 3) { -- z[i + 0] = mad_f_mul(z[i + 0], window_l[i + 0]); -- z[i + 1] = mad_f_mul(z[i + 1], window_l[i + 1]); -- z[i + 2] = mad_f_mul(z[i + 2], window_l[i + 2]); -+ *z_ptr++ = mad_f_mul(*z_ptr, *w_ptr++ ); -+ *z_ptr++ = mad_f_mul(*z_ptr, *w_ptr++); -+ *z_ptr++ = mad_f_mul(*z_ptr, *w_ptr++); - } - break; - } -@@ -2146,10 +2214,10 @@ void III_imdct_l(mad_fixed_t const X[18], mad_fixed_t z[36], - * DESCRIPTION: perform IMDCT and windowing for short blocks - */ - static --void III_imdct_s(mad_fixed_t const X[18], mad_fixed_t z[36]) -+void III_imdct_s(mad_fixed_t /*const*/ X[18], mad_fixed_t z[36]) - { - mad_fixed_t y[36], *yptr; -- mad_fixed_t const *wptr; -+ mad_coeff_t const *wptr; - int w, i; - register mad_fixed64hi_t hi; - register mad_fixed64lo_t lo; -@@ -2159,11 +2227,56 @@ void III_imdct_s(mad_fixed_t const X[18], mad_fixed_t z[36]) - yptr = &y[0]; - - for (w = 0; w < 3; ++w) { -- register mad_fixed_t const (*s)[6]; -+ register mad_coeff_t const (*s)[6]; - - s = imdct_s; - - for (i = 0; i < 3; ++i) { -+#ifdef FPM_AVR32 -+ register long long int acc, tmp1, tmp2, tmp3, tmp4; -+ asm volatile ("ld.d\t%0, %5++\n" -+ "ld.d\t%1, %6[0]\n" -+ "ld.d\t%2, %6[2*4]\n" -+ "ld.d\t%3, %6[4*4]\n" -+ "mulwh.d\t%4, %m1, %m0:t\n" -+ "macwh.d\t%4, %1, %m0:b\n" -+ "ld.w\t%m0, %5++\n" -+ "macwh.d\t%4, %m2, %0:t\n" -+ "macwh.d\t%4, %2, %0:b\n" -+ "macwh.d\t%4, %m3, %m0:t\n" -+ "macwh.d\t%4, %3, %m0:b\n" -+ "ld.d\t%0, %5++\n" -+ "rol\t%4\n" -+ "rol\t%m4\n" -+ : "=&r"(tmp1), "=&r"(tmp2), "=&r"(tmp3), "=&r"(tmp4), -+ "=&r"(acc), "+r"(s) -+ : "r"(X)); -+ -+ asm volatile ("st.w\t%1[0], %m0\n" -+ "neg\t%m0\n" -+ "st.w\t%2[5*4], %m0\n" -+ : "+r"(acc) -+ : "r"(&yptr[i]), "r"(&yptr[-i])); -+ -+ asm volatile ("mulwh.d\t%4, %m1, %m0:t\n" -+ "macwh.d\t%4, %1, %m0:b\n" -+ "ld.w\t%m0, %5++\n" -+ "macwh.d\t%4, %m2, %0:t\n" -+ "macwh.d\t%4, %2, %0:b\n" -+ "macwh.d\t%4, %m3, %m0:t\n" -+ "macwh.d\t%4, %3, %m0:b\n" -+ "rol\t%4\n" -+ "rol\t%m4\n" -+ : "+r"(tmp1), "+r"(tmp2), "+r"(tmp3), "+r"(tmp4), -+ "=&r"(acc), "+r"(s) -+ : "r"(X)); -+ -+ asm volatile ( "st.w\t%1[6*4], %m0\n" -+ "st.w\t%2[11*4], %m0\n" -+ :: "r"(acc), "r"(&yptr[i]), "r"(&yptr[-i])); -+ -+ -+#else - MAD_F_ML0(hi, lo, X[0], (*s)[0]); - MAD_F_MLA(hi, lo, X[1], (*s)[1]); - MAD_F_MLA(hi, lo, X[2], (*s)[2]); -@@ -2187,6 +2300,7 @@ void III_imdct_s(mad_fixed_t const X[18], mad_fixed_t z[36]) - yptr[11 - i] = yptr[i + 6]; - - ++s; -+#endif - } - - yptr += 12; -@@ -2198,6 +2312,196 @@ void III_imdct_s(mad_fixed_t const X[18], mad_fixed_t z[36]) - yptr = &y[0]; - wptr = &window_s[0]; - -+#ifdef FPM_AVR32 -+ /* z[0] = 0; -+ z[1] = 0; -+ z[2] = 0; -+ z[3] = 0; -+ z[4] = 0; -+ z[5] = 0; -+ z[30] = 0; -+ z[31] = 0; -+ z[32] = 0; -+ z[33] = 0; -+ z[34] = 0; -+ z[35] = 0; -+ */ -+ { -+ register long long int tmp, tmp2, tmp3, w0123, w4567, w891011; -+ asm volatile ("mov\t%m0, 0\n" -+ "mov\t%0, %m0\n" -+ "st.d\t%1[0], %0\n" -+ "st.d\t%1[2*4], %0\n" -+ "st.d\t%1[4*4], %0\n" -+ "st.d\t%1[30*4], %0\n" -+ "st.d\t%1[32*4], %0\n" -+ "st.d\t%1[34*4], %0\n" -+ : "=&r"(tmp) : "r"(z)); -+ -+ -+ -+ /* -+ z[6] = mad_f_mul(yptr [0], wptr[0]); -+ z[7] = mad_f_mul(yptr [1], wptr[1]); -+ z[8] = mad_f_mul(yptr [2], wptr[2]); -+ z[9] = mad_f_mul(yptr [3], wptr[3]); -+ z[10] = mad_f_mul(yptr[4], wptr[4]); -+ z[11] = mad_f_mul(yptr[5], wptr[5]); -+ z[24] = mad_f_mul(yptr [30], wptr[6]); -+ z[25] = mad_f_mul(yptr [31], wptr[7]); -+ z[26] = mad_f_mul(yptr [32], wptr[8]); -+ z[27] = mad_f_mul(yptr [33], wptr[9]); -+ z[28] = mad_f_mul(yptr[34], wptr[10]); -+ z[29] = mad_f_mul(yptr[35], wptr[11]); -+ */ -+ -+ -+ asm volatile ("ld.d\t%0, %5[0*4]\n" -+ "ld.d\t%3, %6[0*4]\n" -+ "ld.d\t%1, %5[2*4]\n" -+ "ld.d\t%2, %5[4*4]\n" -+ "mulsatrndwh.w\t%m3, %m3, %m0:t\n" -+ "mulsatrndwh.w\t%3, %3, %m0:b\n" -+ "ld.d\t%4, %6[2*4]\n" -+ "st.d\t%7[6*4], %3\n" -+ -+ "mulsatrndwh.w\t%m4, %m4, %0:t\n" -+ "mulsatrndwh.w\t%4, %4, %0:b\n" -+ "ld.d\t%3, %6[4*4]\n" -+ "st.d\t%7[8*4], %4\n" -+ -+ "mulsatrndwh.w\t%m3, %m3, %m1:t\n" -+ "mulsatrndwh.w\t%3, %3, %m1:b\n" -+ "ld.d\t%4, %6[30*4]\n" -+ "st.d\t%7[10*4], %3\n" -+ -+ "mulsatrndwh.w\t%m4, %m4, %1:t\n" -+ "mulsatrndwh.w\t%4, %4, %1:b\n" -+ "ld.d\t%3, %6[32*4]\n" -+ "st.d\t%7[24*4], %4\n" -+ -+ "mulsatrndwh.w\t%m3, %m3, %m2:t\n" -+ "mulsatrndwh.w\t%3, %3, %m2:b\n" -+ "ld.d\t%4, %6[34*4]\n" -+ "st.d\t%7[26*4], %3\n" -+ -+ "mulsatrndwh.w\t%m4, %m4, %2:t\n" -+ "mulsatrndwh.w\t%4, %4, %2:b\n" -+ "st.d\t%7[28*4], %4\n" -+ -+ : "=&r"(w0123), "=&r"(w4567), "=&r"(w891011), "=&r"(tmp), "=&r"(tmp2) -+ : "r"(wptr), "r"(yptr), "r"(z)); -+ /* -+ MAD_F_ML0(hi, lo, yptr[6], wptr[6]); -+ MAD_F_MLA(hi, lo, yptr[12], wptr[0]); -+ z[12] = MAD_F_MLZ(hi, lo); -+ MAD_F_ML0(hi, lo, yptr[7], wptr[7]); -+ MAD_F_MLA(hi, lo, yptr[13], wptr[1]); -+ z[13] = MAD_F_MLZ(hi, lo); -+ MAD_F_ML0(hi, lo, yptr[8], wptr[8]); -+ MAD_F_MLA(hi, lo, yptr[14], wptr[2]); -+ z[14] = MAD_F_MLZ(hi, lo); -+ MAD_F_ML0(hi, lo, yptr[9], wptr[9]); -+ MAD_F_MLA(hi, lo, yptr[15], wptr[3]); -+ z[15] = MAD_F_MLZ(hi, lo); -+ MAD_F_ML0(hi, lo, yptr[10], wptr[10]); -+ MAD_F_MLA(hi, lo, yptr[16], wptr[4]); -+ z[16] = MAD_F_MLZ(hi, lo); -+ MAD_F_ML0(hi, lo, yptr[11], wptr[11]); -+ MAD_F_MLA(hi, lo, yptr[17], wptr[5]); -+ z[17] = MAD_F_MLZ(hi, lo); -+ -+ MAD_F_ML0(hi, lo, yptr[18], wptr[6]); -+ MAD_F_MLA(hi, lo, yptr[24], wptr[0]); -+ z[18] = MAD_F_MLZ(hi, lo); -+ MAD_F_ML0(hi, lo, yptr[19], wptr[7]); -+ MAD_F_MLA(hi, lo, yptr[25], wptr[1]); -+ z[19] = MAD_F_MLZ(hi, lo); -+ MAD_F_ML0(hi, lo, yptr[20], wptr[8]); -+ MAD_F_MLA(hi, lo, yptr[26], wptr[2]); -+ z[20] = MAD_F_MLZ(hi, lo); -+ MAD_F_ML0(hi, lo, yptr[21], wptr[9]); -+ MAD_F_MLA(hi, lo, yptr[27], wptr[3]); -+ z[21] = MAD_F_MLZ(hi, lo); -+ MAD_F_ML0(hi, lo, yptr[22], wptr[10]); -+ MAD_F_MLA(hi, lo, yptr[28], wptr[4]); -+ z[22] = MAD_F_MLZ(hi, lo); -+ MAD_F_ML0(hi, lo, yptr[23], wptr[11]); -+ MAD_F_MLA(hi, lo, yptr[29], wptr[5]); -+ z[23] = MAD_F_MLZ(hi, lo);*/ -+ -+ -+ asm volatile ("ld.d\t%0, %3[6*4]\n" -+ "ld.d\t%1, %3[12*4]\n" -+ "mulwh.d\t%2, %m0, %5:t\n" -+ "macwh.d\t%2, %m1, %m4:t\n" -+ "mulwh.d\t%0, %0, %5:b\n" -+ "macwh.d\t%0, %1, %m4:b\n" -+ "lsl\t%m2, 1\n" -+ "lsl\t%2, %m0, 1\n" -+ "st.d\t%6[12*4], %2\n" -+ -+ "ld.d\t%0, %3[18*4]\n" -+ "ld.d\t%1, %3[24*4]\n" -+ "mulwh.d\t%2, %m0, %5:t\n" -+ "macwh.d\t%2, %m1, %m4:t\n" -+ "mulwh.d\t%0, %0, %5:b\n" -+ "macwh.d\t%0, %1, %m4:b\n" -+ "lsl\t%m2, 1\n" -+ "lsl\t%2, %m0, 1\n" -+ "st.d\t%6[18*4], %2\n" -+ -+ : "=&r"(tmp), "=&r"(tmp2), "=&r"(tmp3) -+ : "r"(yptr), "r"(w0123), "r"(w4567), "r"(z)); -+ -+ asm volatile ("ld.d\t%0, %3[8*4]\n" -+ "ld.d\t%1, %3[14*4]\n" -+ "mulwh.d\t%2, %m0, %m5:t\n" -+ "macwh.d\t%2, %m1, %4:t\n" -+ "mulwh.d\t%0, %0, %m5:b\n" -+ "macwh.d\t%0, %1, %4:b\n" -+ "lsl\t%m2, 1\n" -+ "lsl\t%2, %m0, 1\n" -+ "st.d\t%6[14*4], %2\n" -+ -+ "ld.d\t%0, %3[20*4]\n" -+ "ld.d\t%1, %3[26*4]\n" -+ "mulwh.d\t%2, %m0, %m5:t\n" -+ "macwh.d\t%2, %m1, %4:t\n" -+ "mulwh.d\t%0, %0, %m5:b\n" -+ "macwh.d\t%0, %1, %4:b\n" -+ "lsl\t%m2, 1\n" -+ "lsl\t%2, %m0, 1\n" -+ "st.d\t%6[20*4], %2\n" -+ -+ : "=&r"(tmp), "=&r"(tmp2), "=&r"(tmp3) -+ : "r"(yptr), "r"(w0123), "r"(w891011), "r"(z)); -+ -+ asm volatile ("ld.d\t%0, %3[10*4]\n" -+ "ld.d\t%1, %3[16*4]\n" -+ "mulwh.d\t%2, %m0, %5:t\n" -+ "macwh.d\t%2, %m1, %m4:t\n" -+ "mulwh.d\t%0, %0, %5:b\n" -+ "macwh.d\t%0, %1, %m4:b\n" -+ "lsl\t%m2, 1\n" -+ "lsl\t%2, %m0, 1\n" -+ "st.d\t%6[16*4], %2\n" -+ -+ "ld.d\t%0, %3[22*4]\n" -+ "ld.d\t%1, %3[28*4]\n" -+ "mulwh.d\t%2, %m0, %5:t\n" -+ "macwh.d\t%2, %m1, %m4:t\n" -+ "mulwh.d\t%0, %0, %5:b\n" -+ "macwh.d\t%0, %1, %m4:b\n" -+ "lsl\t%m2, 1\n" -+ "lsl\t%2, %m0, 1\n" -+ "st.d\t%6[22*4], %2\n" -+ -+ : "=&r"(tmp), "=&r"(tmp2), "=&r"(tmp3) -+ : "r"(yptr), "r"(w4567), "r"(w891011), "r"(z)); -+ -+ } -+#else - for (i = 0; i < 6; ++i) { - z[i + 0] = 0; - z[i + 6] = mad_f_mul(yptr[ 0 + 0], wptr[0]); -@@ -2218,8 +2522,15 @@ void III_imdct_s(mad_fixed_t const X[18], mad_fixed_t z[36]) - ++yptr; - ++wptr; - } -+#endif - } - -+#ifdef FPM_AVR32 -+# undef mad_f_mul -+# define mad_f_mul(x, y) ((((x) + (1L << 11)) >> 12) * \ -+ (((y) + (1L << 15)) >> 16)) -+#endif -+ - /* - * NAME: III_overlap() - * DESCRIPTION: perform overlap-add of windowed IMDCT outputs -diff --git a/synth.c b/synth.c -index 1d28d43..f42d49b 100644 ---- a/synth.c -+++ b/synth.c -@@ -29,20 +29,6 @@ - # include "frame.h" - # include "synth.h" - --/* -- * NAME: synth->init() -- * DESCRIPTION: initialize synth struct -- */ --void mad_synth_init(struct mad_synth *synth) --{ -- mad_synth_mute(synth); -- -- synth->phase = 0; -- -- synth->pcm.samplerate = 0; -- synth->pcm.channels = 0; -- synth->pcm.length = 0; --} - - /* - * NAME: synth->mute() -@@ -88,6 +74,10 @@ void mad_synth_mute(struct mad_synth *synth) - - /* FPM_DEFAULT without OPT_SSO will actually lose accuracy and performance */ - -+# if defined(FPM_AVR32) -+# define OPT_SSO -+# endif -+ - # if defined(FPM_DEFAULT) && !defined(OPT_SSO) - # define OPT_SSO - # endif -@@ -522,9 +512,15 @@ void dct32(mad_fixed_t const in[32], unsigned int slot, - # endif - # define ML0(hi, lo, x, y) ((lo) = (x) * (y)) - # define MLA(hi, lo, x, y) ((lo) += (x) * (y)) --# define MLN(hi, lo) ((lo) = -(lo)) --# define MLZ(hi, lo) ((void) (hi), (mad_fixed_t) (lo)) --# define SHIFT(x) ((x) >> 2) -+# if defined(FPM_AVR32) -+# define MLN(hi, lo) MAD_F_MLN((hi), (lo)) -+# define MLZ(hi, lo) (hi) -+# define SHIFT(x) ((x) << 2) -+# else -+# define MLN(hi, lo) ((lo) = -(lo)) -+# define MLZ(hi, lo) ((void) (hi), (mad_fixed_t) (lo)) -+# define SHIFT(x) ((x) >> 2) -+# endif - # define PRESHIFT(x) ((MAD_F(x) + (1L << 13)) >> 14) - # else - # define ML0(hi, lo, x, y) MAD_F_ML0((hi), (lo), (x), (y)) -@@ -541,11 +537,54 @@ void dct32(mad_fixed_t const in[32], unsigned int slot, - # endif - # endif - -+/* -+ * NAME: synth->init() -+ * DESCRIPTION: initialize synth struct -+ */ -+ -+#ifdef FPM_AVR32 -+short Dmod[17][33]; -+#endif -+ - static -+#ifdef FPM_AVR32 -+short const D[17][32] = { -+#else - mad_fixed_t const D[17][32] = { -+#endif - # include "D.dat" - }; - -+void mad_synth_init(struct mad_synth *synth) -+{ -+ -+ mad_synth_mute(synth); -+ -+ synth->phase = 0; -+ -+ synth->pcm.samplerate = 0; -+ synth->pcm.channels = 0; -+ synth->pcm.length = 0; -+ -+#ifdef FPM_AVR32 -+ { -+ int i, j; -+ for ( i = 0; i < 17; i++ ){ -+ for ( j = 0; j < 32; j++ ){ -+ if ( j & 1 ){ -+ Dmod[i][17 + (j >> 1)]= D[i][j]; -+ } else { -+ Dmod[i][(j >> 1)]= D[i][j]; -+ } -+ } -+ -+ Dmod[i][16]= Dmod[i][16+8]; -+ } -+ } -+#endif -+ -+} -+ - # if defined(ASO_SYNTH) - void synth_full(struct mad_synth *, struct mad_frame const *, - unsigned int, unsigned int); -@@ -560,9 +599,13 @@ void synth_full(struct mad_synth *synth, struct mad_frame const *frame, - { - unsigned int phase, ch, s, sb, pe, po; - mad_fixed_t *pcm1, *pcm2, (*filter)[2][2][16][8]; -- mad_fixed_t const (*sbsample)[36][32]; -+ mad_fixed_t /*const*/ (*sbsample)[36][32]; - register mad_fixed_t (*fe)[8], (*fx)[8], (*fo)[8]; -+#ifdef FPM_AVR32 -+ register short const (*Dptr)[32], *ptr; -+#else - register mad_fixed_t const (*Dptr)[32], *ptr; -+#endif - register mad_fixed64hi_t hi; - register mad_fixed64lo_t lo; - -@@ -573,6 +616,20 @@ void synth_full(struct mad_synth *synth, struct mad_frame const *frame, - pcm1 = synth->pcm.samples[ch]; - - for (s = 0; s < ns; ++s) { -+# ifdef FPM_AVR32 -+/* -+ int i; -+ for ( i = 0; i < 32; i++ ){ -+ (*sbsample)[s][i] = ((*sbsample)[s][i] + (1 << 13)) & 0xFFFFC000; -+ } -+*/ -+ dct32_avr32((*sbsample)[s], phase >> 1, -+ (*filter)[0][phase & 1], (*filter)[1][phase & 1]); -+ /* printf("dct32: %d\n", GET_CYCLES);*/ -+ pcm1 = synth_avr32(phase, (mad_fixed_t *)filter, \ -+ pcm1, (short *)&Dmod[0]); -+ /* printf("synth_window: %d\n", GET_CYCLES);*/ -+# else - dct32((*sbsample)[s], phase >> 1, - (*filter)[0][phase & 1], (*filter)[1][phase & 1]); - -@@ -679,6 +736,7 @@ void synth_full(struct mad_synth *synth, struct mad_frame const *frame, - MLA(hi, lo, (*fo)[7], ptr[ 2]); - - *pcm1 = SHIFT(-MLZ(hi, lo)); -+# endif - pcm1 += 16; - - phase = (phase + 1) % 16; -diff --git a/synth_avr32.S b/synth_avr32.S -new file mode 100644 -index 0000000..701077b ---- /dev/null -+++ b/synth_avr32.S -@@ -0,0 +1,394 @@ -+/* -+ Optimized function for speeding up synthesis filter -+ in MPEG Audio Decoding. -+ Copyright 2003-2006 Atmel Corporation. -+ -+ Written by Ronny Pedersen and Lars Even Almås, Atmel Norway -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software -+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -+ -+ -+/* ***************** -+ Defining macros -+ ***************** */ -+ -+ .macro window_1 f, ptr, acc, ptr_offset, mul, tmp1_lo, tmp1_hi, tmp2_lo, tmp2_hi, tmp3_lo, tmp3_hi -+ ld.d \tmp1_lo, \f[0*4] /* tmp1 = { f[0], f[1] } */ -+ ld.w \tmp2_lo, \ptr[0*2+\ptr_offset*2] /* tmp2_lo = { ptr[0], ptr[1] }*/ -+ ld.d \tmp3_lo, \f[6*4] /* tmp3 = { f[6], f[7] } */ -+ ld.w \tmp2_hi, \ptr[6*2+\ptr_offset*2] /* tmp2_hi = { ptr[6], ptr[7] }*/ -+ .if \mul -+ mulwh.d \acc, \tmp1_hi, \tmp2_lo:t /* f[0] * ptr[0]*/ -+ .else -+ macwh.d \acc, \tmp1_hi, \tmp2_lo:t /* f[0] * ptr[0]*/ -+ .endif -+ macwh.d \acc, \tmp3_lo, \tmp2_lo:b /* f[7] * ptr[1]*/ -+ ld.w \tmp2_lo, \ptr[2*2+\ptr_offset*2] /* tmp2_lo = { ptr[2], ptr[3] }*/ -+ macwh.d \acc, \tmp1_lo, \tmp2_hi:b /* f[1] * ptr[7]*/ -+ ld.d \tmp1_lo, \f[2*4] /* tmp1 = { f[2], f[3] } */ -+ -+ macwh.d \acc, \tmp3_hi, \tmp2_lo:t /* f[6] * ptr[2]*/ -+ macwh.d \acc, \tmp1_hi, \tmp2_hi:t /* f[2] * ptr[6]*/ -+ ld.d \tmp3_lo, \f[4*4] /* tmp3 = { f[4], f[5] } */ -+ ld.w \tmp2_hi, \ptr[4*2+\ptr_offset*2] /* tmp2_hi = { ptr[4], ptr[5] }*/ -+ macwh.d \acc, \tmp3_lo, \tmp2_lo:b /* f[5] * ptr[3]*/ -+ -+ macwh.d \acc, \tmp1_lo, \tmp2_hi:b /* f[3] * ptr[5]*/ -+ macwh.d \acc, \tmp3_hi, \tmp2_hi:t /* f[4] * ptr[4]*/ -+ .endm -+ -+ .macro window_2 f, ptr, acc, ptr_offset, mul, tmp1_lo, tmp1_hi, tmp2_lo, tmp2_hi, tmp3_lo, tmp3_hi -+ ld.d \tmp1_lo, \f[0*4] /* tmp1 = { f[0], f[1] } */ -+ ld.w \tmp2_lo, \ptr[7*2+\ptr_offset*2] /* tmp2_lo = { ptr[7], ptr[8] }*/ -+ ld.d \tmp3_lo, \f[2*4] /* tmp3 = { f[2], f[3] } */ -+ ld.w \tmp2_hi, \ptr[9*2+\ptr_offset*2] /* tmp2_hi = { ptr[9], ptr[10] }*/ -+ .if \mul -+ mulwh.d \acc, \tmp1_hi, \tmp2_lo:t /* f[0] * ptr[7]*/ -+ .else -+ macwh.d \acc, \tmp1_hi, \tmp2_lo:t /* f[0] * ptr[7]*/ -+ .endif -+ macwh.d \acc, \tmp1_lo, \tmp2_lo:b /* f[1] * ptr[8]*/ -+ -+ ld.d \tmp1_lo, \f[4*4] /* tmp1 = { f[4], f[5] } */ -+ ld.w \tmp2_lo, \ptr[11*2+\ptr_offset*2] /* tmp2_lo = { ptr[11], ptr[12] }*/ -+ -+ macwh.d \acc, \tmp3_hi, \tmp2_hi:t /* f[2] * ptr[9]*/ -+ macwh.d \acc, \tmp3_lo, \tmp2_hi:b /* f[3] * ptr[10]*/ -+ -+ ld.d \tmp3_lo, \f[6*4] /* tmp3 = { f[6], f[7] } */ -+ ld.w \tmp2_hi, \ptr[13*2+\ptr_offset*2] /* tmp2_hi = { ptr[13], ptr[14] }*/ -+ -+ macwh.d \acc, \tmp1_hi, \tmp2_lo:t /* f[4] * ptr[11]*/ -+ macwh.d \acc, \tmp1_lo, \tmp2_lo:b /* f[5] * ptr[12]*/ -+ macwh.d \acc, \tmp3_hi, \tmp2_hi:t /* f[6] * ptr[13]*/ -+ macwh.d \acc, \tmp3_lo, \tmp2_hi:b /* f[7] * ptr[14]*/ -+ .endm -+ -+ .macro scale res, d_lo, d_hi -+ lsl \d_hi, 2 -+ .endm -+ -+/* ********************** -+ Starting main function -+ ********************** */ -+ -+/* Function synth_avr32 is called from synth.c with arguments: -+ phase, filter, *pcm1, &D[0] */ -+ -+ .global synth_avr32 -+synth_avr32: -+ pushm r0-r7, lr -+ sub sp, 8 -+ -+ /* R12 = phase, R11 = filter, R10 = pcm1, r9 = D*/ -+ bld r12, 0 -+ brcc synth_even -+ -+ /* Filter for odd phases */ -+ -+ /* fe = &(*filter)[0][1][0]; -+ fx = &(*filter)[0][0][0]; -+ fo = &(*filter)[1][0][0]; */ -+ sub lr /*fe*/, r11, -16*8*4 -+ sub r8 /*fo*/, r11, -16*8*4*2 -+ -+ /* pe = phase >> 1; */ -+ lsr r12, 1 -+ stdsp sp[4], r12 -+ /* ptr = (short const *)Dmod + pe; */ -+ add r12, r9, r12 << 1 -+ -+ /* ML0(hi, lo, (*fx)[0], ptr[0 + 17]); -+ MLA(hi, lo, (*fx)[1], ptr[7 + 17]); -+ MLA(hi, lo, (*fx)[2], ptr[6 + 17]); -+ MLA(hi, lo, (*fx)[3], ptr[5 + 17]); -+ MLA(hi, lo, (*fx)[4], ptr[4 + 17]); -+ MLA(hi, lo, (*fx)[5], ptr[3 + 17]); -+ MLA(hi, lo, (*fx)[6], ptr[2 + 17]); -+ MLA(hi, lo, (*fx)[7], ptr[1 + 17]); */ -+ window_1 r11/*fx*/,r12/*ptr*/,r0/*acc*/,17/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7 -+ -+ /* MLN(hi, lo); */ -+ neg r0 -+ acr r1 -+ neg r1 -+ -+ /* MLA(hi, lo, (*fe)[0], ptr[0]); -+ MLA(hi, lo, (*fe)[1], ptr[7]); -+ MLA(hi, lo, (*fe)[2], ptr[6]); -+ MLA(hi, lo, (*fe)[3], ptr[5]); -+ MLA(hi, lo, (*fe)[4], ptr[4]); -+ MLA(hi, lo, (*fe)[5], ptr[3]); -+ MLA(hi, lo, (*fe)[6], ptr[2]); -+ MLA(hi, lo, (*fe)[7], ptr[1]); */ -+ window_1 lr/*fe*/,r12/*ptr*/,r0/*acc*/,0/*off*/,0/*mac*/,r2,r3,r4,r5,r6,r7 -+ -+ /* *pcm1++ = SHIFT(MLZ(hi, lo)); -+ -+ pcm2 = pcm1 + 31; */ -+ scale r1, r0, r1 -+ st.w r10/*pcm_1*/++, r1 -+ sub r11/*pcm2*/, r10, -4*31 -+ -+ /* for (sb = 1; sb < 16; ++sb) { */ -+ mov r2, 15 -+ stdsp sp[0], r2 -+odd_loop: -+ /* ++fe; -+ ptr += 33; */ -+ sub lr /*fe*/, -8*4 -+ sub r12, -33*2 -+ -+ /* ML0(hi, lo, (*fo)[0], ptr[0 + 17]); -+ MLA(hi, lo, (*fo)[1], ptr[7 + 17]); -+ MLA(hi, lo, (*fo)[2], ptr[6 + 17]); -+ MLA(hi, lo, (*fo)[3], ptr[5 + 17]); -+ MLA(hi, lo, (*fo)[4], ptr[4 + 17]); -+ MLA(hi, lo, (*fo)[5], ptr[3 + 17]); -+ MLA(hi, lo, (*fo)[6], ptr[2 + 17]); -+ MLA(hi, lo, (*fo)[7], ptr[1 + 17]); */ -+ window_1 r8/*fo*/,r12/*ptr*/,r0/*acc*/,17/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7 -+ /* MLN(hi, lo); */ -+ -+ neg r0 -+ acr r1 -+ neg r1 -+ -+ /* MLA(hi, lo, (*fe)[7], ptr[1]); -+ MLA(hi, lo, (*fe)[6], ptr[2]); -+ MLA(hi, lo, (*fe)[5], ptr[3]); -+ MLA(hi, lo, (*fe)[4], ptr[4]); -+ MLA(hi, lo, (*fe)[3], ptr[5]); -+ MLA(hi, lo, (*fe)[2], ptr[6]); -+ MLA(hi, lo, (*fe)[1], ptr[7]); -+ MLA(hi, lo, (*fe)[0], ptr[0]); */ -+ window_1 lr/*fe*/,r12/*ptr*/,r0/*acc*/,0/*off*/,0/*mac*/,r2,r3,r4,r5,r6,r7 -+ -+ /* ptr -= 2*pe; */ -+ lddsp r2, sp[4] -+ -+ /* *pcm1++ = SHIFT(MLZ(hi, lo)); */ -+ -+ scale r1, r0, r1 -+ sub r12/*ptr*/, r12, r2/*pe*/<< 2 -+ st.w r10/*pcm_1*/++, r1 -+ -+ -+ /* ML0(hi, lo, (*fe)[0], ptr[7 + 17]); -+ MLA(hi, lo, (*fe)[1], ptr[8 + 17]); -+ MLA(hi, lo, (*fe)[2], ptr[9 + 17]); -+ MLA(hi, lo, (*fe)[3], ptr[10 + 17]); -+ MLA(hi, lo, (*fe)[4], ptr[11 + 17]); -+ MLA(hi, lo, (*fe)[5], ptr[12 + 17]); -+ MLA(hi, lo, (*fe)[6], ptr[13 + 17]); -+ MLA(hi, lo, (*fe)[7], ptr[14 + 17]); */ -+ window_2 lr/*fe*/,r12/*ptr*/,r0/*acc*/,17/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7 -+ /* MLA(hi, lo, (*fo)[7], ptr[14]); -+ MLA(hi, lo, (*fo)[6], ptr[13]); -+ MLA(hi, lo, (*fo)[5], ptr[12]); -+ MLA(hi, lo, (*fo)[4], ptr[11]); -+ MLA(hi, lo, (*fo)[3], ptr[10]); -+ MLA(hi, lo, (*fo)[2], ptr[9]); -+ MLA(hi, lo, (*fo)[1], ptr[8]); -+ MLA(hi, lo, (*fo)[0], ptr[7]); */ -+ window_2 r8/*fo*/,r12/*ptr*/,r0/*acc*/,0/*off*/,0/*mac*/,r2,r3,r4,r5,r6,r7 -+ -+ -+ /* *pcm2-- = SHIFT(MLZ(hi, lo)); */ -+ lddsp r3, sp[4] -+ lddsp r2, sp[0] -+ scale r1, r0, r1 -+ st.w --r11/*pcm_2*/, r1 -+ -+ /* ptr += 2*pe; */ -+ add r12/*ptr*/, r12, r3/*pe*/<< 2 -+ -+ /* ++fo; -+ } */ -+ sub r8/*fo*/, -8*4 -+ -+ sub r2, 1 -+ stdsp sp[0], r2 -+ brne odd_loop -+ -+ /* ptr += 33; */ -+ sub r12/*ptr*/, -33*2 -+ -+ /* ML0(hi, lo, (*fo)[0], ptr[0 + 17]); -+ MLA(hi, lo, (*fo)[1], ptr[7 + 17]); -+ MLA(hi, lo, (*fo)[2], ptr[6 + 17]); -+ MLA(hi, lo, (*fo)[3], ptr[5 + 17]); -+ MLA(hi, lo, (*fo)[4], ptr[4 + 17]); -+ MLA(hi, lo, (*fo)[5], ptr[3 + 17]); -+ MLA(hi, lo, (*fo)[6], ptr[2 + 17]); -+ MLA(hi, lo, (*fo)[7], ptr[1 + 17]); */ -+ window_1 r8/*fo*/,r12/*ptr*/,r0/*acc*/,17/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7 -+ -+ rjmp synth_end -+synth_even: -+ /* Filter for even phases */ -+ -+ /* fe = &(*filter)[0][0][0]; -+ fx = &(*filter)[0][1][0]; -+ fo = &(*filter)[1][1][0]; */ -+ sub lr /*fx*/, r11, -16*8*4 -+ sub r8 /*fo*/, r11, -(16*8*4*2 + 16*8*4) -+ -+ /* po = ((phase - 1) & 0xF) >> 1; */ -+ sub r12, 1 -+ andl r12, 0xe, COH -+ stdsp sp[4], r12 -+ /* ptr = (short const *)Dmod + po; */ -+ add r12, r9, r12 -+ -+ /* ML0(hi, lo, (*fx)[0], ptr[0 + 17]); -+ MLA(hi, lo, (*fx)[1], ptr[7 + 17]); -+ MLA(hi, lo, (*fx)[2], ptr[6 + 17]); -+ MLA(hi, lo, (*fx)[3], ptr[5 + 17]); -+ MLA(hi, lo, (*fx)[4], ptr[4 + 17]); -+ MLA(hi, lo, (*fx)[5], ptr[3 + 17]); -+ MLA(hi, lo, (*fx)[6], ptr[2 + 17]); -+ MLA(hi, lo, (*fx)[7], ptr[1 + 17]); */ -+ window_1 lr/*fx*/,r12/*ptr*/,r0/*acc*/,17/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7 -+ -+ /* MLN(hi, lo); */ -+ neg r0 -+ acr r1 -+ neg r1 -+ -+ /* MLA(hi, lo, (*fe)[0], ptr[0 + 1]); -+ MLA(hi, lo, (*fe)[1], ptr[7 + 1]); -+ MLA(hi, lo, (*fe)[2], ptr[6 + 1]); -+ MLA(hi, lo, (*fe)[3], ptr[5 + 1]); -+ MLA(hi, lo, (*fe)[4], ptr[4 + 1]); -+ MLA(hi, lo, (*fe)[5], ptr[3 + 1]); -+ MLA(hi, lo, (*fe)[6], ptr[2 + 1]); -+ MLA(hi, lo, (*fe)[7], ptr[1 + 1]); */ -+ window_1 r11/*fe*/,r12/*ptr*/,r0/*acc*/,1/*off*/,0/*mac*/,r2,r3,r4,r5,r6,r7 -+ -+ /* *pcm1++ = SHIFT(MLZ(hi, lo)); -+ -+ pcm2 = pcm1 + 31; */ -+ scale r1, r0, r1 -+ st.w r10/*pcm_1*/++, r1 -+ sub lr/*pcm2*/, r10, -4*31 -+ -+ /* for (sb = 1; sb < 16; ++sb) { */ -+ mov r2, 15 -+ stdsp sp[0], r2 -+even_loop: -+ /* ++fe; -+ ptr += 33; */ -+ sub r11 /*fe*/, -8*4 -+ sub r12, -33*2 -+ -+ /* ML0(hi, lo, (*fo)[0], ptr[0 + 17]); -+ MLA(hi, lo, (*fo)[1], ptr[7 + 17]); -+ MLA(hi, lo, (*fo)[2], ptr[6 + 17]); -+ MLA(hi, lo, (*fo)[3], ptr[5 + 17]); -+ MLA(hi, lo, (*fo)[4], ptr[4 + 17]); -+ MLA(hi, lo, (*fo)[5], ptr[3 + 17]); -+ MLA(hi, lo, (*fo)[6], ptr[2 + 17]); -+ MLA(hi, lo, (*fo)[7], ptr[1 + 17]); */ -+ window_1 r8/*fo*/,r12/*ptr*/,r0/*acc*/,17/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7 -+ /* MLN(hi, lo); */ -+ neg r0 -+ acr r1 -+ neg r1 -+ -+ /* MLA(hi, lo, (*fe)[7], ptr[1 + 1]); -+ MLA(hi, lo, (*fe)[6], ptr[2 + 1]); -+ MLA(hi, lo, (*fe)[5], ptr[3 + 1]); -+ MLA(hi, lo, (*fe)[4], ptr[4 + 1]); -+ MLA(hi, lo, (*fe)[3], ptr[5 + 1]); -+ MLA(hi, lo, (*fe)[2], ptr[6 + 1]); -+ MLA(hi, lo, (*fe)[1], ptr[7 + 1]); -+ MLA(hi, lo, (*fe)[0], ptr[0 + 1]); */ -+ window_1 r11/*fe*/,r12/*ptr*/,r0/*acc*/,1/*off*/,0/*mac*/,r2,r3,r4,r5,r6,r7 -+ -+ /* *pcm1++ = SHIFT(MLZ(hi, lo)); */ -+ lddsp r2, sp[4] -+ scale r1, r0, r1 -+ /* ptr -= 2*po; */ -+ sub r12/*ptr*/, r12, r2/*po*/<< 1 -+ st.w r10/*pcm_1*/++, r1 -+ -+ -+ /* ML0(hi, lo, (*fe)[0], ptr[7 + 17 - 1]); -+ MLA(hi, lo, (*fe)[1], ptr[8 + 17 - 1]); -+ MLA(hi, lo, (*fe)[2], ptr[9 + 17 - 1]); -+ MLA(hi, lo, (*fe)[3], ptr[10 + 17 - 1]); -+ MLA(hi, lo, (*fe)[4], ptr[11 + 17 - 1]); -+ MLA(hi, lo, (*fe)[5], ptr[12 + 17 - 1]); -+ MLA(hi, lo, (*fe)[6], ptr[13 + 17 - 1]); -+ MLA(hi, lo, (*fe)[7], ptr[14 + 17 - 1]); */ -+ window_2 r11/*fe*/,r12/*ptr*/,r0/*acc*/,16/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7 -+ /* MLA(hi, lo, (*fo)[7], ptr[14]); -+ MLA(hi, lo, (*fo)[6], ptr[13]); -+ MLA(hi, lo, (*fo)[5], ptr[12]); -+ MLA(hi, lo, (*fo)[4], ptr[11]); -+ MLA(hi, lo, (*fo)[3], ptr[10]); -+ MLA(hi, lo, (*fo)[2], ptr[9]); -+ MLA(hi, lo, (*fo)[1], ptr[8]); -+ MLA(hi, lo, (*fo)[0], ptr[7]); */ -+ window_2 r8/*fo*/,r12/*ptr*/,r0/*acc*/,0/*off*/,0/*mac*/,r2,r3,r4,r5,r6,r7 -+ -+ -+ /* *pcm2-- = SHIFT(MLZ(hi, lo)); */ -+ lddsp r3, sp[4] -+ lddsp r2, sp[0] -+ scale r1, r0, r1 -+ st.w --lr/*pcm_2*/, r1 -+ -+ /* ptr += 2*po; */ -+ add r12/*ptr*/, r12, r3/*po*/<< 1 -+ -+ /* ++fo; -+ } */ -+ sub r8/*fo*/, -8*4 -+ -+ sub r2, 1 -+ stdsp sp[0], r2 -+ brne even_loop -+ -+ /* ptr += 33; */ -+ sub r12/*ptr*/, -33*2 -+ -+ /* ML0(hi, lo, (*fo)[0], ptr[0 + 17]); -+ MLA(hi, lo, (*fo)[1], ptr[7 + 17]); -+ MLA(hi, lo, (*fo)[2], ptr[6 + 17]); -+ MLA(hi, lo, (*fo)[3], ptr[5 + 17]); -+ MLA(hi, lo, (*fo)[4], ptr[4 + 17]); -+ MLA(hi, lo, (*fo)[5], ptr[3 + 17]); -+ MLA(hi, lo, (*fo)[6], ptr[2 + 17]); -+ MLA(hi, lo, (*fo)[7], ptr[1 + 17]); */ -+ window_1 r8/*fo*/,r12/*ptr*/,r0/*acc*/,17/*off*/,1/*mul*/,r2,r3,r4,r5,r6,r7 -+ -+ -+ -+synth_end: -+ /* *pcm1 = SHIFT(-MLZ(hi, lo)); */ -+ scale r1, r0, r1 -+ neg r1 -+ st.w r10/*pcm_1*/, r1 -+ -+ mov r12, r10 -+ sub sp, -8 -+ popm r0-r7, pc -+ -+ -+ -+ -+ diff --git a/package/libmad/libmad-0.15.1b-remove-deprecated-cflags.patch b/package/libmad/libmad-0.15.1b-remove-deprecated-cflags.patch deleted file mode 100644 index e5040830f9..0000000000 --- a/package/libmad/libmad-0.15.1b-remove-deprecated-cflags.patch +++ /dev/null @@ -1,33 +0,0 @@ -libmad: remove deprecated cflags (-fforce-mem) - -fforce-mem has long been deprecated, and is completely removed from -gcc 4.3.x on. ---- - configure | 1 - - configure.ac | 1 - - 2 files changed, 2 deletions(-) - -Index: libmad-0.15.1b/configure.ac -=================================================================== ---- libmad-0.15.1b.orig/configure.ac -+++ libmad-0.15.1b/configure.ac -@@ -140,7 +140,6 @@ - case "$optimize" in - -O|"-O "*) - optimize="-O" -- optimize="$optimize -fforce-mem" - optimize="$optimize -fforce-addr" - : #x optimize="$optimize -finline-functions" - : #- optimize="$optimize -fstrength-reduce" -Index: libmad-0.15.1b/configure -=================================================================== ---- libmad-0.15.1b.orig/configure -+++ libmad-0.15.1b/configure -@@ -19099,7 +19099,6 @@ - case "$optimize" in - -O|"-O "*) - optimize="-O" -- optimize="$optimize -fforce-mem" - optimize="$optimize -fforce-addr" - : #x optimize="$optimize -finline-functions" - : #- optimize="$optimize -fstrength-reduce" diff --git a/package/libmad/libmad-0.15.1b-thumb2-fixed-arm.patch b/package/libmad/libmad-0.15.1b-thumb2-fixed-arm.patch deleted file mode 100644 index befda48d7e..0000000000 --- a/package/libmad/libmad-0.15.1b-thumb2-fixed-arm.patch +++ /dev/null @@ -1,40 +0,0 @@ -Fixes Thumb2-related build failure - -Patch below comes from the Debian libmad package. - -Signed-off-by: Thomas Petazzoni - -From: Dave Martin -Subject: "rsc" doesnt exist anymore in thumb2 - -diff --git a/fixed.h b/fixed.h -index 4b58abf..ba4bc26 100644 ---- a/fixed.h -+++ b/fixed.h -@@ -275,12 +275,25 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t x, mad_fixed_t y) - : "+r" (lo), "+r" (hi) \ - : "%r" (x), "r" (y)) - -+#ifdef __thumb__ -+/* In Thumb-2, the RSB-immediate instruction is only allowed with a zero -+ operand. If needed this code can also support Thumb-1 -+ (simply append "s" to the end of the second two instructions). */ -+# define MAD_F_MLN(hi, lo) \ -+ asm ("rsbs %0, %0, #0\n\t" \ -+ "sbc %1, %1, %1\n\t" \ -+ "sub %1, %1, %2" \ -+ : "+&r" (lo), "=&r" (hi) \ -+ : "r" (hi) \ -+ : "cc") -+#else /* ! __thumb__ */ - # define MAD_F_MLN(hi, lo) \ - asm ("rsbs %0, %2, #0\n\t" \ - "rsc %1, %3, #0" \ -- : "=r" (lo), "=r" (hi) \ -+ : "=&r" (lo), "=r" (hi) \ - : "0" (lo), "1" (hi) \ - : "cc") -+#endif /* __thumb__ */ - - # define mad_f_scale64(hi, lo) \ - ({ mad_fixed_t __result; \ diff --git a/package/libmad/libmad-0.15.1b-thumb2-imdct-arm.patch b/package/libmad/libmad-0.15.1b-thumb2-imdct-arm.patch deleted file mode 100644 index 414b9c8fcf..0000000000 --- a/package/libmad/libmad-0.15.1b-thumb2-imdct-arm.patch +++ /dev/null @@ -1,20 +0,0 @@ -Fixes Thumb2 related build failure - -Patch below comes from the Debian libmad package. - -Signed-off-by: Thomas Petazzoni - -From: Konstantinos Margaritis -Subject: use "adr" instead of "add" to make code ready for thumb2 - ---- ./imdct_l_arm.S.orig 2010-02-25 13:25:23.000000000 +0100 -+++ ./imdct_l_arm.S 2010-02-25 13:27:26.000000000 +0100 -@@ -468,7 +468,7 @@ - - @---- - -- add r2, pc, #(imdct36_long_karray-.-8) @ r2 = base address of Knn array (PIC safe ?) -+ adr r2, imdct36_long_karray - - - loop: diff --git a/package/libmcrypt/0001-nocxx.patch b/package/libmcrypt/0001-nocxx.patch new file mode 100644 index 0000000000..b1c28713a1 --- /dev/null +++ b/package/libmcrypt/0001-nocxx.patch @@ -0,0 +1,15 @@ +libmcrypt doesn't use C++ so remove the check. + +Signed-off-by: Gustavo Zacarias + +diff -Nura libmcrypt-2.5.8.orig/configure.in libmcrypt-2.5.8/configure.in +--- libmcrypt-2.5.8.orig/configure.in 2013-01-07 12:20:44.332200669 -0300 ++++ libmcrypt-2.5.8/configure.in 2013-01-07 12:20:50.405390565 -0300 +@@ -19,7 +19,6 @@ + + AC_PROG_MAKE_SET + +-AC_PROG_CXX + AC_PROG_CC + AC_PROG_CPP + AC_PROG_INSTALL diff --git a/package/libmcrypt/libmcrypt-nocxx.patch b/package/libmcrypt/libmcrypt-nocxx.patch deleted file mode 100644 index b1c28713a1..0000000000 --- a/package/libmcrypt/libmcrypt-nocxx.patch +++ /dev/null @@ -1,15 +0,0 @@ -libmcrypt doesn't use C++ so remove the check. - -Signed-off-by: Gustavo Zacarias - -diff -Nura libmcrypt-2.5.8.orig/configure.in libmcrypt-2.5.8/configure.in ---- libmcrypt-2.5.8.orig/configure.in 2013-01-07 12:20:44.332200669 -0300 -+++ libmcrypt-2.5.8/configure.in 2013-01-07 12:20:50.405390565 -0300 -@@ -19,7 +19,6 @@ - - AC_PROG_MAKE_SET - --AC_PROG_CXX - AC_PROG_CC - AC_PROG_CPP - AC_PROG_INSTALL diff --git a/package/libmnl/0001-uclinux.patch b/package/libmnl/0001-uclinux.patch new file mode 100644 index 0000000000..e8f97c6c17 --- /dev/null +++ b/package/libmnl/0001-uclinux.patch @@ -0,0 +1,26 @@ +From ae2acfa7d287e3ffc0bb66091059b86f62775bd5 Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Tue, 10 Sep 2013 15:24:47 -0300 +Subject: [PATCH] configure: uclinux is also linux + +Signed-off-by: Gustavo Zacarias +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index dcd3cf8..313a015 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -17,7 +17,7 @@ AC_DISABLE_STATIC + LT_INIT + CHECK_GCC_FVISIBILITY + case "$host" in +-*-*-linux*) ;; ++*-*-linux* | *-*-uclinux*) ;; + *) AC_MSG_ERROR([Linux only, dude!]);; + esac + +-- +1.8.1.5 + diff --git a/package/libmnl/libmnl-01-uclinux.patch b/package/libmnl/libmnl-01-uclinux.patch deleted file mode 100644 index e8f97c6c17..0000000000 --- a/package/libmnl/libmnl-01-uclinux.patch +++ /dev/null @@ -1,26 +0,0 @@ -From ae2acfa7d287e3ffc0bb66091059b86f62775bd5 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Tue, 10 Sep 2013 15:24:47 -0300 -Subject: [PATCH] configure: uclinux is also linux - -Signed-off-by: Gustavo Zacarias ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index dcd3cf8..313a015 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -17,7 +17,7 @@ AC_DISABLE_STATIC - LT_INIT - CHECK_GCC_FVISIBILITY - case "$host" in --*-*-linux*) ;; -+*-*-linux* | *-*-uclinux*) ;; - *) AC_MSG_ERROR([Linux only, dude!]);; - esac - --- -1.8.1.5 - diff --git a/package/libmpdclient/0001-musl-fixes.patch b/package/libmpdclient/0001-musl-fixes.patch new file mode 100644 index 0000000000..60df540b80 --- /dev/null +++ b/package/libmpdclient/0001-musl-fixes.patch @@ -0,0 +1,41 @@ +From cc2ffe943dd36a4c95ec34b2f2bf413de15b7974 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= +Date: Fri, 11 Jul 2014 08:56:49 +0200 +Subject: POSIX says fd_set is defined by + +Haiku requires this. + +cf. +http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/select.h.html + +Also guard sys/select.h by ifndef WIN32 as Mingw32 doesn't provide it. +We'll avoid a configure check just for this. + +diff --git a/src/socket.c b/src/socket.c +index f76510c..2aa5f7f 100644 +--- a/src/socket.c ++++ b/src/socket.c +@@ -43,6 +43,7 @@ + #else + # include + # include ++# include + # include + # include + # include +diff --git a/src/sync.c b/src/sync.c +index 43cfe50..0a6c9d3 100644 +--- a/src/sync.c ++++ b/src/sync.c +@@ -33,6 +33,9 @@ + #include + #include + #include ++#ifndef WIN32 ++#include ++#endif + #include + #include + +-- +cgit v0.10-2-gd358 diff --git a/package/libmpdclient/libmpdclient-0001-musl-fixes.patch b/package/libmpdclient/libmpdclient-0001-musl-fixes.patch deleted file mode 100644 index 60df540b80..0000000000 --- a/package/libmpdclient/libmpdclient-0001-musl-fixes.patch +++ /dev/null @@ -1,41 +0,0 @@ -From cc2ffe943dd36a4c95ec34b2f2bf413de15b7974 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= -Date: Fri, 11 Jul 2014 08:56:49 +0200 -Subject: POSIX says fd_set is defined by - -Haiku requires this. - -cf. -http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/select.h.html - -Also guard sys/select.h by ifndef WIN32 as Mingw32 doesn't provide it. -We'll avoid a configure check just for this. - -diff --git a/src/socket.c b/src/socket.c -index f76510c..2aa5f7f 100644 ---- a/src/socket.c -+++ b/src/socket.c -@@ -43,6 +43,7 @@ - #else - # include - # include -+# include - # include - # include - # include -diff --git a/src/sync.c b/src/sync.c -index 43cfe50..0a6c9d3 100644 ---- a/src/sync.c -+++ b/src/sync.c -@@ -33,6 +33,9 @@ - #include - #include - #include -+#ifndef WIN32 -+#include -+#endif - #include - #include - --- -cgit v0.10-2-gd358 diff --git a/package/libmpeg2/0001-altivec.patch b/package/libmpeg2/0001-altivec.patch new file mode 100644 index 0000000000..4928a62e6d --- /dev/null +++ b/package/libmpeg2/0001-altivec.patch @@ -0,0 +1,23 @@ +[PATCH] fix altivec.h detection + +Patch from Gentoo: + +http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-libs/libmpeg2/files/libmpeg2-0.5.1-altivec.patch?revision=1.1&view=markup + +Signed-off-by: Peter Korsgaard +--- a/configure.ac.bak 2010-05-25 17:12:14.756245990 +0000 ++++ b/configure.ac 2010-05-25 17:11:51.629581723 +0000 +@@ -79,11 +79,10 @@ + CFLAGS="$OPT_CFLAGS $TRY_CFLAGS $CFLAGS" + AC_MSG_CHECKING([if is needed]) + AC_TRY_COMPILE([], +- [typedef vector int t; +- vec_ld(0, (unsigned char *)0);], ++ [vector int t; t = vec_add(t,t);], + [have_altivec=yes; AC_MSG_RESULT(no)], + [AC_TRY_COMPILE([#include ], +- [typedef vector int t; vec_ld(0, (unsigned char *)0);], ++ [vector int t; t = vec_add(t,t);], + [AC_DEFINE([HAVE_ALTIVEC_H],, + [Define to 1 if you have the header.]) + have_altivec=yes; AC_MSG_RESULT(yes)], diff --git a/package/libmpeg2/0002-armv4l.patch b/package/libmpeg2/0002-armv4l.patch new file mode 100644 index 0000000000..70d45ef916 --- /dev/null +++ b/package/libmpeg2/0002-armv4l.patch @@ -0,0 +1,24 @@ +Patch taken from gentoo. + +Signed-off-by: Gustavo Zacarias + +diff -urNp libmpeg2.orig/libmpeg2/motion_comp_arm_s.S libmpeg2/libmpeg2/motion_comp_arm_s.S +--- libmpeg2.orig/libmpeg2/motion_comp_arm_s.S 2008-07-09 21:16:05.000000000 +0200 ++++ libmpeg2/libmpeg2/motion_comp_arm_s.S 2009-11-20 19:55:22.000000000 +0100 +@@ -19,6 +19,16 @@ + @ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + ++@ Data preload is supported only by ARM V5TE and above ++ ++#if (defined (__ARM_ARCH_2__) || defined (__ARM_ARCH_3__) \ ++ || defined (__ARM_ARCH_3M__) || defined (__ARM_ARCH_4__) \ ++ || defined (__ARM_ARCH_4T__) || defined (__ARM_ARCH_5__) \ ++ || defined (__ARM_ARCH_5T__)) ++.macro pld reg ++.endm ++#endif ++ + .text + + @ ---------------------------------------------------------------- diff --git a/package/libmpeg2/libmpeg2-0.5.1-altivec.patch b/package/libmpeg2/libmpeg2-0.5.1-altivec.patch deleted file mode 100644 index 4928a62e6d..0000000000 --- a/package/libmpeg2/libmpeg2-0.5.1-altivec.patch +++ /dev/null @@ -1,23 +0,0 @@ -[PATCH] fix altivec.h detection - -Patch from Gentoo: - -http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-libs/libmpeg2/files/libmpeg2-0.5.1-altivec.patch?revision=1.1&view=markup - -Signed-off-by: Peter Korsgaard ---- a/configure.ac.bak 2010-05-25 17:12:14.756245990 +0000 -+++ b/configure.ac 2010-05-25 17:11:51.629581723 +0000 -@@ -79,11 +79,10 @@ - CFLAGS="$OPT_CFLAGS $TRY_CFLAGS $CFLAGS" - AC_MSG_CHECKING([if is needed]) - AC_TRY_COMPILE([], -- [typedef vector int t; -- vec_ld(0, (unsigned char *)0);], -+ [vector int t; t = vec_add(t,t);], - [have_altivec=yes; AC_MSG_RESULT(no)], - [AC_TRY_COMPILE([#include ], -- [typedef vector int t; vec_ld(0, (unsigned char *)0);], -+ [vector int t; t = vec_add(t,t);], - [AC_DEFINE([HAVE_ALTIVEC_H],, - [Define to 1 if you have the header.]) - have_altivec=yes; AC_MSG_RESULT(yes)], diff --git a/package/libmpeg2/libmpeg2-0.5.1-armv4l.patch b/package/libmpeg2/libmpeg2-0.5.1-armv4l.patch deleted file mode 100644 index 70d45ef916..0000000000 --- a/package/libmpeg2/libmpeg2-0.5.1-armv4l.patch +++ /dev/null @@ -1,24 +0,0 @@ -Patch taken from gentoo. - -Signed-off-by: Gustavo Zacarias - -diff -urNp libmpeg2.orig/libmpeg2/motion_comp_arm_s.S libmpeg2/libmpeg2/motion_comp_arm_s.S ---- libmpeg2.orig/libmpeg2/motion_comp_arm_s.S 2008-07-09 21:16:05.000000000 +0200 -+++ libmpeg2/libmpeg2/motion_comp_arm_s.S 2009-11-20 19:55:22.000000000 +0100 -@@ -19,6 +19,16 @@ - @ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -+@ Data preload is supported only by ARM V5TE and above -+ -+#if (defined (__ARM_ARCH_2__) || defined (__ARM_ARCH_3__) \ -+ || defined (__ARM_ARCH_3M__) || defined (__ARM_ARCH_4__) \ -+ || defined (__ARM_ARCH_4T__) || defined (__ARM_ARCH_5__) \ -+ || defined (__ARM_ARCH_5T__)) -+.macro pld reg -+.endm -+#endif -+ - .text - - @ ---------------------------------------------------------------- diff --git a/package/libnetfilter_acct/0001-uclinux.patch b/package/libnetfilter_acct/0001-uclinux.patch new file mode 100644 index 0000000000..070f02cdce --- /dev/null +++ b/package/libnetfilter_acct/0001-uclinux.patch @@ -0,0 +1,26 @@ +From bfcaf00a8c972e2c10412d917f08626eb05079c7 Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Tue, 10 Sep 2013 15:32:03 -0300 +Subject: [PATCH] configure: uclinux is also linux + +Signed-off-by: Gustavo Zacarias +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index ad1bef8..24a7bb9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -22,7 +22,7 @@ AC_DISABLE_STATIC + LT_INIT + CHECK_GCC_FVISIBILITY + case "$host" in +-*-*-linux*) ;; ++*-*-linux* | *-*-uclinux*) ;; + *) AC_MSG_ERROR([Linux only, dude!]);; + esac + +-- +1.8.1.5 + diff --git a/package/libnetfilter_acct/libnetfilter_acct-01-uclinux.patch b/package/libnetfilter_acct/libnetfilter_acct-01-uclinux.patch deleted file mode 100644 index 070f02cdce..0000000000 --- a/package/libnetfilter_acct/libnetfilter_acct-01-uclinux.patch +++ /dev/null @@ -1,26 +0,0 @@ -From bfcaf00a8c972e2c10412d917f08626eb05079c7 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Tue, 10 Sep 2013 15:32:03 -0300 -Subject: [PATCH] configure: uclinux is also linux - -Signed-off-by: Gustavo Zacarias ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index ad1bef8..24a7bb9 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -22,7 +22,7 @@ AC_DISABLE_STATIC - LT_INIT - CHECK_GCC_FVISIBILITY - case "$host" in --*-*-linux*) ;; -+*-*-linux* | *-*-uclinux*) ;; - *) AC_MSG_ERROR([Linux only, dude!]);; - esac - --- -1.8.1.5 - diff --git a/package/libnetfilter_cthelper/0001-uclinux.patch b/package/libnetfilter_cthelper/0001-uclinux.patch new file mode 100644 index 0000000000..7a6ca70b53 --- /dev/null +++ b/package/libnetfilter_cthelper/0001-uclinux.patch @@ -0,0 +1,26 @@ +From d028334281b218209412ec6e1dba56ca96320bd9 Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Tue, 10 Sep 2013 16:08:29 -0300 +Subject: [PATCH] configure: uclinux is also linux + +Signed-off-by: Gustavo Zacarias +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index d52b1ce..9389b70 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -22,7 +22,7 @@ AC_DISABLE_STATIC + LT_INIT + CHECK_GCC_FVISIBILITY + case "$host" in +-*-*-linux*) ;; ++*-*-linux* | *-*-uclinux*) ;; + *) AC_MSG_ERROR([Linux only, dude!]);; + esac + +-- +1.8.1.5 + diff --git a/package/libnetfilter_cthelper/libnetfilter_cthelper-01-uclinux.patch b/package/libnetfilter_cthelper/libnetfilter_cthelper-01-uclinux.patch deleted file mode 100644 index 7a6ca70b53..0000000000 --- a/package/libnetfilter_cthelper/libnetfilter_cthelper-01-uclinux.patch +++ /dev/null @@ -1,26 +0,0 @@ -From d028334281b218209412ec6e1dba56ca96320bd9 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Tue, 10 Sep 2013 16:08:29 -0300 -Subject: [PATCH] configure: uclinux is also linux - -Signed-off-by: Gustavo Zacarias ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index d52b1ce..9389b70 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -22,7 +22,7 @@ AC_DISABLE_STATIC - LT_INIT - CHECK_GCC_FVISIBILITY - case "$host" in --*-*-linux*) ;; -+*-*-linux* | *-*-uclinux*) ;; - *) AC_MSG_ERROR([Linux only, dude!]);; - esac - --- -1.8.1.5 - diff --git a/package/libnetfilter_cttimeout/0001-uclinux.patch b/package/libnetfilter_cttimeout/0001-uclinux.patch new file mode 100644 index 0000000000..5d462d8fec --- /dev/null +++ b/package/libnetfilter_cttimeout/0001-uclinux.patch @@ -0,0 +1,26 @@ +From d8d2ec14bc192f998afae2b71c69248e73518ddf Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Tue, 10 Sep 2013 16:09:14 -0300 +Subject: [PATCH] configure: uclinux is also linux + +Signed-off-by: Gustavo Zacarias +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index d79e941..aeb6ad0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -22,7 +22,7 @@ AC_DISABLE_STATIC + LT_INIT + CHECK_GCC_FVISIBILITY + case "$host" in +-*-*-linux*) ;; ++*-*-linux* | *-*-uclinux*) ;; + *) AC_MSG_ERROR([Linux only, dude!]);; + esac + +-- +1.8.1.5 + diff --git a/package/libnetfilter_cttimeout/libnetfilter_cttimeout-01-uclinux.patch b/package/libnetfilter_cttimeout/libnetfilter_cttimeout-01-uclinux.patch deleted file mode 100644 index 5d462d8fec..0000000000 --- a/package/libnetfilter_cttimeout/libnetfilter_cttimeout-01-uclinux.patch +++ /dev/null @@ -1,26 +0,0 @@ -From d8d2ec14bc192f998afae2b71c69248e73518ddf Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Tue, 10 Sep 2013 16:09:14 -0300 -Subject: [PATCH] configure: uclinux is also linux - -Signed-off-by: Gustavo Zacarias ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index d79e941..aeb6ad0 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -22,7 +22,7 @@ AC_DISABLE_STATIC - LT_INIT - CHECK_GCC_FVISIBILITY - case "$host" in --*-*-linux*) ;; -+*-*-linux* | *-*-uclinux*) ;; - *) AC_MSG_ERROR([Linux only, dude!]);; - esac - --- -1.8.1.5 - diff --git a/package/libnetfilter_log/0001-uclinux.patch b/package/libnetfilter_log/0001-uclinux.patch new file mode 100644 index 0000000000..75d4a1e9d1 --- /dev/null +++ b/package/libnetfilter_log/0001-uclinux.patch @@ -0,0 +1,26 @@ +From e36a2377e7ec50f6f675eb41f79edcda6ddebe5c Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Tue, 10 Sep 2013 15:48:50 -0300 +Subject: [PATCH] configure: uclinux is also linux + +Signed-off-by: Gustavo Zacarias +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index e6e1317..189a753 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -20,7 +20,7 @@ AC_PROG_INSTALL + AC_PROG_LN_S + + case "$host" in +-*-*-linux*) ;; ++*-*-linux* | *-*-uclinux*) ;; + *) AC_MSG_ERROR([Linux only, dude!]);; + esac + +-- +1.8.1.5 + diff --git a/package/libnetfilter_log/libnetfilter_log-01-uclinux.patch b/package/libnetfilter_log/libnetfilter_log-01-uclinux.patch deleted file mode 100644 index 75d4a1e9d1..0000000000 --- a/package/libnetfilter_log/libnetfilter_log-01-uclinux.patch +++ /dev/null @@ -1,26 +0,0 @@ -From e36a2377e7ec50f6f675eb41f79edcda6ddebe5c Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Tue, 10 Sep 2013 15:48:50 -0300 -Subject: [PATCH] configure: uclinux is also linux - -Signed-off-by: Gustavo Zacarias ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index e6e1317..189a753 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -20,7 +20,7 @@ AC_PROG_INSTALL - AC_PROG_LN_S - - case "$host" in --*-*-linux*) ;; -+*-*-linux* | *-*-uclinux*) ;; - *) AC_MSG_ERROR([Linux only, dude!]);; - esac - --- -1.8.1.5 - diff --git a/package/libnetfilter_queue/0001-uclinux.patch b/package/libnetfilter_queue/0001-uclinux.patch new file mode 100644 index 0000000000..21895d9b0e --- /dev/null +++ b/package/libnetfilter_queue/0001-uclinux.patch @@ -0,0 +1,26 @@ +From 311b60655761f6f3c4fe44cf6eff63427283f25e Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Tue, 10 Sep 2013 16:13:58 -0300 +Subject: [PATCH] configure: uclinux is also linux + +Signed-off-by: Gustavo Zacarias +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 07747a6..289868f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -21,7 +21,7 @@ AC_PROG_INSTALL + CHECK_GCC_FVISIBILITY + + case "$host" in +-*-*-linux*) ;; ++*-*-linux* | *-*-uclinux*) ;; + *) AC_MSG_ERROR([Linux only, dude!]);; + esac + +-- +1.8.1.5 + diff --git a/package/libnetfilter_queue/libnetfilter_queue-01-uclinux.patch b/package/libnetfilter_queue/libnetfilter_queue-01-uclinux.patch deleted file mode 100644 index 21895d9b0e..0000000000 --- a/package/libnetfilter_queue/libnetfilter_queue-01-uclinux.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 311b60655761f6f3c4fe44cf6eff63427283f25e Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Tue, 10 Sep 2013 16:13:58 -0300 -Subject: [PATCH] configure: uclinux is also linux - -Signed-off-by: Gustavo Zacarias ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 07747a6..289868f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -21,7 +21,7 @@ AC_PROG_INSTALL - CHECK_GCC_FVISIBILITY - - case "$host" in --*-*-linux*) ;; -+*-*-linux* | *-*-uclinux*) ;; - *) AC_MSG_ERROR([Linux only, dude!]);; - esac - --- -1.8.1.5 - diff --git a/package/libnfc/0001-build-systems-make-example-build-optional.patch b/package/libnfc/0001-build-systems-make-example-build-optional.patch new file mode 100644 index 0000000000..06577c58ec --- /dev/null +++ b/package/libnfc/0001-build-systems-make-example-build-optional.patch @@ -0,0 +1,82 @@ +From 40a4871b171293d98acb40cf54be9ee9b78a3244 Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Wed, 6 Jun 2012 00:49:25 +0200 +Subject: [PATCH 1/1] build systems: make example build optional + +This patch makes example build optional for both cmake and autotools build +systems. + +In order to keep the former behavior, example build is enabled by default. + +Signed-off-by: Samuel Martin + +diff -Nurp a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt 2013-12-08 18:51:01.000000000 +0000 ++++ b/CMakeLists.txt 2014-01-08 12:51:42.435096403 +0000 +@@ -39,6 +39,7 @@ IF(LIBNFC_ENVVARS) + ADD_DEFINITIONS(-DENVVARS) + ENDIF(LIBNFC_ENVVARS) + ++SET(BUILD_EXAMPLES ON CACHE BOOL "Build examples") + SET(LIBNFC_DEBUG_MODE OFF CACHE BOOL "Debug mode") + IF(LIBNFC_DEBUG_MODE) + ADD_DEFINITIONS(-DDEBUG) +@@ -155,7 +156,10 @@ ENDIF(WIN32) + ADD_SUBDIRECTORY(libnfc) + ADD_SUBDIRECTORY(include) + ADD_SUBDIRECTORY(utils) +-ADD_SUBDIRECTORY(examples) ++ ++IF(BUILD_EXAMPLES) ++ ADD_SUBDIRECTORY(examples) ++ENDIF(BUILD_EXAMPLES) + + # Binary Package + IF(WIN32) +diff -Nurp a/Makefile.am b/Makefile.am +--- a/Makefile.am 2013-12-08 18:51:01.000000000 +0000 ++++ b/Makefile.am 2014-01-08 12:52:12.807018593 +0000 +@@ -2,7 +2,13 @@ ACLOCAL_AMFLAGS = -I m4 + + AM_CFLAGS = $(LIBNFC_CFLAGS) + +-SUBDIRS = libnfc utils examples include contrib cmake test ++SUBDIRS = libnfc utils ++ ++if EXAMPLE_ENABLED ++SUBDIRS += examples ++endif ++ ++SUBDIRS += include contrib cmake test + + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = libnfc.pc +diff -Nurp a/configure.ac b/configure.ac +--- a/configure.ac 2013-12-08 18:51:01.000000000 +0000 ++++ b/configure.ac 2014-01-08 12:53:02.054872564 +0000 +@@ -142,6 +142,14 @@ then + fi + AM_CONDITIONAL(DOC_ENABLED, [test x"$enable_doc" = xyes]) + ++# Example build (default: yes) ++AC_ARG_ENABLE([example],AS_HELP_STRING([--enable-example],[Enable example build.]),[enable_example=$enableval],[enable_example="yes"]) ++ ++AC_MSG_CHECKING(for example build) ++AC_MSG_RESULT($enable_example) ++ ++AM_CONDITIONAL(EXAMPLE_ENABLED, [test x"$enable_example" = xyes]) ++ + # Dependencies + PKG_CONFIG_REQUIRES="" + +@@ -160,7 +168,10 @@ if test x$ac_cv_with_cutter = xyes -a x$ + fi + AM_CONDITIONAL([WITH_CUTTER], [test "$ac_cv_use_cutter" != "no"]) + ++if test x"$enable_example" = "xyes" ++then + AC_CHECK_READLINE ++fi + + # Help us to write great code ;-) + CFLAGS="$CFLAGS -Wall -pedantic -Wextra" diff --git a/package/libnfc/libnfc-build-systems-make-example-build-optional.patch b/package/libnfc/libnfc-build-systems-make-example-build-optional.patch deleted file mode 100644 index 06577c58ec..0000000000 --- a/package/libnfc/libnfc-build-systems-make-example-build-optional.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 40a4871b171293d98acb40cf54be9ee9b78a3244 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Wed, 6 Jun 2012 00:49:25 +0200 -Subject: [PATCH 1/1] build systems: make example build optional - -This patch makes example build optional for both cmake and autotools build -systems. - -In order to keep the former behavior, example build is enabled by default. - -Signed-off-by: Samuel Martin - -diff -Nurp a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt 2013-12-08 18:51:01.000000000 +0000 -+++ b/CMakeLists.txt 2014-01-08 12:51:42.435096403 +0000 -@@ -39,6 +39,7 @@ IF(LIBNFC_ENVVARS) - ADD_DEFINITIONS(-DENVVARS) - ENDIF(LIBNFC_ENVVARS) - -+SET(BUILD_EXAMPLES ON CACHE BOOL "Build examples") - SET(LIBNFC_DEBUG_MODE OFF CACHE BOOL "Debug mode") - IF(LIBNFC_DEBUG_MODE) - ADD_DEFINITIONS(-DDEBUG) -@@ -155,7 +156,10 @@ ENDIF(WIN32) - ADD_SUBDIRECTORY(libnfc) - ADD_SUBDIRECTORY(include) - ADD_SUBDIRECTORY(utils) --ADD_SUBDIRECTORY(examples) -+ -+IF(BUILD_EXAMPLES) -+ ADD_SUBDIRECTORY(examples) -+ENDIF(BUILD_EXAMPLES) - - # Binary Package - IF(WIN32) -diff -Nurp a/Makefile.am b/Makefile.am ---- a/Makefile.am 2013-12-08 18:51:01.000000000 +0000 -+++ b/Makefile.am 2014-01-08 12:52:12.807018593 +0000 -@@ -2,7 +2,13 @@ ACLOCAL_AMFLAGS = -I m4 - - AM_CFLAGS = $(LIBNFC_CFLAGS) - --SUBDIRS = libnfc utils examples include contrib cmake test -+SUBDIRS = libnfc utils -+ -+if EXAMPLE_ENABLED -+SUBDIRS += examples -+endif -+ -+SUBDIRS += include contrib cmake test - - pkgconfigdir = $(libdir)/pkgconfig - pkgconfig_DATA = libnfc.pc -diff -Nurp a/configure.ac b/configure.ac ---- a/configure.ac 2013-12-08 18:51:01.000000000 +0000 -+++ b/configure.ac 2014-01-08 12:53:02.054872564 +0000 -@@ -142,6 +142,14 @@ then - fi - AM_CONDITIONAL(DOC_ENABLED, [test x"$enable_doc" = xyes]) - -+# Example build (default: yes) -+AC_ARG_ENABLE([example],AS_HELP_STRING([--enable-example],[Enable example build.]),[enable_example=$enableval],[enable_example="yes"]) -+ -+AC_MSG_CHECKING(for example build) -+AC_MSG_RESULT($enable_example) -+ -+AM_CONDITIONAL(EXAMPLE_ENABLED, [test x"$enable_example" = xyes]) -+ - # Dependencies - PKG_CONFIG_REQUIRES="" - -@@ -160,7 +168,10 @@ if test x$ac_cv_with_cutter = xyes -a x$ - fi - AM_CONDITIONAL([WITH_CUTTER], [test "$ac_cv_use_cutter" != "no"]) - -+if test x"$enable_example" = "xyes" -+then - AC_CHECK_READLINE -+fi - - # Help us to write great code ;-) - CFLAGS="$CFLAGS -Wall -pedantic -Wextra" diff --git a/package/libnfnetlink/0001-uclinux.patch b/package/libnfnetlink/0001-uclinux.patch new file mode 100644 index 0000000000..b15201283a --- /dev/null +++ b/package/libnfnetlink/0001-uclinux.patch @@ -0,0 +1,26 @@ +From 8e5a9d8f32c9646d01d8c84e979892dfd28a7f7c Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Tue, 10 Sep 2013 15:35:22 -0300 +Subject: [PATCH] configure: uclinux is also linux + +Signed-off-by: Gustavo Zacarias +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 0926a1c..b979772 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -18,7 +18,7 @@ AC_DISABLE_STATIC + AM_PROG_LIBTOOL + + case "$host" in +-*-*-linux*) ;; ++*-*-linux* | *-*-uclinux*) ;; + *) AC_MSG_ERROR([Linux only, dude!]);; + esac + +-- +1.8.1.5 + diff --git a/package/libnfnetlink/libnfnetlink-01-uclinux.patch b/package/libnfnetlink/libnfnetlink-01-uclinux.patch deleted file mode 100644 index b15201283a..0000000000 --- a/package/libnfnetlink/libnfnetlink-01-uclinux.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 8e5a9d8f32c9646d01d8c84e979892dfd28a7f7c Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Tue, 10 Sep 2013 15:35:22 -0300 -Subject: [PATCH] configure: uclinux is also linux - -Signed-off-by: Gustavo Zacarias ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 0926a1c..b979772 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -18,7 +18,7 @@ AC_DISABLE_STATIC - AM_PROG_LIBTOOL - - case "$host" in --*-*-linux*) ;; -+*-*-linux* | *-*-uclinux*) ;; - *) AC_MSG_ERROR([Linux only, dude!]);; - esac - --- -1.8.1.5 - diff --git a/package/libnl/0001-netlink-netlink-h-use-poll-h-instead-of-sys-poll-h.patch b/package/libnl/0001-netlink-netlink-h-use-poll-h-instead-of-sys-poll-h.patch new file mode 100644 index 0000000000..dd55cd463a --- /dev/null +++ b/package/libnl/0001-netlink-netlink-h-use-poll-h-instead-of-sys-poll-h.patch @@ -0,0 +1,18 @@ +netlink/netlink.h: As the poll() man page recommends include the +instead of . This removes an error when building libdl against +the musl C library. + +Signed-off-by: Jörg Krause + +diff -purN libnl-3.2.25.orig/include/netlink/netlink.h libnl-3.2.25/include/netlink/netlink.h +--- libnl-3.2.25.orig/include/netlink/netlink.h 2014-09-01 11:42:37.254724124 +0200 ++++ libnl-3.2.25/include/netlink/netlink.h 2014-09-01 11:42:58.254724255 +0200 +@@ -16,7 +16,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include diff --git a/package/libnl/libnl-0001-netlink-netlink-h-use-poll-h-instead-of-sys-poll-h.patch b/package/libnl/libnl-0001-netlink-netlink-h-use-poll-h-instead-of-sys-poll-h.patch deleted file mode 100644 index dd55cd463a..0000000000 --- a/package/libnl/libnl-0001-netlink-netlink-h-use-poll-h-instead-of-sys-poll-h.patch +++ /dev/null @@ -1,18 +0,0 @@ -netlink/netlink.h: As the poll() man page recommends include the -instead of . This removes an error when building libdl against -the musl C library. - -Signed-off-by: Jörg Krause - -diff -purN libnl-3.2.25.orig/include/netlink/netlink.h libnl-3.2.25/include/netlink/netlink.h ---- libnl-3.2.25.orig/include/netlink/netlink.h 2014-09-01 11:42:37.254724124 +0200 -+++ libnl-3.2.25/include/netlink/netlink.h 2014-09-01 11:42:58.254724255 +0200 -@@ -16,7 +16,7 @@ - #include - #include - #include --#include -+#include - #include - #include - #include diff --git a/package/libnspr/0001-nios2.patch b/package/libnspr/0001-nios2.patch new file mode 100644 index 0000000000..4fc6551ee8 --- /dev/null +++ b/package/libnspr/0001-nios2.patch @@ -0,0 +1,72 @@ +Add Nios-II support + +[Gustavo: update for nspr 4.10.6] +Signed-off-by: Ezequiel Garcia + +diff -Nura nspr-4.10.6.orig/nspr/pr/include/md/_linux.cfg nspr-4.10.6/nspr/pr/include/md/_linux.cfg +--- nspr-4.10.6.orig/nspr/pr/include/md/_linux.cfg 2014-06-18 10:26:22.447502521 -0300 ++++ nspr-4.10.6/nspr/pr/include/md/_linux.cfg 2014-06-18 10:26:32.746850581 -0300 +@@ -924,6 +924,51 @@ + #define PR_BYTES_PER_WORD_LOG2 2 + #define PR_BYTES_PER_DWORD_LOG2 3 + ++#elif defined(nios2) ++ ++#define IS_LITTLE_ENDIAN 1 ++#undef IS_BIG_ENDIAN ++ ++#define PR_BYTES_PER_BYTE 1 ++#define PR_BYTES_PER_SHORT 2 ++#define PR_BYTES_PER_INT 4 ++#define PR_BYTES_PER_INT64 8 ++#define PR_BYTES_PER_LONG 4 ++#define PR_BYTES_PER_FLOAT 4 ++#define PR_BYTES_PER_DOUBLE 8 ++#define PR_BYTES_PER_WORD 4 ++#define PR_BYTES_PER_DWORD 8 ++ ++#define PR_BITS_PER_BYTE 8 ++#define PR_BITS_PER_SHORT 16 ++#define PR_BITS_PER_INT 32 ++#define PR_BITS_PER_INT64 64 ++#define PR_BITS_PER_LONG 32 ++#define PR_BITS_PER_FLOAT 32 ++#define PR_BITS_PER_DOUBLE 64 ++#define PR_BITS_PER_WORD 32 ++ ++#define PR_BITS_PER_BYTE_LOG2 3 ++#define PR_BITS_PER_SHORT_LOG2 4 ++#define PR_BITS_PER_INT_LOG2 5 ++#define PR_BITS_PER_INT64_LOG2 6 ++#define PR_BITS_PER_LONG_LOG2 5 ++#define PR_BITS_PER_FLOAT_LOG2 5 ++#define PR_BITS_PER_DOUBLE_LOG2 6 ++#define PR_BITS_PER_WORD_LOG2 5 ++ ++#define PR_ALIGN_OF_SHORT 2 ++#define PR_ALIGN_OF_INT 4 ++#define PR_ALIGN_OF_LONG 4 ++#define PR_ALIGN_OF_INT64 4 ++#define PR_ALIGN_OF_FLOAT 4 ++#define PR_ALIGN_OF_DOUBLE 4 ++#define PR_ALIGN_OF_POINTER 4 ++#define PR_ALIGN_OF_WORD 4 ++ ++#define PR_BYTES_PER_WORD_LOG2 2 ++#define PR_BYTES_PER_DWORD_LOG2 3 ++ + #else + + #error "Unknown CPU architecture" +diff -Nura nspr-4.10.6.orig/nspr/pr/include/md/_linux.h nspr-4.10.6/nspr/pr/include/md/_linux.h +--- nspr-4.10.6.orig/nspr/pr/include/md/_linux.h 2014-06-18 10:26:22.446502487 -0300 ++++ nspr-4.10.6/nspr/pr/include/md/_linux.h 2014-06-18 10:26:32.747850615 -0300 +@@ -55,6 +55,8 @@ + #define _PR_SI_ARCHITECTURE "avr32" + #elif defined(__m32r__) + #define _PR_SI_ARCHITECTURE "m32r" ++#elif defined(nios2) ++#define _PR_SI_ARCHITECTURE "nios2" + #else + #error "Unknown CPU architecture" + #endif diff --git a/package/libnspr/0002-microblaze.patch b/package/libnspr/0002-microblaze.patch new file mode 100644 index 0000000000..30b17f3768 --- /dev/null +++ b/package/libnspr/0002-microblaze.patch @@ -0,0 +1,77 @@ +Add Microblaze support + +[Gustavo: update for nspr 4.10.6] +Signed-off-by: Spenser Gilliland + +diff -Nura nspr-4.10.6.nios2/nspr/pr/include/md/_linux.cfg nspr-4.10.6/nspr/pr/include/md/_linux.cfg +--- nspr-4.10.6.nios2/nspr/pr/include/md/_linux.cfg 2014-06-18 10:29:15.816361425 -0300 ++++ nspr-4.10.6/nspr/pr/include/md/_linux.cfg 2014-06-18 10:26:59.908768508 -0300 +@@ -969,6 +969,56 @@ + #define PR_BYTES_PER_WORD_LOG2 2 + #define PR_BYTES_PER_DWORD_LOG2 3 + ++#elif defined(__microblaze__) ++ ++#if defined(__BIG_ENDIAN__) ++#define IS_BIG_ENDIAN 1 ++#undef IS_LITTLE_ENDIAN ++#else ++#define IS_LITTLE_ENDIAN 1 ++#undef IS_BIG_ENDIAN ++#endif ++ ++#define PR_BYTES_PER_BYTE 1 ++#define PR_BYTES_PER_SHORT 2 ++#define PR_BYTES_PER_INT 4 ++#define PR_BYTES_PER_INT64 8 ++#define PR_BYTES_PER_LONG 4 ++#define PR_BYTES_PER_FLOAT 4 ++#define PR_BYTES_PER_DOUBLE 8 ++#define PR_BYTES_PER_WORD 4 ++#define PR_BYTES_PER_DWORD 8 ++ ++#define PR_BITS_PER_BYTE 8 ++#define PR_BITS_PER_SHORT 16 ++#define PR_BITS_PER_INT 32 ++#define PR_BITS_PER_INT64 64 ++#define PR_BITS_PER_LONG 32 ++#define PR_BITS_PER_FLOAT 32 ++#define PR_BITS_PER_DOUBLE 64 ++#define PR_BITS_PER_WORD 32 ++ ++#define PR_BITS_PER_BYTE_LOG2 3 ++#define PR_BITS_PER_SHORT_LOG2 4 ++#define PR_BITS_PER_INT_LOG2 5 ++#define PR_BITS_PER_INT64_LOG2 6 ++#define PR_BITS_PER_LONG_LOG2 5 ++#define PR_BITS_PER_FLOAT_LOG2 5 ++#define PR_BITS_PER_DOUBLE_LOG2 6 ++#define PR_BITS_PER_WORD_LOG2 5 ++ ++#define PR_ALIGN_OF_SHORT 2 ++#define PR_ALIGN_OF_INT 4 ++#define PR_ALIGN_OF_LONG 4 ++#define PR_ALIGN_OF_INT64 4 ++#define PR_ALIGN_OF_FLOAT 4 ++#define PR_ALIGN_OF_DOUBLE 4 ++#define PR_ALIGN_OF_POINTER 4 ++#define PR_ALIGN_OF_WORD 4 ++ ++#define PR_BYTES_PER_WORD_LOG2 2 ++#define PR_BYTES_PER_DWORD_LOG2 3 ++ + #else + + #error "Unknown CPU architecture" +diff -Nura nspr-4.10.6.nios2/nspr/pr/include/md/_linux.h nspr-4.10.6/nspr/pr/include/md/_linux.h +--- nspr-4.10.6.nios2/nspr/pr/include/md/_linux.h 2014-06-18 10:29:15.817361459 -0300 ++++ nspr-4.10.6/nspr/pr/include/md/_linux.h 2014-06-18 10:26:59.909768537 -0300 +@@ -55,6 +55,8 @@ + #define _PR_SI_ARCHITECTURE "avr32" + #elif defined(__m32r__) + #define _PR_SI_ARCHITECTURE "m32r" ++#elif defined(__microblaze__) ++#define _PR_SI_ARCHITECTURE "microblaze" + #elif defined(nios2) + #define _PR_SI_ARCHITECTURE "nios2" + #else diff --git a/package/libnspr/libnspr-0001-nios2.patch b/package/libnspr/libnspr-0001-nios2.patch deleted file mode 100644 index 4fc6551ee8..0000000000 --- a/package/libnspr/libnspr-0001-nios2.patch +++ /dev/null @@ -1,72 +0,0 @@ -Add Nios-II support - -[Gustavo: update for nspr 4.10.6] -Signed-off-by: Ezequiel Garcia - -diff -Nura nspr-4.10.6.orig/nspr/pr/include/md/_linux.cfg nspr-4.10.6/nspr/pr/include/md/_linux.cfg ---- nspr-4.10.6.orig/nspr/pr/include/md/_linux.cfg 2014-06-18 10:26:22.447502521 -0300 -+++ nspr-4.10.6/nspr/pr/include/md/_linux.cfg 2014-06-18 10:26:32.746850581 -0300 -@@ -924,6 +924,51 @@ - #define PR_BYTES_PER_WORD_LOG2 2 - #define PR_BYTES_PER_DWORD_LOG2 3 - -+#elif defined(nios2) -+ -+#define IS_LITTLE_ENDIAN 1 -+#undef IS_BIG_ENDIAN -+ -+#define PR_BYTES_PER_BYTE 1 -+#define PR_BYTES_PER_SHORT 2 -+#define PR_BYTES_PER_INT 4 -+#define PR_BYTES_PER_INT64 8 -+#define PR_BYTES_PER_LONG 4 -+#define PR_BYTES_PER_FLOAT 4 -+#define PR_BYTES_PER_DOUBLE 8 -+#define PR_BYTES_PER_WORD 4 -+#define PR_BYTES_PER_DWORD 8 -+ -+#define PR_BITS_PER_BYTE 8 -+#define PR_BITS_PER_SHORT 16 -+#define PR_BITS_PER_INT 32 -+#define PR_BITS_PER_INT64 64 -+#define PR_BITS_PER_LONG 32 -+#define PR_BITS_PER_FLOAT 32 -+#define PR_BITS_PER_DOUBLE 64 -+#define PR_BITS_PER_WORD 32 -+ -+#define PR_BITS_PER_BYTE_LOG2 3 -+#define PR_BITS_PER_SHORT_LOG2 4 -+#define PR_BITS_PER_INT_LOG2 5 -+#define PR_BITS_PER_INT64_LOG2 6 -+#define PR_BITS_PER_LONG_LOG2 5 -+#define PR_BITS_PER_FLOAT_LOG2 5 -+#define PR_BITS_PER_DOUBLE_LOG2 6 -+#define PR_BITS_PER_WORD_LOG2 5 -+ -+#define PR_ALIGN_OF_SHORT 2 -+#define PR_ALIGN_OF_INT 4 -+#define PR_ALIGN_OF_LONG 4 -+#define PR_ALIGN_OF_INT64 4 -+#define PR_ALIGN_OF_FLOAT 4 -+#define PR_ALIGN_OF_DOUBLE 4 -+#define PR_ALIGN_OF_POINTER 4 -+#define PR_ALIGN_OF_WORD 4 -+ -+#define PR_BYTES_PER_WORD_LOG2 2 -+#define PR_BYTES_PER_DWORD_LOG2 3 -+ - #else - - #error "Unknown CPU architecture" -diff -Nura nspr-4.10.6.orig/nspr/pr/include/md/_linux.h nspr-4.10.6/nspr/pr/include/md/_linux.h ---- nspr-4.10.6.orig/nspr/pr/include/md/_linux.h 2014-06-18 10:26:22.446502487 -0300 -+++ nspr-4.10.6/nspr/pr/include/md/_linux.h 2014-06-18 10:26:32.747850615 -0300 -@@ -55,6 +55,8 @@ - #define _PR_SI_ARCHITECTURE "avr32" - #elif defined(__m32r__) - #define _PR_SI_ARCHITECTURE "m32r" -+#elif defined(nios2) -+#define _PR_SI_ARCHITECTURE "nios2" - #else - #error "Unknown CPU architecture" - #endif diff --git a/package/libnspr/libnspr-0002-microblaze.patch b/package/libnspr/libnspr-0002-microblaze.patch deleted file mode 100644 index 30b17f3768..0000000000 --- a/package/libnspr/libnspr-0002-microblaze.patch +++ /dev/null @@ -1,77 +0,0 @@ -Add Microblaze support - -[Gustavo: update for nspr 4.10.6] -Signed-off-by: Spenser Gilliland - -diff -Nura nspr-4.10.6.nios2/nspr/pr/include/md/_linux.cfg nspr-4.10.6/nspr/pr/include/md/_linux.cfg ---- nspr-4.10.6.nios2/nspr/pr/include/md/_linux.cfg 2014-06-18 10:29:15.816361425 -0300 -+++ nspr-4.10.6/nspr/pr/include/md/_linux.cfg 2014-06-18 10:26:59.908768508 -0300 -@@ -969,6 +969,56 @@ - #define PR_BYTES_PER_WORD_LOG2 2 - #define PR_BYTES_PER_DWORD_LOG2 3 - -+#elif defined(__microblaze__) -+ -+#if defined(__BIG_ENDIAN__) -+#define IS_BIG_ENDIAN 1 -+#undef IS_LITTLE_ENDIAN -+#else -+#define IS_LITTLE_ENDIAN 1 -+#undef IS_BIG_ENDIAN -+#endif -+ -+#define PR_BYTES_PER_BYTE 1 -+#define PR_BYTES_PER_SHORT 2 -+#define PR_BYTES_PER_INT 4 -+#define PR_BYTES_PER_INT64 8 -+#define PR_BYTES_PER_LONG 4 -+#define PR_BYTES_PER_FLOAT 4 -+#define PR_BYTES_PER_DOUBLE 8 -+#define PR_BYTES_PER_WORD 4 -+#define PR_BYTES_PER_DWORD 8 -+ -+#define PR_BITS_PER_BYTE 8 -+#define PR_BITS_PER_SHORT 16 -+#define PR_BITS_PER_INT 32 -+#define PR_BITS_PER_INT64 64 -+#define PR_BITS_PER_LONG 32 -+#define PR_BITS_PER_FLOAT 32 -+#define PR_BITS_PER_DOUBLE 64 -+#define PR_BITS_PER_WORD 32 -+ -+#define PR_BITS_PER_BYTE_LOG2 3 -+#define PR_BITS_PER_SHORT_LOG2 4 -+#define PR_BITS_PER_INT_LOG2 5 -+#define PR_BITS_PER_INT64_LOG2 6 -+#define PR_BITS_PER_LONG_LOG2 5 -+#define PR_BITS_PER_FLOAT_LOG2 5 -+#define PR_BITS_PER_DOUBLE_LOG2 6 -+#define PR_BITS_PER_WORD_LOG2 5 -+ -+#define PR_ALIGN_OF_SHORT 2 -+#define PR_ALIGN_OF_INT 4 -+#define PR_ALIGN_OF_LONG 4 -+#define PR_ALIGN_OF_INT64 4 -+#define PR_ALIGN_OF_FLOAT 4 -+#define PR_ALIGN_OF_DOUBLE 4 -+#define PR_ALIGN_OF_POINTER 4 -+#define PR_ALIGN_OF_WORD 4 -+ -+#define PR_BYTES_PER_WORD_LOG2 2 -+#define PR_BYTES_PER_DWORD_LOG2 3 -+ - #else - - #error "Unknown CPU architecture" -diff -Nura nspr-4.10.6.nios2/nspr/pr/include/md/_linux.h nspr-4.10.6/nspr/pr/include/md/_linux.h ---- nspr-4.10.6.nios2/nspr/pr/include/md/_linux.h 2014-06-18 10:29:15.817361459 -0300 -+++ nspr-4.10.6/nspr/pr/include/md/_linux.h 2014-06-18 10:26:59.909768537 -0300 -@@ -55,6 +55,8 @@ - #define _PR_SI_ARCHITECTURE "avr32" - #elif defined(__m32r__) - #define _PR_SI_ARCHITECTURE "m32r" -+#elif defined(__microblaze__) -+#define _PR_SI_ARCHITECTURE "microblaze" - #elif defined(nios2) - #define _PR_SI_ARCHITECTURE "nios2" - #else diff --git a/package/libnss/0001-cross-compile.patch b/package/libnss/0001-cross-compile.patch new file mode 100644 index 0000000000..31de71bc5a --- /dev/null +++ b/package/libnss/0001-cross-compile.patch @@ -0,0 +1,48 @@ +This patch allows us to set a value for the cross compiler via TARGETCC without +setting CC on the command line. CC is used for host tools as well as cross +compiled code so we cannot define it on the command line without breaking +the host tools build. + +[Gustavo: update for nss 3.16.1] +[baruch: add OPTIMIZER handling] +Signed-off-by: Will Newton + +diff -Nuar nss-3.16.1-orig/nss/coreconf/Linux.mk nss-3.16.1/nss/coreconf/Linux.mk +--- nss-3.16.1-orig/nss/coreconf/Linux.mk 2014-05-02 06:27:18.000000000 +0300 ++++ nss-3.16.1/nss/coreconf/Linux.mk 2014-07-01 02:38:18.701480512 +0300 +@@ -16,9 +16,13 @@ + IMPL_STRATEGY = _PTH + endif + +-CC = gcc +-CCC = g++ +-RANLIB = ranlib ++TARGETCC = gcc ++TARGETCCC = g++ ++TARGETRANLIB = ranlib ++ ++CC = $(TARGETCC) ++CCC = $(TARGETCCC) ++RANLIB = $(TARGETRANLIB) + + DEFAULT_COMPILER = gcc + +@@ -125,6 +129,7 @@ + endif + endif + ++OPTIMIZER = $(TARGET_OPTIMIZER) + + ifeq ($(USE_PTHREADS),1) + OS_PTHREAD = -lpthread +diff -Nuar nss-3.16.1-orig/nss/coreconf/nsinstall/Makefile nss-3.16.1/nss/coreconf/nsinstall/Makefile +--- nss-3.16.1-orig/nss/coreconf/nsinstall/Makefile 2014-05-02 06:27:18.000000000 +0300 ++++ nss-3.16.1/nss/coreconf/nsinstall/Makefile 2014-07-01 02:38:48.102185011 +0300 +@@ -31,6 +31,7 @@ + + ifdef NATIVE_FLAGS + OS_CFLAGS=$(NATIVE_FLAGS) ++OPTIMIZER= + endif + + include $(DEPTH)/coreconf/rules.mk diff --git a/package/libnss/0002-uclibc.patch b/package/libnss/0002-uclibc.patch new file mode 100644 index 0000000000..b81db930be --- /dev/null +++ b/package/libnss/0002-uclibc.patch @@ -0,0 +1,20 @@ +uCLibc does not define RTLD_NOLOAD. + +[Gustavo: update for nss 3.16.1] +Signed-off-by: Will Newton + +diff -Nura nss-3.16.1.orig/nss/lib/freebl/stubs.c nss-3.16.1/nss/lib/freebl/stubs.c +--- nss-3.16.1.orig/nss/lib/freebl/stubs.c 2014-06-18 10:34:30.529997002 -0300 ++++ nss-3.16.1/nss/lib/freebl/stubs.c 2014-06-18 10:36:25.508882650 -0300 +@@ -594,6 +594,11 @@ + return SECSuccess; + } + ++/* uClibc does not define RTLD_NOLOAD. */ ++#ifndef RTLD_NOLOAD ++#define RTLD_NOLOAD 0 ++#endif ++ + /* + * fetch the library if it's loaded. For NSS it should already be loaded + */ diff --git a/package/libnss/libnss-0001-cross-compile.patch b/package/libnss/libnss-0001-cross-compile.patch deleted file mode 100644 index 31de71bc5a..0000000000 --- a/package/libnss/libnss-0001-cross-compile.patch +++ /dev/null @@ -1,48 +0,0 @@ -This patch allows us to set a value for the cross compiler via TARGETCC without -setting CC on the command line. CC is used for host tools as well as cross -compiled code so we cannot define it on the command line without breaking -the host tools build. - -[Gustavo: update for nss 3.16.1] -[baruch: add OPTIMIZER handling] -Signed-off-by: Will Newton - -diff -Nuar nss-3.16.1-orig/nss/coreconf/Linux.mk nss-3.16.1/nss/coreconf/Linux.mk ---- nss-3.16.1-orig/nss/coreconf/Linux.mk 2014-05-02 06:27:18.000000000 +0300 -+++ nss-3.16.1/nss/coreconf/Linux.mk 2014-07-01 02:38:18.701480512 +0300 -@@ -16,9 +16,13 @@ - IMPL_STRATEGY = _PTH - endif - --CC = gcc --CCC = g++ --RANLIB = ranlib -+TARGETCC = gcc -+TARGETCCC = g++ -+TARGETRANLIB = ranlib -+ -+CC = $(TARGETCC) -+CCC = $(TARGETCCC) -+RANLIB = $(TARGETRANLIB) - - DEFAULT_COMPILER = gcc - -@@ -125,6 +129,7 @@ - endif - endif - -+OPTIMIZER = $(TARGET_OPTIMIZER) - - ifeq ($(USE_PTHREADS),1) - OS_PTHREAD = -lpthread -diff -Nuar nss-3.16.1-orig/nss/coreconf/nsinstall/Makefile nss-3.16.1/nss/coreconf/nsinstall/Makefile ---- nss-3.16.1-orig/nss/coreconf/nsinstall/Makefile 2014-05-02 06:27:18.000000000 +0300 -+++ nss-3.16.1/nss/coreconf/nsinstall/Makefile 2014-07-01 02:38:48.102185011 +0300 -@@ -31,6 +31,7 @@ - - ifdef NATIVE_FLAGS - OS_CFLAGS=$(NATIVE_FLAGS) -+OPTIMIZER= - endif - - include $(DEPTH)/coreconf/rules.mk diff --git a/package/libnss/libnss-0002-uclibc.patch b/package/libnss/libnss-0002-uclibc.patch deleted file mode 100644 index b81db930be..0000000000 --- a/package/libnss/libnss-0002-uclibc.patch +++ /dev/null @@ -1,20 +0,0 @@ -uCLibc does not define RTLD_NOLOAD. - -[Gustavo: update for nss 3.16.1] -Signed-off-by: Will Newton - -diff -Nura nss-3.16.1.orig/nss/lib/freebl/stubs.c nss-3.16.1/nss/lib/freebl/stubs.c ---- nss-3.16.1.orig/nss/lib/freebl/stubs.c 2014-06-18 10:34:30.529997002 -0300 -+++ nss-3.16.1/nss/lib/freebl/stubs.c 2014-06-18 10:36:25.508882650 -0300 -@@ -594,6 +594,11 @@ - return SECSuccess; - } - -+/* uClibc does not define RTLD_NOLOAD. */ -+#ifndef RTLD_NOLOAD -+#define RTLD_NOLOAD 0 -+#endif -+ - /* - * fetch the library if it's loaded. For NSS it should already be loaded - */ diff --git a/package/libpcap/0001-remove-libnl-include-path.patch b/package/libpcap/0001-remove-libnl-include-path.patch new file mode 100644 index 0000000000..7b7106b53d --- /dev/null +++ b/package/libpcap/0001-remove-libnl-include-path.patch @@ -0,0 +1,16 @@ +Remove hardcoded path to libnl3 include directory + +Signed-off-by: Thomas Petazzoni + +Index: b/configure.in +=================================================================== +--- a/configure.in ++++ b/configure.in +@@ -445,7 +445,6 @@ + AC_DEFINE(HAVE_LIBNL_3_x,1,[if libnl exists and is version 3.x]) + AC_DEFINE(HAVE_LIBNL_NLE,1,[libnl has NLE_FAILURE]) + AC_DEFINE(HAVE_LIBNL_SOCKETS,1,[libnl has new-style socket api]) +- V_INCLS="$V_INCLS -I/usr/include/libnl3" + have_any_nl="yes" + ]) + diff --git a/package/libpcap/0002-configure.in-uclinux-is-also-linux.patch b/package/libpcap/0002-configure.in-uclinux-is-also-linux.patch new file mode 100644 index 0000000000..55be25e8b0 --- /dev/null +++ b/package/libpcap/0002-configure.in-uclinux-is-also-linux.patch @@ -0,0 +1,39 @@ +From a904d1e35be72d0821a6680a75060815bce86642 Mon Sep 17 00:00:00 2001 +Message-Id: +From: Baruch Siach +Date: Fri, 25 Jul 2014 07:28:47 +0300 +Subject: [PATCH] configure.in: uclinux is also linux + +Also we need -lpthread for the test to build for noMMU targets. + +Signed-off-by: Baruch Siach +--- + configure.in | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/configure.in b/configure.in +index 4530aed3a7d0..63f708b9b855 100644 +--- a/configure.in ++++ b/configure.in +@@ -1539,7 +1539,7 @@ AC_ARG_ENABLE([canusb], + if test "x$enable_canusb" != "xno" ; then + dnl check for canusb support + case "$host_os" in +- linux*) ++ linux*|uclinux*) + AC_CHECK_HEADER(libusb-1.0/libusb.h, + [ + AC_CHECK_LIB(usb-1.0, libusb_init, +@@ -1549,7 +1549,8 @@ if test "x$enable_canusb" != "xno" ; then + LIBS="-lusb-1.0 -lpthread $LIBS" + ac_lbl_has_libusb=yes + ], +- ac_lbl_has_libusb=no ++ ac_lbl_has_libusb=no, ++ -lpthread + ) + ], + ac_lbl_has_libusb=no +-- +2.0.1 + diff --git a/package/libpcap/libpcap-0001-remove-libnl-include-path.patch b/package/libpcap/libpcap-0001-remove-libnl-include-path.patch deleted file mode 100644 index 7b7106b53d..0000000000 --- a/package/libpcap/libpcap-0001-remove-libnl-include-path.patch +++ /dev/null @@ -1,16 +0,0 @@ -Remove hardcoded path to libnl3 include directory - -Signed-off-by: Thomas Petazzoni - -Index: b/configure.in -=================================================================== ---- a/configure.in -+++ b/configure.in -@@ -445,7 +445,6 @@ - AC_DEFINE(HAVE_LIBNL_3_x,1,[if libnl exists and is version 3.x]) - AC_DEFINE(HAVE_LIBNL_NLE,1,[libnl has NLE_FAILURE]) - AC_DEFINE(HAVE_LIBNL_SOCKETS,1,[libnl has new-style socket api]) -- V_INCLS="$V_INCLS -I/usr/include/libnl3" - have_any_nl="yes" - ]) - diff --git a/package/libpcap/libpcap-0002-configure.in-uclinux-is-also-linux.patch b/package/libpcap/libpcap-0002-configure.in-uclinux-is-also-linux.patch deleted file mode 100644 index 55be25e8b0..0000000000 --- a/package/libpcap/libpcap-0002-configure.in-uclinux-is-also-linux.patch +++ /dev/null @@ -1,39 +0,0 @@ -From a904d1e35be72d0821a6680a75060815bce86642 Mon Sep 17 00:00:00 2001 -Message-Id: -From: Baruch Siach -Date: Fri, 25 Jul 2014 07:28:47 +0300 -Subject: [PATCH] configure.in: uclinux is also linux - -Also we need -lpthread for the test to build for noMMU targets. - -Signed-off-by: Baruch Siach ---- - configure.in | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/configure.in b/configure.in -index 4530aed3a7d0..63f708b9b855 100644 ---- a/configure.in -+++ b/configure.in -@@ -1539,7 +1539,7 @@ AC_ARG_ENABLE([canusb], - if test "x$enable_canusb" != "xno" ; then - dnl check for canusb support - case "$host_os" in -- linux*) -+ linux*|uclinux*) - AC_CHECK_HEADER(libusb-1.0/libusb.h, - [ - AC_CHECK_LIB(usb-1.0, libusb_init, -@@ -1549,7 +1549,8 @@ if test "x$enable_canusb" != "xno" ; then - LIBS="-lusb-1.0 -lpthread $LIBS" - ac_lbl_has_libusb=yes - ], -- ac_lbl_has_libusb=no -+ ac_lbl_has_libusb=no, -+ -lpthread - ) - ], - ac_lbl_has_libusb=no --- -2.0.1 - diff --git a/package/libplayer/0001-add-fpic.patch b/package/libplayer/0001-add-fpic.patch new file mode 100644 index 0000000000..e4b227f911 --- /dev/null +++ b/package/libplayer/0001-add-fpic.patch @@ -0,0 +1,18 @@ +Add -fPIC to CFLAGS + +-fPIC is needed to build shared library code. + +Signed-off-by: Thomas Petazzoni + +Index: b/src/Makefile +=================================================================== +--- a/src/Makefile ++++ b/src/Makefile +@@ -9,6 +9,7 @@ + SHARED_LIBNAME_VERSION = $(SHARED_LIBNAME).$(VERSION) + SHARED_LIBNAME_MAJOR = $(SHARED_LIBNAME).$(shell echo $(VERSION) | cut -f1 -d.) + SHARED_LIBNAME_FLAGS = -shared -Wl,-soname,$(SHARED_LIBNAME_MAJOR) ++CFLAGS = -fPIC + + ifeq ($(BUILD_STATIC),yes) + BUILD_RULES += lib_static diff --git a/package/libplayer/0002-fix-configure-cflags.patch b/package/libplayer/0002-fix-configure-cflags.patch new file mode 100644 index 0000000000..186afd562e --- /dev/null +++ b/package/libplayer/0002-fix-configure-cflags.patch @@ -0,0 +1,41 @@ +From: Arnout Vandecappelle (Essensium/Mind) +Subject: [PATCH] libplayer: Fix handling of cflags in configure. + +The cflags returned by pkg-config or another config script may consist +of several arguments for the compiler. These should not be quoted together +into a single argument. + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- +Sent upstream to devel@geexbox.org on July 11, 2012. +--- +diff -rup libplayer-2.0.1.orig/configure libplayer-2.0.1/configure +--- libplayer-2.0.1.orig/configure 2010-10-03 19:26:11.000000000 +0200 ++++ libplayer-2.0.1/configure 2012-07-10 23:33:02.783701852 +0200 +@@ -342,7 +342,7 @@ check_libconfig(){ + err=1 + if `which "$config" 1>/dev/null 2>&1`; then + cflags=`$config $ccflags` +- [ -n "$cflags" ] && check_cflags "$cflags" ++ [ -n "$cflags" ] && check_cflags $cflags + libs=`$config $clibs` + if [ -n "$libs" ]; then + temp_extralibs "$libs" +@@ -364,7 +364,7 @@ check_libconfig_exists(){ + err=1 + if `which "$config" 1>/dev/null 2>&1`; then + cflags=`$config $ccflags` +- [ -n "$cflags" ] && temp_cflags "$cflags" ++ [ -n "$cflags" ] && temp_cflags $cflags + libs=`$config $clibs` + if [ -n "$libs" ]; then + temp_extralibs "$libs" +@@ -386,7 +386,7 @@ check_pkgconfig(){ + err=1 + if `which pkg-config 1>/dev/null 2>&1`; then + cflags=`pkg-config $pkg $ccflags` +- [ -n "$cflags" ] && check_cflags "$cflags" ++ [ -n "$cflags" ] && check_cflags $cflags + libs=`pkg-config $pkg $clibs` + if [ -n "$libs" ]; then + temp_extralibs "$libs" diff --git a/package/libplayer/libplayer-add-fpic.patch b/package/libplayer/libplayer-add-fpic.patch deleted file mode 100644 index e4b227f911..0000000000 --- a/package/libplayer/libplayer-add-fpic.patch +++ /dev/null @@ -1,18 +0,0 @@ -Add -fPIC to CFLAGS - --fPIC is needed to build shared library code. - -Signed-off-by: Thomas Petazzoni - -Index: b/src/Makefile -=================================================================== ---- a/src/Makefile -+++ b/src/Makefile -@@ -9,6 +9,7 @@ - SHARED_LIBNAME_VERSION = $(SHARED_LIBNAME).$(VERSION) - SHARED_LIBNAME_MAJOR = $(SHARED_LIBNAME).$(shell echo $(VERSION) | cut -f1 -d.) - SHARED_LIBNAME_FLAGS = -shared -Wl,-soname,$(SHARED_LIBNAME_MAJOR) -+CFLAGS = -fPIC - - ifeq ($(BUILD_STATIC),yes) - BUILD_RULES += lib_static diff --git a/package/libplayer/libplayer-fix-configure-cflags.patch b/package/libplayer/libplayer-fix-configure-cflags.patch deleted file mode 100644 index 186afd562e..0000000000 --- a/package/libplayer/libplayer-fix-configure-cflags.patch +++ /dev/null @@ -1,41 +0,0 @@ -From: Arnout Vandecappelle (Essensium/Mind) -Subject: [PATCH] libplayer: Fix handling of cflags in configure. - -The cflags returned by pkg-config or another config script may consist -of several arguments for the compiler. These should not be quoted together -into a single argument. - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- -Sent upstream to devel@geexbox.org on July 11, 2012. ---- -diff -rup libplayer-2.0.1.orig/configure libplayer-2.0.1/configure ---- libplayer-2.0.1.orig/configure 2010-10-03 19:26:11.000000000 +0200 -+++ libplayer-2.0.1/configure 2012-07-10 23:33:02.783701852 +0200 -@@ -342,7 +342,7 @@ check_libconfig(){ - err=1 - if `which "$config" 1>/dev/null 2>&1`; then - cflags=`$config $ccflags` -- [ -n "$cflags" ] && check_cflags "$cflags" -+ [ -n "$cflags" ] && check_cflags $cflags - libs=`$config $clibs` - if [ -n "$libs" ]; then - temp_extralibs "$libs" -@@ -364,7 +364,7 @@ check_libconfig_exists(){ - err=1 - if `which "$config" 1>/dev/null 2>&1`; then - cflags=`$config $ccflags` -- [ -n "$cflags" ] && temp_cflags "$cflags" -+ [ -n "$cflags" ] && temp_cflags $cflags - libs=`$config $clibs` - if [ -n "$libs" ]; then - temp_extralibs "$libs" -@@ -386,7 +386,7 @@ check_pkgconfig(){ - err=1 - if `which pkg-config 1>/dev/null 2>&1`; then - cflags=`pkg-config $pkg $ccflags` -- [ -n "$cflags" ] && check_cflags "$cflags" -+ [ -n "$cflags" ] && check_cflags $cflags - libs=`pkg-config $pkg $clibs` - if [ -n "$libs" ]; then - temp_extralibs "$libs" diff --git a/package/libpthsem/0001-fix-build-on-linux-3.x-host.patch b/package/libpthsem/0001-fix-build-on-linux-3.x-host.patch new file mode 100644 index 0000000000..21fff4e7cc --- /dev/null +++ b/package/libpthsem/0001-fix-build-on-linux-3.x-host.patch @@ -0,0 +1,28 @@ +From 2d0450bfa3fb7003098da1a7fe24c3ae140912dc Mon Sep 17 00:00:00 2001 +From: Gregory Hermant +Date: Mon, 22 Oct 2012 15:11:53 +0200 +Subject: [PATCH] pthsem build on Linux 3.x host + + +Signed-off-by: Michael Markstaller +Signed-off-by: Gregory Hermant +--- + acinclude.m4 | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/acinclude.m4 b/acinclude.m4 +index 03b42de..fea9bc8 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -892,6 +892,8 @@ case $PLATFORM in + case "x`uname -r`" in + changequote(, )dnl + x2.[23456789]* ) ;; ++changequote(, )dnl ++ x3.* ) ;; + changequote([, ]) + * ) braindead=yes ;; + esac +-- +1.7.9.5 + diff --git a/package/libpthsem/libpthsem-2.0.8-fix-build-on-linux-3.x-host.patch b/package/libpthsem/libpthsem-2.0.8-fix-build-on-linux-3.x-host.patch deleted file mode 100644 index 21fff4e7cc..0000000000 --- a/package/libpthsem/libpthsem-2.0.8-fix-build-on-linux-3.x-host.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 2d0450bfa3fb7003098da1a7fe24c3ae140912dc Mon Sep 17 00:00:00 2001 -From: Gregory Hermant -Date: Mon, 22 Oct 2012 15:11:53 +0200 -Subject: [PATCH] pthsem build on Linux 3.x host - - -Signed-off-by: Michael Markstaller -Signed-off-by: Gregory Hermant ---- - acinclude.m4 | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/acinclude.m4 b/acinclude.m4 -index 03b42de..fea9bc8 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -892,6 +892,8 @@ case $PLATFORM in - case "x`uname -r`" in - changequote(, )dnl - x2.[23456789]* ) ;; -+changequote(, )dnl -+ x3.* ) ;; - changequote([, ]) - * ) braindead=yes ;; - esac --- -1.7.9.5 - diff --git a/package/librtlsdr/0001-disable_shared_library_target_in_build.patch b/package/librtlsdr/0001-disable_shared_library_target_in_build.patch new file mode 100644 index 0000000000..b763c48b2e --- /dev/null +++ b/package/librtlsdr/0001-disable_shared_library_target_in_build.patch @@ -0,0 +1,80 @@ +librtlsdr: disable shared library target in build + +Disable shared library target if BUILD_SHARED_LIBS if OFF. + +Signed-off-by: Yuvaraj Patil +--- +diff -Nurp librtlsdr-v0.5.3_orig/src/CMakeLists.txt librtlsdr-v0.5.3/src/CMakeLists.txt +--- librtlsdr-v0.5.3_orig/src/CMakeLists.txt 2014-09-24 17:31:40.610337074 +0530 ++++ librtlsdr-v0.5.3/src/CMakeLists.txt 2014-09-24 17:32:38.838334632 +0530 +@@ -20,6 +20,7 @@ + ######################################################################## + # Setup library + ######################################################################## ++if(BUILD_SHARED_LIBS) + add_library(rtlsdr_shared SHARED + librtlsdr.c + tuner_e4k.c +@@ -37,6 +38,7 @@ set_target_properties(rtlsdr_shared PROP + set_target_properties(rtlsdr_shared PROPERTIES OUTPUT_NAME rtlsdr) + set_target_properties(rtlsdr_shared PROPERTIES SOVERSION ${MAJOR_VERSION}) + set_target_properties(rtlsdr_shared PROPERTIES VERSION ${LIBVER}) ++endif() + + add_library(rtlsdr_static STATIC + librtlsdr.c +@@ -71,6 +73,12 @@ if(NOT WIN32) + set_target_properties(rtlsdr_static PROPERTIES OUTPUT_NAME rtlsdr) + endif() + ++if(BUILD_SHARED_LIBS) ++set(rtlsdr_lib rtlsdr_shared) ++else() ++set(rtlsdr_lib rtlsdr_static) ++endif() ++ + ######################################################################## + # Build utility + ######################################################################## +@@ -81,33 +89,33 @@ add_executable(rtl_fm rtl_fm.c) + add_executable(rtl_eeprom rtl_eeprom.c) + add_executable(rtl_adsb rtl_adsb.c) + add_executable(rtl_power rtl_power.c) +-set(INSTALL_TARGETS rtlsdr_shared rtlsdr_static rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power) ++set(INSTALL_TARGETS ${rtlsdr_lib} rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power) + +-target_link_libraries(rtl_sdr rtlsdr_shared convenience_static ++target_link_libraries(rtl_sdr ${rtlsdr_lib} convenience_static + ${LIBUSB_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} + ) +-target_link_libraries(rtl_tcp rtlsdr_shared convenience_static ++target_link_libraries(rtl_tcp ${rtlsdr_lib} convenience_static + ${LIBUSB_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} + ) +-target_link_libraries(rtl_test rtlsdr_shared convenience_static ++target_link_libraries(rtl_test ${rtlsdr_lib} convenience_static + ${LIBUSB_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} + ) +-target_link_libraries(rtl_fm rtlsdr_shared convenience_static ++target_link_libraries(rtl_fm ${rtlsdr_lib} convenience_static + ${LIBUSB_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} + ) +-target_link_libraries(rtl_eeprom rtlsdr_shared convenience_static ++target_link_libraries(rtl_eeprom ${rtlsdr_lib} convenience_static + ${LIBUSB_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} + ) +-target_link_libraries(rtl_adsb rtlsdr_shared convenience_static ++target_link_libraries(rtl_adsb ${rtlsdr_lib} convenience_static + ${LIBUSB_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} + ) +-target_link_libraries(rtl_power rtlsdr_shared convenience_static ++target_link_libraries(rtl_power ${rtlsdr_lib} convenience_static + ${LIBUSB_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} + ) diff --git a/package/librtlsdr/librtlsdr_001_disable_shared_library_target_in_build.patch b/package/librtlsdr/librtlsdr_001_disable_shared_library_target_in_build.patch deleted file mode 100644 index b763c48b2e..0000000000 --- a/package/librtlsdr/librtlsdr_001_disable_shared_library_target_in_build.patch +++ /dev/null @@ -1,80 +0,0 @@ -librtlsdr: disable shared library target in build - -Disable shared library target if BUILD_SHARED_LIBS if OFF. - -Signed-off-by: Yuvaraj Patil ---- -diff -Nurp librtlsdr-v0.5.3_orig/src/CMakeLists.txt librtlsdr-v0.5.3/src/CMakeLists.txt ---- librtlsdr-v0.5.3_orig/src/CMakeLists.txt 2014-09-24 17:31:40.610337074 +0530 -+++ librtlsdr-v0.5.3/src/CMakeLists.txt 2014-09-24 17:32:38.838334632 +0530 -@@ -20,6 +20,7 @@ - ######################################################################## - # Setup library - ######################################################################## -+if(BUILD_SHARED_LIBS) - add_library(rtlsdr_shared SHARED - librtlsdr.c - tuner_e4k.c -@@ -37,6 +38,7 @@ set_target_properties(rtlsdr_shared PROP - set_target_properties(rtlsdr_shared PROPERTIES OUTPUT_NAME rtlsdr) - set_target_properties(rtlsdr_shared PROPERTIES SOVERSION ${MAJOR_VERSION}) - set_target_properties(rtlsdr_shared PROPERTIES VERSION ${LIBVER}) -+endif() - - add_library(rtlsdr_static STATIC - librtlsdr.c -@@ -71,6 +73,12 @@ if(NOT WIN32) - set_target_properties(rtlsdr_static PROPERTIES OUTPUT_NAME rtlsdr) - endif() - -+if(BUILD_SHARED_LIBS) -+set(rtlsdr_lib rtlsdr_shared) -+else() -+set(rtlsdr_lib rtlsdr_static) -+endif() -+ - ######################################################################## - # Build utility - ######################################################################## -@@ -81,33 +89,33 @@ add_executable(rtl_fm rtl_fm.c) - add_executable(rtl_eeprom rtl_eeprom.c) - add_executable(rtl_adsb rtl_adsb.c) - add_executable(rtl_power rtl_power.c) --set(INSTALL_TARGETS rtlsdr_shared rtlsdr_static rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power) -+set(INSTALL_TARGETS ${rtlsdr_lib} rtl_sdr rtl_tcp rtl_test rtl_fm rtl_eeprom rtl_adsb rtl_power) - --target_link_libraries(rtl_sdr rtlsdr_shared convenience_static -+target_link_libraries(rtl_sdr ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) --target_link_libraries(rtl_tcp rtlsdr_shared convenience_static -+target_link_libraries(rtl_tcp ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) --target_link_libraries(rtl_test rtlsdr_shared convenience_static -+target_link_libraries(rtl_test ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) --target_link_libraries(rtl_fm rtlsdr_shared convenience_static -+target_link_libraries(rtl_fm ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) --target_link_libraries(rtl_eeprom rtlsdr_shared convenience_static -+target_link_libraries(rtl_eeprom ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) --target_link_libraries(rtl_adsb rtlsdr_shared convenience_static -+target_link_libraries(rtl_adsb ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) --target_link_libraries(rtl_power rtlsdr_shared convenience_static -+target_link_libraries(rtl_power ${rtlsdr_lib} convenience_static - ${LIBUSB_LIBRARIES} - ${CMAKE_THREAD_LIBS_INIT} - ) diff --git a/package/libseccomp/0001-use-system-headers-from-sysroot.patch b/package/libseccomp/0001-use-system-headers-from-sysroot.patch new file mode 100644 index 0000000000..0997eddb8e --- /dev/null +++ b/package/libseccomp/0001-use-system-headers-from-sysroot.patch @@ -0,0 +1,17 @@ +configure: check headers in sysroot, not in host's system headers + +Signed-off-by: "Yann E. MORIN" + +diff -durN libseccomp-1.0.0.orig/configure libseccomp-1.0.0/configure +--- libseccomp-1.0.0.orig/configure 2012-07-27 22:35:05.000000000 +0200 ++++ libseccomp-1.0.0/configure 2012-10-27 00:12:50.739196219 +0200 +@@ -205,7 +205,8 @@ + # + + # system seccomp includes +-if [[ -r "/usr/include/linux/seccomp.h" ]]; then ++# ${SYSROOT} added by buildroot for cross-compilation ++if [[ -r "${SYSROOT}/usr/include/linux/seccomp.h" ]]; then + opt_sysinc_seccomp="yes" + else + opt_sysinc_seccomp="no" diff --git a/package/libseccomp/0002-Remove-the-dependency-on-proc.patch b/package/libseccomp/0002-Remove-the-dependency-on-proc.patch new file mode 100644 index 0000000000..081bca745b --- /dev/null +++ b/package/libseccomp/0002-Remove-the-dependency-on-proc.patch @@ -0,0 +1,42 @@ +From 58c34ae1343e2a452e08cd160936a231bcdb67a1 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Tue, 18 Dec 2012 09:57:47 +0100 +Subject: [PATCH] Remove the dependency on /proc + +The Makefile relied on a broken logic for the INSTALL_PC_MACRO. +It was used like this: $(INSTALL_PC_MACRO) file. + +The INSTALL_PC_MACRO was then expanded with a trailing sharp, to pass +the name of the file to install as a comment at the end of the command. + +And then, to retrieve the file to copy, it used the $NF variable of awk +on the /proc/self/cmdline file to happily reinvent the argument +mechanism. + +This patch removes of this crazy stuff by using the -t option of +install, that keeps the same calling convention. + +Signed-off-by: Maxime Ripard +--- + macros.mk | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/macros.mk b/macros.mk +index 6162900..eb61ead 100644 +--- a/macros.mk ++++ b/macros.mk +@@ -150,9 +150,8 @@ endif + INSTALL_PC_MACRO += \ + $(INSTALL) -o $(INSTALL_OWNER) -g $(INSTALL_GROUP) \ + -d "$(INSTALL_LIB_DIR)/pkgconfig"; \ +- $(INSTALL) -o $(INSTALL_OWNER) -g $(INSTALL_GROUP) -m 0644 \ +- "$$(cat /proc/$$$$/cmdline | awk '{print $$(NF)}')" \ +- "$(INSTALL_LIB_DIR)/pkgconfig"; \# ++ $(INSTALL) -o $(INSTALL_OWNER) -g $(INSTALL_GROUP) -m 0644 -t \ ++ "$(INSTALL_LIB_DIR)/pkgconfig" + + ifeq ($(V),0) + INSTALL_INC_MACRO = @echo " INSTALL $^ ($(INSTALL_INC_DIR))"; +-- +1.7.9.5 + diff --git a/package/libseccomp/libseccomp-0001-use-system-headers-from-sysroot.patch b/package/libseccomp/libseccomp-0001-use-system-headers-from-sysroot.patch deleted file mode 100644 index 0997eddb8e..0000000000 --- a/package/libseccomp/libseccomp-0001-use-system-headers-from-sysroot.patch +++ /dev/null @@ -1,17 +0,0 @@ -configure: check headers in sysroot, not in host's system headers - -Signed-off-by: "Yann E. MORIN" - -diff -durN libseccomp-1.0.0.orig/configure libseccomp-1.0.0/configure ---- libseccomp-1.0.0.orig/configure 2012-07-27 22:35:05.000000000 +0200 -+++ libseccomp-1.0.0/configure 2012-10-27 00:12:50.739196219 +0200 -@@ -205,7 +205,8 @@ - # - - # system seccomp includes --if [[ -r "/usr/include/linux/seccomp.h" ]]; then -+# ${SYSROOT} added by buildroot for cross-compilation -+if [[ -r "${SYSROOT}/usr/include/linux/seccomp.h" ]]; then - opt_sysinc_seccomp="yes" - else - opt_sysinc_seccomp="no" diff --git a/package/libseccomp/libseccomp-0002-Remove-the-dependency-on-proc.patch b/package/libseccomp/libseccomp-0002-Remove-the-dependency-on-proc.patch deleted file mode 100644 index 081bca745b..0000000000 --- a/package/libseccomp/libseccomp-0002-Remove-the-dependency-on-proc.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 58c34ae1343e2a452e08cd160936a231bcdb67a1 Mon Sep 17 00:00:00 2001 -From: Maxime Ripard -Date: Tue, 18 Dec 2012 09:57:47 +0100 -Subject: [PATCH] Remove the dependency on /proc - -The Makefile relied on a broken logic for the INSTALL_PC_MACRO. -It was used like this: $(INSTALL_PC_MACRO) file. - -The INSTALL_PC_MACRO was then expanded with a trailing sharp, to pass -the name of the file to install as a comment at the end of the command. - -And then, to retrieve the file to copy, it used the $NF variable of awk -on the /proc/self/cmdline file to happily reinvent the argument -mechanism. - -This patch removes of this crazy stuff by using the -t option of -install, that keeps the same calling convention. - -Signed-off-by: Maxime Ripard ---- - macros.mk | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/macros.mk b/macros.mk -index 6162900..eb61ead 100644 ---- a/macros.mk -+++ b/macros.mk -@@ -150,9 +150,8 @@ endif - INSTALL_PC_MACRO += \ - $(INSTALL) -o $(INSTALL_OWNER) -g $(INSTALL_GROUP) \ - -d "$(INSTALL_LIB_DIR)/pkgconfig"; \ -- $(INSTALL) -o $(INSTALL_OWNER) -g $(INSTALL_GROUP) -m 0644 \ -- "$$(cat /proc/$$$$/cmdline | awk '{print $$(NF)}')" \ -- "$(INSTALL_LIB_DIR)/pkgconfig"; \# -+ $(INSTALL) -o $(INSTALL_OWNER) -g $(INSTALL_GROUP) -m 0644 -t \ -+ "$(INSTALL_LIB_DIR)/pkgconfig" - - ifeq ($(V),0) - INSTALL_INC_MACRO = @echo " INSTALL $^ ($(INSTALL_INC_DIR))"; --- -1.7.9.5 - diff --git a/package/libsepol/0001-support-static-only.patch b/package/libsepol/0001-support-static-only.patch new file mode 100644 index 0000000000..b9746807ba --- /dev/null +++ b/package/libsepol/0001-support-static-only.patch @@ -0,0 +1,44 @@ +Add support for static-only build + +Instead of unconditionally building shared libraries, this patch +improves the libsepol build system with a "STATIC" variable, which +when defined to some non-empty value, will disable the build of shared +libraries. It allows to support cases where the target architecture +does not have support for shared libraries. + +Signed-off-by: Thomas Petazzoni + +Index: b/src/Makefile +=================================================================== +--- a/src/Makefile ++++ b/src/Makefile +@@ -17,7 +17,12 @@ + CFLAGS ?= -Werror -Wall -W -Wundef -Wshadow -Wmissing-noreturn -Wmissing-format-attribute + override CFLAGS += -I. -I../include -D_GNU_SOURCE + +-all: $(LIBA) $(LIBSO) $(LIBPC) ++ALL_TARGETS = $(LIBA) $(LIBPC) ++ifeq ($(STATIC),) ++ALL_TARGETS += $(LIBSO) ++endif ++ ++all: $(ALL_TARGETS) + + $(LIBA): $(OBJS) + $(AR) rcs $@ $^ +@@ -39,11 +44,13 @@ + install: all + test -d $(LIBDIR) || install -m 755 -d $(LIBDIR) + install -m 644 $(LIBA) $(LIBDIR) +- test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR) +- install -m 755 $(LIBSO) $(SHLIBDIR) + test -d $(LIBDIR)/pkgconfig || install -m 755 -d $(LIBDIR)/pkgconfig + install -m 644 $(LIBPC) $(LIBDIR)/pkgconfig ++ifeq ($(STATIC),) ++ test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR) ++ install -m 755 $(LIBSO) $(SHLIBDIR) + cd $(LIBDIR) && ln -sf ../../`basename $(SHLIBDIR)`/$(LIBSO) $(TARGET) ++endif + + relabel: + /sbin/restorecon $(SHLIBDIR)/$(LIBSO) diff --git a/package/libsepol/libsepol-01-support-static-only.patch b/package/libsepol/libsepol-01-support-static-only.patch deleted file mode 100644 index b9746807ba..0000000000 --- a/package/libsepol/libsepol-01-support-static-only.patch +++ /dev/null @@ -1,44 +0,0 @@ -Add support for static-only build - -Instead of unconditionally building shared libraries, this patch -improves the libsepol build system with a "STATIC" variable, which -when defined to some non-empty value, will disable the build of shared -libraries. It allows to support cases where the target architecture -does not have support for shared libraries. - -Signed-off-by: Thomas Petazzoni - -Index: b/src/Makefile -=================================================================== ---- a/src/Makefile -+++ b/src/Makefile -@@ -17,7 +17,12 @@ - CFLAGS ?= -Werror -Wall -W -Wundef -Wshadow -Wmissing-noreturn -Wmissing-format-attribute - override CFLAGS += -I. -I../include -D_GNU_SOURCE - --all: $(LIBA) $(LIBSO) $(LIBPC) -+ALL_TARGETS = $(LIBA) $(LIBPC) -+ifeq ($(STATIC),) -+ALL_TARGETS += $(LIBSO) -+endif -+ -+all: $(ALL_TARGETS) - - $(LIBA): $(OBJS) - $(AR) rcs $@ $^ -@@ -39,11 +44,13 @@ - install: all - test -d $(LIBDIR) || install -m 755 -d $(LIBDIR) - install -m 644 $(LIBA) $(LIBDIR) -- test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR) -- install -m 755 $(LIBSO) $(SHLIBDIR) - test -d $(LIBDIR)/pkgconfig || install -m 755 -d $(LIBDIR)/pkgconfig - install -m 644 $(LIBPC) $(LIBDIR)/pkgconfig -+ifeq ($(STATIC),) -+ test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR) -+ install -m 755 $(LIBSO) $(SHLIBDIR) - cd $(LIBDIR) && ln -sf ../../`basename $(SHLIBDIR)`/$(LIBSO) $(TARGET) -+endif - - relabel: - /sbin/restorecon $(SHLIBDIR)/$(LIBSO) diff --git a/package/libserial/0001-disable-python-bindings.patch b/package/libserial/0001-disable-python-bindings.patch new file mode 100644 index 0000000000..54b5cb6cf1 --- /dev/null +++ b/package/libserial/0001-disable-python-bindings.patch @@ -0,0 +1,25 @@ +Disable build of Python bindings, which requires the sipconfig module. + +Signed-off-by: Simon Dawson + +diff -Nurp a/Makefile.am b/Makefile.am +--- a/Makefile.am 2008-11-12 01:27:31.000000000 +0000 ++++ b/Makefile.am 2013-04-16 09:41:13.476002178 +0100 +@@ -1,4 +1,4 @@ +-SUBDIRS=src doc examples sip ++SUBDIRS=src doc examples + + EXTRA_DIST = doxygen.conf.in Makefile.dist libserial.spec libserial.pc + +diff -Nurp a/Makefile.in b/Makefile.in +--- a/Makefile.in 2008-11-12 01:28:14.000000000 +0000 ++++ b/Makefile.in 2013-04-16 09:41:05.628013626 +0100 +@@ -197,7 +197,7 @@ sysconfdir = @sysconfdir@ + target_alias = @target_alias@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ +-SUBDIRS = src doc examples sip ++SUBDIRS = src doc examples + EXTRA_DIST = doxygen.conf.in Makefile.dist libserial.spec libserial.pc + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = libserial.pc diff --git a/package/libserial/0002-add-missing-header-include.patch b/package/libserial/0002-add-missing-header-include.patch new file mode 100644 index 0000000000..a0226372b9 --- /dev/null +++ b/package/libserial/0002-add-missing-header-include.patch @@ -0,0 +1,15 @@ +Add a missing header include, to fix a build error. + +Signed-off-by: Simon Dawson + +diff -Nurp a/src/SerialPort.cpp b/src/SerialPort.cpp +--- a/src/SerialPort.cpp 2008-11-12 01:27:30.000000000 +0000 ++++ b/src/SerialPort.cpp 2013-04-23 15:43:41.537495852 +0100 +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/package/libserial/libserial-0001-disable-python-bindings.patch b/package/libserial/libserial-0001-disable-python-bindings.patch deleted file mode 100644 index 54b5cb6cf1..0000000000 --- a/package/libserial/libserial-0001-disable-python-bindings.patch +++ /dev/null @@ -1,25 +0,0 @@ -Disable build of Python bindings, which requires the sipconfig module. - -Signed-off-by: Simon Dawson - -diff -Nurp a/Makefile.am b/Makefile.am ---- a/Makefile.am 2008-11-12 01:27:31.000000000 +0000 -+++ b/Makefile.am 2013-04-16 09:41:13.476002178 +0100 -@@ -1,4 +1,4 @@ --SUBDIRS=src doc examples sip -+SUBDIRS=src doc examples - - EXTRA_DIST = doxygen.conf.in Makefile.dist libserial.spec libserial.pc - -diff -Nurp a/Makefile.in b/Makefile.in ---- a/Makefile.in 2008-11-12 01:28:14.000000000 +0000 -+++ b/Makefile.in 2013-04-16 09:41:05.628013626 +0100 -@@ -197,7 +197,7 @@ sysconfdir = @sysconfdir@ - target_alias = @target_alias@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ --SUBDIRS = src doc examples sip -+SUBDIRS = src doc examples - EXTRA_DIST = doxygen.conf.in Makefile.dist libserial.spec libserial.pc - pkgconfigdir = $(libdir)/pkgconfig - pkgconfig_DATA = libserial.pc diff --git a/package/libserial/libserial-0002-add-missing-header-include.patch b/package/libserial/libserial-0002-add-missing-header-include.patch deleted file mode 100644 index a0226372b9..0000000000 --- a/package/libserial/libserial-0002-add-missing-header-include.patch +++ /dev/null @@ -1,15 +0,0 @@ -Add a missing header include, to fix a build error. - -Signed-off-by: Simon Dawson - -diff -Nurp a/src/SerialPort.cpp b/src/SerialPort.cpp ---- a/src/SerialPort.cpp 2008-11-12 01:27:30.000000000 +0000 -+++ b/src/SerialPort.cpp 2013-04-23 15:43:41.537495852 +0100 -@@ -27,6 +27,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/package/libsndfile/0001-srconly.patch b/package/libsndfile/0001-srconly.patch new file mode 100644 index 0000000000..417e34072a --- /dev/null +++ b/package/libsndfile/0001-srconly.patch @@ -0,0 +1,17 @@ +--- + Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: libsndfile-1.0.18/Makefile.in +=================================================================== +--- libsndfile-1.0.18.orig/Makefile.in ++++ libsndfile-1.0.18/Makefile.in +@@ -260,7 +260,7 @@ + top_srcdir = @top_srcdir@ + DISTCHECK_CONFIGURE_FLAGS = --enable-gcc-werror + @BUILD_OCTAVE_MOD_TRUE@octave_dir = Octave +-SUBDIRS = M4 man doc Win32 src $(octave_dir) examples regtest tests programs ++SUBDIRS = src + DIST_SUBDIRS = M4 man doc Win32 src Octave examples regtest tests programs + EXTRA_DIST = libsndfile.spec.in sndfile.pc.in Mingw-make-dist.sh + pkgconfigdir = $(libdir)/pkgconfig diff --git a/package/libsndfile/libsndfile-srconly.patch b/package/libsndfile/libsndfile-srconly.patch deleted file mode 100644 index 417e34072a..0000000000 --- a/package/libsndfile/libsndfile-srconly.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - Makefile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: libsndfile-1.0.18/Makefile.in -=================================================================== ---- libsndfile-1.0.18.orig/Makefile.in -+++ libsndfile-1.0.18/Makefile.in -@@ -260,7 +260,7 @@ - top_srcdir = @top_srcdir@ - DISTCHECK_CONFIGURE_FLAGS = --enable-gcc-werror - @BUILD_OCTAVE_MOD_TRUE@octave_dir = Octave --SUBDIRS = M4 man doc Win32 src $(octave_dir) examples regtest tests programs -+SUBDIRS = src - DIST_SUBDIRS = M4 man doc Win32 src Octave examples regtest tests programs - EXTRA_DIST = libsndfile.spec.in sndfile.pc.in Mingw-make-dist.sh - pkgconfigdir = $(libdir)/pkgconfig diff --git a/package/libstrophe/0001-make-autoreconfable.patch b/package/libstrophe/0001-make-autoreconfable.patch new file mode 100644 index 0000000000..98da3f47cc --- /dev/null +++ b/package/libstrophe/0001-make-autoreconfable.patch @@ -0,0 +1,13 @@ +Make the package autoreconfigurable + +Signed-off-by: Denis Bodor + +diff -ur libstrophe.orig/Makefile.am libstrophe/Makefile.am +--- libstrophe.orig/Makefile.am 2014-03-02 18:58:36.219753865 +0100 ++++ libstrophe/Makefile.am 2014-03-02 18:58:02.739752477 +0100 +@@ -1,4 +1,4 @@ +-AUTOMAKE_OPTIONS = subdir-objects ++AUTOMAKE_OPTIONS = subdir-objects foreign + + CFLAGS = -g -Wall + diff --git a/package/libstrophe/libstrophe-01-make-autoreconfable.patch b/package/libstrophe/libstrophe-01-make-autoreconfable.patch deleted file mode 100644 index 98da3f47cc..0000000000 --- a/package/libstrophe/libstrophe-01-make-autoreconfable.patch +++ /dev/null @@ -1,13 +0,0 @@ -Make the package autoreconfigurable - -Signed-off-by: Denis Bodor - -diff -ur libstrophe.orig/Makefile.am libstrophe/Makefile.am ---- libstrophe.orig/Makefile.am 2014-03-02 18:58:36.219753865 +0100 -+++ libstrophe/Makefile.am 2014-03-02 18:58:02.739752477 +0100 -@@ -1,4 +1,4 @@ --AUTOMAKE_OPTIONS = subdir-objects -+AUTOMAKE_OPTIONS = subdir-objects foreign - - CFLAGS = -g -Wall - diff --git a/package/libsvg/0001-fix-expat-static-declaration.patch b/package/libsvg/0001-fix-expat-static-declaration.patch new file mode 100644 index 0000000000..58ef286729 --- /dev/null +++ b/package/libsvg/0001-fix-expat-static-declaration.patch @@ -0,0 +1,33 @@ +Newer expat versions use different declarations of the following functions: + +static void _svg_parser_sax_start_element (); +static void _svg_parser_sax_end_element (); +static void _svg_parser_sax_characters (); + +We need to patch the libsvg source to not follow into a build error like + "static declaration of 'foo' follows non-static declaration" +and use the functions from the expat library instead from the libsvg source. + +Patch based on +http://oe-lite.org/redmine/projects/xorg/repository/revisions/c4df7951e846e1be718f37f2455696a1d0861f3d/entry/recipes/cairo/libsvg-0.1.4/gcc4_and_expat.patch + +Signed-off-by: Carsten Schoenert + +diff -bur libsvg-0.1.4~orig/src/svg_parser_expat.c libsvg-0.1.4/src/svg_parser_expat.c +--- libsvg-0.1.4~orig/src/svg_parser_expat.c 2005-02-14 11:26:26.000000000 -0600 ++++ libsvg-0.1.4/src/svg_parser_expat.c 2006-02-10 21:58:20.000000000 -0600 +@@ -30,6 +30,7 @@ + #include "svgint.h" + #include "svg_hash.h" + ++#ifndef LIBSVG_EXPAT + static void + _svg_parser_sax_start_element (void *closure, + const XML_Char *name, +@@ -43,6 +44,7 @@ + _svg_parser_sax_characters (void *closure, + const XML_Char *ch, + int len); ++#endif + + static void diff --git a/package/libsvg/libsvg-fix-expat-static-declaration.patch b/package/libsvg/libsvg-fix-expat-static-declaration.patch deleted file mode 100644 index 58ef286729..0000000000 --- a/package/libsvg/libsvg-fix-expat-static-declaration.patch +++ /dev/null @@ -1,33 +0,0 @@ -Newer expat versions use different declarations of the following functions: - -static void _svg_parser_sax_start_element (); -static void _svg_parser_sax_end_element (); -static void _svg_parser_sax_characters (); - -We need to patch the libsvg source to not follow into a build error like - "static declaration of 'foo' follows non-static declaration" -and use the functions from the expat library instead from the libsvg source. - -Patch based on -http://oe-lite.org/redmine/projects/xorg/repository/revisions/c4df7951e846e1be718f37f2455696a1d0861f3d/entry/recipes/cairo/libsvg-0.1.4/gcc4_and_expat.patch - -Signed-off-by: Carsten Schoenert - -diff -bur libsvg-0.1.4~orig/src/svg_parser_expat.c libsvg-0.1.4/src/svg_parser_expat.c ---- libsvg-0.1.4~orig/src/svg_parser_expat.c 2005-02-14 11:26:26.000000000 -0600 -+++ libsvg-0.1.4/src/svg_parser_expat.c 2006-02-10 21:58:20.000000000 -0600 -@@ -30,6 +30,7 @@ - #include "svgint.h" - #include "svg_hash.h" - -+#ifndef LIBSVG_EXPAT - static void - _svg_parser_sax_start_element (void *closure, - const XML_Char *name, -@@ -43,6 +44,7 @@ - _svg_parser_sax_characters (void *closure, - const XML_Char *ch, - int len); -+#endif - - static void diff --git a/package/libtorrent/0001-cross_compile.patch b/package/libtorrent/0001-cross_compile.patch new file mode 100644 index 0000000000..f86f289351 --- /dev/null +++ b/package/libtorrent/0001-cross_compile.patch @@ -0,0 +1,39 @@ +Fix cross compilation, based on OpenWRT patch. + +Signed-off-by: Gustavo Zacarias + +diff -Nura libtorrent-0.13.3.orig/configure.ac libtorrent-0.13.3/configure.ac +--- libtorrent-0.13.3.orig/configure.ac 2012-10-31 07:38:59.345752076 -0300 ++++ libtorrent-0.13.3/configure.ac 2012-10-31 07:39:06.454799361 -0300 +@@ -19,7 +19,6 @@ + + AM_INIT_AUTOMAKE + AM_CONFIG_HEADER(config.h) +-AM_PATH_CPPUNIT(1.9.6) + + AC_PROG_CXX + +diff -Nura libtorrent-0.13.3.orig/scripts/checks.m4 libtorrent-0.13.3/scripts/checks.m4 +--- libtorrent-0.13.3.orig/scripts/checks.m4 2012-10-31 07:38:59.342752057 -0300 ++++ libtorrent-0.13.3/scripts/checks.m4 2012-10-31 07:39:06.454799361 -0300 +@@ -96,7 +96,7 @@ + AC_DEFUN([TORRENT_CHECK_KQUEUE_SOCKET_ONLY], [ + AC_MSG_CHECKING(whether kqueue supports pipes and ptys) + +- AC_RUN_IFELSE([AC_LANG_SOURCE([ ++ AC_LINK_IFELSE([AC_LANG_SOURCE([ + #include + #include + #include +diff -Nura libtorrent-0.13.3.orig/scripts/common.m4 libtorrent-0.13.3/scripts/common.m4 +--- libtorrent-0.13.3.orig/scripts/common.m4 2012-10-31 07:38:59.342752057 -0300 ++++ libtorrent-0.13.3/scripts/common.m4 2012-10-31 07:39:32.550972826 -0300 +@@ -223,7 +223,7 @@ + AC_DEFUN([TORRENT_CHECK_EXECINFO], [ + AC_MSG_CHECKING(for execinfo.h) + +- AC_RUN_IFELSE([AC_LANG_SOURCE([ ++ AC_LINK_IFELSE([AC_LANG_SOURCE([ + #include + int main() { backtrace((void**)0, 0); backtrace_symbols((char**)0, 0); return 0;} + ])], diff --git a/package/libtorrent/libtorrent-cross_compile.patch b/package/libtorrent/libtorrent-cross_compile.patch deleted file mode 100644 index f86f289351..0000000000 --- a/package/libtorrent/libtorrent-cross_compile.patch +++ /dev/null @@ -1,39 +0,0 @@ -Fix cross compilation, based on OpenWRT patch. - -Signed-off-by: Gustavo Zacarias - -diff -Nura libtorrent-0.13.3.orig/configure.ac libtorrent-0.13.3/configure.ac ---- libtorrent-0.13.3.orig/configure.ac 2012-10-31 07:38:59.345752076 -0300 -+++ libtorrent-0.13.3/configure.ac 2012-10-31 07:39:06.454799361 -0300 -@@ -19,7 +19,6 @@ - - AM_INIT_AUTOMAKE - AM_CONFIG_HEADER(config.h) --AM_PATH_CPPUNIT(1.9.6) - - AC_PROG_CXX - -diff -Nura libtorrent-0.13.3.orig/scripts/checks.m4 libtorrent-0.13.3/scripts/checks.m4 ---- libtorrent-0.13.3.orig/scripts/checks.m4 2012-10-31 07:38:59.342752057 -0300 -+++ libtorrent-0.13.3/scripts/checks.m4 2012-10-31 07:39:06.454799361 -0300 -@@ -96,7 +96,7 @@ - AC_DEFUN([TORRENT_CHECK_KQUEUE_SOCKET_ONLY], [ - AC_MSG_CHECKING(whether kqueue supports pipes and ptys) - -- AC_RUN_IFELSE([AC_LANG_SOURCE([ -+ AC_LINK_IFELSE([AC_LANG_SOURCE([ - #include - #include - #include -diff -Nura libtorrent-0.13.3.orig/scripts/common.m4 libtorrent-0.13.3/scripts/common.m4 ---- libtorrent-0.13.3.orig/scripts/common.m4 2012-10-31 07:38:59.342752057 -0300 -+++ libtorrent-0.13.3/scripts/common.m4 2012-10-31 07:39:32.550972826 -0300 -@@ -223,7 +223,7 @@ - AC_DEFUN([TORRENT_CHECK_EXECINFO], [ - AC_MSG_CHECKING(for execinfo.h) - -- AC_RUN_IFELSE([AC_LANG_SOURCE([ -+ AC_LINK_IFELSE([AC_LANG_SOURCE([ - #include - int main() { backtrace((void**)0, 0); backtrace_symbols((char**)0, 0); return 0;} - ])], diff --git a/package/libubox/0001-drop-legacy-json-c.patch b/package/libubox/0001-drop-legacy-json-c.patch new file mode 100644 index 0000000000..84bd99a6e2 --- /dev/null +++ b/package/libubox/0001-drop-legacy-json-c.patch @@ -0,0 +1,34 @@ +[PATCH] libubox: drop legacy json-c support + +The cmake logic is wrong (E.G. PKG_CHECK_FOR_MODULES fails unless all +modules are found), and the legacy libjson.so name is also used by the other +libjson (http://sourceforge.net/projects/libjson/) which provides an +incompatible API, so just drop it. + +Signed-off-by: Peter Korsgaard +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: libubox-bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b/CMakeLists.txt +=================================================================== +--- libubox-bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b.orig/CMakeLists.txt ++++ libubox-bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b/CMakeLists.txt +@@ -13,7 +13,7 @@ + ENDIF() + + INCLUDE(FindPkgConfig) +-PKG_CHECK_MODULES(JSONC json-c json) ++PKG_CHECK_MODULES(JSONC json-c) + IF(JSONC_FOUND) + ADD_DEFINITIONS(-DJSONC) + INCLUDE_DIRECTORIES(${JSONC_INCLUDE_DIRS}) +@@ -42,7 +42,7 @@ + + ADD_SUBDIRECTORY(lua) + +-find_library(json NAMES json-c json) ++find_library(json NAMES json-c) + IF(EXISTS ${json}) + ADD_LIBRARY(blobmsg_json SHARED blobmsg_json.c) + TARGET_LINK_LIBRARIES(blobmsg_json ubox ${json}) diff --git a/package/libubox/libubox-01-drop-legacy-json-c.patch b/package/libubox/libubox-01-drop-legacy-json-c.patch deleted file mode 100644 index 84bd99a6e2..0000000000 --- a/package/libubox/libubox-01-drop-legacy-json-c.patch +++ /dev/null @@ -1,34 +0,0 @@ -[PATCH] libubox: drop legacy json-c support - -The cmake logic is wrong (E.G. PKG_CHECK_FOR_MODULES fails unless all -modules are found), and the legacy libjson.so name is also used by the other -libjson (http://sourceforge.net/projects/libjson/) which provides an -incompatible API, so just drop it. - -Signed-off-by: Peter Korsgaard ---- - CMakeLists.txt | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: libubox-bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b/CMakeLists.txt -=================================================================== ---- libubox-bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b.orig/CMakeLists.txt -+++ libubox-bbd846ec2d72b2629758b69dc122ac0b0f2c3e4b/CMakeLists.txt -@@ -13,7 +13,7 @@ - ENDIF() - - INCLUDE(FindPkgConfig) --PKG_CHECK_MODULES(JSONC json-c json) -+PKG_CHECK_MODULES(JSONC json-c) - IF(JSONC_FOUND) - ADD_DEFINITIONS(-DJSONC) - INCLUDE_DIRECTORIES(${JSONC_INCLUDE_DIRS}) -@@ -42,7 +42,7 @@ - - ADD_SUBDIRECTORY(lua) - --find_library(json NAMES json-c json) -+find_library(json NAMES json-c) - IF(EXISTS ${json}) - ADD_LIBRARY(blobmsg_json SHARED blobmsg_json.c) - TARGET_LINK_LIBRARIES(blobmsg_json ubox ${json}) diff --git a/package/liburcu/0001-Only-blacklist-ARM-gcc-4.8.0-and-4.8.1.patch b/package/liburcu/0001-Only-blacklist-ARM-gcc-4.8.0-and-4.8.1.patch new file mode 100644 index 0000000000..585abc0322 --- /dev/null +++ b/package/liburcu/0001-Only-blacklist-ARM-gcc-4.8.0-and-4.8.1.patch @@ -0,0 +1,40 @@ +From 54d8fe7ae40902d6d38e670f4024092f53c14e1f Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Sat, 8 Mar 2014 13:19:14 +0100 +Subject: [PATCH] Only blacklist ARM gcc 4.8.0 and 4.8.1 + +Since many ARM toolchain providers include the bug fix for PR58854 in +their latest releases based on gcc-4.8.2, then only blacklist gcc 4.8.0 +and 4.8.1. + +Signed-off-by: Samuel Martin +--- + urcu/compiler.h | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/urcu/compiler.h b/urcu/compiler.h +index 1e30903..56115f1 100644 +--- a/urcu/compiler.h ++++ b/urcu/compiler.h +@@ -118,10 +118,17 @@ + + __GNUC_PATCHLEVEL__) + + /* ++ * Official gcc releases from 4.8.0 to 4.8.2 have the following bug, ++ * however, many arm toolchain providers have the included the fix for ++ * their latest 4.8.2 releases. ++ * So, we only blacklist gcc 4.8.0 and 4.8.1. ++ * Unfortunately, this bug is not easy to test, so we rely on the ++ * knowledge of the user on its compiler. ++ * + * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58854 + */ + # ifdef __ARMEL__ +-# if URCU_GCC_VERSION >= 40800 && URCU_GCC_VERSION <= 40802 ++# if URCU_GCC_VERSION >= 40800 && URCU_GCC_VERSION <= 40801 + # error Your gcc version produces clobbered frame accesses + # endif + # endif +-- +1.9.0 + diff --git a/package/liburcu/liburcu-0001-Only-blacklist-ARM-gcc-4.8.0-and-4.8.1.patch b/package/liburcu/liburcu-0001-Only-blacklist-ARM-gcc-4.8.0-and-4.8.1.patch deleted file mode 100644 index 585abc0322..0000000000 --- a/package/liburcu/liburcu-0001-Only-blacklist-ARM-gcc-4.8.0-and-4.8.1.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 54d8fe7ae40902d6d38e670f4024092f53c14e1f Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sat, 8 Mar 2014 13:19:14 +0100 -Subject: [PATCH] Only blacklist ARM gcc 4.8.0 and 4.8.1 - -Since many ARM toolchain providers include the bug fix for PR58854 in -their latest releases based on gcc-4.8.2, then only blacklist gcc 4.8.0 -and 4.8.1. - -Signed-off-by: Samuel Martin ---- - urcu/compiler.h | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/urcu/compiler.h b/urcu/compiler.h -index 1e30903..56115f1 100644 ---- a/urcu/compiler.h -+++ b/urcu/compiler.h -@@ -118,10 +118,17 @@ - + __GNUC_PATCHLEVEL__) - - /* -+ * Official gcc releases from 4.8.0 to 4.8.2 have the following bug, -+ * however, many arm toolchain providers have the included the fix for -+ * their latest 4.8.2 releases. -+ * So, we only blacklist gcc 4.8.0 and 4.8.1. -+ * Unfortunately, this bug is not easy to test, so we rely on the -+ * knowledge of the user on its compiler. -+ * - * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58854 - */ - # ifdef __ARMEL__ --# if URCU_GCC_VERSION >= 40800 && URCU_GCC_VERSION <= 40802 -+# if URCU_GCC_VERSION >= 40800 && URCU_GCC_VERSION <= 40801 - # error Your gcc version produces clobbered frame accesses - # endif - # endif --- -1.9.0 - diff --git a/package/libv4l/0001-fixup-lfs-mismatch-in-preload-libraries.patch b/package/libv4l/0001-fixup-lfs-mismatch-in-preload-libraries.patch new file mode 100644 index 0000000000..f23eb7a350 --- /dev/null +++ b/package/libv4l/0001-fixup-lfs-mismatch-in-preload-libraries.patch @@ -0,0 +1,44 @@ +From e5952b043a71fe83fbc392e498e8f77774fca0d8 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Sat, 28 Jun 2014 09:32:53 -0300 +Subject: [PATCH] fixup lfs mismatch in preload libraries + +Ensure that the lfs variants are not transparently used instead of the !lfs +ones so both can be wrapped, independently of any custom CFLAGS/CPPFLAGS. + +Signed-off-by: Peter Korsgaard +--- + lib/libv4l1/v4l1compat.c | 3 +++ + lib/libv4l2/v4l2convert.c | 3 +++ + 2 files changed, 6 insertions(+) + +diff --git a/lib/libv4l1/v4l1compat.c b/lib/libv4l1/v4l1compat.c +index e328288..70eb74f 100644 +--- a/lib/libv4l1/v4l1compat.c ++++ b/lib/libv4l1/v4l1compat.c +@@ -19,6 +19,9 @@ + # Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA + */ + ++/* ensure we see *64 variants and they aren't transparently used */ ++#undef _LARGEFILE_SOURCE ++#undef _FILE_OFFSET_BITS + #define _LARGEFILE64_SOURCE 1 + + #include +diff --git a/lib/libv4l2/v4l2convert.c b/lib/libv4l2/v4l2convert.c +index 9b46ab8..bc41056 100644 +--- a/lib/libv4l2/v4l2convert.c ++++ b/lib/libv4l2/v4l2convert.c +@@ -23,6 +23,9 @@ + /* prevent GCC 4.7 inlining error */ + #undef _FORTIFY_SOURCE + ++/* ensure we see *64 variants and they aren't transparently used */ ++#undef _LARGEFILE_SOURCE ++#undef _FILE_OFFSET_BITS + #define _LARGEFILE64_SOURCE 1 + + #include +-- +1.9.1 diff --git a/package/libv4l/libv4l-0001-fixup-lfs-mismatch-in-preload-libraries.patch b/package/libv4l/libv4l-0001-fixup-lfs-mismatch-in-preload-libraries.patch deleted file mode 100644 index f23eb7a350..0000000000 --- a/package/libv4l/libv4l-0001-fixup-lfs-mismatch-in-preload-libraries.patch +++ /dev/null @@ -1,44 +0,0 @@ -From e5952b043a71fe83fbc392e498e8f77774fca0d8 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Sat, 28 Jun 2014 09:32:53 -0300 -Subject: [PATCH] fixup lfs mismatch in preload libraries - -Ensure that the lfs variants are not transparently used instead of the !lfs -ones so both can be wrapped, independently of any custom CFLAGS/CPPFLAGS. - -Signed-off-by: Peter Korsgaard ---- - lib/libv4l1/v4l1compat.c | 3 +++ - lib/libv4l2/v4l2convert.c | 3 +++ - 2 files changed, 6 insertions(+) - -diff --git a/lib/libv4l1/v4l1compat.c b/lib/libv4l1/v4l1compat.c -index e328288..70eb74f 100644 ---- a/lib/libv4l1/v4l1compat.c -+++ b/lib/libv4l1/v4l1compat.c -@@ -19,6 +19,9 @@ - # Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA - */ - -+/* ensure we see *64 variants and they aren't transparently used */ -+#undef _LARGEFILE_SOURCE -+#undef _FILE_OFFSET_BITS - #define _LARGEFILE64_SOURCE 1 - - #include -diff --git a/lib/libv4l2/v4l2convert.c b/lib/libv4l2/v4l2convert.c -index 9b46ab8..bc41056 100644 ---- a/lib/libv4l2/v4l2convert.c -+++ b/lib/libv4l2/v4l2convert.c -@@ -23,6 +23,9 @@ - /* prevent GCC 4.7 inlining error */ - #undef _FORTIFY_SOURCE - -+/* ensure we see *64 variants and they aren't transparently used */ -+#undef _LARGEFILE_SOURCE -+#undef _FILE_OFFSET_BITS - #define _LARGEFILE64_SOURCE 1 - - #include --- -1.9.1 diff --git a/package/libva-intel-driver/0001-wayland.patch b/package/libva-intel-driver/0001-wayland.patch new file mode 100644 index 0000000000..2f8c8592e9 --- /dev/null +++ b/package/libva-intel-driver/0001-wayland.patch @@ -0,0 +1,50 @@ +Fixes various wayland-related compile errors: + +i965_output_wayland.c:31:41: fatal error: wayland-drm-client-protocol.h: + No such file or directory + +i965_output_wayland.h:31:26: error: unknown type name 'VADriverContextP' + +make[4]: *** No rule to make target `wayland-drm-client-protocol.h', needed by + `i965_output_wayland.c'. Stop. + +Patch sent upstream: +http://lists.freedesktop.org/archives/libva/2014-July/002520.html + +Signed-off-by: Bernd Kuhls + +diff -uNr libva-intel-driver-1.3.2.org/src/i965_output_wayland.c libva-intel-driver-1.3.2/src/i965_output_wayland.c +--- libva-intel-driver-1.3.2.org/src/i965_output_wayland.c 2014-06-03 02:36:44.000000000 +0200 ++++ libva-intel-driver-1.3.2/src/i965_output_wayland.c 2014-07-19 11:48:31.329043292 +0200 +@@ -28,7 +28,7 @@ + #include + #include + #include +-#include ++#include + #include "intel_driver.h" + #include "i965_output_wayland.h" + #include "i965_drv_video.h" +diff -uNr libva-intel-driver-1.3.2.org/src/i965_output_wayland.h libva-intel-driver-1.3.2/src/i965_output_wayland.h +--- libva-intel-driver-1.3.2.org/src/i965_output_wayland.h 2014-05-19 10:19:39.000000000 +0200 ++++ libva-intel-driver-1.3.2/src/i965_output_wayland.h 2014-07-19 11:48:09.201321881 +0200 +@@ -26,6 +26,7 @@ + #define I965_OUTPUT_WAYLAND_H + + #include ++#include + + bool + i965_output_wayland_init(VADriverContextP ctx); +diff -uNr libva-intel-driver-1.3.2.org/src/Makefile.am libva-intel-driver-1.3.2/src/Makefile.am +--- libva-intel-driver-1.3.2.org/src/Makefile.am 2014-06-16 04:13:12.000000000 +0200 ++++ libva-intel-driver-1.3.2/src/Makefile.am 2014-07-19 11:53:02.885627916 +0200 +@@ -146,7 +146,7 @@ + endif + + # Wayland protocol +-protocol_source_h = wayland-drm-client-protocol.h ++#protocol_source_h = wayland-drm-client-protocol.h + i965_output_wayland.c: $(protocol_source_h) + @wayland_scanner_rules@ + diff --git a/package/libva-intel-driver/libva-intel-driver-0001-wayland.patch b/package/libva-intel-driver/libva-intel-driver-0001-wayland.patch deleted file mode 100644 index 2f8c8592e9..0000000000 --- a/package/libva-intel-driver/libva-intel-driver-0001-wayland.patch +++ /dev/null @@ -1,50 +0,0 @@ -Fixes various wayland-related compile errors: - -i965_output_wayland.c:31:41: fatal error: wayland-drm-client-protocol.h: - No such file or directory - -i965_output_wayland.h:31:26: error: unknown type name 'VADriverContextP' - -make[4]: *** No rule to make target `wayland-drm-client-protocol.h', needed by - `i965_output_wayland.c'. Stop. - -Patch sent upstream: -http://lists.freedesktop.org/archives/libva/2014-July/002520.html - -Signed-off-by: Bernd Kuhls - -diff -uNr libva-intel-driver-1.3.2.org/src/i965_output_wayland.c libva-intel-driver-1.3.2/src/i965_output_wayland.c ---- libva-intel-driver-1.3.2.org/src/i965_output_wayland.c 2014-06-03 02:36:44.000000000 +0200 -+++ libva-intel-driver-1.3.2/src/i965_output_wayland.c 2014-07-19 11:48:31.329043292 +0200 -@@ -28,7 +28,7 @@ - #include - #include - #include --#include -+#include - #include "intel_driver.h" - #include "i965_output_wayland.h" - #include "i965_drv_video.h" -diff -uNr libva-intel-driver-1.3.2.org/src/i965_output_wayland.h libva-intel-driver-1.3.2/src/i965_output_wayland.h ---- libva-intel-driver-1.3.2.org/src/i965_output_wayland.h 2014-05-19 10:19:39.000000000 +0200 -+++ libva-intel-driver-1.3.2/src/i965_output_wayland.h 2014-07-19 11:48:09.201321881 +0200 -@@ -26,6 +26,7 @@ - #define I965_OUTPUT_WAYLAND_H - - #include -+#include - - bool - i965_output_wayland_init(VADriverContextP ctx); -diff -uNr libva-intel-driver-1.3.2.org/src/Makefile.am libva-intel-driver-1.3.2/src/Makefile.am ---- libva-intel-driver-1.3.2.org/src/Makefile.am 2014-06-16 04:13:12.000000000 +0200 -+++ libva-intel-driver-1.3.2/src/Makefile.am 2014-07-19 11:53:02.885627916 +0200 -@@ -146,7 +146,7 @@ - endif - - # Wayland protocol --protocol_source_h = wayland-drm-client-protocol.h -+#protocol_source_h = wayland-drm-client-protocol.h - i965_output_wayland.c: $(protocol_source_h) - @wayland_scanner_rules@ - diff --git a/package/libva/0001-no_test_decode.patch b/package/libva/0001-no_test_decode.patch new file mode 100644 index 0000000000..0f0d786679 --- /dev/null +++ b/package/libva/0001-no_test_decode.patch @@ -0,0 +1,17 @@ +mpeg2vldemo is the only file requiring cxx support. It is not needed for +buildroot, so disable its compilation to avoid depending on cxx. + +Signed-off-by: Bernd Kuhls + +diff -uNr libva-1.3.0.org/test/Makefile.am libva-1.3.0/test/Makefile.am +--- libva-1.3.0.org/test/Makefile.am 2014-03-24 05:49:46.000000000 +0100 ++++ libva-1.3.0/test/Makefile.am 2014-04-26 18:12:25.644390292 +0200 +@@ -20,7 +20,7 @@ + # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-SUBDIRS = common decode encode vainfo ++SUBDIRS = common encode vainfo + + if USE_X11 + SUBDIRS += basic putsurface diff --git a/package/libva/0002-wayland.patch b/package/libva/0002-wayland.patch new file mode 100644 index 0000000000..e3090967d5 --- /dev/null +++ b/package/libva/0002-wayland.patch @@ -0,0 +1,26 @@ +Fixes compile error in libva-intel-driver + +make[4]: Entering directory `/home/br/br/output/build/libva-intel-driver-1.3.2/src' + CC i965_drv_video_la-i965_output_wayland.lo +i965_output_wayland.c:31:41: fatal error: wayland-drm-client-protocol.h: No such file or directory +compilation terminated. + +Patch sent upstream: +http://lists.freedesktop.org/archives/libva/2014-July/002519.html + +Signed-off-by: Bernd Kuhls + +diff -uNr libva-1.3.1.org/va/wayland/Makefile.am libva-1.3.1/va/wayland/Makefile.am +--- libva-1.3.1.org/va/wayland/Makefile.am 2014-05-09 06:28:15.000000000 +0200 ++++ libva-1.3.1/va/wayland/Makefile.am 2014-07-19 11:46:01.126931242 +0200 +@@ -54,8 +54,8 @@ + + noinst_LTLIBRARIES = libva_wayland.la + libva_waylandincludedir = ${includedir}/va +-libva_waylandinclude_HEADERS = $(source_h) +-libva_wayland_la_SOURCES = $(source_c) $(protocol_source_h) ++libva_waylandinclude_HEADERS = $(source_h) $(protocol_source_h) ++libva_wayland_la_SOURCES = $(source_c) + noinst_HEADERS = $(source_h_priv) + + # Wayland protocol diff --git a/package/libva/libva-0001-no_test_decode.patch b/package/libva/libva-0001-no_test_decode.patch deleted file mode 100644 index 0f0d786679..0000000000 --- a/package/libva/libva-0001-no_test_decode.patch +++ /dev/null @@ -1,17 +0,0 @@ -mpeg2vldemo is the only file requiring cxx support. It is not needed for -buildroot, so disable its compilation to avoid depending on cxx. - -Signed-off-by: Bernd Kuhls - -diff -uNr libva-1.3.0.org/test/Makefile.am libva-1.3.0/test/Makefile.am ---- libva-1.3.0.org/test/Makefile.am 2014-03-24 05:49:46.000000000 +0100 -+++ libva-1.3.0/test/Makefile.am 2014-04-26 18:12:25.644390292 +0200 -@@ -20,7 +20,7 @@ - # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - --SUBDIRS = common decode encode vainfo -+SUBDIRS = common encode vainfo - - if USE_X11 - SUBDIRS += basic putsurface diff --git a/package/libva/libva-0002-wayland.patch b/package/libva/libva-0002-wayland.patch deleted file mode 100644 index e3090967d5..0000000000 --- a/package/libva/libva-0002-wayland.patch +++ /dev/null @@ -1,26 +0,0 @@ -Fixes compile error in libva-intel-driver - -make[4]: Entering directory `/home/br/br/output/build/libva-intel-driver-1.3.2/src' - CC i965_drv_video_la-i965_output_wayland.lo -i965_output_wayland.c:31:41: fatal error: wayland-drm-client-protocol.h: No such file or directory -compilation terminated. - -Patch sent upstream: -http://lists.freedesktop.org/archives/libva/2014-July/002519.html - -Signed-off-by: Bernd Kuhls - -diff -uNr libva-1.3.1.org/va/wayland/Makefile.am libva-1.3.1/va/wayland/Makefile.am ---- libva-1.3.1.org/va/wayland/Makefile.am 2014-05-09 06:28:15.000000000 +0200 -+++ libva-1.3.1/va/wayland/Makefile.am 2014-07-19 11:46:01.126931242 +0200 -@@ -54,8 +54,8 @@ - - noinst_LTLIBRARIES = libva_wayland.la - libva_waylandincludedir = ${includedir}/va --libva_waylandinclude_HEADERS = $(source_h) --libva_wayland_la_SOURCES = $(source_c) $(protocol_source_h) -+libva_waylandinclude_HEADERS = $(source_h) $(protocol_source_h) -+libva_wayland_la_SOURCES = $(source_c) - noinst_HEADERS = $(source_h_priv) - - # Wayland protocol diff --git a/package/libwebsockets/0001-cmake-set-the-project-language.patch b/package/libwebsockets/0001-cmake-set-the-project-language.patch new file mode 100644 index 0000000000..7b017a7257 --- /dev/null +++ b/package/libwebsockets/0001-cmake-set-the-project-language.patch @@ -0,0 +1,34 @@ +From 6ab441e0509a9fda179fd1febf73d0f9fae321d6 Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Fri, 2 May 2014 14:24:58 +0200 +Subject: [PATCH] cmake: set the project language + +By default, CMake sets C and C++ as languages used by the project. +This makes the configuration failed if no C++ compiler is found. + +Since libwesockets in written in pure C, no C++, there is no reason to +disable it when the toolchain has no C++ support. + +This patch just make the CMake code reflecting the real status of the +project with regard to the languages used. + +Signed-off-by: Samuel Martin +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f1b6ace..72391b0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,6 +1,6 @@ + cmake_minimum_required(VERSION 2.6) + +-project(libwebsockets) ++project(libwebsockets C) + + set(PACKAGE "libwebsockets") + set(CPACK_PACKAGE_NAME "${PACKAGE}") +-- +1.9.2 + diff --git a/package/libwebsockets/0002-cmake-disable-shared-library-build-when-BUILD_SHARED.patch b/package/libwebsockets/0002-cmake-disable-shared-library-build-when-BUILD_SHARED.patch new file mode 100644 index 0000000000..95d1ad8f39 --- /dev/null +++ b/package/libwebsockets/0002-cmake-disable-shared-library-build-when-BUILD_SHARED.patch @@ -0,0 +1,107 @@ +From 045b035bd9ebbd45f40dda36b143ede869eb5f16 Mon Sep 17 00:00:00 2001 +From: Sagaert Johan +Date: Fri, 31 Oct 2014 12:25:48 +0100 +Subject: [PATCH 2/2] cmake: disable shared library build when + BUILD_SHARED_LIBS is off + +Original patch from Samuel Martin, reworked by Sagaert Johan when +updating libwebsockets. + +Signed-off-by: Samuel Martin +Signed-off-by: Sagaert Johan +[yann.morin.1998@free.fr: further fix after the version bumped] +Signed-off-by: "Yann E. MORIN" +--- + CMakeLists.txt | 17 ++++++++++++----- + 1 file changed, 12 insertions(+), 5 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7978845..89853ce 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -372,14 +372,19 @@ source_group("Sources" FILES ${SOURCES}) + # + # Create the lib. + # ++set(_libs_websockets websockets) + add_library(websockets STATIC + ${HDR_PRIVATE} + ${HDR_PUBLIC} + ${SOURCES}) ++ ++if(BUILD_SHARED_LIBS) ++list(APPEND _libs_websockets websockets_shared) + add_library(websockets_shared SHARED + ${HDR_PRIVATE} + ${HDR_PUBLIC} + ${SOURCES}) ++endif() + + if (WIN32) + # On Windows libs have the same file ending (.lib) +@@ -400,15 +405,17 @@ endif(WIN32) + + # We want the shared lib to be named "libwebsockets" + # not "libwebsocket_shared". ++if(BUILD_SHARED_LIBS) + set_target_properties(websockets_shared +- PROPERTIES ++ PROPERTIES + OUTPUT_NAME websockets) ++endif() + + # Set the so version of the lib. + # Equivalent to LDFLAGS=-version-info x:x:x + if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) +- foreach(lib websockets websockets_shared) +- set_target_properties(${lib} ++ foreach(lib ${_libs_websockets}) ++ set_target_properties(${lib} + PROPERTIES + SOVERSION ${SOVERSION}) + endforeach() +@@ -460,7 +467,7 @@ if (NOT LWS_WITHOUT_EXTENSIONS) + endif() + + # Make sure ZLib is compiled before the libs. +- foreach (lib websockets websockets_shared) ++ foreach (lib ${_libs_websockets}) + add_dependencies(${lib} ZLIB) + endforeach() + +@@ -524,7 +531,7 @@ if (UNIX) + endif() + + # Setup the linking for all libs. +-foreach (lib websockets websockets_shared) ++foreach (lib ${_libs_websockets}) + target_link_libraries(${lib} ${LIB_LIST}) + endforeach() + +@@ -793,7 +800,7 @@ + set(LWS_INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files") + + # Export targets (This is used for other CMake projects to easily find the libraries and include files). +-export(TARGETS websockets websockets_shared ++export(TARGETS ${_libs_websockets} + FILE "${PROJECT_BINARY_DIR}/LibwebsocketsTargets.cmake") + export(PACKAGE libwebsockets) + +@@ -829,7 +835,7 @@ + ${PROJECT_BINARY_DIR}/LibwebsocketsConfigVersion.cmake + @ONLY) + +-set_target_properties(websockets websockets_shared ++set_target_properties(${_libs_websockets} + PROPERTIES PUBLIC_HEADER "${HDR_PUBLIC}") + + # +@@ -837,7 +843,7 @@ + # + + # Install libs and headers. +-install(TARGETS websockets websockets_shared ++install(TARGETS ${_libs_websockets} + EXPORT LibwebsocketsTargets + LIBRARY DESTINATION "${LWS_INSTALL_LIB_DIR}${LIB_SUFFIX}" COMPONENT libraries + ARCHIVE DESTINATION "${LWS_INSTALL_LIB_DIR}${LIB_SUFFIX}" COMPONENT libraries diff --git a/package/libwebsockets/libwebsockets-0001-cmake-set-the-project-language.patch b/package/libwebsockets/libwebsockets-0001-cmake-set-the-project-language.patch deleted file mode 100644 index 7b017a7257..0000000000 --- a/package/libwebsockets/libwebsockets-0001-cmake-set-the-project-language.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 6ab441e0509a9fda179fd1febf73d0f9fae321d6 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Fri, 2 May 2014 14:24:58 +0200 -Subject: [PATCH] cmake: set the project language - -By default, CMake sets C and C++ as languages used by the project. -This makes the configuration failed if no C++ compiler is found. - -Since libwesockets in written in pure C, no C++, there is no reason to -disable it when the toolchain has no C++ support. - -This patch just make the CMake code reflecting the real status of the -project with regard to the languages used. - -Signed-off-by: Samuel Martin ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f1b6ace..72391b0 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,6 +1,6 @@ - cmake_minimum_required(VERSION 2.6) - --project(libwebsockets) -+project(libwebsockets C) - - set(PACKAGE "libwebsockets") - set(CPACK_PACKAGE_NAME "${PACKAGE}") --- -1.9.2 - diff --git a/package/libwebsockets/libwebsockets-0002-cmake-disable-shared-library-build-when-BUILD_SHARED.patch b/package/libwebsockets/libwebsockets-0002-cmake-disable-shared-library-build-when-BUILD_SHARED.patch deleted file mode 100644 index 95d1ad8f39..0000000000 --- a/package/libwebsockets/libwebsockets-0002-cmake-disable-shared-library-build-when-BUILD_SHARED.patch +++ /dev/null @@ -1,107 +0,0 @@ -From 045b035bd9ebbd45f40dda36b143ede869eb5f16 Mon Sep 17 00:00:00 2001 -From: Sagaert Johan -Date: Fri, 31 Oct 2014 12:25:48 +0100 -Subject: [PATCH 2/2] cmake: disable shared library build when - BUILD_SHARED_LIBS is off - -Original patch from Samuel Martin, reworked by Sagaert Johan when -updating libwebsockets. - -Signed-off-by: Samuel Martin -Signed-off-by: Sagaert Johan -[yann.morin.1998@free.fr: further fix after the version bumped] -Signed-off-by: "Yann E. MORIN" ---- - CMakeLists.txt | 17 ++++++++++++----- - 1 file changed, 12 insertions(+), 5 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7978845..89853ce 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -372,14 +372,19 @@ source_group("Sources" FILES ${SOURCES}) - # - # Create the lib. - # -+set(_libs_websockets websockets) - add_library(websockets STATIC - ${HDR_PRIVATE} - ${HDR_PUBLIC} - ${SOURCES}) -+ -+if(BUILD_SHARED_LIBS) -+list(APPEND _libs_websockets websockets_shared) - add_library(websockets_shared SHARED - ${HDR_PRIVATE} - ${HDR_PUBLIC} - ${SOURCES}) -+endif() - - if (WIN32) - # On Windows libs have the same file ending (.lib) -@@ -400,15 +405,17 @@ endif(WIN32) - - # We want the shared lib to be named "libwebsockets" - # not "libwebsocket_shared". -+if(BUILD_SHARED_LIBS) - set_target_properties(websockets_shared -- PROPERTIES -+ PROPERTIES - OUTPUT_NAME websockets) -+endif() - - # Set the so version of the lib. - # Equivalent to LDFLAGS=-version-info x:x:x - if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) -- foreach(lib websockets websockets_shared) -- set_target_properties(${lib} -+ foreach(lib ${_libs_websockets}) -+ set_target_properties(${lib} - PROPERTIES - SOVERSION ${SOVERSION}) - endforeach() -@@ -460,7 +467,7 @@ if (NOT LWS_WITHOUT_EXTENSIONS) - endif() - - # Make sure ZLib is compiled before the libs. -- foreach (lib websockets websockets_shared) -+ foreach (lib ${_libs_websockets}) - add_dependencies(${lib} ZLIB) - endforeach() - -@@ -524,7 +531,7 @@ if (UNIX) - endif() - - # Setup the linking for all libs. --foreach (lib websockets websockets_shared) -+foreach (lib ${_libs_websockets}) - target_link_libraries(${lib} ${LIB_LIST}) - endforeach() - -@@ -793,7 +800,7 @@ - set(LWS_INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files") - - # Export targets (This is used for other CMake projects to easily find the libraries and include files). --export(TARGETS websockets websockets_shared -+export(TARGETS ${_libs_websockets} - FILE "${PROJECT_BINARY_DIR}/LibwebsocketsTargets.cmake") - export(PACKAGE libwebsockets) - -@@ -829,7 +835,7 @@ - ${PROJECT_BINARY_DIR}/LibwebsocketsConfigVersion.cmake - @ONLY) - --set_target_properties(websockets websockets_shared -+set_target_properties(${_libs_websockets} - PROPERTIES PUBLIC_HEADER "${HDR_PUBLIC}") - - # -@@ -837,7 +843,7 @@ - # - - # Install libs and headers. --install(TARGETS websockets websockets_shared -+install(TARGETS ${_libs_websockets} - EXPORT LibwebsocketsTargets - LIBRARY DESTINATION "${LWS_INSTALL_LIB_DIR}${LIB_SUFFIX}" COMPONENT libraries - ARCHIVE DESTINATION "${LWS_INSTALL_LIB_DIR}${LIB_SUFFIX}" COMPONENT libraries diff --git a/package/lighttpd/0001-Fix-default-config-file.patch b/package/lighttpd/0001-Fix-default-config-file.patch new file mode 100644 index 0000000000..88d2c6f333 --- /dev/null +++ b/package/lighttpd/0001-Fix-default-config-file.patch @@ -0,0 +1,98 @@ +Modify the default lighttpd configuration file to have one a starting conf + + * Changed the log path to /var/log and logs filenames + * Disable IPv6 + * Do not setuid to a user that doesn't exist on the system + * Disable pdf ranges fix for Adobe Reader since it uses regex and we + don't always have pcre support + * Change the network backend to writev since linux-sendfile fails on buildroot + +Signed-off-by: Maxime Ripard +Signed-off-by: Simon Dawson + +diff -Nurp a/doc/config/conf.d/access_log.conf b/doc/config/conf.d/access_log.conf +--- a/doc/config/conf.d/access_log.conf 2010-07-11 18:01:32.000000000 +0100 ++++ b/doc/config/conf.d/access_log.conf 2012-07-21 19:37:58.453207990 +0100 +@@ -9,7 +9,7 @@ server.modules += ( "mod_accesslog" ) + ## + ## Default access log. + ## +-accesslog.filename = log_root + "/access.log" ++accesslog.filename = log_root + "/lighttpd-access.log" + + ## + ## The default format produces CLF compatible output. +diff -Nurp a/doc/config/lighttpd.conf b/doc/config/lighttpd.conf +--- a/doc/config/lighttpd.conf 2011-12-18 12:57:25.000000000 +0000 ++++ b/doc/config/lighttpd.conf 2012-07-21 19:40:45.281200552 +0100 +@@ -13,8 +13,8 @@ + ## if you add a variable here. Add the corresponding variable in the + ## chroot example aswell. + ## +-var.log_root = "/var/log/lighttpd" +-var.server_root = "/srv/www" ++var.log_root = "/var/log" ++var.server_root = "/var/www" + var.state_dir = "/var/run" + var.home_dir = "/var/lib/lighttpd" + var.conf_dir = "/etc/lighttpd" +@@ -90,7 +90,7 @@ server.port = 80 + ## + ## Use IPv6? + ## +-server.use-ipv6 = "enable" ++# server.use-ipv6 = "enable" + + ## + ## bind to a specific IP +@@ -101,8 +101,8 @@ server.use-ipv6 = "enable" + ## Run as a different username/groupname. + ## This requires root permissions during startup. + ## +-server.username = "lighttpd" +-server.groupname = "lighttpd" ++# server.username = "lighttpd" ++# server.groupname = "lighttpd" + + ## + ## enable core files. +@@ -112,7 +112,7 @@ server.groupname = "lighttpd" + ## + ## Document root + ## +-server.document-root = server_root + "/htdocs" ++server.document-root = server_root + + ## + ## The value for the "Server:" response field. +@@ -138,7 +138,7 @@ server.pid-file = state_dir + "/lighttpd + ## + ## Path to the error log file + ## +-server.errorlog = log_root + "/error.log" ++server.errorlog = log_root + "/lighttpd-error.log" + + ## + ## If you want to log to syslog you have to unset the +@@ -188,7 +188,7 @@ server.event-handler = "linux-sysepoll" + ## linux-sendfile - is recommended for small files. + ## writev - is recommended for sending many large files + ## +-server.network-backend = "linux-sendfile" ++server.network-backend = "writev" + + ## + ## As lighttpd is a single-threaded server, its main resource limit is +@@ -311,9 +311,9 @@ url.access-deny = ( "~", ".i + ## disable range requests for pdf files + ## workaround for a bug in the Acrobat Reader plugin. + ## +-$HTTP["url"] =~ "\.pdf$" { +- server.range-requests = "disable" +-} ++# $HTTP["url"] =~ "\.pdf$" { ++# server.range-requests = "disable" ++# } + + ## + ## url handling modules (rewrite, redirect) diff --git a/package/lighttpd/lighttpd-01-Fix-default-config-file.patch b/package/lighttpd/lighttpd-01-Fix-default-config-file.patch deleted file mode 100644 index 88d2c6f333..0000000000 --- a/package/lighttpd/lighttpd-01-Fix-default-config-file.patch +++ /dev/null @@ -1,98 +0,0 @@ -Modify the default lighttpd configuration file to have one a starting conf - - * Changed the log path to /var/log and logs filenames - * Disable IPv6 - * Do not setuid to a user that doesn't exist on the system - * Disable pdf ranges fix for Adobe Reader since it uses regex and we - don't always have pcre support - * Change the network backend to writev since linux-sendfile fails on buildroot - -Signed-off-by: Maxime Ripard -Signed-off-by: Simon Dawson - -diff -Nurp a/doc/config/conf.d/access_log.conf b/doc/config/conf.d/access_log.conf ---- a/doc/config/conf.d/access_log.conf 2010-07-11 18:01:32.000000000 +0100 -+++ b/doc/config/conf.d/access_log.conf 2012-07-21 19:37:58.453207990 +0100 -@@ -9,7 +9,7 @@ server.modules += ( "mod_accesslog" ) - ## - ## Default access log. - ## --accesslog.filename = log_root + "/access.log" -+accesslog.filename = log_root + "/lighttpd-access.log" - - ## - ## The default format produces CLF compatible output. -diff -Nurp a/doc/config/lighttpd.conf b/doc/config/lighttpd.conf ---- a/doc/config/lighttpd.conf 2011-12-18 12:57:25.000000000 +0000 -+++ b/doc/config/lighttpd.conf 2012-07-21 19:40:45.281200552 +0100 -@@ -13,8 +13,8 @@ - ## if you add a variable here. Add the corresponding variable in the - ## chroot example aswell. - ## --var.log_root = "/var/log/lighttpd" --var.server_root = "/srv/www" -+var.log_root = "/var/log" -+var.server_root = "/var/www" - var.state_dir = "/var/run" - var.home_dir = "/var/lib/lighttpd" - var.conf_dir = "/etc/lighttpd" -@@ -90,7 +90,7 @@ server.port = 80 - ## - ## Use IPv6? - ## --server.use-ipv6 = "enable" -+# server.use-ipv6 = "enable" - - ## - ## bind to a specific IP -@@ -101,8 +101,8 @@ server.use-ipv6 = "enable" - ## Run as a different username/groupname. - ## This requires root permissions during startup. - ## --server.username = "lighttpd" --server.groupname = "lighttpd" -+# server.username = "lighttpd" -+# server.groupname = "lighttpd" - - ## - ## enable core files. -@@ -112,7 +112,7 @@ server.groupname = "lighttpd" - ## - ## Document root - ## --server.document-root = server_root + "/htdocs" -+server.document-root = server_root - - ## - ## The value for the "Server:" response field. -@@ -138,7 +138,7 @@ server.pid-file = state_dir + "/lighttpd - ## - ## Path to the error log file - ## --server.errorlog = log_root + "/error.log" -+server.errorlog = log_root + "/lighttpd-error.log" - - ## - ## If you want to log to syslog you have to unset the -@@ -188,7 +188,7 @@ server.event-handler = "linux-sysepoll" - ## linux-sendfile - is recommended for small files. - ## writev - is recommended for sending many large files - ## --server.network-backend = "linux-sendfile" -+server.network-backend = "writev" - - ## - ## As lighttpd is a single-threaded server, its main resource limit is -@@ -311,9 +311,9 @@ url.access-deny = ( "~", ".i - ## disable range requests for pdf files - ## workaround for a bug in the Acrobat Reader plugin. - ## --$HTTP["url"] =~ "\.pdf$" { -- server.range-requests = "disable" --} -+# $HTTP["url"] =~ "\.pdf$" { -+# server.range-requests = "disable" -+# } - - ## - ## url handling modules (rewrite, redirect) diff --git a/package/linux-headers/3.0.101/0001-headers_install-fix-__packed-in-exported-kernel-head.patch b/package/linux-headers/3.0.101/0001-headers_install-fix-__packed-in-exported-kernel-head.patch new file mode 100644 index 0000000000..8777b71639 --- /dev/null +++ b/package/linux-headers/3.0.101/0001-headers_install-fix-__packed-in-exported-kernel-head.patch @@ -0,0 +1,46 @@ +From f210735fe2f17a6225432ee3d1239bcf23a8659c Mon Sep 17 00:00:00 2001 +From: Markus Trippelsdorf +Date: Fri, 24 Jun 2011 15:51:00 +0200 +Subject: [PATCH] headers_install: fix __packed in exported kernel headers +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +checkpatch.pl warns about using __attribute__((packed)) in kernel +headers: "__packed is preferred over __attribute__((packed))". If one +follows that advice it could cause problems in the exported header +files, because the outside world doesn't know about this shortcut. + +For example busybox will fail to compile: + CC miscutils/ubi_attach_detach.o + In file included from miscutils/ubi_attach_detach.c:27:0: + /usr/include/mtd/ubi-user.h:330:3: error: conflicting types for ‘__packed’ + /usr/include/mtd/ubi-user.h:314:3: note: previous declaration of ‘__packed’ was here +... + +Fix the problem by substituting __packed with __attribute__((packed)) in +the header_install.pl script. + +Cc: Artem Bityutskiy +CC: Joe Perches +Signed-off-by: Markus Trippelsdorf +Signed-off-by: Michal Marek +--- + scripts/headers_install.pl | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/scripts/headers_install.pl b/scripts/headers_install.pl +index efb3be1..48462be 100644 +--- a/scripts/headers_install.pl ++++ b/scripts/headers_install.pl +@@ -35,6 +35,7 @@ foreach my $file (@files) { + $line =~ s/([\s(])__iomem\s/$1/g; + $line =~ s/\s__attribute_const__\s/ /g; + $line =~ s/\s__attribute_const__$//g; ++ $line =~ s/\b__packed\b/__attribute__((packed))/g; + $line =~ s/^#include //; + $line =~ s/(^|\s)(inline)\b/$1__$2__/g; + $line =~ s/(^|\s)(asm)\b(\s|[(]|$)/$1__$2__$3/g; +-- +1.7.5.4 + diff --git a/package/linux-headers/3.0.101/linux-headers-headers_install-fix-__packed-in-exported-kernel-head.patch b/package/linux-headers/3.0.101/linux-headers-headers_install-fix-__packed-in-exported-kernel-head.patch deleted file mode 100644 index 8777b71639..0000000000 --- a/package/linux-headers/3.0.101/linux-headers-headers_install-fix-__packed-in-exported-kernel-head.patch +++ /dev/null @@ -1,46 +0,0 @@ -From f210735fe2f17a6225432ee3d1239bcf23a8659c Mon Sep 17 00:00:00 2001 -From: Markus Trippelsdorf -Date: Fri, 24 Jun 2011 15:51:00 +0200 -Subject: [PATCH] headers_install: fix __packed in exported kernel headers -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -checkpatch.pl warns about using __attribute__((packed)) in kernel -headers: "__packed is preferred over __attribute__((packed))". If one -follows that advice it could cause problems in the exported header -files, because the outside world doesn't know about this shortcut. - -For example busybox will fail to compile: - CC miscutils/ubi_attach_detach.o - In file included from miscutils/ubi_attach_detach.c:27:0: - /usr/include/mtd/ubi-user.h:330:3: error: conflicting types for ‘__packed’ - /usr/include/mtd/ubi-user.h:314:3: note: previous declaration of ‘__packed’ was here -... - -Fix the problem by substituting __packed with __attribute__((packed)) in -the header_install.pl script. - -Cc: Artem Bityutskiy -CC: Joe Perches -Signed-off-by: Markus Trippelsdorf -Signed-off-by: Michal Marek ---- - scripts/headers_install.pl | 1 + - 1 files changed, 1 insertions(+), 0 deletions(-) - -diff --git a/scripts/headers_install.pl b/scripts/headers_install.pl -index efb3be1..48462be 100644 ---- a/scripts/headers_install.pl -+++ b/scripts/headers_install.pl -@@ -35,6 +35,7 @@ foreach my $file (@files) { - $line =~ s/([\s(])__iomem\s/$1/g; - $line =~ s/\s__attribute_const__\s/ /g; - $line =~ s/\s__attribute_const__$//g; -+ $line =~ s/\b__packed\b/__attribute__((packed))/g; - $line =~ s/^#include //; - $line =~ s/(^|\s)(inline)\b/$1__$2__/g; - $line =~ s/(^|\s)(asm)\b(\s|[(]|$)/$1__$2__$3/g; --- -1.7.5.4 - diff --git a/package/linux-zigbee/0001-test-serial-Remove-test-serial.patch b/package/linux-zigbee/0001-test-serial-Remove-test-serial.patch new file mode 100644 index 0000000000..8cd9d754c0 --- /dev/null +++ b/package/linux-zigbee/0001-test-serial-Remove-test-serial.patch @@ -0,0 +1,54 @@ +From 98187a5238939edc889fdaad93b00628b55d1e08 Mon Sep 17 00:00:00 2001 +From: Maxime Hadjinlian +Date: Sat, 3 May 2014 19:43:20 +0200 +Subject: [PATCH] test-serial: Remove test-serial + +This folders only contains python tests scripts which would force us to +enable a dependency to host-python which seems kind of silly since +theses are only tests scripts. + +Signed-off-by: Maxime Hadjinlian +--- + Makefile.am | 2 +- + configure.ac | 6 ------ + 2 files changed, 1 insertion(+), 7 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 265f0d7..e7bb1a1 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -2,7 +2,7 @@ include $(top_srcdir)/Makefile.common + + ACLOCAL_AMFLAGS = -I m4 + +-SUBDIRS = lib addrdb src tests test-serial ++SUBDIRS = lib addrdb src tests + + include_HEADERS = include/ieee802154.h include/nl802154.h + noinst_HEADERS = include/libcommon.h include/addrdb.h include/logging.h +diff --git a/configure.ac b/configure.ac +index 17658af..506b289 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -77,11 +77,6 @@ AC_PROG_LIBTOOL + AM_PROG_LEX + AC_PROG_YACC + AC_SUBST(LIBTOOL_DEPS) +-# Currently the scripts works with python2.x only +-# Check for this at first +-AC_PATH_PROG(PYTHON, python2 python2.7 python2.6 python2.5 python) +-AM_PATH_PYTHON(,, [:]) +-py_CHECK_MAJOR_VERSION([PYTHON_VERSION], [2]) + AM_MISSING_PROG(HELP2MAN, help2man, $missing_dir) + + # Checks for libraries. +@@ -135,6 +130,5 @@ AC_CONFIG_FILES([ + addrdb/Makefile + src/Makefile + tests/Makefile +- test-serial/Makefile + ]) + AC_OUTPUT +-- +1.9.2 + diff --git a/package/linux-zigbee/linux-zigbee-0001-test-serial-Remove-test-serial.patch b/package/linux-zigbee/linux-zigbee-0001-test-serial-Remove-test-serial.patch deleted file mode 100644 index 8cd9d754c0..0000000000 --- a/package/linux-zigbee/linux-zigbee-0001-test-serial-Remove-test-serial.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 98187a5238939edc889fdaad93b00628b55d1e08 Mon Sep 17 00:00:00 2001 -From: Maxime Hadjinlian -Date: Sat, 3 May 2014 19:43:20 +0200 -Subject: [PATCH] test-serial: Remove test-serial - -This folders only contains python tests scripts which would force us to -enable a dependency to host-python which seems kind of silly since -theses are only tests scripts. - -Signed-off-by: Maxime Hadjinlian ---- - Makefile.am | 2 +- - configure.ac | 6 ------ - 2 files changed, 1 insertion(+), 7 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 265f0d7..e7bb1a1 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -2,7 +2,7 @@ include $(top_srcdir)/Makefile.common - - ACLOCAL_AMFLAGS = -I m4 - --SUBDIRS = lib addrdb src tests test-serial -+SUBDIRS = lib addrdb src tests - - include_HEADERS = include/ieee802154.h include/nl802154.h - noinst_HEADERS = include/libcommon.h include/addrdb.h include/logging.h -diff --git a/configure.ac b/configure.ac -index 17658af..506b289 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -77,11 +77,6 @@ AC_PROG_LIBTOOL - AM_PROG_LEX - AC_PROG_YACC - AC_SUBST(LIBTOOL_DEPS) --# Currently the scripts works with python2.x only --# Check for this at first --AC_PATH_PROG(PYTHON, python2 python2.7 python2.6 python2.5 python) --AM_PATH_PYTHON(,, [:]) --py_CHECK_MAJOR_VERSION([PYTHON_VERSION], [2]) - AM_MISSING_PROG(HELP2MAN, help2man, $missing_dir) - - # Checks for libraries. -@@ -135,6 +130,5 @@ AC_CONFIG_FILES([ - addrdb/Makefile - src/Makefile - tests/Makefile -- test-serial/Makefile - ]) - AC_OUTPUT --- -1.9.2 - diff --git a/package/lite/0001-dfbspy-stat.patch b/package/lite/0001-dfbspy-stat.patch new file mode 100644 index 0000000000..5ca73691ed --- /dev/null +++ b/package/lite/0001-dfbspy-stat.patch @@ -0,0 +1,53 @@ +From upstream git (git://git.directfb.org/git/directfb/libs/LiTE.git) + +From ffe0ce78327a63ddb1265328ea9b5b03acdca019 Mon Sep 17 00:00:00 2001 +From: Denis Oliver Kropp +Date: Fri, 1 Apr 2011 20:20:26 +0200 +Subject: [PATCH] dfbspy: Build fix for dfbspy example. + +--- + examples/dfbspy.c | 20 ++++++++++---------- + 1 files changed, 10 insertions(+), 10 deletions(-) + +diff --git a/examples/dfbspy.c b/examples/dfbspy.c +index 5f36f0b..c7f9725 100644 +--- a/examples/dfbspy.c ++++ b/examples/dfbspy.c +@@ -89,9 +89,9 @@ read_stat( FusionStat *stat, int world ) + + /**************************************************************************************************/ + +-#define CALC(x) stat.x = (int)(((s.x - last_stat.x) * 1000 / (float) diff) + 0.5f) ++#define CALC(x) stats.x = (int)(((s.x - last_stat.x) * 1000 / (float) diff) + 0.5f) + +-static FusionStat last_stat, stat; ++static FusionStat last_stat, stats; + static long long last_millis; + + static int +@@ -145,14 +145,14 @@ static const struct { + void (*update)( LiteLabel *label, void *ctx ); + void *ctx; + } list[] = { +- { "lease/purchase", update_number, &stat.lease_purchase }, +- { "cede", update_number, &stat.cede }, +- { "attach", update_number, &stat.attach }, +- { "detach", update_number, &stat.detach }, +- { "ref up", update_number, &stat.ref_up }, +- { "ref down", update_number, &stat.ref_down }, +- { "prevail/swoop", update_number, &stat.prevail_swoop }, +- { "dismiss", update_number, &stat.dismiss } ++ { "lease/purchase", update_number, &stats.lease_purchase }, ++ { "cede", update_number, &stats.cede }, ++ { "attach", update_number, &stats.attach }, ++ { "detach", update_number, &stats.detach }, ++ { "ref up", update_number, &stats.ref_up }, ++ { "ref down", update_number, &stats.ref_down }, ++ { "prevail/swoop", update_number, &stats.prevail_swoop }, ++ { "dismiss", update_number, &stats.dismiss } + }; + + #define NUM_LIST (sizeof(list)/sizeof(list[0])) +-- +1.7.6.3 + diff --git a/package/lite/0002-no-tests.patch b/package/lite/0002-no-tests.patch new file mode 100644 index 0000000000..3a47186512 --- /dev/null +++ b/package/lite/0002-no-tests.patch @@ -0,0 +1,11 @@ +--- a/Makefile.in.orig 2008-07-07 13:07:12.000000000 +0200 ++++ b/Makefile.in 2008-07-07 13:07:05.000000000 +0200 +@@ -202,7 +202,7 @@ + target_vendor = @target_vendor@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ +-SUBDIRS = data fonts lite leck examples tests ++SUBDIRS = data fonts lite leck examples + EXTRA_DIST = TODO lite.pc.in leck.pc.in + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = lite.pc leck.pc diff --git a/package/lite/0003-pkg-config.patch b/package/lite/0003-pkg-config.patch new file mode 100644 index 0000000000..cdd24162c7 --- /dev/null +++ b/package/lite/0003-pkg-config.patch @@ -0,0 +1,22 @@ +From 7982cccbb6ad58f3802bb266467290200d130a48 Mon Sep 17 00:00:00 2001 +From: Ville Syrjala +Date: Sat, 27 Nov 2010 01:14:25 +0200 +Subject: [PATCH] Too many '\' characters in the .pc file + +--- + lite.pc.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/lite.pc.in b/lite.pc.in +index 48eb969..3a21eaa 100644 +--- a/lite.pc.in ++++ b/lite.pc.in +@@ -9,4 +9,4 @@ Description: "LiTE" is a Toolkit Engine + Requires: directfb >= @DFB_REQUIRED_VERSION@ + Version: @VERSION@ + Libs: -L${libdir} -llite +-Cflags: -I${includedir} -DLITEFONTDIR=\\\"@LITEFONTDIR@\\\" ++Cflags: -I${includedir} -DLITEFONTDIR=\"@LITEFONTDIR@\" +-- +1.7.1 + diff --git a/package/lite/lite-dfbspy-stat.patch b/package/lite/lite-dfbspy-stat.patch deleted file mode 100644 index 5ca73691ed..0000000000 --- a/package/lite/lite-dfbspy-stat.patch +++ /dev/null @@ -1,53 +0,0 @@ -From upstream git (git://git.directfb.org/git/directfb/libs/LiTE.git) - -From ffe0ce78327a63ddb1265328ea9b5b03acdca019 Mon Sep 17 00:00:00 2001 -From: Denis Oliver Kropp -Date: Fri, 1 Apr 2011 20:20:26 +0200 -Subject: [PATCH] dfbspy: Build fix for dfbspy example. - ---- - examples/dfbspy.c | 20 ++++++++++---------- - 1 files changed, 10 insertions(+), 10 deletions(-) - -diff --git a/examples/dfbspy.c b/examples/dfbspy.c -index 5f36f0b..c7f9725 100644 ---- a/examples/dfbspy.c -+++ b/examples/dfbspy.c -@@ -89,9 +89,9 @@ read_stat( FusionStat *stat, int world ) - - /**************************************************************************************************/ - --#define CALC(x) stat.x = (int)(((s.x - last_stat.x) * 1000 / (float) diff) + 0.5f) -+#define CALC(x) stats.x = (int)(((s.x - last_stat.x) * 1000 / (float) diff) + 0.5f) - --static FusionStat last_stat, stat; -+static FusionStat last_stat, stats; - static long long last_millis; - - static int -@@ -145,14 +145,14 @@ static const struct { - void (*update)( LiteLabel *label, void *ctx ); - void *ctx; - } list[] = { -- { "lease/purchase", update_number, &stat.lease_purchase }, -- { "cede", update_number, &stat.cede }, -- { "attach", update_number, &stat.attach }, -- { "detach", update_number, &stat.detach }, -- { "ref up", update_number, &stat.ref_up }, -- { "ref down", update_number, &stat.ref_down }, -- { "prevail/swoop", update_number, &stat.prevail_swoop }, -- { "dismiss", update_number, &stat.dismiss } -+ { "lease/purchase", update_number, &stats.lease_purchase }, -+ { "cede", update_number, &stats.cede }, -+ { "attach", update_number, &stats.attach }, -+ { "detach", update_number, &stats.detach }, -+ { "ref up", update_number, &stats.ref_up }, -+ { "ref down", update_number, &stats.ref_down }, -+ { "prevail/swoop", update_number, &stats.prevail_swoop }, -+ { "dismiss", update_number, &stats.dismiss } - }; - - #define NUM_LIST (sizeof(list)/sizeof(list[0])) --- -1.7.6.3 - diff --git a/package/lite/lite-no-tests.patch b/package/lite/lite-no-tests.patch deleted file mode 100644 index 3a47186512..0000000000 --- a/package/lite/lite-no-tests.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/Makefile.in.orig 2008-07-07 13:07:12.000000000 +0200 -+++ b/Makefile.in 2008-07-07 13:07:05.000000000 +0200 -@@ -202,7 +202,7 @@ - target_vendor = @target_vendor@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ --SUBDIRS = data fonts lite leck examples tests -+SUBDIRS = data fonts lite leck examples - EXTRA_DIST = TODO lite.pc.in leck.pc.in - pkgconfigdir = $(libdir)/pkgconfig - pkgconfig_DATA = lite.pc leck.pc diff --git a/package/lite/lite-pkg-config.patch b/package/lite/lite-pkg-config.patch deleted file mode 100644 index cdd24162c7..0000000000 --- a/package/lite/lite-pkg-config.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 7982cccbb6ad58f3802bb266467290200d130a48 Mon Sep 17 00:00:00 2001 -From: Ville Syrjala -Date: Sat, 27 Nov 2010 01:14:25 +0200 -Subject: [PATCH] Too many '\' characters in the .pc file - ---- - lite.pc.in | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/lite.pc.in b/lite.pc.in -index 48eb969..3a21eaa 100644 ---- a/lite.pc.in -+++ b/lite.pc.in -@@ -9,4 +9,4 @@ Description: "LiTE" is a Toolkit Engine - Requires: directfb >= @DFB_REQUIRED_VERSION@ - Version: @VERSION@ - Libs: -L${libdir} -llite --Cflags: -I${includedir} -DLITEFONTDIR=\\\"@LITEFONTDIR@\\\" -+Cflags: -I${includedir} -DLITEFONTDIR=\"@LITEFONTDIR@\" --- -1.7.1 - diff --git a/package/lm-sensors/0001-static-build.patch b/package/lm-sensors/0001-static-build.patch new file mode 100644 index 0000000000..63edd44f84 --- /dev/null +++ b/package/lm-sensors/0001-static-build.patch @@ -0,0 +1,81 @@ +Add support for static only build + +This patch adds support for a BUILD_SHARED_LIB variable that allows to +enable/disable the build of the shared library, in order to support +static-only builds. + +Signed-off-by: Thomas Petazzoni + +Index: b/Makefile +=================================================================== +--- a/Makefile ++++ b/Makefile +@@ -85,6 +85,9 @@ + # Build and install static library + BUILD_STATIC_LIB := 1 + ++# Build and install shared library ++BUILD_SHARED_LIB := 1 ++ + # Set these to add preprocessor or compiler flags, or use + # environment variables + # CFLAGS := +Index: b/lib/Module.mk +=================================================================== +--- a/lib/Module.mk ++++ b/lib/Module.mk +@@ -43,8 +43,14 @@ + LIBSTLIBNAME := libsensors.a + LIBSHSONAME := libsensors.so.$(LIBMAINVER) + ++ifeq ($(BUILD_SHARED_LIB),1) + LIBTARGETS := $(MODULE_DIR)/$(LIBSHLIBNAME) \ + $(MODULE_DIR)/$(LIBSHSONAME) $(MODULE_DIR)/$(LIBSHBASENAME) ++LIBDEP_FOR_PROGS := $(LIBSHBASENAME) ++else ++LIBDEP_FOR_PROGS := $(LIBSTLIBNAME) ++endif ++ + ifeq ($(BUILD_STATIC_LIB),1) + LIBTARGETS += $(MODULE_DIR)/$(LIBSTLIBNAME) + endif +@@ -131,9 +137,11 @@ + ifeq ($(BUILD_STATIC_LIB),1) + $(INSTALL) -m 644 $(LIB_DIR)/$(LIBSTLIBNAME) $(DESTDIR)$(LIBDIR) + endif ++ifeq ($(BUILD_SHARED_LIB),1) + $(INSTALL) -m 755 $(LIB_DIR)/$(LIBSHLIBNAME) $(DESTDIR)$(LIBDIR) + $(LN) $(LIBSHLIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBSHSONAME) + $(LN) $(LIBSHSONAME) $(DESTDIR)$(LIBDIR)/$(LIBSHBASENAME) ++endif + @if [ -z "$(DESTDIR)" -a "$(LIBDIR)" != "/usr/lib" -a "$(LIBDIR)" != "/lib" ] ; then \ + if [ -e "/usr/lib/$(LIBSHSONAME)" -o -e "/usr/lib/$(LIBSHBASENAME)" ] ; then \ + echo '******************************************************************************' ; \ +Index: b/prog/sensord/Module.mk +=================================================================== +--- a/prog/sensord/Module.mk ++++ b/prog/sensord/Module.mk +@@ -41,7 +41,7 @@ + REMOVESENSORDBIN := $(patsubst $(MODULE_DIR)/%,$(DESTDIR)$(SBINDIR)/%,$(PROGSENSORDTARGETS)) + REMOVESENSORDMAN := $(patsubst $(MODULE_DIR)/%,$(DESTDIR)$(PROGSENSORDMAN8DIR)/%,$(PROGSENSORDMAN8FILES)) + +-$(PROGSENSORDTARGETS): $(PROGSENSORDSOURCES:.c=.ro) lib/$(LIBSHBASENAME) ++$(PROGSENSORDTARGETS): $(PROGSENSORDSOURCES:.c=.ro) lib/$(LIBDEP_FOR_PROGS) + $(CC) $(EXLDFLAGS) -o $@ $(PROGSENSORDSOURCES:.c=.ro) -Llib -lsensors -lrrd + + all-prog-sensord: $(PROGSENSORDTARGETS) +Index: b/prog/sensors/Module.mk +=================================================================== +--- a/prog/sensors/Module.mk ++++ b/prog/sensors/Module.mk +@@ -39,8 +39,8 @@ + + LIBICONV := $(shell if /sbin/ldconfig -p | grep -q '/libiconv\.so$$' ; then echo \-liconv; else echo; fi) + +-$(PROGSENSORSTARGETS): $(PROGSENSORSSOURCES:.c=.ro) lib/$(LIBSHBASENAME) +- $(CC) $(EXLDFLAGS) -o $@ $(PROGSENSORSSOURCES:.c=.ro) $(LIBICONV) -Llib -lsensors ++$(PROGSENSORSTARGETS): $(PROGSENSORSSOURCES:.c=.ro) lib/$(LIBDEP_FOR_PROGS) ++ $(CC) $(EXLDFLAGS) -o $@ $(PROGSENSORSSOURCES:.c=.ro) $(LIBICONV) -Llib -lsensors -lm + + all-prog-sensors: $(PROGSENSORSTARGETS) + user :: all-prog-sensors diff --git a/package/lm-sensors/0002-no-host-ldconfig.patch b/package/lm-sensors/0002-no-host-ldconfig.patch new file mode 100644 index 0000000000..51f7f6af01 --- /dev/null +++ b/package/lm-sensors/0002-no-host-ldconfig.patch @@ -0,0 +1,29 @@ +Remove usage of host ldconfig + +To know whether the libiconv library is available, lm-sensors is using +the host ldconfig, which is obviously wrong in cross-compilation. + +Moreover, the lm-sensors program making use of the iconv_*() API +already does it when __UCLIBC__ is *not* defined. In this case, the +iconv_*() functions are already part of the C library, so there is no +need to link against a separate library. Therefore, this patch simply +removes the libiconv handling. + +Signed-off-by: Thomas Petazzoni + +Index: b/prog/sensors/Module.mk +=================================================================== +--- a/prog/sensors/Module.mk ++++ b/prog/sensors/Module.mk +@@ -37,10 +37,8 @@ + REMOVESENSORSBIN := $(patsubst $(MODULE_DIR)/%,$(DESTDIR)$(BINDIR)/%,$(PROGSENSORSTARGETS)) + REMOVESENSORSMAN := $(patsubst $(MODULE_DIR)/%,$(DESTDIR)$(PROGSENSORSMAN1DIR)/%,$(PROGSENSORSMAN1FILES)) + +-LIBICONV := $(shell if /sbin/ldconfig -p | grep -q '/libiconv\.so$$' ; then echo \-liconv; else echo; fi) +- + $(PROGSENSORSTARGETS): $(PROGSENSORSSOURCES:.c=.ro) lib/$(LIBDEP_FOR_PROGS) +- $(CC) $(EXLDFLAGS) -o $@ $(PROGSENSORSSOURCES:.c=.ro) $(LIBICONV) -Llib -lsensors -lm ++ $(CC) $(EXLDFLAGS) -o $@ $(PROGSENSORSSOURCES:.c=.ro) -Llib -lsensors -lm + + all-prog-sensors: $(PROGSENSORSTARGETS) + user :: all-prog-sensors diff --git a/package/lm-sensors/lm-sensors-0001-static-build.patch b/package/lm-sensors/lm-sensors-0001-static-build.patch deleted file mode 100644 index 63edd44f84..0000000000 --- a/package/lm-sensors/lm-sensors-0001-static-build.patch +++ /dev/null @@ -1,81 +0,0 @@ -Add support for static only build - -This patch adds support for a BUILD_SHARED_LIB variable that allows to -enable/disable the build of the shared library, in order to support -static-only builds. - -Signed-off-by: Thomas Petazzoni - -Index: b/Makefile -=================================================================== ---- a/Makefile -+++ b/Makefile -@@ -85,6 +85,9 @@ - # Build and install static library - BUILD_STATIC_LIB := 1 - -+# Build and install shared library -+BUILD_SHARED_LIB := 1 -+ - # Set these to add preprocessor or compiler flags, or use - # environment variables - # CFLAGS := -Index: b/lib/Module.mk -=================================================================== ---- a/lib/Module.mk -+++ b/lib/Module.mk -@@ -43,8 +43,14 @@ - LIBSTLIBNAME := libsensors.a - LIBSHSONAME := libsensors.so.$(LIBMAINVER) - -+ifeq ($(BUILD_SHARED_LIB),1) - LIBTARGETS := $(MODULE_DIR)/$(LIBSHLIBNAME) \ - $(MODULE_DIR)/$(LIBSHSONAME) $(MODULE_DIR)/$(LIBSHBASENAME) -+LIBDEP_FOR_PROGS := $(LIBSHBASENAME) -+else -+LIBDEP_FOR_PROGS := $(LIBSTLIBNAME) -+endif -+ - ifeq ($(BUILD_STATIC_LIB),1) - LIBTARGETS += $(MODULE_DIR)/$(LIBSTLIBNAME) - endif -@@ -131,9 +137,11 @@ - ifeq ($(BUILD_STATIC_LIB),1) - $(INSTALL) -m 644 $(LIB_DIR)/$(LIBSTLIBNAME) $(DESTDIR)$(LIBDIR) - endif -+ifeq ($(BUILD_SHARED_LIB),1) - $(INSTALL) -m 755 $(LIB_DIR)/$(LIBSHLIBNAME) $(DESTDIR)$(LIBDIR) - $(LN) $(LIBSHLIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBSHSONAME) - $(LN) $(LIBSHSONAME) $(DESTDIR)$(LIBDIR)/$(LIBSHBASENAME) -+endif - @if [ -z "$(DESTDIR)" -a "$(LIBDIR)" != "/usr/lib" -a "$(LIBDIR)" != "/lib" ] ; then \ - if [ -e "/usr/lib/$(LIBSHSONAME)" -o -e "/usr/lib/$(LIBSHBASENAME)" ] ; then \ - echo '******************************************************************************' ; \ -Index: b/prog/sensord/Module.mk -=================================================================== ---- a/prog/sensord/Module.mk -+++ b/prog/sensord/Module.mk -@@ -41,7 +41,7 @@ - REMOVESENSORDBIN := $(patsubst $(MODULE_DIR)/%,$(DESTDIR)$(SBINDIR)/%,$(PROGSENSORDTARGETS)) - REMOVESENSORDMAN := $(patsubst $(MODULE_DIR)/%,$(DESTDIR)$(PROGSENSORDMAN8DIR)/%,$(PROGSENSORDMAN8FILES)) - --$(PROGSENSORDTARGETS): $(PROGSENSORDSOURCES:.c=.ro) lib/$(LIBSHBASENAME) -+$(PROGSENSORDTARGETS): $(PROGSENSORDSOURCES:.c=.ro) lib/$(LIBDEP_FOR_PROGS) - $(CC) $(EXLDFLAGS) -o $@ $(PROGSENSORDSOURCES:.c=.ro) -Llib -lsensors -lrrd - - all-prog-sensord: $(PROGSENSORDTARGETS) -Index: b/prog/sensors/Module.mk -=================================================================== ---- a/prog/sensors/Module.mk -+++ b/prog/sensors/Module.mk -@@ -39,8 +39,8 @@ - - LIBICONV := $(shell if /sbin/ldconfig -p | grep -q '/libiconv\.so$$' ; then echo \-liconv; else echo; fi) - --$(PROGSENSORSTARGETS): $(PROGSENSORSSOURCES:.c=.ro) lib/$(LIBSHBASENAME) -- $(CC) $(EXLDFLAGS) -o $@ $(PROGSENSORSSOURCES:.c=.ro) $(LIBICONV) -Llib -lsensors -+$(PROGSENSORSTARGETS): $(PROGSENSORSSOURCES:.c=.ro) lib/$(LIBDEP_FOR_PROGS) -+ $(CC) $(EXLDFLAGS) -o $@ $(PROGSENSORSSOURCES:.c=.ro) $(LIBICONV) -Llib -lsensors -lm - - all-prog-sensors: $(PROGSENSORSTARGETS) - user :: all-prog-sensors diff --git a/package/lm-sensors/lm-sensors-0002-no-host-ldconfig.patch b/package/lm-sensors/lm-sensors-0002-no-host-ldconfig.patch deleted file mode 100644 index 51f7f6af01..0000000000 --- a/package/lm-sensors/lm-sensors-0002-no-host-ldconfig.patch +++ /dev/null @@ -1,29 +0,0 @@ -Remove usage of host ldconfig - -To know whether the libiconv library is available, lm-sensors is using -the host ldconfig, which is obviously wrong in cross-compilation. - -Moreover, the lm-sensors program making use of the iconv_*() API -already does it when __UCLIBC__ is *not* defined. In this case, the -iconv_*() functions are already part of the C library, so there is no -need to link against a separate library. Therefore, this patch simply -removes the libiconv handling. - -Signed-off-by: Thomas Petazzoni - -Index: b/prog/sensors/Module.mk -=================================================================== ---- a/prog/sensors/Module.mk -+++ b/prog/sensors/Module.mk -@@ -37,10 +37,8 @@ - REMOVESENSORSBIN := $(patsubst $(MODULE_DIR)/%,$(DESTDIR)$(BINDIR)/%,$(PROGSENSORSTARGETS)) - REMOVESENSORSMAN := $(patsubst $(MODULE_DIR)/%,$(DESTDIR)$(PROGSENSORSMAN1DIR)/%,$(PROGSENSORSMAN1FILES)) - --LIBICONV := $(shell if /sbin/ldconfig -p | grep -q '/libiconv\.so$$' ; then echo \-liconv; else echo; fi) -- - $(PROGSENSORSTARGETS): $(PROGSENSORSSOURCES:.c=.ro) lib/$(LIBDEP_FOR_PROGS) -- $(CC) $(EXLDFLAGS) -o $@ $(PROGSENSORSSOURCES:.c=.ro) $(LIBICONV) -Llib -lsensors -lm -+ $(CC) $(EXLDFLAGS) -o $@ $(PROGSENSORSSOURCES:.c=.ro) -Llib -lsensors -lm - - all-prog-sensors: $(PROGSENSORSTARGETS) - user :: all-prog-sensors diff --git a/package/lockfile-progs/0001-sus3v-legacy.patch b/package/lockfile-progs/0001-sus3v-legacy.patch new file mode 100644 index 0000000000..8cf552ef5c --- /dev/null +++ b/package/lockfile-progs/0001-sus3v-legacy.patch @@ -0,0 +1,11 @@ +--- /lockfile-progs.orig.c 2007-10-11 10:32:09.000000000 -0300 ++++ /lockfile-progs.c 2007-10-11 10:32:28.000000000 -0300 +@@ -93,7 +93,7 @@ + { NULL, 0, NULL, 0 } + }; + +- char *cmd_name = rindex(argv[0], '/'); ++ char *cmd_name = strrchr(argv[0], '/'); + int mail_cmd_p = 0; + + if(cmd_name != NULL) { diff --git a/package/lockfile-progs/lockfile-progs-01-sus3v-legacy.patch b/package/lockfile-progs/lockfile-progs-01-sus3v-legacy.patch deleted file mode 100644 index 8cf552ef5c..0000000000 --- a/package/lockfile-progs/lockfile-progs-01-sus3v-legacy.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- /lockfile-progs.orig.c 2007-10-11 10:32:09.000000000 -0300 -+++ /lockfile-progs.c 2007-10-11 10:32:28.000000000 -0300 -@@ -93,7 +93,7 @@ - { NULL, 0, NULL, 0 } - }; - -- char *cmd_name = rindex(argv[0], '/'); -+ char *cmd_name = strrchr(argv[0], '/'); - int mail_cmd_p = 0; - - if(cmd_name != NULL) { diff --git a/package/log4cxx/0001-charset-fixes.patch b/package/log4cxx/0001-charset-fixes.patch new file mode 100644 index 0000000000..75567fdad1 --- /dev/null +++ b/package/log4cxx/0001-charset-fixes.patch @@ -0,0 +1,43 @@ +Fix build when iconv support is not available + +When iconv support is not available, the apr-util library does not +provide character set conversion features, and therefore APR_HAS_XLATE +is false. + +However, on Linux !defined(_WIN32) is always true, but the part of the +code that defines the APRCharsetDecoder and APRCharsetEncoder are only +enclosed in a #if APR_HAS_XLATE, without the "|| defined(_WIN32)" +which leads to build failures: the APRCharsetEncoder and +APRCharsetDecoder classes are used without being defined. + +This patch removes the || !defined(_WIN32) so that when iconv support +is not here, we fall back to raising an exception at runtime. + +Signed-off-by: Thomas Petazzoni + +Index: b/src/main/cpp/charsetdecoder.cpp +=================================================================== +--- a/src/main/cpp/charsetdecoder.cpp ++++ b/src/main/cpp/charsetdecoder.cpp +@@ -476,7 +476,7 @@ + StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("ISO-LATIN-1"), LOG4CXX_STR("iso-latin-1"))) { + return new ISOLatinCharsetDecoder(); + } +-#if APR_HAS_XLATE || !defined(_WIN32) ++#if APR_HAS_XLATE + return new APRCharsetDecoder(charset); + #else + throw IllegalArgumentException(charset); +Index: b/src/main/cpp/charsetencoder.cpp +=================================================================== +--- a/src/main/cpp/charsetencoder.cpp ++++ b/src/main/cpp/charsetencoder.cpp +@@ -484,7 +484,7 @@ + } else if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("UTF-16LE"), LOG4CXX_STR("utf-16le"))) { + return new UTF16LECharsetEncoder(); + } +-#if APR_HAS_XLATE || !defined(_WIN32) ++#if APR_HAS_XLATE + return new APRCharsetEncoder(charset); + #else + throw IllegalArgumentException(charset); diff --git a/package/log4cxx/0002-missing-includes.patch b/package/log4cxx/0002-missing-includes.patch new file mode 100644 index 0000000000..dd4da11619 --- /dev/null +++ b/package/log4cxx/0002-missing-includes.patch @@ -0,0 +1,44 @@ +commit bcaf1f8a682d641cee325142099c371464fd5946 +Author: Curtis William Arnold +Date: Tue May 20 16:05:37 2008 +0000 + + LOGCXX-286: gcc 4.3 requires #include + + git-svn-id: https://svn.apache.org/repos/asf/logging/log4cxx/trunk@658304 13f79535-47bb-0310-9956-ffa450edef68 + +diff --git a/src/examples/cpp/console.cpp b/src/examples/cpp/console.cpp +index 6a01d8a..a673a10 100755 +--- a/src/examples/cpp/console.cpp ++++ b/src/examples/cpp/console.cpp +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + + using namespace log4cxx; + using namespace log4cxx::helpers; +diff --git a/src/main/cpp/inputstreamreader.cpp b/src/main/cpp/inputstreamreader.cpp +index 52b1c0a..cb45181 100644 +--- a/src/main/cpp/inputstreamreader.cpp ++++ b/src/main/cpp/inputstreamreader.cpp +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + + using namespace log4cxx; + using namespace log4cxx::helpers; +diff --git a/src/main/cpp/socketoutputstream.cpp b/src/main/cpp/socketoutputstream.cpp +index 185f835..c61eb11 100644 +--- a/src/main/cpp/socketoutputstream.cpp ++++ b/src/main/cpp/socketoutputstream.cpp +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + + using namespace log4cxx; + using namespace log4cxx::helpers; diff --git a/package/log4cxx/0003-missing-includes.patch b/package/log4cxx/0003-missing-includes.patch new file mode 100644 index 0000000000..cd21bbab3e --- /dev/null +++ b/package/log4cxx/0003-missing-includes.patch @@ -0,0 +1,21 @@ +commit ce62c00ea5f9bf2f0740ecde5b245c9b7edc80ff +Author: Curtis William Arnold +Date: Mon Apr 27 03:53:50 2009 +0000 + + LOGCXX-332: fails to build with gcc 4.4 + + git-svn-id: https://svn.apache.org/repos/asf/logging/log4cxx/trunk@768863 13f79535-47bb-0310-9956-ffa450edef68 + +diff --git a/src/examples/cpp/console.cpp b/src/examples/cpp/console.cpp +index a673a10..f44c944 100755 +--- a/src/examples/cpp/console.cpp ++++ b/src/examples/cpp/console.cpp +@@ -23,6 +23,8 @@ + #include + #include + #include ++#include ++#include + + using namespace log4cxx; + using namespace log4cxx::helpers; diff --git a/package/log4cxx/log4cxx-0001-charset-fixes.patch b/package/log4cxx/log4cxx-0001-charset-fixes.patch deleted file mode 100644 index 75567fdad1..0000000000 --- a/package/log4cxx/log4cxx-0001-charset-fixes.patch +++ /dev/null @@ -1,43 +0,0 @@ -Fix build when iconv support is not available - -When iconv support is not available, the apr-util library does not -provide character set conversion features, and therefore APR_HAS_XLATE -is false. - -However, on Linux !defined(_WIN32) is always true, but the part of the -code that defines the APRCharsetDecoder and APRCharsetEncoder are only -enclosed in a #if APR_HAS_XLATE, without the "|| defined(_WIN32)" -which leads to build failures: the APRCharsetEncoder and -APRCharsetDecoder classes are used without being defined. - -This patch removes the || !defined(_WIN32) so that when iconv support -is not here, we fall back to raising an exception at runtime. - -Signed-off-by: Thomas Petazzoni - -Index: b/src/main/cpp/charsetdecoder.cpp -=================================================================== ---- a/src/main/cpp/charsetdecoder.cpp -+++ b/src/main/cpp/charsetdecoder.cpp -@@ -476,7 +476,7 @@ - StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("ISO-LATIN-1"), LOG4CXX_STR("iso-latin-1"))) { - return new ISOLatinCharsetDecoder(); - } --#if APR_HAS_XLATE || !defined(_WIN32) -+#if APR_HAS_XLATE - return new APRCharsetDecoder(charset); - #else - throw IllegalArgumentException(charset); -Index: b/src/main/cpp/charsetencoder.cpp -=================================================================== ---- a/src/main/cpp/charsetencoder.cpp -+++ b/src/main/cpp/charsetencoder.cpp -@@ -484,7 +484,7 @@ - } else if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("UTF-16LE"), LOG4CXX_STR("utf-16le"))) { - return new UTF16LECharsetEncoder(); - } --#if APR_HAS_XLATE || !defined(_WIN32) -+#if APR_HAS_XLATE - return new APRCharsetEncoder(charset); - #else - throw IllegalArgumentException(charset); diff --git a/package/log4cxx/log4cxx-0002-missing-includes.patch b/package/log4cxx/log4cxx-0002-missing-includes.patch deleted file mode 100644 index dd4da11619..0000000000 --- a/package/log4cxx/log4cxx-0002-missing-includes.patch +++ /dev/null @@ -1,44 +0,0 @@ -commit bcaf1f8a682d641cee325142099c371464fd5946 -Author: Curtis William Arnold -Date: Tue May 20 16:05:37 2008 +0000 - - LOGCXX-286: gcc 4.3 requires #include - - git-svn-id: https://svn.apache.org/repos/asf/logging/log4cxx/trunk@658304 13f79535-47bb-0310-9956-ffa450edef68 - -diff --git a/src/examples/cpp/console.cpp b/src/examples/cpp/console.cpp -index 6a01d8a..a673a10 100755 ---- a/src/examples/cpp/console.cpp -+++ b/src/examples/cpp/console.cpp -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - using namespace log4cxx; - using namespace log4cxx::helpers; -diff --git a/src/main/cpp/inputstreamreader.cpp b/src/main/cpp/inputstreamreader.cpp -index 52b1c0a..cb45181 100644 ---- a/src/main/cpp/inputstreamreader.cpp -+++ b/src/main/cpp/inputstreamreader.cpp -@@ -20,6 +20,7 @@ - #include - #include - #include -+#include - - using namespace log4cxx; - using namespace log4cxx::helpers; -diff --git a/src/main/cpp/socketoutputstream.cpp b/src/main/cpp/socketoutputstream.cpp -index 185f835..c61eb11 100644 ---- a/src/main/cpp/socketoutputstream.cpp -+++ b/src/main/cpp/socketoutputstream.cpp -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - - using namespace log4cxx; - using namespace log4cxx::helpers; diff --git a/package/log4cxx/log4cxx-0003-missing-includes.patch b/package/log4cxx/log4cxx-0003-missing-includes.patch deleted file mode 100644 index cd21bbab3e..0000000000 --- a/package/log4cxx/log4cxx-0003-missing-includes.patch +++ /dev/null @@ -1,21 +0,0 @@ -commit ce62c00ea5f9bf2f0740ecde5b245c9b7edc80ff -Author: Curtis William Arnold -Date: Mon Apr 27 03:53:50 2009 +0000 - - LOGCXX-332: fails to build with gcc 4.4 - - git-svn-id: https://svn.apache.org/repos/asf/logging/log4cxx/trunk@768863 13f79535-47bb-0310-9956-ffa450edef68 - -diff --git a/src/examples/cpp/console.cpp b/src/examples/cpp/console.cpp -index a673a10..f44c944 100755 ---- a/src/examples/cpp/console.cpp -+++ b/src/examples/cpp/console.cpp -@@ -23,6 +23,8 @@ - #include - #include - #include -+#include -+#include - - using namespace log4cxx; - using namespace log4cxx::helpers; diff --git a/package/lshw/0001-add-LIBS.patch b/package/lshw/0001-add-LIBS.patch new file mode 100644 index 0000000000..70b2a5b68f --- /dev/null +++ b/package/lshw/0001-add-LIBS.patch @@ -0,0 +1,30 @@ +We need to be able to pass extra LIBS when our toolchain lacks NLS support, +this way we can build libintl and link to it. +A good example is uClibc with locale support disabled. + +Signed-off-by: Gustavo Zacarias + +diff -Nura lshw-B.02.16.orig/src/gui/Makefile lshw-B.02.16/src/gui/Makefile +--- lshw-B.02.16.orig/src/gui/Makefile 2012-05-28 12:32:49.303885759 -0300 ++++ lshw-B.02.16/src/gui/Makefile 2012-05-28 12:33:33.850206001 -0300 +@@ -11,7 +11,7 @@ + CXXFLAGS=-g -Wall $(INCLUDES) $(DEFINES) $(RPM_OPT_FLAGS) + CFLAGS=$(CXXFLAGS) $(DEFINES) + GTKLIBS=$(shell pkg-config gtk+-2.0 gmodule-2.0 --libs) +-LIBS=-L../core -llshw -lresolv -lsqlite3 $(GTKLIBS) ++LIBS+=-L../core -llshw -lresolv -lsqlite3 $(GTKLIBS) + LDFLAGS= + ifneq ($(shell $(LD) --help 2| grep -- --as-needed), ) + LDFLAGS+= -Wl,--as-needed +diff -Nura lshw-B.02.16.orig/src/Makefile lshw-B.02.16/src/Makefile +--- lshw-B.02.16.orig/src/Makefile 2012-05-28 12:32:49.292885680 -0300 ++++ lshw-B.02.16/src/Makefile 2012-05-28 12:33:24.530139060 -0300 +@@ -30,7 +30,7 @@ + LDFLAGS+= -Wl,--as-needed + endif + LDSTATIC=-static +-LIBS=-llshw -lresolv ++LIBS+=-llshw -lresolv + ifeq ($(SQLITE), 1) + LIBS+= $(shell pkg-config --libs sqlite3) + endif diff --git a/package/lshw/lshw-add-LIBS.patch b/package/lshw/lshw-add-LIBS.patch deleted file mode 100644 index 70b2a5b68f..0000000000 --- a/package/lshw/lshw-add-LIBS.patch +++ /dev/null @@ -1,30 +0,0 @@ -We need to be able to pass extra LIBS when our toolchain lacks NLS support, -this way we can build libintl and link to it. -A good example is uClibc with locale support disabled. - -Signed-off-by: Gustavo Zacarias - -diff -Nura lshw-B.02.16.orig/src/gui/Makefile lshw-B.02.16/src/gui/Makefile ---- lshw-B.02.16.orig/src/gui/Makefile 2012-05-28 12:32:49.303885759 -0300 -+++ lshw-B.02.16/src/gui/Makefile 2012-05-28 12:33:33.850206001 -0300 -@@ -11,7 +11,7 @@ - CXXFLAGS=-g -Wall $(INCLUDES) $(DEFINES) $(RPM_OPT_FLAGS) - CFLAGS=$(CXXFLAGS) $(DEFINES) - GTKLIBS=$(shell pkg-config gtk+-2.0 gmodule-2.0 --libs) --LIBS=-L../core -llshw -lresolv -lsqlite3 $(GTKLIBS) -+LIBS+=-L../core -llshw -lresolv -lsqlite3 $(GTKLIBS) - LDFLAGS= - ifneq ($(shell $(LD) --help 2| grep -- --as-needed), ) - LDFLAGS+= -Wl,--as-needed -diff -Nura lshw-B.02.16.orig/src/Makefile lshw-B.02.16/src/Makefile ---- lshw-B.02.16.orig/src/Makefile 2012-05-28 12:32:49.292885680 -0300 -+++ lshw-B.02.16/src/Makefile 2012-05-28 12:33:24.530139060 -0300 -@@ -30,7 +30,7 @@ - LDFLAGS+= -Wl,--as-needed - endif - LDSTATIC=-static --LIBS=-llshw -lresolv -+LIBS+=-llshw -lresolv - ifeq ($(SQLITE), 1) - LIBS+= $(shell pkg-config --libs sqlite3) - endif diff --git a/package/ltp-testsuite/0001-fix-build-on-uClibc-exp10.patch b/package/ltp-testsuite/0001-fix-build-on-uClibc-exp10.patch new file mode 100644 index 0000000000..7a02d95208 --- /dev/null +++ b/package/ltp-testsuite/0001-fix-build-on-uClibc-exp10.patch @@ -0,0 +1,22 @@ +Inspired by: http://peter.korsgaard.com/patches/alsa-utils/alsamixer-fix-build-on-uClibc-exp10.patch + +exp10 extension is not part of uClibc, so compute it. + + +Signed-off-by: Samuel Martin + +diff -purN ltp-testsuite-20101031.orig/testcases/realtime/lib/libstats.c ltp-testsuite-20101031/testcases/realtime/lib/libstats.c +--- ltp-testsuite-20101031.orig/testcases/realtime/lib/libstats.c 2012-10-22 23:19:02.306646174 +0200 ++++ ltp-testsuite-20101031/testcases/realtime/lib/libstats.c 2012-10-22 23:25:41.554847766 +0200 +@@ -46,6 +46,11 @@ + #include + #include + ++#ifdef __UCLIBC__ ++/* 10^x = 10^(log e^x) = (e^x)^log10 = e^(x * log 10) */ ++#define exp10(x) (exp((x) * log(10))) ++#endif /* __UCLIBC__ */ ++ + int save_stats = 0; + + /* static helper functions */ diff --git a/package/ltp-testsuite/ltp-testsuite-fix-build-on-uClibc-exp10.patch b/package/ltp-testsuite/ltp-testsuite-fix-build-on-uClibc-exp10.patch deleted file mode 100644 index 7a02d95208..0000000000 --- a/package/ltp-testsuite/ltp-testsuite-fix-build-on-uClibc-exp10.patch +++ /dev/null @@ -1,22 +0,0 @@ -Inspired by: http://peter.korsgaard.com/patches/alsa-utils/alsamixer-fix-build-on-uClibc-exp10.patch - -exp10 extension is not part of uClibc, so compute it. - - -Signed-off-by: Samuel Martin - -diff -purN ltp-testsuite-20101031.orig/testcases/realtime/lib/libstats.c ltp-testsuite-20101031/testcases/realtime/lib/libstats.c ---- ltp-testsuite-20101031.orig/testcases/realtime/lib/libstats.c 2012-10-22 23:19:02.306646174 +0200 -+++ ltp-testsuite-20101031/testcases/realtime/lib/libstats.c 2012-10-22 23:25:41.554847766 +0200 -@@ -46,6 +46,11 @@ - #include - #include - -+#ifdef __UCLIBC__ -+/* 10^x = 10^(log e^x) = (e^x)^log10 = e^(x * log 10) */ -+#define exp10(x) (exp((x) * log(10))) -+#endif /* __UCLIBC__ */ -+ - int save_stats = 0; - - /* static helper functions */ diff --git a/package/ltrace/0001-events.patch b/package/ltrace/0001-events.patch new file mode 100644 index 0000000000..f3699a1b28 --- /dev/null +++ b/package/ltrace/0001-events.patch @@ -0,0 +1,47 @@ +[PATCH] events.c: add similar system headers workaround as trace.c + +Needed for E.G. powerpc on uClibc. + +Signed-off-by: Peter Korsgaard +--- + sysdeps/linux-gnu/events.c | 27 +++++++++++++++++++++++++++ + 1 file changed, 27 insertions(+) + +Index: ltrace-0.6.0/sysdeps/linux-gnu/events.c +=================================================================== +--- ltrace-0.6.0.orig/sysdeps/linux-gnu/events.c ++++ ltrace-0.6.0/sysdeps/linux-gnu/events.c +@@ -11,6 +11,33 @@ + + #include "common.h" + ++/* If the system headers did not provide the constants, hard-code the normal ++ values. */ ++#ifndef PTRACE_EVENT_FORK ++ ++#define PTRACE_OLDSETOPTIONS 21 ++#define PTRACE_SETOPTIONS 0x4200 ++#define PTRACE_GETEVENTMSG 0x4201 ++ ++/* options set using PTRACE_SETOPTIONS */ ++#define PTRACE_O_TRACESYSGOOD 0x00000001 ++#define PTRACE_O_TRACEFORK 0x00000002 ++#define PTRACE_O_TRACEVFORK 0x00000004 ++#define PTRACE_O_TRACECLONE 0x00000008 ++#define PTRACE_O_TRACEEXEC 0x00000010 ++#define PTRACE_O_TRACEVFORKDONE 0x00000020 ++#define PTRACE_O_TRACEEXIT 0x00000040 ++ ++/* Wait extended result codes for the above trace options. */ ++#define PTRACE_EVENT_FORK 1 ++#define PTRACE_EVENT_VFORK 2 ++#define PTRACE_EVENT_CLONE 3 ++#define PTRACE_EVENT_EXEC 4 ++#define PTRACE_EVENT_VFORK_DONE 5 ++#define PTRACE_EVENT_EXIT 6 ++ ++#endif /* PTRACE_EVENT_FORK */ ++ + static Event event; + + Event * diff --git a/package/ltrace/0002-arm-plt.patch b/package/ltrace/0002-arm-plt.patch new file mode 100644 index 0000000000..f130ce8426 --- /dev/null +++ b/package/ltrace/0002-arm-plt.patch @@ -0,0 +1,30 @@ +From 04377d28135e351c8d096c4392a493e937416815 Mon Sep 17 00:00:00 2001 +From: Alexandre Belloni +Date: Thu, 24 Jul 2014 23:15:20 +0200 +Subject: [PATCH] Allow building with uclibc toolchains + +Unfortunately, uclicbc doesn't define SHT_ARM_ATTRIBUTES in elf.h + +Signed-off-by: Alexandre Belloni +--- + sysdeps/linux-gnu/arm/plt.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/sysdeps/linux-gnu/arm/plt.c b/sysdeps/linux-gnu/arm/plt.c +index 9e9e37f0c5b0..a0a5795eb9cb 100644 +--- a/sysdeps/linux-gnu/arm/plt.c ++++ b/sysdeps/linux-gnu/arm/plt.c +@@ -28,6 +28,10 @@ + #include "library.h" + #include "ltrace-elf.h" + ++#ifndef SHT_ARM_ATTRIBUTES ++#define SHT_ARM_ATTRIBUTES 0x70000003 ++#endif ++ + static int + get_hardfp(uint64_t abi_vfp_args) + { +-- +1.9.1 + diff --git a/package/ltrace/0003-PPC-fix-PPC32-build.patch b/package/ltrace/0003-PPC-fix-PPC32-build.patch new file mode 100644 index 0000000000..92055c9477 --- /dev/null +++ b/package/ltrace/0003-PPC-fix-PPC32-build.patch @@ -0,0 +1,31 @@ +From c01c6dc017b5ae2b6de7b690725890642b6bf857 Mon Sep 17 00:00:00 2001 +From: Alexandre Belloni +Date: Tue, 29 Jul 2014 11:01:31 +0200 +Subject: [PATCH] PPC: fix PPC32 build + +Compilation on PPC32 fails because STACK_FRAME_OVERHEAD is never defined +in arch.h. + +Define it to 112 on that platform to restore the same behaviour as +before commit eea4ad2cce289753aaa35b4e0258a76d8f8f367c. + +Signed-off-by: Alexandre Belloni +--- + sysdeps/linux-gnu/ppc/arch.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/sysdeps/linux-gnu/ppc/arch.h b/sysdeps/linux-gnu/ppc/arch.h +index 7918a136b016..d5ad759a755c 100644 +--- a/sysdeps/linux-gnu/ppc/arch.h ++++ b/sysdeps/linux-gnu/ppc/arch.h +@@ -57,6 +57,7 @@ + #else + #define BREAKPOINT_VALUE { 0x7f, 0xe0, 0x00, 0x08 } + #define ARCH_ENDIAN_BIG ++# define STACK_FRAME_OVERHEAD 112 + # ifndef EF_PPC64_ABI + # define EF_PPC64_ABI 3 + # endif +-- +1.9.1 + diff --git a/package/ltrace/ltrace-01-events.patch b/package/ltrace/ltrace-01-events.patch deleted file mode 100644 index f3699a1b28..0000000000 --- a/package/ltrace/ltrace-01-events.patch +++ /dev/null @@ -1,47 +0,0 @@ -[PATCH] events.c: add similar system headers workaround as trace.c - -Needed for E.G. powerpc on uClibc. - -Signed-off-by: Peter Korsgaard ---- - sysdeps/linux-gnu/events.c | 27 +++++++++++++++++++++++++++ - 1 file changed, 27 insertions(+) - -Index: ltrace-0.6.0/sysdeps/linux-gnu/events.c -=================================================================== ---- ltrace-0.6.0.orig/sysdeps/linux-gnu/events.c -+++ ltrace-0.6.0/sysdeps/linux-gnu/events.c -@@ -11,6 +11,33 @@ - - #include "common.h" - -+/* If the system headers did not provide the constants, hard-code the normal -+ values. */ -+#ifndef PTRACE_EVENT_FORK -+ -+#define PTRACE_OLDSETOPTIONS 21 -+#define PTRACE_SETOPTIONS 0x4200 -+#define PTRACE_GETEVENTMSG 0x4201 -+ -+/* options set using PTRACE_SETOPTIONS */ -+#define PTRACE_O_TRACESYSGOOD 0x00000001 -+#define PTRACE_O_TRACEFORK 0x00000002 -+#define PTRACE_O_TRACEVFORK 0x00000004 -+#define PTRACE_O_TRACECLONE 0x00000008 -+#define PTRACE_O_TRACEEXEC 0x00000010 -+#define PTRACE_O_TRACEVFORKDONE 0x00000020 -+#define PTRACE_O_TRACEEXIT 0x00000040 -+ -+/* Wait extended result codes for the above trace options. */ -+#define PTRACE_EVENT_FORK 1 -+#define PTRACE_EVENT_VFORK 2 -+#define PTRACE_EVENT_CLONE 3 -+#define PTRACE_EVENT_EXEC 4 -+#define PTRACE_EVENT_VFORK_DONE 5 -+#define PTRACE_EVENT_EXIT 6 -+ -+#endif /* PTRACE_EVENT_FORK */ -+ - static Event event; - - Event * diff --git a/package/ltrace/ltrace-02-arm-plt.patch b/package/ltrace/ltrace-02-arm-plt.patch deleted file mode 100644 index f130ce8426..0000000000 --- a/package/ltrace/ltrace-02-arm-plt.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 04377d28135e351c8d096c4392a493e937416815 Mon Sep 17 00:00:00 2001 -From: Alexandre Belloni -Date: Thu, 24 Jul 2014 23:15:20 +0200 -Subject: [PATCH] Allow building with uclibc toolchains - -Unfortunately, uclicbc doesn't define SHT_ARM_ATTRIBUTES in elf.h - -Signed-off-by: Alexandre Belloni ---- - sysdeps/linux-gnu/arm/plt.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/sysdeps/linux-gnu/arm/plt.c b/sysdeps/linux-gnu/arm/plt.c -index 9e9e37f0c5b0..a0a5795eb9cb 100644 ---- a/sysdeps/linux-gnu/arm/plt.c -+++ b/sysdeps/linux-gnu/arm/plt.c -@@ -28,6 +28,10 @@ - #include "library.h" - #include "ltrace-elf.h" - -+#ifndef SHT_ARM_ATTRIBUTES -+#define SHT_ARM_ATTRIBUTES 0x70000003 -+#endif -+ - static int - get_hardfp(uint64_t abi_vfp_args) - { --- -1.9.1 - diff --git a/package/ltrace/ltrace-03-PPC-fix-PPC32-build.patch b/package/ltrace/ltrace-03-PPC-fix-PPC32-build.patch deleted file mode 100644 index 92055c9477..0000000000 --- a/package/ltrace/ltrace-03-PPC-fix-PPC32-build.patch +++ /dev/null @@ -1,31 +0,0 @@ -From c01c6dc017b5ae2b6de7b690725890642b6bf857 Mon Sep 17 00:00:00 2001 -From: Alexandre Belloni -Date: Tue, 29 Jul 2014 11:01:31 +0200 -Subject: [PATCH] PPC: fix PPC32 build - -Compilation on PPC32 fails because STACK_FRAME_OVERHEAD is never defined -in arch.h. - -Define it to 112 on that platform to restore the same behaviour as -before commit eea4ad2cce289753aaa35b4e0258a76d8f8f367c. - -Signed-off-by: Alexandre Belloni ---- - sysdeps/linux-gnu/ppc/arch.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/sysdeps/linux-gnu/ppc/arch.h b/sysdeps/linux-gnu/ppc/arch.h -index 7918a136b016..d5ad759a755c 100644 ---- a/sysdeps/linux-gnu/ppc/arch.h -+++ b/sysdeps/linux-gnu/ppc/arch.h -@@ -57,6 +57,7 @@ - #else - #define BREAKPOINT_VALUE { 0x7f, 0xe0, 0x00, 0x08 } - #define ARCH_ENDIAN_BIG -+# define STACK_FRAME_OVERHEAD 112 - # ifndef EF_PPC64_ABI - # define EF_PPC64_ABI 3 - # endif --- -1.9.1 - diff --git a/package/lttng-babeltrace/0001-no-posix-fallocate-in-uclibc.patch b/package/lttng-babeltrace/0001-no-posix-fallocate-in-uclibc.patch new file mode 100644 index 0000000000..d77825fab6 --- /dev/null +++ b/package/lttng-babeltrace/0001-no-posix-fallocate-in-uclibc.patch @@ -0,0 +1,37 @@ +Do not call posix_fallocate() on uClibc + +uClibc does not implement posix_fallocate(), and posix_fallocate() is +mostly only an hint to the kernel that we will need such or such +amount of space inside a file. So we just don't call posix_fallocate() +when building against uClibc. + +Signed-off-by: Thomas Petazzoni +[Peter: add #include +--- + formats/ctf/ctf.c | 3 +++ + 1 file changed, 3 insertions(+) + +Index: lttng-babeltrace-0.8/formats/ctf/ctf.c +=================================================================== +--- lttng-babeltrace-0.8.orig/formats/ctf/ctf.c ++++ lttng-babeltrace-0.8/formats/ctf/ctf.c +@@ -32,6 +32,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -384,9 +385,11 @@ + } + pos->content_size = -1U; /* Unknown at this point */ + pos->packet_size = WRITE_PACKET_LEN; ++#ifndef __UCLIBC__ + off = posix_fallocate(pos->fd, pos->mmap_offset, + pos->packet_size / CHAR_BIT); + assert(off >= 0); ++#endif + pos->offset = 0; + } else { + read_next_packet: diff --git a/package/lttng-babeltrace/lttng-babeltrace-01-no-posix-fallocate-in-uclibc.patch b/package/lttng-babeltrace/lttng-babeltrace-01-no-posix-fallocate-in-uclibc.patch deleted file mode 100644 index d77825fab6..0000000000 --- a/package/lttng-babeltrace/lttng-babeltrace-01-no-posix-fallocate-in-uclibc.patch +++ /dev/null @@ -1,37 +0,0 @@ -Do not call posix_fallocate() on uClibc - -uClibc does not implement posix_fallocate(), and posix_fallocate() is -mostly only an hint to the kernel that we will need such or such -amount of space inside a file. So we just don't call posix_fallocate() -when building against uClibc. - -Signed-off-by: Thomas Petazzoni -[Peter: add #include ---- - formats/ctf/ctf.c | 3 +++ - 1 file changed, 3 insertions(+) - -Index: lttng-babeltrace-0.8/formats/ctf/ctf.c -=================================================================== ---- lttng-babeltrace-0.8.orig/formats/ctf/ctf.c -+++ lttng-babeltrace-0.8/formats/ctf/ctf.c -@@ -32,6 +32,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -384,9 +385,11 @@ - } - pos->content_size = -1U; /* Unknown at this point */ - pos->packet_size = WRITE_PACKET_LEN; -+#ifndef __UCLIBC__ - off = posix_fallocate(pos->fd, pos->mmap_offset, - pos->packet_size / CHAR_BIT); - assert(off >= 0); -+#endif - pos->offset = 0; - } else { - read_next_packet: diff --git a/package/luajit/0004-no-bin-symlink.patch b/package/luajit/0004-no-bin-symlink.patch new file mode 100644 index 0000000000..0de3162027 --- /dev/null +++ b/package/luajit/0004-no-bin-symlink.patch @@ -0,0 +1,26 @@ +Do not use a symlink for the binary, simply name if luajit + +Signed-off-by: Thomas Petazzoni + +Index: b/Makefile +=================================================================== +--- a/Makefile ++++ b/Makefile +@@ -42,8 +42,7 @@ + INSTALL_MAN= $(INSTALL_SHARE)/man/man1 + INSTALL_PKGCONFIG= $(INSTALL_LIB)/pkgconfig + +-INSTALL_TNAME= luajit-$(VERSION) +-INSTALL_TSYMNAME= luajit ++INSTALL_TNAME= luajit + INSTALL_ANAME= libluajit-$(ABIVER).a + INSTALL_SONAME= libluajit-$(ABIVER).so.$(MAJVER).$(MINVER).$(RELVER) + INSTALL_SOSHORT= libluajit-$(ABIVER).so +@@ -57,7 +56,6 @@ + INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT) + INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT) + INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME) +-INSTALL_TSYM= $(INSTALL_BIN)/$(INSTALL_TSYMNAME) + INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME) + + INSTALL_DIRS= $(INSTALL_BIN) $(INSTALL_LIB) $(INSTALL_INC) $(INSTALL_MAN) \ diff --git a/package/luajit/0005-install-inc.patch b/package/luajit/0005-install-inc.patch new file mode 100644 index 0000000000..1fd11b1a17 --- /dev/null +++ b/package/luajit/0005-install-inc.patch @@ -0,0 +1,17 @@ +Install includes like lua's ones + +Signed-off-by: Francois Perrad + +Index: b/Makefile +=================================================================== +--- a/Makefile ++++ b/Makefile +@@ -31,7 +31,7 @@ DPREFIX= $(DESTDIR)$(PREFIX) + INSTALL_BIN= $(DPREFIX)/bin + INSTALL_LIB= $(DPREFIX)/lib + INSTALL_SHARE= $(DPREFIX)/share +-INSTALL_INC= $(DPREFIX)/include/luajit-$(MAJVER).$(MINVER) ++INSTALL_INC= $(DPREFIX)/include + + INSTALL_LJLIBD= $(INSTALL_SHARE)/luajit-$(VERSION) + INSTALL_JITLIB= $(INSTALL_LJLIBD)/jit diff --git a/package/luajit/0006-install-so.patch b/package/luajit/0006-install-so.patch new file mode 100644 index 0000000000..738ec07716 --- /dev/null +++ b/package/luajit/0006-install-so.patch @@ -0,0 +1,22 @@ +fix the following runtime error : + luajit: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory + +by creating two symbolic links: + libluajit-5.1.so -> libluajit-5.1.so.2.0.3 + libluajit-5.1.so.2 -> libluajit-5.1.so.2.0.3 + +Signed-off-by: Francois Perrad + +Index: b/Makefile +=================================================================== +--- a/Makefile ++++ b/Makefile +@@ -56,7 +56,7 @@ + INSTALL_STATIC= $(INSTALL_LIB)/$(INSTALL_ANAME) + INSTALL_DYN= $(INSTALL_LIB)/$(INSTALL_SONAME) + INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT) +-INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT) ++INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT).$(MAJVER) + INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME) + INSTALL_TSYM= $(INSTALL_BIN)/$(INSTALL_TSYMNAME) + INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME) diff --git a/package/luajit/luajit-04-no-bin-symlink.patch b/package/luajit/luajit-04-no-bin-symlink.patch deleted file mode 100644 index 0de3162027..0000000000 --- a/package/luajit/luajit-04-no-bin-symlink.patch +++ /dev/null @@ -1,26 +0,0 @@ -Do not use a symlink for the binary, simply name if luajit - -Signed-off-by: Thomas Petazzoni - -Index: b/Makefile -=================================================================== ---- a/Makefile -+++ b/Makefile -@@ -42,8 +42,7 @@ - INSTALL_MAN= $(INSTALL_SHARE)/man/man1 - INSTALL_PKGCONFIG= $(INSTALL_LIB)/pkgconfig - --INSTALL_TNAME= luajit-$(VERSION) --INSTALL_TSYMNAME= luajit -+INSTALL_TNAME= luajit - INSTALL_ANAME= libluajit-$(ABIVER).a - INSTALL_SONAME= libluajit-$(ABIVER).so.$(MAJVER).$(MINVER).$(RELVER) - INSTALL_SOSHORT= libluajit-$(ABIVER).so -@@ -57,7 +56,6 @@ - INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT) - INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT) - INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME) --INSTALL_TSYM= $(INSTALL_BIN)/$(INSTALL_TSYMNAME) - INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME) - - INSTALL_DIRS= $(INSTALL_BIN) $(INSTALL_LIB) $(INSTALL_INC) $(INSTALL_MAN) \ diff --git a/package/luajit/luajit-05-install-inc.patch b/package/luajit/luajit-05-install-inc.patch deleted file mode 100644 index 1fd11b1a17..0000000000 --- a/package/luajit/luajit-05-install-inc.patch +++ /dev/null @@ -1,17 +0,0 @@ -Install includes like lua's ones - -Signed-off-by: Francois Perrad - -Index: b/Makefile -=================================================================== ---- a/Makefile -+++ b/Makefile -@@ -31,7 +31,7 @@ DPREFIX= $(DESTDIR)$(PREFIX) - INSTALL_BIN= $(DPREFIX)/bin - INSTALL_LIB= $(DPREFIX)/lib - INSTALL_SHARE= $(DPREFIX)/share --INSTALL_INC= $(DPREFIX)/include/luajit-$(MAJVER).$(MINVER) -+INSTALL_INC= $(DPREFIX)/include - - INSTALL_LJLIBD= $(INSTALL_SHARE)/luajit-$(VERSION) - INSTALL_JITLIB= $(INSTALL_LJLIBD)/jit diff --git a/package/luajit/luajit-06-install-so.patch b/package/luajit/luajit-06-install-so.patch deleted file mode 100644 index 738ec07716..0000000000 --- a/package/luajit/luajit-06-install-so.patch +++ /dev/null @@ -1,22 +0,0 @@ -fix the following runtime error : - luajit: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory - -by creating two symbolic links: - libluajit-5.1.so -> libluajit-5.1.so.2.0.3 - libluajit-5.1.so.2 -> libluajit-5.1.so.2.0.3 - -Signed-off-by: Francois Perrad - -Index: b/Makefile -=================================================================== ---- a/Makefile -+++ b/Makefile -@@ -56,7 +56,7 @@ - INSTALL_STATIC= $(INSTALL_LIB)/$(INSTALL_ANAME) - INSTALL_DYN= $(INSTALL_LIB)/$(INSTALL_SONAME) - INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT) --INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT) -+INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT).$(MAJVER) - INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME) - INSTALL_TSYM= $(INSTALL_BIN)/$(INSTALL_TSYMNAME) - INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME) diff --git a/package/luasocket/0001-uClibc-IPv6.patch b/package/luasocket/0001-uClibc-IPv6.patch new file mode 100644 index 0000000000..ae70b4dbc1 --- /dev/null +++ b/package/luasocket/0001-uClibc-IPv6.patch @@ -0,0 +1,217 @@ +fix build with uClibc without IPv6 support + +see Pull Request: https://github.com/diegonehab/luasocket/pull/90 + +Signed-off-by: Francois Perrad + +Index: b/luasocket-3.0-rc1/src/options.c +=================================================================== +--- a/luasocket-3.0-rc1/src/options.c ++++ b/luasocket-3.0-rc1/src/options.c +@@ -110,6 +110,7 @@ + return opt_setboolean(L, ps, SOL_SOCKET, SO_BROADCAST); + } + ++#ifdef IPV6_UNICAST_HOPS + int opt_set_ip6_unicast_hops(lua_State *L, p_socket ps) + { + return opt_setint(L, ps, IPPROTO_IPV6, IPV6_UNICAST_HOPS); +@@ -119,7 +120,9 @@ + { + return opt_getint(L, ps, IPPROTO_IPV6, IPV6_UNICAST_HOPS); + } ++#endif + ++#ifdef IPV6_MULTICAST_HOPS + int opt_set_ip6_multicast_hops(lua_State *L, p_socket ps) + { + return opt_setint(L, ps, IPPROTO_IPV6, IPV6_MULTICAST_HOPS); +@@ -129,6 +132,7 @@ + { + return opt_getint(L, ps, IPPROTO_IPV6, IPV6_MULTICAST_HOPS); + } ++#endif + + int opt_set_ip_multicast_loop(lua_State *L, p_socket ps) + { +@@ -140,6 +144,7 @@ + return opt_getboolean(L, ps, IPPROTO_IP, IP_MULTICAST_LOOP); + } + ++#ifdef IPV6_MULTICAST_LOOP + int opt_set_ip6_multicast_loop(lua_State *L, p_socket ps) + { + return opt_setboolean(L, ps, IPPROTO_IPV6, IPV6_MULTICAST_LOOP); +@@ -149,6 +154,7 @@ + { + return opt_getboolean(L, ps, IPPROTO_IPV6, IPV6_MULTICAST_LOOP); + } ++#endif + + int opt_set_linger(lua_State *L, p_socket ps) + { +@@ -221,16 +227,21 @@ + return opt_setmembership(L, ps, IPPROTO_IP, IP_DROP_MEMBERSHIP); + } + ++#ifdef IPV6_ADD_MEMBERSHIP + int opt_set_ip6_add_membership(lua_State *L, p_socket ps) + { + return opt_ip6_setmembership(L, ps, IPPROTO_IPV6, IPV6_ADD_MEMBERSHIP); + } ++#endif + ++#ifdef IPV6_DROP_MEMBERSHIP + int opt_set_ip6_drop_membersip(lua_State *L, p_socket ps) + { + return opt_ip6_setmembership(L, ps, IPPROTO_IPV6, IPV6_DROP_MEMBERSHIP); + } ++#endif + ++#ifdef IPV6_V6ONLY + int opt_get_ip6_v6only(lua_State *L, p_socket ps) + { + return opt_getboolean(L, ps, IPPROTO_IPV6, IPV6_V6ONLY); +@@ -240,6 +251,7 @@ + { + return opt_setboolean(L, ps, IPPROTO_IPV6, IPV6_V6ONLY); + } ++#endif + + /*=========================================================================*\ + * Auxiliar functions +Index: b/luasocket-3.0-rc1/src/options.h +=================================================================== +--- a/luasocket-3.0-rc1/src/options.h ++++ b/luasocket-3.0-rc1/src/options.h +@@ -32,12 +32,24 @@ + int opt_set_ip_multicast_loop(lua_State *L, p_socket ps); + int opt_set_ip_add_membership(lua_State *L, p_socket ps); + int opt_set_ip_drop_membersip(lua_State *L, p_socket ps); ++#ifdef IPV6_UNICAST_HOPS + int opt_set_ip6_unicast_hops(lua_State *L, p_socket ps); ++#endif ++#ifdef IPV6_MULTICAST_HOPS + int opt_set_ip6_multicast_hops(lua_State *L, p_socket ps); ++#endif ++#ifdef IPV6_MULTICAST_LOOP + int opt_set_ip6_multicast_loop(lua_State *L, p_socket ps); ++#endif ++#ifdef IPV6_ADD_MEMBERSHIP + int opt_set_ip6_add_membership(lua_State *L, p_socket ps); ++#endif ++#ifdef IPV6_DROP_MEMBERSHIP + int opt_set_ip6_drop_membersip(lua_State *L, p_socket ps); ++#endif ++#ifdef IPV6_V6ONLY + int opt_set_ip6_v6only(lua_State *L, p_socket ps); ++#endif + + /* supported options for getoption */ + int opt_get_reuseaddr(lua_State *L, p_socket ps); +@@ -48,10 +60,18 @@ + int opt_get_ip_multicast_loop(lua_State *L, p_socket ps); + int opt_get_ip_multicast_if(lua_State *L, p_socket ps); + int opt_get_error(lua_State *L, p_socket ps); ++#ifdef IPV6_MULTICAST_LOOP + int opt_get_ip6_multicast_loop(lua_State *L, p_socket ps); ++#endif ++#ifdef IPV6_MULTICAST_HOPS + int opt_get_ip6_multicast_hops(lua_State *L, p_socket ps); ++#endif ++#ifdef IPV6_UNICAST_HOPS + int opt_get_ip6_unicast_hops(lua_State *L, p_socket ps); ++#endif ++#ifdef IPV6_V6ONLY + int opt_get_ip6_v6only(lua_State *L, p_socket ps); ++#endif + + /* invokes the appropriate option handler */ + int opt_meth_setoption(lua_State *L, p_opt opt, p_socket ps); +Index: b/luasocket-3.0-rc1/src/tcp.c +=================================================================== +--- a/luasocket-3.0-rc1/src/tcp.c ++++ b/luasocket-3.0-rc1/src/tcp.c +@@ -81,7 +81,9 @@ + {"keepalive", opt_set_keepalive}, + {"reuseaddr", opt_set_reuseaddr}, + {"tcp-nodelay", opt_set_tcp_nodelay}, ++#ifdef IPV6_V6ONLY + {"ipv6-v6only", opt_set_ip6_v6only}, ++#endif + {"linger", opt_set_linger}, + {NULL, NULL} + }; +@@ -366,11 +368,13 @@ + auxiliar_setclass(L, "tcp{master}", -1); + /* initialize remaining structure fields */ + socket_setnonblocking(&sock); ++#ifdef IPV6_V6ONLY + if (family == PF_INET6) { + int yes = 1; + setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, + (void *)&yes, sizeof(yes)); + } ++#endif + tcp->sock = sock; + io_init(&tcp->io, (p_send) socket_send, (p_recv) socket_recv, + (p_error) socket_ioerror, &tcp->sock); +Index: b/luasocket-3.0-rc1/src/udp.c +=================================================================== +--- a/luasocket-3.0-rc1/src/udp.c ++++ b/luasocket-3.0-rc1/src/udp.c +@@ -78,12 +78,22 @@ + {"ip-multicast-loop", opt_set_ip_multicast_loop}, + {"ip-add-membership", opt_set_ip_add_membership}, + {"ip-drop-membership", opt_set_ip_drop_membersip}, ++#ifdef IPV6_UNICAST_HOPS + {"ipv6-unicast-hops", opt_set_ip6_unicast_hops}, + {"ipv6-multicast-hops", opt_set_ip6_unicast_hops}, ++#endif ++#ifdef IPV6_MULTICAST_LOOP + {"ipv6-multicast-loop", opt_set_ip6_multicast_loop}, ++#endif ++#ifdef IPV6_ADD_MEMBERSHIP + {"ipv6-add-membership", opt_set_ip6_add_membership}, ++#endif ++#ifdef IPV6_DROP_MEMBERSHIP + {"ipv6-drop-membership", opt_set_ip6_drop_membersip}, ++#endif ++#ifdef IPV6_V6ONLY + {"ipv6-v6only", opt_set_ip6_v6only}, ++#endif + {NULL, NULL} + }; + +@@ -92,10 +102,16 @@ + {"ip-multicast-if", opt_get_ip_multicast_if}, + {"ip-multicast-loop", opt_get_ip_multicast_loop}, + {"error", opt_get_error}, ++#ifdef IPV6_UNICAST_HOPS + {"ipv6-unicast-hops", opt_get_ip6_unicast_hops}, + {"ipv6-multicast-hops", opt_get_ip6_unicast_hops}, ++#endif ++#ifdef IPV6_MULTICAST_LOOP + {"ipv6-multicast-loop", opt_get_ip6_multicast_loop}, ++#endif ++#ifdef IPV6_V6ONLY + {"ipv6-v6only", opt_get_ip6_v6only}, ++#endif + {NULL, NULL} + }; + +@@ -416,11 +432,13 @@ + auxiliar_setclass(L, "udp{unconnected}", -1); + /* initialize remaining structure fields */ + socket_setnonblocking(&sock); ++#ifdef IPV6_V6ONLY + if (family == PF_INET6) { + int yes = 1; + setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, + (void *)&yes, sizeof(yes)); + } ++#endif + udp->sock = sock; + timeout_init(&udp->tm, -1, -1); + udp->family = family; + diff --git a/package/luasocket/luasocket-01-uClibc-IPv6.patch b/package/luasocket/luasocket-01-uClibc-IPv6.patch deleted file mode 100644 index ae70b4dbc1..0000000000 --- a/package/luasocket/luasocket-01-uClibc-IPv6.patch +++ /dev/null @@ -1,217 +0,0 @@ -fix build with uClibc without IPv6 support - -see Pull Request: https://github.com/diegonehab/luasocket/pull/90 - -Signed-off-by: Francois Perrad - -Index: b/luasocket-3.0-rc1/src/options.c -=================================================================== ---- a/luasocket-3.0-rc1/src/options.c -+++ b/luasocket-3.0-rc1/src/options.c -@@ -110,6 +110,7 @@ - return opt_setboolean(L, ps, SOL_SOCKET, SO_BROADCAST); - } - -+#ifdef IPV6_UNICAST_HOPS - int opt_set_ip6_unicast_hops(lua_State *L, p_socket ps) - { - return opt_setint(L, ps, IPPROTO_IPV6, IPV6_UNICAST_HOPS); -@@ -119,7 +120,9 @@ - { - return opt_getint(L, ps, IPPROTO_IPV6, IPV6_UNICAST_HOPS); - } -+#endif - -+#ifdef IPV6_MULTICAST_HOPS - int opt_set_ip6_multicast_hops(lua_State *L, p_socket ps) - { - return opt_setint(L, ps, IPPROTO_IPV6, IPV6_MULTICAST_HOPS); -@@ -129,6 +132,7 @@ - { - return opt_getint(L, ps, IPPROTO_IPV6, IPV6_MULTICAST_HOPS); - } -+#endif - - int opt_set_ip_multicast_loop(lua_State *L, p_socket ps) - { -@@ -140,6 +144,7 @@ - return opt_getboolean(L, ps, IPPROTO_IP, IP_MULTICAST_LOOP); - } - -+#ifdef IPV6_MULTICAST_LOOP - int opt_set_ip6_multicast_loop(lua_State *L, p_socket ps) - { - return opt_setboolean(L, ps, IPPROTO_IPV6, IPV6_MULTICAST_LOOP); -@@ -149,6 +154,7 @@ - { - return opt_getboolean(L, ps, IPPROTO_IPV6, IPV6_MULTICAST_LOOP); - } -+#endif - - int opt_set_linger(lua_State *L, p_socket ps) - { -@@ -221,16 +227,21 @@ - return opt_setmembership(L, ps, IPPROTO_IP, IP_DROP_MEMBERSHIP); - } - -+#ifdef IPV6_ADD_MEMBERSHIP - int opt_set_ip6_add_membership(lua_State *L, p_socket ps) - { - return opt_ip6_setmembership(L, ps, IPPROTO_IPV6, IPV6_ADD_MEMBERSHIP); - } -+#endif - -+#ifdef IPV6_DROP_MEMBERSHIP - int opt_set_ip6_drop_membersip(lua_State *L, p_socket ps) - { - return opt_ip6_setmembership(L, ps, IPPROTO_IPV6, IPV6_DROP_MEMBERSHIP); - } -+#endif - -+#ifdef IPV6_V6ONLY - int opt_get_ip6_v6only(lua_State *L, p_socket ps) - { - return opt_getboolean(L, ps, IPPROTO_IPV6, IPV6_V6ONLY); -@@ -240,6 +251,7 @@ - { - return opt_setboolean(L, ps, IPPROTO_IPV6, IPV6_V6ONLY); - } -+#endif - - /*=========================================================================*\ - * Auxiliar functions -Index: b/luasocket-3.0-rc1/src/options.h -=================================================================== ---- a/luasocket-3.0-rc1/src/options.h -+++ b/luasocket-3.0-rc1/src/options.h -@@ -32,12 +32,24 @@ - int opt_set_ip_multicast_loop(lua_State *L, p_socket ps); - int opt_set_ip_add_membership(lua_State *L, p_socket ps); - int opt_set_ip_drop_membersip(lua_State *L, p_socket ps); -+#ifdef IPV6_UNICAST_HOPS - int opt_set_ip6_unicast_hops(lua_State *L, p_socket ps); -+#endif -+#ifdef IPV6_MULTICAST_HOPS - int opt_set_ip6_multicast_hops(lua_State *L, p_socket ps); -+#endif -+#ifdef IPV6_MULTICAST_LOOP - int opt_set_ip6_multicast_loop(lua_State *L, p_socket ps); -+#endif -+#ifdef IPV6_ADD_MEMBERSHIP - int opt_set_ip6_add_membership(lua_State *L, p_socket ps); -+#endif -+#ifdef IPV6_DROP_MEMBERSHIP - int opt_set_ip6_drop_membersip(lua_State *L, p_socket ps); -+#endif -+#ifdef IPV6_V6ONLY - int opt_set_ip6_v6only(lua_State *L, p_socket ps); -+#endif - - /* supported options for getoption */ - int opt_get_reuseaddr(lua_State *L, p_socket ps); -@@ -48,10 +60,18 @@ - int opt_get_ip_multicast_loop(lua_State *L, p_socket ps); - int opt_get_ip_multicast_if(lua_State *L, p_socket ps); - int opt_get_error(lua_State *L, p_socket ps); -+#ifdef IPV6_MULTICAST_LOOP - int opt_get_ip6_multicast_loop(lua_State *L, p_socket ps); -+#endif -+#ifdef IPV6_MULTICAST_HOPS - int opt_get_ip6_multicast_hops(lua_State *L, p_socket ps); -+#endif -+#ifdef IPV6_UNICAST_HOPS - int opt_get_ip6_unicast_hops(lua_State *L, p_socket ps); -+#endif -+#ifdef IPV6_V6ONLY - int opt_get_ip6_v6only(lua_State *L, p_socket ps); -+#endif - - /* invokes the appropriate option handler */ - int opt_meth_setoption(lua_State *L, p_opt opt, p_socket ps); -Index: b/luasocket-3.0-rc1/src/tcp.c -=================================================================== ---- a/luasocket-3.0-rc1/src/tcp.c -+++ b/luasocket-3.0-rc1/src/tcp.c -@@ -81,7 +81,9 @@ - {"keepalive", opt_set_keepalive}, - {"reuseaddr", opt_set_reuseaddr}, - {"tcp-nodelay", opt_set_tcp_nodelay}, -+#ifdef IPV6_V6ONLY - {"ipv6-v6only", opt_set_ip6_v6only}, -+#endif - {"linger", opt_set_linger}, - {NULL, NULL} - }; -@@ -366,11 +368,13 @@ - auxiliar_setclass(L, "tcp{master}", -1); - /* initialize remaining structure fields */ - socket_setnonblocking(&sock); -+#ifdef IPV6_V6ONLY - if (family == PF_INET6) { - int yes = 1; - setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, - (void *)&yes, sizeof(yes)); - } -+#endif - tcp->sock = sock; - io_init(&tcp->io, (p_send) socket_send, (p_recv) socket_recv, - (p_error) socket_ioerror, &tcp->sock); -Index: b/luasocket-3.0-rc1/src/udp.c -=================================================================== ---- a/luasocket-3.0-rc1/src/udp.c -+++ b/luasocket-3.0-rc1/src/udp.c -@@ -78,12 +78,22 @@ - {"ip-multicast-loop", opt_set_ip_multicast_loop}, - {"ip-add-membership", opt_set_ip_add_membership}, - {"ip-drop-membership", opt_set_ip_drop_membersip}, -+#ifdef IPV6_UNICAST_HOPS - {"ipv6-unicast-hops", opt_set_ip6_unicast_hops}, - {"ipv6-multicast-hops", opt_set_ip6_unicast_hops}, -+#endif -+#ifdef IPV6_MULTICAST_LOOP - {"ipv6-multicast-loop", opt_set_ip6_multicast_loop}, -+#endif -+#ifdef IPV6_ADD_MEMBERSHIP - {"ipv6-add-membership", opt_set_ip6_add_membership}, -+#endif -+#ifdef IPV6_DROP_MEMBERSHIP - {"ipv6-drop-membership", opt_set_ip6_drop_membersip}, -+#endif -+#ifdef IPV6_V6ONLY - {"ipv6-v6only", opt_set_ip6_v6only}, -+#endif - {NULL, NULL} - }; - -@@ -92,10 +102,16 @@ - {"ip-multicast-if", opt_get_ip_multicast_if}, - {"ip-multicast-loop", opt_get_ip_multicast_loop}, - {"error", opt_get_error}, -+#ifdef IPV6_UNICAST_HOPS - {"ipv6-unicast-hops", opt_get_ip6_unicast_hops}, - {"ipv6-multicast-hops", opt_get_ip6_unicast_hops}, -+#endif -+#ifdef IPV6_MULTICAST_LOOP - {"ipv6-multicast-loop", opt_get_ip6_multicast_loop}, -+#endif -+#ifdef IPV6_V6ONLY - {"ipv6-v6only", opt_get_ip6_v6only}, -+#endif - {NULL, NULL} - }; - -@@ -416,11 +432,13 @@ - auxiliar_setclass(L, "udp{unconnected}", -1); - /* initialize remaining structure fields */ - socket_setnonblocking(&sock); -+#ifdef IPV6_V6ONLY - if (family == PF_INET6) { - int yes = 1; - setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, - (void *)&yes, sizeof(yes)); - } -+#endif - udp->sock = sock; - timeout_init(&udp->tm, -1, -1); - udp->family = family; - diff --git a/package/lxc/0001-drop-werror.patch b/package/lxc/0001-drop-werror.patch new file mode 100644 index 0000000000..d2a8673a86 --- /dev/null +++ b/package/lxc/0001-drop-werror.patch @@ -0,0 +1,16 @@ +Don't do -Werror it breaks builds on some scenarios with trivialities. + +Signed-off-by: Gustavo Zacarias + +diff -Nura lxc-lxc-1.0.4/configure.ac lxc-lxc-1.0.4.orig/configure.ac +--- lxc-lxc-1.0.4.orig/configure.ac 2014-07-04 10:31:19.821029891 -0300 ++++ lxc-lxc-1.0.4/configure.ac 2014-06-13 14:07:45.000000000 -0300 +@@ -560,7 +560,7 @@ + LXC_CHECK_TLS + + if test "x$GCC" = "xyes"; then +- CFLAGS="$CFLAGS -Wall -Werror" ++ CFLAGS="$CFLAGS -Wall" + fi + + # Files requiring some variable expansion diff --git a/package/lxc/lxc-01-drop-werror.patch b/package/lxc/lxc-01-drop-werror.patch deleted file mode 100644 index d2a8673a86..0000000000 --- a/package/lxc/lxc-01-drop-werror.patch +++ /dev/null @@ -1,16 +0,0 @@ -Don't do -Werror it breaks builds on some scenarios with trivialities. - -Signed-off-by: Gustavo Zacarias - -diff -Nura lxc-lxc-1.0.4/configure.ac lxc-lxc-1.0.4.orig/configure.ac ---- lxc-lxc-1.0.4.orig/configure.ac 2014-07-04 10:31:19.821029891 -0300 -+++ lxc-lxc-1.0.4/configure.ac 2014-06-13 14:07:45.000000000 -0300 -@@ -560,7 +560,7 @@ - LXC_CHECK_TLS - - if test "x$GCC" = "xyes"; then -- CFLAGS="$CFLAGS -Wall -Werror" -+ CFLAGS="$CFLAGS -Wall" - fi - - # Files requiring some variable expansion diff --git a/package/lzma/0001-Remove-static-from-LDFLAGS.patch b/package/lzma/0001-Remove-static-from-LDFLAGS.patch new file mode 100644 index 0000000000..9a33e44b8d --- /dev/null +++ b/package/lzma/0001-Remove-static-from-LDFLAGS.patch @@ -0,0 +1,68 @@ +From 1b33f6d13e5c25a2500ee312068c08a3d3811a5f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= +Date: Wed, 3 Dec 2014 21:32:02 +0100 +Subject: [PATCH] Remove -static from LDFLAGS +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Buildroot does not enable static libraries by default for host builds. Having +-static hardcoded in the LDFLAGS breaks the build, so remove it. + +Signed-off-by: Vincent Stehlé +--- + src/lzmadec/Makefile.am | 1 - + src/lzmadec/Makefile.in | 1 - + src/lzmainfo/Makefile.am | 1 - + src/lzmainfo/Makefile.in | 1 - + 4 files changed, 4 deletions(-) + +diff --git a/src/lzmadec/Makefile.am b/src/lzmadec/Makefile.am +index 7322b2a..13edec8 100644 +--- a/src/lzmadec/Makefile.am ++++ b/src/lzmadec/Makefile.am +@@ -2,6 +2,5 @@ bin_PROGRAMS = lzmadec + lzmadec_SOURCES = lzmadec.c + lzmadec_LDADD = @top_builddir@/src/liblzmadec/liblzmadec.la + AM_CPPFLAGS = -I@top_srcdir@/src/liblzmadec +-AM_LDFLAGS = -static + + dist_man_MANS = lzmadec.1 +diff --git a/src/lzmadec/Makefile.in b/src/lzmadec/Makefile.in +index 5af9240..4ed1de1 100644 +--- a/src/lzmadec/Makefile.in ++++ b/src/lzmadec/Makefile.in +@@ -185,7 +185,6 @@ top_srcdir = @top_srcdir@ + lzmadec_SOURCES = lzmadec.c + lzmadec_LDADD = @top_builddir@/src/liblzmadec/liblzmadec.la + AM_CPPFLAGS = -I@top_srcdir@/src/liblzmadec +-AM_LDFLAGS = -static + dist_man_MANS = lzmadec.1 + all: all-am + +diff --git a/src/lzmainfo/Makefile.am b/src/lzmainfo/Makefile.am +index b5b01ec..e280bff 100644 +--- a/src/lzmainfo/Makefile.am ++++ b/src/lzmainfo/Makefile.am +@@ -2,6 +2,5 @@ bin_PROGRAMS = lzmainfo + lzmainfo_SOURCES = lzmainfo.c + lzmainfo_LDADD = @top_builddir@/src/liblzmadec/liblzmadec.la + AM_CPPFLAGS = -I@top_srcdir@/src/liblzmadec +-AM_LDFLAGS = -static + + dist_man_MANS = lzmainfo.1 +diff --git a/src/lzmainfo/Makefile.in b/src/lzmainfo/Makefile.in +index 6a2127a..f1f3441 100644 +--- a/src/lzmainfo/Makefile.in ++++ b/src/lzmainfo/Makefile.in +@@ -185,7 +185,6 @@ top_srcdir = @top_srcdir@ + lzmainfo_SOURCES = lzmainfo.c + lzmainfo_LDADD = @top_builddir@/src/liblzmadec/liblzmadec.la + AM_CPPFLAGS = -I@top_srcdir@/src/liblzmadec +-AM_LDFLAGS = -static + dist_man_MANS = lzmainfo.1 + all: all-am + +-- +2.1.3 + diff --git a/package/lzma/lzma-0001-Remove-static-from-LDFLAGS.patch b/package/lzma/lzma-0001-Remove-static-from-LDFLAGS.patch deleted file mode 100644 index 9a33e44b8d..0000000000 --- a/package/lzma/lzma-0001-Remove-static-from-LDFLAGS.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 1b33f6d13e5c25a2500ee312068c08a3d3811a5f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= -Date: Wed, 3 Dec 2014 21:32:02 +0100 -Subject: [PATCH] Remove -static from LDFLAGS -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Buildroot does not enable static libraries by default for host builds. Having --static hardcoded in the LDFLAGS breaks the build, so remove it. - -Signed-off-by: Vincent Stehlé ---- - src/lzmadec/Makefile.am | 1 - - src/lzmadec/Makefile.in | 1 - - src/lzmainfo/Makefile.am | 1 - - src/lzmainfo/Makefile.in | 1 - - 4 files changed, 4 deletions(-) - -diff --git a/src/lzmadec/Makefile.am b/src/lzmadec/Makefile.am -index 7322b2a..13edec8 100644 ---- a/src/lzmadec/Makefile.am -+++ b/src/lzmadec/Makefile.am -@@ -2,6 +2,5 @@ bin_PROGRAMS = lzmadec - lzmadec_SOURCES = lzmadec.c - lzmadec_LDADD = @top_builddir@/src/liblzmadec/liblzmadec.la - AM_CPPFLAGS = -I@top_srcdir@/src/liblzmadec --AM_LDFLAGS = -static - - dist_man_MANS = lzmadec.1 -diff --git a/src/lzmadec/Makefile.in b/src/lzmadec/Makefile.in -index 5af9240..4ed1de1 100644 ---- a/src/lzmadec/Makefile.in -+++ b/src/lzmadec/Makefile.in -@@ -185,7 +185,6 @@ top_srcdir = @top_srcdir@ - lzmadec_SOURCES = lzmadec.c - lzmadec_LDADD = @top_builddir@/src/liblzmadec/liblzmadec.la - AM_CPPFLAGS = -I@top_srcdir@/src/liblzmadec --AM_LDFLAGS = -static - dist_man_MANS = lzmadec.1 - all: all-am - -diff --git a/src/lzmainfo/Makefile.am b/src/lzmainfo/Makefile.am -index b5b01ec..e280bff 100644 ---- a/src/lzmainfo/Makefile.am -+++ b/src/lzmainfo/Makefile.am -@@ -2,6 +2,5 @@ bin_PROGRAMS = lzmainfo - lzmainfo_SOURCES = lzmainfo.c - lzmainfo_LDADD = @top_builddir@/src/liblzmadec/liblzmadec.la - AM_CPPFLAGS = -I@top_srcdir@/src/liblzmadec --AM_LDFLAGS = -static - - dist_man_MANS = lzmainfo.1 -diff --git a/src/lzmainfo/Makefile.in b/src/lzmainfo/Makefile.in -index 6a2127a..f1f3441 100644 ---- a/src/lzmainfo/Makefile.in -+++ b/src/lzmainfo/Makefile.in -@@ -185,7 +185,6 @@ top_srcdir = @top_srcdir@ - lzmainfo_SOURCES = lzmainfo.c - lzmainfo_LDADD = @top_builddir@/src/liblzmadec/liblzmadec.la - AM_CPPFLAGS = -I@top_srcdir@/src/liblzmadec --AM_LDFLAGS = -static - dist_man_MANS = lzmainfo.1 - all: all-am - --- -2.1.3 - diff --git a/package/madplay/0001-switch-to-new-alsa-api.patch b/package/madplay/0001-switch-to-new-alsa-api.patch new file mode 100644 index 0000000000..60d7bd3799 --- /dev/null +++ b/package/madplay/0001-switch-to-new-alsa-api.patch @@ -0,0 +1,173 @@ +Switch madplay to the new API. This is done thanks to a patch written +by Micha Nelissen and available at +http://article.gmane.org/gmane.comp.audio.mad.devel/729. + +--- madplay-0.15.2b/audio_alsa.c 2008-10-18 15:10:16.000000000 +0200 ++++ madplay-0.15.2b/audio_alsa.c.new 2008-10-18 15:03:27.000000000 +0200 +@@ -28,31 +28,30 @@ + + #include + +-#define ALSA_PCM_OLD_HW_PARAMS_API +-#define ALSA_PCM_OLD_SW_PARAMS_API + #include + + #include + + #include "audio.h" + +-char *buf = NULL; +-int paused = 0; ++#define BUFFER_TIME_MAX 500000 + +-int rate = -1; +-int channels = -1; +-int bitdepth = -1; +-int sample_size = -1; +- +-int buffer_time = 500000; +-int period_time = 100000; +-char *defaultdev = "plughw:0,0"; ++unsigned char *buf = NULL; ++int paused = 0; ++ ++unsigned int rate = 0; ++unsigned int channels = -1; ++unsigned int bitdepth = -1; ++unsigned int sample_size = -1; ++ ++unsigned int buffer_time; ++unsigned int period_time; ++char *defaultdev = "plughw:0,0"; + + snd_pcm_hw_params_t *alsa_hwparams; + snd_pcm_sw_params_t *alsa_swparams; + +-snd_pcm_sframes_t buffer_size; +-snd_pcm_sframes_t period_size; ++snd_pcm_uframes_t buffer_size; + + snd_pcm_format_t alsa_format = -1; + snd_pcm_access_t alsa_access = SND_PCM_ACCESS_MMAP_INTERLEAVED; +@@ -66,14 +65,20 @@ + snd_pcm_hw_params_t *params, + snd_pcm_access_t access) + { +- int err, dir; +- ++ int err; ++ + /* choose all parameters */ + err = snd_pcm_hw_params_any(handle,params); + if (err < 0) { + printf("Access type not available for playback: %s\n", snd_strerror(err)); + return err; + } ++ /* set the access type */ ++ err = snd_pcm_hw_params_set_access(handle, params, alsa_access); ++ if (err < 0) { ++ printf("Sample format not available for playback: %s\n", snd_strerror(err)); ++ return err; ++ } + /* set the sample format */ + err = snd_pcm_hw_params_set_format(handle, params, alsa_format); + if (err < 0) { +@@ -87,29 +92,38 @@ + return err; + } + /* set the stream rate */ +- err = snd_pcm_hw_params_set_rate_near(handle, params, rate, 0); ++ err = snd_pcm_hw_params_set_rate(handle, params, rate, 0); + if (err < 0) { + printf("Rate %iHz not available for playback: %s\n", rate, snd_strerror(err)); + return err; + } +- if (err != rate) { +- printf("Rate doesn't match (requested %iHz, get %iHz)\n", rate, err); +- return -EINVAL; +- } ++ err = snd_pcm_hw_params_get_buffer_time_max(params, &buffer_time, NULL); ++ if (err < 0) { ++ printf("Unable to retrieve buffer time: %s\n", snd_strerror(err)); ++ return err; ++ } ++ if (buffer_time > BUFFER_TIME_MAX) ++ buffer_time = BUFFER_TIME_MAX; + /* set buffer time */ +- err = snd_pcm_hw_params_set_buffer_time_near(handle, params, buffer_time, &dir); ++ err = snd_pcm_hw_params_set_buffer_time_near(handle, params, &buffer_time, 0); + if (err < 0) { + printf("Unable to set buffer time %i for playback: %s\n", buffer_time, snd_strerror(err)); + return err; + } +- buffer_size = snd_pcm_hw_params_get_buffer_size(params); ++ if (period_time * 4 > buffer_time) ++ period_time = buffer_time / 4; + /* set period time */ +- err = snd_pcm_hw_params_set_period_time_near(handle, params, period_time, &dir); ++ err = snd_pcm_hw_params_set_period_time_near(handle, params, &period_time, NULL); + if (err < 0) { + printf("Unable to set period time %i for playback: %s\n", period_time, snd_strerror(err)); + return err; + } +- period_size = snd_pcm_hw_params_get_period_size(params, &dir); ++ /* retrieve buffer size */ ++ err = snd_pcm_hw_params_get_buffer_size(params, &buffer_size); ++ if (err < 0) { ++ printf("Unable to retrieve buffer size: %s\n", snd_strerror(err)); ++ return err; ++ } + /* write the parameters to device */ + err = snd_pcm_hw_params(handle, params); + if (err < 0) { +@@ -123,6 +137,7 @@ + int set_swparams(snd_pcm_t *handle, + snd_pcm_sw_params_t *params) + { ++ unsigned int start_threshold; + int err; + + /* get current swparams */ +@@ -136,13 +151,7 @@ + if (err < 0) { + printf("Unable to set start threshold mode for playback: %s\n", snd_strerror(err)); + return err; +- } +- /* allow transfer when at least period_size samples can be processed */ +- err = snd_pcm_sw_params_set_avail_min(handle, params, period_size); +- if (err < 0) { +- printf("Unable to set avail min for playback: %s\n", snd_strerror(err)); +- return err; +- } ++ } + /* align all transfers to 1 samples */ + err = snd_pcm_sw_params_set_xfer_align(handle, params, 1); + if (err < 0) { +@@ -190,7 +199,7 @@ + rate = config->speed; + + if ( bitdepth == 0 ) +- config->precision = bitdepth = 32; ++ config->precision = bitdepth = 16; + + switch (bitdepth) + { +@@ -241,7 +250,7 @@ + return -1; + } + +- buf = malloc(buffer_size); ++ buf = malloc(buffer_size * sample_size); + if (buf == NULL) { + audio_error="unable to allocate output buffer table"; + return -1; +@@ -279,7 +288,7 @@ + int play(struct audio_play *play) + { + int err, len; +- char *ptr; ++ unsigned char *ptr; + + ptr = buf; + len = play->nsamples; + diff --git a/package/madplay/madplay-0.15.2b-switch-to-new-alsa-api.patch b/package/madplay/madplay-0.15.2b-switch-to-new-alsa-api.patch deleted file mode 100644 index 60d7bd3799..0000000000 --- a/package/madplay/madplay-0.15.2b-switch-to-new-alsa-api.patch +++ /dev/null @@ -1,173 +0,0 @@ -Switch madplay to the new API. This is done thanks to a patch written -by Micha Nelissen and available at -http://article.gmane.org/gmane.comp.audio.mad.devel/729. - ---- madplay-0.15.2b/audio_alsa.c 2008-10-18 15:10:16.000000000 +0200 -+++ madplay-0.15.2b/audio_alsa.c.new 2008-10-18 15:03:27.000000000 +0200 -@@ -28,31 +28,30 @@ - - #include - --#define ALSA_PCM_OLD_HW_PARAMS_API --#define ALSA_PCM_OLD_SW_PARAMS_API - #include - - #include - - #include "audio.h" - --char *buf = NULL; --int paused = 0; -+#define BUFFER_TIME_MAX 500000 - --int rate = -1; --int channels = -1; --int bitdepth = -1; --int sample_size = -1; -- --int buffer_time = 500000; --int period_time = 100000; --char *defaultdev = "plughw:0,0"; -+unsigned char *buf = NULL; -+int paused = 0; -+ -+unsigned int rate = 0; -+unsigned int channels = -1; -+unsigned int bitdepth = -1; -+unsigned int sample_size = -1; -+ -+unsigned int buffer_time; -+unsigned int period_time; -+char *defaultdev = "plughw:0,0"; - - snd_pcm_hw_params_t *alsa_hwparams; - snd_pcm_sw_params_t *alsa_swparams; - --snd_pcm_sframes_t buffer_size; --snd_pcm_sframes_t period_size; -+snd_pcm_uframes_t buffer_size; - - snd_pcm_format_t alsa_format = -1; - snd_pcm_access_t alsa_access = SND_PCM_ACCESS_MMAP_INTERLEAVED; -@@ -66,14 +65,20 @@ - snd_pcm_hw_params_t *params, - snd_pcm_access_t access) - { -- int err, dir; -- -+ int err; -+ - /* choose all parameters */ - err = snd_pcm_hw_params_any(handle,params); - if (err < 0) { - printf("Access type not available for playback: %s\n", snd_strerror(err)); - return err; - } -+ /* set the access type */ -+ err = snd_pcm_hw_params_set_access(handle, params, alsa_access); -+ if (err < 0) { -+ printf("Sample format not available for playback: %s\n", snd_strerror(err)); -+ return err; -+ } - /* set the sample format */ - err = snd_pcm_hw_params_set_format(handle, params, alsa_format); - if (err < 0) { -@@ -87,29 +92,38 @@ - return err; - } - /* set the stream rate */ -- err = snd_pcm_hw_params_set_rate_near(handle, params, rate, 0); -+ err = snd_pcm_hw_params_set_rate(handle, params, rate, 0); - if (err < 0) { - printf("Rate %iHz not available for playback: %s\n", rate, snd_strerror(err)); - return err; - } -- if (err != rate) { -- printf("Rate doesn't match (requested %iHz, get %iHz)\n", rate, err); -- return -EINVAL; -- } -+ err = snd_pcm_hw_params_get_buffer_time_max(params, &buffer_time, NULL); -+ if (err < 0) { -+ printf("Unable to retrieve buffer time: %s\n", snd_strerror(err)); -+ return err; -+ } -+ if (buffer_time > BUFFER_TIME_MAX) -+ buffer_time = BUFFER_TIME_MAX; - /* set buffer time */ -- err = snd_pcm_hw_params_set_buffer_time_near(handle, params, buffer_time, &dir); -+ err = snd_pcm_hw_params_set_buffer_time_near(handle, params, &buffer_time, 0); - if (err < 0) { - printf("Unable to set buffer time %i for playback: %s\n", buffer_time, snd_strerror(err)); - return err; - } -- buffer_size = snd_pcm_hw_params_get_buffer_size(params); -+ if (period_time * 4 > buffer_time) -+ period_time = buffer_time / 4; - /* set period time */ -- err = snd_pcm_hw_params_set_period_time_near(handle, params, period_time, &dir); -+ err = snd_pcm_hw_params_set_period_time_near(handle, params, &period_time, NULL); - if (err < 0) { - printf("Unable to set period time %i for playback: %s\n", period_time, snd_strerror(err)); - return err; - } -- period_size = snd_pcm_hw_params_get_period_size(params, &dir); -+ /* retrieve buffer size */ -+ err = snd_pcm_hw_params_get_buffer_size(params, &buffer_size); -+ if (err < 0) { -+ printf("Unable to retrieve buffer size: %s\n", snd_strerror(err)); -+ return err; -+ } - /* write the parameters to device */ - err = snd_pcm_hw_params(handle, params); - if (err < 0) { -@@ -123,6 +137,7 @@ - int set_swparams(snd_pcm_t *handle, - snd_pcm_sw_params_t *params) - { -+ unsigned int start_threshold; - int err; - - /* get current swparams */ -@@ -136,13 +151,7 @@ - if (err < 0) { - printf("Unable to set start threshold mode for playback: %s\n", snd_strerror(err)); - return err; -- } -- /* allow transfer when at least period_size samples can be processed */ -- err = snd_pcm_sw_params_set_avail_min(handle, params, period_size); -- if (err < 0) { -- printf("Unable to set avail min for playback: %s\n", snd_strerror(err)); -- return err; -- } -+ } - /* align all transfers to 1 samples */ - err = snd_pcm_sw_params_set_xfer_align(handle, params, 1); - if (err < 0) { -@@ -190,7 +199,7 @@ - rate = config->speed; - - if ( bitdepth == 0 ) -- config->precision = bitdepth = 32; -+ config->precision = bitdepth = 16; - - switch (bitdepth) - { -@@ -241,7 +250,7 @@ - return -1; - } - -- buf = malloc(buffer_size); -+ buf = malloc(buffer_size * sample_size); - if (buf == NULL) { - audio_error="unable to allocate output buffer table"; - return -1; -@@ -279,7 +288,7 @@ - int play(struct audio_play *play) - { - int err, len; -- char *ptr; -+ unsigned char *ptr; - - ptr = buf; - len = play->nsamples; - diff --git a/package/matchbox/matchbox-lib/0001-index-is-legacy.patch b/package/matchbox/matchbox-lib/0001-index-is-legacy.patch new file mode 100644 index 0000000000..b486fb18d4 --- /dev/null +++ b/package/matchbox/matchbox-lib/0001-index-is-legacy.patch @@ -0,0 +1,35 @@ +index() is a legacy function, not implemented in some uClibc +configurations. + +Signed-off-by: Thomas Petazzoni +--- + libmb/mbexp.c | 2 +- + libmb/mbmenu.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +Index: libmatchbox-1.9/libmb/mbexp.c +=================================================================== +--- libmatchbox-1.9.orig/libmb/mbexp.c ++++ libmatchbox-1.9/libmb/mbexp.c +@@ -492,7 +492,7 @@ + + /* get the family */ + +- if (index(spec, ',') != NULL || index(spec, '-') != NULL) ++ if (strchr(spec, ',') != NULL || strchr(spec, '-') != NULL) + has_comma_delim = True; + + while (!got_family) { +Index: libmatchbox-1.9/libmb/mbmenu.c +=================================================================== +--- libmatchbox-1.9.orig/libmb/mbmenu.c ++++ libmatchbox-1.9/libmb/mbmenu.c +@@ -433,7 +433,7 @@ + { + s = p; + found = NULL; +- while(index("/\0", *p) == NULL) p++; ++ while(strchr("/\0", *p) == NULL) p++; + if (*p != '\0') { *p = '\0'; p++; }; + + item = current->items; diff --git a/package/matchbox/matchbox-lib/0002-libpng15.patch b/package/matchbox/matchbox-lib/0002-libpng15.patch new file mode 100644 index 0000000000..3d68573b5f --- /dev/null +++ b/package/matchbox/matchbox-lib/0002-libpng15.patch @@ -0,0 +1,26 @@ +Support for libpng 1.5+ shamelessly taken from Gentoo. + +Signed-off-by: Gustavo Zacarias + +--- a/libmb/mbpixbuf.c ++++ b/libmb/mbpixbuf.c +@@ -247,7 +247,7 @@ + return NULL; + } + +- if ( setjmp( png_ptr->jmpbuf ) ) { ++ if ( setjmp( png_jmpbuf(png_ptr) ) ) { + png_destroy_read_struct( &png_ptr, &info_ptr, NULL); + fclose(fd); + return NULL; +@@ -269,8 +269,8 @@ + ( color_type == PNG_COLOR_TYPE_GRAY_ALPHA )) + png_set_gray_to_rgb(png_ptr); + +- if ( info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA +- || info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA ++ if ( color_type == PNG_COLOR_TYPE_RGB_ALPHA ++ || color_type == PNG_COLOR_TYPE_GRAY_ALPHA + ) + *has_alpha = 1; + else diff --git a/package/matchbox/matchbox-lib/0003-include-setjmp-h.patch b/package/matchbox/matchbox-lib/0003-include-setjmp-h.patch new file mode 100644 index 0000000000..72e1e45d8f --- /dev/null +++ b/package/matchbox/matchbox-lib/0003-include-setjmp-h.patch @@ -0,0 +1,17 @@ +matchbox-lib: include setjmp.h + +Based on this upstream patch: + + http://git.yoctoproject.org/cgit/cgit.cgi/libmatchbox/commit/?id=9315bcce1f01e7d6c00161442d61d3c676794d9d + +Signed-off-by: Vicente Olivert Riera +--- libmatchbox-1.9/libmb/mbpixbuf.c.orig 2014-02-21 12:45:46.867035956 +0000 ++++ libmatchbox-1.9/libmb/mbpixbuf.c 2014-02-21 12:46:43.482949583 +0000 +@@ -22,6 +22,7 @@ + + #include + #include "mbpixbuf.h" ++#include + + #define BYTE_ORD_24_RGB 0 + #define BYTE_ORD_24_RBG 1 diff --git a/package/matchbox/matchbox-lib/matchbox-lib-0001-index-is-legacy.patch b/package/matchbox/matchbox-lib/matchbox-lib-0001-index-is-legacy.patch deleted file mode 100644 index b486fb18d4..0000000000 --- a/package/matchbox/matchbox-lib/matchbox-lib-0001-index-is-legacy.patch +++ /dev/null @@ -1,35 +0,0 @@ -index() is a legacy function, not implemented in some uClibc -configurations. - -Signed-off-by: Thomas Petazzoni ---- - libmb/mbexp.c | 2 +- - libmb/mbmenu.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -Index: libmatchbox-1.9/libmb/mbexp.c -=================================================================== ---- libmatchbox-1.9.orig/libmb/mbexp.c -+++ libmatchbox-1.9/libmb/mbexp.c -@@ -492,7 +492,7 @@ - - /* get the family */ - -- if (index(spec, ',') != NULL || index(spec, '-') != NULL) -+ if (strchr(spec, ',') != NULL || strchr(spec, '-') != NULL) - has_comma_delim = True; - - while (!got_family) { -Index: libmatchbox-1.9/libmb/mbmenu.c -=================================================================== ---- libmatchbox-1.9.orig/libmb/mbmenu.c -+++ libmatchbox-1.9/libmb/mbmenu.c -@@ -433,7 +433,7 @@ - { - s = p; - found = NULL; -- while(index("/\0", *p) == NULL) p++; -+ while(strchr("/\0", *p) == NULL) p++; - if (*p != '\0') { *p = '\0'; p++; }; - - item = current->items; diff --git a/package/matchbox/matchbox-lib/matchbox-lib-0002-libpng15.patch b/package/matchbox/matchbox-lib/matchbox-lib-0002-libpng15.patch deleted file mode 100644 index 3d68573b5f..0000000000 --- a/package/matchbox/matchbox-lib/matchbox-lib-0002-libpng15.patch +++ /dev/null @@ -1,26 +0,0 @@ -Support for libpng 1.5+ shamelessly taken from Gentoo. - -Signed-off-by: Gustavo Zacarias - ---- a/libmb/mbpixbuf.c -+++ b/libmb/mbpixbuf.c -@@ -247,7 +247,7 @@ - return NULL; - } - -- if ( setjmp( png_ptr->jmpbuf ) ) { -+ if ( setjmp( png_jmpbuf(png_ptr) ) ) { - png_destroy_read_struct( &png_ptr, &info_ptr, NULL); - fclose(fd); - return NULL; -@@ -269,8 +269,8 @@ - ( color_type == PNG_COLOR_TYPE_GRAY_ALPHA )) - png_set_gray_to_rgb(png_ptr); - -- if ( info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA -- || info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA -+ if ( color_type == PNG_COLOR_TYPE_RGB_ALPHA -+ || color_type == PNG_COLOR_TYPE_GRAY_ALPHA - ) - *has_alpha = 1; - else diff --git a/package/matchbox/matchbox-lib/matchbox-lib-0003-include-setjmp-h.patch b/package/matchbox/matchbox-lib/matchbox-lib-0003-include-setjmp-h.patch deleted file mode 100644 index 72e1e45d8f..0000000000 --- a/package/matchbox/matchbox-lib/matchbox-lib-0003-include-setjmp-h.patch +++ /dev/null @@ -1,17 +0,0 @@ -matchbox-lib: include setjmp.h - -Based on this upstream patch: - - http://git.yoctoproject.org/cgit/cgit.cgi/libmatchbox/commit/?id=9315bcce1f01e7d6c00161442d61d3c676794d9d - -Signed-off-by: Vicente Olivert Riera ---- libmatchbox-1.9/libmb/mbpixbuf.c.orig 2014-02-21 12:45:46.867035956 +0000 -+++ libmatchbox-1.9/libmb/mbpixbuf.c 2014-02-21 12:46:43.482949583 +0000 -@@ -22,6 +22,7 @@ - - #include - #include "mbpixbuf.h" -+#include - - #define BYTE_ORD_24_RGB 0 - #define BYTE_ORD_24_RBG 1 diff --git a/package/matchbox/matchbox-startup-monitor/0001-true-false.patch b/package/matchbox/matchbox-startup-monitor/0001-true-false.patch new file mode 100644 index 0000000000..c92a0776b0 --- /dev/null +++ b/package/matchbox/matchbox-startup-monitor/0001-true-false.patch @@ -0,0 +1,21 @@ +mbmonitor uses TRUE / FALSE without defining them + +Signed-off-by: Peter Korsgaard +--- + mbmonitor.c | 3 +++ + 1 file changed, 3 insertions(+) + +Index: mb-applet-startup-monitor-0.1/mbmonitor.c +=================================================================== +--- mb-applet-startup-monitor-0.1.orig/mbmonitor.c ++++ mb-applet-startup-monitor-0.1/mbmonitor.c +@@ -43,6 +43,9 @@ + #define POLLTIME 10 + #define HOURGLASS_N_FRAMES 8 + ++#define FALSE 0 ++#define TRUE 1 ++ + typedef struct LaunchList LaunchList; + + struct LaunchList diff --git a/package/matchbox/matchbox-startup-monitor/matchbox-startup-monitor-0.1-true-false.patch b/package/matchbox/matchbox-startup-monitor/matchbox-startup-monitor-0.1-true-false.patch deleted file mode 100644 index c92a0776b0..0000000000 --- a/package/matchbox/matchbox-startup-monitor/matchbox-startup-monitor-0.1-true-false.patch +++ /dev/null @@ -1,21 +0,0 @@ -mbmonitor uses TRUE / FALSE without defining them - -Signed-off-by: Peter Korsgaard ---- - mbmonitor.c | 3 +++ - 1 file changed, 3 insertions(+) - -Index: mb-applet-startup-monitor-0.1/mbmonitor.c -=================================================================== ---- mb-applet-startup-monitor-0.1.orig/mbmonitor.c -+++ mb-applet-startup-monitor-0.1/mbmonitor.c -@@ -43,6 +43,9 @@ - #define POLLTIME 10 - #define HOURGLASS_N_FRAMES 8 - -+#define FALSE 0 -+#define TRUE 1 -+ - typedef struct LaunchList LaunchList; - - struct LaunchList diff --git a/package/matchbox/matchbox-wm/0001-defaulttheme.patch b/package/matchbox/matchbox-wm/0001-defaulttheme.patch new file mode 100644 index 0000000000..b4da66409c --- /dev/null +++ b/package/matchbox/matchbox-wm/0001-defaulttheme.patch @@ -0,0 +1,47 @@ +[PATCH] fix mbtheme build issue when png support is disabled + +DEFAULTTHEME{,NAME} is not defined when png support is disabled, leading +to compile errors in mbtheme.c: + +mbtheme.c: In function 'show_parse_error': +mbtheme.c:2422:28: error: 'DEFAULTTHEME' undeclared (first use in this function) +mbtheme.c:2422:28: note: each undeclared identifier is reported only once for each function it appears in +mbtheme.c: In function 'mbtheme_init': +mbtheme.c:2448:30: error: 'DEFAULTTHEME' undeclared (first use in this function) +mbtheme.c:2470:25: error: 'DEFAULTTHEMENAME' undeclared (first use in this function) + +Fix it by unconditionally defining them as the values used are the same +in png / !png cases anyway. + +Signed-off-by: Peter Korsgaard +--- + src/structs.h | 9 --------- + 1 file changed, 9 deletions(-) + +Index: matchbox-window-manager-1.2/src/structs.h +=================================================================== +--- matchbox-window-manager-1.2.orig/src/structs.h ++++ matchbox-window-manager-1.2/src/structs.h +@@ -81,8 +81,6 @@ + + #define GENERIC_ICON PKGDATADIR "/mbnoapp.xpm" + +-#ifdef MB_HAVE_PNG +- + #define DEFAULT_THEME DATADIR "/themes/Default/matchbox/theme.xml" + + #define DEFAULTTHEME DATADIR "/themes/Default/matchbox/theme.xml" +@@ -91,13 +89,6 @@ + + #define DEFAULTTHEMENAME "Default" + +-#else +- +-#define DEFAULT_THEME DATADIR "/themes/Default/matchbox/theme.xml" +-#define DEFAULT_THEME_NAME "Default" +- +-#endif +- + #define CONFDEFAULTS PKGDATADIR "/defaults" + + /* Simple Macros */ diff --git a/package/matchbox/matchbox-wm/matchbox-wm-defaulttheme.patch b/package/matchbox/matchbox-wm/matchbox-wm-defaulttheme.patch deleted file mode 100644 index b4da66409c..0000000000 --- a/package/matchbox/matchbox-wm/matchbox-wm-defaulttheme.patch +++ /dev/null @@ -1,47 +0,0 @@ -[PATCH] fix mbtheme build issue when png support is disabled - -DEFAULTTHEME{,NAME} is not defined when png support is disabled, leading -to compile errors in mbtheme.c: - -mbtheme.c: In function 'show_parse_error': -mbtheme.c:2422:28: error: 'DEFAULTTHEME' undeclared (first use in this function) -mbtheme.c:2422:28: note: each undeclared identifier is reported only once for each function it appears in -mbtheme.c: In function 'mbtheme_init': -mbtheme.c:2448:30: error: 'DEFAULTTHEME' undeclared (first use in this function) -mbtheme.c:2470:25: error: 'DEFAULTTHEMENAME' undeclared (first use in this function) - -Fix it by unconditionally defining them as the values used are the same -in png / !png cases anyway. - -Signed-off-by: Peter Korsgaard ---- - src/structs.h | 9 --------- - 1 file changed, 9 deletions(-) - -Index: matchbox-window-manager-1.2/src/structs.h -=================================================================== ---- matchbox-window-manager-1.2.orig/src/structs.h -+++ matchbox-window-manager-1.2/src/structs.h -@@ -81,8 +81,6 @@ - - #define GENERIC_ICON PKGDATADIR "/mbnoapp.xpm" - --#ifdef MB_HAVE_PNG -- - #define DEFAULT_THEME DATADIR "/themes/Default/matchbox/theme.xml" - - #define DEFAULTTHEME DATADIR "/themes/Default/matchbox/theme.xml" -@@ -91,13 +89,6 @@ - - #define DEFAULTTHEMENAME "Default" - --#else -- --#define DEFAULT_THEME DATADIR "/themes/Default/matchbox/theme.xml" --#define DEFAULT_THEME_NAME "Default" -- --#endif -- - #define CONFDEFAULTS PKGDATADIR "/defaults" - - /* Simple Macros */ diff --git a/package/mcrypt/0001-CVE-2012-4409.patch b/package/mcrypt/0001-CVE-2012-4409.patch new file mode 100644 index 0000000000..97c658bb2d --- /dev/null +++ b/package/mcrypt/0001-CVE-2012-4409.patch @@ -0,0 +1,25 @@ +From 3efb40e17ce4f76717ae17a1ce1e1f747ddf59fd Mon Sep 17 00:00:00 2001 +From: Alon Bar-Lev +Date: Sat, 22 Dec 2012 22:37:06 +0200 +Subject: [PATCH] cleanup: buffer overflow + +--- + src/extra.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +diff --git a/src/extra.c b/src/extra.c +index 3082f82..c7a1ac0 100644 +--- a/src/extra.c ++++ b/src/extra.c +@@ -241,6 +241,8 @@ int check_file_head(FILE * fstream, char *algorithm, char *mode, + if (m_getbit(6, flags) == 1) { /* if the salt bit is set */ + if (m_getbit(0, sflag) != 0) { /* if the first bit is set */ + *salt_size = m_setbit(0, sflag, 0); ++ if (*salt_size > sizeof(tmp_buf)) ++ err_quit(_("Salt is too long\n")); + if (*salt_size > 0) { + fread(tmp_buf, 1, *salt_size, + fstream); +-- +1.7.8.6 + diff --git a/package/mcrypt/0002-CVE-2012-4426.patch b/package/mcrypt/0002-CVE-2012-4426.patch new file mode 100644 index 0000000000..708d4a579e --- /dev/null +++ b/package/mcrypt/0002-CVE-2012-4426.patch @@ -0,0 +1,35 @@ +Patch taken from gentoo. + +Signed-off-by: Gustavo Zacarias + +--- a/src/errors.c ++++ b/src/errors.c +@@ -25,24 +25,24 @@ + + void err_quit(char *errmsg) + { +- fprintf(stderr, errmsg); ++ fprintf(stderr, "%s", errmsg); + exit(-1); + } + + void err_warn(char *errmsg) + { + if (quiet <= 1) +- fprintf(stderr, errmsg); ++ fprintf(stderr, "%s", errmsg); + } + + void err_info(char *errmsg) + { + if (quiet == 0) +- fprintf(stderr, errmsg); ++ fprintf(stderr, "%s", errmsg); + } + + void err_crit(char *errmsg) + { + if (quiet <= 2) +- fprintf(stderr, errmsg); ++ fprintf(stderr, "%s", errmsg); + } diff --git a/package/mcrypt/0003-CVE-2012-4527.patch b/package/mcrypt/0003-CVE-2012-4527.patch new file mode 100644 index 0000000000..a8cf6f449a --- /dev/null +++ b/package/mcrypt/0003-CVE-2012-4527.patch @@ -0,0 +1,99 @@ +Fix for CVE-2012-4527. +Authored by Attila Bogar and Jean-Michel Vourgère + +Signed-off-by: Gustavo Zacarias + +diff -Nura mcrypt-2.6.8.orig/src/mcrypt.c mcrypt-2.6.8/src/mcrypt.c +--- mcrypt-2.6.8.orig/src/mcrypt.c 2013-01-14 19:15:49.465925072 -0300 ++++ mcrypt-2.6.8/src/mcrypt.c 2013-01-14 19:28:13.711478000 -0300 +@@ -44,7 +44,9 @@ + static char rcsid[] = + "$Id: mcrypt.c,v 1.2 2007/11/07 17:10:21 nmav Exp $"; + +-char tmperr[128]; ++/* Temporary error message can contain one file name and 1k of text */ ++#define ERRWIDTH ((PATH_MAX)+1024) ++char tmperr[ERRWIDTH]; + unsigned int stream_flag = FALSE; + char *keymode = NULL; + char *mode = NULL; +@@ -482,7 +484,7 @@ + #ifdef HAVE_STAT + if (stream_flag == FALSE) { + if (is_normal_file(file[i]) == FALSE) { +- sprintf(tmperr, ++ snprintf(tmperr, ERRWIDTH, + _ + ("%s: %s is not a regular file. Skipping...\n"), + program_name, file[i]); +@@ -501,7 +503,7 @@ + dinfile = file[i]; + if ((isatty(fileno((FILE *) (stdin))) == 1) + && (stream_flag == TRUE) && (force == 0)) { /* not a tty */ +- sprintf(tmperr, ++ snprintf(tmperr, ERRWIDTH, + _ + ("%s: Encrypted data will not be read from a terminal.\n"), + program_name); +@@ -520,7 +522,7 @@ + einfile = file[i]; + if ((isatty(fileno((FILE *) (stdout))) == 1) + && (stream_flag == TRUE) && (force == 0)) { /* not a tty */ +- sprintf(tmperr, ++ snprintf(tmperr, ERRWIDTH, + _ + ("%s: Encrypted data will not be written to a terminal.\n"), + program_name); +@@ -544,7 +546,7 @@ + strcpy(outfile, einfile); + /* if file has already the .nc ignore it */ + if (strstr(outfile, ".nc") != NULL) { +- sprintf(tmperr, ++ snprintf(tmperr, ERRWIDTH, + _ + ("%s: file %s has the .nc suffix... skipping...\n"), + program_name, outfile); +@@ -590,10 +592,10 @@ + + if (x == 0) { + if (stream_flag == FALSE) { +- sprintf(tmperr, _("File %s was decrypted.\n"), dinfile); ++ snprintf(tmperr, ERRWIDTH, _("File %s was decrypted.\n"), dinfile); + err_warn(tmperr); + } else { +- sprintf(tmperr, _("Stdin was decrypted.\n")); ++ snprintf(tmperr, ERRWIDTH, _("Stdin was decrypted.\n")); + err_warn(tmperr); + } + #ifdef HAVE_STAT +@@ -610,7 +612,7 @@ + + } else { + if (stream_flag == FALSE) { +- sprintf(tmperr, ++ snprintf(tmperr, ERRWIDTH, + _ + ("File %s was NOT decrypted successfully.\n"), + dinfile); +@@ -636,10 +638,10 @@ + + if (x == 0) { + if (stream_flag == FALSE) { +- sprintf(tmperr, _("File %s was encrypted.\n"), einfile); ++ snprintf(tmperr, ERRWIDTH, _("File %s was encrypted.\n"), einfile); + err_warn(tmperr); + } else { +- sprintf(tmperr, _("Stdin was encrypted.\n")); ++ snprintf(tmperr, ERRWIDTH, _("Stdin was encrypted.\n")); + err_warn(tmperr); + } + #ifdef HAVE_STAT +@@ -655,7 +657,7 @@ + + } else { + if (stream_flag == FALSE) { +- sprintf(tmperr, ++ snprintf(tmperr, ERRWIDTH, + _ + ("File %s was NOT encrypted successfully.\n"), + einfile); diff --git a/package/mcrypt/0004-no-rpath.patch b/package/mcrypt/0004-no-rpath.patch new file mode 100644 index 0000000000..a0813bcf00 --- /dev/null +++ b/package/mcrypt/0004-no-rpath.patch @@ -0,0 +1,17 @@ +Patch out rpath hardcoding since it completely ignores --disable-rpath +and other configure ways. + +Signed-off-by: Gustavo Zacarias + +diff -Nura mcrypt-2.6.8.orig/config.rpath mcrypt-2.6.8/config.rpath +--- mcrypt-2.6.8.orig/config.rpath 2013-01-07 13:05:22.626883480 -0300 ++++ mcrypt-2.6.8/config.rpath 2013-01-07 13:12:47.196090608 -0300 +@@ -153,7 +153,7 @@ + # here allows them to be overridden if necessary. + # Unlike libtool, we use -rpath here, not --rpath, since the documented + # option of GNU ld is called -rpath, not --rpath. +- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' ++ hardcode_libdir_flag_spec= + case "$host_os" in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken diff --git a/package/mcrypt/mcrypt-CVE-2012-4409.patch b/package/mcrypt/mcrypt-CVE-2012-4409.patch deleted file mode 100644 index 97c658bb2d..0000000000 --- a/package/mcrypt/mcrypt-CVE-2012-4409.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 3efb40e17ce4f76717ae17a1ce1e1f747ddf59fd Mon Sep 17 00:00:00 2001 -From: Alon Bar-Lev -Date: Sat, 22 Dec 2012 22:37:06 +0200 -Subject: [PATCH] cleanup: buffer overflow - ---- - src/extra.c | 2 ++ - 1 files changed, 2 insertions(+), 0 deletions(-) - -diff --git a/src/extra.c b/src/extra.c -index 3082f82..c7a1ac0 100644 ---- a/src/extra.c -+++ b/src/extra.c -@@ -241,6 +241,8 @@ int check_file_head(FILE * fstream, char *algorithm, char *mode, - if (m_getbit(6, flags) == 1) { /* if the salt bit is set */ - if (m_getbit(0, sflag) != 0) { /* if the first bit is set */ - *salt_size = m_setbit(0, sflag, 0); -+ if (*salt_size > sizeof(tmp_buf)) -+ err_quit(_("Salt is too long\n")); - if (*salt_size > 0) { - fread(tmp_buf, 1, *salt_size, - fstream); --- -1.7.8.6 - diff --git a/package/mcrypt/mcrypt-CVE-2012-4426.patch b/package/mcrypt/mcrypt-CVE-2012-4426.patch deleted file mode 100644 index 708d4a579e..0000000000 --- a/package/mcrypt/mcrypt-CVE-2012-4426.patch +++ /dev/null @@ -1,35 +0,0 @@ -Patch taken from gentoo. - -Signed-off-by: Gustavo Zacarias - ---- a/src/errors.c -+++ b/src/errors.c -@@ -25,24 +25,24 @@ - - void err_quit(char *errmsg) - { -- fprintf(stderr, errmsg); -+ fprintf(stderr, "%s", errmsg); - exit(-1); - } - - void err_warn(char *errmsg) - { - if (quiet <= 1) -- fprintf(stderr, errmsg); -+ fprintf(stderr, "%s", errmsg); - } - - void err_info(char *errmsg) - { - if (quiet == 0) -- fprintf(stderr, errmsg); -+ fprintf(stderr, "%s", errmsg); - } - - void err_crit(char *errmsg) - { - if (quiet <= 2) -- fprintf(stderr, errmsg); -+ fprintf(stderr, "%s", errmsg); - } diff --git a/package/mcrypt/mcrypt-CVE-2012-4527.patch b/package/mcrypt/mcrypt-CVE-2012-4527.patch deleted file mode 100644 index a8cf6f449a..0000000000 --- a/package/mcrypt/mcrypt-CVE-2012-4527.patch +++ /dev/null @@ -1,99 +0,0 @@ -Fix for CVE-2012-4527. -Authored by Attila Bogar and Jean-Michel Vourgère - -Signed-off-by: Gustavo Zacarias - -diff -Nura mcrypt-2.6.8.orig/src/mcrypt.c mcrypt-2.6.8/src/mcrypt.c ---- mcrypt-2.6.8.orig/src/mcrypt.c 2013-01-14 19:15:49.465925072 -0300 -+++ mcrypt-2.6.8/src/mcrypt.c 2013-01-14 19:28:13.711478000 -0300 -@@ -44,7 +44,9 @@ - static char rcsid[] = - "$Id: mcrypt.c,v 1.2 2007/11/07 17:10:21 nmav Exp $"; - --char tmperr[128]; -+/* Temporary error message can contain one file name and 1k of text */ -+#define ERRWIDTH ((PATH_MAX)+1024) -+char tmperr[ERRWIDTH]; - unsigned int stream_flag = FALSE; - char *keymode = NULL; - char *mode = NULL; -@@ -482,7 +484,7 @@ - #ifdef HAVE_STAT - if (stream_flag == FALSE) { - if (is_normal_file(file[i]) == FALSE) { -- sprintf(tmperr, -+ snprintf(tmperr, ERRWIDTH, - _ - ("%s: %s is not a regular file. Skipping...\n"), - program_name, file[i]); -@@ -501,7 +503,7 @@ - dinfile = file[i]; - if ((isatty(fileno((FILE *) (stdin))) == 1) - && (stream_flag == TRUE) && (force == 0)) { /* not a tty */ -- sprintf(tmperr, -+ snprintf(tmperr, ERRWIDTH, - _ - ("%s: Encrypted data will not be read from a terminal.\n"), - program_name); -@@ -520,7 +522,7 @@ - einfile = file[i]; - if ((isatty(fileno((FILE *) (stdout))) == 1) - && (stream_flag == TRUE) && (force == 0)) { /* not a tty */ -- sprintf(tmperr, -+ snprintf(tmperr, ERRWIDTH, - _ - ("%s: Encrypted data will not be written to a terminal.\n"), - program_name); -@@ -544,7 +546,7 @@ - strcpy(outfile, einfile); - /* if file has already the .nc ignore it */ - if (strstr(outfile, ".nc") != NULL) { -- sprintf(tmperr, -+ snprintf(tmperr, ERRWIDTH, - _ - ("%s: file %s has the .nc suffix... skipping...\n"), - program_name, outfile); -@@ -590,10 +592,10 @@ - - if (x == 0) { - if (stream_flag == FALSE) { -- sprintf(tmperr, _("File %s was decrypted.\n"), dinfile); -+ snprintf(tmperr, ERRWIDTH, _("File %s was decrypted.\n"), dinfile); - err_warn(tmperr); - } else { -- sprintf(tmperr, _("Stdin was decrypted.\n")); -+ snprintf(tmperr, ERRWIDTH, _("Stdin was decrypted.\n")); - err_warn(tmperr); - } - #ifdef HAVE_STAT -@@ -610,7 +612,7 @@ - - } else { - if (stream_flag == FALSE) { -- sprintf(tmperr, -+ snprintf(tmperr, ERRWIDTH, - _ - ("File %s was NOT decrypted successfully.\n"), - dinfile); -@@ -636,10 +638,10 @@ - - if (x == 0) { - if (stream_flag == FALSE) { -- sprintf(tmperr, _("File %s was encrypted.\n"), einfile); -+ snprintf(tmperr, ERRWIDTH, _("File %s was encrypted.\n"), einfile); - err_warn(tmperr); - } else { -- sprintf(tmperr, _("Stdin was encrypted.\n")); -+ snprintf(tmperr, ERRWIDTH, _("Stdin was encrypted.\n")); - err_warn(tmperr); - } - #ifdef HAVE_STAT -@@ -655,7 +657,7 @@ - - } else { - if (stream_flag == FALSE) { -- sprintf(tmperr, -+ snprintf(tmperr, ERRWIDTH, - _ - ("File %s was NOT encrypted successfully.\n"), - einfile); diff --git a/package/mcrypt/mcrypt-no-rpath.patch b/package/mcrypt/mcrypt-no-rpath.patch deleted file mode 100644 index a0813bcf00..0000000000 --- a/package/mcrypt/mcrypt-no-rpath.patch +++ /dev/null @@ -1,17 +0,0 @@ -Patch out rpath hardcoding since it completely ignores --disable-rpath -and other configure ways. - -Signed-off-by: Gustavo Zacarias - -diff -Nura mcrypt-2.6.8.orig/config.rpath mcrypt-2.6.8/config.rpath ---- mcrypt-2.6.8.orig/config.rpath 2013-01-07 13:05:22.626883480 -0300 -+++ mcrypt-2.6.8/config.rpath 2013-01-07 13:12:47.196090608 -0300 -@@ -153,7 +153,7 @@ - # here allows them to be overridden if necessary. - # Unlike libtool, we use -rpath here, not --rpath, since the documented - # option of GNU ld is called -rpath, not --rpath. -- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' -+ hardcode_libdir_flag_spec= - case "$host_os" in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken diff --git a/package/mdadm/0010-add-install-targets-for-mdadm-and-mdmon.patch b/package/mdadm/0010-add-install-targets-for-mdadm-and-mdmon.patch new file mode 100644 index 0000000000..15df7557e7 --- /dev/null +++ b/package/mdadm/0010-add-install-targets-for-mdadm-and-mdmon.patch @@ -0,0 +1,32 @@ +From a1a9243671b1e23123f57e879890325154b8e00d Mon Sep 17 00:00:00 2001 +From: Christophe Vu-Brugier +Date: Wed, 6 Mar 2013 16:03:14 +0100 +Subject: [PATCH] Add install targets for mdadm and mdmon + + +Signed-off-by: Christophe Vu-Brugier +--- + Makefile | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 315455b..27d8eeb 100644 +--- a/Makefile ++++ b/Makefile +@@ -231,8 +231,12 @@ $(MON_OBJS) : $(INCL) mdmon.h + sha1.o : sha1.c sha1.h md5.h + $(CC) $(CFLAGS) -DHAVE_STDINT_H -o sha1.o -c sha1.c + +-install : mdadm mdmon install-man install-udev ++install : install-mdadm install-mdmon install-man install-udev ++ ++install-mdadm : + $(INSTALL) -D $(STRIP) -m 755 mdadm $(DESTDIR)$(BINDIR)/mdadm ++ ++install-mdmon : + $(INSTALL) -D $(STRIP) -m 755 mdmon $(DESTDIR)$(BINDIR)/mdmon + + install-static : mdadm.static install-man +-- +1.7.10.4 + diff --git a/package/mdadm/0020-uclibc-dont-force-largefile.patch b/package/mdadm/0020-uclibc-dont-force-largefile.patch new file mode 100644 index 0000000000..fe3ab47d3c --- /dev/null +++ b/package/mdadm/0020-uclibc-dont-force-largefile.patch @@ -0,0 +1,27 @@ +[PATCH] mdadm: don't enable largefile support unconditionally on uClibc + +uClibc can be compiled without largefile support (and errors out if +_FILE_OFFSET_BITS is set to 64), so don't define it if that combination +is detected. + +Signed-off-by: Peter Korsgaard +--- + mdadm.h | 4 ++++ + 1 file changed, 4 insertions(+) + +Index: mdadm-3.2.6/mdadm.h +=================================================================== +--- mdadm-3.2.6.orig/mdadm.h ++++ mdadm-3.2.6/mdadm.h +@@ -23,7 +23,11 @@ + */ + + #define _GNU_SOURCE ++#include ++/* uclibc without largefile support #errors on _FILE_OFFSET_BITS=64 */ ++#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_LFS__)) + #define _FILE_OFFSET_BITS 64 ++#endif + #include + #if !defined(__dietlibc__) && !defined(__KLIBC__) + extern __off64_t lseek64 __P ((int __fd, __off64_t __offset, int __whence)); diff --git a/package/mdadm/0030-uclibc-redefine-off64_t-as-off_t-if-no-largefile.patch b/package/mdadm/0030-uclibc-redefine-off64_t-as-off_t-if-no-largefile.patch new file mode 100644 index 0000000000..d958ab800a --- /dev/null +++ b/package/mdadm/0030-uclibc-redefine-off64_t-as-off_t-if-no-largefile.patch @@ -0,0 +1,27 @@ +From 9c63360a2db71882cc548305774ce87af5f52b6e Mon Sep 17 00:00:00 2001 +From: Christophe Vu-Brugier +Date: Thu, 7 Mar 2013 10:37:09 +0100 +Subject: [PATCH] uClibc: redefine off64_t as off_t if largefile support is + disabled + + +Signed-off-by: Christophe Vu-Brugier +--- + mdadm.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/mdadm.h b/mdadm.h +index 216c31d..1c72cc4 100644 +--- a/mdadm.h ++++ b/mdadm.h +@@ -1008,6 +1008,7 @@ struct stat64; + # include + # ifndef __UCLIBC_HAS_LFS__ + # define lseek64 lseek ++# define off64_t off_t + # endif + # ifndef __UCLIBC_HAS_FTW__ + # undef HAVE_FTW +-- +1.7.10.4 + diff --git a/package/mdadm/mdadm-010-add-install-targets-for-mdadm-and-mdmon.patch b/package/mdadm/mdadm-010-add-install-targets-for-mdadm-and-mdmon.patch deleted file mode 100644 index 15df7557e7..0000000000 --- a/package/mdadm/mdadm-010-add-install-targets-for-mdadm-and-mdmon.patch +++ /dev/null @@ -1,32 +0,0 @@ -From a1a9243671b1e23123f57e879890325154b8e00d Mon Sep 17 00:00:00 2001 -From: Christophe Vu-Brugier -Date: Wed, 6 Mar 2013 16:03:14 +0100 -Subject: [PATCH] Add install targets for mdadm and mdmon - - -Signed-off-by: Christophe Vu-Brugier ---- - Makefile | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 315455b..27d8eeb 100644 ---- a/Makefile -+++ b/Makefile -@@ -231,8 +231,12 @@ $(MON_OBJS) : $(INCL) mdmon.h - sha1.o : sha1.c sha1.h md5.h - $(CC) $(CFLAGS) -DHAVE_STDINT_H -o sha1.o -c sha1.c - --install : mdadm mdmon install-man install-udev -+install : install-mdadm install-mdmon install-man install-udev -+ -+install-mdadm : - $(INSTALL) -D $(STRIP) -m 755 mdadm $(DESTDIR)$(BINDIR)/mdadm -+ -+install-mdmon : - $(INSTALL) -D $(STRIP) -m 755 mdmon $(DESTDIR)$(BINDIR)/mdmon - - install-static : mdadm.static install-man --- -1.7.10.4 - diff --git a/package/mdadm/mdadm-020-uclibc-dont-force-largefile.patch b/package/mdadm/mdadm-020-uclibc-dont-force-largefile.patch deleted file mode 100644 index fe3ab47d3c..0000000000 --- a/package/mdadm/mdadm-020-uclibc-dont-force-largefile.patch +++ /dev/null @@ -1,27 +0,0 @@ -[PATCH] mdadm: don't enable largefile support unconditionally on uClibc - -uClibc can be compiled without largefile support (and errors out if -_FILE_OFFSET_BITS is set to 64), so don't define it if that combination -is detected. - -Signed-off-by: Peter Korsgaard ---- - mdadm.h | 4 ++++ - 1 file changed, 4 insertions(+) - -Index: mdadm-3.2.6/mdadm.h -=================================================================== ---- mdadm-3.2.6.orig/mdadm.h -+++ mdadm-3.2.6/mdadm.h -@@ -23,7 +23,11 @@ - */ - - #define _GNU_SOURCE -+#include -+/* uclibc without largefile support #errors on _FILE_OFFSET_BITS=64 */ -+#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_LFS__)) - #define _FILE_OFFSET_BITS 64 -+#endif - #include - #if !defined(__dietlibc__) && !defined(__KLIBC__) - extern __off64_t lseek64 __P ((int __fd, __off64_t __offset, int __whence)); diff --git a/package/mdadm/mdadm-030-uclibc-redefine-off64_t-as-off_t-if-no-largefile.patch b/package/mdadm/mdadm-030-uclibc-redefine-off64_t-as-off_t-if-no-largefile.patch deleted file mode 100644 index d958ab800a..0000000000 --- a/package/mdadm/mdadm-030-uclibc-redefine-off64_t-as-off_t-if-no-largefile.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 9c63360a2db71882cc548305774ce87af5f52b6e Mon Sep 17 00:00:00 2001 -From: Christophe Vu-Brugier -Date: Thu, 7 Mar 2013 10:37:09 +0100 -Subject: [PATCH] uClibc: redefine off64_t as off_t if largefile support is - disabled - - -Signed-off-by: Christophe Vu-Brugier ---- - mdadm.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/mdadm.h b/mdadm.h -index 216c31d..1c72cc4 100644 ---- a/mdadm.h -+++ b/mdadm.h -@@ -1008,6 +1008,7 @@ struct stat64; - # include - # ifndef __UCLIBC_HAS_LFS__ - # define lseek64 lseek -+# define off64_t off_t - # endif - # ifndef __UCLIBC_HAS_FTW__ - # undef HAVE_FTW --- -1.7.10.4 - diff --git a/package/media-ctl/0001-add-kernel-headers-for-compatibility-with-old-toolchains.patch b/package/media-ctl/0001-add-kernel-headers-for-compatibility-with-old-toolchains.patch new file mode 100644 index 0000000000..17b52ced73 --- /dev/null +++ b/package/media-ctl/0001-add-kernel-headers-for-compatibility-with-old-toolchains.patch @@ -0,0 +1,303 @@ +From 480b9effa08541b5df369dd6516013282cf28bd8 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 6 Oct 2013 17:24:04 +0200 +Subject: [PATCH] Add kernel headers for compatibility with old toolchains + +The media controller mechanism is relatively new in the Linux kernel, +and therefore all toolchains don't yet have the necessary +headers. This patch makes sure that media-ctl provides such headers, +as was already the case with v4l2-common.h, v4l2-subdev.h and +videodev2.h. + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 6 +-- + src/linux/media.h | 132 ++++++++++++++++++++++++++++++++++++++++++++++ + src/linux/v4l2-mediabus.h | 119 +++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 252 insertions(+), 5 deletions(-) + create mode 100644 src/linux/media.h + create mode 100644 src/linux/v4l2-mediabus.h + +diff --git a/configure.ac b/configure.ac +index a749794..56eb71f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -51,11 +51,7 @@ AC_ARG_WITH(kernel-headers, + CPPFLAGS="$CPPFLAGS -I$KERNEL_HEADERS_DIR/include" + + # Checks for header files. +-AC_CHECK_HEADERS([linux/media.h \ +- linux/types.h \ +- linux/v4l2-mediabus.h \ +- linux/v4l2-subdev.h \ +- linux/videodev2.h], ++AC_CHECK_HEADERS([linux/types.h], + [], + [echo "ERROR: Kernel header file not found or not usable!"; exit 1]) + +diff --git a/src/linux/media.h b/src/linux/media.h +new file mode 100644 +index 0000000..410e7cc +--- /dev/null ++++ b/src/linux/media.h +@@ -0,0 +1,132 @@ ++/* ++ * Multimedia device API ++ * ++ * Copyright (C) 2010 Nokia Corporation ++ * ++ * Contacts: Laurent Pinchart ++ * Sakari Ailus ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ */ ++ ++#ifndef __LINUX_MEDIA_H ++#define __LINUX_MEDIA_H ++ ++#include ++#include ++#include ++ ++#define MEDIA_API_VERSION KERNEL_VERSION(0, 1, 0) ++ ++struct media_device_info { ++ char driver[16]; ++ char model[32]; ++ char serial[40]; ++ char bus_info[32]; ++ __u32 media_version; ++ __u32 hw_revision; ++ __u32 driver_version; ++ __u32 reserved[31]; ++}; ++ ++#define MEDIA_ENT_ID_FLAG_NEXT (1 << 31) ++ ++#define MEDIA_ENT_TYPE_SHIFT 16 ++#define MEDIA_ENT_TYPE_MASK 0x00ff0000 ++#define MEDIA_ENT_SUBTYPE_MASK 0x0000ffff ++ ++#define MEDIA_ENT_T_DEVNODE (1 << MEDIA_ENT_TYPE_SHIFT) ++#define MEDIA_ENT_T_DEVNODE_V4L (MEDIA_ENT_T_DEVNODE + 1) ++#define MEDIA_ENT_T_DEVNODE_FB (MEDIA_ENT_T_DEVNODE + 2) ++#define MEDIA_ENT_T_DEVNODE_ALSA (MEDIA_ENT_T_DEVNODE + 3) ++#define MEDIA_ENT_T_DEVNODE_DVB (MEDIA_ENT_T_DEVNODE + 4) ++ ++#define MEDIA_ENT_T_V4L2_SUBDEV (2 << MEDIA_ENT_TYPE_SHIFT) ++#define MEDIA_ENT_T_V4L2_SUBDEV_SENSOR (MEDIA_ENT_T_V4L2_SUBDEV + 1) ++#define MEDIA_ENT_T_V4L2_SUBDEV_FLASH (MEDIA_ENT_T_V4L2_SUBDEV + 2) ++#define MEDIA_ENT_T_V4L2_SUBDEV_LENS (MEDIA_ENT_T_V4L2_SUBDEV + 3) ++ ++#define MEDIA_ENT_FL_DEFAULT (1 << 0) ++ ++struct media_entity_desc { ++ __u32 id; ++ char name[32]; ++ __u32 type; ++ __u32 revision; ++ __u32 flags; ++ __u32 group_id; ++ __u16 pads; ++ __u16 links; ++ ++ __u32 reserved[4]; ++ ++ union { ++ /* Node specifications */ ++ struct { ++ __u32 major; ++ __u32 minor; ++ } v4l; ++ struct { ++ __u32 major; ++ __u32 minor; ++ } fb; ++ struct { ++ __u32 card; ++ __u32 device; ++ __u32 subdevice; ++ } alsa; ++ int dvb; ++ ++ /* Sub-device specifications */ ++ /* Nothing needed yet */ ++ __u8 raw[184]; ++ }; ++}; ++ ++#define MEDIA_PAD_FL_SINK (1 << 0) ++#define MEDIA_PAD_FL_SOURCE (1 << 1) ++ ++struct media_pad_desc { ++ __u32 entity; /* entity ID */ ++ __u16 index; /* pad index */ ++ __u32 flags; /* pad flags */ ++ __u32 reserved[2]; ++}; ++ ++#define MEDIA_LNK_FL_ENABLED (1 << 0) ++#define MEDIA_LNK_FL_IMMUTABLE (1 << 1) ++#define MEDIA_LNK_FL_DYNAMIC (1 << 2) ++ ++struct media_link_desc { ++ struct media_pad_desc source; ++ struct media_pad_desc sink; ++ __u32 flags; ++ __u32 reserved[2]; ++}; ++ ++struct media_links_enum { ++ __u32 entity; ++ /* Should have enough room for pads elements */ ++ struct media_pad_desc *pads; ++ /* Should have enough room for links elements */ ++ struct media_link_desc *links; ++ __u32 reserved[4]; ++}; ++ ++#define MEDIA_IOC_DEVICE_INFO _IOWR('|', 0x00, struct media_device_info) ++#define MEDIA_IOC_ENUM_ENTITIES _IOWR('|', 0x01, struct media_entity_desc) ++#define MEDIA_IOC_ENUM_LINKS _IOWR('|', 0x02, struct media_links_enum) ++#define MEDIA_IOC_SETUP_LINK _IOWR('|', 0x03, struct media_link_desc) ++ ++#endif /* __LINUX_MEDIA_H */ +diff --git a/src/linux/v4l2-mediabus.h b/src/linux/v4l2-mediabus.h +new file mode 100644 +index 0000000..7d64e0e +--- /dev/null ++++ b/src/linux/v4l2-mediabus.h +@@ -0,0 +1,119 @@ ++/* ++ * Media Bus API header ++ * ++ * Copyright (C) 2009, Guennadi Liakhovetski ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ */ ++ ++#ifndef __LINUX_V4L2_MEDIABUS_H ++#define __LINUX_V4L2_MEDIABUS_H ++ ++#include ++#include ++ ++/* ++ * These pixel codes uniquely identify data formats on the media bus. Mostly ++ * they correspond to similarly named V4L2_PIX_FMT_* formats, format 0 is ++ * reserved, V4L2_MBUS_FMT_FIXED shall be used by host-client pairs, where the ++ * data format is fixed. Additionally, "2X8" means that one pixel is transferred ++ * in two 8-bit samples, "BE" or "LE" specify in which order those samples are ++ * transferred over the bus: "LE" means that the least significant bits are ++ * transferred first, "BE" means that the most significant bits are transferred ++ * first, and "PADHI" and "PADLO" define which bits - low or high, in the ++ * incomplete high byte, are filled with padding bits. ++ * ++ * The pixel codes are grouped by type, bus_width, bits per component, samples ++ * per pixel and order of subsamples. Numerical values are sorted using generic ++ * numerical sort order (8 thus comes before 10). ++ * ++ * As their value can't change when a new pixel code is inserted in the ++ * enumeration, the pixel codes are explicitly given a numerical value. The next ++ * free values for each category are listed below, update them when inserting ++ * new pixel codes. ++ */ ++enum v4l2_mbus_pixelcode { ++ V4L2_MBUS_FMT_FIXED = 0x0001, ++ ++ /* RGB - next is 0x1009 */ ++ V4L2_MBUS_FMT_RGB444_2X8_PADHI_BE = 0x1001, ++ V4L2_MBUS_FMT_RGB444_2X8_PADHI_LE = 0x1002, ++ V4L2_MBUS_FMT_RGB555_2X8_PADHI_BE = 0x1003, ++ V4L2_MBUS_FMT_RGB555_2X8_PADHI_LE = 0x1004, ++ V4L2_MBUS_FMT_BGR565_2X8_BE = 0x1005, ++ V4L2_MBUS_FMT_BGR565_2X8_LE = 0x1006, ++ V4L2_MBUS_FMT_RGB565_2X8_BE = 0x1007, ++ V4L2_MBUS_FMT_RGB565_2X8_LE = 0x1008, ++ ++ /* YUV (including grey) - next is 0x2014 */ ++ V4L2_MBUS_FMT_Y8_1X8 = 0x2001, ++ V4L2_MBUS_FMT_UYVY8_1_5X8 = 0x2002, ++ V4L2_MBUS_FMT_VYUY8_1_5X8 = 0x2003, ++ V4L2_MBUS_FMT_YUYV8_1_5X8 = 0x2004, ++ V4L2_MBUS_FMT_YVYU8_1_5X8 = 0x2005, ++ V4L2_MBUS_FMT_UYVY8_2X8 = 0x2006, ++ V4L2_MBUS_FMT_VYUY8_2X8 = 0x2007, ++ V4L2_MBUS_FMT_YUYV8_2X8 = 0x2008, ++ V4L2_MBUS_FMT_YVYU8_2X8 = 0x2009, ++ V4L2_MBUS_FMT_Y10_1X10 = 0x200a, ++ V4L2_MBUS_FMT_YUYV10_2X10 = 0x200b, ++ V4L2_MBUS_FMT_YVYU10_2X10 = 0x200c, ++ V4L2_MBUS_FMT_Y12_1X12 = 0x2013, ++ V4L2_MBUS_FMT_UYVY8_1X16 = 0x200f, ++ V4L2_MBUS_FMT_VYUY8_1X16 = 0x2010, ++ V4L2_MBUS_FMT_YUYV8_1X16 = 0x2011, ++ V4L2_MBUS_FMT_YVYU8_1X16 = 0x2012, ++ V4L2_MBUS_FMT_YUYV10_1X20 = 0x200d, ++ V4L2_MBUS_FMT_YVYU10_1X20 = 0x200e, ++ ++ /* Bayer - next is 0x3015 */ ++ V4L2_MBUS_FMT_SBGGR8_1X8 = 0x3001, ++ V4L2_MBUS_FMT_SGBRG8_1X8 = 0x3013, ++ V4L2_MBUS_FMT_SGRBG8_1X8 = 0x3002, ++ V4L2_MBUS_FMT_SRGGB8_1X8 = 0x3014, ++ V4L2_MBUS_FMT_SBGGR10_DPCM8_1X8 = 0x300b, ++ V4L2_MBUS_FMT_SGBRG10_DPCM8_1X8 = 0x300c, ++ V4L2_MBUS_FMT_SGRBG10_DPCM8_1X8 = 0x3009, ++ V4L2_MBUS_FMT_SRGGB10_DPCM8_1X8 = 0x300d, ++ V4L2_MBUS_FMT_SBGGR10_2X8_PADHI_BE = 0x3003, ++ V4L2_MBUS_FMT_SBGGR10_2X8_PADHI_LE = 0x3004, ++ V4L2_MBUS_FMT_SBGGR10_2X8_PADLO_BE = 0x3005, ++ V4L2_MBUS_FMT_SBGGR10_2X8_PADLO_LE = 0x3006, ++ V4L2_MBUS_FMT_SBGGR10_1X10 = 0x3007, ++ V4L2_MBUS_FMT_SGBRG10_1X10 = 0x300e, ++ V4L2_MBUS_FMT_SGRBG10_1X10 = 0x300a, ++ V4L2_MBUS_FMT_SRGGB10_1X10 = 0x300f, ++ V4L2_MBUS_FMT_SBGGR12_1X12 = 0x3008, ++ V4L2_MBUS_FMT_SGBRG12_1X12 = 0x3010, ++ V4L2_MBUS_FMT_SGRBG12_1X12 = 0x3011, ++ V4L2_MBUS_FMT_SRGGB12_1X12 = 0x3012, ++ ++ /* JPEG compressed formats - next is 0x4002 */ ++ V4L2_MBUS_FMT_JPEG_1X8 = 0x4001, ++ ++ /* Vendor specific formats - next is 0x5002 */ ++ ++ /* S5C73M3 sensor specific interleaved UYVY and JPEG */ ++ V4L2_MBUS_FMT_S5C_UYVY_JPEG_1X8 = 0x5001, ++}; ++ ++/** ++ * struct v4l2_mbus_framefmt - frame format on the media bus ++ * @width: frame width ++ * @height: frame height ++ * @code: data format code (from enum v4l2_mbus_pixelcode) ++ * @field: used interlacing type (from enum v4l2_field) ++ * @colorspace: colorspace of the data (from enum v4l2_colorspace) ++ */ ++struct v4l2_mbus_framefmt { ++ __u32 width; ++ __u32 height; ++ __u32 code; ++ __u32 field; ++ __u32 colorspace; ++ __u32 reserved[7]; ++}; ++ ++#endif +-- +1.8.1.2 + diff --git a/package/media-ctl/media-ctl-0001-add-kernel-headers-for-compatibility-with-old-toolchains.patch b/package/media-ctl/media-ctl-0001-add-kernel-headers-for-compatibility-with-old-toolchains.patch deleted file mode 100644 index 17b52ced73..0000000000 --- a/package/media-ctl/media-ctl-0001-add-kernel-headers-for-compatibility-with-old-toolchains.patch +++ /dev/null @@ -1,303 +0,0 @@ -From 480b9effa08541b5df369dd6516013282cf28bd8 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 6 Oct 2013 17:24:04 +0200 -Subject: [PATCH] Add kernel headers for compatibility with old toolchains - -The media controller mechanism is relatively new in the Linux kernel, -and therefore all toolchains don't yet have the necessary -headers. This patch makes sure that media-ctl provides such headers, -as was already the case with v4l2-common.h, v4l2-subdev.h and -videodev2.h. - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 6 +-- - src/linux/media.h | 132 ++++++++++++++++++++++++++++++++++++++++++++++ - src/linux/v4l2-mediabus.h | 119 +++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 252 insertions(+), 5 deletions(-) - create mode 100644 src/linux/media.h - create mode 100644 src/linux/v4l2-mediabus.h - -diff --git a/configure.ac b/configure.ac -index a749794..56eb71f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -51,11 +51,7 @@ AC_ARG_WITH(kernel-headers, - CPPFLAGS="$CPPFLAGS -I$KERNEL_HEADERS_DIR/include" - - # Checks for header files. --AC_CHECK_HEADERS([linux/media.h \ -- linux/types.h \ -- linux/v4l2-mediabus.h \ -- linux/v4l2-subdev.h \ -- linux/videodev2.h], -+AC_CHECK_HEADERS([linux/types.h], - [], - [echo "ERROR: Kernel header file not found or not usable!"; exit 1]) - -diff --git a/src/linux/media.h b/src/linux/media.h -new file mode 100644 -index 0000000..410e7cc ---- /dev/null -+++ b/src/linux/media.h -@@ -0,0 +1,132 @@ -+/* -+ * Multimedia device API -+ * -+ * Copyright (C) 2010 Nokia Corporation -+ * -+ * Contacts: Laurent Pinchart -+ * Sakari Ailus -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -+ */ -+ -+#ifndef __LINUX_MEDIA_H -+#define __LINUX_MEDIA_H -+ -+#include -+#include -+#include -+ -+#define MEDIA_API_VERSION KERNEL_VERSION(0, 1, 0) -+ -+struct media_device_info { -+ char driver[16]; -+ char model[32]; -+ char serial[40]; -+ char bus_info[32]; -+ __u32 media_version; -+ __u32 hw_revision; -+ __u32 driver_version; -+ __u32 reserved[31]; -+}; -+ -+#define MEDIA_ENT_ID_FLAG_NEXT (1 << 31) -+ -+#define MEDIA_ENT_TYPE_SHIFT 16 -+#define MEDIA_ENT_TYPE_MASK 0x00ff0000 -+#define MEDIA_ENT_SUBTYPE_MASK 0x0000ffff -+ -+#define MEDIA_ENT_T_DEVNODE (1 << MEDIA_ENT_TYPE_SHIFT) -+#define MEDIA_ENT_T_DEVNODE_V4L (MEDIA_ENT_T_DEVNODE + 1) -+#define MEDIA_ENT_T_DEVNODE_FB (MEDIA_ENT_T_DEVNODE + 2) -+#define MEDIA_ENT_T_DEVNODE_ALSA (MEDIA_ENT_T_DEVNODE + 3) -+#define MEDIA_ENT_T_DEVNODE_DVB (MEDIA_ENT_T_DEVNODE + 4) -+ -+#define MEDIA_ENT_T_V4L2_SUBDEV (2 << MEDIA_ENT_TYPE_SHIFT) -+#define MEDIA_ENT_T_V4L2_SUBDEV_SENSOR (MEDIA_ENT_T_V4L2_SUBDEV + 1) -+#define MEDIA_ENT_T_V4L2_SUBDEV_FLASH (MEDIA_ENT_T_V4L2_SUBDEV + 2) -+#define MEDIA_ENT_T_V4L2_SUBDEV_LENS (MEDIA_ENT_T_V4L2_SUBDEV + 3) -+ -+#define MEDIA_ENT_FL_DEFAULT (1 << 0) -+ -+struct media_entity_desc { -+ __u32 id; -+ char name[32]; -+ __u32 type; -+ __u32 revision; -+ __u32 flags; -+ __u32 group_id; -+ __u16 pads; -+ __u16 links; -+ -+ __u32 reserved[4]; -+ -+ union { -+ /* Node specifications */ -+ struct { -+ __u32 major; -+ __u32 minor; -+ } v4l; -+ struct { -+ __u32 major; -+ __u32 minor; -+ } fb; -+ struct { -+ __u32 card; -+ __u32 device; -+ __u32 subdevice; -+ } alsa; -+ int dvb; -+ -+ /* Sub-device specifications */ -+ /* Nothing needed yet */ -+ __u8 raw[184]; -+ }; -+}; -+ -+#define MEDIA_PAD_FL_SINK (1 << 0) -+#define MEDIA_PAD_FL_SOURCE (1 << 1) -+ -+struct media_pad_desc { -+ __u32 entity; /* entity ID */ -+ __u16 index; /* pad index */ -+ __u32 flags; /* pad flags */ -+ __u32 reserved[2]; -+}; -+ -+#define MEDIA_LNK_FL_ENABLED (1 << 0) -+#define MEDIA_LNK_FL_IMMUTABLE (1 << 1) -+#define MEDIA_LNK_FL_DYNAMIC (1 << 2) -+ -+struct media_link_desc { -+ struct media_pad_desc source; -+ struct media_pad_desc sink; -+ __u32 flags; -+ __u32 reserved[2]; -+}; -+ -+struct media_links_enum { -+ __u32 entity; -+ /* Should have enough room for pads elements */ -+ struct media_pad_desc *pads; -+ /* Should have enough room for links elements */ -+ struct media_link_desc *links; -+ __u32 reserved[4]; -+}; -+ -+#define MEDIA_IOC_DEVICE_INFO _IOWR('|', 0x00, struct media_device_info) -+#define MEDIA_IOC_ENUM_ENTITIES _IOWR('|', 0x01, struct media_entity_desc) -+#define MEDIA_IOC_ENUM_LINKS _IOWR('|', 0x02, struct media_links_enum) -+#define MEDIA_IOC_SETUP_LINK _IOWR('|', 0x03, struct media_link_desc) -+ -+#endif /* __LINUX_MEDIA_H */ -diff --git a/src/linux/v4l2-mediabus.h b/src/linux/v4l2-mediabus.h -new file mode 100644 -index 0000000..7d64e0e ---- /dev/null -+++ b/src/linux/v4l2-mediabus.h -@@ -0,0 +1,119 @@ -+/* -+ * Media Bus API header -+ * -+ * Copyright (C) 2009, Guennadi Liakhovetski -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation. -+ */ -+ -+#ifndef __LINUX_V4L2_MEDIABUS_H -+#define __LINUX_V4L2_MEDIABUS_H -+ -+#include -+#include -+ -+/* -+ * These pixel codes uniquely identify data formats on the media bus. Mostly -+ * they correspond to similarly named V4L2_PIX_FMT_* formats, format 0 is -+ * reserved, V4L2_MBUS_FMT_FIXED shall be used by host-client pairs, where the -+ * data format is fixed. Additionally, "2X8" means that one pixel is transferred -+ * in two 8-bit samples, "BE" or "LE" specify in which order those samples are -+ * transferred over the bus: "LE" means that the least significant bits are -+ * transferred first, "BE" means that the most significant bits are transferred -+ * first, and "PADHI" and "PADLO" define which bits - low or high, in the -+ * incomplete high byte, are filled with padding bits. -+ * -+ * The pixel codes are grouped by type, bus_width, bits per component, samples -+ * per pixel and order of subsamples. Numerical values are sorted using generic -+ * numerical sort order (8 thus comes before 10). -+ * -+ * As their value can't change when a new pixel code is inserted in the -+ * enumeration, the pixel codes are explicitly given a numerical value. The next -+ * free values for each category are listed below, update them when inserting -+ * new pixel codes. -+ */ -+enum v4l2_mbus_pixelcode { -+ V4L2_MBUS_FMT_FIXED = 0x0001, -+ -+ /* RGB - next is 0x1009 */ -+ V4L2_MBUS_FMT_RGB444_2X8_PADHI_BE = 0x1001, -+ V4L2_MBUS_FMT_RGB444_2X8_PADHI_LE = 0x1002, -+ V4L2_MBUS_FMT_RGB555_2X8_PADHI_BE = 0x1003, -+ V4L2_MBUS_FMT_RGB555_2X8_PADHI_LE = 0x1004, -+ V4L2_MBUS_FMT_BGR565_2X8_BE = 0x1005, -+ V4L2_MBUS_FMT_BGR565_2X8_LE = 0x1006, -+ V4L2_MBUS_FMT_RGB565_2X8_BE = 0x1007, -+ V4L2_MBUS_FMT_RGB565_2X8_LE = 0x1008, -+ -+ /* YUV (including grey) - next is 0x2014 */ -+ V4L2_MBUS_FMT_Y8_1X8 = 0x2001, -+ V4L2_MBUS_FMT_UYVY8_1_5X8 = 0x2002, -+ V4L2_MBUS_FMT_VYUY8_1_5X8 = 0x2003, -+ V4L2_MBUS_FMT_YUYV8_1_5X8 = 0x2004, -+ V4L2_MBUS_FMT_YVYU8_1_5X8 = 0x2005, -+ V4L2_MBUS_FMT_UYVY8_2X8 = 0x2006, -+ V4L2_MBUS_FMT_VYUY8_2X8 = 0x2007, -+ V4L2_MBUS_FMT_YUYV8_2X8 = 0x2008, -+ V4L2_MBUS_FMT_YVYU8_2X8 = 0x2009, -+ V4L2_MBUS_FMT_Y10_1X10 = 0x200a, -+ V4L2_MBUS_FMT_YUYV10_2X10 = 0x200b, -+ V4L2_MBUS_FMT_YVYU10_2X10 = 0x200c, -+ V4L2_MBUS_FMT_Y12_1X12 = 0x2013, -+ V4L2_MBUS_FMT_UYVY8_1X16 = 0x200f, -+ V4L2_MBUS_FMT_VYUY8_1X16 = 0x2010, -+ V4L2_MBUS_FMT_YUYV8_1X16 = 0x2011, -+ V4L2_MBUS_FMT_YVYU8_1X16 = 0x2012, -+ V4L2_MBUS_FMT_YUYV10_1X20 = 0x200d, -+ V4L2_MBUS_FMT_YVYU10_1X20 = 0x200e, -+ -+ /* Bayer - next is 0x3015 */ -+ V4L2_MBUS_FMT_SBGGR8_1X8 = 0x3001, -+ V4L2_MBUS_FMT_SGBRG8_1X8 = 0x3013, -+ V4L2_MBUS_FMT_SGRBG8_1X8 = 0x3002, -+ V4L2_MBUS_FMT_SRGGB8_1X8 = 0x3014, -+ V4L2_MBUS_FMT_SBGGR10_DPCM8_1X8 = 0x300b, -+ V4L2_MBUS_FMT_SGBRG10_DPCM8_1X8 = 0x300c, -+ V4L2_MBUS_FMT_SGRBG10_DPCM8_1X8 = 0x3009, -+ V4L2_MBUS_FMT_SRGGB10_DPCM8_1X8 = 0x300d, -+ V4L2_MBUS_FMT_SBGGR10_2X8_PADHI_BE = 0x3003, -+ V4L2_MBUS_FMT_SBGGR10_2X8_PADHI_LE = 0x3004, -+ V4L2_MBUS_FMT_SBGGR10_2X8_PADLO_BE = 0x3005, -+ V4L2_MBUS_FMT_SBGGR10_2X8_PADLO_LE = 0x3006, -+ V4L2_MBUS_FMT_SBGGR10_1X10 = 0x3007, -+ V4L2_MBUS_FMT_SGBRG10_1X10 = 0x300e, -+ V4L2_MBUS_FMT_SGRBG10_1X10 = 0x300a, -+ V4L2_MBUS_FMT_SRGGB10_1X10 = 0x300f, -+ V4L2_MBUS_FMT_SBGGR12_1X12 = 0x3008, -+ V4L2_MBUS_FMT_SGBRG12_1X12 = 0x3010, -+ V4L2_MBUS_FMT_SGRBG12_1X12 = 0x3011, -+ V4L2_MBUS_FMT_SRGGB12_1X12 = 0x3012, -+ -+ /* JPEG compressed formats - next is 0x4002 */ -+ V4L2_MBUS_FMT_JPEG_1X8 = 0x4001, -+ -+ /* Vendor specific formats - next is 0x5002 */ -+ -+ /* S5C73M3 sensor specific interleaved UYVY and JPEG */ -+ V4L2_MBUS_FMT_S5C_UYVY_JPEG_1X8 = 0x5001, -+}; -+ -+/** -+ * struct v4l2_mbus_framefmt - frame format on the media bus -+ * @width: frame width -+ * @height: frame height -+ * @code: data format code (from enum v4l2_mbus_pixelcode) -+ * @field: used interlacing type (from enum v4l2_field) -+ * @colorspace: colorspace of the data (from enum v4l2_colorspace) -+ */ -+struct v4l2_mbus_framefmt { -+ __u32 width; -+ __u32 height; -+ __u32 code; -+ __u32 field; -+ __u32 colorspace; -+ __u32 reserved[7]; -+}; -+ -+#endif --- -1.8.1.2 - diff --git a/package/mediastreamer/0001-misc-fixes.patch b/package/mediastreamer/0001-misc-fixes.patch new file mode 100644 index 0000000000..84c99483d4 --- /dev/null +++ b/package/mediastreamer/0001-misc-fixes.patch @@ -0,0 +1,156 @@ +Fix linphone compile with newer ffmpeg versions, downloaded from +https://github.com/dankamongmen/mediastreamer2/commit/4f438eb8e132a3119284be771e0daad143597ebd + +Fixes +http://autobuild.buildroot.net/results/b72/b72b1f6287986af3d686cc3c8b9c1b3fd9419d29/ + +Signed-off-by: Bernd Kuhls + + +From 4f438eb8e132a3119284be771e0daad143597ebd Mon Sep 17 00:00:00 2001 +From: nick black +Date: Mon, 28 Jan 2013 23:54:17 -0500 +Subject: [PATCH] adapt to new libav API + +--- + src/utils/ffmpeg-priv.h | 1 + + src/videofilters/h264dec.c | 6 +++--- + src/videofilters/jpegwriter.c | 6 +++--- + src/videofilters/nowebcam.c | 6 +++--- + src/videofilters/videodec.c | 8 ++++---- + src/videofilters/videoenc.c | 6 +++--- + 6 files changed, 17 insertions(+), 16 deletions(-) + +diff --git a/src/utils/ffmpeg-priv.h b/src/utils/ffmpeg-priv.h +index 0eab098..a405c05 100644 +--- a/src/utils/ffmpeg-priv.h ++++ b/src/utils/ffmpeg-priv.h +@@ -35,6 +35,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + /* new layout */ + # include + # include ++# include + #else + /* old layout */ + # include +diff --git a/src/videofilters/h264dec.c b/src/videofilters/h264dec.c +index 5229b5e..7059634 100644 +--- a/src/videofilters/h264dec.c ++++ b/src/videofilters/h264dec.c +@@ -58,10 +58,10 @@ static void dec_open(DecData *d){ + int error; + codec=avcodec_find_decoder(CODEC_ID_H264); + if (codec==NULL) ms_fatal("Could not find H264 decoder in ffmpeg."); +- avcodec_get_context_defaults(&d->av_context); +- error=avcodec_open(&d->av_context,codec); ++ avcodec_get_context_defaults3(&d->av_context, codec); ++ error=avcodec_open2(&d->av_context,codec, NULL); + if (error!=0){ +- ms_fatal("avcodec_open() failed."); ++ ms_fatal("avcodec_open2() failed."); + } + } + +diff --git a/src/videofilters/jpegwriter.c b/src/videofilters/jpegwriter.c +index cca79c5..daf3cdb 100644 +--- a/src/videofilters/jpegwriter.c ++++ b/src/videofilters/jpegwriter.c +@@ -90,7 +90,7 @@ static void jpg_process(MSFilter *f){ + mblk_t *jpegm; + struct SwsContext *sws_ctx; + +- AVCodecContext *avctx=avcodec_alloc_context(); ++ AVCodecContext *avctx=avcodec_alloc_context3(NULL); + + avctx->width=yuvbuf.w; + avctx->height=yuvbuf.h; +@@ -98,9 +98,9 @@ static void jpg_process(MSFilter *f){ + avctx->time_base.den =1; + avctx->pix_fmt=PIX_FMT_YUVJ420P; + +- error=avcodec_open(avctx,s->codec); ++ error=avcodec_open2(avctx,s->codec,NULL); + if (error!=0) { +- ms_error("avcodec_open() failed: %i",error); ++ ms_error("avcodec_open2() failed: %i",error); + cleanup(s,NULL); + av_free(avctx); + return; +diff --git a/src/videofilters/nowebcam.c b/src/videofilters/nowebcam.c +index f1c10de..b45f89f 100644 +--- a/src/videofilters/nowebcam.c ++++ b/src/videofilters/nowebcam.c +@@ -68,9 +68,9 @@ static mblk_t *jpeg2yuv(uint8_t *jpgbuf, int bufsize, MSVideoSize *reqsize){ + return NULL; + } + +- avcodec_get_context_defaults(&av_context); +- if (avcodec_open(&av_context,codec)<0){ +- ms_error("jpeg2yuv: avcodec_open failed"); ++ avcodec_get_context_defaults3(&av_context,NULL); ++ if (avcodec_open2(&av_context,codec,NULL)<0){ ++ ms_error("jpeg2yuv: avcodec_open2 failed"); + return NULL; + } + av_init_packet(&pkt); +diff --git a/src/videofilters/videodec.c b/src/videofilters/videodec.c +index 9807214..2f1b452 100644 +--- a/src/videofilters/videodec.c ++++ b/src/videofilters/videodec.c +@@ -53,7 +53,7 @@ static void dec_init(MSFilter *f, enum CodecID cid){ + DecState *s=(DecState *)ms_new0(DecState,1); + ms_ffmpeg_check_init(); + +- avcodec_get_context_defaults(&s->av_context); ++ avcodec_get_context_defaults3(&s->av_context,NULL); + s->av_codec=NULL; + s->codec=cid; + s->input=NULL; +@@ -135,7 +135,7 @@ static void dec_preprocess(MSFilter *f){ + if (s->av_context.codec==NULL){ + /* we must know picture size before initializing snow decoder*/ + if (s->codec!=CODEC_ID_SNOW){ +- error=avcodec_open(&s->av_context, s->av_codec); ++ error=avcodec_open2(&s->av_context, s->av_codec, NULL); + if (error!=0) ms_error("avcodec_open() failed: %i",error); + if (s->codec==CODEC_ID_MPEG4 && s->dci_size>0){ + s->av_context.extradata=s->dci; +@@ -225,8 +225,8 @@ static mblk_t * parse_snow_header(DecState *s,mblk_t *inm){ + int error; + s->av_context.width=h>>16; + s->av_context.height=h&0xffff; +- error=avcodec_open(&s->av_context, s->av_codec); +- if (error!=0) ms_error("avcodec_open() failed for snow: %i",error); ++ error=avcodec_open2(&s->av_context, s->av_codec, NULL); ++ if (error!=0) ms_error("avcodec_open2() failed for snow: %i",error); + else { + s->snow_initialized=TRUE; + ms_message("Snow decoder initialized,size=%ix%i", +diff --git a/src/videofilters/videoenc.c b/src/videofilters/videoenc.c +index da35592..4101772 100644 +--- a/src/videofilters/videoenc.c ++++ b/src/videofilters/videoenc.c +@@ -242,7 +242,7 @@ static void prepare(EncState *s){ + AVCodecContext *c=&s->av_context; + const int max_br_vbv=128000; + +- avcodec_get_context_defaults(c); ++ avcodec_get_context_defaults3(c,NULL); + if (s->codec==CODEC_ID_MJPEG) + { + ms_message("Codec bitrate set to %i",c->bit_rate); +@@ -348,9 +348,9 @@ static void enc_preprocess(MSFilter *f){ + ms_error("could not find encoder for codec id %i",s->codec); + return; + } +- error=avcodec_open(&s->av_context, s->av_codec); ++ error=avcodec_open2(&s->av_context, s->av_codec, NULL); + if (error!=0) { +- ms_error("avcodec_open() failed: %i",error); ++ ms_error("avcodec_open2() failed: %i",error); + return; + } + video_starter_init(&s->starter); +-- +2.0.3 + diff --git a/package/mediastreamer/mediastreamer-0001.patch b/package/mediastreamer/mediastreamer-0001.patch deleted file mode 100644 index 84c99483d4..0000000000 --- a/package/mediastreamer/mediastreamer-0001.patch +++ /dev/null @@ -1,156 +0,0 @@ -Fix linphone compile with newer ffmpeg versions, downloaded from -https://github.com/dankamongmen/mediastreamer2/commit/4f438eb8e132a3119284be771e0daad143597ebd - -Fixes -http://autobuild.buildroot.net/results/b72/b72b1f6287986af3d686cc3c8b9c1b3fd9419d29/ - -Signed-off-by: Bernd Kuhls - - -From 4f438eb8e132a3119284be771e0daad143597ebd Mon Sep 17 00:00:00 2001 -From: nick black -Date: Mon, 28 Jan 2013 23:54:17 -0500 -Subject: [PATCH] adapt to new libav API - ---- - src/utils/ffmpeg-priv.h | 1 + - src/videofilters/h264dec.c | 6 +++--- - src/videofilters/jpegwriter.c | 6 +++--- - src/videofilters/nowebcam.c | 6 +++--- - src/videofilters/videodec.c | 8 ++++---- - src/videofilters/videoenc.c | 6 +++--- - 6 files changed, 17 insertions(+), 16 deletions(-) - -diff --git a/src/utils/ffmpeg-priv.h b/src/utils/ffmpeg-priv.h -index 0eab098..a405c05 100644 ---- a/src/utils/ffmpeg-priv.h -+++ b/src/utils/ffmpeg-priv.h -@@ -35,6 +35,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - /* new layout */ - # include - # include -+# include - #else - /* old layout */ - # include -diff --git a/src/videofilters/h264dec.c b/src/videofilters/h264dec.c -index 5229b5e..7059634 100644 ---- a/src/videofilters/h264dec.c -+++ b/src/videofilters/h264dec.c -@@ -58,10 +58,10 @@ static void dec_open(DecData *d){ - int error; - codec=avcodec_find_decoder(CODEC_ID_H264); - if (codec==NULL) ms_fatal("Could not find H264 decoder in ffmpeg."); -- avcodec_get_context_defaults(&d->av_context); -- error=avcodec_open(&d->av_context,codec); -+ avcodec_get_context_defaults3(&d->av_context, codec); -+ error=avcodec_open2(&d->av_context,codec, NULL); - if (error!=0){ -- ms_fatal("avcodec_open() failed."); -+ ms_fatal("avcodec_open2() failed."); - } - } - -diff --git a/src/videofilters/jpegwriter.c b/src/videofilters/jpegwriter.c -index cca79c5..daf3cdb 100644 ---- a/src/videofilters/jpegwriter.c -+++ b/src/videofilters/jpegwriter.c -@@ -90,7 +90,7 @@ static void jpg_process(MSFilter *f){ - mblk_t *jpegm; - struct SwsContext *sws_ctx; - -- AVCodecContext *avctx=avcodec_alloc_context(); -+ AVCodecContext *avctx=avcodec_alloc_context3(NULL); - - avctx->width=yuvbuf.w; - avctx->height=yuvbuf.h; -@@ -98,9 +98,9 @@ static void jpg_process(MSFilter *f){ - avctx->time_base.den =1; - avctx->pix_fmt=PIX_FMT_YUVJ420P; - -- error=avcodec_open(avctx,s->codec); -+ error=avcodec_open2(avctx,s->codec,NULL); - if (error!=0) { -- ms_error("avcodec_open() failed: %i",error); -+ ms_error("avcodec_open2() failed: %i",error); - cleanup(s,NULL); - av_free(avctx); - return; -diff --git a/src/videofilters/nowebcam.c b/src/videofilters/nowebcam.c -index f1c10de..b45f89f 100644 ---- a/src/videofilters/nowebcam.c -+++ b/src/videofilters/nowebcam.c -@@ -68,9 +68,9 @@ static mblk_t *jpeg2yuv(uint8_t *jpgbuf, int bufsize, MSVideoSize *reqsize){ - return NULL; - } - -- avcodec_get_context_defaults(&av_context); -- if (avcodec_open(&av_context,codec)<0){ -- ms_error("jpeg2yuv: avcodec_open failed"); -+ avcodec_get_context_defaults3(&av_context,NULL); -+ if (avcodec_open2(&av_context,codec,NULL)<0){ -+ ms_error("jpeg2yuv: avcodec_open2 failed"); - return NULL; - } - av_init_packet(&pkt); -diff --git a/src/videofilters/videodec.c b/src/videofilters/videodec.c -index 9807214..2f1b452 100644 ---- a/src/videofilters/videodec.c -+++ b/src/videofilters/videodec.c -@@ -53,7 +53,7 @@ static void dec_init(MSFilter *f, enum CodecID cid){ - DecState *s=(DecState *)ms_new0(DecState,1); - ms_ffmpeg_check_init(); - -- avcodec_get_context_defaults(&s->av_context); -+ avcodec_get_context_defaults3(&s->av_context,NULL); - s->av_codec=NULL; - s->codec=cid; - s->input=NULL; -@@ -135,7 +135,7 @@ static void dec_preprocess(MSFilter *f){ - if (s->av_context.codec==NULL){ - /* we must know picture size before initializing snow decoder*/ - if (s->codec!=CODEC_ID_SNOW){ -- error=avcodec_open(&s->av_context, s->av_codec); -+ error=avcodec_open2(&s->av_context, s->av_codec, NULL); - if (error!=0) ms_error("avcodec_open() failed: %i",error); - if (s->codec==CODEC_ID_MPEG4 && s->dci_size>0){ - s->av_context.extradata=s->dci; -@@ -225,8 +225,8 @@ static mblk_t * parse_snow_header(DecState *s,mblk_t *inm){ - int error; - s->av_context.width=h>>16; - s->av_context.height=h&0xffff; -- error=avcodec_open(&s->av_context, s->av_codec); -- if (error!=0) ms_error("avcodec_open() failed for snow: %i",error); -+ error=avcodec_open2(&s->av_context, s->av_codec, NULL); -+ if (error!=0) ms_error("avcodec_open2() failed for snow: %i",error); - else { - s->snow_initialized=TRUE; - ms_message("Snow decoder initialized,size=%ix%i", -diff --git a/src/videofilters/videoenc.c b/src/videofilters/videoenc.c -index da35592..4101772 100644 ---- a/src/videofilters/videoenc.c -+++ b/src/videofilters/videoenc.c -@@ -242,7 +242,7 @@ static void prepare(EncState *s){ - AVCodecContext *c=&s->av_context; - const int max_br_vbv=128000; - -- avcodec_get_context_defaults(c); -+ avcodec_get_context_defaults3(c,NULL); - if (s->codec==CODEC_ID_MJPEG) - { - ms_message("Codec bitrate set to %i",c->bit_rate); -@@ -348,9 +348,9 @@ static void enc_preprocess(MSFilter *f){ - ms_error("could not find encoder for codec id %i",s->codec); - return; - } -- error=avcodec_open(&s->av_context, s->av_codec); -+ error=avcodec_open2(&s->av_context, s->av_codec, NULL); - if (error!=0) { -- ms_error("avcodec_open() failed: %i",error); -+ ms_error("avcodec_open2() failed: %i",error); - return; - } - video_starter_init(&s->starter); --- -2.0.3 - diff --git a/package/memstat/0001-PATH_MAX.patch b/package/memstat/0001-PATH_MAX.patch new file mode 100644 index 0000000000..0c3617a61b --- /dev/null +++ b/package/memstat/0001-PATH_MAX.patch @@ -0,0 +1,14 @@ +Add missing #include for PATH_MAX + +Signed-off-by: Maarten ter Huurne + +--- memstat-0.8.org/memstat.c 2009-06-08 14:38:05.000000000 +0200 ++++ memstat-0.8/memstat.c 2014-09-12 03:55:43.096035374 +0200 +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + + /* blacklist devices that just map physical memory */ + char *blacklist[] = { "/dev/mem", diff --git a/package/memstat/memstat-0001-PATH_MAX.patch b/package/memstat/memstat-0001-PATH_MAX.patch deleted file mode 100644 index 0c3617a61b..0000000000 --- a/package/memstat/memstat-0001-PATH_MAX.patch +++ /dev/null @@ -1,14 +0,0 @@ -Add missing #include for PATH_MAX - -Signed-off-by: Maarten ter Huurne - ---- memstat-0.8.org/memstat.c 2009-06-08 14:38:05.000000000 +0200 -+++ memstat-0.8/memstat.c 2014-09-12 03:55:43.096035374 +0200 -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - - /* blacklist devices that just map physical memory */ - char *blacklist[] = { "/dev/mem", diff --git a/package/memtester/0001-makefile-fix.patch b/package/memtester/0001-makefile-fix.patch new file mode 100644 index 0000000000..6f1481beca --- /dev/null +++ b/package/memtester/0001-makefile-fix.patch @@ -0,0 +1,23 @@ +The a/{b,c} construct doesn't work within make, so let's split the +creation of the installation directories in two commands. + +Signed-off-by: Thomas Petazzoni +--- + Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +Index: memtester-4.2.1/Makefile +=================================================================== +--- memtester-4.2.1.orig/Makefile ++++ memtester-4.2.1/Makefile +@@ -25,8 +25,9 @@ + all: memtester + + install: all +- mkdir -m 755 -p $(INSTALLPATH)/{bin,man/man8} ++ mkdir -m 755 -p $(INSTALLPATH)/bin + install -m 755 memtester $(INSTALLPATH)/bin/ ++ mkdir -m 755 -p $(INSTALLPATH)/man/man8 + gzip -c memtester.8 >memtester.8.gz ; install -m 644 memtester.8.gz $(INSTALLPATH)/man/man8/ + + auto-ccld.sh: \ diff --git a/package/memtester/memtester-makefile-fix.patch b/package/memtester/memtester-makefile-fix.patch deleted file mode 100644 index 6f1481beca..0000000000 --- a/package/memtester/memtester-makefile-fix.patch +++ /dev/null @@ -1,23 +0,0 @@ -The a/{b,c} construct doesn't work within make, so let's split the -creation of the installation directories in two commands. - -Signed-off-by: Thomas Petazzoni ---- - Makefile | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -Index: memtester-4.2.1/Makefile -=================================================================== ---- memtester-4.2.1.orig/Makefile -+++ memtester-4.2.1/Makefile -@@ -25,8 +25,9 @@ - all: memtester - - install: all -- mkdir -m 755 -p $(INSTALLPATH)/{bin,man/man8} -+ mkdir -m 755 -p $(INSTALLPATH)/bin - install -m 755 memtester $(INSTALLPATH)/bin/ -+ mkdir -m 755 -p $(INSTALLPATH)/man/man8 - gzip -c memtester.8 >memtester.8.gz ; install -m 644 memtester.8.gz $(INSTALLPATH)/man/man8/ - - auto-ccld.sh: \ diff --git a/package/metacity/0001-add-libm-reference.patch b/package/metacity/0001-add-libm-reference.patch new file mode 100644 index 0000000000..628501726a --- /dev/null +++ b/package/metacity/0001-add-libm-reference.patch @@ -0,0 +1,51 @@ +Upstream fix to link metacity itself against libm + +The upstream fix is modified to also include the changes on the +configure script directly, so that autoreconfiguring is not +needed. Autoreconfiguring cannot be done easily on metacity, due to +missing AM_GCONF_SOURCE_2 and AM_NLS macros. + +http://git.gnome.org/browse/metacity/commit/configure.in?id=9cb0b6ff520ea69bdff6c328a21787202aee1bcc + +Signed-off-by: Thomas Petazzoni + +From 9cb0b6ff520ea69bdff6c328a21787202aee1bcc Mon Sep 17 00:00:00 2001 +From: Götz Waschk +Date: Wed, 22 Oct 2008 12:08:48 +0000 +Subject: add libm reference. Closes #557357. + +2008-10-22 Götz Waschk + + * configure.in: add libm reference. Closes #557357. + + +svn path=/trunk/; revision=3984 +--- +(limited to 'configure.in') + +Index: b/configure.in +=================================================================== +--- a/configure.in ++++ b/configure.in +@@ -413,7 +413,7 @@ + AC_DEFINE(HAVE_XSYNC, , [Have the Xsync extension library]) + fi + +-METACITY_LIBS="$METACITY_LIBS $XSYNC_LIBS $RANDR_LIBS $SHAPE_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS" ++METACITY_LIBS="$METACITY_LIBS $XSYNC_LIBS $RANDR_LIBS $SHAPE_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS -lm" + METACITY_MESSAGE_LIBS="$METACITY_MESSAGE_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS" + METACITY_WINDOW_DEMO_LIBS="$METACITY_WINDOW_DEMO_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS" + METACITY_PROPS_LIBS="$METACITY_PROPS_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS" +Index: b/configure +=================================================================== +--- a/configure ++++ b/configure +@@ -29509,7 +29509,7 @@ + + fi + +-METACITY_LIBS="$METACITY_LIBS $XSYNC_LIBS $RANDR_LIBS $SHAPE_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS" ++METACITY_LIBS="$METACITY_LIBS $XSYNC_LIBS $RANDR_LIBS $SHAPE_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS -lm" + METACITY_MESSAGE_LIBS="$METACITY_MESSAGE_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS" + METACITY_WINDOW_DEMO_LIBS="$METACITY_WINDOW_DEMO_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS" + METACITY_PROPS_LIBS="$METACITY_PROPS_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS" diff --git a/package/metacity/0002-gconf.patch b/package/metacity/0002-gconf.patch new file mode 100644 index 0000000000..939ef7ef98 --- /dev/null +++ b/package/metacity/0002-gconf.patch @@ -0,0 +1,30 @@ +[PATCH] fix build with --disable-gconf + +src/core/prefs.c still contain a call to gconf_client_set_bool() when +built with --disable-gconf, breaking the build. + +Signed-off-by: Peter Korsgaard +--- + src/core/prefs.c | 2 ++ + 1 file changed, 2 insertions(+) + +Index: metacity-2.25.1/src/core/prefs.c +=================================================================== +--- metacity-2.25.1.orig/src/core/prefs.c ++++ metacity-2.25.1/src/core/prefs.c +@@ -2949,6 +2949,7 @@ + void + meta_prefs_set_compositing_manager (gboolean whether) + { ++#if HAVE_GCONF + GError *err = NULL; + + gconf_client_set_bool (default_client, +@@ -2962,6 +2963,7 @@ + err->message); + g_error_free (err); + } ++#endif + } + + #ifndef HAVE_GCONF diff --git a/package/metacity/0003-mag-add-libm-reference.patch b/package/metacity/0003-mag-add-libm-reference.patch new file mode 100644 index 0000000000..d47d807558 --- /dev/null +++ b/package/metacity/0003-mag-add-libm-reference.patch @@ -0,0 +1,45 @@ +Upstream patch to fix link against libm + +The upstream patch is modified to also include the necessary +Makefile.in, which avoids the need for autoreconfiguring the +package. Autoreconfiguring the package unfortunately doesn't work, due +to AM_GCONF_SOURCE_2 and AM_NLS macros being missing. + +http://git.gnome.org/browse/metacity/commit/src/tools/Makefile.am?id=13d0d52eb885598885b6ff4b73c795c8f29c2a6b + +Signed-off-by: Thomas Petazzoni + +From 13d0d52eb885598885b6ff4b73c795c8f29c2a6b Mon Sep 17 00:00:00 2001 +From: Matthias Clasen +Date: Sun, 02 May 2010 14:50:42 +0000 +Subject: fails to link with pedantic linkers + +--- +(limited to 'src/tools/Makefile.am') + +Index: b/src/tools/Makefile.am +=================================================================== +--- a/src/tools/Makefile.am ++++ b/src/tools/Makefile.am +@@ -26,7 +26,7 @@ + + metacity_message_LDADD= @METACITY_MESSAGE_LIBS@ + metacity_window_demo_LDADD= @METACITY_WINDOW_DEMO_LIBS@ +-metacity_mag_LDADD= @METACITY_WINDOW_DEMO_LIBS@ ++metacity_mag_LDADD= @METACITY_WINDOW_DEMO_LIBS@ -lm + metacity_grayscale_LDADD = @METACITY_WINDOW_DEMO_LIBS@ + + EXTRA_DIST=$(icon_DATA) +Index: b/src/tools/Makefile.in +=================================================================== +--- a/src/tools/Makefile.in ++++ b/src/tools/Makefile.in +@@ -281,7 +281,7 @@ + + metacity_message_LDADD = @METACITY_MESSAGE_LIBS@ + metacity_window_demo_LDADD = @METACITY_WINDOW_DEMO_LIBS@ +-metacity_mag_LDADD = @METACITY_WINDOW_DEMO_LIBS@ ++metacity_mag_LDADD = @METACITY_WINDOW_DEMO_LIBS@ -lm + metacity_grayscale_LDADD = @METACITY_WINDOW_DEMO_LIBS@ + EXTRA_DIST = $(icon_DATA) + all: all-am diff --git a/package/metacity/metacity-add-libm-reference.patch b/package/metacity/metacity-add-libm-reference.patch deleted file mode 100644 index 628501726a..0000000000 --- a/package/metacity/metacity-add-libm-reference.patch +++ /dev/null @@ -1,51 +0,0 @@ -Upstream fix to link metacity itself against libm - -The upstream fix is modified to also include the changes on the -configure script directly, so that autoreconfiguring is not -needed. Autoreconfiguring cannot be done easily on metacity, due to -missing AM_GCONF_SOURCE_2 and AM_NLS macros. - -http://git.gnome.org/browse/metacity/commit/configure.in?id=9cb0b6ff520ea69bdff6c328a21787202aee1bcc - -Signed-off-by: Thomas Petazzoni - -From 9cb0b6ff520ea69bdff6c328a21787202aee1bcc Mon Sep 17 00:00:00 2001 -From: Götz Waschk -Date: Wed, 22 Oct 2008 12:08:48 +0000 -Subject: add libm reference. Closes #557357. - -2008-10-22 Götz Waschk - - * configure.in: add libm reference. Closes #557357. - - -svn path=/trunk/; revision=3984 ---- -(limited to 'configure.in') - -Index: b/configure.in -=================================================================== ---- a/configure.in -+++ b/configure.in -@@ -413,7 +413,7 @@ - AC_DEFINE(HAVE_XSYNC, , [Have the Xsync extension library]) - fi - --METACITY_LIBS="$METACITY_LIBS $XSYNC_LIBS $RANDR_LIBS $SHAPE_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS" -+METACITY_LIBS="$METACITY_LIBS $XSYNC_LIBS $RANDR_LIBS $SHAPE_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS -lm" - METACITY_MESSAGE_LIBS="$METACITY_MESSAGE_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS" - METACITY_WINDOW_DEMO_LIBS="$METACITY_WINDOW_DEMO_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS" - METACITY_PROPS_LIBS="$METACITY_PROPS_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS" -Index: b/configure -=================================================================== ---- a/configure -+++ b/configure -@@ -29509,7 +29509,7 @@ - - fi - --METACITY_LIBS="$METACITY_LIBS $XSYNC_LIBS $RANDR_LIBS $SHAPE_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS" -+METACITY_LIBS="$METACITY_LIBS $XSYNC_LIBS $RANDR_LIBS $SHAPE_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS -lm" - METACITY_MESSAGE_LIBS="$METACITY_MESSAGE_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS" - METACITY_WINDOW_DEMO_LIBS="$METACITY_WINDOW_DEMO_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS" - METACITY_PROPS_LIBS="$METACITY_PROPS_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS" diff --git a/package/metacity/metacity-gconf.patch b/package/metacity/metacity-gconf.patch deleted file mode 100644 index 939ef7ef98..0000000000 --- a/package/metacity/metacity-gconf.patch +++ /dev/null @@ -1,30 +0,0 @@ -[PATCH] fix build with --disable-gconf - -src/core/prefs.c still contain a call to gconf_client_set_bool() when -built with --disable-gconf, breaking the build. - -Signed-off-by: Peter Korsgaard ---- - src/core/prefs.c | 2 ++ - 1 file changed, 2 insertions(+) - -Index: metacity-2.25.1/src/core/prefs.c -=================================================================== ---- metacity-2.25.1.orig/src/core/prefs.c -+++ metacity-2.25.1/src/core/prefs.c -@@ -2949,6 +2949,7 @@ - void - meta_prefs_set_compositing_manager (gboolean whether) - { -+#if HAVE_GCONF - GError *err = NULL; - - gconf_client_set_bool (default_client, -@@ -2962,6 +2963,7 @@ - err->message); - g_error_free (err); - } -+#endif - } - - #ifndef HAVE_GCONF diff --git a/package/metacity/metacity-mag-add-libm-reference.patch b/package/metacity/metacity-mag-add-libm-reference.patch deleted file mode 100644 index d47d807558..0000000000 --- a/package/metacity/metacity-mag-add-libm-reference.patch +++ /dev/null @@ -1,45 +0,0 @@ -Upstream patch to fix link against libm - -The upstream patch is modified to also include the necessary -Makefile.in, which avoids the need for autoreconfiguring the -package. Autoreconfiguring the package unfortunately doesn't work, due -to AM_GCONF_SOURCE_2 and AM_NLS macros being missing. - -http://git.gnome.org/browse/metacity/commit/src/tools/Makefile.am?id=13d0d52eb885598885b6ff4b73c795c8f29c2a6b - -Signed-off-by: Thomas Petazzoni - -From 13d0d52eb885598885b6ff4b73c795c8f29c2a6b Mon Sep 17 00:00:00 2001 -From: Matthias Clasen -Date: Sun, 02 May 2010 14:50:42 +0000 -Subject: fails to link with pedantic linkers - ---- -(limited to 'src/tools/Makefile.am') - -Index: b/src/tools/Makefile.am -=================================================================== ---- a/src/tools/Makefile.am -+++ b/src/tools/Makefile.am -@@ -26,7 +26,7 @@ - - metacity_message_LDADD= @METACITY_MESSAGE_LIBS@ - metacity_window_demo_LDADD= @METACITY_WINDOW_DEMO_LIBS@ --metacity_mag_LDADD= @METACITY_WINDOW_DEMO_LIBS@ -+metacity_mag_LDADD= @METACITY_WINDOW_DEMO_LIBS@ -lm - metacity_grayscale_LDADD = @METACITY_WINDOW_DEMO_LIBS@ - - EXTRA_DIST=$(icon_DATA) -Index: b/src/tools/Makefile.in -=================================================================== ---- a/src/tools/Makefile.in -+++ b/src/tools/Makefile.in -@@ -281,7 +281,7 @@ - - metacity_message_LDADD = @METACITY_MESSAGE_LIBS@ - metacity_window_demo_LDADD = @METACITY_WINDOW_DEMO_LIBS@ --metacity_mag_LDADD = @METACITY_WINDOW_DEMO_LIBS@ -+metacity_mag_LDADD = @METACITY_WINDOW_DEMO_LIBS@ -lm - metacity_grayscale_LDADD = @METACITY_WINDOW_DEMO_LIBS@ - EXTRA_DIST = $(icon_DATA) - all: all-am diff --git a/package/mii-diag/0001-strchr.patch b/package/mii-diag/0001-strchr.patch new file mode 100644 index 0000000000..fcfeb3c73e --- /dev/null +++ b/package/mii-diag/0001-strchr.patch @@ -0,0 +1,23 @@ +Use the strrchr() function instead of the deprecated rindex() +function. + +--- mii-diag-2.11.orig/mii-diag.c.orig 2008-06-25 11:08:52.000000000 +1000 ++++ mii-diag-2.11.orig/mii-diag.c 2005-03-27 03:56:33.000000000 +1000 +@@ -174,7 +174,7 @@ + { + int c, errflag = 0; + char **spp, *ifname; +- char *progname = rindex(argv[0], '/') ? rindex(argv[0], '/')+1 : argv[0]; ++ char *progname = strrchr(argv[0], '/') ? strrchr(argv[0], '/')+1 : argv[0]; + + while ((c = getopt_long(argc, argv, shortopts, longopts, 0)) != EOF) + switch (c) { +@@ -310,7 +310,7 @@ + str = endstr+1; + else { + fprintf(stderr, "Invalid driver parameter '%s'.\n", str); +- str = index(str, ','); ++ str = strchr(str, ','); + } + } else if (endstr[0] == ',') { + data32[i] = newval; diff --git a/package/mii-diag/mii-diag-strchr.patch b/package/mii-diag/mii-diag-strchr.patch deleted file mode 100644 index fcfeb3c73e..0000000000 --- a/package/mii-diag/mii-diag-strchr.patch +++ /dev/null @@ -1,23 +0,0 @@ -Use the strrchr() function instead of the deprecated rindex() -function. - ---- mii-diag-2.11.orig/mii-diag.c.orig 2008-06-25 11:08:52.000000000 +1000 -+++ mii-diag-2.11.orig/mii-diag.c 2005-03-27 03:56:33.000000000 +1000 -@@ -174,7 +174,7 @@ - { - int c, errflag = 0; - char **spp, *ifname; -- char *progname = rindex(argv[0], '/') ? rindex(argv[0], '/')+1 : argv[0]; -+ char *progname = strrchr(argv[0], '/') ? strrchr(argv[0], '/')+1 : argv[0]; - - while ((c = getopt_long(argc, argv, shortopts, longopts, 0)) != EOF) - switch (c) { -@@ -310,7 +310,7 @@ - str = endstr+1; - else { - fprintf(stderr, "Invalid driver parameter '%s'.\n", str); -- str = index(str, ','); -+ str = strchr(str, ','); - } - } else if (endstr[0] == ',') { - data32[i] = newval; diff --git a/package/mmc-utils/0001-fix-mmc-h-includes.patch b/package/mmc-utils/0001-fix-mmc-h-includes.patch new file mode 100644 index 0000000000..8d0b2eb233 --- /dev/null +++ b/package/mmc-utils/0001-fix-mmc-h-includes.patch @@ -0,0 +1,41 @@ +mmc-utils: fix mmc.h includes + +Some toolchains include asm-generic/int-l64.h from their asm/types.h +file for certain 64-bit architectures. This causes a conflict between +types like this one: + +asm-generic/int-l64.h:28:25: error: conflicting types for '__s64' + typedef __signed__ long __s64; + ^ +In file included from mmc.h:17:0, + from mmc_cmds.c:30: +asm-generic/int-ll64.h:29:44: note: previous declaration of '__s64' was +here + __extension__ typedef __signed__ long long __s64; + +[Ryan: added include of linux/types.h because mmc/ioctl.h does not + include it in kernel version before 3.4] + +Signed-off-by: Vicente Olivert Riera +Signed-off-by: Ryan Barnett +--- + mmc.h | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) +diff --git a/mmc.h b/mmc.h +index 9871d62..2d54ec5 100644 +--- a/mmc.h ++++ b/mmc.h +@@ -14,9 +14,12 @@ + * Boston, MA 021110-1307, USA. + */ + +-#include ++#include + #include + #include ++#ifndef _ASM_GENERIC_INT_L64_H ++#include ++#endif + + #define CHECK(expr, msg, err_stmt) { if (expr) { fprintf(stderr, msg); err_stmt; } } + diff --git a/package/mmc-utils/mmc-utils-001-fix-mmc-h-includes.patch b/package/mmc-utils/mmc-utils-001-fix-mmc-h-includes.patch deleted file mode 100644 index 8d0b2eb233..0000000000 --- a/package/mmc-utils/mmc-utils-001-fix-mmc-h-includes.patch +++ /dev/null @@ -1,41 +0,0 @@ -mmc-utils: fix mmc.h includes - -Some toolchains include asm-generic/int-l64.h from their asm/types.h -file for certain 64-bit architectures. This causes a conflict between -types like this one: - -asm-generic/int-l64.h:28:25: error: conflicting types for '__s64' - typedef __signed__ long __s64; - ^ -In file included from mmc.h:17:0, - from mmc_cmds.c:30: -asm-generic/int-ll64.h:29:44: note: previous declaration of '__s64' was -here - __extension__ typedef __signed__ long long __s64; - -[Ryan: added include of linux/types.h because mmc/ioctl.h does not - include it in kernel version before 3.4] - -Signed-off-by: Vicente Olivert Riera -Signed-off-by: Ryan Barnett ---- - mmc.h | 4 +++- - 1 files changed, 3 insertions(+), 1 deletions(-) -diff --git a/mmc.h b/mmc.h -index 9871d62..2d54ec5 100644 ---- a/mmc.h -+++ b/mmc.h -@@ -14,9 +14,12 @@ - * Boston, MA 021110-1307, USA. - */ - --#include -+#include - #include - #include -+#ifndef _ASM_GENERIC_INT_L64_H -+#include -+#endif - - #define CHECK(expr, msg, err_stmt) { if (expr) { fprintf(stderr, msg); err_stmt; } } - diff --git a/package/mongrel2/0001-use-CC-variable-to-compile-procer.patch b/package/mongrel2/0001-use-CC-variable-to-compile-procer.patch new file mode 100644 index 0000000000..310177aef8 --- /dev/null +++ b/package/mongrel2/0001-use-CC-variable-to-compile-procer.patch @@ -0,0 +1,28 @@ +From d30cf797af4828e49fd3c0f25841e669dec05ed5 Mon Sep 17 00:00:00 2001 +From: Lionel Orry +Date: Wed, 27 Mar 2013 14:02:00 +0100 +Subject: [PATCH 3/4] use CC variable to compile procer. + +This fixes procer tool cross-compilation issues. + +Signed-off-by: Lionel Orry +--- + tools/procer/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/procer/Makefile b/tools/procer/Makefile +index d0d7de0..bb9aa31 100644 +--- a/tools/procer/Makefile ++++ b/tools/procer/Makefile +@@ -8,7 +8,7 @@ all: procer + + + procer: ../../build/libm2.a ${OBJECTS} +- gcc $(OPTFLAGS) $(OPTLIBS) -o $@ ${OBJECTS} ../../build/libm2.a ${LIBS} ++ $(CC) $(OPTFLAGS) $(OPTLIBS) -o $@ ${OBJECTS} ../../build/libm2.a ${LIBS} + + clean: + rm -f *.o procer +-- +1.8.1.4 + diff --git a/package/mongrel2/0002-Do-not-run-tests.patch b/package/mongrel2/0002-Do-not-run-tests.patch new file mode 100644 index 0000000000..557c27edd8 --- /dev/null +++ b/package/mongrel2/0002-Do-not-run-tests.patch @@ -0,0 +1,43 @@ +From 3cbef2195533f357c8a80c2840108662461273b7 Mon Sep 17 00:00:00 2001 +From: Lionel Orry +Date: Wed, 27 Mar 2013 14:48:19 +0100 +Subject: [PATCH 4/4] Do not run tests. + +This patch is specific to cross-compiled environments and avoids running +the tests on the host. It is not meant to be applied upstream. + +Signed-off-by: Lionel Orry +--- + Makefile | 2 +- + tools/m2sh/Makefile | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 7dc4089..ca72630 100644 +--- a/Makefile ++++ b/Makefile +@@ -16,7 +16,7 @@ TEST_SRC=$(wildcard tests/*_tests.c) + TESTS=$(patsubst %.c,%,${TEST_SRC}) + MAKEOPTS=OPTFLAGS="${NOEXTCFLAGS} ${OPTFLAGS}" OPTLIBS="${OPTLIBS}" LIBS="${LIBS}" DESTDIR="${DESTDIR}" PREFIX="${PREFIX}" + +-all: bin/mongrel2 tests m2sh procer ++all: bin/mongrel2 m2sh procer filters config_modules + + dev: CFLAGS=-g -Wall -Isrc -Wall -Wextra $(OPTFLAGS) -D_FILE_OFFSET_BITS=64 + dev: all +diff --git a/tools/m2sh/Makefile b/tools/m2sh/Makefile +index b50d8a0..334e4da 100644 +--- a/tools/m2sh/Makefile ++++ b/tools/m2sh/Makefile +@@ -9,7 +9,7 @@ TESTS=$(patsubst %.c,%,${TEST_SRC}) + LIB_SRC=$(filter-out src/m2sh.c,${SOURCES}) + LIB_OBJ=$(filter-out src/m2sh.o,${OBJECTS}) + +-all: ../lemon/lemon tests build/m2sh ++all: ../lemon/lemon build/m2sh + + dev: CFLAGS=-g -Wall -Wextra -Isrc -I../../src $(OPTFLAGS) + dev: all +-- +1.8.1.4 + diff --git a/package/mongrel2/0003-Fix-Makefiles-for-cross-compilation.patch b/package/mongrel2/0003-Fix-Makefiles-for-cross-compilation.patch new file mode 100644 index 0000000000..730d8ebfc0 --- /dev/null +++ b/package/mongrel2/0003-Fix-Makefiles-for-cross-compilation.patch @@ -0,0 +1,75 @@ +From 298356c44a7df2b34c4e307c531d2010e2cb4b79 Mon Sep 17 00:00:00 2001 +From: Lionel Orry +Date: Wed, 27 Mar 2013 15:56:56 +0100 +Subject: [PATCH 1/1] Fix Makefiles for cross-compilation + +The CFLAGS handling in mongrel2 is really messy and it is hard to make +it behave correctly with cross-compiling environments. This patch +restricts the Makefiles syntax to GNU Make, but help cross-compiling. + +This is not meant to be applied upstream. + +Signed-off-by: Lionel Orry +--- + Makefile | 2 +- + tools/config_modules/Makefile | 2 +- + tools/filters/Makefile | 2 +- + tools/m2sh/Makefile | 2 +- + tools/procer/Makefile | 2 +- + 5 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/Makefile b/Makefile +index 6dce4a6..d48e05e 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,4 +1,4 @@ +-CFLAGS=-g -O2 -Wall -Wextra -Isrc -Isrc/polarssl/include -pthread -rdynamic -DNDEBUG $(OPTFLAGS) -D_FILE_OFFSET_BITS=64 ++override CFLAGS += -g -O2 -Wall -Wextra -Isrc -Isrc/polarssl/include -pthread -rdynamic -DNDEBUG $(OPTFLAGS) -D_FILE_OFFSET_BITS=64 + LIBS=-lzmq -ldl -lsqlite3 $(OPTLIBS) + PREFIX?=/usr/local + +diff --git a/tools/config_modules/Makefile b/tools/config_modules/Makefile +index 398490c..53f2255 100644 +--- a/tools/config_modules/Makefile ++++ b/tools/config_modules/Makefile +@@ -1,5 +1,5 @@ + PREFIX?=/usr/local +-CFLAGS=-I../../src -I../../src/polarssl/include $(OPTFLAGS) -fPIC -shared -nostartfiles -L../../build ++override CFLAGS += -I../../src -I../../src/polarssl/include $(OPTFLAGS) -fPIC -shared -nostartfiles -L../../build + LDFLAGS=$(OPTLIBS) + + MONGO_SRC = mongo-c-driver/src/bson.c \ +diff --git a/tools/filters/Makefile b/tools/filters/Makefile +index f9f4556..6077b79 100644 +--- a/tools/filters/Makefile ++++ b/tools/filters/Makefile +@@ -1,5 +1,5 @@ + PREFIX?=/usr/local +-CFLAGS=-I../../src -I../../src/polarssl/include $(OPTFLAGS) -g -fPIC -shared -nostartfiles -L../../build ++ override CFLAGS += -I../../src -I../../src/polarssl/include $(OPTFLAGS) -g -fPIC -shared -nostartfiles -L../../build + LDFLAGS=$(OPTLIBS) + + all: null.so +diff --git a/tools/m2sh/Makefile b/tools/m2sh/Makefile +index b50d8a0..ba378c5 100644 +--- a/tools/m2sh/Makefile ++++ b/tools/m2sh/Makefile +@@ -1,4 +1,4 @@ +-CFLAGS=-DNDEBUG -DNO_LINENOS -pthread -g -I../../src -Isrc -Wall $(OPTFLAGS) ++override CFLAGS += -DNDEBUG -DNO_LINENOS -pthread -g -I../../src -Isrc -Wall $(OPTFLAGS) + LIBS=-lzmq -lsqlite3 ../../build/libm2.a $(OPTLIBS) + + PREFIX?=/usr/local +diff --git a/tools/procer/Makefile b/tools/procer/Makefile +index d0d7de0..629b2e9 100644 +--- a/tools/procer/Makefile ++++ b/tools/procer/Makefile +@@ -1,4 +1,4 @@ +-CFLAGS=-DNDEBUG -pthread -g -I../../src -Wall $(OPTFLAGS) ++override CFLAGS += -DNDEBUG -pthread -g -I../../src -Wall $(OPTFLAGS) + PREFIX?=/usr/local + LIBS?=-lzmq + SOURCES=$(wildcard *.c) +-- +1.8.1.4 + diff --git a/package/mongrel2/mongrel2-0001-use-CC-variable-to-compile-procer.patch b/package/mongrel2/mongrel2-0001-use-CC-variable-to-compile-procer.patch deleted file mode 100644 index 310177aef8..0000000000 --- a/package/mongrel2/mongrel2-0001-use-CC-variable-to-compile-procer.patch +++ /dev/null @@ -1,28 +0,0 @@ -From d30cf797af4828e49fd3c0f25841e669dec05ed5 Mon Sep 17 00:00:00 2001 -From: Lionel Orry -Date: Wed, 27 Mar 2013 14:02:00 +0100 -Subject: [PATCH 3/4] use CC variable to compile procer. - -This fixes procer tool cross-compilation issues. - -Signed-off-by: Lionel Orry ---- - tools/procer/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/procer/Makefile b/tools/procer/Makefile -index d0d7de0..bb9aa31 100644 ---- a/tools/procer/Makefile -+++ b/tools/procer/Makefile -@@ -8,7 +8,7 @@ all: procer - - - procer: ../../build/libm2.a ${OBJECTS} -- gcc $(OPTFLAGS) $(OPTLIBS) -o $@ ${OBJECTS} ../../build/libm2.a ${LIBS} -+ $(CC) $(OPTFLAGS) $(OPTLIBS) -o $@ ${OBJECTS} ../../build/libm2.a ${LIBS} - - clean: - rm -f *.o procer --- -1.8.1.4 - diff --git a/package/mongrel2/mongrel2-0002-Do-not-run-tests.patch b/package/mongrel2/mongrel2-0002-Do-not-run-tests.patch deleted file mode 100644 index 557c27edd8..0000000000 --- a/package/mongrel2/mongrel2-0002-Do-not-run-tests.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 3cbef2195533f357c8a80c2840108662461273b7 Mon Sep 17 00:00:00 2001 -From: Lionel Orry -Date: Wed, 27 Mar 2013 14:48:19 +0100 -Subject: [PATCH 4/4] Do not run tests. - -This patch is specific to cross-compiled environments and avoids running -the tests on the host. It is not meant to be applied upstream. - -Signed-off-by: Lionel Orry ---- - Makefile | 2 +- - tools/m2sh/Makefile | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Makefile b/Makefile -index 7dc4089..ca72630 100644 ---- a/Makefile -+++ b/Makefile -@@ -16,7 +16,7 @@ TEST_SRC=$(wildcard tests/*_tests.c) - TESTS=$(patsubst %.c,%,${TEST_SRC}) - MAKEOPTS=OPTFLAGS="${NOEXTCFLAGS} ${OPTFLAGS}" OPTLIBS="${OPTLIBS}" LIBS="${LIBS}" DESTDIR="${DESTDIR}" PREFIX="${PREFIX}" - --all: bin/mongrel2 tests m2sh procer -+all: bin/mongrel2 m2sh procer filters config_modules - - dev: CFLAGS=-g -Wall -Isrc -Wall -Wextra $(OPTFLAGS) -D_FILE_OFFSET_BITS=64 - dev: all -diff --git a/tools/m2sh/Makefile b/tools/m2sh/Makefile -index b50d8a0..334e4da 100644 ---- a/tools/m2sh/Makefile -+++ b/tools/m2sh/Makefile -@@ -9,7 +9,7 @@ TESTS=$(patsubst %.c,%,${TEST_SRC}) - LIB_SRC=$(filter-out src/m2sh.c,${SOURCES}) - LIB_OBJ=$(filter-out src/m2sh.o,${OBJECTS}) - --all: ../lemon/lemon tests build/m2sh -+all: ../lemon/lemon build/m2sh - - dev: CFLAGS=-g -Wall -Wextra -Isrc -I../../src $(OPTFLAGS) - dev: all --- -1.8.1.4 - diff --git a/package/mongrel2/mongrel2-0003-Fix-Makefiles-for-cross-compilation.patch b/package/mongrel2/mongrel2-0003-Fix-Makefiles-for-cross-compilation.patch deleted file mode 100644 index 730d8ebfc0..0000000000 --- a/package/mongrel2/mongrel2-0003-Fix-Makefiles-for-cross-compilation.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 298356c44a7df2b34c4e307c531d2010e2cb4b79 Mon Sep 17 00:00:00 2001 -From: Lionel Orry -Date: Wed, 27 Mar 2013 15:56:56 +0100 -Subject: [PATCH 1/1] Fix Makefiles for cross-compilation - -The CFLAGS handling in mongrel2 is really messy and it is hard to make -it behave correctly with cross-compiling environments. This patch -restricts the Makefiles syntax to GNU Make, but help cross-compiling. - -This is not meant to be applied upstream. - -Signed-off-by: Lionel Orry ---- - Makefile | 2 +- - tools/config_modules/Makefile | 2 +- - tools/filters/Makefile | 2 +- - tools/m2sh/Makefile | 2 +- - tools/procer/Makefile | 2 +- - 5 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/Makefile b/Makefile -index 6dce4a6..d48e05e 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,4 +1,4 @@ --CFLAGS=-g -O2 -Wall -Wextra -Isrc -Isrc/polarssl/include -pthread -rdynamic -DNDEBUG $(OPTFLAGS) -D_FILE_OFFSET_BITS=64 -+override CFLAGS += -g -O2 -Wall -Wextra -Isrc -Isrc/polarssl/include -pthread -rdynamic -DNDEBUG $(OPTFLAGS) -D_FILE_OFFSET_BITS=64 - LIBS=-lzmq -ldl -lsqlite3 $(OPTLIBS) - PREFIX?=/usr/local - -diff --git a/tools/config_modules/Makefile b/tools/config_modules/Makefile -index 398490c..53f2255 100644 ---- a/tools/config_modules/Makefile -+++ b/tools/config_modules/Makefile -@@ -1,5 +1,5 @@ - PREFIX?=/usr/local --CFLAGS=-I../../src -I../../src/polarssl/include $(OPTFLAGS) -fPIC -shared -nostartfiles -L../../build -+override CFLAGS += -I../../src -I../../src/polarssl/include $(OPTFLAGS) -fPIC -shared -nostartfiles -L../../build - LDFLAGS=$(OPTLIBS) - - MONGO_SRC = mongo-c-driver/src/bson.c \ -diff --git a/tools/filters/Makefile b/tools/filters/Makefile -index f9f4556..6077b79 100644 ---- a/tools/filters/Makefile -+++ b/tools/filters/Makefile -@@ -1,5 +1,5 @@ - PREFIX?=/usr/local --CFLAGS=-I../../src -I../../src/polarssl/include $(OPTFLAGS) -g -fPIC -shared -nostartfiles -L../../build -+ override CFLAGS += -I../../src -I../../src/polarssl/include $(OPTFLAGS) -g -fPIC -shared -nostartfiles -L../../build - LDFLAGS=$(OPTLIBS) - - all: null.so -diff --git a/tools/m2sh/Makefile b/tools/m2sh/Makefile -index b50d8a0..ba378c5 100644 ---- a/tools/m2sh/Makefile -+++ b/tools/m2sh/Makefile -@@ -1,4 +1,4 @@ --CFLAGS=-DNDEBUG -DNO_LINENOS -pthread -g -I../../src -Isrc -Wall $(OPTFLAGS) -+override CFLAGS += -DNDEBUG -DNO_LINENOS -pthread -g -I../../src -Isrc -Wall $(OPTFLAGS) - LIBS=-lzmq -lsqlite3 ../../build/libm2.a $(OPTLIBS) - - PREFIX?=/usr/local -diff --git a/tools/procer/Makefile b/tools/procer/Makefile -index d0d7de0..629b2e9 100644 ---- a/tools/procer/Makefile -+++ b/tools/procer/Makefile -@@ -1,4 +1,4 @@ --CFLAGS=-DNDEBUG -pthread -g -I../../src -Wall $(OPTFLAGS) -+override CFLAGS += -DNDEBUG -pthread -g -I../../src -Wall $(OPTFLAGS) - PREFIX?=/usr/local - LIBS?=-lzmq - SOURCES=$(wildcard *.c) --- -1.8.1.4 - diff --git a/package/monit/0001-no-force-static.patch b/package/monit/0001-no-force-static.patch new file mode 100644 index 0000000000..edb619b541 --- /dev/null +++ b/package/monit/0001-no-force-static.patch @@ -0,0 +1,20 @@ +Do not force building a statically-linked binary + +Statically-linked binary do not work well with glibc, because it +still dlopen()s the NSS libraries. + +Reported-by: Peter Kümmel +Signed-off-by: "Yann E. MORIN" + +diff -durN monit-5.7.orig/Makefile.am monit-5.7/Makefile.am +--- monit-5.7.orig/Makefile.am 2014-02-20 09:00:42.000000000 +0100 ++++ monit-5.7/Makefile.am 2014-09-05 12:49:43.711104001 +0200 +@@ -85,7 +85,7 @@ + src/process/sysdep_@ARCH@.c + + monit_LDADD = libmonit/libmonit.la +-monit_LDFLAGS = -static $(EXTLDFLAGS) ++monit_LDFLAGS = $(EXTLDFLAGS) + + man_MANS = monit.1 + diff --git a/package/monit/monit-0001-no-force-static.patch b/package/monit/monit-0001-no-force-static.patch deleted file mode 100644 index edb619b541..0000000000 --- a/package/monit/monit-0001-no-force-static.patch +++ /dev/null @@ -1,20 +0,0 @@ -Do not force building a statically-linked binary - -Statically-linked binary do not work well with glibc, because it -still dlopen()s the NSS libraries. - -Reported-by: Peter Kümmel -Signed-off-by: "Yann E. MORIN" - -diff -durN monit-5.7.orig/Makefile.am monit-5.7/Makefile.am ---- monit-5.7.orig/Makefile.am 2014-02-20 09:00:42.000000000 +0100 -+++ monit-5.7/Makefile.am 2014-09-05 12:49:43.711104001 +0200 -@@ -85,7 +85,7 @@ - src/process/sysdep_@ARCH@.c - - monit_LDADD = libmonit/libmonit.la --monit_LDFLAGS = -static $(EXTLDFLAGS) -+monit_LDFLAGS = $(EXTLDFLAGS) - - man_MANS = monit.1 - diff --git a/package/mono/0001-gc-fix-uclibc.patch b/package/mono/0001-gc-fix-uclibc.patch new file mode 100644 index 0000000000..62b52cd789 --- /dev/null +++ b/package/mono/0001-gc-fix-uclibc.patch @@ -0,0 +1,16 @@ +Disable backtrace on not supported uclibc. + +Signed-off-by: Angelo Compagnucci + +diff -purN mono-native-3.8.0.orig/libgc/include/gc.h mono-native-3.8.0/libgc/include/gc.h +--- mono-native-3.8.0.orig/libgc/include/gc.h 2014-10-07 15:00:21.259466731 +0200 ++++ mono-native-3.8.0/libgc/include/gc.h 2014-10-07 15:05:25.560975681 +0200 +@@ -500,7 +500,7 @@ GC_API GC_PTR GC_malloc_atomic_ignore_of + #ifdef __linux__ + # include + # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ +- && !defined(__ia64__) ++ && !defined(__ia64__) && !defined(__UCLIBC__) + # ifndef GC_HAVE_BUILTIN_BACKTRACE + # define GC_HAVE_BUILTIN_BACKTRACE + # endif diff --git a/package/mono/0002-support-uclibc-musl.patch b/package/mono/0002-support-uclibc-musl.patch new file mode 100644 index 0000000000..48a34936b9 --- /dev/null +++ b/package/mono/0002-support-uclibc-musl.patch @@ -0,0 +1,25 @@ +Adjust libc.so path depending on C library being used + +By default, on Linux systems, Mono assumes that the C library is +libc.so.6. While this is true for glibc, it is not true for uClibc and +Musl based systems. This patch adds support for such systems. + +Signed-off-by: Thomas Petazzoni + +Index: b/configure.ac +=================================================================== +--- a/configure.ac ++++ b/configure.ac +@@ -2973,6 +2973,12 @@ + SQLITE="libsqlite.so" + SQLITE3="libsqlite3.so" + ;; ++ *-*-*uclibc*) ++ LIBC="libc.so.0" ++ ;; ++ *-*-*musl*) ++ LIBC="libc.so" ++ ;; + *-*-*linux*) + AC_PATH_X + dlsearch_path=`(libtool --config ; echo eval echo \\$sys_lib_dlsearch_path_spec) | sh` diff --git a/package/mono/mono-001-gc-fix-uclibc.patch b/package/mono/mono-001-gc-fix-uclibc.patch deleted file mode 100644 index 62b52cd789..0000000000 --- a/package/mono/mono-001-gc-fix-uclibc.patch +++ /dev/null @@ -1,16 +0,0 @@ -Disable backtrace on not supported uclibc. - -Signed-off-by: Angelo Compagnucci - -diff -purN mono-native-3.8.0.orig/libgc/include/gc.h mono-native-3.8.0/libgc/include/gc.h ---- mono-native-3.8.0.orig/libgc/include/gc.h 2014-10-07 15:00:21.259466731 +0200 -+++ mono-native-3.8.0/libgc/include/gc.h 2014-10-07 15:05:25.560975681 +0200 -@@ -500,7 +500,7 @@ GC_API GC_PTR GC_malloc_atomic_ignore_of - #ifdef __linux__ - # include - # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ -- && !defined(__ia64__) -+ && !defined(__ia64__) && !defined(__UCLIBC__) - # ifndef GC_HAVE_BUILTIN_BACKTRACE - # define GC_HAVE_BUILTIN_BACKTRACE - # endif diff --git a/package/mono/mono-002-support-uclibc-musl.patch b/package/mono/mono-002-support-uclibc-musl.patch deleted file mode 100644 index 48a34936b9..0000000000 --- a/package/mono/mono-002-support-uclibc-musl.patch +++ /dev/null @@ -1,25 +0,0 @@ -Adjust libc.so path depending on C library being used - -By default, on Linux systems, Mono assumes that the C library is -libc.so.6. While this is true for glibc, it is not true for uClibc and -Musl based systems. This patch adds support for such systems. - -Signed-off-by: Thomas Petazzoni - -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -2973,6 +2973,12 @@ - SQLITE="libsqlite.so" - SQLITE3="libsqlite3.so" - ;; -+ *-*-*uclibc*) -+ LIBC="libc.so.0" -+ ;; -+ *-*-*musl*) -+ LIBC="libc.so" -+ ;; - *-*-*linux*) - AC_PATH_X - dlsearch_path=`(libtool --config ; echo eval echo \\$sys_lib_dlsearch_path_spec) | sh` diff --git a/package/mplayer/0001-disable-install-strip.patch b/package/mplayer/0001-disable-install-strip.patch new file mode 100644 index 0000000000..644d292eb9 --- /dev/null +++ b/package/mplayer/0001-disable-install-strip.patch @@ -0,0 +1,24 @@ +Disable stripping on installation + +Using the -s option of install does not work, as it uses the host +strip instead of the cross strip. So, get rid of it, and let Buildroot +handle the stripping. + +Signed-off-by: Thomas Petazzoni +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: mplayer-32710/configure +=================================================================== +--- mplayer-32710.orig/configure ++++ mplayer-32710/configure +@@ -2519,7 +2519,7 @@ + + + # Checking for CFLAGS +-_install_strip="-s" ++_install_strip= + if test "$_profile" != "" || test "$_debug" != "" ; then + CFLAGS="-O2 $_march $_mcpu $_pipe $_debug $_profile" + WARNFLAGS="-W -Wall" diff --git a/package/mplayer/0002-fix-cc-parsing.patch b/package/mplayer/0002-fix-cc-parsing.patch new file mode 100644 index 0000000000..a3ba03ff23 --- /dev/null +++ b/package/mplayer/0002-fix-cc-parsing.patch @@ -0,0 +1,22 @@ +[PATCH] mplayer: fix --cc= parsing if the value contains equal signs (=) + +E.G. if -cc="$CROSS-gcc --sysroot=" is passed. + +Signed-off-by: Peter Korsgaard +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: mplayer-32710/configure +=================================================================== +--- mplayer-32710.orig/configure ++++ mplayer-32710/configure +@@ -870,7 +870,7 @@ + _target=$(echo $ac_option | cut -d '=' -f 2) + ;; + --cc=*) +- _cc=$(echo $ac_option | cut -d '=' -f 2) ++ _cc=$(echo $ac_option | cut -d '=' -f 2-) + ;; + --host-cc=*) + _host_cc=$(echo $ac_option | cut -d '=' -f 2) diff --git a/package/mplayer/0003-mpdemux-live555-async-interface.patch b/package/mplayer/0003-mpdemux-live555-async-interface.patch new file mode 100644 index 0000000000..5a62a18710 --- /dev/null +++ b/package/mplayer/0003-mpdemux-live555-async-interface.patch @@ -0,0 +1,126 @@ +From d3195ea13f4a9aae546ff996e53681349a1a3cdb Mon Sep 17 00:00:00 2001 +From: sherpya +Date: Fri, 14 Jun 2013 05:25:38 +0200 +Subject: [PATCH 25/27] mpdemux: live555 async interface + +From: https://raw.github.com/sherpya/mplayer-be/master/patches/mp/0025-mpdemux-live555-async-interface.patch + +Adjust live555 interface code for modern versions of live555. + +Signed-off-by: Peter Korsgaard +--- + libmpdemux/demux_rtp.cpp | 51 ++++++++++++++++++++++++++++++++---------------- + 2 files changed, 35 insertions(+), 22 deletions(-) + +diff --git a/libmpdemux/demux_rtp.cpp b/libmpdemux/demux_rtp.cpp +index ad7a7f1..05d06e0 100644 +--- a/libmpdemux/demux_rtp.cpp ++++ b/libmpdemux/demux_rtp.cpp +@@ -19,8 +19,6 @@ + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +-#define RTSPCLIENT_SYNCHRONOUS_INTERFACE 1 +- + extern "C" { + // on MinGW, we must include windows.h before the things it conflicts + #ifdef __MINGW32__ // with. they are each protected from +@@ -94,15 +92,6 @@ struct RTPState { + + extern "C" char* network_username; + extern "C" char* network_password; +-static char* openURL_rtsp(RTSPClient* client, char const* url) { +- // If we were given a user name (and optional password), then use them: +- if (network_username != NULL) { +- char const* password = network_password == NULL ? "" : network_password; +- return client->describeWithPassword(url, network_username, password); +- } else { +- return client->describeURL(url); +- } +-} + + static char* openURL_sip(SIPClient* client, char const* url) { + // If we were given a user name (and optional password), then use them: +@@ -118,6 +107,19 @@ static char* openURL_sip(SIPClient* client, char const* url) { + extern AVCodecContext *avcctx; + #endif + ++static char fWatchVariableForSyncInterface; ++static char* fResultString; ++static int fResultCode; ++ ++static void responseHandlerForSyncInterface(RTSPClient* rtspClient, int responseCode, char* responseString) { ++ // Set result values: ++ fResultCode = responseCode; ++ fResultString = responseString; ++ ++ // Signal a break from the event loop (thereby returning from the blocking command): ++ fWatchVariableForSyncInterface = ~0; ++} ++ + extern "C" int audio_id, video_id, dvdsub_id; + extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) { + Boolean success = False; +@@ -146,13 +148,19 @@ extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) { + rtsp_transport_http = demuxer->stream->streaming_ctrl->url->port; + rtsp_transport_tcp = 1; + } +- rtspClient = RTSPClient::createNew(*env, verbose, "MPlayer", rtsp_transport_http); ++ rtspClient = RTSPClient::createNew(*env, url, verbose, "MPlayer", rtsp_transport_http); + if (rtspClient == NULL) { + fprintf(stderr, "Failed to create RTSP client: %s\n", + env->getResultMsg()); + break; + } +- sdpDescription = openURL_rtsp(rtspClient, url); ++ fWatchVariableForSyncInterface = 0; ++ rtspClient->sendDescribeCommand(responseHandlerForSyncInterface); ++ env->taskScheduler().doEventLoop(&fWatchVariableForSyncInterface); ++ if (fResultCode == 0) ++ sdpDescription = fResultString; ++ else ++ delete[] fResultString; + } else { // SIP + unsigned char desiredAudioType = 0; // PCMU (use 3 for GSM) + sipClient = SIPClient::createNew(*env, desiredAudioType, NULL, +@@ -236,8 +244,12 @@ extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) { + + if (rtspClient != NULL) { + // Issue a RTSP "SETUP" command on the chosen subsession: +- if (!rtspClient->setupMediaSubsession(*subsession, False, +- rtsp_transport_tcp)) break; ++ fWatchVariableForSyncInterface = 0; ++ rtspClient->sendSetupCommand(*subsession, responseHandlerForSyncInterface, False, rtsp_transport_tcp); ++ env->taskScheduler().doEventLoop(&fWatchVariableForSyncInterface); ++ delete[] fResultString; ++ if (fResultCode != 0) break; ++ + if (!strcmp(subsession->mediumName(), "audio")) + audiofound = 1; + if (!strcmp(subsession->mediumName(), "video")) +@@ -248,7 +260,11 @@ extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) { + + if (rtspClient != NULL) { + // Issue a RTSP aggregate "PLAY" command on the whole session: +- if (!rtspClient->playMediaSession(*mediaSession)) break; ++ fWatchVariableForSyncInterface = 0; ++ rtspClient->sendPlayCommand(*mediaSession, responseHandlerForSyncInterface); ++ env->taskScheduler().doEventLoop(&fWatchVariableForSyncInterface); ++ delete[] fResultString; ++ if (fResultCode != 0) break; + } else if (sipClient != NULL) { + sipClient->sendACK(); // to start the stream flowing + } +@@ -637,7 +653,8 @@ static void teardownRTSPorSIPSession(RTPState* rtpState) { + MediaSession* mediaSession = rtpState->mediaSession; + if (mediaSession == NULL) return; + if (rtpState->rtspClient != NULL) { +- rtpState->rtspClient->teardownMediaSession(*mediaSession); ++ fWatchVariableForSyncInterface = 0; ++ rtpState->rtspClient->sendTeardownCommand(*mediaSession, NULL); + } else if (rtpState->sipClient != NULL) { + rtpState->sipClient->sendBYE(); + } +-- +1.8.5.2 + diff --git a/package/mplayer/0004-add-arc-support.patch b/package/mplayer/0004-add-arc-support.patch new file mode 100644 index 0000000000..c14ef2397f --- /dev/null +++ b/package/mplayer/0004-add-arc-support.patch @@ -0,0 +1,13 @@ +--- mplayer-1.1/configure 2013-12-03 00:32:10.815571460 -0800 ++++ mplayer-1.1-arc/configure 2013-11-29 00:34:29.238297709 -0800 +@@ -2492,6 +2492,10 @@ + generic) + arch='generic' + ;; ++ arc) ++ arch='arc' ++ iproc='arc' ++ ;; + + *) + echo "The architecture of your CPU ($host_arch) is not supported by this configure script" diff --git a/package/mplayer/mplayer-0001-disable-install-strip.patch b/package/mplayer/mplayer-0001-disable-install-strip.patch deleted file mode 100644 index 644d292eb9..0000000000 --- a/package/mplayer/mplayer-0001-disable-install-strip.patch +++ /dev/null @@ -1,24 +0,0 @@ -Disable stripping on installation - -Using the -s option of install does not work, as it uses the host -strip instead of the cross strip. So, get rid of it, and let Buildroot -handle the stripping. - -Signed-off-by: Thomas Petazzoni ---- - configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: mplayer-32710/configure -=================================================================== ---- mplayer-32710.orig/configure -+++ mplayer-32710/configure -@@ -2519,7 +2519,7 @@ - - - # Checking for CFLAGS --_install_strip="-s" -+_install_strip= - if test "$_profile" != "" || test "$_debug" != "" ; then - CFLAGS="-O2 $_march $_mcpu $_pipe $_debug $_profile" - WARNFLAGS="-W -Wall" diff --git a/package/mplayer/mplayer-0002-fix-cc-parsing.patch b/package/mplayer/mplayer-0002-fix-cc-parsing.patch deleted file mode 100644 index a3ba03ff23..0000000000 --- a/package/mplayer/mplayer-0002-fix-cc-parsing.patch +++ /dev/null @@ -1,22 +0,0 @@ -[PATCH] mplayer: fix --cc= parsing if the value contains equal signs (=) - -E.G. if -cc="$CROSS-gcc --sysroot=" is passed. - -Signed-off-by: Peter Korsgaard ---- - configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: mplayer-32710/configure -=================================================================== ---- mplayer-32710.orig/configure -+++ mplayer-32710/configure -@@ -870,7 +870,7 @@ - _target=$(echo $ac_option | cut -d '=' -f 2) - ;; - --cc=*) -- _cc=$(echo $ac_option | cut -d '=' -f 2) -+ _cc=$(echo $ac_option | cut -d '=' -f 2-) - ;; - --host-cc=*) - _host_cc=$(echo $ac_option | cut -d '=' -f 2) diff --git a/package/mplayer/mplayer-0003-mpdemux-live555-async-interface.patch b/package/mplayer/mplayer-0003-mpdemux-live555-async-interface.patch deleted file mode 100644 index 5a62a18710..0000000000 --- a/package/mplayer/mplayer-0003-mpdemux-live555-async-interface.patch +++ /dev/null @@ -1,126 +0,0 @@ -From d3195ea13f4a9aae546ff996e53681349a1a3cdb Mon Sep 17 00:00:00 2001 -From: sherpya -Date: Fri, 14 Jun 2013 05:25:38 +0200 -Subject: [PATCH 25/27] mpdemux: live555 async interface - -From: https://raw.github.com/sherpya/mplayer-be/master/patches/mp/0025-mpdemux-live555-async-interface.patch - -Adjust live555 interface code for modern versions of live555. - -Signed-off-by: Peter Korsgaard ---- - libmpdemux/demux_rtp.cpp | 51 ++++++++++++++++++++++++++++++++---------------- - 2 files changed, 35 insertions(+), 22 deletions(-) - -diff --git a/libmpdemux/demux_rtp.cpp b/libmpdemux/demux_rtp.cpp -index ad7a7f1..05d06e0 100644 ---- a/libmpdemux/demux_rtp.cpp -+++ b/libmpdemux/demux_rtp.cpp -@@ -19,8 +19,6 @@ - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - --#define RTSPCLIENT_SYNCHRONOUS_INTERFACE 1 -- - extern "C" { - // on MinGW, we must include windows.h before the things it conflicts - #ifdef __MINGW32__ // with. they are each protected from -@@ -94,15 +92,6 @@ struct RTPState { - - extern "C" char* network_username; - extern "C" char* network_password; --static char* openURL_rtsp(RTSPClient* client, char const* url) { -- // If we were given a user name (and optional password), then use them: -- if (network_username != NULL) { -- char const* password = network_password == NULL ? "" : network_password; -- return client->describeWithPassword(url, network_username, password); -- } else { -- return client->describeURL(url); -- } --} - - static char* openURL_sip(SIPClient* client, char const* url) { - // If we were given a user name (and optional password), then use them: -@@ -118,6 +107,19 @@ static char* openURL_sip(SIPClient* client, char const* url) { - extern AVCodecContext *avcctx; - #endif - -+static char fWatchVariableForSyncInterface; -+static char* fResultString; -+static int fResultCode; -+ -+static void responseHandlerForSyncInterface(RTSPClient* rtspClient, int responseCode, char* responseString) { -+ // Set result values: -+ fResultCode = responseCode; -+ fResultString = responseString; -+ -+ // Signal a break from the event loop (thereby returning from the blocking command): -+ fWatchVariableForSyncInterface = ~0; -+} -+ - extern "C" int audio_id, video_id, dvdsub_id; - extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) { - Boolean success = False; -@@ -146,13 +148,19 @@ extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) { - rtsp_transport_http = demuxer->stream->streaming_ctrl->url->port; - rtsp_transport_tcp = 1; - } -- rtspClient = RTSPClient::createNew(*env, verbose, "MPlayer", rtsp_transport_http); -+ rtspClient = RTSPClient::createNew(*env, url, verbose, "MPlayer", rtsp_transport_http); - if (rtspClient == NULL) { - fprintf(stderr, "Failed to create RTSP client: %s\n", - env->getResultMsg()); - break; - } -- sdpDescription = openURL_rtsp(rtspClient, url); -+ fWatchVariableForSyncInterface = 0; -+ rtspClient->sendDescribeCommand(responseHandlerForSyncInterface); -+ env->taskScheduler().doEventLoop(&fWatchVariableForSyncInterface); -+ if (fResultCode == 0) -+ sdpDescription = fResultString; -+ else -+ delete[] fResultString; - } else { // SIP - unsigned char desiredAudioType = 0; // PCMU (use 3 for GSM) - sipClient = SIPClient::createNew(*env, desiredAudioType, NULL, -@@ -236,8 +244,12 @@ extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) { - - if (rtspClient != NULL) { - // Issue a RTSP "SETUP" command on the chosen subsession: -- if (!rtspClient->setupMediaSubsession(*subsession, False, -- rtsp_transport_tcp)) break; -+ fWatchVariableForSyncInterface = 0; -+ rtspClient->sendSetupCommand(*subsession, responseHandlerForSyncInterface, False, rtsp_transport_tcp); -+ env->taskScheduler().doEventLoop(&fWatchVariableForSyncInterface); -+ delete[] fResultString; -+ if (fResultCode != 0) break; -+ - if (!strcmp(subsession->mediumName(), "audio")) - audiofound = 1; - if (!strcmp(subsession->mediumName(), "video")) -@@ -248,7 +260,11 @@ extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) { - - if (rtspClient != NULL) { - // Issue a RTSP aggregate "PLAY" command on the whole session: -- if (!rtspClient->playMediaSession(*mediaSession)) break; -+ fWatchVariableForSyncInterface = 0; -+ rtspClient->sendPlayCommand(*mediaSession, responseHandlerForSyncInterface); -+ env->taskScheduler().doEventLoop(&fWatchVariableForSyncInterface); -+ delete[] fResultString; -+ if (fResultCode != 0) break; - } else if (sipClient != NULL) { - sipClient->sendACK(); // to start the stream flowing - } -@@ -637,7 +653,8 @@ static void teardownRTSPorSIPSession(RTPState* rtpState) { - MediaSession* mediaSession = rtpState->mediaSession; - if (mediaSession == NULL) return; - if (rtpState->rtspClient != NULL) { -- rtpState->rtspClient->teardownMediaSession(*mediaSession); -+ fWatchVariableForSyncInterface = 0; -+ rtpState->rtspClient->sendTeardownCommand(*mediaSession, NULL); - } else if (rtpState->sipClient != NULL) { - rtpState->sipClient->sendBYE(); - } --- -1.8.5.2 - diff --git a/package/mplayer/mplayer-0004-add-arc-support.patch b/package/mplayer/mplayer-0004-add-arc-support.patch deleted file mode 100644 index c14ef2397f..0000000000 --- a/package/mplayer/mplayer-0004-add-arc-support.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- mplayer-1.1/configure 2013-12-03 00:32:10.815571460 -0800 -+++ mplayer-1.1-arc/configure 2013-11-29 00:34:29.238297709 -0800 -@@ -2492,6 +2492,10 @@ - generic) - arch='generic' - ;; -+ arc) -+ arch='arc' -+ iproc='arc' -+ ;; - - *) - echo "The architecture of your CPU ($host_arch) is not supported by this configure script" diff --git a/package/mtd/0001-Fix-rpmatch-call-under-uClibc.patch b/package/mtd/0001-Fix-rpmatch-call-under-uClibc.patch new file mode 100644 index 0000000000..910a501a08 --- /dev/null +++ b/package/mtd/0001-Fix-rpmatch-call-under-uClibc.patch @@ -0,0 +1,61 @@ +From aebb2831c13ffc6f1df79e638b99e78c52aed4ce Mon Sep 17 00:00:00 2001 +Message-Id: +From: Baruch Siach +Date: Sun, 13 Apr 2014 15:26:46 +0300 +Subject: [PATCH] Fix rpmatch() call under uClibc + +Combine the following two patches. The first is upstream (commit 50c9e11f7e), +the second has been posted upstream at +http://patchwork.ozlabs.org/patch/339365/. + +include/common.h: fix build against current uClibc + +Commit dbe0fd17f2 (mtd-utils: new prompt() helper for talking to the user) +introduced a rpmatch() call. However, uClibc versions older than (not yet +released) 0.9.34 don't have rpmatch() implementation. Add one. + +Signed-off-by: Baruch Siach +Signed-off-by: Artem Bityutskiy +Acked-by: Mike Frysinger + +include/common.h: fix build against recent 0.9.33 uClibc + +An implementation of rpmatch() was backported to the 0.9.33 branch of uClibc. +So the uClibc version check introduced in commit 50c9e11f7e (include/common.h: +fix build against current uClibc) is not enough. Rename the local rpmatch() +implementation to avoid collision. + +Cc: Mike Frysinger +Signed-off-by: Baruch Siach +--- + include/common.h | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/include/common.h b/include/common.h +index 4ffccea17213..838dc757bdf1 100644 +--- a/include/common.h ++++ b/include/common.h +@@ -102,6 +102,20 @@ extern "C" { + fprintf(stderr, "%s: warning!: " fmt "\n", PROGRAM_NAME, ##__VA_ARGS__); \ + } while(0) + ++#if defined(__UCLIBC__) ++/* uClibc versions before 0.9.34 don't have rpmatch() */ ++#if __UCLIBC_MAJOR__ == 0 && \ ++ (__UCLIBC_MINOR__ < 9 || \ ++ (__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ < 34)) ++#define rpmatch __rpmatch ++static inline int __rpmatch(const char *resp) ++{ ++ return (resp[0] == 'y' || resp[0] == 'Y') ? 1 : ++ (resp[0] == 'n' || resp[0] == 'N') ? 0 : -1; ++} ++#endif ++#endif ++ + /** + * prompt the user for confirmation + */ +-- +1.9.1 + diff --git a/package/mtd/mtd-01-Fix-rpmatch-call-under-uClibc.patch b/package/mtd/mtd-01-Fix-rpmatch-call-under-uClibc.patch deleted file mode 100644 index 910a501a08..0000000000 --- a/package/mtd/mtd-01-Fix-rpmatch-call-under-uClibc.patch +++ /dev/null @@ -1,61 +0,0 @@ -From aebb2831c13ffc6f1df79e638b99e78c52aed4ce Mon Sep 17 00:00:00 2001 -Message-Id: -From: Baruch Siach -Date: Sun, 13 Apr 2014 15:26:46 +0300 -Subject: [PATCH] Fix rpmatch() call under uClibc - -Combine the following two patches. The first is upstream (commit 50c9e11f7e), -the second has been posted upstream at -http://patchwork.ozlabs.org/patch/339365/. - -include/common.h: fix build against current uClibc - -Commit dbe0fd17f2 (mtd-utils: new prompt() helper for talking to the user) -introduced a rpmatch() call. However, uClibc versions older than (not yet -released) 0.9.34 don't have rpmatch() implementation. Add one. - -Signed-off-by: Baruch Siach -Signed-off-by: Artem Bityutskiy -Acked-by: Mike Frysinger - -include/common.h: fix build against recent 0.9.33 uClibc - -An implementation of rpmatch() was backported to the 0.9.33 branch of uClibc. -So the uClibc version check introduced in commit 50c9e11f7e (include/common.h: -fix build against current uClibc) is not enough. Rename the local rpmatch() -implementation to avoid collision. - -Cc: Mike Frysinger -Signed-off-by: Baruch Siach ---- - include/common.h | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/include/common.h b/include/common.h -index 4ffccea17213..838dc757bdf1 100644 ---- a/include/common.h -+++ b/include/common.h -@@ -102,6 +102,20 @@ extern "C" { - fprintf(stderr, "%s: warning!: " fmt "\n", PROGRAM_NAME, ##__VA_ARGS__); \ - } while(0) - -+#if defined(__UCLIBC__) -+/* uClibc versions before 0.9.34 don't have rpmatch() */ -+#if __UCLIBC_MAJOR__ == 0 && \ -+ (__UCLIBC_MINOR__ < 9 || \ -+ (__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ < 34)) -+#define rpmatch __rpmatch -+static inline int __rpmatch(const char *resp) -+{ -+ return (resp[0] == 'y' || resp[0] == 'Y') ? 1 : -+ (resp[0] == 'n' || resp[0] == 'N') ? 0 : -1; -+} -+#endif -+#endif -+ - /** - * prompt the user for confirmation - */ --- -1.9.1 - diff --git a/package/musepack/0001-shared.patch b/package/musepack/0001-shared.patch new file mode 100644 index 0000000000..d8c788db7c --- /dev/null +++ b/package/musepack/0001-shared.patch @@ -0,0 +1,24 @@ +Fixup installation of shared mpcdec library. +Based on gentoo patch. + +Signed-off-by: Gustavo Zacarias +--- + +diff -Nura musepack_src_r475.orig/libmpcdec/CMakeLists.txt musepack_src_r475/libmpcdec/CMakeLists.txt +--- musepack_src_r475.orig/libmpcdec/CMakeLists.txt 2010-08-21 12:55:01.000000000 -0300 ++++ musepack_src_r475/libmpcdec/CMakeLists.txt 2011-08-17 15:53:06.126873408 -0300 +@@ -1,7 +1,12 @@ + include_directories(${libmpc_SOURCE_DIR}/include) + if(SHARED) +- add_library(mpcdec SHARED huffman mpc_decoder mpc_reader streaminfo mpc_bits_reader mpc_demux requant synth_filter ${libmpc_SOURCE_DIR}/common/crc32) ++ add_library(mpcdec_shared SHARED huffman mpc_decoder mpc_reader streaminfo mpc_bits_reader mpc_demux requant synth_filter ${libmpc_SOURCE_DIR}/common/crc32) ++ set_target_properties(mpcdec_shared PROPERTIES OUTPUT_NAME mpcdec CLEAN_DIRECT_OUTPUT 1 VERSION 7.0.1 SOVERSION 7) ++ target_link_libraries(mpcdec_shared m) ++ install(TARGETS mpcdec_shared LIBRARY DESTINATION "lib${LIB_SUFFIX}" ARCHIVE DESTINATION "lib${LIB_SUFFIX}") + else(SHARED) + add_library(mpcdec_static STATIC huffman mpc_decoder mpc_reader streaminfo mpc_bits_reader mpc_demux requant synth_filter ${libmpc_SOURCE_DIR}/common/crc32) ++ set_target_properties(mpcdec_static PROPERTIES OUTPUT_NAME mpcdec CLEAN_DIRECT_OUTPUT 1) ++ target_link_libraries(mpcdec_static m) ++ install(TARGETS mpcdec_static LIBRARY DESTINATION "lib${LIB_SUFFIX}" ARCHIVE DESTINATION "lib${LIB_SUFFIX}") + endif(SHARED) +- diff --git a/package/musepack/0002-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch b/package/musepack/0002-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch new file mode 100644 index 0000000000..4bfeca0a04 --- /dev/null +++ b/package/musepack/0002-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch @@ -0,0 +1,43 @@ +From d2f01ba6fa2a065156fad686d1849309c661e527 Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Sun, 31 Aug 2014 12:07:31 +0200 +Subject: [PATCH 2/2] cmake: use the standard CMake flag to drive the shared + object build + +If BUILD_SHARED_LIBS is set and SHARED undefined, then drive SHARED with +the BUILD_SHARED_LIBS value. + +Signed-off-by: Samuel Martin +--- + CMakeLists.txt | 15 ++++++++++----- + 1 file changed, 10 insertions(+), 5 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b13f78c..db75510 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -7,11 +7,16 @@ project(libmpc C) + set(CMAKE_VERBOSE_MAKEFILE false) + TEST_BIG_ENDIAN(MPC_ENDIANNESS) + +-if(WIN32) +- option(SHARED "Use shared libmpcdec" OFF) +-else(WIN32) +- option(SHARED "Use shared libmpcdec" ON) +-endif(WIN32) ++# Use the standard CMake flag to drive the shared object build. ++if(DEFINED BUILD_SHARED_LIBS AND NOT DEFINED SHARED) ++ set(SHARED ${BUILD_SHARED_LIBS}) ++else() ++ if(WIN32) ++ option(SHARED "Use shared libmpcdec" OFF) ++ else(WIN32) ++ option(SHARED "Use shared libmpcdec" ON) ++ endif(WIN32) ++endif() + + add_definitions(-DFAST_MATH -DCVD_FASTLOG) + +-- +2.1.0 + diff --git a/package/musepack/musepack-0001-shared.patch b/package/musepack/musepack-0001-shared.patch deleted file mode 100644 index d8c788db7c..0000000000 --- a/package/musepack/musepack-0001-shared.patch +++ /dev/null @@ -1,24 +0,0 @@ -Fixup installation of shared mpcdec library. -Based on gentoo patch. - -Signed-off-by: Gustavo Zacarias ---- - -diff -Nura musepack_src_r475.orig/libmpcdec/CMakeLists.txt musepack_src_r475/libmpcdec/CMakeLists.txt ---- musepack_src_r475.orig/libmpcdec/CMakeLists.txt 2010-08-21 12:55:01.000000000 -0300 -+++ musepack_src_r475/libmpcdec/CMakeLists.txt 2011-08-17 15:53:06.126873408 -0300 -@@ -1,7 +1,12 @@ - include_directories(${libmpc_SOURCE_DIR}/include) - if(SHARED) -- add_library(mpcdec SHARED huffman mpc_decoder mpc_reader streaminfo mpc_bits_reader mpc_demux requant synth_filter ${libmpc_SOURCE_DIR}/common/crc32) -+ add_library(mpcdec_shared SHARED huffman mpc_decoder mpc_reader streaminfo mpc_bits_reader mpc_demux requant synth_filter ${libmpc_SOURCE_DIR}/common/crc32) -+ set_target_properties(mpcdec_shared PROPERTIES OUTPUT_NAME mpcdec CLEAN_DIRECT_OUTPUT 1 VERSION 7.0.1 SOVERSION 7) -+ target_link_libraries(mpcdec_shared m) -+ install(TARGETS mpcdec_shared LIBRARY DESTINATION "lib${LIB_SUFFIX}" ARCHIVE DESTINATION "lib${LIB_SUFFIX}") - else(SHARED) - add_library(mpcdec_static STATIC huffman mpc_decoder mpc_reader streaminfo mpc_bits_reader mpc_demux requant synth_filter ${libmpc_SOURCE_DIR}/common/crc32) -+ set_target_properties(mpcdec_static PROPERTIES OUTPUT_NAME mpcdec CLEAN_DIRECT_OUTPUT 1) -+ target_link_libraries(mpcdec_static m) -+ install(TARGETS mpcdec_static LIBRARY DESTINATION "lib${LIB_SUFFIX}" ARCHIVE DESTINATION "lib${LIB_SUFFIX}") - endif(SHARED) -- diff --git a/package/musepack/musepack-0002-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch b/package/musepack/musepack-0002-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch deleted file mode 100644 index 4bfeca0a04..0000000000 --- a/package/musepack/musepack-0002-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch +++ /dev/null @@ -1,43 +0,0 @@ -From d2f01ba6fa2a065156fad686d1849309c661e527 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sun, 31 Aug 2014 12:07:31 +0200 -Subject: [PATCH 2/2] cmake: use the standard CMake flag to drive the shared - object build - -If BUILD_SHARED_LIBS is set and SHARED undefined, then drive SHARED with -the BUILD_SHARED_LIBS value. - -Signed-off-by: Samuel Martin ---- - CMakeLists.txt | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b13f78c..db75510 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -7,11 +7,16 @@ project(libmpc C) - set(CMAKE_VERBOSE_MAKEFILE false) - TEST_BIG_ENDIAN(MPC_ENDIANNESS) - --if(WIN32) -- option(SHARED "Use shared libmpcdec" OFF) --else(WIN32) -- option(SHARED "Use shared libmpcdec" ON) --endif(WIN32) -+# Use the standard CMake flag to drive the shared object build. -+if(DEFINED BUILD_SHARED_LIBS AND NOT DEFINED SHARED) -+ set(SHARED ${BUILD_SHARED_LIBS}) -+else() -+ if(WIN32) -+ option(SHARED "Use shared libmpcdec" OFF) -+ else(WIN32) -+ option(SHARED "Use shared libmpcdec" ON) -+ endif(WIN32) -+endif() - - add_definitions(-DFAST_MATH -DCVD_FASTLOG) - --- -2.1.0 - diff --git a/package/mutt/0001-nodoc.patch b/package/mutt/0001-nodoc.patch new file mode 100644 index 0000000000..6fd556dcbc --- /dev/null +++ b/package/mutt/0001-nodoc.patch @@ -0,0 +1,21 @@ +Disable the documentation build + +The documentation tool is compiled for the target, but executed on the +host. We don't bother fixing this, as we don't care of the +documentation in Buildroot. + +Signed-off-by: Thomas Petazzoni + +Index: mutt-1.5.17+20080114/Makefile.am +=================================================================== +--- mutt-1.5.17+20080114.orig/Makefile.am 2010-05-15 18:15:08.000000000 +0200 ++++ mutt-1.5.17+20080114/Makefile.am 2010-05-15 18:15:17.000000000 +0200 +@@ -9,7 +9,7 @@ + IMAP_INCLUDES = -I$(top_srcdir)/imap + endif + +-SUBDIRS = m4 po intl doc contrib $(IMAP_SUBDIR) ++SUBDIRS = m4 po intl contrib $(IMAP_SUBDIR) + + bin_SCRIPTS = muttbug flea @SMIMEAUX_TARGET@ + diff --git a/package/mutt/mutt-01-nodoc.patch b/package/mutt/mutt-01-nodoc.patch deleted file mode 100644 index 6fd556dcbc..0000000000 --- a/package/mutt/mutt-01-nodoc.patch +++ /dev/null @@ -1,21 +0,0 @@ -Disable the documentation build - -The documentation tool is compiled for the target, but executed on the -host. We don't bother fixing this, as we don't care of the -documentation in Buildroot. - -Signed-off-by: Thomas Petazzoni - -Index: mutt-1.5.17+20080114/Makefile.am -=================================================================== ---- mutt-1.5.17+20080114.orig/Makefile.am 2010-05-15 18:15:08.000000000 +0200 -+++ mutt-1.5.17+20080114/Makefile.am 2010-05-15 18:15:17.000000000 +0200 -@@ -9,7 +9,7 @@ - IMAP_INCLUDES = -I$(top_srcdir)/imap - endif - --SUBDIRS = m4 po intl doc contrib $(IMAP_SUBDIR) -+SUBDIRS = m4 po intl contrib $(IMAP_SUBDIR) - - bin_SCRIPTS = muttbug flea @SMIMEAUX_TARGET@ - diff --git a/package/mxml/0001-fix-cross-target-installation.patch b/package/mxml/0001-fix-cross-target-installation.patch new file mode 100644 index 0000000000..3a9fa0c0cf --- /dev/null +++ b/package/mxml/0001-fix-cross-target-installation.patch @@ -0,0 +1,55 @@ +From: Baruch Siach +Subject: [PATCH] mxml: workaround for cross build + +The added patch is a workaround for cross build as follows: + + * disable run of a test binary at build time + * disable generation of documentation using the mxmldoc binary + * remove now non-existent entries from the install target + * disable strip when running install + +Signed-off-by: Baruch Siach +--- +diff -Nuar mxml-2.7-orig/Makefile.in mxml-2.7/Makefile.in +--- mxml-2.7-orig/Makefile.in 2011-04-13 18:43:32.000000000 +0300 ++++ mxml-2.7/Makefile.in 2012-05-16 07:21:42.677220980 +0300 +@@ -57,7 +57,7 @@ + # Install commands... + # + +-INSTALL_BIN = $(LIBTOOL) $(INSTALL) -m 755 -s ++INSTALL_BIN = $(LIBTOOL) $(INSTALL) -m 755 + INSTALL_DATA = $(INSTALL) -m 644 + INSTALL_DIR = $(INSTALL) -d + INSTALL_LIB = $(LIBTOOL) $(INSTALL) -m 755 +@@ -88,7 +88,7 @@ + mxml-index.o mxml-node.o mxml-search.o mxml-set.o + LIBOBJS = $(PUBLIBOBJS) mxml-private.o mxml-string.o + OBJS = mxmldoc.o testmxml.o $(LIBOBJS) +-TARGETS = $(LIBMXML) mxmldoc testmxml mxml.xml doc/mxml.man ++TARGETS = $(LIBMXML) libmxml.a + + + # +@@ -140,9 +140,6 @@ + # + + install: $(TARGETS) install-$(LIBMXML) install-libmxml.a +- echo Installing mxmldoc in $(BUILDROOT)$(bindir)... +- $(INSTALL_DIR) $(BUILDROOT)$(bindir) +- $(INSTALL_BIN) mxmldoc $(BUILDROOT)$(bindir) + echo Installing documentation in $(BUILDROOT)$(docdir)... + $(INSTALL_DIR) $(BUILDROOT)$(docdir) + for file in $(DOCFILES); do \ +@@ -154,11 +151,6 @@ + echo Installing pkgconfig files in $(BUILDROOT)$(libdir)/pkgconfig... + $(INSTALL_DIR) $(BUILDROOT)$(libdir)/pkgconfig + $(INSTALL_DATA) mxml.pc $(BUILDROOT)$(libdir)/pkgconfig +- echo Installing man pages in $(BUILDROOT)$(mandir)... +- $(INSTALL_DIR) $(BUILDROOT)$(mandir)/man1 +- $(INSTALL_MAN) doc/mxmldoc.man $(BUILDROOT)$(mandir)/man1/mxmldoc.1 +- $(INSTALL_DIR) $(BUILDROOT)$(mandir)/man3 +- $(INSTALL_MAN) doc/mxml.man $(BUILDROOT)$(mandir)/man3/mxml.3 + + install-libmxml.a: + echo Installing libmxml.a to $(BUILDROOT)$(libdir)... diff --git a/package/mxml/mxml-fix-cross-target-installation.patch b/package/mxml/mxml-fix-cross-target-installation.patch deleted file mode 100644 index 3a9fa0c0cf..0000000000 --- a/package/mxml/mxml-fix-cross-target-installation.patch +++ /dev/null @@ -1,55 +0,0 @@ -From: Baruch Siach -Subject: [PATCH] mxml: workaround for cross build - -The added patch is a workaround for cross build as follows: - - * disable run of a test binary at build time - * disable generation of documentation using the mxmldoc binary - * remove now non-existent entries from the install target - * disable strip when running install - -Signed-off-by: Baruch Siach ---- -diff -Nuar mxml-2.7-orig/Makefile.in mxml-2.7/Makefile.in ---- mxml-2.7-orig/Makefile.in 2011-04-13 18:43:32.000000000 +0300 -+++ mxml-2.7/Makefile.in 2012-05-16 07:21:42.677220980 +0300 -@@ -57,7 +57,7 @@ - # Install commands... - # - --INSTALL_BIN = $(LIBTOOL) $(INSTALL) -m 755 -s -+INSTALL_BIN = $(LIBTOOL) $(INSTALL) -m 755 - INSTALL_DATA = $(INSTALL) -m 644 - INSTALL_DIR = $(INSTALL) -d - INSTALL_LIB = $(LIBTOOL) $(INSTALL) -m 755 -@@ -88,7 +88,7 @@ - mxml-index.o mxml-node.o mxml-search.o mxml-set.o - LIBOBJS = $(PUBLIBOBJS) mxml-private.o mxml-string.o - OBJS = mxmldoc.o testmxml.o $(LIBOBJS) --TARGETS = $(LIBMXML) mxmldoc testmxml mxml.xml doc/mxml.man -+TARGETS = $(LIBMXML) libmxml.a - - - # -@@ -140,9 +140,6 @@ - # - - install: $(TARGETS) install-$(LIBMXML) install-libmxml.a -- echo Installing mxmldoc in $(BUILDROOT)$(bindir)... -- $(INSTALL_DIR) $(BUILDROOT)$(bindir) -- $(INSTALL_BIN) mxmldoc $(BUILDROOT)$(bindir) - echo Installing documentation in $(BUILDROOT)$(docdir)... - $(INSTALL_DIR) $(BUILDROOT)$(docdir) - for file in $(DOCFILES); do \ -@@ -154,11 +151,6 @@ - echo Installing pkgconfig files in $(BUILDROOT)$(libdir)/pkgconfig... - $(INSTALL_DIR) $(BUILDROOT)$(libdir)/pkgconfig - $(INSTALL_DATA) mxml.pc $(BUILDROOT)$(libdir)/pkgconfig -- echo Installing man pages in $(BUILDROOT)$(mandir)... -- $(INSTALL_DIR) $(BUILDROOT)$(mandir)/man1 -- $(INSTALL_MAN) doc/mxmldoc.man $(BUILDROOT)$(mandir)/man1/mxmldoc.1 -- $(INSTALL_DIR) $(BUILDROOT)$(mandir)/man3 -- $(INSTALL_MAN) doc/mxml.man $(BUILDROOT)$(mandir)/man3/mxml.3 - - install-libmxml.a: - echo Installing libmxml.a to $(BUILDROOT)$(libdir)... diff --git a/package/ncurses/0001-fixup-pkg-config-handling.patch b/package/ncurses/0001-fixup-pkg-config-handling.patch new file mode 100644 index 0000000000..e1cfc75164 --- /dev/null +++ b/package/ncurses/0001-fixup-pkg-config-handling.patch @@ -0,0 +1,89 @@ +Change handling of PKG_CONFIG_LIBDIR + +When PKG_CONFIG_LIBDIR was unset in the environment, the configure +script was deducing the PKG_CONFIG_LIBDIR from the location of the +pkg-config binary, which doesn't make a lot of sense, and isn't done +by other autotools based packages. + +Also, the configure script was checking that the directory really +exists. This forced to create the directory *and* provide an absolute +path in PKG_CONFIG_LIBDIR, which didn't play well with the fact that +at installation time, PKG_CONFIG_LIBDIR is suffixed to DESTDIR, which +means that we got two times the staging directory location. + +This patch fixes both of those issues. Also, since ncurses uses a fork +of autoconf 2.13, we can't simply use _AUTORECONF=YES, so we also fix +the configure script in this patch. + +Signed-off-by: Thomas Petazzoni + +Index: b/configure +=================================================================== +--- a/configure ++++ b/configure +@@ -3623,27 +3623,20 @@ + + # Leave this as something that can be overridden in the environment. + if test -z "$PKG_CONFIG_LIBDIR" ; then +- PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG" | sed -e 's,/[^/]*/[^/]*$,,'`/lib/pkgconfig ++ PKG_CONFIG_LIBDIR="/usr/lib/pkgconfig" + fi ++ + PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG_LIBDIR" | sed -e 's/^://' -e 's/:.*//'` +- if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then + +-# Check whether --enable-pc-files or --disable-pc-files was given. +-if test "${enable_pc_files+set}" = set; then +- enableval="$enable_pc_files" +- enable_pc_files=$enableval +-else +- enable_pc_files=no +-fi; +- echo "$as_me:3638: result: $enable_pc_files" >&5 +-echo "${ECHO_T}$enable_pc_files" >&6 ++ # Check whether --enable-pc-files or --disable-pc-files was given. ++ if test "${enable_pc_files+set}" = set; then ++ enableval="$enable_pc_files" ++ enable_pc_files=$enableval + else +- echo "$as_me:3641: result: no" >&5 +-echo "${ECHO_T}no" >&6 +- { echo "$as_me:3643: WARNING: did not find library $PKG_CONFIG_LIBDIR" >&5 +-echo "$as_me: WARNING: did not find library $PKG_CONFIG_LIBDIR" >&2;} +- enable_pc_files=no +- fi ++ enable_pc_files=no ++ fi; ++ echo "$as_me:3638: result: $enable_pc_files" >&5 ++ echo "${ECHO_T}$enable_pc_files" >&6 + fi + + echo "$as_me:3649: checking if we should assume mixed-case filenames" >&5 +Index: b/configure.in +=================================================================== +--- a/configure.in ++++ b/configure.in +@@ -174,20 +174,14 @@ + + # Leave this as something that can be overridden in the environment. + if test -z "$PKG_CONFIG_LIBDIR" ; then +- PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`/lib/pkgconfig ++ PKG_CONFIG_LIBDIR="/usr/lib/pkgconfig" + fi + PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG_LIBDIR" | sed -e 's/^://' -e 's/:.*//'` +- if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then +- AC_ARG_ENABLE(pc-files, ++ AC_ARG_ENABLE(pc-files, + [ --enable-pc-files generate and install .pc files for pkg-config], + [enable_pc_files=$enableval], + [enable_pc_files=no]) +- AC_MSG_RESULT($enable_pc_files) +- else +- AC_MSG_RESULT(no) +- AC_MSG_WARN(did not find library $PKG_CONFIG_LIBDIR) +- enable_pc_files=no +- fi ++ AC_MSG_RESULT($enable_pc_files) + fi + AC_SUBST(PKG_CONFIG_LIBDIR) + diff --git a/package/ncurses/ncurses-01-fixup-pkg-config-handling.patch b/package/ncurses/ncurses-01-fixup-pkg-config-handling.patch deleted file mode 100644 index e1cfc75164..0000000000 --- a/package/ncurses/ncurses-01-fixup-pkg-config-handling.patch +++ /dev/null @@ -1,89 +0,0 @@ -Change handling of PKG_CONFIG_LIBDIR - -When PKG_CONFIG_LIBDIR was unset in the environment, the configure -script was deducing the PKG_CONFIG_LIBDIR from the location of the -pkg-config binary, which doesn't make a lot of sense, and isn't done -by other autotools based packages. - -Also, the configure script was checking that the directory really -exists. This forced to create the directory *and* provide an absolute -path in PKG_CONFIG_LIBDIR, which didn't play well with the fact that -at installation time, PKG_CONFIG_LIBDIR is suffixed to DESTDIR, which -means that we got two times the staging directory location. - -This patch fixes both of those issues. Also, since ncurses uses a fork -of autoconf 2.13, we can't simply use _AUTORECONF=YES, so we also fix -the configure script in this patch. - -Signed-off-by: Thomas Petazzoni - -Index: b/configure -=================================================================== ---- a/configure -+++ b/configure -@@ -3623,27 +3623,20 @@ - - # Leave this as something that can be overridden in the environment. - if test -z "$PKG_CONFIG_LIBDIR" ; then -- PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG" | sed -e 's,/[^/]*/[^/]*$,,'`/lib/pkgconfig -+ PKG_CONFIG_LIBDIR="/usr/lib/pkgconfig" - fi -+ - PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG_LIBDIR" | sed -e 's/^://' -e 's/:.*//'` -- if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then - --# Check whether --enable-pc-files or --disable-pc-files was given. --if test "${enable_pc_files+set}" = set; then -- enableval="$enable_pc_files" -- enable_pc_files=$enableval --else -- enable_pc_files=no --fi; -- echo "$as_me:3638: result: $enable_pc_files" >&5 --echo "${ECHO_T}$enable_pc_files" >&6 -+ # Check whether --enable-pc-files or --disable-pc-files was given. -+ if test "${enable_pc_files+set}" = set; then -+ enableval="$enable_pc_files" -+ enable_pc_files=$enableval - else -- echo "$as_me:3641: result: no" >&5 --echo "${ECHO_T}no" >&6 -- { echo "$as_me:3643: WARNING: did not find library $PKG_CONFIG_LIBDIR" >&5 --echo "$as_me: WARNING: did not find library $PKG_CONFIG_LIBDIR" >&2;} -- enable_pc_files=no -- fi -+ enable_pc_files=no -+ fi; -+ echo "$as_me:3638: result: $enable_pc_files" >&5 -+ echo "${ECHO_T}$enable_pc_files" >&6 - fi - - echo "$as_me:3649: checking if we should assume mixed-case filenames" >&5 -Index: b/configure.in -=================================================================== ---- a/configure.in -+++ b/configure.in -@@ -174,20 +174,14 @@ - - # Leave this as something that can be overridden in the environment. - if test -z "$PKG_CONFIG_LIBDIR" ; then -- PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`/lib/pkgconfig -+ PKG_CONFIG_LIBDIR="/usr/lib/pkgconfig" - fi - PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG_LIBDIR" | sed -e 's/^://' -e 's/:.*//'` -- if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then -- AC_ARG_ENABLE(pc-files, -+ AC_ARG_ENABLE(pc-files, - [ --enable-pc-files generate and install .pc files for pkg-config], - [enable_pc_files=$enableval], - [enable_pc_files=no]) -- AC_MSG_RESULT($enable_pc_files) -- else -- AC_MSG_RESULT(no) -- AC_MSG_WARN(did not find library $PKG_CONFIG_LIBDIR) -- enable_pc_files=no -- fi -+ AC_MSG_RESULT($enable_pc_files) - fi - AC_SUBST(PKG_CONFIG_LIBDIR) - diff --git a/package/ne10/0001-CMakeLists-don-t-hard-code-thumb-code-generation.patch b/package/ne10/0001-CMakeLists-don-t-hard-code-thumb-code-generation.patch new file mode 100644 index 0000000000..3402b5ae6b --- /dev/null +++ b/package/ne10/0001-CMakeLists-don-t-hard-code-thumb-code-generation.patch @@ -0,0 +1,27 @@ +From 00995e0b8a66fbd0eabd206188120bfc1ecdac59 Mon Sep 17 00:00:00 2001 +Message-Id: <00995e0b8a66fbd0eabd206188120bfc1ecdac59.1398245232.git.baruch@tkos.co.il> +From: Baruch Siach +Date: Wed, 23 Apr 2014 12:21:37 +0300 +Subject: [PATCH] CMakeLists: don't hard code thumb code generation + +Signed-off-by: Baruch Siach +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2c7f8d62a42b..cec614fba041 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -77,7 +77,7 @@ if(ANDROID_PLATFORM) + add_subdirectory(android/NE10Demo/jni) + endif() + elseif(GNULINUX_PLATFORM) +- set(CMAKE_C_FLAGS "-O2 -mthumb-interwork -mthumb -march=armv7-a -mfpu=vfp3") ++ set(CMAKE_C_FLAGS "-O2 -mthumb-interwork -march=armv7-a -mfpu=vfp3") + set(CMAKE_ASM_FLAGS "-mthumb-interwork -mthumb -march=armv7-a -mfpu=neon") + elseif(IOS_PLATFORM) + #set minimal target ios version.If not provided this option, Xcode +-- +1.9.2 + diff --git a/package/ne10/ne10-01-CMakeLists-don-t-hard-code-thumb-code-generation.patch b/package/ne10/ne10-01-CMakeLists-don-t-hard-code-thumb-code-generation.patch deleted file mode 100644 index 3402b5ae6b..0000000000 --- a/package/ne10/ne10-01-CMakeLists-don-t-hard-code-thumb-code-generation.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 00995e0b8a66fbd0eabd206188120bfc1ecdac59 Mon Sep 17 00:00:00 2001 -Message-Id: <00995e0b8a66fbd0eabd206188120bfc1ecdac59.1398245232.git.baruch@tkos.co.il> -From: Baruch Siach -Date: Wed, 23 Apr 2014 12:21:37 +0300 -Subject: [PATCH] CMakeLists: don't hard code thumb code generation - -Signed-off-by: Baruch Siach ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2c7f8d62a42b..cec614fba041 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -77,7 +77,7 @@ if(ANDROID_PLATFORM) - add_subdirectory(android/NE10Demo/jni) - endif() - elseif(GNULINUX_PLATFORM) -- set(CMAKE_C_FLAGS "-O2 -mthumb-interwork -mthumb -march=armv7-a -mfpu=vfp3") -+ set(CMAKE_C_FLAGS "-O2 -mthumb-interwork -march=armv7-a -mfpu=vfp3") - set(CMAKE_ASM_FLAGS "-mthumb-interwork -mthumb -march=armv7-a -mfpu=neon") - elseif(IOS_PLATFORM) - #set minimal target ios version.If not provided this option, Xcode --- -1.9.2 - diff --git a/package/netcat/0001-signed-bit-counting.patch b/package/netcat/0001-signed-bit-counting.patch new file mode 100644 index 0000000000..e29da311a9 --- /dev/null +++ b/package/netcat/0001-signed-bit-counting.patch @@ -0,0 +1,30 @@ +# Fix the endian-specific bit-counting code so that it works. +# SF:1068324 "netcat_flag_count() fix" +# http://sourceforge.net/tracker/?func=detail&aid=1205729&group_id=52204&atid=466046 +# SF:1205729 "doen't work on arm linux platform": +# http://sourceforge.net/tracker/?func=detail&aid=1068324&group_id=52204&atid=466046 + +Index: netcat-0.7.1/src/flagset.c +=================================================================== +--- netcat-0.7.1.orig/src/flagset.c 2010-07-19 13:51:46.000000000 +0100 ++++ netcat-0.7.1/src/flagset.c 2010-07-19 13:52:27.000000000 +0100 +@@ -134,7 +134,7 @@ + + int netcat_flag_count(void) + { +- register char c; ++ register unsigned char c; + register int i; + int ret = 0; + +@@ -154,8 +154,8 @@ + Assumed that the bit number 1 is the sign, and that we will shift the + bit 1 (or the bit that takes its place later) until the the most right, + WHY it has to keep the wrong sign? */ +- ret -= (c >> 7); +- c <<= 1; ++ ret += c&1; ++ c>>=1; + } + } + diff --git a/package/netcat/netcat-0.7.1-signed-bit-counting.patch b/package/netcat/netcat-0.7.1-signed-bit-counting.patch deleted file mode 100644 index e29da311a9..0000000000 --- a/package/netcat/netcat-0.7.1-signed-bit-counting.patch +++ /dev/null @@ -1,30 +0,0 @@ -# Fix the endian-specific bit-counting code so that it works. -# SF:1068324 "netcat_flag_count() fix" -# http://sourceforge.net/tracker/?func=detail&aid=1205729&group_id=52204&atid=466046 -# SF:1205729 "doen't work on arm linux platform": -# http://sourceforge.net/tracker/?func=detail&aid=1068324&group_id=52204&atid=466046 - -Index: netcat-0.7.1/src/flagset.c -=================================================================== ---- netcat-0.7.1.orig/src/flagset.c 2010-07-19 13:51:46.000000000 +0100 -+++ netcat-0.7.1/src/flagset.c 2010-07-19 13:52:27.000000000 +0100 -@@ -134,7 +134,7 @@ - - int netcat_flag_count(void) - { -- register char c; -+ register unsigned char c; - register int i; - int ret = 0; - -@@ -154,8 +154,8 @@ - Assumed that the bit number 1 is the sign, and that we will shift the - bit 1 (or the bit that takes its place later) until the the most right, - WHY it has to keep the wrong sign? */ -- ret -= (c >> 7); -- c <<= 1; -+ ret += c&1; -+ c>>=1; - } - } - diff --git a/package/netplug/0001-makefile-flags.patch b/package/netplug/0001-makefile-flags.patch new file mode 100644 index 0000000000..b2468f8c84 --- /dev/null +++ b/package/netplug/0001-makefile-flags.patch @@ -0,0 +1,21 @@ +Preserve the cflags settings, because buildroot clobbers them. + +--- a/Makefile 2010-10-05 00:06:38.000000000 -0700 ++++ b/Makefile 2010-10-05 00:15:27.000000000 -0700 +@@ -11,11 +11,14 @@ mandir ?= $(prefix)/usr/share/man + + install_opts := + +-CFLAGS += -Wall -std=gnu99 -DNP_ETC_DIR='"$(etcdir)"' \ ++NETPLUG_CFLAGS += -Wall -std=gnu99 -DNP_ETC_DIR='"$(etcdir)"' \ + -DNP_SCRIPT_DIR='"$(scriptdir)"' -ggdb3 -O3 -DNP_VERSION='"$(version)"' + ++%.o: %.c ++ $(CC) $(NETPLUG_CFLAGS) $(CFLAGS) -c -o $@ $< ++ + netplugd: config.o netlink.o lib.o if_info.o main.o +- $(CC) $(LDFLAGS) -o $@ $^ ++ $(CC) $(LDFLAGS) -o $@ $(NETPLUG_CFLAGS) $^ + + install: + install -d $(install_opts) -m 755 \ diff --git a/package/netplug/netplug-1.2.9.2-makefile-flags.patch b/package/netplug/netplug-1.2.9.2-makefile-flags.patch deleted file mode 100644 index b2468f8c84..0000000000 --- a/package/netplug/netplug-1.2.9.2-makefile-flags.patch +++ /dev/null @@ -1,21 +0,0 @@ -Preserve the cflags settings, because buildroot clobbers them. - ---- a/Makefile 2010-10-05 00:06:38.000000000 -0700 -+++ b/Makefile 2010-10-05 00:15:27.000000000 -0700 -@@ -11,11 +11,14 @@ mandir ?= $(prefix)/usr/share/man - - install_opts := - --CFLAGS += -Wall -std=gnu99 -DNP_ETC_DIR='"$(etcdir)"' \ -+NETPLUG_CFLAGS += -Wall -std=gnu99 -DNP_ETC_DIR='"$(etcdir)"' \ - -DNP_SCRIPT_DIR='"$(scriptdir)"' -ggdb3 -O3 -DNP_VERSION='"$(version)"' - -+%.o: %.c -+ $(CC) $(NETPLUG_CFLAGS) $(CFLAGS) -c -o $@ $< -+ - netplugd: config.o netlink.o lib.o if_info.o main.o -- $(CC) $(LDFLAGS) -o $@ $^ -+ $(CC) $(LDFLAGS) -o $@ $(NETPLUG_CFLAGS) $^ - - install: - install -d $(install_opts) -m 755 \ diff --git a/package/network-manager/0001-NetworkManagerUtils-fix-build-with-toolchains-not-ex.patch b/package/network-manager/0001-NetworkManagerUtils-fix-build-with-toolchains-not-ex.patch new file mode 100644 index 0000000000..9286daa89d --- /dev/null +++ b/package/network-manager/0001-NetworkManagerUtils-fix-build-with-toolchains-not-ex.patch @@ -0,0 +1,38 @@ +From b8241447e2a910dde57bf5a44a4464d80c87ebca Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Mon, 11 Aug 2014 09:37:05 +0200 +Subject: [PATCH] NetworkManagerUtils: fix build with toolchains not exporting + CLOCK_BOOTTIME + +E.G. uClibc 0.9.33 and earlier. + +Submitted upstream: https://bugzilla.gnome.org/show_bug.cgi?id=734599 + +Signed-off-by: Peter Korsgaard +--- + src/NetworkManagerUtils.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/src/NetworkManagerUtils.c b/src/NetworkManagerUtils.c +index aa689ce..fc85b00 100644 +--- a/src/NetworkManagerUtils.c ++++ b/src/NetworkManagerUtils.c +@@ -45,6 +45,15 @@ + #include "nm-posix-signals.h" + + /* ++ * Some toolchains (E.G. uClibc 0.9.33 and earlier) don't export ++ * CLOCK_BOOTTIME even though the kernel supports it, so provide a ++ * local definition ++ */ ++#ifndef CLOCK_BOOTTIME ++#define CLOCK_BOOTTIME 7 ++#endif ++ ++/* + * nm_ethernet_address_is_valid + * + * Compares an Ethernet address against known invalid addresses. +-- +2.0.0 + diff --git a/package/network-manager/network-manager-0001-NetworkManagerUtils-fix-build-with-toolchains-not-ex.patch b/package/network-manager/network-manager-0001-NetworkManagerUtils-fix-build-with-toolchains-not-ex.patch deleted file mode 100644 index 9286daa89d..0000000000 --- a/package/network-manager/network-manager-0001-NetworkManagerUtils-fix-build-with-toolchains-not-ex.patch +++ /dev/null @@ -1,38 +0,0 @@ -From b8241447e2a910dde57bf5a44a4464d80c87ebca Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Mon, 11 Aug 2014 09:37:05 +0200 -Subject: [PATCH] NetworkManagerUtils: fix build with toolchains not exporting - CLOCK_BOOTTIME - -E.G. uClibc 0.9.33 and earlier. - -Submitted upstream: https://bugzilla.gnome.org/show_bug.cgi?id=734599 - -Signed-off-by: Peter Korsgaard ---- - src/NetworkManagerUtils.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/src/NetworkManagerUtils.c b/src/NetworkManagerUtils.c -index aa689ce..fc85b00 100644 ---- a/src/NetworkManagerUtils.c -+++ b/src/NetworkManagerUtils.c -@@ -45,6 +45,15 @@ - #include "nm-posix-signals.h" - - /* -+ * Some toolchains (E.G. uClibc 0.9.33 and earlier) don't export -+ * CLOCK_BOOTTIME even though the kernel supports it, so provide a -+ * local definition -+ */ -+#ifndef CLOCK_BOOTTIME -+#define CLOCK_BOOTTIME 7 -+#endif -+ -+/* - * nm_ethernet_address_is_valid - * - * Compares an Ethernet address against known invalid addresses. --- -2.0.0 - diff --git a/package/nfacct/0001-uclinux.patch b/package/nfacct/0001-uclinux.patch new file mode 100644 index 0000000000..295a370b46 --- /dev/null +++ b/package/nfacct/0001-uclinux.patch @@ -0,0 +1,26 @@ +From da1a0c186232d1bca9c723bd47d11a6e3807ae29 Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Tue, 10 Sep 2013 16:16:48 -0300 +Subject: [PATCH] configure: uclinux is also linux + +Signed-off-by: Gustavo Zacarias +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 9679112..9a34bdc 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -15,7 +15,7 @@ AC_PROG_INSTALL + AC_PROG_LN_S + + case "$host" in +-*-*-linux*) ;; ++*-*-linux* | *-*-uclinux*) ;; + *) AC_MSG_ERROR([Linux only, dude!]);; + esac + +-- +1.8.1.5 + diff --git a/package/nfacct/nfacct-01-uclinux.patch b/package/nfacct/nfacct-01-uclinux.patch deleted file mode 100644 index 295a370b46..0000000000 --- a/package/nfacct/nfacct-01-uclinux.patch +++ /dev/null @@ -1,26 +0,0 @@ -From da1a0c186232d1bca9c723bd47d11a6e3807ae29 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Tue, 10 Sep 2013 16:16:48 -0300 -Subject: [PATCH] configure: uclinux is also linux - -Signed-off-by: Gustavo Zacarias ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 9679112..9a34bdc 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -15,7 +15,7 @@ AC_PROG_INSTALL - AC_PROG_LN_S - - case "$host" in --*-*-linux*) ;; -+*-*-linux* | *-*-uclinux*) ;; - *) AC_MSG_ERROR([Linux only, dude!]);; - esac - --- -1.8.1.5 - diff --git a/package/ngrep/0001-make-objs.patch b/package/ngrep/0001-make-objs.patch new file mode 100644 index 0000000000..8b55e3f456 --- /dev/null +++ b/package/ngrep/0001-make-objs.patch @@ -0,0 +1,23 @@ +ngrep: don't include regex objects since we're using pcre + +Signed-off-by: Wade Berrier + +--- ngrep-1.45/Makefile.in.orig 2006-11-28 06:35:37.000000000 -0700 ++++ ngrep-1.45/Makefile.in 2011-06-29 14:05:27.000000000 -0600 +@@ -32,13 +32,13 @@ + + INSTALL = ./install-sh + +-REGEX_DIR=@REGEX_DIR@ +-REGEX_OBJS=@REGEX_OBJS@ ++REGEX_DIR= ++REGEX_OBJS= + + + all: $(TARGET) + +-$(TARGET): $(REGEX_OBJS) $(OBJS) ++$(TARGET): $(OBJS) + $(CC) $(CFLAGS) $(LDFLAGS) $(STRIPFLAG) -o $(TARGET) $(OBJS) $(REGEX_OBJS) $(LIBS) + + debug: $(REGEX_OBJS) $(OBJS) diff --git a/package/ngrep/0002-pcre-header.patch b/package/ngrep/0002-pcre-header.patch new file mode 100644 index 0000000000..40b9234dbc --- /dev/null +++ b/package/ngrep/0002-pcre-header.patch @@ -0,0 +1,16 @@ +ngrep: don't use versioned header + +Signed-off-by: Wade Berrier + +diff -ur ngrep-1.45/ngrep.c ngrep-1.45.mod/ngrep.c +--- ngrep-1.45/ngrep.c Tue Nov 28 15:38:43 2006 ++++ ngrep-1.45.mod/ngrep.c Sat May 19 10:21:27 2007 +@@ -92,7 +92,7 @@ + #endif + + #if USE_PCRE +-#include "pcre-5.0/pcre.h" ++#include "pcre.h" + #else + #include "regex-0.12/regex.h" + #endif diff --git a/package/ngrep/0003-fix-static-link.patch b/package/ngrep/0003-fix-static-link.patch new file mode 100644 index 0000000000..98c262696d --- /dev/null +++ b/package/ngrep/0003-fix-static-link.patch @@ -0,0 +1,25 @@ +ngrep: fix static link with pcre + +Libraries must be placed after object files. + +Signed-off-by: Romain Naour +--- + Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index 2ae4506..761d7d9 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -11,7 +11,7 @@ CFLAGS=@CFLAGS@ -D@OS@ @DEFS@ @EXTRA_DEFINES@ + INCLUDES=-I@srcdir@ @PCAP_INCLUDE@ @EXTRA_INCLUDES@ + + LDFLAGS=@LDFLAGS@ @PCAP_LINK@ +-LIBS=-lpcap @EXTRA_LIBS@ ++LIBS=@LIBS@ @EXTRA_LIBS@ + + STRIPFLAG=@STRIPFLAG@ + +-- +1.8.1.4 + diff --git a/package/ngrep/ngrep-0001-make-objs.patch b/package/ngrep/ngrep-0001-make-objs.patch deleted file mode 100644 index 8b55e3f456..0000000000 --- a/package/ngrep/ngrep-0001-make-objs.patch +++ /dev/null @@ -1,23 +0,0 @@ -ngrep: don't include regex objects since we're using pcre - -Signed-off-by: Wade Berrier - ---- ngrep-1.45/Makefile.in.orig 2006-11-28 06:35:37.000000000 -0700 -+++ ngrep-1.45/Makefile.in 2011-06-29 14:05:27.000000000 -0600 -@@ -32,13 +32,13 @@ - - INSTALL = ./install-sh - --REGEX_DIR=@REGEX_DIR@ --REGEX_OBJS=@REGEX_OBJS@ -+REGEX_DIR= -+REGEX_OBJS= - - - all: $(TARGET) - --$(TARGET): $(REGEX_OBJS) $(OBJS) -+$(TARGET): $(OBJS) - $(CC) $(CFLAGS) $(LDFLAGS) $(STRIPFLAG) -o $(TARGET) $(OBJS) $(REGEX_OBJS) $(LIBS) - - debug: $(REGEX_OBJS) $(OBJS) diff --git a/package/ngrep/ngrep-0002-pcre-header.patch b/package/ngrep/ngrep-0002-pcre-header.patch deleted file mode 100644 index 40b9234dbc..0000000000 --- a/package/ngrep/ngrep-0002-pcre-header.patch +++ /dev/null @@ -1,16 +0,0 @@ -ngrep: don't use versioned header - -Signed-off-by: Wade Berrier - -diff -ur ngrep-1.45/ngrep.c ngrep-1.45.mod/ngrep.c ---- ngrep-1.45/ngrep.c Tue Nov 28 15:38:43 2006 -+++ ngrep-1.45.mod/ngrep.c Sat May 19 10:21:27 2007 -@@ -92,7 +92,7 @@ - #endif - - #if USE_PCRE --#include "pcre-5.0/pcre.h" -+#include "pcre.h" - #else - #include "regex-0.12/regex.h" - #endif diff --git a/package/ngrep/ngrep-0003-fix-static-link.patch b/package/ngrep/ngrep-0003-fix-static-link.patch deleted file mode 100644 index 98c262696d..0000000000 --- a/package/ngrep/ngrep-0003-fix-static-link.patch +++ /dev/null @@ -1,25 +0,0 @@ -ngrep: fix static link with pcre - -Libraries must be placed after object files. - -Signed-off-by: Romain Naour ---- - Makefile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.in b/Makefile.in -index 2ae4506..761d7d9 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -11,7 +11,7 @@ CFLAGS=@CFLAGS@ -D@OS@ @DEFS@ @EXTRA_DEFINES@ - INCLUDES=-I@srcdir@ @PCAP_INCLUDE@ @EXTRA_INCLUDES@ - - LDFLAGS=@LDFLAGS@ @PCAP_LINK@ --LIBS=-lpcap @EXTRA_LIBS@ -+LIBS=@LIBS@ @EXTRA_LIBS@ - - STRIPFLAG=@STRIPFLAG@ - --- -1.8.1.4 - diff --git a/package/nodejs/0001-remove-python-bz2-dependency.patch b/package/nodejs/0001-remove-python-bz2-dependency.patch new file mode 100644 index 0000000000..75fe437502 --- /dev/null +++ b/package/nodejs/0001-remove-python-bz2-dependency.patch @@ -0,0 +1,27 @@ +Remove dependency on Python bz2 module + +The Python bz2 module is only needed in certain cases, so only import +it when needed. In the normal nodejs build, this allows to remove the +dependency on this module. + +Signed-off-by: Thomas Petazzoni +Index: b/deps/v8/tools/js2c.py +=================================================================== +--- a/deps/v8/tools/js2c.py ++++ b/deps/v8/tools/js2c.py +@@ -33,7 +33,6 @@ + + import os, re, sys, string + import jsmin +-import bz2 + + + def ToCAsciiArray(lines): +@@ -344,6 +343,7 @@ + else: + raw_sources_declaration = RAW_SOURCES_COMPRESSION_DECLARATION + if env['COMPRESSION'] == 'bz2': ++ import bz2 + all_sources = bz2.compress("".join(all_sources)) + total_length = len(all_sources) + sources_data = ToCArray(all_sources) diff --git a/package/nodejs/0002-gyp-force-link-command-to-use-CXX.patch b/package/nodejs/0002-gyp-force-link-command-to-use-CXX.patch new file mode 100644 index 0000000000..a2f02abf34 --- /dev/null +++ b/package/nodejs/0002-gyp-force-link-command-to-use-CXX.patch @@ -0,0 +1,26 @@ +From 00d809e9305241f8636a2d75e22c493293e6971a Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Sun, 20 Apr 2014 15:03:01 +0200 +Subject: [PATCH] gyp: force link command to use CXX + +Signed-off-by: Samuel Martin +--- + tools/gyp/pylib/gyp/generator/make.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/gyp/pylib/gyp/generator/make.py b/tools/gyp/pylib/gyp/generator/make.py +index 0de510e..54e4c96 100644 +--- a/tools/gyp/pylib/gyp/generator/make.py ++++ b/tools/gyp/pylib/gyp/generator/make.py +@@ -134,7 +134,7 @@ cmd_alink_thin = rm -f $@ && $(AR.$(TOOLSET)) crsT $@ $(filter %.o,$^) + # special "figure out circular dependencies" flags around the entire + # input list during linking. + quiet_cmd_link = LINK($(TOOLSET)) $@ +-cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ -Wl,--start-group $(LD_INPUTS) -Wl,--end-group $(LIBS) ++cmd_link = $(CXX.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ -Wl,--start-group $(LD_INPUTS) -Wl,--end-group $(LIBS) + + # We support two kinds of shared objects (.so): + # 1) shared_library, which is just bundling together many dependent libraries +-- +1.9.2 + diff --git a/package/nodejs/0003-use-python-variable.patch b/package/nodejs/0003-use-python-variable.patch new file mode 100644 index 0000000000..f231f4c2f2 --- /dev/null +++ b/package/nodejs/0003-use-python-variable.patch @@ -0,0 +1,43 @@ +Use a python variable instead of hardcoding Python + +The nodejs build system uses python in a number of locations. However, +there are some locations where it hardcodes 'python' as the Python +interpreter. However, this causes problems when we need to use python2 +instead of just python. + +This patch fixes that by using the python variable already in place in +the nodejs build system. + +Signed-off-by: Thomas Petazzoni + +Index: b/deps/v8/tools/gyp/v8.gyp +=================================================================== +--- a/deps/v8/tools/gyp/v8.gyp ++++ b/deps/v8/tools/gyp/v8.gyp +@@ -792,7 +792,7 @@ + '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', + ], + 'action': [ +- 'python', ++ '<(python)', + '../../tools/js2c.py', + '<@(_outputs)', + 'CORE', +@@ -810,7 +810,7 @@ + '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc', + ], + 'action': [ +- 'python', ++ '<(python)', + '../../tools/js2c.py', + '<@(_outputs)', + 'EXPERIMENTAL', +@@ -840,7 +840,7 @@ + '<(SHARED_INTERMEDIATE_DIR)/debug-support.cc', + ], + 'action': [ +- 'python', ++ '<(python)', + '../../tools/gen-postmortem-metadata.py', + '<@(_outputs)', + '<@(heapobject_files)' diff --git a/package/nodejs/0004-fix-build-error-without-OpenSSL-support.patch b/package/nodejs/0004-fix-build-error-without-OpenSSL-support.patch new file mode 100644 index 0000000000..9d41516292 --- /dev/null +++ b/package/nodejs/0004-fix-build-error-without-OpenSSL-support.patch @@ -0,0 +1,54 @@ +From d9acdddb42aef48a9504368019beb1ad91c9a0c4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Krause?= +Date: Mon, 17 Nov 2014 12:34:05 +0100 +Subject: [PATCH 1/1] src/node.cc: fix build error without OpenSSL support +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Jörg Krause +--- + src/node.cc | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/node.cc b/src/node.cc +index 18c743f..cb77f08 100644 +--- a/src/node.cc ++++ b/src/node.cc +@@ -82,7 +82,6 @@ typedef int mode_t; + #include "node_script.h" + #include "v8_typed_array.h" + +-#include "node_crypto.h" + #include "util.h" + + using namespace v8; +@@ -2544,8 +2543,10 @@ static void PrintHelp() { + " --trace-deprecation show stack traces on deprecations\n" + " --v8-options print v8 command line options\n" + " --max-stack-size=val set max v8 stack size (bytes)\n" ++#if HAVE_OPENSSL + " --enable-ssl2 enable ssl2\n" + " --enable-ssl3 enable ssl3\n" ++#endif + "\n" + "Environment variables:\n" + #ifdef _WIN32 +@@ -2579,12 +2580,14 @@ static void ParseArgs(int argc, char **argv) { + p = 1 + strchr(arg, '='); + max_stack_size = atoi(p); + argv[i] = const_cast(""); ++#if HAVE_OPENSSL + } else if (strcmp(arg, "--enable-ssl2") == 0) { + SSL2_ENABLE = true; + argv[i] = const_cast(""); + } else if (strcmp(arg, "--enable-ssl3") == 0) { + SSL3_ENABLE = true; + argv[i] = const_cast(""); ++#endif + } else if (strcmp(arg, "--help") == 0 || strcmp(arg, "-h") == 0) { + PrintHelp(); + exit(0); +-- +2.1.3 + diff --git a/package/nodejs/nodejs-0001-remove-python-bz2-dependency.patch b/package/nodejs/nodejs-0001-remove-python-bz2-dependency.patch deleted file mode 100644 index 75fe437502..0000000000 --- a/package/nodejs/nodejs-0001-remove-python-bz2-dependency.patch +++ /dev/null @@ -1,27 +0,0 @@ -Remove dependency on Python bz2 module - -The Python bz2 module is only needed in certain cases, so only import -it when needed. In the normal nodejs build, this allows to remove the -dependency on this module. - -Signed-off-by: Thomas Petazzoni -Index: b/deps/v8/tools/js2c.py -=================================================================== ---- a/deps/v8/tools/js2c.py -+++ b/deps/v8/tools/js2c.py -@@ -33,7 +33,6 @@ - - import os, re, sys, string - import jsmin --import bz2 - - - def ToCAsciiArray(lines): -@@ -344,6 +343,7 @@ - else: - raw_sources_declaration = RAW_SOURCES_COMPRESSION_DECLARATION - if env['COMPRESSION'] == 'bz2': -+ import bz2 - all_sources = bz2.compress("".join(all_sources)) - total_length = len(all_sources) - sources_data = ToCArray(all_sources) diff --git a/package/nodejs/nodejs-0002-gyp-force-link-command-to-use-CXX.patch b/package/nodejs/nodejs-0002-gyp-force-link-command-to-use-CXX.patch deleted file mode 100644 index a2f02abf34..0000000000 --- a/package/nodejs/nodejs-0002-gyp-force-link-command-to-use-CXX.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 00d809e9305241f8636a2d75e22c493293e6971a Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sun, 20 Apr 2014 15:03:01 +0200 -Subject: [PATCH] gyp: force link command to use CXX - -Signed-off-by: Samuel Martin ---- - tools/gyp/pylib/gyp/generator/make.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/gyp/pylib/gyp/generator/make.py b/tools/gyp/pylib/gyp/generator/make.py -index 0de510e..54e4c96 100644 ---- a/tools/gyp/pylib/gyp/generator/make.py -+++ b/tools/gyp/pylib/gyp/generator/make.py -@@ -134,7 +134,7 @@ cmd_alink_thin = rm -f $@ && $(AR.$(TOOLSET)) crsT $@ $(filter %.o,$^) - # special "figure out circular dependencies" flags around the entire - # input list during linking. - quiet_cmd_link = LINK($(TOOLSET)) $@ --cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ -Wl,--start-group $(LD_INPUTS) -Wl,--end-group $(LIBS) -+cmd_link = $(CXX.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ -Wl,--start-group $(LD_INPUTS) -Wl,--end-group $(LIBS) - - # We support two kinds of shared objects (.so): - # 1) shared_library, which is just bundling together many dependent libraries --- -1.9.2 - diff --git a/package/nodejs/nodejs-0003-use-python-variable.patch b/package/nodejs/nodejs-0003-use-python-variable.patch deleted file mode 100644 index f231f4c2f2..0000000000 --- a/package/nodejs/nodejs-0003-use-python-variable.patch +++ /dev/null @@ -1,43 +0,0 @@ -Use a python variable instead of hardcoding Python - -The nodejs build system uses python in a number of locations. However, -there are some locations where it hardcodes 'python' as the Python -interpreter. However, this causes problems when we need to use python2 -instead of just python. - -This patch fixes that by using the python variable already in place in -the nodejs build system. - -Signed-off-by: Thomas Petazzoni - -Index: b/deps/v8/tools/gyp/v8.gyp -=================================================================== ---- a/deps/v8/tools/gyp/v8.gyp -+++ b/deps/v8/tools/gyp/v8.gyp -@@ -792,7 +792,7 @@ - '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', - ], - 'action': [ -- 'python', -+ '<(python)', - '../../tools/js2c.py', - '<@(_outputs)', - 'CORE', -@@ -810,7 +810,7 @@ - '<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc', - ], - 'action': [ -- 'python', -+ '<(python)', - '../../tools/js2c.py', - '<@(_outputs)', - 'EXPERIMENTAL', -@@ -840,7 +840,7 @@ - '<(SHARED_INTERMEDIATE_DIR)/debug-support.cc', - ], - 'action': [ -- 'python', -+ '<(python)', - '../../tools/gen-postmortem-metadata.py', - '<@(_outputs)', - '<@(heapobject_files)' diff --git a/package/nodejs/nodejs-0004-fix-build-error-without-OpenSSL-support.patch b/package/nodejs/nodejs-0004-fix-build-error-without-OpenSSL-support.patch deleted file mode 100644 index 9d41516292..0000000000 --- a/package/nodejs/nodejs-0004-fix-build-error-without-OpenSSL-support.patch +++ /dev/null @@ -1,54 +0,0 @@ -From d9acdddb42aef48a9504368019beb1ad91c9a0c4 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Krause?= -Date: Mon, 17 Nov 2014 12:34:05 +0100 -Subject: [PATCH 1/1] src/node.cc: fix build error without OpenSSL support -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Jörg Krause ---- - src/node.cc | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/src/node.cc b/src/node.cc -index 18c743f..cb77f08 100644 ---- a/src/node.cc -+++ b/src/node.cc -@@ -82,7 +82,6 @@ typedef int mode_t; - #include "node_script.h" - #include "v8_typed_array.h" - --#include "node_crypto.h" - #include "util.h" - - using namespace v8; -@@ -2544,8 +2543,10 @@ static void PrintHelp() { - " --trace-deprecation show stack traces on deprecations\n" - " --v8-options print v8 command line options\n" - " --max-stack-size=val set max v8 stack size (bytes)\n" -+#if HAVE_OPENSSL - " --enable-ssl2 enable ssl2\n" - " --enable-ssl3 enable ssl3\n" -+#endif - "\n" - "Environment variables:\n" - #ifdef _WIN32 -@@ -2579,12 +2580,14 @@ static void ParseArgs(int argc, char **argv) { - p = 1 + strchr(arg, '='); - max_stack_size = atoi(p); - argv[i] = const_cast(""); -+#if HAVE_OPENSSL - } else if (strcmp(arg, "--enable-ssl2") == 0) { - SSL2_ENABLE = true; - argv[i] = const_cast(""); - } else if (strcmp(arg, "--enable-ssl3") == 0) { - SSL3_ENABLE = true; - argv[i] = const_cast(""); -+#endif - } else if (strcmp(arg, "--help") == 0 || strcmp(arg, "-h") == 0) { - PrintHelp(); - exit(0); --- -2.1.3 - diff --git a/package/nut/0001-foo-config.patch b/package/nut/0001-foo-config.patch new file mode 100644 index 0000000000..7202f139cc --- /dev/null +++ b/package/nut/0001-foo-config.patch @@ -0,0 +1,72 @@ +configure: fix calls to {gdlib,net-snmp}-config + +nut directly calls to {gdlib,net-snmp}-config. In Buildroot, +those are not in the PATH, and nut would catch those of the +system (if they are installed), or miss them entirely. + +Fix that by using environment variables that will tell where +to look for them. + +Note: libusb also uses libusb-config, but only as a fallback +if pkg-config fails. Since we ensure that pkg-config exists, +and libusb is properly installed before we build nut, there +is no need to fix the libusb-config calls, since they won't +be called at all. + +Signed-off-by: "Yann E. MORIN" + +diff -durN nut-2.6.5.orig/m4/nut_check_libgd.m4 nut-2.6.5/m4/nut_check_libgd.m4 +--- nut-2.6.5.orig/m4/nut_check_libgd.m4 2012-07-31 19:38:56.000000000 +0200 ++++ nut-2.6.5/m4/nut_check_libgd.m4 2013-11-01 16:24:02.626549810 +0100 +@@ -20,7 +20,7 @@ + LIBS="-lgd -lpng -lz -ljpeg -lfreetype -lm -lXpm -lX11" + + AC_MSG_CHECKING(for gd version via gdlib-config) +- GD_VERSION=`gdlib-config --version 2>/dev/null` ++ GD_VERSION=`${GDLIB_CONFIG} --version 2>/dev/null` + if test "$?" != "0" -o -z "${GD_VERSION}"; then + GD_VERSION="none" + fi +@@ -34,9 +34,9 @@ + AC_MSG_WARN([[If gd detection fails, upgrade gd or use --with-gd-includes and --with-gd-libs]]) + ;; + *) +- CFLAGS="`gdlib-config --includes 2>/dev/null`" +- LDFLAGS="`gdlib-config --ldflags 2>/dev/null`" +- LIBS="`gdlib-config --libs 2>/dev/null`" ++ CFLAGS="`${GDLIB_CONFIG} --includes 2>/dev/null`" ++ LDFLAGS="`${GDLIB_CONFIG} --ldflags 2>/dev/null`" ++ LIBS="`${GDLIB_CONFIG} --libs 2>/dev/null`" + ;; + esac + +diff -durN nut-2.6.5.orig/m4/nut_check_libnetsnmp.m4 nut-2.6.5/m4/nut_check_libnetsnmp.m4 +--- nut-2.6.5.orig/m4/nut_check_libnetsnmp.m4 2012-07-31 19:38:56.000000000 +0200 ++++ nut-2.6.5/m4/nut_check_libnetsnmp.m4 2013-11-01 16:30:07.398282923 +0100 +@@ -15,7 +15,7 @@ + + dnl See which version of the Net-SNMP library (if any) is installed + AC_MSG_CHECKING(for Net-SNMP version via net-snmp-config) +- SNMP_VERSION=`net-snmp-config --version 2>/dev/null` ++ SNMP_VERSION=`${NET_SNMP_CONFIG} --version 2>/dev/null` + if test "$?" != "0" -o -z "${SNMP_VERSION}"; then + SNMP_VERSION="none" + fi +@@ -33,7 +33,7 @@ + CFLAGS="${withval}" + ;; + esac +- ], [CFLAGS="`net-snmp-config --base-cflags 2>/dev/null`"]) ++ ], [CFLAGS="`${NET_SNMP_CONFIG} --base-cflags 2>/dev/null`"]) + AC_MSG_RESULT([${CFLAGS}]) + + AC_MSG_CHECKING(for Net-SNMP libs) +@@ -48,7 +48,7 @@ + LIBS="${withval}" + ;; + esac +- ], [LIBS="`net-snmp-config --libs 2>/dev/null`"]) ++ ], [LIBS="`${NET_SNMP_CONFIG} --libs 2>/dev/null`"]) + AC_MSG_RESULT([${LIBS}]) + + dnl Check if the Net-SNMP library is usable diff --git a/package/nut/0002-parallel-build.patch b/package/nut/0002-parallel-build.patch new file mode 100644 index 0000000000..f979c19da9 --- /dev/null +++ b/package/nut/0002-parallel-build.patch @@ -0,0 +1,24 @@ +conf: fix parallel install + +Do not reference the upsmon.conf.sample twice, otherwise install, with +a high number of make jobs, may fail, like so: + http://autobuild.buildroot.net/results/256/2567e13cd5bc702bc3a38a1d6fc8e34022cc7db5/build-end.log + +Signed-off-by: "Yann E. MORIN" + +--- +Upstream status: + https://github.com/networkupstools/nut/pull/147 + +diff -durB nut-2.7.2.orig/conf/Makefile.am nut-2.7.2/conf/Makefile.am +--- nut-2.7.2.orig/conf/Makefile.am 2014-02-14 09:56:53.000000000 +0100 ++++ nut-2.7.2/conf/Makefile.am 2014-08-17 11:33:46.804439240 +0200 +@@ -2,7 +2,7 @@ + + INSTALL_0600 = $(INSTALL) -m 0600 + +-SECFILES = upsmon.conf.sample upsd.conf.sample upsd.users.sample ++SECFILES = upsd.conf.sample upsd.users.sample + PUBFILES = nut.conf.sample ups.conf.sample + CGIPUB = hosts.conf.sample upsset.conf.sample upsstats.html.sample \ + upsstats-single.html.sample diff --git a/package/nut/nut-0001-foo-config.patch b/package/nut/nut-0001-foo-config.patch deleted file mode 100644 index 7202f139cc..0000000000 --- a/package/nut/nut-0001-foo-config.patch +++ /dev/null @@ -1,72 +0,0 @@ -configure: fix calls to {gdlib,net-snmp}-config - -nut directly calls to {gdlib,net-snmp}-config. In Buildroot, -those are not in the PATH, and nut would catch those of the -system (if they are installed), or miss them entirely. - -Fix that by using environment variables that will tell where -to look for them. - -Note: libusb also uses libusb-config, but only as a fallback -if pkg-config fails. Since we ensure that pkg-config exists, -and libusb is properly installed before we build nut, there -is no need to fix the libusb-config calls, since they won't -be called at all. - -Signed-off-by: "Yann E. MORIN" - -diff -durN nut-2.6.5.orig/m4/nut_check_libgd.m4 nut-2.6.5/m4/nut_check_libgd.m4 ---- nut-2.6.5.orig/m4/nut_check_libgd.m4 2012-07-31 19:38:56.000000000 +0200 -+++ nut-2.6.5/m4/nut_check_libgd.m4 2013-11-01 16:24:02.626549810 +0100 -@@ -20,7 +20,7 @@ - LIBS="-lgd -lpng -lz -ljpeg -lfreetype -lm -lXpm -lX11" - - AC_MSG_CHECKING(for gd version via gdlib-config) -- GD_VERSION=`gdlib-config --version 2>/dev/null` -+ GD_VERSION=`${GDLIB_CONFIG} --version 2>/dev/null` - if test "$?" != "0" -o -z "${GD_VERSION}"; then - GD_VERSION="none" - fi -@@ -34,9 +34,9 @@ - AC_MSG_WARN([[If gd detection fails, upgrade gd or use --with-gd-includes and --with-gd-libs]]) - ;; - *) -- CFLAGS="`gdlib-config --includes 2>/dev/null`" -- LDFLAGS="`gdlib-config --ldflags 2>/dev/null`" -- LIBS="`gdlib-config --libs 2>/dev/null`" -+ CFLAGS="`${GDLIB_CONFIG} --includes 2>/dev/null`" -+ LDFLAGS="`${GDLIB_CONFIG} --ldflags 2>/dev/null`" -+ LIBS="`${GDLIB_CONFIG} --libs 2>/dev/null`" - ;; - esac - -diff -durN nut-2.6.5.orig/m4/nut_check_libnetsnmp.m4 nut-2.6.5/m4/nut_check_libnetsnmp.m4 ---- nut-2.6.5.orig/m4/nut_check_libnetsnmp.m4 2012-07-31 19:38:56.000000000 +0200 -+++ nut-2.6.5/m4/nut_check_libnetsnmp.m4 2013-11-01 16:30:07.398282923 +0100 -@@ -15,7 +15,7 @@ - - dnl See which version of the Net-SNMP library (if any) is installed - AC_MSG_CHECKING(for Net-SNMP version via net-snmp-config) -- SNMP_VERSION=`net-snmp-config --version 2>/dev/null` -+ SNMP_VERSION=`${NET_SNMP_CONFIG} --version 2>/dev/null` - if test "$?" != "0" -o -z "${SNMP_VERSION}"; then - SNMP_VERSION="none" - fi -@@ -33,7 +33,7 @@ - CFLAGS="${withval}" - ;; - esac -- ], [CFLAGS="`net-snmp-config --base-cflags 2>/dev/null`"]) -+ ], [CFLAGS="`${NET_SNMP_CONFIG} --base-cflags 2>/dev/null`"]) - AC_MSG_RESULT([${CFLAGS}]) - - AC_MSG_CHECKING(for Net-SNMP libs) -@@ -48,7 +48,7 @@ - LIBS="${withval}" - ;; - esac -- ], [LIBS="`net-snmp-config --libs 2>/dev/null`"]) -+ ], [LIBS="`${NET_SNMP_CONFIG} --libs 2>/dev/null`"]) - AC_MSG_RESULT([${LIBS}]) - - dnl Check if the Net-SNMP library is usable diff --git a/package/nut/nut-0002-parallel-build.patch b/package/nut/nut-0002-parallel-build.patch deleted file mode 100644 index f979c19da9..0000000000 --- a/package/nut/nut-0002-parallel-build.patch +++ /dev/null @@ -1,24 +0,0 @@ -conf: fix parallel install - -Do not reference the upsmon.conf.sample twice, otherwise install, with -a high number of make jobs, may fail, like so: - http://autobuild.buildroot.net/results/256/2567e13cd5bc702bc3a38a1d6fc8e34022cc7db5/build-end.log - -Signed-off-by: "Yann E. MORIN" - ---- -Upstream status: - https://github.com/networkupstools/nut/pull/147 - -diff -durB nut-2.7.2.orig/conf/Makefile.am nut-2.7.2/conf/Makefile.am ---- nut-2.7.2.orig/conf/Makefile.am 2014-02-14 09:56:53.000000000 +0100 -+++ nut-2.7.2/conf/Makefile.am 2014-08-17 11:33:46.804439240 +0200 -@@ -2,7 +2,7 @@ - - INSTALL_0600 = $(INSTALL) -m 0600 - --SECFILES = upsmon.conf.sample upsd.conf.sample upsd.users.sample -+SECFILES = upsd.conf.sample upsd.users.sample - PUBFILES = nut.conf.sample ups.conf.sample - CGIPUB = hosts.conf.sample upsset.conf.sample upsstats.html.sample \ - upsstats-single.html.sample diff --git a/package/nuttcp/0001-susv3-legacy.patch b/package/nuttcp/0001-susv3-legacy.patch new file mode 100644 index 0000000000..9a215f8a86 --- /dev/null +++ b/package/nuttcp/0001-susv3-legacy.patch @@ -0,0 +1,264 @@ +[PATCH] Replace susv3 legacy function with modern equivalents + +Signed-off-by: Peter Korsgaard +--- + nuttcp-6.1.2.c | 90 ++++++++++++++++++++++++++++----------------------------- + 1 file changed, 45 insertions(+), 45 deletions(-) + +Index: nuttcp-6.1.2/nuttcp-6.1.2.c +=================================================================== +--- nuttcp-6.1.2.orig/nuttcp-6.1.2.c ++++ nuttcp-6.1.2/nuttcp-6.1.2.c +@@ -1925,11 +1925,11 @@ + if (udp && !haverateopt) + rate = DEFAULT_UDP_RATE; + +- bzero((char *)&frominet, sizeof(frominet)); +- bzero((char *)&clientaddr, sizeof(clientaddr)); ++ memset((char *)&frominet, 0, sizeof(frominet)); ++ memset((char *)&clientaddr, 0, sizeof(clientaddr)); + + #ifdef AF_INET6 +- bzero((char *)&clientaddr6, sizeof(clientaddr6)); ++ memset((char *)&clientaddr6, 0, sizeof(clientaddr6)); + clientscope6 = 0; + #endif + +@@ -1985,7 +1985,7 @@ + } + + while (stream_idx <= nstream) { +- bzero(&hints, sizeof(hints)); ++ memset(&hints, 0, sizeof(hints)); + res[stream_idx] = NULL; + if (explicitaf) hints.ai_family = af; + if ((cp2 = strchr(cp1, '/'))) { +@@ -3013,12 +3013,12 @@ + if ((stream_idx > 0) && skip_data) + break; + +- bzero((char *)&sinme[stream_idx], sizeof(sinme[stream_idx])); +- bzero((char *)&sinhim[stream_idx], sizeof(sinhim[stream_idx])); ++ memset((char *)&sinme[stream_idx], 0, sizeof(sinme[stream_idx])); ++ memset((char *)&sinhim[stream_idx], 0, sizeof(sinhim[stream_idx])); + + #ifdef AF_INET6 +- bzero((char *)&sinme6[stream_idx], sizeof(sinme6[stream_idx])); +- bzero((char *)&sinhim6[stream_idx], sizeof(sinhim6[stream_idx])); ++ memset((char *)&sinme6[stream_idx], 0, sizeof(sinme6[stream_idx])); ++ memset((char *)&sinhim6[stream_idx], 0, sizeof(sinhim6[stream_idx])); + #endif + + if (((trans && !reverse) && (stream_idx > 0)) || +@@ -3028,15 +3028,15 @@ + if (client) { + if (af == AF_INET) { + sinhim[stream_idx].sin_family = af; +- bcopy((char *)&(((struct sockaddr_in *)res[stream_idx]->ai_addr)->sin_addr), +- (char *)&sinhim[stream_idx].sin_addr.s_addr, ++ memcpy((char *)&sinhim[stream_idx].sin_addr.s_addr, ++ (char *)&(((struct sockaddr_in *)res[stream_idx]->ai_addr)->sin_addr), + sizeof(sinhim[stream_idx].sin_addr.s_addr)); + } + #ifdef AF_INET6 + else if (af == AF_INET6) { + sinhim6[stream_idx].sin6_family = af; +- bcopy((char *)&(((struct sockaddr_in6 *)res[stream_idx]->ai_addr)->sin6_addr), +- (char *)&sinhim6[stream_idx].sin6_addr.s6_addr, ++ memcpy((char *)&sinhim6[stream_idx].sin6_addr.s6_addr, ++ (char *)&(((struct sockaddr_in6 *)res[stream_idx]->ai_addr)->sin6_addr), + sizeof(sinhim6[stream_idx].sin6_addr.s6_addr)); + sinhim6[stream_idx].sin6_scope_id = ((struct sockaddr_in6 *)res[stream_idx]->ai_addr)->sin6_scope_id; + } +@@ -3113,8 +3113,8 @@ + * to the multicast group + */ + if (af == AF_INET) { +- bcopy((char *)&sinhim[1].sin_addr.s_addr, +- (char *)&save_sinhim.sin_addr.s_addr, ++ memcpy((char *)&save_sinhim.sin_addr.s_addr, ++ (char *)&sinhim[1].sin_addr.s_addr, + sizeof(struct in_addr)); + if (!client && (irvers >= 50505)) { + struct sockaddr_in peer; +@@ -3124,8 +3124,8 @@ + &peerlen) < 0) { + err("getpeername"); + } +- bcopy((char *)&peer.sin_addr.s_addr, +- (char *)&sinhim[1].sin_addr.s_addr, ++ memcpy((char *)&sinhim[1].sin_addr.s_addr, ++ (char *)&peer.sin_addr.s_addr, + sizeof(struct in_addr)); + } + else { +@@ -3136,8 +3136,8 @@ + &melen) < 0) { + err("getsockname"); + } +- bcopy((char *)&me.sin_addr.s_addr, +- (char *)&sinhim[1].sin_addr.s_addr, ++ memcpy((char *)&sinhim[1].sin_addr.s_addr, ++ (char *)&me.sin_addr.s_addr, + sizeof(struct in_addr)); + } + sinhim[1].sin_addr.s_addr &= +@@ -4197,13 +4197,13 @@ + &melen) < 0) { + err("getsockname"); + } +- bcopy((char *)&me.sin_addr.s_addr, +- (char *)&mc_group.imr_multiaddr.s_addr, ++ memcpy((char *)&mc_group.imr_multiaddr.s_addr, ++ (char *)&me.sin_addr.s_addr, + sizeof(struct in_addr)); + } + else { +- bcopy((char *)&peer.sin_addr.s_addr, +- (char *)&mc_group.imr_multiaddr.s_addr, ++ memcpy((char *)&mc_group.imr_multiaddr.s_addr, ++ (char *)&peer.sin_addr.s_addr, + sizeof(struct in_addr)); + } + mc_group.imr_multiaddr.s_addr &= htonl(0xFFFFFF); +@@ -4330,12 +4330,12 @@ + if(udp) { + strcpy(buf, "BOD0"); + if (multicast) { +- bcopy((char *)&sinhim[1].sin_addr.s_addr, +- (char *)&save_mc.sin_addr.s_addr, +- sizeof(struct in_addr)); +- bcopy((char *)&save_sinhim.sin_addr.s_addr, ++ memcpy((char *)&save_mc.sin_addr.s_addr, + (char *)&sinhim[1].sin_addr.s_addr, + sizeof(struct in_addr)); ++ memcpy((char *)&sinhim[1].sin_addr.s_addr, ++ (char *)&save_sinhim.sin_addr.s_addr, ++ sizeof(struct in_addr)); + } + (void)Nwrite( fd[stream_idx + 1], buf, 4 ); /* rcvr start */ + if (two_bod) { +@@ -4344,8 +4344,8 @@ + (void)Nwrite( fd[stream_idx + 1], buf, 4 ); /* rcvr start */ + } + if (multicast) { +- bcopy((char *)&save_mc.sin_addr.s_addr, +- (char *)&sinhim[1].sin_addr.s_addr, ++ memcpy((char *)&sinhim[1].sin_addr.s_addr, ++ (char *)&save_mc.sin_addr.s_addr, + sizeof(struct in_addr)); + } + if (timeout) +@@ -4361,7 +4361,7 @@ + fflush(stdout); + } + if (udplossinfo) +- bcopy(&nbytes, buf + 24, 8); ++ memcpy(buf + 24, &nbytes, 8); + if (!udp && interval && !(format & NORETRANS) && + ((retransinfo == 1) || + ((retransinfo >= 2) && +@@ -4372,13 +4372,13 @@ + tmp = 0x5254524Eu; /* "RTRN" */ + else + tmp = 0x48525452u; /* "HRTR" */ +- bcopy(&nretrans, buf + 24, 4); +- bcopy(&tmp, buf + 28, 4); ++ memcpy(buf + 24, &nretrans, 4); ++ memcpy(buf + 28, &tmp, 4); + } + else { + send_retrans = 0; + if (!udp) +- bzero(buf + 24, 8); ++ memset(buf + 24, 0, 8); + } + if (nbuf == INT_MAX) + nbuf = ULLONG_MAX; +@@ -4423,12 +4423,12 @@ + nbytes += buflen; + cnt = 0; + if (udplossinfo) +- bcopy(&nbytes, buf + 24, 8); ++ memcpy(buf + 24, &nbytes, 8); + if (send_retrans) { + nretrans = get_retrans( + fd[stream_idx + 1]); + nretrans -= iretrans; +- bcopy(&nretrans, buf + 24, 4); ++ memcpy(buf + 24, &nretrans, 4); + } + stream_idx++; + stream_idx = stream_idx % nstream; +@@ -4523,8 +4523,8 @@ + nbytes += cnt; + if(udp) { + if (multicast) +- bcopy((char *)&save_sinhim.sin_addr.s_addr, +- (char *)&sinhim[1].sin_addr.s_addr, ++ memcpy((char *)&sinhim[1].sin_addr.s_addr, ++ (char *)&save_sinhim.sin_addr.s_addr, + sizeof(struct in_addr)); + strcpy(buf, "EOD0"); + (void)Nwrite( fd[stream_idx + 1], buf, 4 ); /* rcvr end */ +@@ -4532,7 +4532,7 @@ + } else { + first_read = 1; + need_swap = 0; +- bzero(buf + 24, 8); ++ memset(buf + 24, 0, 8); + if (udp) { + ntbytesc = 0; + got_eod0 = 0; +@@ -4584,7 +4584,7 @@ + * goes off right here */ + if (udplossinfo) { + if (first_read) { +- bcopy(buf + 24, &ntbytesc, ++ memcpy(&ntbytesc, buf + 24, + 8); + first_read = 0; + if (ntbytesc > 0x100000000ull) +@@ -4598,7 +4598,7 @@ + } + } + if (!need_swap) +- bcopy(buf + 24, &ntbytesc, ++ memcpy(&ntbytesc, buf + 24, + 8); + else { + cp1 = (char *)&ntbytesc; +@@ -4627,8 +4627,8 @@ + uint32_t tmp; + + first_read = 0; +- bcopy(buf + 24, &nretrans, 4); +- bcopy(buf + 28, &tmp, 4); ++ memcpy(&nretrans, buf + 24, 4); ++ memcpy(&tmp, buf + 28, 4); + if (tmp == 0x5254524Eu) { + /* "RTRN" */ + retransinfo = 1; +@@ -4661,7 +4661,7 @@ + } + if (read_retrans) { + if (!need_swap) +- bcopy(buf + 24, &nretrans, ++ memcpy(&nretrans, buf + 24, + 4); + else { + cp1 = (char *)&nretrans; +@@ -5327,10 +5327,10 @@ + itimer.it_interval.tv_usec = 0; + setitimer(ITIMER_REAL, &itimer, 0); + signal(SIGALRM, SIG_DFL); +- bzero((char *)&frominet, sizeof(frominet)); +- bzero((char *)&clientaddr, sizeof(clientaddr)); ++ memset((char *)&frominet, 0, sizeof(frominet)); ++ memset((char *)&clientaddr, 0, sizeof(clientaddr)); + #ifdef AF_INET6 +- bzero((char *)&clientaddr6, sizeof(clientaddr)); ++ memset((char *)&clientaddr6, 0, sizeof(clientaddr)); + clientscope6 = 0; + #endif + cput = 0.000001; diff --git a/package/nuttcp/nuttcp-6.1.2-susv3-legacy.patch b/package/nuttcp/nuttcp-6.1.2-susv3-legacy.patch deleted file mode 100644 index 9a215f8a86..0000000000 --- a/package/nuttcp/nuttcp-6.1.2-susv3-legacy.patch +++ /dev/null @@ -1,264 +0,0 @@ -[PATCH] Replace susv3 legacy function with modern equivalents - -Signed-off-by: Peter Korsgaard ---- - nuttcp-6.1.2.c | 90 ++++++++++++++++++++++++++++----------------------------- - 1 file changed, 45 insertions(+), 45 deletions(-) - -Index: nuttcp-6.1.2/nuttcp-6.1.2.c -=================================================================== ---- nuttcp-6.1.2.orig/nuttcp-6.1.2.c -+++ nuttcp-6.1.2/nuttcp-6.1.2.c -@@ -1925,11 +1925,11 @@ - if (udp && !haverateopt) - rate = DEFAULT_UDP_RATE; - -- bzero((char *)&frominet, sizeof(frominet)); -- bzero((char *)&clientaddr, sizeof(clientaddr)); -+ memset((char *)&frominet, 0, sizeof(frominet)); -+ memset((char *)&clientaddr, 0, sizeof(clientaddr)); - - #ifdef AF_INET6 -- bzero((char *)&clientaddr6, sizeof(clientaddr6)); -+ memset((char *)&clientaddr6, 0, sizeof(clientaddr6)); - clientscope6 = 0; - #endif - -@@ -1985,7 +1985,7 @@ - } - - while (stream_idx <= nstream) { -- bzero(&hints, sizeof(hints)); -+ memset(&hints, 0, sizeof(hints)); - res[stream_idx] = NULL; - if (explicitaf) hints.ai_family = af; - if ((cp2 = strchr(cp1, '/'))) { -@@ -3013,12 +3013,12 @@ - if ((stream_idx > 0) && skip_data) - break; - -- bzero((char *)&sinme[stream_idx], sizeof(sinme[stream_idx])); -- bzero((char *)&sinhim[stream_idx], sizeof(sinhim[stream_idx])); -+ memset((char *)&sinme[stream_idx], 0, sizeof(sinme[stream_idx])); -+ memset((char *)&sinhim[stream_idx], 0, sizeof(sinhim[stream_idx])); - - #ifdef AF_INET6 -- bzero((char *)&sinme6[stream_idx], sizeof(sinme6[stream_idx])); -- bzero((char *)&sinhim6[stream_idx], sizeof(sinhim6[stream_idx])); -+ memset((char *)&sinme6[stream_idx], 0, sizeof(sinme6[stream_idx])); -+ memset((char *)&sinhim6[stream_idx], 0, sizeof(sinhim6[stream_idx])); - #endif - - if (((trans && !reverse) && (stream_idx > 0)) || -@@ -3028,15 +3028,15 @@ - if (client) { - if (af == AF_INET) { - sinhim[stream_idx].sin_family = af; -- bcopy((char *)&(((struct sockaddr_in *)res[stream_idx]->ai_addr)->sin_addr), -- (char *)&sinhim[stream_idx].sin_addr.s_addr, -+ memcpy((char *)&sinhim[stream_idx].sin_addr.s_addr, -+ (char *)&(((struct sockaddr_in *)res[stream_idx]->ai_addr)->sin_addr), - sizeof(sinhim[stream_idx].sin_addr.s_addr)); - } - #ifdef AF_INET6 - else if (af == AF_INET6) { - sinhim6[stream_idx].sin6_family = af; -- bcopy((char *)&(((struct sockaddr_in6 *)res[stream_idx]->ai_addr)->sin6_addr), -- (char *)&sinhim6[stream_idx].sin6_addr.s6_addr, -+ memcpy((char *)&sinhim6[stream_idx].sin6_addr.s6_addr, -+ (char *)&(((struct sockaddr_in6 *)res[stream_idx]->ai_addr)->sin6_addr), - sizeof(sinhim6[stream_idx].sin6_addr.s6_addr)); - sinhim6[stream_idx].sin6_scope_id = ((struct sockaddr_in6 *)res[stream_idx]->ai_addr)->sin6_scope_id; - } -@@ -3113,8 +3113,8 @@ - * to the multicast group - */ - if (af == AF_INET) { -- bcopy((char *)&sinhim[1].sin_addr.s_addr, -- (char *)&save_sinhim.sin_addr.s_addr, -+ memcpy((char *)&save_sinhim.sin_addr.s_addr, -+ (char *)&sinhim[1].sin_addr.s_addr, - sizeof(struct in_addr)); - if (!client && (irvers >= 50505)) { - struct sockaddr_in peer; -@@ -3124,8 +3124,8 @@ - &peerlen) < 0) { - err("getpeername"); - } -- bcopy((char *)&peer.sin_addr.s_addr, -- (char *)&sinhim[1].sin_addr.s_addr, -+ memcpy((char *)&sinhim[1].sin_addr.s_addr, -+ (char *)&peer.sin_addr.s_addr, - sizeof(struct in_addr)); - } - else { -@@ -3136,8 +3136,8 @@ - &melen) < 0) { - err("getsockname"); - } -- bcopy((char *)&me.sin_addr.s_addr, -- (char *)&sinhim[1].sin_addr.s_addr, -+ memcpy((char *)&sinhim[1].sin_addr.s_addr, -+ (char *)&me.sin_addr.s_addr, - sizeof(struct in_addr)); - } - sinhim[1].sin_addr.s_addr &= -@@ -4197,13 +4197,13 @@ - &melen) < 0) { - err("getsockname"); - } -- bcopy((char *)&me.sin_addr.s_addr, -- (char *)&mc_group.imr_multiaddr.s_addr, -+ memcpy((char *)&mc_group.imr_multiaddr.s_addr, -+ (char *)&me.sin_addr.s_addr, - sizeof(struct in_addr)); - } - else { -- bcopy((char *)&peer.sin_addr.s_addr, -- (char *)&mc_group.imr_multiaddr.s_addr, -+ memcpy((char *)&mc_group.imr_multiaddr.s_addr, -+ (char *)&peer.sin_addr.s_addr, - sizeof(struct in_addr)); - } - mc_group.imr_multiaddr.s_addr &= htonl(0xFFFFFF); -@@ -4330,12 +4330,12 @@ - if(udp) { - strcpy(buf, "BOD0"); - if (multicast) { -- bcopy((char *)&sinhim[1].sin_addr.s_addr, -- (char *)&save_mc.sin_addr.s_addr, -- sizeof(struct in_addr)); -- bcopy((char *)&save_sinhim.sin_addr.s_addr, -+ memcpy((char *)&save_mc.sin_addr.s_addr, - (char *)&sinhim[1].sin_addr.s_addr, - sizeof(struct in_addr)); -+ memcpy((char *)&sinhim[1].sin_addr.s_addr, -+ (char *)&save_sinhim.sin_addr.s_addr, -+ sizeof(struct in_addr)); - } - (void)Nwrite( fd[stream_idx + 1], buf, 4 ); /* rcvr start */ - if (two_bod) { -@@ -4344,8 +4344,8 @@ - (void)Nwrite( fd[stream_idx + 1], buf, 4 ); /* rcvr start */ - } - if (multicast) { -- bcopy((char *)&save_mc.sin_addr.s_addr, -- (char *)&sinhim[1].sin_addr.s_addr, -+ memcpy((char *)&sinhim[1].sin_addr.s_addr, -+ (char *)&save_mc.sin_addr.s_addr, - sizeof(struct in_addr)); - } - if (timeout) -@@ -4361,7 +4361,7 @@ - fflush(stdout); - } - if (udplossinfo) -- bcopy(&nbytes, buf + 24, 8); -+ memcpy(buf + 24, &nbytes, 8); - if (!udp && interval && !(format & NORETRANS) && - ((retransinfo == 1) || - ((retransinfo >= 2) && -@@ -4372,13 +4372,13 @@ - tmp = 0x5254524Eu; /* "RTRN" */ - else - tmp = 0x48525452u; /* "HRTR" */ -- bcopy(&nretrans, buf + 24, 4); -- bcopy(&tmp, buf + 28, 4); -+ memcpy(buf + 24, &nretrans, 4); -+ memcpy(buf + 28, &tmp, 4); - } - else { - send_retrans = 0; - if (!udp) -- bzero(buf + 24, 8); -+ memset(buf + 24, 0, 8); - } - if (nbuf == INT_MAX) - nbuf = ULLONG_MAX; -@@ -4423,12 +4423,12 @@ - nbytes += buflen; - cnt = 0; - if (udplossinfo) -- bcopy(&nbytes, buf + 24, 8); -+ memcpy(buf + 24, &nbytes, 8); - if (send_retrans) { - nretrans = get_retrans( - fd[stream_idx + 1]); - nretrans -= iretrans; -- bcopy(&nretrans, buf + 24, 4); -+ memcpy(buf + 24, &nretrans, 4); - } - stream_idx++; - stream_idx = stream_idx % nstream; -@@ -4523,8 +4523,8 @@ - nbytes += cnt; - if(udp) { - if (multicast) -- bcopy((char *)&save_sinhim.sin_addr.s_addr, -- (char *)&sinhim[1].sin_addr.s_addr, -+ memcpy((char *)&sinhim[1].sin_addr.s_addr, -+ (char *)&save_sinhim.sin_addr.s_addr, - sizeof(struct in_addr)); - strcpy(buf, "EOD0"); - (void)Nwrite( fd[stream_idx + 1], buf, 4 ); /* rcvr end */ -@@ -4532,7 +4532,7 @@ - } else { - first_read = 1; - need_swap = 0; -- bzero(buf + 24, 8); -+ memset(buf + 24, 0, 8); - if (udp) { - ntbytesc = 0; - got_eod0 = 0; -@@ -4584,7 +4584,7 @@ - * goes off right here */ - if (udplossinfo) { - if (first_read) { -- bcopy(buf + 24, &ntbytesc, -+ memcpy(&ntbytesc, buf + 24, - 8); - first_read = 0; - if (ntbytesc > 0x100000000ull) -@@ -4598,7 +4598,7 @@ - } - } - if (!need_swap) -- bcopy(buf + 24, &ntbytesc, -+ memcpy(&ntbytesc, buf + 24, - 8); - else { - cp1 = (char *)&ntbytesc; -@@ -4627,8 +4627,8 @@ - uint32_t tmp; - - first_read = 0; -- bcopy(buf + 24, &nretrans, 4); -- bcopy(buf + 28, &tmp, 4); -+ memcpy(&nretrans, buf + 24, 4); -+ memcpy(&tmp, buf + 28, 4); - if (tmp == 0x5254524Eu) { - /* "RTRN" */ - retransinfo = 1; -@@ -4661,7 +4661,7 @@ - } - if (read_retrans) { - if (!need_swap) -- bcopy(buf + 24, &nretrans, -+ memcpy(&nretrans, buf + 24, - 4); - else { - cp1 = (char *)&nretrans; -@@ -5327,10 +5327,10 @@ - itimer.it_interval.tv_usec = 0; - setitimer(ITIMER_REAL, &itimer, 0); - signal(SIGALRM, SIG_DFL); -- bzero((char *)&frominet, sizeof(frominet)); -- bzero((char *)&clientaddr, sizeof(clientaddr)); -+ memset((char *)&frominet, 0, sizeof(frominet)); -+ memset((char *)&clientaddr, 0, sizeof(clientaddr)); - #ifdef AF_INET6 -- bzero((char *)&clientaddr6, sizeof(clientaddr)); -+ memset((char *)&clientaddr6, 0, sizeof(clientaddr)); - clientscope6 = 0; - #endif - cput = 0.000001; diff --git a/package/ocf-linux/0001-modules-cross.patch b/package/ocf-linux/0001-modules-cross.patch new file mode 100644 index 0000000000..f80ef062c8 --- /dev/null +++ b/package/ocf-linux/0001-modules-cross.patch @@ -0,0 +1,42 @@ +Remove the OCF linux kernel extension instead opting to build ocf-linux +modules out of tree. +This is easier for users since no kernel config tweaking is required. +On the downside the OCF drivers can't be used, but then all of the +kernel crypto drivers are available to users via cryptosoft which is +preferred. + +Signed-off-by: Gustavo Zacarias + +diff -Nura ocf-linux-20120127.orig/ocf/Makefile ocf-linux-20120127/ocf/Makefile +--- ocf-linux-20120127.orig/ocf/Makefile 2013-04-27 09:27:04.413911866 -0300 ++++ ocf-linux-20120127/ocf/Makefile 2013-04-27 09:27:31.131775576 -0300 +@@ -2,6 +2,7 @@ + -include $(ROOTDIR)/modules/.config + + OCF_OBJS = crypto.o criov.o ++KDIR ?= /lib/modules/$(shell uname -r)/build + + ifdef CONFIG_OCF_RANDOMHARVEST + OCF_OBJS += random.o +@@ -78,20 +79,13 @@ + # + + ocf_make: +- make -C /lib/modules/$(shell uname -r)/build M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m +- make -C /lib/modules/$(shell uname -r)/build M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m CONFIG_OCF_CRYPTOSOFT=m +- -make -C /lib/modules/$(shell uname -r)/build M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m CONFIG_OCF_BENCH=m +- -make -C /lib/modules/$(shell uname -r)/build M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m CONFIG_OCF_OCFNULL=m +- -make -C /lib/modules/$(shell uname -r)/build M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m CONFIG_OCF_HIFN=m ++ make -C $(KDIR) M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m CONFIG_OCF_CRYPTOSOFT=m CONFIG_OCF_BENCH=m CONFIG_OCF_OCFNULL=m + + ocf_modules: + $(MAKE) ocf_make OCF_TARGET=modules + + ocf_install: + $(MAKE) ocf_make OCF_TARGET="modules modules_install" +- depmod +- mkdir -p /usr/include/crypto +- cp cryptodev.h /usr/include/crypto/. + + # + # generate full kernel patches for 2.4 and 2.6 kernels to make patching diff --git a/package/ocf-linux/ocf-linux-01-modules-cross.patch b/package/ocf-linux/ocf-linux-01-modules-cross.patch deleted file mode 100644 index f80ef062c8..0000000000 --- a/package/ocf-linux/ocf-linux-01-modules-cross.patch +++ /dev/null @@ -1,42 +0,0 @@ -Remove the OCF linux kernel extension instead opting to build ocf-linux -modules out of tree. -This is easier for users since no kernel config tweaking is required. -On the downside the OCF drivers can't be used, but then all of the -kernel crypto drivers are available to users via cryptosoft which is -preferred. - -Signed-off-by: Gustavo Zacarias - -diff -Nura ocf-linux-20120127.orig/ocf/Makefile ocf-linux-20120127/ocf/Makefile ---- ocf-linux-20120127.orig/ocf/Makefile 2013-04-27 09:27:04.413911866 -0300 -+++ ocf-linux-20120127/ocf/Makefile 2013-04-27 09:27:31.131775576 -0300 -@@ -2,6 +2,7 @@ - -include $(ROOTDIR)/modules/.config - - OCF_OBJS = crypto.o criov.o -+KDIR ?= /lib/modules/$(shell uname -r)/build - - ifdef CONFIG_OCF_RANDOMHARVEST - OCF_OBJS += random.o -@@ -78,20 +79,13 @@ - # - - ocf_make: -- make -C /lib/modules/$(shell uname -r)/build M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m -- make -C /lib/modules/$(shell uname -r)/build M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m CONFIG_OCF_CRYPTOSOFT=m -- -make -C /lib/modules/$(shell uname -r)/build M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m CONFIG_OCF_BENCH=m -- -make -C /lib/modules/$(shell uname -r)/build M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m CONFIG_OCF_OCFNULL=m -- -make -C /lib/modules/$(shell uname -r)/build M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m CONFIG_OCF_HIFN=m -+ make -C $(KDIR) M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m CONFIG_OCF_CRYPTOSOFT=m CONFIG_OCF_BENCH=m CONFIG_OCF_OCFNULL=m - - ocf_modules: - $(MAKE) ocf_make OCF_TARGET=modules - - ocf_install: - $(MAKE) ocf_make OCF_TARGET="modules modules_install" -- depmod -- mkdir -p /usr/include/crypto -- cp cryptodev.h /usr/include/crypto/. - - # - # generate full kernel patches for 2.4 and 2.6 kernels to make patching diff --git a/package/ofono/0001-uclibc-backtrace.patch b/package/ofono/0001-uclibc-backtrace.patch new file mode 100644 index 0000000000..8499bcfb93 --- /dev/null +++ b/package/ofono/0001-uclibc-backtrace.patch @@ -0,0 +1,44 @@ +[PATCH] fix build on uClibc without UCLIBC_HAS_BACKTRACE + +Backtrace support is only used for logging on signal errors, which +isn't really critical, so simply remove backtrace info if not +available in uClibc. + +Signed-off-by: Peter Korsgaard +--- + src/log.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +Index: ofono-1.5/src/log.c +=================================================================== +--- ofono-1.5.orig/src/log.c ++++ ofono-1.5/src/log.c +@@ -30,7 +30,12 @@ + #include + #include + #include ++#include ++/* backtrace support is optional on uClibc */ ++#if !(defined(__UCLIBC__) && !defined (__UCLIBC_HAS_BACKTRACE__)) ++#define HAVE_BACKTRACE + #include ++#endif + #include + + #include "ofono.h" +@@ -115,6 +120,7 @@ + + static void print_backtrace(unsigned int offset) + { ++#ifdef HAVE_BACKTRACE + void *frames[99]; + size_t n_ptrs; + unsigned int i; +@@ -213,6 +219,7 @@ + + close(outfd[1]); + close(infd[0]); ++#endif /* HAVE_BACKTRACE */ + } + + static void signal_handler(int signo) diff --git a/package/ofono/ofono-uclibc-backtrace.patch b/package/ofono/ofono-uclibc-backtrace.patch deleted file mode 100644 index 8499bcfb93..0000000000 --- a/package/ofono/ofono-uclibc-backtrace.patch +++ /dev/null @@ -1,44 +0,0 @@ -[PATCH] fix build on uClibc without UCLIBC_HAS_BACKTRACE - -Backtrace support is only used for logging on signal errors, which -isn't really critical, so simply remove backtrace info if not -available in uClibc. - -Signed-off-by: Peter Korsgaard ---- - src/log.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -Index: ofono-1.5/src/log.c -=================================================================== ---- ofono-1.5.orig/src/log.c -+++ ofono-1.5/src/log.c -@@ -30,7 +30,12 @@ - #include - #include - #include -+#include -+/* backtrace support is optional on uClibc */ -+#if !(defined(__UCLIBC__) && !defined (__UCLIBC_HAS_BACKTRACE__)) -+#define HAVE_BACKTRACE - #include -+#endif - #include - - #include "ofono.h" -@@ -115,6 +120,7 @@ - - static void print_backtrace(unsigned int offset) - { -+#ifdef HAVE_BACKTRACE - void *frames[99]; - size_t n_ptrs; - unsigned int i; -@@ -213,6 +219,7 @@ - - close(outfd[1]); - close(infd[0]); -+#endif /* HAVE_BACKTRACE */ - } - - static void signal_handler(int signo) diff --git a/package/open2300/0001-fix-makefile.patch b/package/open2300/0001-fix-makefile.patch new file mode 100644 index 0000000000..c3bb252368 --- /dev/null +++ b/package/open2300/0001-fix-makefile.patch @@ -0,0 +1,52 @@ +From b0a1f12349bee43040a889c7e74873cfb253b9d8 Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Thu, 6 Feb 2014 21:42:50 +0100 +Subject: [PATCH] fix makefile + +- allow to extend CFLAGS and CC_LDFLAGS +- remove hard-coded include dirs. and lib. dirs. (which pointed to some + location in the host system) + +Signed-off-by: Samuel Martin +--- + Makefile | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/Makefile b/Makefile +index 92a2cc0..1b54175 100755 +--- a/Makefile ++++ b/Makefile +@@ -37,9 +37,9 @@ MYSQLHISTLOGOBJ = mysqlhistlog2300.o rw2300.o linux2300.o win2300.o + + VERSION = 1.11 + +-CFLAGS = -Wall -O3 -DVERSION=\"$(VERSION)\" +-CC_LDFLAGS = -lm +-CC_WINFLAG = ++override CFLAGS += -Wall -O3 -DVERSION=\"$(VERSION)\" ++override CC_LDFLAGS += -lm ++CC_WINFLAG = + # For Windows - comment the two line above and un-comment the two lines below. + #CC_LDFLAGS = -lm -lwsock32 + #CC_WINFLAG = -mwindows +@@ -80,7 +80,7 @@ xml2300 : $(XMLOBJ) + $(CC) $(CFLAGS) -o $@ $(XMLOBJ) $(CC_LDFLAGS) $(CC_WINFLAG) + + mysql2300: +- $(CC) $(CFLAGS) -o mysql2300 mysql2300.c rw2300.c linux2300.c $(CC_LDFLAGS) $(CC_WINFLAG) -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient ++ $(CC) $(CFLAGS) -o mysql2300 mysql2300.c rw2300.c linux2300.c $(CC_LDFLAGS) $(CC_WINFLAG) + + pgsql2300: $(PGSQLOBJ) + $(CC) $(CFLAGS) -o $@ $(PGSQLOBJ) $(CC_LDFLAGS) $(CC_WINFLAG) -I/usr/include/pgsql -L/usr/lib/pgsql -lpq +@@ -95,7 +95,7 @@ minmax2300: $(MINMAXOBJ) + $(CC) $(CFLAGS) -o $@ $(MINMAXOBJ) $(CC_LDFLAGS) $(CC_WINFLAG) + + mysqlhistlog2300 : +- $(CC) $(CFLAGS) -o mysqlhistlog2300 mysqlhistlog2300.c rw2300.c linux2300.c $(CC_LDFLAGS) $(CC_WINFLAG) -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient ++ $(CC) $(CFLAGS) -o mysqlhistlog2300 mysqlhistlog2300.c rw2300.c linux2300.c $(CC_LDFLAGS) $(CC_WINFLAG) + + + install: +-- +1.8.5.3 + diff --git a/package/open2300/open2300-0001-fix-makefile.patch b/package/open2300/open2300-0001-fix-makefile.patch deleted file mode 100644 index c3bb252368..0000000000 --- a/package/open2300/open2300-0001-fix-makefile.patch +++ /dev/null @@ -1,52 +0,0 @@ -From b0a1f12349bee43040a889c7e74873cfb253b9d8 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Thu, 6 Feb 2014 21:42:50 +0100 -Subject: [PATCH] fix makefile - -- allow to extend CFLAGS and CC_LDFLAGS -- remove hard-coded include dirs. and lib. dirs. (which pointed to some - location in the host system) - -Signed-off-by: Samuel Martin ---- - Makefile | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/Makefile b/Makefile -index 92a2cc0..1b54175 100755 ---- a/Makefile -+++ b/Makefile -@@ -37,9 +37,9 @@ MYSQLHISTLOGOBJ = mysqlhistlog2300.o rw2300.o linux2300.o win2300.o - - VERSION = 1.11 - --CFLAGS = -Wall -O3 -DVERSION=\"$(VERSION)\" --CC_LDFLAGS = -lm --CC_WINFLAG = -+override CFLAGS += -Wall -O3 -DVERSION=\"$(VERSION)\" -+override CC_LDFLAGS += -lm -+CC_WINFLAG = - # For Windows - comment the two line above and un-comment the two lines below. - #CC_LDFLAGS = -lm -lwsock32 - #CC_WINFLAG = -mwindows -@@ -80,7 +80,7 @@ xml2300 : $(XMLOBJ) - $(CC) $(CFLAGS) -o $@ $(XMLOBJ) $(CC_LDFLAGS) $(CC_WINFLAG) - - mysql2300: -- $(CC) $(CFLAGS) -o mysql2300 mysql2300.c rw2300.c linux2300.c $(CC_LDFLAGS) $(CC_WINFLAG) -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient -+ $(CC) $(CFLAGS) -o mysql2300 mysql2300.c rw2300.c linux2300.c $(CC_LDFLAGS) $(CC_WINFLAG) - - pgsql2300: $(PGSQLOBJ) - $(CC) $(CFLAGS) -o $@ $(PGSQLOBJ) $(CC_LDFLAGS) $(CC_WINFLAG) -I/usr/include/pgsql -L/usr/lib/pgsql -lpq -@@ -95,7 +95,7 @@ minmax2300: $(MINMAXOBJ) - $(CC) $(CFLAGS) -o $@ $(MINMAXOBJ) $(CC_LDFLAGS) $(CC_WINFLAG) - - mysqlhistlog2300 : -- $(CC) $(CFLAGS) -o mysqlhistlog2300 mysqlhistlog2300.c rw2300.c linux2300.c $(CC_LDFLAGS) $(CC_WINFLAG) -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient -+ $(CC) $(CFLAGS) -o mysqlhistlog2300 mysqlhistlog2300.c rw2300.c linux2300.c $(CC_LDFLAGS) $(CC_WINFLAG) - - - install: --- -1.8.5.3 - diff --git a/package/openobex/0001-libusb_check_when_cross-compiling.patch b/package/openobex/0001-libusb_check_when_cross-compiling.patch new file mode 100644 index 0000000000..7b8056afcc --- /dev/null +++ b/package/openobex/0001-libusb_check_when_cross-compiling.patch @@ -0,0 +1,18 @@ +Fix libusb check when cross-compiling. + +Signed-off-by: Julien Boibessot +Signed-off-by: Samuel Martin + +Index: openobex-1.5/acinclude.m4 +=================================================================== +--- openobex-1.5.orig/acinclude.m4 2010-06-16 10:32:47.000000000 +0200 ++++ openobex-1.5/acinclude.m4 2010-06-16 10:35:33.000000000 +0200 +@@ -158,7 +158,7 @@ + ;; + *) + PKG_CHECK_MODULES(USB, libusb, usb_lib_found=yes, AC_MSG_RESULT(no)) +- AC_CHECK_FILE(${prefix}/lib/pkgconfig/libusb.pc, REQUIRES="libusb") ++ REQUIRES="libusb" + ;; + esac + AC_SUBST(USB_CFLAGS) diff --git a/package/openobex/0002-replace_deprecated_functions.patch b/package/openobex/0002-replace_deprecated_functions.patch new file mode 100644 index 0000000000..17274d385b --- /dev/null +++ b/package/openobex/0002-replace_deprecated_functions.patch @@ -0,0 +1,30 @@ +obex_test_cable.c: avoid to use SuSv3 LEGACY APIs + +Signed-off-by: Julien Boibessot +Signed-off-by: Samuel Martin + +Index: openobex-1.5/apps/obex_test_cable.c +=================================================================== +--- openobex-1.5.orig/apps/obex_test_cable.c 2009-02-08 19:30:22.000000000 +0100 ++++ openobex-1.5/apps/obex_test_cable.c 2010-06-16 11:11:05.000000000 +0200 +@@ -113,9 +113,9 @@ + if(total == sizeof(tmpbuf)) + return -1; + +- if( (answer = index(tmpbuf, '\n')) ) { ++ if( (answer = strchr(tmpbuf, '\n')) ) { + // Remove first line (echo) +- if( (answer_end = index(answer+1, '\n')) ) { ++ if( (answer_end = strchr(answer+1, '\n')) ) { + // Found end of answer + done = 1; + } +@@ -178,7 +178,7 @@ + } + + tcgetattr(gt->ttyfd, >->oldtio); +- bzero(>->newtio, sizeof(struct termios)); ++ memset(>->newtio, 0, sizeof(struct termios)); + gt->newtio.c_cflag = B115200 | CS8 | CREAD | CRTSCTS; + gt->newtio.c_iflag = IGNPAR; + gt->newtio.c_oflag = 0; diff --git a/package/openobex/openobex-libusb_check_when_cross-compiling.patch b/package/openobex/openobex-libusb_check_when_cross-compiling.patch deleted file mode 100644 index 7b8056afcc..0000000000 --- a/package/openobex/openobex-libusb_check_when_cross-compiling.patch +++ /dev/null @@ -1,18 +0,0 @@ -Fix libusb check when cross-compiling. - -Signed-off-by: Julien Boibessot -Signed-off-by: Samuel Martin - -Index: openobex-1.5/acinclude.m4 -=================================================================== ---- openobex-1.5.orig/acinclude.m4 2010-06-16 10:32:47.000000000 +0200 -+++ openobex-1.5/acinclude.m4 2010-06-16 10:35:33.000000000 +0200 -@@ -158,7 +158,7 @@ - ;; - *) - PKG_CHECK_MODULES(USB, libusb, usb_lib_found=yes, AC_MSG_RESULT(no)) -- AC_CHECK_FILE(${prefix}/lib/pkgconfig/libusb.pc, REQUIRES="libusb") -+ REQUIRES="libusb" - ;; - esac - AC_SUBST(USB_CFLAGS) diff --git a/package/openobex/openobex-replace_deprecated_functions.patch b/package/openobex/openobex-replace_deprecated_functions.patch deleted file mode 100644 index 17274d385b..0000000000 --- a/package/openobex/openobex-replace_deprecated_functions.patch +++ /dev/null @@ -1,30 +0,0 @@ -obex_test_cable.c: avoid to use SuSv3 LEGACY APIs - -Signed-off-by: Julien Boibessot -Signed-off-by: Samuel Martin - -Index: openobex-1.5/apps/obex_test_cable.c -=================================================================== ---- openobex-1.5.orig/apps/obex_test_cable.c 2009-02-08 19:30:22.000000000 +0100 -+++ openobex-1.5/apps/obex_test_cable.c 2010-06-16 11:11:05.000000000 +0200 -@@ -113,9 +113,9 @@ - if(total == sizeof(tmpbuf)) - return -1; - -- if( (answer = index(tmpbuf, '\n')) ) { -+ if( (answer = strchr(tmpbuf, '\n')) ) { - // Remove first line (echo) -- if( (answer_end = index(answer+1, '\n')) ) { -+ if( (answer_end = strchr(answer+1, '\n')) ) { - // Found end of answer - done = 1; - } -@@ -178,7 +178,7 @@ - } - - tcgetattr(gt->ttyfd, >->oldtio); -- bzero(>->newtio, sizeof(struct termios)); -+ memset(>->newtio, 0, sizeof(struct termios)); - gt->newtio.c_cflag = B115200 | CS8 | CREAD | CRTSCTS; - gt->newtio.c_iflag = IGNPAR; - gt->newtio.c_oflag = 0; diff --git a/package/openpgm/0001-version_generator.py-make-it-python3-compliant.patch b/package/openpgm/0001-version_generator.py-make-it-python3-compliant.patch new file mode 100644 index 0000000000..97cff29df0 --- /dev/null +++ b/package/openpgm/0001-version_generator.py-make-it-python3-compliant.patch @@ -0,0 +1,42 @@ +From e04f5c20fc1536f8e6d4faf32f2f4657d441f7c8 Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Mon, 14 Apr 2014 17:54:37 +0200 +Subject: [PATCH] version_generator.py: make it python3 compliant + +Signed-off-by: Samuel Martin +--- + openpgm/pgm/version_generator.py | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/openpgm/pgm/version_generator.py b/openpgm/pgm/version_generator.py +index 2265480..c31376f 100755 +--- a/openpgm/pgm/version_generator.py ++++ b/openpgm/pgm/version_generator.py +@@ -1,5 +1,7 @@ + #!/usr/bin/python + ++from __future__ import print_function ++ + import os + import platform + import time +@@ -8,7 +10,7 @@ build_date = time.strftime ("%Y-%m-%d") + build_time = time.strftime ("%H:%M:%S") + build_rev = filter (str.isdigit, "$Revision: 1369 $") + +-print """ ++print(""" + /* vim:ts=8:sts=8:sw=4:noai:noexpandtab + * + * OpenPGM version. +@@ -47,6 +49,6 @@ const char* pgm_build_revision = "%s"; + + + /* eof */ +-"""%(build_date, build_time, platform.system(), platform.machine(), build_rev) ++"""%(build_date, build_time, platform.system(), platform.machine(), build_rev)) + + # end of file +-- +1.9.2 + diff --git a/package/openpgm/0002-cross-compile.patch b/package/openpgm/0002-cross-compile.patch new file mode 100644 index 0000000000..07a24492e5 --- /dev/null +++ b/package/openpgm/0002-cross-compile.patch @@ -0,0 +1,38 @@ +configure.ac: cross-compilation fix + +This patch enables to configure the package when cross-compiling in a way +recommended by Autoconf manual (see manual for version 2.69, Section 6.6 +Checking Runtime Behavior). + +Signed-off-by: Alexander Lukichev + +--- a/openpgm/pgm/configure.ac 2011-09-27 20:59:08.000000000 +0300 ++++ b/openpgm/pgm/configure.ac 2013-02-12 10:33:53.000000000 +0200 +@@ -272,14 +272,19 @@ uint32_t add32_with_carry (uint32_t a, u + ;; + esac + # ticket spinlock friendly: unaligned pointers & atomic ops (excl. Sun Pro) +-AC_MSG_CHECKING([for unaligned pointers]) +-AC_RUN_IFELSE( +- [AC_LANG_PROGRAM([[char* nezumi = "mouse";]], +- [[short x = *(short*)(nezumi + 2)]])], +- [AC_MSG_RESULT([yes]) +- pgm_unaligned_pointers=yes], +- [AC_MSG_RESULT([no]) +- pgm_unaligned_pointers=no]) ++AC_CACHE_CHECK([if unaligned access fails], [ac_cv_lbl_unaligned_fail], ++ [AC_RUN_IFELSE( ++ [AC_LANG_PROGRAM([[char* nezumi = "mouse";]], ++ [[short x = *(short*)(nezumi + 2)]])], ++ [ac_cv_lbl_unaligned_fail=no], ++ [ac_cv_lbl_unaligned_fail=yes], ++ [ac_cv_lbl_unaligned_fail=yes]) ++ ]) ++if test "$ac_cv_lbl_unaligned_fail" = yes; then ++ pgm_unaligned_pointers=no ++else ++ pgm_unaligned_pointers=yes ++fi + AC_MSG_CHECKING([for intrinsic atomic ops]) + # AC_PREPROC_IFELSE not always portable + AC_COMPILE_IFELSE( diff --git a/package/openpgm/openpgm-0001-version_generator.py-make-it-python3-compliant.patch b/package/openpgm/openpgm-0001-version_generator.py-make-it-python3-compliant.patch deleted file mode 100644 index 97cff29df0..0000000000 --- a/package/openpgm/openpgm-0001-version_generator.py-make-it-python3-compliant.patch +++ /dev/null @@ -1,42 +0,0 @@ -From e04f5c20fc1536f8e6d4faf32f2f4657d441f7c8 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Mon, 14 Apr 2014 17:54:37 +0200 -Subject: [PATCH] version_generator.py: make it python3 compliant - -Signed-off-by: Samuel Martin ---- - openpgm/pgm/version_generator.py | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/openpgm/pgm/version_generator.py b/openpgm/pgm/version_generator.py -index 2265480..c31376f 100755 ---- a/openpgm/pgm/version_generator.py -+++ b/openpgm/pgm/version_generator.py -@@ -1,5 +1,7 @@ - #!/usr/bin/python - -+from __future__ import print_function -+ - import os - import platform - import time -@@ -8,7 +10,7 @@ build_date = time.strftime ("%Y-%m-%d") - build_time = time.strftime ("%H:%M:%S") - build_rev = filter (str.isdigit, "$Revision: 1369 $") - --print """ -+print(""" - /* vim:ts=8:sts=8:sw=4:noai:noexpandtab - * - * OpenPGM version. -@@ -47,6 +49,6 @@ const char* pgm_build_revision = "%s"; - - - /* eof */ --"""%(build_date, build_time, platform.system(), platform.machine(), build_rev) -+"""%(build_date, build_time, platform.system(), platform.machine(), build_rev)) - - # end of file --- -1.9.2 - diff --git a/package/openpgm/openpgm-cross-compile.patch b/package/openpgm/openpgm-cross-compile.patch deleted file mode 100644 index 07a24492e5..0000000000 --- a/package/openpgm/openpgm-cross-compile.patch +++ /dev/null @@ -1,38 +0,0 @@ -configure.ac: cross-compilation fix - -This patch enables to configure the package when cross-compiling in a way -recommended by Autoconf manual (see manual for version 2.69, Section 6.6 -Checking Runtime Behavior). - -Signed-off-by: Alexander Lukichev - ---- a/openpgm/pgm/configure.ac 2011-09-27 20:59:08.000000000 +0300 -+++ b/openpgm/pgm/configure.ac 2013-02-12 10:33:53.000000000 +0200 -@@ -272,14 +272,19 @@ uint32_t add32_with_carry (uint32_t a, u - ;; - esac - # ticket spinlock friendly: unaligned pointers & atomic ops (excl. Sun Pro) --AC_MSG_CHECKING([for unaligned pointers]) --AC_RUN_IFELSE( -- [AC_LANG_PROGRAM([[char* nezumi = "mouse";]], -- [[short x = *(short*)(nezumi + 2)]])], -- [AC_MSG_RESULT([yes]) -- pgm_unaligned_pointers=yes], -- [AC_MSG_RESULT([no]) -- pgm_unaligned_pointers=no]) -+AC_CACHE_CHECK([if unaligned access fails], [ac_cv_lbl_unaligned_fail], -+ [AC_RUN_IFELSE( -+ [AC_LANG_PROGRAM([[char* nezumi = "mouse";]], -+ [[short x = *(short*)(nezumi + 2)]])], -+ [ac_cv_lbl_unaligned_fail=no], -+ [ac_cv_lbl_unaligned_fail=yes], -+ [ac_cv_lbl_unaligned_fail=yes]) -+ ]) -+if test "$ac_cv_lbl_unaligned_fail" = yes; then -+ pgm_unaligned_pointers=no -+else -+ pgm_unaligned_pointers=yes -+fi - AC_MSG_CHECKING([for intrinsic atomic ops]) - # AC_PREPROC_IFELSE not always portable - AC_COMPILE_IFELSE( diff --git a/package/openssh/0001-fix-pam-uclibc-pthreads-clash.patch b/package/openssh/0001-fix-pam-uclibc-pthreads-clash.patch new file mode 100644 index 0000000000..d9bc6e5d0c --- /dev/null +++ b/package/openssh/0001-fix-pam-uclibc-pthreads-clash.patch @@ -0,0 +1,44 @@ +When PAM is enabled, openssh makes its own static versions of pthreads +functions. But when built with a uclibc toolchain, pthreads.h gets +indirectly included. The clashing exported and static definitions of +the pthreads functions then cause a compile error. This patch fixes +the problem by changing the static pthread function names with macros +when the static functions are defined. + +Signed-off-by: Danomi Manchego + +diff -urN openssh-6.1p1.orig/auth-pam.c openssh-6.1p1/auth-pam.c +--- openssh-6.1p1.orig/auth-pam.c 2009-07-12 08:07:21.000000000 -0400 ++++ openssh-6.1p1/auth-pam.c 2012-09-15 19:49:47.677288199 -0400 +@@ -166,6 +166,7 @@ + sigdie("PAM: authentication thread exited uncleanly"); + } + ++#define pthread_exit pthread_exit_AVOID_UCLIBC_PTHREAD_CLASH + /* ARGSUSED */ + static void + pthread_exit(void *value) +@@ -173,6 +174,7 @@ + _exit(0); + } + ++#define pthread_create pthread_create_AVOID_UCLIBC_PTHREAD_CLASH + /* ARGSUSED */ + static int + pthread_create(sp_pthread_t *thread, const void *attr, +@@ -200,6 +202,7 @@ + } + } + ++#define pthread_cancel pthread_cancel_AVOID_UCLIBC_PTHREAD_CLASH + static int + pthread_cancel(sp_pthread_t thread) + { +@@ -207,6 +210,7 @@ + return (kill(thread, SIGTERM)); + } + ++#define pthread_join pthread_join_AVOID_UCLIBC_PTHREAD_CLASH + /* ARGSUSED */ + static int + pthread_join(sp_pthread_t thread, void **value) diff --git a/package/openssh/0002-fix-howmany-include.patch b/package/openssh/0002-fix-howmany-include.patch new file mode 100644 index 0000000000..21675bf4a0 --- /dev/null +++ b/package/openssh/0002-fix-howmany-include.patch @@ -0,0 +1,66 @@ +diff -ru openssh-6.6p1.org/channels.c openssh-6.6p1/channels.c +--- openssh-6.6p1.org/channels.c 2014-02-27 00:18:33.000000000 +0100 ++++ openssh-6.6p1/channels.c 2014-09-12 05:33:43.791424676 +0200 +@@ -41,6 +41,7 @@ + + #include "includes.h" + ++#include + #include + #include + #include +diff -ru openssh-6.6p1.org/openbsd-compat/bsd-poll.c openssh-6.6p1/openbsd-compat/bsd-poll.c +--- openssh-6.6p1.org/openbsd-compat/bsd-poll.c 2014-02-06 00:44:13.000000000 +0100 ++++ openssh-6.6p1/openbsd-compat/bsd-poll.c 2014-09-12 05:39:35.580947451 +0200 +@@ -19,6 +19,7 @@ + #include "includes.h" + #if !defined(HAVE_POLL) + ++#include + #include + #include + #ifdef HAVE_SYS_SELECT_H +diff -ru openssh-6.6p1.org/sshconnect.c openssh-6.6p1/sshconnect.c +--- openssh-6.6p1.org/sshconnect.c 2014-02-06 23:24:34.000000000 +0100 ++++ openssh-6.6p1/sshconnect.c 2014-09-12 05:39:57.372236592 +0200 +@@ -15,6 +15,7 @@ + + #include "includes.h" + ++#include + #include + #include + #include +diff -ru openssh-6.6p1.org/sshd.c openssh-6.6p1/sshd.c +--- openssh-6.6p1.org/sshd.c 2014-02-27 00:20:08.000000000 +0100 ++++ openssh-6.6p1/sshd.c 2014-09-12 05:42:20.233576519 +0200 +@@ -44,6 +44,7 @@ + + #include "includes.h" + ++#include + #include + #include + #include +diff -ru openssh-6.6p1.org/ssh-keyscan.c openssh-6.6p1/ssh-keyscan.c +--- openssh-6.6p1.org/ssh-keyscan.c 2013-12-07 01:24:02.000000000 +0100 ++++ openssh-6.6p1/ssh-keyscan.c 2014-09-12 05:41:03.102092462 +0200 +@@ -10,6 +10,7 @@ + #include "includes.h" + + #include "openbsd-compat/sys-queue.h" ++#include + #include + #ifdef HAVE_SYS_TIME_H + # include +diff -ru openssh-6.6p1.org/ssh-pkcs11-helper.c openssh-6.6p1/ssh-pkcs11-helper.c +--- openssh-6.6p1.org/ssh-pkcs11-helper.c 2013-12-05 00:23:21.000000000 +0100 ++++ openssh-6.6p1/ssh-pkcs11-helper.c 2014-09-12 05:40:20.488482522 +0200 +@@ -17,6 +17,7 @@ + + #include "includes.h" + ++#include + #include + #ifdef HAVE_SYS_TIME_H + # include diff --git a/package/openssh/openssh-01-fix-pam-uclibc-pthreads-clash.patch b/package/openssh/openssh-01-fix-pam-uclibc-pthreads-clash.patch deleted file mode 100644 index d9bc6e5d0c..0000000000 --- a/package/openssh/openssh-01-fix-pam-uclibc-pthreads-clash.patch +++ /dev/null @@ -1,44 +0,0 @@ -When PAM is enabled, openssh makes its own static versions of pthreads -functions. But when built with a uclibc toolchain, pthreads.h gets -indirectly included. The clashing exported and static definitions of -the pthreads functions then cause a compile error. This patch fixes -the problem by changing the static pthread function names with macros -when the static functions are defined. - -Signed-off-by: Danomi Manchego - -diff -urN openssh-6.1p1.orig/auth-pam.c openssh-6.1p1/auth-pam.c ---- openssh-6.1p1.orig/auth-pam.c 2009-07-12 08:07:21.000000000 -0400 -+++ openssh-6.1p1/auth-pam.c 2012-09-15 19:49:47.677288199 -0400 -@@ -166,6 +166,7 @@ - sigdie("PAM: authentication thread exited uncleanly"); - } - -+#define pthread_exit pthread_exit_AVOID_UCLIBC_PTHREAD_CLASH - /* ARGSUSED */ - static void - pthread_exit(void *value) -@@ -173,6 +174,7 @@ - _exit(0); - } - -+#define pthread_create pthread_create_AVOID_UCLIBC_PTHREAD_CLASH - /* ARGSUSED */ - static int - pthread_create(sp_pthread_t *thread, const void *attr, -@@ -200,6 +202,7 @@ - } - } - -+#define pthread_cancel pthread_cancel_AVOID_UCLIBC_PTHREAD_CLASH - static int - pthread_cancel(sp_pthread_t thread) - { -@@ -207,6 +210,7 @@ - return (kill(thread, SIGTERM)); - } - -+#define pthread_join pthread_join_AVOID_UCLIBC_PTHREAD_CLASH - /* ARGSUSED */ - static int - pthread_join(sp_pthread_t thread, void **value) diff --git a/package/openssh/openssh-02-fix-howmany-include.patch b/package/openssh/openssh-02-fix-howmany-include.patch deleted file mode 100644 index 21675bf4a0..0000000000 --- a/package/openssh/openssh-02-fix-howmany-include.patch +++ /dev/null @@ -1,66 +0,0 @@ -diff -ru openssh-6.6p1.org/channels.c openssh-6.6p1/channels.c ---- openssh-6.6p1.org/channels.c 2014-02-27 00:18:33.000000000 +0100 -+++ openssh-6.6p1/channels.c 2014-09-12 05:33:43.791424676 +0200 -@@ -41,6 +41,7 @@ - - #include "includes.h" - -+#include - #include - #include - #include -diff -ru openssh-6.6p1.org/openbsd-compat/bsd-poll.c openssh-6.6p1/openbsd-compat/bsd-poll.c ---- openssh-6.6p1.org/openbsd-compat/bsd-poll.c 2014-02-06 00:44:13.000000000 +0100 -+++ openssh-6.6p1/openbsd-compat/bsd-poll.c 2014-09-12 05:39:35.580947451 +0200 -@@ -19,6 +19,7 @@ - #include "includes.h" - #if !defined(HAVE_POLL) - -+#include - #include - #include - #ifdef HAVE_SYS_SELECT_H -diff -ru openssh-6.6p1.org/sshconnect.c openssh-6.6p1/sshconnect.c ---- openssh-6.6p1.org/sshconnect.c 2014-02-06 23:24:34.000000000 +0100 -+++ openssh-6.6p1/sshconnect.c 2014-09-12 05:39:57.372236592 +0200 -@@ -15,6 +15,7 @@ - - #include "includes.h" - -+#include - #include - #include - #include -diff -ru openssh-6.6p1.org/sshd.c openssh-6.6p1/sshd.c ---- openssh-6.6p1.org/sshd.c 2014-02-27 00:20:08.000000000 +0100 -+++ openssh-6.6p1/sshd.c 2014-09-12 05:42:20.233576519 +0200 -@@ -44,6 +44,7 @@ - - #include "includes.h" - -+#include - #include - #include - #include -diff -ru openssh-6.6p1.org/ssh-keyscan.c openssh-6.6p1/ssh-keyscan.c ---- openssh-6.6p1.org/ssh-keyscan.c 2013-12-07 01:24:02.000000000 +0100 -+++ openssh-6.6p1/ssh-keyscan.c 2014-09-12 05:41:03.102092462 +0200 -@@ -10,6 +10,7 @@ - #include "includes.h" - - #include "openbsd-compat/sys-queue.h" -+#include - #include - #ifdef HAVE_SYS_TIME_H - # include -diff -ru openssh-6.6p1.org/ssh-pkcs11-helper.c openssh-6.6p1/ssh-pkcs11-helper.c ---- openssh-6.6p1.org/ssh-pkcs11-helper.c 2013-12-05 00:23:21.000000000 +0100 -+++ openssh-6.6p1/ssh-pkcs11-helper.c 2014-09-12 05:40:20.488482522 +0200 -@@ -17,6 +17,7 @@ - - #include "includes.h" - -+#include - #include - #ifdef HAVE_SYS_TIME_H - # include diff --git a/package/openvmtools/0001-has_bsd_printf.patch b/package/openvmtools/0001-has_bsd_printf.patch new file mode 100644 index 0000000000..889f7d1d28 --- /dev/null +++ b/package/openvmtools/0001-has_bsd_printf.patch @@ -0,0 +1,26 @@ +lib/misc/msgList.c: missing #ifdef + +This macro checks for BSD style printf(), which is not present +when compiling for uClibc. The linked functions are unnecessary in +this case, and they break compilation. + +Signed-off-by: Karoly Kasza + +--- open-vm-tools-9.4.6-1770165.orig/lib/misc/msgList.c 2014-07-02 00:21:14.000000000 +0200 ++++ open-vm-tools-9.4.6-1770165/lib/misc/msgList.c 2014-07-29 13:40:40.000000000 +0200 +@@ -487,6 +487,7 @@ + return messages->id; + } + ++#ifdef HAS_BSD_PRINTF + + /* + *---------------------------------------------------------------------- +@@ -566,6 +567,7 @@ + } + } + ++#endif + + /* + *---------------------------------------------------------------------- diff --git a/package/openvmtools/0002-network_script.patch b/package/openvmtools/0002-network_script.patch new file mode 100644 index 0000000000..67705cc53a --- /dev/null +++ b/package/openvmtools/0002-network_script.patch @@ -0,0 +1,21 @@ +scripts/linux/network: exit normally if no network control script + +When using suspend/resume from the hypervisor, openvmtools checks for the +networking script, and exists with an error if not found, making the hypervisor +raise a warning message. This workaround silences that error message. + +Signed-off-by: Karoly Kasza + +--- open-vm-tools-9.4.6-1770165.orig/scripts/linux/network 2014-07-02 00:21:14.000000000 +0200 ++++ open-vm-tools-9.4.6-1770165/scripts/linux/network 2014-08-07 16:34:21.963514273 +0200 +@@ -88,7 +88,9 @@ + run_network_script() + { + script=`find_networking_script` +- [ "$script" != "error" ] || Panic "Cannot find system networking script." ++# [ "$script" != "error" ] || Panic "Cannot find system networking script." ++# Modified for buildroot ++ [ "$script" != "error" ] || exit 0 + + # Using SysV "service" if it exists, otherwise fall back to run the script directly + service=`which service 2>/dev/null` diff --git a/package/openvmtools/0003-conditionally-define-g_info.patch b/package/openvmtools/0003-conditionally-define-g_info.patch new file mode 100644 index 0000000000..fa35f2935c --- /dev/null +++ b/package/openvmtools/0003-conditionally-define-g_info.patch @@ -0,0 +1,28 @@ +conditionally define g_info + +glib also defines a g_info macro since 2.39.2, conflicting with the one in +openvmtools: + +https://git.gnome.org/browse/glib/commit/?h=glib-2-40&id=36f1a4ce7ed6df6aa8 + +Patch from Fedora: + +https://bugzilla.redhat.com/show_bug.cgi?id=1063847 +http://pkgs.fedoraproject.org/cgit/open-vm-tools.git/tree/g_info_redefine.patch + +Signed-off-by: Peter Korsgaard + +diff -uNr open-vm-tools-9.4.0-1280544.orig/lib/include/vmware/tools/log.h open-vm-tools-9.4.0-1280544/lib/include/vmware/tools/log.h +--- open-vm-tools-9.4.0-1280544.orig/lib/include/vmware/tools/log.h 2013-09-23 19:51:10.000000000 +0400 ++++ open-vm-tools-9.4.0-1280544/lib/include/vmware/tools/log.h 2014-02-18 10:56:50.368604176 +0400 +@@ -134,7 +134,9 @@ + ******************************************************************************* + */ + +-#define g_info(fmt, ...) g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, fmt, ## __VA_ARGS__) ++#if !defined(g_info) ++# define g_info(fmt, ...) g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, fmt, ## __VA_ARGS__) ++#endif + + + /* diff --git a/package/openvmtools/0004-no_cflags_werror.patch b/package/openvmtools/0004-no_cflags_werror.patch new file mode 100644 index 0000000000..96bd355a03 --- /dev/null +++ b/package/openvmtools/0004-no_cflags_werror.patch @@ -0,0 +1,17 @@ +configure.ac: disable -Werror + +Disable the mandatory flag -Werror in configure.ac. + +Signed-off-by: Karoly Kasza + +--- open-vm-tools-9.4.6-1770165.orig/configure.ac 2014-07-02 00:21:14.000000000 +0200 ++++ open-vm-tools-9.4.6-1770165/configure.ac 2014-09-15 16:03:47.565900402 +0200 +@@ -832,7 +832,7 @@ + + ### General flags / actions + CFLAGS="$CFLAGS -Wall" +-CFLAGS="$CFLAGS -Werror" ++# CFLAGS="$CFLAGS -Werror" + + # -Wno-unknown-pragmas is due to gcc not understanding '#pragma ident' in Xlib.h on OpenSolaris. + for TEST_CFLAG in -Wno-pointer-sign -Wno-unused-value -fno-strict-aliasing \ diff --git a/package/openvmtools/0005-dont-force-cppflags.patch b/package/openvmtools/0005-dont-force-cppflags.patch new file mode 100644 index 0000000000..8f904b1202 --- /dev/null +++ b/package/openvmtools/0005-dont-force-cppflags.patch @@ -0,0 +1,22 @@ +m4: do not force -I/usr/include in CPPFLAGS + +This is so horribly broken for cross-compilation. :-( + +Signed-off-by: "Yann E. MORIN" + +diff -durN openvmtools-9.4.6-1770165.orig/m4/vmtools.m4 openvmtools-9.4.6-1770165/m4/vmtools.m4 +--- openvmtools-9.4.6-1770165.orig/m4/vmtools.m4 2014-07-02 00:21:14.000000000 +0200 ++++ openvmtools-9.4.6-1770165/m4/vmtools.m4 2014-09-21 12:39:15.901659888 +0200 +@@ -281,10 +281,10 @@ + if test "$os" = freebsd; then + CUSTOM_$1_CPPFLAGS="-I/usr/local/include" + else +- CUSTOM_$1_CPPFLAGS="-I/usr/include" ++ CUSTOM_$1_CPPFLAGS=" " + fi + if test -n "$2"; then +- CUSTOM_$1_CPPFLAGS="${CUSTOM_$1_CPPFLAGS}/$2" ++ : CUSTOM_$1_CPPFLAGS="${CUSTOM_$1_CPPFLAGS}/$2" + fi + fi + ]) diff --git a/package/openvmtools/openvmtools-01-has_bsd_printf.patch b/package/openvmtools/openvmtools-01-has_bsd_printf.patch deleted file mode 100644 index 889f7d1d28..0000000000 --- a/package/openvmtools/openvmtools-01-has_bsd_printf.patch +++ /dev/null @@ -1,26 +0,0 @@ -lib/misc/msgList.c: missing #ifdef - -This macro checks for BSD style printf(), which is not present -when compiling for uClibc. The linked functions are unnecessary in -this case, and they break compilation. - -Signed-off-by: Karoly Kasza - ---- open-vm-tools-9.4.6-1770165.orig/lib/misc/msgList.c 2014-07-02 00:21:14.000000000 +0200 -+++ open-vm-tools-9.4.6-1770165/lib/misc/msgList.c 2014-07-29 13:40:40.000000000 +0200 -@@ -487,6 +487,7 @@ - return messages->id; - } - -+#ifdef HAS_BSD_PRINTF - - /* - *---------------------------------------------------------------------- -@@ -566,6 +567,7 @@ - } - } - -+#endif - - /* - *---------------------------------------------------------------------- diff --git a/package/openvmtools/openvmtools-02-network_script.patch b/package/openvmtools/openvmtools-02-network_script.patch deleted file mode 100644 index 67705cc53a..0000000000 --- a/package/openvmtools/openvmtools-02-network_script.patch +++ /dev/null @@ -1,21 +0,0 @@ -scripts/linux/network: exit normally if no network control script - -When using suspend/resume from the hypervisor, openvmtools checks for the -networking script, and exists with an error if not found, making the hypervisor -raise a warning message. This workaround silences that error message. - -Signed-off-by: Karoly Kasza - ---- open-vm-tools-9.4.6-1770165.orig/scripts/linux/network 2014-07-02 00:21:14.000000000 +0200 -+++ open-vm-tools-9.4.6-1770165/scripts/linux/network 2014-08-07 16:34:21.963514273 +0200 -@@ -88,7 +88,9 @@ - run_network_script() - { - script=`find_networking_script` -- [ "$script" != "error" ] || Panic "Cannot find system networking script." -+# [ "$script" != "error" ] || Panic "Cannot find system networking script." -+# Modified for buildroot -+ [ "$script" != "error" ] || exit 0 - - # Using SysV "service" if it exists, otherwise fall back to run the script directly - service=`which service 2>/dev/null` diff --git a/package/openvmtools/openvmtools-03-conditionally-define-g_info.patch b/package/openvmtools/openvmtools-03-conditionally-define-g_info.patch deleted file mode 100644 index fa35f2935c..0000000000 --- a/package/openvmtools/openvmtools-03-conditionally-define-g_info.patch +++ /dev/null @@ -1,28 +0,0 @@ -conditionally define g_info - -glib also defines a g_info macro since 2.39.2, conflicting with the one in -openvmtools: - -https://git.gnome.org/browse/glib/commit/?h=glib-2-40&id=36f1a4ce7ed6df6aa8 - -Patch from Fedora: - -https://bugzilla.redhat.com/show_bug.cgi?id=1063847 -http://pkgs.fedoraproject.org/cgit/open-vm-tools.git/tree/g_info_redefine.patch - -Signed-off-by: Peter Korsgaard - -diff -uNr open-vm-tools-9.4.0-1280544.orig/lib/include/vmware/tools/log.h open-vm-tools-9.4.0-1280544/lib/include/vmware/tools/log.h ---- open-vm-tools-9.4.0-1280544.orig/lib/include/vmware/tools/log.h 2013-09-23 19:51:10.000000000 +0400 -+++ open-vm-tools-9.4.0-1280544/lib/include/vmware/tools/log.h 2014-02-18 10:56:50.368604176 +0400 -@@ -134,7 +134,9 @@ - ******************************************************************************* - */ - --#define g_info(fmt, ...) g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, fmt, ## __VA_ARGS__) -+#if !defined(g_info) -+# define g_info(fmt, ...) g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, fmt, ## __VA_ARGS__) -+#endif - - - /* diff --git a/package/openvmtools/openvmtools-04-no_cflags_werror.patch b/package/openvmtools/openvmtools-04-no_cflags_werror.patch deleted file mode 100644 index 96bd355a03..0000000000 --- a/package/openvmtools/openvmtools-04-no_cflags_werror.patch +++ /dev/null @@ -1,17 +0,0 @@ -configure.ac: disable -Werror - -Disable the mandatory flag -Werror in configure.ac. - -Signed-off-by: Karoly Kasza - ---- open-vm-tools-9.4.6-1770165.orig/configure.ac 2014-07-02 00:21:14.000000000 +0200 -+++ open-vm-tools-9.4.6-1770165/configure.ac 2014-09-15 16:03:47.565900402 +0200 -@@ -832,7 +832,7 @@ - - ### General flags / actions - CFLAGS="$CFLAGS -Wall" --CFLAGS="$CFLAGS -Werror" -+# CFLAGS="$CFLAGS -Werror" - - # -Wno-unknown-pragmas is due to gcc not understanding '#pragma ident' in Xlib.h on OpenSolaris. - for TEST_CFLAG in -Wno-pointer-sign -Wno-unused-value -fno-strict-aliasing \ diff --git a/package/openvmtools/openvmtools-05-dont-force-cppflags.patch b/package/openvmtools/openvmtools-05-dont-force-cppflags.patch deleted file mode 100644 index 8f904b1202..0000000000 --- a/package/openvmtools/openvmtools-05-dont-force-cppflags.patch +++ /dev/null @@ -1,22 +0,0 @@ -m4: do not force -I/usr/include in CPPFLAGS - -This is so horribly broken for cross-compilation. :-( - -Signed-off-by: "Yann E. MORIN" - -diff -durN openvmtools-9.4.6-1770165.orig/m4/vmtools.m4 openvmtools-9.4.6-1770165/m4/vmtools.m4 ---- openvmtools-9.4.6-1770165.orig/m4/vmtools.m4 2014-07-02 00:21:14.000000000 +0200 -+++ openvmtools-9.4.6-1770165/m4/vmtools.m4 2014-09-21 12:39:15.901659888 +0200 -@@ -281,10 +281,10 @@ - if test "$os" = freebsd; then - CUSTOM_$1_CPPFLAGS="-I/usr/local/include" - else -- CUSTOM_$1_CPPFLAGS="-I/usr/include" -+ CUSTOM_$1_CPPFLAGS=" " - fi - if test -n "$2"; then -- CUSTOM_$1_CPPFLAGS="${CUSTOM_$1_CPPFLAGS}/$2" -+ : CUSTOM_$1_CPPFLAGS="${CUSTOM_$1_CPPFLAGS}/$2" - fi - fi - ]) diff --git a/package/opus-tools/0001-largefile.patch b/package/opus-tools/0001-largefile.patch new file mode 100644 index 0000000000..a10fcbc714 --- /dev/null +++ b/package/opus-tools/0001-largefile.patch @@ -0,0 +1,37 @@ +From f1d9376b383f4ee7ec2d7c5a1728d38cdb692df6 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Sat, 15 Dec 2012 00:05:41 +0100 +Subject: [PATCH] audio-in.c: Don't force largefile support + +Buildroot ensures the correct defines are enabled depending on toolchain +configuration, so don't hard code largefile support here. + +Signed-off-by: Peter Korsgaard +--- + src/audio-in.c | 10 ---------- + 1 file changed, 10 deletions(-) + +diff --git a/src/audio-in.c b/src/audio-in.c +index 9bf4f6f..e404629 100644 +--- a/src/audio-in.c ++++ b/src/audio-in.c +@@ -32,16 +32,6 @@ + # include + #endif + +-#if !defined(_LARGEFILE_SOURCE) +-# define _LARGEFILE_SOURCE +-#endif +-#if !defined(_LARGEFILE64_SOURCE) +-# define _LARGEFILE64_SOURCE +-#endif +-#if !defined(_FILE_OFFSET_BITS) +-# define _FILE_OFFSET_BITS 64 +-#endif +- + #include + #include + #include +-- +1.7.10.4 + diff --git a/package/opus-tools/opus-tools-largefile.patch b/package/opus-tools/opus-tools-largefile.patch deleted file mode 100644 index a10fcbc714..0000000000 --- a/package/opus-tools/opus-tools-largefile.patch +++ /dev/null @@ -1,37 +0,0 @@ -From f1d9376b383f4ee7ec2d7c5a1728d38cdb692df6 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Sat, 15 Dec 2012 00:05:41 +0100 -Subject: [PATCH] audio-in.c: Don't force largefile support - -Buildroot ensures the correct defines are enabled depending on toolchain -configuration, so don't hard code largefile support here. - -Signed-off-by: Peter Korsgaard ---- - src/audio-in.c | 10 ---------- - 1 file changed, 10 deletions(-) - -diff --git a/src/audio-in.c b/src/audio-in.c -index 9bf4f6f..e404629 100644 ---- a/src/audio-in.c -+++ b/src/audio-in.c -@@ -32,16 +32,6 @@ - # include - #endif - --#if !defined(_LARGEFILE_SOURCE) --# define _LARGEFILE_SOURCE --#endif --#if !defined(_LARGEFILE64_SOURCE) --# define _LARGEFILE64_SOURCE --#endif --#if !defined(_FILE_OFFSET_BITS) --# define _FILE_OFFSET_BITS 64 --#endif -- - #include - #include - #include --- -1.7.10.4 - diff --git a/package/opus/0001-configure.ac-fix-bashism-in-ARM-optimization-handling.patch b/package/opus/0001-configure.ac-fix-bashism-in-ARM-optimization-handling.patch new file mode 100644 index 0000000000..80b9dfc6f8 --- /dev/null +++ b/package/opus/0001-configure.ac-fix-bashism-in-ARM-optimization-handling.patch @@ -0,0 +1,43 @@ +From a3d4f4f2385394b822b8f66342de8a1e3b4217bb Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Sun, 8 Dec 2013 10:54:25 +0100 +Subject: [PATCH] configure.ac: fix bashism in ARM optimization handling + +Submitted upstream: +http://lists.xiph.org/pipermail/opus/2013-December/002422.html + +Breaks configure when /bin/sh isn't bash with: + +configure: Trying to force-enable ARMv6 media instructions... +checking if assembler supports ARMv6 media instructions on ARM... yes +configure: Trying to force-enable NEON instructions... +checking if assembler supports NEON instructions on ARM... yes +./configure.lineno: 12799: Bad substitution + +Fix it by using the %% expansion to remove everything from the first +space instead. + +Signed-off-by: Peter Korsgaard +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 0ba4a80..443362f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -333,9 +333,9 @@ AS_IF([test x"${enable_asm}" = x"yes"],[ + + AM_CONDITIONAL([CPU_ARM], [test "$cpu_arm" = "yes"]) + AM_CONDITIONAL([OPUS_ARM_INLINE_ASM], +- [test x"${inline_optimization:0:3}" = x"ARM"]) ++ [test x"${inline_optimization%% *}" = x"ARM"]) + AM_CONDITIONAL([OPUS_ARM_EXTERNAL_ASM], +- [test x"${asm_optimization:0:3}" = x"ARM"]) ++ [test x"${asm_optimization%% *}" = x"ARM"]) + + AS_IF([test x"$enable_rtcd" = x"yes"],[ + AS_IF([test x"$rtcd_support" != x"no"],[ +-- +1.8.4.rc3 + diff --git a/package/opus/opus-01-configure.ac-fix-bashism-in-ARM-optimization-handling.patch b/package/opus/opus-01-configure.ac-fix-bashism-in-ARM-optimization-handling.patch deleted file mode 100644 index 80b9dfc6f8..0000000000 --- a/package/opus/opus-01-configure.ac-fix-bashism-in-ARM-optimization-handling.patch +++ /dev/null @@ -1,43 +0,0 @@ -From a3d4f4f2385394b822b8f66342de8a1e3b4217bb Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Sun, 8 Dec 2013 10:54:25 +0100 -Subject: [PATCH] configure.ac: fix bashism in ARM optimization handling - -Submitted upstream: -http://lists.xiph.org/pipermail/opus/2013-December/002422.html - -Breaks configure when /bin/sh isn't bash with: - -configure: Trying to force-enable ARMv6 media instructions... -checking if assembler supports ARMv6 media instructions on ARM... yes -configure: Trying to force-enable NEON instructions... -checking if assembler supports NEON instructions on ARM... yes -./configure.lineno: 12799: Bad substitution - -Fix it by using the %% expansion to remove everything from the first -space instead. - -Signed-off-by: Peter Korsgaard ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 0ba4a80..443362f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -333,9 +333,9 @@ AS_IF([test x"${enable_asm}" = x"yes"],[ - - AM_CONDITIONAL([CPU_ARM], [test "$cpu_arm" = "yes"]) - AM_CONDITIONAL([OPUS_ARM_INLINE_ASM], -- [test x"${inline_optimization:0:3}" = x"ARM"]) -+ [test x"${inline_optimization%% *}" = x"ARM"]) - AM_CONDITIONAL([OPUS_ARM_EXTERNAL_ASM], -- [test x"${asm_optimization:0:3}" = x"ARM"]) -+ [test x"${asm_optimization%% *}" = x"ARM"]) - - AS_IF([test x"$enable_rtcd" = x"yes"],[ - AS_IF([test x"$rtcd_support" != x"no"],[ --- -1.8.4.rc3 - diff --git a/package/owl-linux/0001-fix-CROSS_COMPILE-usage-in-Makefile.patch b/package/owl-linux/0001-fix-CROSS_COMPILE-usage-in-Makefile.patch new file mode 100644 index 0000000000..14b4631624 --- /dev/null +++ b/package/owl-linux/0001-fix-CROSS_COMPILE-usage-in-Makefile.patch @@ -0,0 +1,16 @@ +Fix the owl-linux Makefile so that it protects spaces in the CROSS_COMPILE +variable. For example, this variable will contain spaces if ccache is used. + +Signed-off-by: Simon Dawson +diff -Nurp a/Makefile b/Makefile +--- a/Makefile 2012-06-14 10:51:45.000000000 +0100 ++++ b/Makefile 2012-07-20 10:46:41.636752148 +0100 +@@ -35,7 +35,7 @@ else + PWD := $(shell pwd) + + default: +- $(MAKE) -C $(KERNELDIR) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) M=$(PWD) MODE=$(MODE) modules ++ $(MAKE) -C $(KERNELDIR) ARCH=$(ARCH) CROSS_COMPILE="$(CROSS_COMPILE)" M=$(PWD) MODE=$(MODE) modules + + clean: + -rm -f *.o *.mod.c *.ko modules.order Module.symvers diff --git a/package/owl-linux/0002-fix-for-linux-3.3.x.patch b/package/owl-linux/0002-fix-for-linux-3.3.x.patch new file mode 100644 index 0000000000..831ac7fd11 --- /dev/null +++ b/package/owl-linux/0002-fix-for-linux-3.3.x.patch @@ -0,0 +1,21 @@ +Kernel commit b81693d9149c598302e8eb9c20cb20330d922c8e changed the +net_device_ops structure, removing the ndo_set_multicast_list callback. The +ndo_set_rx_mode has also been added to this structure. + +The upshot of these changes is that owl-linux fails to compile with 3.3.x +and later kernels. + +Signed-off-by: Simon Dawson +diff -Nurp a/owl_net.c b/owl_net.c +--- a/owl_net.c 2012-06-14 10:51:45.000000000 +0100 ++++ b/owl_net.c 2012-07-20 13:16:28.772351464 +0100 +@@ -384,7 +384,9 @@ static const struct net_device_ops netde + #endif /* OWL_CONFIG_IFUPDOWN */ + .ndo_start_xmit = owl_net_tx, + .ndo_get_stats = owl_net_get_stats, ++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0) + .ndo_set_multicast_list = NULL, ++#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0) */ + .ndo_tx_timeout = owl_net_tx_timeout, + .ndo_set_mac_address = NULL, + }; diff --git a/package/owl-linux/owl-linux-fix-CROSS_COMPILE-usage-in-Makefile.patch b/package/owl-linux/owl-linux-fix-CROSS_COMPILE-usage-in-Makefile.patch deleted file mode 100644 index 14b4631624..0000000000 --- a/package/owl-linux/owl-linux-fix-CROSS_COMPILE-usage-in-Makefile.patch +++ /dev/null @@ -1,16 +0,0 @@ -Fix the owl-linux Makefile so that it protects spaces in the CROSS_COMPILE -variable. For example, this variable will contain spaces if ccache is used. - -Signed-off-by: Simon Dawson -diff -Nurp a/Makefile b/Makefile ---- a/Makefile 2012-06-14 10:51:45.000000000 +0100 -+++ b/Makefile 2012-07-20 10:46:41.636752148 +0100 -@@ -35,7 +35,7 @@ else - PWD := $(shell pwd) - - default: -- $(MAKE) -C $(KERNELDIR) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) M=$(PWD) MODE=$(MODE) modules -+ $(MAKE) -C $(KERNELDIR) ARCH=$(ARCH) CROSS_COMPILE="$(CROSS_COMPILE)" M=$(PWD) MODE=$(MODE) modules - - clean: - -rm -f *.o *.mod.c *.ko modules.order Module.symvers diff --git a/package/owl-linux/owl-linux-fix-for-linux-3.3.x.patch b/package/owl-linux/owl-linux-fix-for-linux-3.3.x.patch deleted file mode 100644 index 831ac7fd11..0000000000 --- a/package/owl-linux/owl-linux-fix-for-linux-3.3.x.patch +++ /dev/null @@ -1,21 +0,0 @@ -Kernel commit b81693d9149c598302e8eb9c20cb20330d922c8e changed the -net_device_ops structure, removing the ndo_set_multicast_list callback. The -ndo_set_rx_mode has also been added to this structure. - -The upshot of these changes is that owl-linux fails to compile with 3.3.x -and later kernels. - -Signed-off-by: Simon Dawson -diff -Nurp a/owl_net.c b/owl_net.c ---- a/owl_net.c 2012-06-14 10:51:45.000000000 +0100 -+++ b/owl_net.c 2012-07-20 13:16:28.772351464 +0100 -@@ -384,7 +384,9 @@ static const struct net_device_ops netde - #endif /* OWL_CONFIG_IFUPDOWN */ - .ndo_start_xmit = owl_net_tx, - .ndo_get_stats = owl_net_get_stats, -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0) - .ndo_set_multicast_list = NULL, -+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0) */ - .ndo_tx_timeout = owl_net_tx_timeout, - .ndo_set_mac_address = NULL, - }; diff --git a/package/p11-kit/0001-Fix-build-against-older-pthreads-implementations.patch b/package/p11-kit/0001-Fix-build-against-older-pthreads-implementations.patch new file mode 100644 index 0000000000..3562f3c2b6 --- /dev/null +++ b/package/p11-kit/0001-Fix-build-against-older-pthreads-implementations.patch @@ -0,0 +1,64 @@ +From 05b6a7550756ffdced25a6c51cf2222bad9e59e7 Mon Sep 17 00:00:00 2001 +Message-Id: <05b6a7550756ffdced25a6c51cf2222bad9e59e7.1399285491.git.baruch@tkos.co.il> +From: Baruch Siach +Date: Mon, 5 May 2014 09:32:23 +0300 +Subject: [PATCH] Fix build against older pthreads implementations + +Older pthreads implementations like glibc NPTL prior to version 2.12, and +uClibc linuxthreads (both), need _XOPEN_SOURCE to expose +pthread_mutexattr_settype() and THREAD_MUTEX_DEFAULT. The value 600 (SuSv3, +POSIX.1-2001) is equivalent to _POSIX_C_SOURCE 200112L. + +Fixes the following build error: + + CC compat.lo +compat.c: In function 'p11_mutex_init': +compat.c:164:2: warning: implicit declaration of function 'pthread_mutexattr_settype' [-Wimplicit-function-declaration] +compat.c:164:2: warning: nested extern declaration of 'pthread_mutexattr_settype' [-Wnested-externs] +compat.c:164:36: error: 'PTHREAD_MUTEX_DEFAULT' undeclared (first use in this function) + +Patch status: sent upstream + +Signed-off-by: Baruch Siach +--- + common/compat.h | 6 ++++++ + common/message.c | 6 ------ + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/common/compat.h b/common/compat.h +index d7fe414a46bf..fbc1dc1d4f0f 100644 +--- a/common/compat.h ++++ b/common/compat.h +@@ -37,6 +37,12 @@ + + #include "config.h" + ++/* ++ * Oh god. glibc is nasty. Changes behavior and definitions of POSIX ++ * functions to completely different signatures depending on defines ++ */ ++#define _XOPEN_SOURCE 600 ++ + #include + #include + +diff --git a/common/message.c b/common/message.c +index 35f2764487a9..e68dfac561c8 100644 +--- a/common/message.c ++++ b/common/message.c +@@ -37,12 +37,6 @@ + + #include "config.h" + +-/* +- * Oh god. glibc is nasty. Changes behavior and definitions of POSIX +- * functions to completely different signatures depending on defines +- */ +-#define _POSIX_C_SOURCE 200112L +- + #include "compat.h" + #define P11_DEBUG_FLAG P11_DEBUG_LIB + #include "debug.h" +-- +2.0.0.rc0 + diff --git a/package/p11-kit/p11-kit-01-Fix-build-against-older-pthreads-implementations.patch b/package/p11-kit/p11-kit-01-Fix-build-against-older-pthreads-implementations.patch deleted file mode 100644 index 3562f3c2b6..0000000000 --- a/package/p11-kit/p11-kit-01-Fix-build-against-older-pthreads-implementations.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 05b6a7550756ffdced25a6c51cf2222bad9e59e7 Mon Sep 17 00:00:00 2001 -Message-Id: <05b6a7550756ffdced25a6c51cf2222bad9e59e7.1399285491.git.baruch@tkos.co.il> -From: Baruch Siach -Date: Mon, 5 May 2014 09:32:23 +0300 -Subject: [PATCH] Fix build against older pthreads implementations - -Older pthreads implementations like glibc NPTL prior to version 2.12, and -uClibc linuxthreads (both), need _XOPEN_SOURCE to expose -pthread_mutexattr_settype() and THREAD_MUTEX_DEFAULT. The value 600 (SuSv3, -POSIX.1-2001) is equivalent to _POSIX_C_SOURCE 200112L. - -Fixes the following build error: - - CC compat.lo -compat.c: In function 'p11_mutex_init': -compat.c:164:2: warning: implicit declaration of function 'pthread_mutexattr_settype' [-Wimplicit-function-declaration] -compat.c:164:2: warning: nested extern declaration of 'pthread_mutexattr_settype' [-Wnested-externs] -compat.c:164:36: error: 'PTHREAD_MUTEX_DEFAULT' undeclared (first use in this function) - -Patch status: sent upstream - -Signed-off-by: Baruch Siach ---- - common/compat.h | 6 ++++++ - common/message.c | 6 ------ - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/common/compat.h b/common/compat.h -index d7fe414a46bf..fbc1dc1d4f0f 100644 ---- a/common/compat.h -+++ b/common/compat.h -@@ -37,6 +37,12 @@ - - #include "config.h" - -+/* -+ * Oh god. glibc is nasty. Changes behavior and definitions of POSIX -+ * functions to completely different signatures depending on defines -+ */ -+#define _XOPEN_SOURCE 600 -+ - #include - #include - -diff --git a/common/message.c b/common/message.c -index 35f2764487a9..e68dfac561c8 100644 ---- a/common/message.c -+++ b/common/message.c -@@ -37,12 +37,6 @@ - - #include "config.h" - --/* -- * Oh god. glibc is nasty. Changes behavior and definitions of POSIX -- * functions to completely different signatures depending on defines -- */ --#define _POSIX_C_SOURCE 200112L -- - #include "compat.h" - #define P11_DEBUG_FLAG P11_DEBUG_LIB - #include "debug.h" --- -2.0.0.rc0 - diff --git a/package/pango/0001-no-tests.patch b/package/pango/0001-no-tests.patch new file mode 100644 index 0000000000..e6777f6bca --- /dev/null +++ b/package/pango/0001-no-tests.patch @@ -0,0 +1,27 @@ +Prevent Pango to build tests. + +Updated to Pango 1.36.3 by Hadrien Boutteville. + +Signed-off-by: Hadrien Boutteville + +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,6 +1,6 @@ + ## Process this file with automake to create Makefile.in. + +-SUBDIRS= pango modules pango-view examples docs tools tests build ++SUBDIRS= pango modules pango-view examples docs tools build + + EXTRA_DIST = \ + autogen.sh \ +--- a/Makefile.in ++++ b/Makefile.in +@@ -418,7 +418,7 @@ target_alias = @target_alias@ + top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ +-SUBDIRS = pango modules pango-view examples docs tools tests build ++SUBDIRS = pango modules pango-view examples docs tools build + EXTRA_DIST = \ + autogen.sh \ + pango.pc.in \ diff --git a/package/pango/0002-no-gtk-doc.patch b/package/pango/0002-no-gtk-doc.patch new file mode 100644 index 0000000000..926a263f1b --- /dev/null +++ b/package/pango/0002-no-gtk-doc.patch @@ -0,0 +1,25 @@ +Same patch as for systemd in commit +7144f2f04b705538a893e538a6b851f536f433b6: + +Fix deactivation of gtk-doc + +The tarball contains the Makefile for building documentation with gtk-doc, +Unfortunately the AM_CONDITIONAL variable is not the correct one, which +results in an error when running autoreconf. + +This patch fixes this issue. + +Signed-off-by: Eric Le Bihan +Signed-off-by: Hadrien Boutteville + +--- a/gtk-doc.make ++++ b/gtk-doc.make +@@ -267,7 +267,7 @@ + # + # Require gtk-doc when making dist + # +-if HAVE_GTK_DOC ++if ENABLE_GTK_DOC + dist-check-gtkdoc: docs + else + dist-check-gtkdoc: diff --git a/package/pango/pango-0001-no-tests.patch b/package/pango/pango-0001-no-tests.patch deleted file mode 100644 index e6777f6bca..0000000000 --- a/package/pango/pango-0001-no-tests.patch +++ /dev/null @@ -1,27 +0,0 @@ -Prevent Pango to build tests. - -Updated to Pango 1.36.3 by Hadrien Boutteville. - -Signed-off-by: Hadrien Boutteville - ---- a/Makefile.am -+++ b/Makefile.am -@@ -1,6 +1,6 @@ - ## Process this file with automake to create Makefile.in. - --SUBDIRS= pango modules pango-view examples docs tools tests build -+SUBDIRS= pango modules pango-view examples docs tools build - - EXTRA_DIST = \ - autogen.sh \ ---- a/Makefile.in -+++ b/Makefile.in -@@ -418,7 +418,7 @@ target_alias = @target_alias@ - top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ --SUBDIRS = pango modules pango-view examples docs tools tests build -+SUBDIRS = pango modules pango-view examples docs tools build - EXTRA_DIST = \ - autogen.sh \ - pango.pc.in \ diff --git a/package/pango/pango-0002-no-gtk-doc.patch b/package/pango/pango-0002-no-gtk-doc.patch deleted file mode 100644 index 926a263f1b..0000000000 --- a/package/pango/pango-0002-no-gtk-doc.patch +++ /dev/null @@ -1,25 +0,0 @@ -Same patch as for systemd in commit -7144f2f04b705538a893e538a6b851f536f433b6: - -Fix deactivation of gtk-doc - -The tarball contains the Makefile for building documentation with gtk-doc, -Unfortunately the AM_CONDITIONAL variable is not the correct one, which -results in an error when running autoreconf. - -This patch fixes this issue. - -Signed-off-by: Eric Le Bihan -Signed-off-by: Hadrien Boutteville - ---- a/gtk-doc.make -+++ b/gtk-doc.make -@@ -267,7 +267,7 @@ - # - # Require gtk-doc when making dist - # --if HAVE_GTK_DOC -+if ENABLE_GTK_DOC - dist-check-gtkdoc: docs - else - dist-check-gtkdoc: diff --git a/package/parted/0001-readline-deprecated.patch b/package/parted/0001-readline-deprecated.patch new file mode 100644 index 0000000000..a3f40c8df6 --- /dev/null +++ b/package/parted/0001-readline-deprecated.patch @@ -0,0 +1,19 @@ +The CPPFunction typedef (among others) have been deprecated in favour of +specific prototyped typedefs since readline 4.2. +It's been working since because compatibility typedefs have been +in place until they were removed in readline 6.3. + +Signed-off-by: Gustavo Zacarias + +diff -Nura parted-3.1.orig/parted/ui.c parted-3.1/parted/ui.c +--- parted-3.1.orig/parted/ui.c 2014-03-01 16:11:41.970827134 -0300 ++++ parted-3.1/parted/ui.c 2014-03-01 16:11:55.540259786 -0300 +@@ -1474,7 +1474,7 @@ + #ifdef HAVE_LIBREADLINE + if (!opt_script_mode) { + rl_initialize (); +- rl_attempted_completion_function = (CPPFunction*) complete_function; ++ rl_attempted_completion_function = (rl_completion_func_t *) complete_function; + readline_state.in_readline = 0; + } + #endif diff --git a/package/parted/0002-configure.ac-uclinux-is-also-linux.patch b/package/parted/0002-configure.ac-uclinux-is-also-linux.patch new file mode 100644 index 0000000000..b2119bcdd7 --- /dev/null +++ b/package/parted/0002-configure.ac-uclinux-is-also-linux.patch @@ -0,0 +1,33 @@ +From b3958317c5ee2940e7024bec2e7f288b5a6a26c3 Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Mon, 30 Jun 2014 10:09:04 -0300 +Subject: [PATCH] configure.ac: uclinux is also linux + +uclinux is used in the tuple for some noMMU linux builds like Blackfin +FLAT output, so accept it as linux too. + +Signed-off-by: Gustavo Zacarias +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 436d0e2..50ad478 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -58,10 +58,10 @@ AM_SILENT_RULES([yes]) # make --enable-silent-rules the default. + + AC_CANONICAL_HOST + case "$host_os" in +- linux*) OS=linux ;; ++ linux*|uclinux*) OS=linux ;; + gnu*) OS=gnu ;; + beos*) OS=beos ;; +- *) AC_MSG_ERROR([Unknown or unsupported OS "$host_os". Only "linux", "gnu" and "beos" are supported in this version of GNU Parted.]) ;; ++ *) AC_MSG_ERROR([Unknown or unsupported OS "$host_os". Only "linux", "uclinux", "gnu" and "beos" are supported in this version of GNU Parted.]) ;; + esac + AC_SUBST([OS]) + +-- +1.8.5.5 + diff --git a/package/parted/0003-fix-static-link-uuid.patch b/package/parted/0003-fix-static-link-uuid.patch new file mode 100644 index 0000000000..d6ec2cf365 --- /dev/null +++ b/package/parted/0003-fix-static-link-uuid.patch @@ -0,0 +1,48 @@ +configure: use pkg-config to find libuuid + +In some conditions, libuuid may be linked with -lintl. This can be the +case on uClibc when locales are enabled. + +When doing a shared link, this dependency is automatically pulled in via +a DT_NEEDED ELF tag + +For a static link, there is no such mechanism to pull in dependent +libraries. + +Currently, the check for libuuid is done with AC_CHECK_LIB, but this +does not handle dependencies, and thus a stattic build fails. + +Use pkg-config to find libuuid, that automatically pulls in the +dependencies of libuuid, if any. + +Signed-off-by: "Yann E. MORIN" + +--- +Note: of course, that relies on the fact that libuuid installs a proper +.pc file; a patch will be submitted upstream shortly. + +But even considering the current situation, where libuuid does not +provide a proper .pc file (yet), this patch does not change the +behaviour we've had so far; it is a bet on the future! ;-) + +diff -durN parted-3.1.orig/configure.ac parted-3.1/configure.ac +--- parted-3.1.orig/configure.ac 2014-11-29 16:27:49.520560137 +0100 ++++ parted-3.1/configure.ac 2014-11-29 16:32:50.799702049 +0100 +@@ -313,16 +313,7 @@ + AC_SUBST([DL_LIBS]) + + dnl Check for libuuid +-UUID_LIBS="" +-AC_CHECK_LIB([uuid], [uuid_generate], [UUID_LIBS="-luuid"], +- [AC_MSG_ERROR(dnl +-[GNU Parted requires libuuid - a part of the util-linux-ng package (but +-usually distributed separately in libuuid-devel, uuid-dev or similar) +-This can probably be found on your distribution's CD or FTP site or at: +- http://userweb.kernel.org/~kzak/util-linux-ng/ +-Note: originally, libuuid was part of the e2fsprogs package. Later, it +-moved to util-linux-ng-2.16, and that package is now the preferred source.])]) +-AC_SUBST([UUID_LIBS]) ++PKG_CHECK_MODULES([UUID],[uuid]) + + dnl Check for libdevmapper + DM_LIBS= diff --git a/package/parted/parted-001-readline-deprecated.patch b/package/parted/parted-001-readline-deprecated.patch deleted file mode 100644 index a3f40c8df6..0000000000 --- a/package/parted/parted-001-readline-deprecated.patch +++ /dev/null @@ -1,19 +0,0 @@ -The CPPFunction typedef (among others) have been deprecated in favour of -specific prototyped typedefs since readline 4.2. -It's been working since because compatibility typedefs have been -in place until they were removed in readline 6.3. - -Signed-off-by: Gustavo Zacarias - -diff -Nura parted-3.1.orig/parted/ui.c parted-3.1/parted/ui.c ---- parted-3.1.orig/parted/ui.c 2014-03-01 16:11:41.970827134 -0300 -+++ parted-3.1/parted/ui.c 2014-03-01 16:11:55.540259786 -0300 -@@ -1474,7 +1474,7 @@ - #ifdef HAVE_LIBREADLINE - if (!opt_script_mode) { - rl_initialize (); -- rl_attempted_completion_function = (CPPFunction*) complete_function; -+ rl_attempted_completion_function = (rl_completion_func_t *) complete_function; - readline_state.in_readline = 0; - } - #endif diff --git a/package/parted/parted-002-configure.ac-uclinux-is-also-linux.patch b/package/parted/parted-002-configure.ac-uclinux-is-also-linux.patch deleted file mode 100644 index b2119bcdd7..0000000000 --- a/package/parted/parted-002-configure.ac-uclinux-is-also-linux.patch +++ /dev/null @@ -1,33 +0,0 @@ -From b3958317c5ee2940e7024bec2e7f288b5a6a26c3 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Mon, 30 Jun 2014 10:09:04 -0300 -Subject: [PATCH] configure.ac: uclinux is also linux - -uclinux is used in the tuple for some noMMU linux builds like Blackfin -FLAT output, so accept it as linux too. - -Signed-off-by: Gustavo Zacarias ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 436d0e2..50ad478 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -58,10 +58,10 @@ AM_SILENT_RULES([yes]) # make --enable-silent-rules the default. - - AC_CANONICAL_HOST - case "$host_os" in -- linux*) OS=linux ;; -+ linux*|uclinux*) OS=linux ;; - gnu*) OS=gnu ;; - beos*) OS=beos ;; -- *) AC_MSG_ERROR([Unknown or unsupported OS "$host_os". Only "linux", "gnu" and "beos" are supported in this version of GNU Parted.]) ;; -+ *) AC_MSG_ERROR([Unknown or unsupported OS "$host_os". Only "linux", "uclinux", "gnu" and "beos" are supported in this version of GNU Parted.]) ;; - esac - AC_SUBST([OS]) - --- -1.8.5.5 - diff --git a/package/parted/parted-003-fix-static-link-uuid.patch b/package/parted/parted-003-fix-static-link-uuid.patch deleted file mode 100644 index d6ec2cf365..0000000000 --- a/package/parted/parted-003-fix-static-link-uuid.patch +++ /dev/null @@ -1,48 +0,0 @@ -configure: use pkg-config to find libuuid - -In some conditions, libuuid may be linked with -lintl. This can be the -case on uClibc when locales are enabled. - -When doing a shared link, this dependency is automatically pulled in via -a DT_NEEDED ELF tag - -For a static link, there is no such mechanism to pull in dependent -libraries. - -Currently, the check for libuuid is done with AC_CHECK_LIB, but this -does not handle dependencies, and thus a stattic build fails. - -Use pkg-config to find libuuid, that automatically pulls in the -dependencies of libuuid, if any. - -Signed-off-by: "Yann E. MORIN" - ---- -Note: of course, that relies on the fact that libuuid installs a proper -.pc file; a patch will be submitted upstream shortly. - -But even considering the current situation, where libuuid does not -provide a proper .pc file (yet), this patch does not change the -behaviour we've had so far; it is a bet on the future! ;-) - -diff -durN parted-3.1.orig/configure.ac parted-3.1/configure.ac ---- parted-3.1.orig/configure.ac 2014-11-29 16:27:49.520560137 +0100 -+++ parted-3.1/configure.ac 2014-11-29 16:32:50.799702049 +0100 -@@ -313,16 +313,7 @@ - AC_SUBST([DL_LIBS]) - - dnl Check for libuuid --UUID_LIBS="" --AC_CHECK_LIB([uuid], [uuid_generate], [UUID_LIBS="-luuid"], -- [AC_MSG_ERROR(dnl --[GNU Parted requires libuuid - a part of the util-linux-ng package (but --usually distributed separately in libuuid-devel, uuid-dev or similar) --This can probably be found on your distribution's CD or FTP site or at: -- http://userweb.kernel.org/~kzak/util-linux-ng/ --Note: originally, libuuid was part of the e2fsprogs package. Later, it --moved to util-linux-ng-2.16, and that package is now the preferred source.])]) --AC_SUBST([UUID_LIBS]) -+PKG_CHECK_MODULES([UUID],[uuid]) - - dnl Check for libdevmapper - DM_LIBS= diff --git a/package/pcmanfm/0001-link-against-libx11.patch b/package/pcmanfm/0001-link-against-libx11.patch new file mode 100644 index 0000000000..f571e77450 --- /dev/null +++ b/package/pcmanfm/0001-link-against-libx11.patch @@ -0,0 +1,20 @@ +Link against libX11 + +fm-desktop.c uses XSendEvent, so we should link against libX11. + +Signed-off-by: Thomas Petazzoni + +Index: b/configure.in +=================================================================== +--- a/configure.in ++++ b/configure.in +@@ -12,7 +12,8 @@ + + pkg_modules="gtk+-2.0 >= 2.6.0 \ + gthread-2.0 \ +- libstartup-notification-1.0" ++ libstartup-notification-1.0 \ ++ x11" + + AC_FUNC_MMAP + diff --git a/package/pcmanfm/pcmanfm-link-against-libx11.patch b/package/pcmanfm/pcmanfm-link-against-libx11.patch deleted file mode 100644 index f571e77450..0000000000 --- a/package/pcmanfm/pcmanfm-link-against-libx11.patch +++ /dev/null @@ -1,20 +0,0 @@ -Link against libX11 - -fm-desktop.c uses XSendEvent, so we should link against libX11. - -Signed-off-by: Thomas Petazzoni - -Index: b/configure.in -=================================================================== ---- a/configure.in -+++ b/configure.in -@@ -12,7 +12,8 @@ - - pkg_modules="gtk+-2.0 >= 2.6.0 \ - gthread-2.0 \ -- libstartup-notification-1.0" -+ libstartup-notification-1.0 \ -+ x11" - - AC_FUNC_MMAP - diff --git a/package/pcsc-lite/0001-pthread-needed-for-libusb.patch b/package/pcsc-lite/0001-pthread-needed-for-libusb.patch new file mode 100644 index 0000000000..acb777aa44 --- /dev/null +++ b/package/pcsc-lite/0001-pthread-needed-for-libusb.patch @@ -0,0 +1,29 @@ +configure.ac: explicitly add pthread cflags/libs in the libusb test + +If libusb-config does not exist, LIBUSB_CFLAGS and PTHREAD_CFLAGS will be +empty, and the test for libusb will be performed without additional flags. +However, when libusb needs threads, some extra flags are needed (depending +on the platform), like -pthreads, -lpthread, etc. Without these flags, the +test for libusb_init() will fail to link correctly, and pcsc-lite will fail +detecting libusb. + +Signed-off-by: Thomas De Schampheleire + +Upstream-status: will be submitted + +--- + +diff --git a/configure.ac b/configure.ac +--- a/configure.ac ++++ b/configure.ac +@@ -254,8 +254,8 @@ if test "x$use_libusb" != xno ; then + saved_CPPFLAGS="$CPPFLAGS" + saved_LIBS="$LIBS" + +- CPPFLAGS="$CPPFLAGS $LIBUSB_CFLAGS" +- LIBS="$LDFLAGS $LIBUSB_LIBS" ++ CPPFLAGS="$CPPFLAGS $LIBUSB_CFLAGS $PTHREAD_CFLAGS" ++ LIBS="$LDFLAGS $LIBUSB_LIBS $PTHREAD_LIBS" + + AC_CHECK_HEADERS(libusb.h, [], + [ AC_MSG_ERROR([libusb.h not found, use ./configure LIBUSB_CFLAGS=...]) ]) diff --git a/package/pcsc-lite/pcsc-lite-0001-pthread-needed-for-libusb.patch b/package/pcsc-lite/pcsc-lite-0001-pthread-needed-for-libusb.patch deleted file mode 100644 index acb777aa44..0000000000 --- a/package/pcsc-lite/pcsc-lite-0001-pthread-needed-for-libusb.patch +++ /dev/null @@ -1,29 +0,0 @@ -configure.ac: explicitly add pthread cflags/libs in the libusb test - -If libusb-config does not exist, LIBUSB_CFLAGS and PTHREAD_CFLAGS will be -empty, and the test for libusb will be performed without additional flags. -However, when libusb needs threads, some extra flags are needed (depending -on the platform), like -pthreads, -lpthread, etc. Without these flags, the -test for libusb_init() will fail to link correctly, and pcsc-lite will fail -detecting libusb. - -Signed-off-by: Thomas De Schampheleire - -Upstream-status: will be submitted - ---- - -diff --git a/configure.ac b/configure.ac ---- a/configure.ac -+++ b/configure.ac -@@ -254,8 +254,8 @@ if test "x$use_libusb" != xno ; then - saved_CPPFLAGS="$CPPFLAGS" - saved_LIBS="$LIBS" - -- CPPFLAGS="$CPPFLAGS $LIBUSB_CFLAGS" -- LIBS="$LDFLAGS $LIBUSB_LIBS" -+ CPPFLAGS="$CPPFLAGS $LIBUSB_CFLAGS $PTHREAD_CFLAGS" -+ LIBS="$LDFLAGS $LIBUSB_LIBS $PTHREAD_LIBS" - - AC_CHECK_HEADERS(libusb.h, [], - [ AC_MSG_ERROR([libusb.h not found, use ./configure LIBUSB_CFLAGS=...]) ]) diff --git a/package/perl-net-ssleay/0001-fix-build-system.patch b/package/perl-net-ssleay/0001-fix-build-system.patch new file mode 100644 index 0000000000..a6cd0f9ceb --- /dev/null +++ b/package/perl-net-ssleay/0001-fix-build-system.patch @@ -0,0 +1,36 @@ +buildsystem: fix for cross-compilation + +Avoid running the openssl binary, since it would break for +cross-compilation. Buildroot has a supported version, anyway. + +Also, avoid adding hard-coded includes and libraries search +paths, since they are missing the destdir; Buildroot compilers +and linkers already know where to search, anyway. + +Signed-off-by: "Yann E. MORIN" + +diff -durN perl-net-ssleay-1.64.orig/inc/Module/Install/PRIVATE/Net/SSLeay.pm perl-net-ssleay-1.64/inc/Module/Install/PRIVATE/Net/SSLeay.pm +--- perl-net-ssleay-1.64.orig/inc/Module/Install/PRIVATE/Net/SSLeay.pm 2014-04-01 08:08:37.000000000 +0200 ++++ perl-net-ssleay-1.64/inc/Module/Install/PRIVATE/Net/SSLeay.pm 2014-07-13 00:38:46.281380282 +0200 +@@ -37,14 +37,18 @@ + exit 0; # according http://wiki.cpantesters.org/wiki/CPANAuthorNotes this is best-practice when "missing library" + } + +- $self->check_openssl_version($prefix, $exec); ++# Does not work for cross-compilation. ++# In Buildroot, we do have a supported version. ++# $self->check_openssl_version($prefix, $exec); + my $opts = $self->ssleay_get_build_opts($prefix, $exec); + + $self->makemaker_args( + CCCDLFLAGS => $opts->{cccdlflags}, + OPTIMIZE => $opts->{optimize}, +- INC => join(' ', map {"-I$_"} @{$opts->{inc_paths}}), +- LIBS => join(' ', (map {"-L$_"} @{$opts->{lib_paths}}), (map {"-l$_"} @{$opts->{lib_links}})), ++# Buildroot already has the correct include and library search paths. ++# INC => join(' ', map {"-I$_"} @{$opts->{inc_paths}}), ++# LIBS => join(' ', (map {"-L$_"} @{$opts->{lib_paths}}), (map {"-l$_"} @{$opts->{lib_links}})), ++ LIBS => join(' ', (map {"-l$_"} @{$opts->{lib_links}})), + ); + + if ( $self->prompt( diff --git a/package/perl-net-ssleay/perl-net-ssleay-0000-fix-build-system.patch b/package/perl-net-ssleay/perl-net-ssleay-0000-fix-build-system.patch deleted file mode 100644 index a6cd0f9ceb..0000000000 --- a/package/perl-net-ssleay/perl-net-ssleay-0000-fix-build-system.patch +++ /dev/null @@ -1,36 +0,0 @@ -buildsystem: fix for cross-compilation - -Avoid running the openssl binary, since it would break for -cross-compilation. Buildroot has a supported version, anyway. - -Also, avoid adding hard-coded includes and libraries search -paths, since they are missing the destdir; Buildroot compilers -and linkers already know where to search, anyway. - -Signed-off-by: "Yann E. MORIN" - -diff -durN perl-net-ssleay-1.64.orig/inc/Module/Install/PRIVATE/Net/SSLeay.pm perl-net-ssleay-1.64/inc/Module/Install/PRIVATE/Net/SSLeay.pm ---- perl-net-ssleay-1.64.orig/inc/Module/Install/PRIVATE/Net/SSLeay.pm 2014-04-01 08:08:37.000000000 +0200 -+++ perl-net-ssleay-1.64/inc/Module/Install/PRIVATE/Net/SSLeay.pm 2014-07-13 00:38:46.281380282 +0200 -@@ -37,14 +37,18 @@ - exit 0; # according http://wiki.cpantesters.org/wiki/CPANAuthorNotes this is best-practice when "missing library" - } - -- $self->check_openssl_version($prefix, $exec); -+# Does not work for cross-compilation. -+# In Buildroot, we do have a supported version. -+# $self->check_openssl_version($prefix, $exec); - my $opts = $self->ssleay_get_build_opts($prefix, $exec); - - $self->makemaker_args( - CCCDLFLAGS => $opts->{cccdlflags}, - OPTIMIZE => $opts->{optimize}, -- INC => join(' ', map {"-I$_"} @{$opts->{inc_paths}}), -- LIBS => join(' ', (map {"-L$_"} @{$opts->{lib_paths}}), (map {"-l$_"} @{$opts->{lib_links}})), -+# Buildroot already has the correct include and library search paths. -+# INC => join(' ', map {"-I$_"} @{$opts->{inc_paths}}), -+# LIBS => join(' ', (map {"-L$_"} @{$opts->{lib_paths}}), (map {"-l$_"} @{$opts->{lib_links}})), -+ LIBS => join(' ', (map {"-l$_"} @{$opts->{lib_links}})), - ); - - if ( $self->prompt( diff --git a/package/perl-xml-libxml/0001-Makefile-PL.patch b/package/perl-xml-libxml/0001-Makefile-PL.patch new file mode 100644 index 0000000000..ce2724c891 --- /dev/null +++ b/package/perl-xml-libxml/0001-Makefile-PL.patch @@ -0,0 +1,18 @@ +fake check_lib for cross-compilation + +Signed-off-by: Francois Perrad + +Index: b/Makefile.PL +=================================================================== +--- a/Makefile.PL ++++ b/Makefile.PL +@@ -84,8 +84,7 @@ + # -------------------------------------------------------------------------- # + # -------------------------------------------------------------------------- # + +-use lib qw(inc); +-use Devel::CheckLib; ++sub check_lib { return 1; } + + # Prompt the user here for any paths and other configuration + diff --git a/package/perl-xml-libxml/perl-xml-libxml-01-Makefile-PL.patch b/package/perl-xml-libxml/perl-xml-libxml-01-Makefile-PL.patch deleted file mode 100644 index ce2724c891..0000000000 --- a/package/perl-xml-libxml/perl-xml-libxml-01-Makefile-PL.patch +++ /dev/null @@ -1,18 +0,0 @@ -fake check_lib for cross-compilation - -Signed-off-by: Francois Perrad - -Index: b/Makefile.PL -=================================================================== ---- a/Makefile.PL -+++ b/Makefile.PL -@@ -84,8 +84,7 @@ - # -------------------------------------------------------------------------- # - # -------------------------------------------------------------------------- # - --use lib qw(inc); --use Devel::CheckLib; -+sub check_lib { return 1; } - - # Prompt the user here for any paths and other configuration - diff --git a/package/perl/0001-uClibc-IPv6.patch b/package/perl/0001-uClibc-IPv6.patch new file mode 100644 index 0000000000..b29d373210 --- /dev/null +++ b/package/perl/0001-uClibc-IPv6.patch @@ -0,0 +1,61 @@ +fix on uClibc without IPv6 support + +Signed-off-by: Francois Perrad + +Index: b/cpan/Socket/Socket.xs +=================================================================== +--- a/cpan/Socket/Socket.xs ++++ b/cpan/Socket/Socket.xs +@@ -920,7 +920,7 @@ + CODE: + #ifdef HAS_INETNTOP + STRLEN addrlen; +-#ifdef AF_INET6 ++#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6)) + struct in6_addr addr; + char str[INET6_ADDRSTRLEN]; + #else +@@ -940,7 +940,7 @@ + croak("Bad address length for Socket::inet_ntop on AF_INET;" + " got %"UVuf", should be 4", (UV)addrlen); + break; +-#ifdef AF_INET6 ++#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6)) + case AF_INET6: + if(addrlen != 16) + croak("Bad address length for Socket::inet_ntop on AF_INET6;" +@@ -949,7 +949,7 @@ + #endif + default: + croak("Bad address family for %s, got %d, should be" +-#ifdef AF_INET6 ++#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6)) + " either AF_INET or AF_INET6", + #else + " AF_INET", +@@ -979,7 +979,7 @@ + #ifdef HAS_INETPTON + int ok; + int addrlen = 0; +-#ifdef AF_INET6 ++#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6)) + struct in6_addr ip_address; + #else + struct in_addr ip_address; +@@ -989,14 +989,14 @@ + case AF_INET: + addrlen = 4; + break; +-#ifdef AF_INET6 ++#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6)) + case AF_INET6: + addrlen = 16; + break; + #endif + default: + croak("Bad address family for %s, got %d, should be" +-#ifdef AF_INET6 ++#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6)) + " either AF_INET or AF_INET6", + #else + " AF_INET", diff --git a/package/perl/perl-uClibc-IPv6.patch b/package/perl/perl-uClibc-IPv6.patch deleted file mode 100644 index b29d373210..0000000000 --- a/package/perl/perl-uClibc-IPv6.patch +++ /dev/null @@ -1,61 +0,0 @@ -fix on uClibc without IPv6 support - -Signed-off-by: Francois Perrad - -Index: b/cpan/Socket/Socket.xs -=================================================================== ---- a/cpan/Socket/Socket.xs -+++ b/cpan/Socket/Socket.xs -@@ -920,7 +920,7 @@ - CODE: - #ifdef HAS_INETNTOP - STRLEN addrlen; --#ifdef AF_INET6 -+#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6)) - struct in6_addr addr; - char str[INET6_ADDRSTRLEN]; - #else -@@ -940,7 +940,7 @@ - croak("Bad address length for Socket::inet_ntop on AF_INET;" - " got %"UVuf", should be 4", (UV)addrlen); - break; --#ifdef AF_INET6 -+#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6)) - case AF_INET6: - if(addrlen != 16) - croak("Bad address length for Socket::inet_ntop on AF_INET6;" -@@ -949,7 +949,7 @@ - #endif - default: - croak("Bad address family for %s, got %d, should be" --#ifdef AF_INET6 -+#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6)) - " either AF_INET or AF_INET6", - #else - " AF_INET", -@@ -979,7 +979,7 @@ - #ifdef HAS_INETPTON - int ok; - int addrlen = 0; --#ifdef AF_INET6 -+#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6)) - struct in6_addr ip_address; - #else - struct in_addr ip_address; -@@ -989,14 +989,14 @@ - case AF_INET: - addrlen = 4; - break; --#ifdef AF_INET6 -+#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6)) - case AF_INET6: - addrlen = 16; - break; - #endif - default: - croak("Bad address family for %s, got %d, should be" --#ifdef AF_INET6 -+#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6)) - " either AF_INET or AF_INET6", - #else - " AF_INET", diff --git a/package/pifmrds/0001-Makefile-cross-compile-friendly.patch b/package/pifmrds/0001-Makefile-cross-compile-friendly.patch new file mode 100644 index 0000000000..414d97c115 --- /dev/null +++ b/package/pifmrds/0001-Makefile-cross-compile-friendly.patch @@ -0,0 +1,37 @@ +Makefile: make it cross-compile (and Buildroot) friendly. + +The current Makefile makes heavy assumptions that it is doing native +compilation on the RPi, as it checks that `uname -m` is an ARM machine. + +This is wrong in the cross-compilation case. + +Remove the conditional altogether, and do not override the CFLAGS +as passed in the environment (Buildroot passes proper CFLAGS). + +[intial patch by: Eric Limpens ] +Signed-off-by: "Yann E. MORIN" + +diff -durN pifmrds-c67306ea9b8d827f45e0d90279d367e97119bcb1.orig/src/Makefile pifmrds-c67306ea9b8d827f45e0d90279d367e97119bcb1/src/Makefile +--- pifmrds-c67306ea9b8d827f45e0d90279d367e97119bcb1.orig/src/Makefile 2014-05-04 18:21:40.000000000 +0200 ++++ pifmrds-c67306ea9b8d827f45e0d90279d367e97119bcb1/src/Makefile 2014-06-21 16:38:31.971804343 +0200 +@@ -1,20 +1,8 @@ + CC = gcc +-STD_CFLAGS = -Wall -std=gnu99 -c -g -O3 + +-# Enable ARM-specific options only on ARM, and compilation of the app only on ARM +-UNAME := $(shell uname -m) +- +-ifeq ($(UNAME), armv6l) +- CFLAGS = $(STD_CFLAGS) -march=armv6 -mtune=arm1176jzf-s -mfloat-abi=hard -mfpu=vfp -ffast-math +- + app: rds.o waveforms.o pi_fm_rds.o fm_mpx.o control_pipe.o + $(CC) -o pi_fm_rds rds.o waveforms.o pi_fm_rds.o fm_mpx.o control_pipe.o -lm -lsndfile + +-else +- CFLAGS = $(STD_CFLAGS) +-endif +- +- + rds_wav: rds.o waveforms.o rds_wav.o fm_mpx.o + $(CC) -o rds_wav rds_wav.o rds.o waveforms.o fm_mpx.o -lm -lsndfile + diff --git a/package/pifmrds/0002-Makefile-use-LDFLAGS.patch b/package/pifmrds/0002-Makefile-use-LDFLAGS.patch new file mode 100644 index 0000000000..54c142701b --- /dev/null +++ b/package/pifmrds/0002-Makefile-use-LDFLAGS.patch @@ -0,0 +1,20 @@ +Makefile: use LDFLAGS when linking + +Signed-off-by: "Yann E. MORIN" + +diff -durN pifmrds-c67306ea9b8d827f45e0d90279d367e97119bcb1.orig/src/Makefile pifmrds-c67306ea9b8d827f45e0d90279d367e97119bcb1/src/Makefile +--- pifmrds-c67306ea9b8d827f45e0d90279d367e97119bcb1.orig/src/Makefile 2014-06-21 16:46:49.101118754 +0200 ++++ pifmrds-c67306ea9b8d827f45e0d90279d367e97119bcb1/src/Makefile 2014-06-21 16:47:47.801745683 +0200 +@@ -1,10 +1,10 @@ + CC = gcc + + app: rds.o waveforms.o pi_fm_rds.o fm_mpx.o control_pipe.o +- $(CC) -o pi_fm_rds rds.o waveforms.o pi_fm_rds.o fm_mpx.o control_pipe.o -lm -lsndfile ++ $(CC) $(LDFLAGS) -o pi_fm_rds rds.o waveforms.o pi_fm_rds.o fm_mpx.o control_pipe.o -lm -lsndfile + + rds_wav: rds.o waveforms.o rds_wav.o fm_mpx.o +- $(CC) -o rds_wav rds_wav.o rds.o waveforms.o fm_mpx.o -lm -lsndfile ++ $(CC) $(LDFLAGS) -o rds_wav rds_wav.o rds.o waveforms.o fm_mpx.o -lm -lsndfile + + rds.o: rds.c waveforms.h + $(CC) $(CFLAGS) rds.c diff --git a/package/pifmrds/pifmrds-0001-Makefile-cross-compile-friendly.patch b/package/pifmrds/pifmrds-0001-Makefile-cross-compile-friendly.patch deleted file mode 100644 index 414d97c115..0000000000 --- a/package/pifmrds/pifmrds-0001-Makefile-cross-compile-friendly.patch +++ /dev/null @@ -1,37 +0,0 @@ -Makefile: make it cross-compile (and Buildroot) friendly. - -The current Makefile makes heavy assumptions that it is doing native -compilation on the RPi, as it checks that `uname -m` is an ARM machine. - -This is wrong in the cross-compilation case. - -Remove the conditional altogether, and do not override the CFLAGS -as passed in the environment (Buildroot passes proper CFLAGS). - -[intial patch by: Eric Limpens ] -Signed-off-by: "Yann E. MORIN" - -diff -durN pifmrds-c67306ea9b8d827f45e0d90279d367e97119bcb1.orig/src/Makefile pifmrds-c67306ea9b8d827f45e0d90279d367e97119bcb1/src/Makefile ---- pifmrds-c67306ea9b8d827f45e0d90279d367e97119bcb1.orig/src/Makefile 2014-05-04 18:21:40.000000000 +0200 -+++ pifmrds-c67306ea9b8d827f45e0d90279d367e97119bcb1/src/Makefile 2014-06-21 16:38:31.971804343 +0200 -@@ -1,20 +1,8 @@ - CC = gcc --STD_CFLAGS = -Wall -std=gnu99 -c -g -O3 - --# Enable ARM-specific options only on ARM, and compilation of the app only on ARM --UNAME := $(shell uname -m) -- --ifeq ($(UNAME), armv6l) -- CFLAGS = $(STD_CFLAGS) -march=armv6 -mtune=arm1176jzf-s -mfloat-abi=hard -mfpu=vfp -ffast-math -- - app: rds.o waveforms.o pi_fm_rds.o fm_mpx.o control_pipe.o - $(CC) -o pi_fm_rds rds.o waveforms.o pi_fm_rds.o fm_mpx.o control_pipe.o -lm -lsndfile - --else -- CFLAGS = $(STD_CFLAGS) --endif -- -- - rds_wav: rds.o waveforms.o rds_wav.o fm_mpx.o - $(CC) -o rds_wav rds_wav.o rds.o waveforms.o fm_mpx.o -lm -lsndfile - diff --git a/package/pifmrds/pifmrds-0002-Makefile-use-LDFLAGS.patch b/package/pifmrds/pifmrds-0002-Makefile-use-LDFLAGS.patch deleted file mode 100644 index 54c142701b..0000000000 --- a/package/pifmrds/pifmrds-0002-Makefile-use-LDFLAGS.patch +++ /dev/null @@ -1,20 +0,0 @@ -Makefile: use LDFLAGS when linking - -Signed-off-by: "Yann E. MORIN" - -diff -durN pifmrds-c67306ea9b8d827f45e0d90279d367e97119bcb1.orig/src/Makefile pifmrds-c67306ea9b8d827f45e0d90279d367e97119bcb1/src/Makefile ---- pifmrds-c67306ea9b8d827f45e0d90279d367e97119bcb1.orig/src/Makefile 2014-06-21 16:46:49.101118754 +0200 -+++ pifmrds-c67306ea9b8d827f45e0d90279d367e97119bcb1/src/Makefile 2014-06-21 16:47:47.801745683 +0200 -@@ -1,10 +1,10 @@ - CC = gcc - - app: rds.o waveforms.o pi_fm_rds.o fm_mpx.o control_pipe.o -- $(CC) -o pi_fm_rds rds.o waveforms.o pi_fm_rds.o fm_mpx.o control_pipe.o -lm -lsndfile -+ $(CC) $(LDFLAGS) -o pi_fm_rds rds.o waveforms.o pi_fm_rds.o fm_mpx.o control_pipe.o -lm -lsndfile - - rds_wav: rds.o waveforms.o rds_wav.o fm_mpx.o -- $(CC) -o rds_wav rds_wav.o rds.o waveforms.o fm_mpx.o -lm -lsndfile -+ $(CC) $(LDFLAGS) -o rds_wav rds_wav.o rds.o waveforms.o fm_mpx.o -lm -lsndfile - - rds.o: rds.c waveforms.h - $(CC) $(CFLAGS) rds.c diff --git a/package/pkgconf/0001-fix-variable.patch b/package/pkgconf/0001-fix-variable.patch new file mode 100644 index 0000000000..4c213d6ee8 --- /dev/null +++ b/package/pkgconf/0001-fix-variable.patch @@ -0,0 +1,29 @@ +[PATCH] prefix sysroot to include/libdir path variables + +Prefix includedir / libdir variable values with sysroot if a variable is +requested (--variable=), similar to how it's done for -I / -L flags. + +This is sometimes used to find header files (E.G. in gst-plugins configure), +so ensure the sysroot'ed files are used. + +Signed-off-by: Gustavo Zacarias +Signed-off-by: Bernd Kuhls + +diff -Nura pkgconf-0.8.9.orig/main.c pkgconf-0.8.9/main.c +--- pkgconf-0.8.9.orig/main.c 2012-10-24 14:32:08.236508699 -0300 ++++ pkgconf-0.8.9/main.c 2012-10-24 14:54:36.771070217 -0300 +@@ -298,7 +298,13 @@ + if (eflag != PKG_ERRF_OK) + return false; + +- printf("%s\n", req.buf); ++ if ( !strcmp(req.variable, "includedir") || ++ !strcmp(req.variable, "mapdir") || ++ !strcmp(req.variable, "sdkdir") || ++ !strcmp(req.variable, "libdir")) ++ printf("%s%s\n", sysroot_dir, req.buf); ++ else ++ printf("%s\n", req.buf); + return true; + } + diff --git a/package/pkgconf/0002-fix-double-sysroot.patch b/package/pkgconf/0002-fix-double-sysroot.patch new file mode 100644 index 0000000000..14bc34a672 --- /dev/null +++ b/package/pkgconf/0002-fix-double-sysroot.patch @@ -0,0 +1,40 @@ +pkgconf: don't double prefix lib/include paths with sysroot + +A .pc file could contain statements of the form: + -L/usr/lib +but also: + -L/path/to/sysroot/usr/lib + +The latter form typically occurs when the dependency was configured with a +statement like --with-xxx=$(STAGING_DIR)/usr. + +pkgconf only expects the first form, and prefixes it with the specified +sysroot. However, this strategy would result in a double sysroot in the +second case: + -L/path/to/sysroot/path/to/sysroot/usr/lib + +This patch checks for the presence of the sysroot in the specified -L or -I +directives, and only adds the sysroot when not already present. + +Upstream-status: will be submitted + +Signed-off-by: Thomas De Schampheleire + +--- + main.c | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + + +diff -r 16865d81819f -r 9d8e1737687f main.c +--- a/main.c Mon Jun 16 19:47:52 2014 +0200 ++++ b/main.c Mon Jun 16 19:48:15 2014 +0200 +@@ -82,7 +82,8 @@ + { + case 'L': + case 'I': +- return sysroot_dir; ++ if (strncmp(sysroot_dir, frag->data, strlen(sysroot_dir)) != 0) ++ return sysroot_dir; + default: + break; + } diff --git a/package/pkgconf/pkgconf-01-fix-variable.patch b/package/pkgconf/pkgconf-01-fix-variable.patch deleted file mode 100644 index 4c213d6ee8..0000000000 --- a/package/pkgconf/pkgconf-01-fix-variable.patch +++ /dev/null @@ -1,29 +0,0 @@ -[PATCH] prefix sysroot to include/libdir path variables - -Prefix includedir / libdir variable values with sysroot if a variable is -requested (--variable=), similar to how it's done for -I / -L flags. - -This is sometimes used to find header files (E.G. in gst-plugins configure), -so ensure the sysroot'ed files are used. - -Signed-off-by: Gustavo Zacarias -Signed-off-by: Bernd Kuhls - -diff -Nura pkgconf-0.8.9.orig/main.c pkgconf-0.8.9/main.c ---- pkgconf-0.8.9.orig/main.c 2012-10-24 14:32:08.236508699 -0300 -+++ pkgconf-0.8.9/main.c 2012-10-24 14:54:36.771070217 -0300 -@@ -298,7 +298,13 @@ - if (eflag != PKG_ERRF_OK) - return false; - -- printf("%s\n", req.buf); -+ if ( !strcmp(req.variable, "includedir") || -+ !strcmp(req.variable, "mapdir") || -+ !strcmp(req.variable, "sdkdir") || -+ !strcmp(req.variable, "libdir")) -+ printf("%s%s\n", sysroot_dir, req.buf); -+ else -+ printf("%s\n", req.buf); - return true; - } - diff --git a/package/pkgconf/pkgconf-02-fix-double-sysroot.patch b/package/pkgconf/pkgconf-02-fix-double-sysroot.patch deleted file mode 100644 index 14bc34a672..0000000000 --- a/package/pkgconf/pkgconf-02-fix-double-sysroot.patch +++ /dev/null @@ -1,40 +0,0 @@ -pkgconf: don't double prefix lib/include paths with sysroot - -A .pc file could contain statements of the form: - -L/usr/lib -but also: - -L/path/to/sysroot/usr/lib - -The latter form typically occurs when the dependency was configured with a -statement like --with-xxx=$(STAGING_DIR)/usr. - -pkgconf only expects the first form, and prefixes it with the specified -sysroot. However, this strategy would result in a double sysroot in the -second case: - -L/path/to/sysroot/path/to/sysroot/usr/lib - -This patch checks for the presence of the sysroot in the specified -L or -I -directives, and only adds the sysroot when not already present. - -Upstream-status: will be submitted - -Signed-off-by: Thomas De Schampheleire - ---- - main.c | 3 ++- - 1 files changed, 2 insertions(+), 1 deletions(-) - - -diff -r 16865d81819f -r 9d8e1737687f main.c ---- a/main.c Mon Jun 16 19:47:52 2014 +0200 -+++ b/main.c Mon Jun 16 19:48:15 2014 +0200 -@@ -82,7 +82,8 @@ - { - case 'L': - case 'I': -- return sysroot_dir; -+ if (strncmp(sysroot_dir, frag->data, strlen(sysroot_dir)) != 0) -+ return sysroot_dir; - default: - break; - } diff --git a/package/poco/0001-aarch64.patch b/package/poco/0001-aarch64.patch new file mode 100644 index 0000000000..f629f7ba92 --- /dev/null +++ b/package/poco/0001-aarch64.patch @@ -0,0 +1,39 @@ +From 37899eda9563d9134cb5864751b6432cabfaac3e Mon Sep 17 00:00:00 2001 +From: Will Newton +Date: Tue, 21 May 2013 22:11:05 +0100 +Subject: [PATCH] Foundation/include/Poco/Platform.h: Add support for AArch64. + +Add support for big and little endian AArch64 preprocessor defines. +--- + Foundation/include/Poco/Platform.h | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/Foundation/include/Poco/Platform.h b/Foundation/include/Poco/Platform.h +index f34f277..8ddb4cb 100644 +--- a/Foundation/include/Poco/Platform.h ++++ b/Foundation/include/Poco/Platform.h +@@ -145,6 +145,7 @@ + #define POCO_ARCH_S390 0x0c + #define POCO_ARCH_SH 0x0d + #define POCO_ARCH_NIOS2 0x0e ++#define POCO_ARCH_AARCH64 0x0f + + + #if defined(__ALPHA) || defined(__alpha) || defined(__alpha__) || defined(_M_ALPHA) +@@ -207,7 +208,12 @@ + #else + #define POCO_ARCH_BIG_ENDIAN 1 + #endif +- ++#elif defined(__AARCH64EL__) ++ #define POCO_ARCH POCO_ARCH_AARCH64 ++ #define POCO_ARCH_LITTLE_ENDIAN 1 ++#elif defined(__AARCH64EB__) ++ #define POCO_ARCH POCO_ARCH_AARCH64 ++ #define POCO_ARCH_BIG_ENDIAN 1 + #endif + + +-- +1.8.1.4 + diff --git a/package/poco/0002-add-cross-build-config.patch b/package/poco/0002-add-cross-build-config.patch new file mode 100644 index 0000000000..a08783833b --- /dev/null +++ b/package/poco/0002-add-cross-build-config.patch @@ -0,0 +1,82 @@ +From: Baruch Siach +Subject: [PATCH] poco: add Linux configuration file for generic cross build + +This patch adds the Linux-CrossEnv config file to poco. This file is identical +to the Linux one, except the added CROSSENV variable that allows setting of +the toolchain prefix. + +Signed-off-by: Baruch Siach +--- +diff -Nuar poco-1.4.1p1-dist/build/config/Linux-CrossEnv poco-1.4.1p1/build/config/Linux-CrossEnv +--- poco-1.4.1p1-dist/build/config/Linux-CrossEnv 1970-01-01 02:00:00.000000000 +0200 ++++ poco-1.4.1p1/build/config/Linux-CrossEnv 2011-08-02 18:51:03.682047719 +0300 +@@ -0,0 +1,69 @@ ++# ++# Linux ++# ++# Make settings for cross compiled Linux ++# ++# ++ ++# ++# General Settings ++# ++LINKMODE ?= SHARED ++ ++# ++# Define Tools ++# ++CC = $(CROSSENV)gcc ++CXX = $(CROSSENV)g++ ++LINK = $(CXX) ++LIB = $(CROSSENV)ar -cr ++RANLIB = $(CROSSENV)ranlib ++SHLIB = $(CXX) -shared -Wl,-soname,$(notdir $@) -o $@ ++SHLIBLN = $(POCO_BASE)/build/script/shlibln ++STRIP = $(CROSSENV)strip ++DEP = $(POCO_BASE)/build/script/makedepend.gcc ++SHELL = sh ++RM = rm -rf ++CP = cp ++MKDIR = mkdir -p ++ ++# ++# Extension for Shared Libraries ++# ++SHAREDLIBEXT = .so.$(target_version) ++SHAREDLIBLINKEXT = .so ++ ++# ++# Compiler and Linker Flags ++# ++CFLAGS = ++CFLAGS32 = ++CFLAGS64 = ++CXXFLAGS = -Wall -Wno-sign-compare ++CXXFLAGS32 = ++CXXFLAGS64 = ++LINKFLAGS = ++LINKFLAGS32 = ++LINKFLAGS64 = ++STATICOPT_CC = ++STATICOPT_CXX = ++STATICOPT_LINK = -static ++SHAREDOPT_CC = -fPIC ++SHAREDOPT_CXX = -fPIC ++SHAREDOPT_LINK = -Wl,-rpath,$(LIBPATH) ++DEBUGOPT_CC = -g -D_DEBUG ++DEBUGOPT_CXX = -g -D_DEBUG ++DEBUGOPT_LINK = -g ++RELEASEOPT_CC = -O2 -DNDEBUG ++RELEASEOPT_CXX = -O2 -DNDEBUG ++RELEASEOPT_LINK = -O2 ++ ++# ++# System Specific Flags ++# ++SYSFLAGS = -D_XOPEN_SOURCE=500 -D_REENTRANT -D_THREAD_SAFE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -DPOCO_HAVE_FD_EPOLL ++ ++# ++# System Specific Libraries ++# ++SYSLIBS = -lpthread -ldl -lrt diff --git a/package/poco/0003-add-staging-search-path.patch b/package/poco/0003-add-staging-search-path.patch new file mode 100644 index 0000000000..a9397b4f1c --- /dev/null +++ b/package/poco/0003-add-staging-search-path.patch @@ -0,0 +1,23 @@ +From: Baruch Siach +Subject: [PATCH] poco: add the staging path to search path + +Add the mysql headers and client libraries to the search path of the +preprocessor and the linker. The $MYSQL_LIBDIR / $MYSQL_INCIDR variables +must be set from the make command line. + +[Peter: Remove host dirs, add MYSQL_INCDIR] +Signed-off-by: Baruch Siach +--- +--- poco-1.4.4-all-dist/Data/MySQL/Makefile 2012-09-20 01:30:42.000000000 +0300 ++++ poco-1.4.4-all/Data/MySQL/Makefile 2012-10-11 14:36:10.343153420 +0200 +@@ -8,8 +8,8 @@ + + include $(POCO_BASE)/build/rules/global + +-SYSLIBS += -L/usr/local/lib$(LIB64SUFFIX)/mysql -L/usr/lib$(LIB64SUFFIX)/mysql -L/usr/mysql/lib$(LIB64SUFFIX)/mysql -L/usr/local/mysql/lib$(LIB64SUFFIX) -lmysqlclient +-INCLUDE += -I/usr/local/include/mysql/ -I/usr/include/mysql -I/usr/mysql/include/mysql -I/usr/local/mysql/include ++SYSLIBS += -L$(MYSQL_LIBDIR) -lmysqlclient ++INCLUDE += -I$(MYSQL_INCDIR) + SYSFLAGS += -DTHREADSAFE -DNO_TCL + + objects = Binder Extractor SessionImpl Connector \ diff --git a/package/poco/0004-dont-build-debug-libs.patch b/package/poco/0004-dont-build-debug-libs.patch new file mode 100644 index 0000000000..7480963721 --- /dev/null +++ b/package/poco/0004-dont-build-debug-libs.patch @@ -0,0 +1,19 @@ +From: Baruch Siach +Subject: [PATCH] poco: don't build debug libraries + +Remove the debug libraries build dependency from the default target. + +Signed-off-by: Baruch Siach +--- + +--- poco-1.4.1p1-dist/build/rules/compile 2011-02-09 11:12:24.000000000 +0200 ++++ poco-1.4.1p1/build/rules/compile 2011-08-03 07:51:42.946044176 +0300 +@@ -14,7 +14,7 @@ + + all: $(DEFAULT_TARGET) + all_static: static_debug static_release +-all_shared: shared_debug shared_release ++all_shared: shared_release + all_debug: static_debug shared_debug + all_release: static_release shared_release + diff --git a/package/poco/poco-aarch64.patch b/package/poco/poco-aarch64.patch deleted file mode 100644 index f629f7ba92..0000000000 --- a/package/poco/poco-aarch64.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 37899eda9563d9134cb5864751b6432cabfaac3e Mon Sep 17 00:00:00 2001 -From: Will Newton -Date: Tue, 21 May 2013 22:11:05 +0100 -Subject: [PATCH] Foundation/include/Poco/Platform.h: Add support for AArch64. - -Add support for big and little endian AArch64 preprocessor defines. ---- - Foundation/include/Poco/Platform.h | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/Foundation/include/Poco/Platform.h b/Foundation/include/Poco/Platform.h -index f34f277..8ddb4cb 100644 ---- a/Foundation/include/Poco/Platform.h -+++ b/Foundation/include/Poco/Platform.h -@@ -145,6 +145,7 @@ - #define POCO_ARCH_S390 0x0c - #define POCO_ARCH_SH 0x0d - #define POCO_ARCH_NIOS2 0x0e -+#define POCO_ARCH_AARCH64 0x0f - - - #if defined(__ALPHA) || defined(__alpha) || defined(__alpha__) || defined(_M_ALPHA) -@@ -207,7 +208,12 @@ - #else - #define POCO_ARCH_BIG_ENDIAN 1 - #endif -- -+#elif defined(__AARCH64EL__) -+ #define POCO_ARCH POCO_ARCH_AARCH64 -+ #define POCO_ARCH_LITTLE_ENDIAN 1 -+#elif defined(__AARCH64EB__) -+ #define POCO_ARCH POCO_ARCH_AARCH64 -+ #define POCO_ARCH_BIG_ENDIAN 1 - #endif - - --- -1.8.1.4 - diff --git a/package/poco/poco-add-cross-build-config.patch b/package/poco/poco-add-cross-build-config.patch deleted file mode 100644 index a08783833b..0000000000 --- a/package/poco/poco-add-cross-build-config.patch +++ /dev/null @@ -1,82 +0,0 @@ -From: Baruch Siach -Subject: [PATCH] poco: add Linux configuration file for generic cross build - -This patch adds the Linux-CrossEnv config file to poco. This file is identical -to the Linux one, except the added CROSSENV variable that allows setting of -the toolchain prefix. - -Signed-off-by: Baruch Siach ---- -diff -Nuar poco-1.4.1p1-dist/build/config/Linux-CrossEnv poco-1.4.1p1/build/config/Linux-CrossEnv ---- poco-1.4.1p1-dist/build/config/Linux-CrossEnv 1970-01-01 02:00:00.000000000 +0200 -+++ poco-1.4.1p1/build/config/Linux-CrossEnv 2011-08-02 18:51:03.682047719 +0300 -@@ -0,0 +1,69 @@ -+# -+# Linux -+# -+# Make settings for cross compiled Linux -+# -+# -+ -+# -+# General Settings -+# -+LINKMODE ?= SHARED -+ -+# -+# Define Tools -+# -+CC = $(CROSSENV)gcc -+CXX = $(CROSSENV)g++ -+LINK = $(CXX) -+LIB = $(CROSSENV)ar -cr -+RANLIB = $(CROSSENV)ranlib -+SHLIB = $(CXX) -shared -Wl,-soname,$(notdir $@) -o $@ -+SHLIBLN = $(POCO_BASE)/build/script/shlibln -+STRIP = $(CROSSENV)strip -+DEP = $(POCO_BASE)/build/script/makedepend.gcc -+SHELL = sh -+RM = rm -rf -+CP = cp -+MKDIR = mkdir -p -+ -+# -+# Extension for Shared Libraries -+# -+SHAREDLIBEXT = .so.$(target_version) -+SHAREDLIBLINKEXT = .so -+ -+# -+# Compiler and Linker Flags -+# -+CFLAGS = -+CFLAGS32 = -+CFLAGS64 = -+CXXFLAGS = -Wall -Wno-sign-compare -+CXXFLAGS32 = -+CXXFLAGS64 = -+LINKFLAGS = -+LINKFLAGS32 = -+LINKFLAGS64 = -+STATICOPT_CC = -+STATICOPT_CXX = -+STATICOPT_LINK = -static -+SHAREDOPT_CC = -fPIC -+SHAREDOPT_CXX = -fPIC -+SHAREDOPT_LINK = -Wl,-rpath,$(LIBPATH) -+DEBUGOPT_CC = -g -D_DEBUG -+DEBUGOPT_CXX = -g -D_DEBUG -+DEBUGOPT_LINK = -g -+RELEASEOPT_CC = -O2 -DNDEBUG -+RELEASEOPT_CXX = -O2 -DNDEBUG -+RELEASEOPT_LINK = -O2 -+ -+# -+# System Specific Flags -+# -+SYSFLAGS = -D_XOPEN_SOURCE=500 -D_REENTRANT -D_THREAD_SAFE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -DPOCO_HAVE_FD_EPOLL -+ -+# -+# System Specific Libraries -+# -+SYSLIBS = -lpthread -ldl -lrt diff --git a/package/poco/poco-add-staging-search-path.patch b/package/poco/poco-add-staging-search-path.patch deleted file mode 100644 index a9397b4f1c..0000000000 --- a/package/poco/poco-add-staging-search-path.patch +++ /dev/null @@ -1,23 +0,0 @@ -From: Baruch Siach -Subject: [PATCH] poco: add the staging path to search path - -Add the mysql headers and client libraries to the search path of the -preprocessor and the linker. The $MYSQL_LIBDIR / $MYSQL_INCIDR variables -must be set from the make command line. - -[Peter: Remove host dirs, add MYSQL_INCDIR] -Signed-off-by: Baruch Siach ---- ---- poco-1.4.4-all-dist/Data/MySQL/Makefile 2012-09-20 01:30:42.000000000 +0300 -+++ poco-1.4.4-all/Data/MySQL/Makefile 2012-10-11 14:36:10.343153420 +0200 -@@ -8,8 +8,8 @@ - - include $(POCO_BASE)/build/rules/global - --SYSLIBS += -L/usr/local/lib$(LIB64SUFFIX)/mysql -L/usr/lib$(LIB64SUFFIX)/mysql -L/usr/mysql/lib$(LIB64SUFFIX)/mysql -L/usr/local/mysql/lib$(LIB64SUFFIX) -lmysqlclient --INCLUDE += -I/usr/local/include/mysql/ -I/usr/include/mysql -I/usr/mysql/include/mysql -I/usr/local/mysql/include -+SYSLIBS += -L$(MYSQL_LIBDIR) -lmysqlclient -+INCLUDE += -I$(MYSQL_INCDIR) - SYSFLAGS += -DTHREADSAFE -DNO_TCL - - objects = Binder Extractor SessionImpl Connector \ diff --git a/package/poco/poco-dont-build-debug-libs.patch b/package/poco/poco-dont-build-debug-libs.patch deleted file mode 100644 index 7480963721..0000000000 --- a/package/poco/poco-dont-build-debug-libs.patch +++ /dev/null @@ -1,19 +0,0 @@ -From: Baruch Siach -Subject: [PATCH] poco: don't build debug libraries - -Remove the debug libraries build dependency from the default target. - -Signed-off-by: Baruch Siach ---- - ---- poco-1.4.1p1-dist/build/rules/compile 2011-02-09 11:12:24.000000000 +0200 -+++ poco-1.4.1p1/build/rules/compile 2011-08-03 07:51:42.946044176 +0300 -@@ -14,7 +14,7 @@ - - all: $(DEFAULT_TARGET) - all_static: static_debug static_release --all_shared: shared_debug shared_release -+all_shared: shared_release - all_debug: static_debug shared_debug - all_release: static_release shared_release - diff --git a/package/popt/0001-no-wchar.patch b/package/popt/0001-no-wchar.patch new file mode 100644 index 0000000000..161165e72c --- /dev/null +++ b/package/popt/0001-no-wchar.patch @@ -0,0 +1,12 @@ +diff -ru popt-1.14_vanilla/popthelp.c popt-1.14_no-wchar/popthelp.c +--- popt-1.14_vanilla/popthelp.c 2008-03-27 17:33:08.000000000 +0000 ++++ popt-1.14_no-wchar/popthelp.c 2008-04-10 05:44:43.000000000 +0000 +@@ -15,7 +15,7 @@ + #include + #endif + +-#define POPT_WCHAR_HACK ++/* #define POPT_WCHAR_HACK */ + #ifdef POPT_WCHAR_HACK + #include /* for mbsrtowcs */ + /*@access mbstate_t @*/ diff --git a/package/popt/0002-fix-autoreconf.patch b/package/popt/0002-fix-autoreconf.patch new file mode 100644 index 0000000000..f1fcc57a85 --- /dev/null +++ b/package/popt/0002-fix-autoreconf.patch @@ -0,0 +1,38 @@ +Make sure we can autoreconfigure popt + +This commit makes a few changes in the popt build system to allow it +to be autoreconfigured with modern autotools: + + - the TESTS variable shouldn't be using $(top_srcdir), and since we + don't care about tests in Buildroot, we just disable it. + + - the AM_C_PROTOTYPES macro is deprecated and should no longer be + used, causes an error with autoconf/automake. + +Signed-off-by: Thomas Petazzoni + +Index: b/Makefile.am +=================================================================== +--- a/Makefile.am ++++ b/Makefile.am +@@ -37,8 +37,6 @@ + TESTS_ENVIRONMENT = \ + test1="$(top_builddir)/test1" + +-TESTS = $(top_srcdir)/testit.sh +- + include_HEADERS = popt.h + + usrlibdir = $(libdir) +Index: b/configure.ac +=================================================================== +--- a/configure.ac ++++ b/configure.ac +@@ -46,7 +46,6 @@ + AC_SYS_LARGEFILE + + AC_ISC_POSIX +-AM_C_PROTOTYPES + + AC_CHECK_HEADERS(float.h fnmatch.h glob.h langinfo.h libintl.h mcheck.h unistd.h) + diff --git a/package/popt/0003-glob-detection.patch b/package/popt/0003-glob-detection.patch new file mode 100644 index 0000000000..7bdce7d717 --- /dev/null +++ b/package/popt/0003-glob-detection.patch @@ -0,0 +1,41 @@ +Detect glob_pattern_p() + +The current popt build system tests the existence of , and +then assumes that if __GLIBC__ is defined, then glob_pattern_p() must +be available. Unfortunately, that's not true with uClibc: may +be installed, but not necessarily the GNU glob extensions... and +uClibc defines __GLIBC__. This is causing build issues with certain +uClibc toolchains that do not have GNU glob extensions enabled. + +To fix this, this patch adds an AC_CHECK_FUNCS() test for +glob_pattern_p, and uses that to find out whether glob_pattern_p() is +available or not. + +Signed-off-by: Thomas Petazzoni + +Index: b/configure.ac +=================================================================== +--- a/configure.ac ++++ b/configure.ac +@@ -81,7 +81,7 @@ + AC_CHECK_FUNC(setreuid, [], [ + AC_CHECK_LIB(ucb, setreuid, [if echo $LIBS | grep -- -lucb >/dev/null ;then :; else LIBS="$LIBS -lc -lucb" USEUCB=y;fi]) + ]) +-AC_CHECK_FUNCS(getuid geteuid iconv mtrace __secure_getenv setregid stpcpy strerror vasprintf srandom) ++AC_CHECK_FUNCS(getuid geteuid iconv mtrace __secure_getenv setregid stpcpy strerror vasprintf srandom glob_pattern_p) + + AM_GNU_GETTEXT([external]) + AM_ICONV_LINK +Index: b/poptconfig.c +=================================================================== +--- a/poptconfig.c ++++ b/poptconfig.c +@@ -42,7 +42,7 @@ + /*@=declundef =exportheader =incondefs =protoparammatch =redecl =type @*/ + #endif /* __LCLINT__ */ + +-#if !defined(__GLIBC__) ++#if !defined(HAVE_GLOB_PATTERN_P) + /* Return nonzero if PATTERN contains any metacharacters. + Metacharacters can be quoted with backslashes if QUOTE is nonzero. */ + static int diff --git a/package/popt/popt-01-no-wchar.patch b/package/popt/popt-01-no-wchar.patch deleted file mode 100644 index 161165e72c..0000000000 --- a/package/popt/popt-01-no-wchar.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ru popt-1.14_vanilla/popthelp.c popt-1.14_no-wchar/popthelp.c ---- popt-1.14_vanilla/popthelp.c 2008-03-27 17:33:08.000000000 +0000 -+++ popt-1.14_no-wchar/popthelp.c 2008-04-10 05:44:43.000000000 +0000 -@@ -15,7 +15,7 @@ - #include - #endif - --#define POPT_WCHAR_HACK -+/* #define POPT_WCHAR_HACK */ - #ifdef POPT_WCHAR_HACK - #include /* for mbsrtowcs */ - /*@access mbstate_t @*/ diff --git a/package/popt/popt-02-fix-autoreconf.patch b/package/popt/popt-02-fix-autoreconf.patch deleted file mode 100644 index f1fcc57a85..0000000000 --- a/package/popt/popt-02-fix-autoreconf.patch +++ /dev/null @@ -1,38 +0,0 @@ -Make sure we can autoreconfigure popt - -This commit makes a few changes in the popt build system to allow it -to be autoreconfigured with modern autotools: - - - the TESTS variable shouldn't be using $(top_srcdir), and since we - don't care about tests in Buildroot, we just disable it. - - - the AM_C_PROTOTYPES macro is deprecated and should no longer be - used, causes an error with autoconf/automake. - -Signed-off-by: Thomas Petazzoni - -Index: b/Makefile.am -=================================================================== ---- a/Makefile.am -+++ b/Makefile.am -@@ -37,8 +37,6 @@ - TESTS_ENVIRONMENT = \ - test1="$(top_builddir)/test1" - --TESTS = $(top_srcdir)/testit.sh -- - include_HEADERS = popt.h - - usrlibdir = $(libdir) -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -46,7 +46,6 @@ - AC_SYS_LARGEFILE - - AC_ISC_POSIX --AM_C_PROTOTYPES - - AC_CHECK_HEADERS(float.h fnmatch.h glob.h langinfo.h libintl.h mcheck.h unistd.h) - diff --git a/package/popt/popt-03-glob-detection.patch b/package/popt/popt-03-glob-detection.patch deleted file mode 100644 index 7bdce7d717..0000000000 --- a/package/popt/popt-03-glob-detection.patch +++ /dev/null @@ -1,41 +0,0 @@ -Detect glob_pattern_p() - -The current popt build system tests the existence of , and -then assumes that if __GLIBC__ is defined, then glob_pattern_p() must -be available. Unfortunately, that's not true with uClibc: may -be installed, but not necessarily the GNU glob extensions... and -uClibc defines __GLIBC__. This is causing build issues with certain -uClibc toolchains that do not have GNU glob extensions enabled. - -To fix this, this patch adds an AC_CHECK_FUNCS() test for -glob_pattern_p, and uses that to find out whether glob_pattern_p() is -available or not. - -Signed-off-by: Thomas Petazzoni - -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -81,7 +81,7 @@ - AC_CHECK_FUNC(setreuid, [], [ - AC_CHECK_LIB(ucb, setreuid, [if echo $LIBS | grep -- -lucb >/dev/null ;then :; else LIBS="$LIBS -lc -lucb" USEUCB=y;fi]) - ]) --AC_CHECK_FUNCS(getuid geteuid iconv mtrace __secure_getenv setregid stpcpy strerror vasprintf srandom) -+AC_CHECK_FUNCS(getuid geteuid iconv mtrace __secure_getenv setregid stpcpy strerror vasprintf srandom glob_pattern_p) - - AM_GNU_GETTEXT([external]) - AM_ICONV_LINK -Index: b/poptconfig.c -=================================================================== ---- a/poptconfig.c -+++ b/poptconfig.c -@@ -42,7 +42,7 @@ - /*@=declundef =exportheader =incondefs =protoparammatch =redecl =type @*/ - #endif /* __LCLINT__ */ - --#if !defined(__GLIBC__) -+#if !defined(HAVE_GLOB_PATTERN_P) - /* Return nonzero if PATTERN contains any metacharacters. - Metacharacters can be quoted with backslashes if QUOTE is nonzero. */ - static int diff --git a/package/portmap/0001-README-fix-typo-in-tcp-wrapper-doc.patch b/package/portmap/0001-README-fix-typo-in-tcp-wrapper-doc.patch new file mode 100644 index 0000000000..01aa7bf849 --- /dev/null +++ b/package/portmap/0001-README-fix-typo-in-tcp-wrapper-doc.patch @@ -0,0 +1,26 @@ +From af4a27a17bbdbe941f2462e116c2e4c8ade110e3 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Fri, 19 Nov 2010 23:35:20 -0500 +Subject: [PATCH 1/4] README: fix typo in tcp wrapper doc + +Signed-off-by: Mike Frysinger +--- + README | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/README b/README +index 0da54cc..916de7e 100644 +--- a/README ++++ b/README +@@ -18,7 +18,7 @@ There is no "./configure", just use "make". + + Some make variable can be used to control compilation. + +- NO_TCP_WRAPPER= if non-empty, doen't use tcp_wrappers ++ NO_TCP_WRAPPER= if non-empty, don't use tcp_wrappers + USE_DNS= if set, tcp_wrappers can check peers based on hostname + as well as IP address. This should only be used if you + are certain that gethostbyname will never trigger a +-- +1.7.3.1 + diff --git a/package/portmap/0002-NO_PIE-make-PIE-support-controllable.patch b/package/portmap/0002-NO_PIE-make-PIE-support-controllable.patch new file mode 100644 index 0000000000..6e544bfaf0 --- /dev/null +++ b/package/portmap/0002-NO_PIE-make-PIE-support-controllable.patch @@ -0,0 +1,53 @@ +From 087874b15367a04fd482541d1832696d7163d1ac Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Fri, 19 Nov 2010 23:35:47 -0500 +Subject: [PATCH 2/4] NO_PIE: make PIE support controllable + +Signed-off-by: Mike Frysinger +--- + Makefile | 8 ++++++-- + README | 1 + + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 5343428..cfcfdbb 100644 +--- a/Makefile ++++ b/Makefile +@@ -106,6 +106,10 @@ CPPFLAGS += -DIGNORE_SIGCHLD # AIX 4.x, HP-UX 9.x + # + # LDLIBS += -m + # CFLAGS += -arch m68k -arch i386 -arch hppa ++ifeq ($(NO_PIE),) ++CFLAGS_PIE = -fpie ++LDFLAGS_PIE = -pie ++endif + + # Auxiliary libraries that you may have to specify + # +@@ -125,9 +129,9 @@ CFLAGS += -Wall -Wstrict-prototypes + all: portmap pmap_dump pmap_set portmap.man + + CPPFLAGS += $(HOSTS_ACCESS) +-portmap: CFLAGS += -fpie ++portmap: CFLAGS += $(CFLAGS_PIE) + portmap: LDLIBS += $(WRAP_LIB) +-portmap: LDFLAGS += -pie ++portmap: LDFLAGS += $(LDFLAGS_PIE) + portmap: portmap.o pmap_check.o from_local.o + + from_local: CPPFLAGS += -DTEST +diff --git a/README b/README +index 916de7e..e0b561a 100644 +--- a/README ++++ b/README +@@ -18,6 +18,7 @@ There is no "./configure", just use "make". + + Some make variable can be used to control compilation. + ++ NO_PIE= if non-empty, don't build portmap as a PIE + NO_TCP_WRAPPER= if non-empty, don't use tcp_wrappers + USE_DNS= if set, tcp_wrappers can check peers based on hostname + as well as IP address. This should only be used if you +-- +1.7.3.1 + diff --git a/package/portmap/0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch b/package/portmap/0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch new file mode 100644 index 0000000000..41396b6631 --- /dev/null +++ b/package/portmap/0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch @@ -0,0 +1,95 @@ +From b3afea5757af1a7356ba30d2e0a7d5909ca18121 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Fri, 19 Nov 2010 23:48:20 -0500 +Subject: [PATCH 3/4] NO_FORK: control usage of fork() for nommu systems + +nommu systems lack a fork() function, so add a NO_FORK flag to control +its usage. We don't lose a ton of functionality in doing so, and on an +embedded system, this is OK. + +Signed-off-by: Mike Frysinger +--- + Makefile | 5 +++++ + README | 1 + + pmap_check.c | 6 ++++-- + portmap.c | 6 ++++++ + 4 files changed, 16 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index cfcfdbb..9df5574 100644 +--- a/Makefile ++++ b/Makefile +@@ -27,6 +27,11 @@ MAN_SED += -e 's/USE_DNS/yes/' + endif + endif + ++# For no-mmu systems, we have to disable the fork() functions. ++ifneq ($(NO_FORK),) ++CPPFLAGS += -DNO_FORK ++endif ++ + # Comment out if your RPC library does not allocate privileged ports for + # requests from processes with root privilege, or the new portmap will + # always reject requests to register/unregister services on privileged +diff --git a/README b/README +index e0b561a..bda1707 100644 +--- a/README ++++ b/README +@@ -18,6 +18,7 @@ There is no "./configure", just use "make". + + Some make variable can be used to control compilation. + ++ NO_FORK= if non-empty, don't use fork (good for nommu systems) + NO_PIE= if non-empty, don't build portmap as a PIE + NO_TCP_WRAPPER= if non-empty, don't use tcp_wrappers + USE_DNS= if set, tcp_wrappers can check peers based on hostname +diff --git a/pmap_check.c b/pmap_check.c +index 6b3e490..983414e 100644 +--- a/pmap_check.c ++++ b/pmap_check.c +@@ -302,8 +302,10 @@ static void logit(int severity, struct sockaddr_in *addr, + * getrpcbynumber() or syslog() does its thing. + */ + +- if (fork() == 0) { +- ++#ifndef NO_FORK ++ if (fork() == 0) ++#endif ++ { + /* Try to map program number to name. */ + + if (prognum == 0) { +diff --git a/portmap.c b/portmap.c +index 2a98881..94abc64 100644 +--- a/portmap.c ++++ b/portmap.c +@@ -753,6 +755,7 @@ static void callit(struct svc_req *rqstp, SVCXPRT *xprt) + if ((pml = find_service(a.rmt_prog, a.rmt_vers, + (u_long)IPPROTO_UDP)) == NULL) + return; ++#ifndef NO_FORK + /* + * fork a child to do the work. Parent immediately returns. + * Child exits upon completion. +@@ -763,6 +766,7 @@ static void callit(struct svc_req *rqstp, SVCXPRT *xprt) + a.rmt_prog); + return; + } ++#endif + port = pml->pml_map.pm_port; + get_myaddress(&me); + me.sin_port = htons(port); +@@ -783,7 +787,9 @@ static void callit(struct svc_req *rqstp, SVCXPRT *xprt) + clnt_destroy(client); + } + (void)close(so); ++#ifndef NO_FORK + exit(0); ++#endif + } + + #ifndef IGNORE_SIGCHLD /* Lionel Cons */ +-- +1.7.3.1 + diff --git a/package/portmap/0004-NO_PERROR-control-overriding-of-perror-symbol.patch b/package/portmap/0004-NO_PERROR-control-overriding-of-perror-symbol.patch new file mode 100644 index 0000000000..665d6a1f99 --- /dev/null +++ b/package/portmap/0004-NO_PERROR-control-overriding-of-perror-symbol.patch @@ -0,0 +1,65 @@ +From 8cea0778f0fb838a7bd764be08f15e1494e5a0b2 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Fri, 19 Nov 2010 23:50:27 -0500 +Subject: [PATCH 4/4] NO_PERROR: control overriding of perror() symbol + +Doing static builds of portmap might fail when the C library's perror() +function is pulled in and collides with portmap's definition. So add a +flag to control the local override. + +Signed-off-by: Mike Frysinger +--- + Makefile | 5 +++++ + README | 1 + + 2 files changed, 6 insertions(+), 0 deletions(-) + +diff --git a/Makefile b/Makefile +index 9df5574..1635107 100644 +--- a/Makefile ++++ b/Makefile +@@ -32,6 +32,11 @@ ifneq ($(NO_FORK),) + CPPFLAGS += -DNO_FORK + endif + ++# For static builds, we might hit perror() symbol clashes ++ifneq ($(NO_PERROR),) ++CPPFLAGS += -DNO_PERROR ++endif ++ + # Comment out if your RPC library does not allocate privileged ports for + # requests from processes with root privilege, or the new portmap will + # always reject requests to register/unregister services on privileged +diff --git a/README b/README +index bda1707..05861a8 100644 +--- a/README ++++ b/README +@@ -19,6 +19,7 @@ There is no "./configure", just use "make". + Some make variable can be used to control compilation. + + NO_FORK= if non-empty, don't use fork (good for nommu systems) ++ NO_PERROR= if non-empty, don't override the perror() func + NO_PIE= if non-empty, don't build portmap as a PIE + NO_TCP_WRAPPER= if non-empty, don't use tcp_wrappers + USE_DNS= if set, tcp_wrappers can check peers based on hostname +diff --git a/portmap.c b/portmap.c +index 2a98881..94abc64 100644 +--- a/portmap.c ++++ b/portmap.c +@@ -391,12 +391,14 @@ main(int argc, char **argv) + abort(); + } + ++#ifndef NO_PERROR + /* need to override perror calls in rpc library */ + void perror(const char *what) + { + + syslog(LOG_ERR, "%s: %m", what); + } ++#endif + + static struct pmaplist * + find_service(u_long prog, u_long vers, u_long prot) +-- +1.7.3.1 + diff --git a/package/portmap/0005-tcpd.patch b/package/portmap/0005-tcpd.patch new file mode 100644 index 0000000000..c6af8f8c80 --- /dev/null +++ b/package/portmap/0005-tcpd.patch @@ -0,0 +1,18 @@ +Enable compile without tcp-wrappers + +Patch by Timothy Redaelli + +http://bugs.gentoo.org/178242 + +--- portmap_6.0/pmap_check.c ++++ portmap_6.0/pmap_check.c +@@ -44,7 +44,9 @@ + #include + #include + #endif ++#ifdef HOSTS_ACCESS + #include ++#endif + #include + #include + diff --git a/package/portmap/portmap-6.0-0001-README-fix-typo-in-tcp-wrapper-doc.patch b/package/portmap/portmap-6.0-0001-README-fix-typo-in-tcp-wrapper-doc.patch deleted file mode 100644 index 01aa7bf849..0000000000 --- a/package/portmap/portmap-6.0-0001-README-fix-typo-in-tcp-wrapper-doc.patch +++ /dev/null @@ -1,26 +0,0 @@ -From af4a27a17bbdbe941f2462e116c2e4c8ade110e3 Mon Sep 17 00:00:00 2001 -From: Mike Frysinger -Date: Fri, 19 Nov 2010 23:35:20 -0500 -Subject: [PATCH 1/4] README: fix typo in tcp wrapper doc - -Signed-off-by: Mike Frysinger ---- - README | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/README b/README -index 0da54cc..916de7e 100644 ---- a/README -+++ b/README -@@ -18,7 +18,7 @@ There is no "./configure", just use "make". - - Some make variable can be used to control compilation. - -- NO_TCP_WRAPPER= if non-empty, doen't use tcp_wrappers -+ NO_TCP_WRAPPER= if non-empty, don't use tcp_wrappers - USE_DNS= if set, tcp_wrappers can check peers based on hostname - as well as IP address. This should only be used if you - are certain that gethostbyname will never trigger a --- -1.7.3.1 - diff --git a/package/portmap/portmap-6.0-0002-NO_PIE-make-PIE-support-controllable.patch b/package/portmap/portmap-6.0-0002-NO_PIE-make-PIE-support-controllable.patch deleted file mode 100644 index 6e544bfaf0..0000000000 --- a/package/portmap/portmap-6.0-0002-NO_PIE-make-PIE-support-controllable.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 087874b15367a04fd482541d1832696d7163d1ac Mon Sep 17 00:00:00 2001 -From: Mike Frysinger -Date: Fri, 19 Nov 2010 23:35:47 -0500 -Subject: [PATCH 2/4] NO_PIE: make PIE support controllable - -Signed-off-by: Mike Frysinger ---- - Makefile | 8 ++++++-- - README | 1 + - 2 files changed, 7 insertions(+), 2 deletions(-) - -diff --git a/Makefile b/Makefile -index 5343428..cfcfdbb 100644 ---- a/Makefile -+++ b/Makefile -@@ -106,6 +106,10 @@ CPPFLAGS += -DIGNORE_SIGCHLD # AIX 4.x, HP-UX 9.x - # - # LDLIBS += -m - # CFLAGS += -arch m68k -arch i386 -arch hppa -+ifeq ($(NO_PIE),) -+CFLAGS_PIE = -fpie -+LDFLAGS_PIE = -pie -+endif - - # Auxiliary libraries that you may have to specify - # -@@ -125,9 +129,9 @@ CFLAGS += -Wall -Wstrict-prototypes - all: portmap pmap_dump pmap_set portmap.man - - CPPFLAGS += $(HOSTS_ACCESS) --portmap: CFLAGS += -fpie -+portmap: CFLAGS += $(CFLAGS_PIE) - portmap: LDLIBS += $(WRAP_LIB) --portmap: LDFLAGS += -pie -+portmap: LDFLAGS += $(LDFLAGS_PIE) - portmap: portmap.o pmap_check.o from_local.o - - from_local: CPPFLAGS += -DTEST -diff --git a/README b/README -index 916de7e..e0b561a 100644 ---- a/README -+++ b/README -@@ -18,6 +18,7 @@ There is no "./configure", just use "make". - - Some make variable can be used to control compilation. - -+ NO_PIE= if non-empty, don't build portmap as a PIE - NO_TCP_WRAPPER= if non-empty, don't use tcp_wrappers - USE_DNS= if set, tcp_wrappers can check peers based on hostname - as well as IP address. This should only be used if you --- -1.7.3.1 - diff --git a/package/portmap/portmap-6.0-0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch b/package/portmap/portmap-6.0-0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch deleted file mode 100644 index 41396b6631..0000000000 --- a/package/portmap/portmap-6.0-0003-NO_FORK-control-usage-of-fork-for-nommu-systems.patch +++ /dev/null @@ -1,95 +0,0 @@ -From b3afea5757af1a7356ba30d2e0a7d5909ca18121 Mon Sep 17 00:00:00 2001 -From: Mike Frysinger -Date: Fri, 19 Nov 2010 23:48:20 -0500 -Subject: [PATCH 3/4] NO_FORK: control usage of fork() for nommu systems - -nommu systems lack a fork() function, so add a NO_FORK flag to control -its usage. We don't lose a ton of functionality in doing so, and on an -embedded system, this is OK. - -Signed-off-by: Mike Frysinger ---- - Makefile | 5 +++++ - README | 1 + - pmap_check.c | 6 ++++-- - portmap.c | 6 ++++++ - 4 files changed, 16 insertions(+), 2 deletions(-) - -diff --git a/Makefile b/Makefile -index cfcfdbb..9df5574 100644 ---- a/Makefile -+++ b/Makefile -@@ -27,6 +27,11 @@ MAN_SED += -e 's/USE_DNS/yes/' - endif - endif - -+# For no-mmu systems, we have to disable the fork() functions. -+ifneq ($(NO_FORK),) -+CPPFLAGS += -DNO_FORK -+endif -+ - # Comment out if your RPC library does not allocate privileged ports for - # requests from processes with root privilege, or the new portmap will - # always reject requests to register/unregister services on privileged -diff --git a/README b/README -index e0b561a..bda1707 100644 ---- a/README -+++ b/README -@@ -18,6 +18,7 @@ There is no "./configure", just use "make". - - Some make variable can be used to control compilation. - -+ NO_FORK= if non-empty, don't use fork (good for nommu systems) - NO_PIE= if non-empty, don't build portmap as a PIE - NO_TCP_WRAPPER= if non-empty, don't use tcp_wrappers - USE_DNS= if set, tcp_wrappers can check peers based on hostname -diff --git a/pmap_check.c b/pmap_check.c -index 6b3e490..983414e 100644 ---- a/pmap_check.c -+++ b/pmap_check.c -@@ -302,8 +302,10 @@ static void logit(int severity, struct sockaddr_in *addr, - * getrpcbynumber() or syslog() does its thing. - */ - -- if (fork() == 0) { -- -+#ifndef NO_FORK -+ if (fork() == 0) -+#endif -+ { - /* Try to map program number to name. */ - - if (prognum == 0) { -diff --git a/portmap.c b/portmap.c -index 2a98881..94abc64 100644 ---- a/portmap.c -+++ b/portmap.c -@@ -753,6 +755,7 @@ static void callit(struct svc_req *rqstp, SVCXPRT *xprt) - if ((pml = find_service(a.rmt_prog, a.rmt_vers, - (u_long)IPPROTO_UDP)) == NULL) - return; -+#ifndef NO_FORK - /* - * fork a child to do the work. Parent immediately returns. - * Child exits upon completion. -@@ -763,6 +766,7 @@ static void callit(struct svc_req *rqstp, SVCXPRT *xprt) - a.rmt_prog); - return; - } -+#endif - port = pml->pml_map.pm_port; - get_myaddress(&me); - me.sin_port = htons(port); -@@ -783,7 +787,9 @@ static void callit(struct svc_req *rqstp, SVCXPRT *xprt) - clnt_destroy(client); - } - (void)close(so); -+#ifndef NO_FORK - exit(0); -+#endif - } - - #ifndef IGNORE_SIGCHLD /* Lionel Cons */ --- -1.7.3.1 - diff --git a/package/portmap/portmap-6.0-0004-NO_PERROR-control-overriding-of-perror-symbol.patch b/package/portmap/portmap-6.0-0004-NO_PERROR-control-overriding-of-perror-symbol.patch deleted file mode 100644 index 665d6a1f99..0000000000 --- a/package/portmap/portmap-6.0-0004-NO_PERROR-control-overriding-of-perror-symbol.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 8cea0778f0fb838a7bd764be08f15e1494e5a0b2 Mon Sep 17 00:00:00 2001 -From: Mike Frysinger -Date: Fri, 19 Nov 2010 23:50:27 -0500 -Subject: [PATCH 4/4] NO_PERROR: control overriding of perror() symbol - -Doing static builds of portmap might fail when the C library's perror() -function is pulled in and collides with portmap's definition. So add a -flag to control the local override. - -Signed-off-by: Mike Frysinger ---- - Makefile | 5 +++++ - README | 1 + - 2 files changed, 6 insertions(+), 0 deletions(-) - -diff --git a/Makefile b/Makefile -index 9df5574..1635107 100644 ---- a/Makefile -+++ b/Makefile -@@ -32,6 +32,11 @@ ifneq ($(NO_FORK),) - CPPFLAGS += -DNO_FORK - endif - -+# For static builds, we might hit perror() symbol clashes -+ifneq ($(NO_PERROR),) -+CPPFLAGS += -DNO_PERROR -+endif -+ - # Comment out if your RPC library does not allocate privileged ports for - # requests from processes with root privilege, or the new portmap will - # always reject requests to register/unregister services on privileged -diff --git a/README b/README -index bda1707..05861a8 100644 ---- a/README -+++ b/README -@@ -19,6 +19,7 @@ There is no "./configure", just use "make". - Some make variable can be used to control compilation. - - NO_FORK= if non-empty, don't use fork (good for nommu systems) -+ NO_PERROR= if non-empty, don't override the perror() func - NO_PIE= if non-empty, don't build portmap as a PIE - NO_TCP_WRAPPER= if non-empty, don't use tcp_wrappers - USE_DNS= if set, tcp_wrappers can check peers based on hostname -diff --git a/portmap.c b/portmap.c -index 2a98881..94abc64 100644 ---- a/portmap.c -+++ b/portmap.c -@@ -391,12 +391,14 @@ main(int argc, char **argv) - abort(); - } - -+#ifndef NO_PERROR - /* need to override perror calls in rpc library */ - void perror(const char *what) - { - - syslog(LOG_ERR, "%s: %m", what); - } -+#endif - - static struct pmaplist * - find_service(u_long prog, u_long vers, u_long prot) --- -1.7.3.1 - diff --git a/package/portmap/portmap-6.0-tcpd.patch b/package/portmap/portmap-6.0-tcpd.patch deleted file mode 100644 index c6af8f8c80..0000000000 --- a/package/portmap/portmap-6.0-tcpd.patch +++ /dev/null @@ -1,18 +0,0 @@ -Enable compile without tcp-wrappers - -Patch by Timothy Redaelli - -http://bugs.gentoo.org/178242 - ---- portmap_6.0/pmap_check.c -+++ portmap_6.0/pmap_check.c -@@ -44,7 +44,9 @@ - #include - #include - #endif -+#ifdef HOSTS_ACCESS - #include -+#endif - #include - #include - diff --git a/package/pptp-linux/0001-susv3-legacy.patch b/package/pptp-linux/0001-susv3-legacy.patch new file mode 100644 index 0000000000..5cc9f57809 --- /dev/null +++ b/package/pptp-linux/0001-susv3-legacy.patch @@ -0,0 +1,29 @@ +bzero is deprecated in POSIX.1-2001 and removed for POSIX.1-2008 so +switch to memset instead. + +Signed-off-by: Gustavo Zacarias + +diff -Nura pptp-1.8.0.orig/pptp_callmgr.c pptp-1.8.0/pptp_callmgr.c +--- pptp-1.8.0.orig/pptp_callmgr.c 2013-10-23 05:10:46.000000000 -0300 ++++ pptp-1.8.0/pptp_callmgr.c 2014-03-31 16:47:42.617643298 -0300 +@@ -340,7 +340,7 @@ + } + #endif + if (localbind.s_addr != INADDR_NONE) { +- bzero(&src, sizeof(src)); ++ memset(&src, 0, sizeof(src)); + src.i.sin_family = AF_INET; + src.i.sin_addr = localbind; + if (bind(s, &src.a, sizeof(src.i)) != 0) { +diff -Nura pptp-1.8.0.orig/pptp_gre.c pptp-1.8.0/pptp_gre.c +--- pptp-1.8.0.orig/pptp_gre.c 2013-10-23 05:10:46.000000000 -0300 ++++ pptp-1.8.0/pptp_gre.c 2014-03-31 16:47:30.745249066 -0300 +@@ -103,7 +103,7 @@ + } + #endif + if (localbind.s_addr != INADDR_NONE) { +- bzero(&loc_addr, sizeof(loc_addr)); ++ memset(&loc_addr, 0, sizeof(loc_addr)); + loc_addr.i.sin_family = AF_INET; + loc_addr.i.sin_addr = localbind; + if (bind(s, &loc_addr.a, sizeof(loc_addr.i)) != 0) { diff --git a/package/pptp-linux/0002-fix-parallel-build.patch b/package/pptp-linux/0002-fix-parallel-build.patch new file mode 100644 index 0000000000..04a797743f --- /dev/null +++ b/package/pptp-linux/0002-fix-parallel-build.patch @@ -0,0 +1,23 @@ +Fix parallel build issue + +The config.h header file must be created before being used to build +source files that include it, especially version.c. In order for this +to happen even in highly-parallel builds, we add a dependency of all +object files on config.h, in order to ensure it gets generated before +make attempts to build the object files. + +Signed-off-by: Thomas Petazzoni + +Index: b/Makefile +=================================================================== +--- a/Makefile ++++ b/Makefile +@@ -37,6 +37,8 @@ + + all: config.h $(PPTP_BIN) pptpsetup.8 + ++$(PPTP_OBJS): config.h ++ + $(PPTP_BIN): $(PPTP_OBJS) $(PPTP_DEPS) + $(CC) -o $(PPTP_BIN) $(PPTP_OBJS) $(LDFLAGS) $(LIBS) + diff --git a/package/pptp-linux/pptp-linux-001-susv3-legacy.patch b/package/pptp-linux/pptp-linux-001-susv3-legacy.patch deleted file mode 100644 index 5cc9f57809..0000000000 --- a/package/pptp-linux/pptp-linux-001-susv3-legacy.patch +++ /dev/null @@ -1,29 +0,0 @@ -bzero is deprecated in POSIX.1-2001 and removed for POSIX.1-2008 so -switch to memset instead. - -Signed-off-by: Gustavo Zacarias - -diff -Nura pptp-1.8.0.orig/pptp_callmgr.c pptp-1.8.0/pptp_callmgr.c ---- pptp-1.8.0.orig/pptp_callmgr.c 2013-10-23 05:10:46.000000000 -0300 -+++ pptp-1.8.0/pptp_callmgr.c 2014-03-31 16:47:42.617643298 -0300 -@@ -340,7 +340,7 @@ - } - #endif - if (localbind.s_addr != INADDR_NONE) { -- bzero(&src, sizeof(src)); -+ memset(&src, 0, sizeof(src)); - src.i.sin_family = AF_INET; - src.i.sin_addr = localbind; - if (bind(s, &src.a, sizeof(src.i)) != 0) { -diff -Nura pptp-1.8.0.orig/pptp_gre.c pptp-1.8.0/pptp_gre.c ---- pptp-1.8.0.orig/pptp_gre.c 2013-10-23 05:10:46.000000000 -0300 -+++ pptp-1.8.0/pptp_gre.c 2014-03-31 16:47:30.745249066 -0300 -@@ -103,7 +103,7 @@ - } - #endif - if (localbind.s_addr != INADDR_NONE) { -- bzero(&loc_addr, sizeof(loc_addr)); -+ memset(&loc_addr, 0, sizeof(loc_addr)); - loc_addr.i.sin_family = AF_INET; - loc_addr.i.sin_addr = localbind; - if (bind(s, &loc_addr.a, sizeof(loc_addr.i)) != 0) { diff --git a/package/pptp-linux/pptp-linux-002-fix-parallel-build.patch b/package/pptp-linux/pptp-linux-002-fix-parallel-build.patch deleted file mode 100644 index 04a797743f..0000000000 --- a/package/pptp-linux/pptp-linux-002-fix-parallel-build.patch +++ /dev/null @@ -1,23 +0,0 @@ -Fix parallel build issue - -The config.h header file must be created before being used to build -source files that include it, especially version.c. In order for this -to happen even in highly-parallel builds, we add a dependency of all -object files on config.h, in order to ensure it gets generated before -make attempts to build the object files. - -Signed-off-by: Thomas Petazzoni - -Index: b/Makefile -=================================================================== ---- a/Makefile -+++ b/Makefile -@@ -37,6 +37,8 @@ - - all: config.h $(PPTP_BIN) pptpsetup.8 - -+$(PPTP_OBJS): config.h -+ - $(PPTP_BIN): $(PPTP_OBJS) $(PPTP_DEPS) - $(CC) -o $(PPTP_BIN) $(PPTP_OBJS) $(LDFLAGS) $(LIBS) - diff --git a/package/prboom/0001-libpng-1.4.patch b/package/prboom/0001-libpng-1.4.patch new file mode 100644 index 0000000000..0d2a3a5ba8 --- /dev/null +++ b/package/prboom/0001-libpng-1.4.patch @@ -0,0 +1,32 @@ +[PATCH] fix build with libpng 1.4.x + +In 1.4.x the png_*_NULL defines are gone. Replace them with a normal +NULL instead. + +Signed-off-by: Peter Korsgaard +--- + src/SDL/i_sshot.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: prboom-2.5.0/src/SDL/i_sshot.c +=================================================================== +--- prboom-2.5.0.orig/src/SDL/i_sshot.c ++++ prboom-2.5.0/src/SDL/i_sshot.c +@@ -231,7 +231,7 @@ int I_ScreenShot (const char *fname) + if (fp) + { + png_struct *png_ptr = png_create_write_struct( +- PNG_LIBPNG_VER_STRING, png_error_ptr_NULL, error_fn, warning_fn); ++ PNG_LIBPNG_VER_STRING, NULL, error_fn, warning_fn); + + if (png_ptr) + { +@@ -279,7 +279,7 @@ int I_ScreenShot (const char *fname) + break; + } + } +- png_destroy_write_struct(&png_ptr, png_infopp_NULL); ++ png_destroy_write_struct(&png_ptr, NULL); + } + fclose(fp); + } diff --git a/package/prboom/prboom-2.5.0-libpng-1.4.patch b/package/prboom/prboom-2.5.0-libpng-1.4.patch deleted file mode 100644 index 0d2a3a5ba8..0000000000 --- a/package/prboom/prboom-2.5.0-libpng-1.4.patch +++ /dev/null @@ -1,32 +0,0 @@ -[PATCH] fix build with libpng 1.4.x - -In 1.4.x the png_*_NULL defines are gone. Replace them with a normal -NULL instead. - -Signed-off-by: Peter Korsgaard ---- - src/SDL/i_sshot.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: prboom-2.5.0/src/SDL/i_sshot.c -=================================================================== ---- prboom-2.5.0.orig/src/SDL/i_sshot.c -+++ prboom-2.5.0/src/SDL/i_sshot.c -@@ -231,7 +231,7 @@ int I_ScreenShot (const char *fname) - if (fp) - { - png_struct *png_ptr = png_create_write_struct( -- PNG_LIBPNG_VER_STRING, png_error_ptr_NULL, error_fn, warning_fn); -+ PNG_LIBPNG_VER_STRING, NULL, error_fn, warning_fn); - - if (png_ptr) - { -@@ -279,7 +279,7 @@ int I_ScreenShot (const char *fname) - break; - } - } -- png_destroy_write_struct(&png_ptr, png_infopp_NULL); -+ png_destroy_write_struct(&png_ptr, NULL); - } - fclose(fp); - } diff --git a/package/procps-ng/0001-remove-index.patch b/package/procps-ng/0001-remove-index.patch new file mode 100644 index 0000000000..1d85b31cb5 --- /dev/null +++ b/package/procps-ng/0001-remove-index.patch @@ -0,0 +1,16 @@ +sysctl: remove use of legacy index() + +[yann.morin.1998@free.fr: adapt to procps-ng] +Signed-off-by: "Yann E. MORIN" +diff -durN procps-v3.3.9.orig/sysctl.c procps-v3.3.9/sysctl.c +--- procps-v3.3.9.orig/sysctl.c 2013-12-03 12:16:18.000000000 +0100 ++++ procps-v3.3.9/sysctl.c 2014-05-31 00:45:00.869748741 +0200 +@@ -794,7 +794,7 @@ + program_invocation_short_name); + + for ( ; *argv; argv++) { +- if (WriteMode || index(*argv, '=')) ++ if (WriteMode || strchr(*argv, '=')) + ReturnCode += WriteSetting(*argv); + else + ReturnCode += ReadSetting(*argv); diff --git a/package/procps-ng/procps-ng-0000-remove-index.patch b/package/procps-ng/procps-ng-0000-remove-index.patch deleted file mode 100644 index 1d85b31cb5..0000000000 --- a/package/procps-ng/procps-ng-0000-remove-index.patch +++ /dev/null @@ -1,16 +0,0 @@ -sysctl: remove use of legacy index() - -[yann.morin.1998@free.fr: adapt to procps-ng] -Signed-off-by: "Yann E. MORIN" -diff -durN procps-v3.3.9.orig/sysctl.c procps-v3.3.9/sysctl.c ---- procps-v3.3.9.orig/sysctl.c 2013-12-03 12:16:18.000000000 +0100 -+++ procps-v3.3.9/sysctl.c 2014-05-31 00:45:00.869748741 +0200 -@@ -794,7 +794,7 @@ - program_invocation_short_name); - - for ( ; *argv; argv++) { -- if (WriteMode || index(*argv, '=')) -+ if (WriteMode || strchr(*argv, '=')) - ReturnCode += WriteSetting(*argv); - else - ReturnCode += ReadSetting(*argv); diff --git a/package/proftpd/0001-fix-kernel-header-capability-version.patch b/package/proftpd/0001-fix-kernel-header-capability-version.patch new file mode 100644 index 0000000000..4401c9aeaf --- /dev/null +++ b/package/proftpd/0001-fix-kernel-header-capability-version.patch @@ -0,0 +1,12 @@ +--- a/lib/libcap/libcap.h 2008-08-22 19:49:48.000000000 -0700 ++++ b/lib/libcap/libcap.h 2010-10-06 15:31:11.000000000 -0700 +@@ -65,7 +65,8 @@ struct _cap_struct { + */ + + #if !defined(_LINUX_CAPABILITY_VERSION_1) || \ +- (_LINUX_CAPABILITY_VERSION_1 != 0x19980330) ++ ((_LINUX_CAPABILITY_VERSION_1 != 0x19980330) && \ ++ (_LINUX_CAPABILITY_VERSION_1 != 0x20071026)) + + # error "Kernel does not match library" + # error "file "libcap.h" --> fix and recompile libcap" diff --git a/package/proftpd/0002-__mempcpy.patch b/package/proftpd/0002-__mempcpy.patch new file mode 100644 index 0000000000..1b8f0b0bd3 --- /dev/null +++ b/package/proftpd/0002-__mempcpy.patch @@ -0,0 +1,54 @@ +[PATCH] pr_fnmatch.c: use mempcpy, not __mempcpy to fix linker issue with uClibc + +The standard name (as checked for by configure) for the function is mempcpy, +not __mempcpy, so use that instead. + +The existing code happens to work on glibc, as that provides an __mempcpy +alias, but other C libraries (E.G. uClibc) don't: + +./host/usr/bin/arm-linux-nm -D ./staging/lib/libuClibc-0.9.33.2.so | grep mempcpy +00035d2c W mempcpy +00036cf8 W wmempcpy + +vs + +./host/usr/bin/arm-none-linux-gnueabi-nm -D staging/lib/libc-2.18.so | grep mempcpy +0007d140 T mempcpy +0007d140 T __mempcpy +000e15f0 T __mempcpy_chk +00081828 T __mempcpy_small +00083148 W wmempcpy +000e4e3c T __wmempcpy_chk + +Signed-off-by: Peter Korsgaard +--- + lib/pr_fnmatch.c | 2 +- + lib/pr_fnmatch_loop.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +Index: proftpd-1.3.4d/lib/pr_fnmatch.c +=================================================================== +--- proftpd-1.3.4d.orig/lib/pr_fnmatch.c ++++ proftpd-1.3.4d/lib/pr_fnmatch.c +@@ -250,7 +250,7 @@ + # endif + # define STRLEN(S) strlen (S) + # define STRCAT(D, S) strcat (D, S) +-# define MEMPCPY(D, S, N) __mempcpy (D, S, N) ++# define MEMPCPY(D, S, N) mempcpy (D, S, N) + # define MEMCHR(S, C, N) memchr (S, C, N) + # define STRCOLL(S1, S2) strcoll (S1, S2) + # include "pr_fnmatch_loop.c" +Index: proftpd-1.3.4d/lib/pr_fnmatch_loop.c +=================================================================== +--- proftpd-1.3.4d.orig/lib/pr_fnmatch_loop.c ++++ proftpd-1.3.4d/lib/pr_fnmatch_loop.c +@@ -54,7 +54,7 @@ + /* Copy N bytes of SRC to DEST, return pointer to bytes after the + last written byte. */ + static void * +-__mempcpy (void *dest, const void *src, size_t n) ++mempcpy (void *dest, const void *src, size_t n) + { + return (char *) memcpy (dest, src, n) + n; + } diff --git a/package/proftpd/proftpd-0001-fix-kernel-header-capability-version.patch b/package/proftpd/proftpd-0001-fix-kernel-header-capability-version.patch deleted file mode 100644 index 4401c9aeaf..0000000000 --- a/package/proftpd/proftpd-0001-fix-kernel-header-capability-version.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/lib/libcap/libcap.h 2008-08-22 19:49:48.000000000 -0700 -+++ b/lib/libcap/libcap.h 2010-10-06 15:31:11.000000000 -0700 -@@ -65,7 +65,8 @@ struct _cap_struct { - */ - - #if !defined(_LINUX_CAPABILITY_VERSION_1) || \ -- (_LINUX_CAPABILITY_VERSION_1 != 0x19980330) -+ ((_LINUX_CAPABILITY_VERSION_1 != 0x19980330) && \ -+ (_LINUX_CAPABILITY_VERSION_1 != 0x20071026)) - - # error "Kernel does not match library" - # error "file "libcap.h" --> fix and recompile libcap" diff --git a/package/proftpd/proftpd-0002-__mempcpy.patch b/package/proftpd/proftpd-0002-__mempcpy.patch deleted file mode 100644 index 1b8f0b0bd3..0000000000 --- a/package/proftpd/proftpd-0002-__mempcpy.patch +++ /dev/null @@ -1,54 +0,0 @@ -[PATCH] pr_fnmatch.c: use mempcpy, not __mempcpy to fix linker issue with uClibc - -The standard name (as checked for by configure) for the function is mempcpy, -not __mempcpy, so use that instead. - -The existing code happens to work on glibc, as that provides an __mempcpy -alias, but other C libraries (E.G. uClibc) don't: - -./host/usr/bin/arm-linux-nm -D ./staging/lib/libuClibc-0.9.33.2.so | grep mempcpy -00035d2c W mempcpy -00036cf8 W wmempcpy - -vs - -./host/usr/bin/arm-none-linux-gnueabi-nm -D staging/lib/libc-2.18.so | grep mempcpy -0007d140 T mempcpy -0007d140 T __mempcpy -000e15f0 T __mempcpy_chk -00081828 T __mempcpy_small -00083148 W wmempcpy -000e4e3c T __wmempcpy_chk - -Signed-off-by: Peter Korsgaard ---- - lib/pr_fnmatch.c | 2 +- - lib/pr_fnmatch_loop.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -Index: proftpd-1.3.4d/lib/pr_fnmatch.c -=================================================================== ---- proftpd-1.3.4d.orig/lib/pr_fnmatch.c -+++ proftpd-1.3.4d/lib/pr_fnmatch.c -@@ -250,7 +250,7 @@ - # endif - # define STRLEN(S) strlen (S) - # define STRCAT(D, S) strcat (D, S) --# define MEMPCPY(D, S, N) __mempcpy (D, S, N) -+# define MEMPCPY(D, S, N) mempcpy (D, S, N) - # define MEMCHR(S, C, N) memchr (S, C, N) - # define STRCOLL(S1, S2) strcoll (S1, S2) - # include "pr_fnmatch_loop.c" -Index: proftpd-1.3.4d/lib/pr_fnmatch_loop.c -=================================================================== ---- proftpd-1.3.4d.orig/lib/pr_fnmatch_loop.c -+++ proftpd-1.3.4d/lib/pr_fnmatch_loop.c -@@ -54,7 +54,7 @@ - /* Copy N bytes of SRC to DEST, return pointer to bytes after the - last written byte. */ - static void * --__mempcpy (void *dest, const void *src, size_t n) -+mempcpy (void *dest, const void *src, size_t n) - { - return (char *) memcpy (dest, src, n) + n; - } diff --git a/package/psmisc/0001-link-against-libintl.patch b/package/psmisc/0001-link-against-libintl.patch new file mode 100644 index 0000000000..907e7e75bd --- /dev/null +++ b/package/psmisc/0001-link-against-libintl.patch @@ -0,0 +1,33 @@ +Link against libintl if needed + +When built against a C library that has locale support, but for which +intl support is provided by an external libintl library, psmisc +forgets to link against this library, even though the configure script +properly checks that. + +This patch therefore ensure that we link against libintl when needed, +thanks to the @INTLLIBS@ variable provided by the configure script. + +We do not modify the Makefile.am file, because autoreconfiguring this +package doesn't work: because of its usage of gettext, it wants to run +the "autopoint" program, which itself depends on CVS being installed, +for some strange reasons. That's the reason why we fall back to the +hacky solution of modifying the Makefile.in file. + +Forward-ported Thomas's patch to psmisc 22.16 +from commit f066ed70cd6939838d4057f66798cbc1d972cc73 + +Signed-off-by: Gustavo Zacarias + +diff -Nura psmisc-22.16.orig/src/Makefile.in psmisc-22.16/src/Makefile.in +--- psmisc-22.16.orig/src/Makefile.in 2012-03-28 22:27:33.106660358 -0300 ++++ psmisc-22.16/src/Makefile.in 2012-03-28 22:28:55.752219349 -0300 +@@ -76,7 +76,7 @@ + killall_DEPENDENCIES = + am_peekfd_OBJECTS = peekfd.$(OBJEXT) + peekfd_OBJECTS = $(am_peekfd_OBJECTS) +-peekfd_LDADD = $(LDADD) ++peekfd_LDADD = $(LDADD) @LIBINTL@ + am_prtstat_OBJECTS = prtstat.$(OBJEXT) + prtstat_OBJECTS = $(am_prtstat_OBJECTS) + prtstat_DEPENDENCIES = diff --git a/package/psmisc/0002-no-__progname.patch b/package/psmisc/0002-no-__progname.patch new file mode 100644 index 0000000000..51096571cb --- /dev/null +++ b/package/psmisc/0002-no-__progname.patch @@ -0,0 +1,47 @@ +[PATCH]: pstree: don't use glibc-specific __progname + +uclibc (per default) doesn't implement __progname, and the pstree.x11 +stuff isn't that critical, so just disable it. + +Signed-off-by: Peter Korsgaard +Signed-off-by: Gustavo Zacarias +Signed-off-by: Thomas Petazzoni + +Index: psmisc-22.13/src/pstree.c +=================================================================== +--- psmisc-22.13.orig/src/pstree.c 2010-07-12 13:10:03.000000000 +0200 ++++ psmisc-22.13/src/pstree.c 2011-05-21 16:33:37.456530775 +0200 +@@ -49,8 +49,6 @@ + #include + #endif /*WITH_SELINUX */ + +-extern const char *__progname; +- + #define PROC_BASE "/proc" + + /* UTF-8 defines by Johan Myreen, updated by Ben Winslow */ +@@ -854,9 +852,6 @@ + textdomain(PACKAGE); + #endif + +- if (!strcmp(__progname, "pstree.x11")) +- wait_end = 1; +- + /* + * Attempt to figure out a good default symbol set. Will be overriden by + * command-line options, if given. +Index: psmisc-22.13/src/Makefile.in +=================================================================== +--- psmisc-22.13.orig/src/Makefile.in 2011-05-21 16:33:42.748530777 +0200 ++++ psmisc-22.13/src/Makefile.in 2011-05-21 16:33:47.360530782 +0200 +@@ -557,10 +557,6 @@ + grep '^{ 1,"HUP" },$$' signames.h >/dev/null || \ + { rm -f signames.h; exit 1; } + +-install-exec-hook: +- cd $(DESTDIR)$(bindir) && \ +- ( [ -h pstree.x11 ] || $(LN_S) pstree pstree.x11) +- + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: diff --git a/package/psmisc/psmisc-link-against-libintl.patch b/package/psmisc/psmisc-link-against-libintl.patch deleted file mode 100644 index 907e7e75bd..0000000000 --- a/package/psmisc/psmisc-link-against-libintl.patch +++ /dev/null @@ -1,33 +0,0 @@ -Link against libintl if needed - -When built against a C library that has locale support, but for which -intl support is provided by an external libintl library, psmisc -forgets to link against this library, even though the configure script -properly checks that. - -This patch therefore ensure that we link against libintl when needed, -thanks to the @INTLLIBS@ variable provided by the configure script. - -We do not modify the Makefile.am file, because autoreconfiguring this -package doesn't work: because of its usage of gettext, it wants to run -the "autopoint" program, which itself depends on CVS being installed, -for some strange reasons. That's the reason why we fall back to the -hacky solution of modifying the Makefile.in file. - -Forward-ported Thomas's patch to psmisc 22.16 -from commit f066ed70cd6939838d4057f66798cbc1d972cc73 - -Signed-off-by: Gustavo Zacarias - -diff -Nura psmisc-22.16.orig/src/Makefile.in psmisc-22.16/src/Makefile.in ---- psmisc-22.16.orig/src/Makefile.in 2012-03-28 22:27:33.106660358 -0300 -+++ psmisc-22.16/src/Makefile.in 2012-03-28 22:28:55.752219349 -0300 -@@ -76,7 +76,7 @@ - killall_DEPENDENCIES = - am_peekfd_OBJECTS = peekfd.$(OBJEXT) - peekfd_OBJECTS = $(am_peekfd_OBJECTS) --peekfd_LDADD = $(LDADD) -+peekfd_LDADD = $(LDADD) @LIBINTL@ - am_prtstat_OBJECTS = prtstat.$(OBJEXT) - prtstat_OBJECTS = $(am_prtstat_OBJECTS) - prtstat_DEPENDENCIES = diff --git a/package/psmisc/psmisc-no-__progname.patch b/package/psmisc/psmisc-no-__progname.patch deleted file mode 100644 index 51096571cb..0000000000 --- a/package/psmisc/psmisc-no-__progname.patch +++ /dev/null @@ -1,47 +0,0 @@ -[PATCH]: pstree: don't use glibc-specific __progname - -uclibc (per default) doesn't implement __progname, and the pstree.x11 -stuff isn't that critical, so just disable it. - -Signed-off-by: Peter Korsgaard -Signed-off-by: Gustavo Zacarias -Signed-off-by: Thomas Petazzoni - -Index: psmisc-22.13/src/pstree.c -=================================================================== ---- psmisc-22.13.orig/src/pstree.c 2010-07-12 13:10:03.000000000 +0200 -+++ psmisc-22.13/src/pstree.c 2011-05-21 16:33:37.456530775 +0200 -@@ -49,8 +49,6 @@ - #include - #endif /*WITH_SELINUX */ - --extern const char *__progname; -- - #define PROC_BASE "/proc" - - /* UTF-8 defines by Johan Myreen, updated by Ben Winslow */ -@@ -854,9 +852,6 @@ - textdomain(PACKAGE); - #endif - -- if (!strcmp(__progname, "pstree.x11")) -- wait_end = 1; -- - /* - * Attempt to figure out a good default symbol set. Will be overriden by - * command-line options, if given. -Index: psmisc-22.13/src/Makefile.in -=================================================================== ---- psmisc-22.13.orig/src/Makefile.in 2011-05-21 16:33:42.748530777 +0200 -+++ psmisc-22.13/src/Makefile.in 2011-05-21 16:33:47.360530782 +0200 -@@ -557,10 +557,6 @@ - grep '^{ 1,"HUP" },$$' signames.h >/dev/null || \ - { rm -f signames.h; exit 1; } - --install-exec-hook: -- cd $(DESTDIR)$(bindir) && \ -- ( [ -h pstree.x11 ] || $(LN_S) pstree pstree.x11) -- - # Tell versions [3.59,3.63) of GNU make to not export all variables. - # Otherwise a system limit (for SysV at least) may be exceeded. - .NOEXPORT: diff --git a/package/pure-ftpd/0001-cross.patch b/package/pure-ftpd/0001-cross.patch new file mode 100644 index 0000000000..f8b1d81da8 --- /dev/null +++ b/package/pure-ftpd/0001-cross.patch @@ -0,0 +1,25 @@ +Do not include host paths when cross-compiling. + +Signed-off-by: Bernd Kuhls + +diff -uNr pure-ftpd-1.0.36.org/configure pure-ftpd-1.0.36/configure +--- pure-ftpd-1.0.36.org/configure 2012-03-16 06:29:23.000000000 +0100 ++++ pure-ftpd-1.0.36/configure 2014-09-28 19:55:56.650529713 +0200 +@@ -6319,17 +6319,6 @@ + + + +-if test -d /usr/local/include; then +- CPPFLAGS="$CPPFLAGS -I/usr/local/include" +-fi +- +-if test -d /usr/kerberos/include; then +- CPPFLAGS="$CPPFLAGS -I/usr/kerberos/include" +-fi +- +-if test -d /usr/local/lib; then +- LDFLAGS="$LDFLAGS -L/usr/local/lib" +-fi + + if uname | fgrep SunOS > /dev/null 2> /dev/null ; then + CPPFLAGS="$CPPFLAGS -D_XPG4_2=1" diff --git a/package/pure-ftpd/pure-ftpd-0001-cross.patch b/package/pure-ftpd/pure-ftpd-0001-cross.patch deleted file mode 100644 index f8b1d81da8..0000000000 --- a/package/pure-ftpd/pure-ftpd-0001-cross.patch +++ /dev/null @@ -1,25 +0,0 @@ -Do not include host paths when cross-compiling. - -Signed-off-by: Bernd Kuhls - -diff -uNr pure-ftpd-1.0.36.org/configure pure-ftpd-1.0.36/configure ---- pure-ftpd-1.0.36.org/configure 2012-03-16 06:29:23.000000000 +0100 -+++ pure-ftpd-1.0.36/configure 2014-09-28 19:55:56.650529713 +0200 -@@ -6319,17 +6319,6 @@ - - - --if test -d /usr/local/include; then -- CPPFLAGS="$CPPFLAGS -I/usr/local/include" --fi -- --if test -d /usr/kerberos/include; then -- CPPFLAGS="$CPPFLAGS -I/usr/kerberos/include" --fi -- --if test -d /usr/local/lib; then -- LDFLAGS="$LDFLAGS -L/usr/local/lib" --fi - - if uname | fgrep SunOS > /dev/null 2> /dev/null ; then - CPPFLAGS="$CPPFLAGS -D_XPG4_2=1" diff --git a/package/python-ipython/0001-set-correct-python-executable-path.patch b/package/python-ipython/0001-set-correct-python-executable-path.patch new file mode 100644 index 0000000000..0fbd5a1c8e --- /dev/null +++ b/package/python-ipython/0001-set-correct-python-executable-path.patch @@ -0,0 +1,15 @@ +Set correct Python executable path + +Signed-off-by: Philippe Proulx + +--- python-ipython-2.1.0/setupbase.py 2014-05-21 15:19:12.000000000 -0400 ++++ python-ipython-2.1.0-new/setupbase.py 2014-07-23 23:34:32.892030423 -0400 +@@ -394,7 +394,7 @@ class build_scripts_entrypt(build_script + + mod, func = entrypt.split(':') + with open(outfile, 'w') as f: +- f.write(script_src.format(executable=sys.executable, ++ f.write(script_src.format(executable='/usr/bin/env python', + mod=mod, func=func)) + + return outfiles, outfiles diff --git a/package/python-ipython/python-ipython-001-set-correct-python-executable-path.patch b/package/python-ipython/python-ipython-001-set-correct-python-executable-path.patch deleted file mode 100644 index 0fbd5a1c8e..0000000000 --- a/package/python-ipython/python-ipython-001-set-correct-python-executable-path.patch +++ /dev/null @@ -1,15 +0,0 @@ -Set correct Python executable path - -Signed-off-by: Philippe Proulx - ---- python-ipython-2.1.0/setupbase.py 2014-05-21 15:19:12.000000000 -0400 -+++ python-ipython-2.1.0-new/setupbase.py 2014-07-23 23:34:32.892030423 -0400 -@@ -394,7 +394,7 @@ class build_scripts_entrypt(build_script - - mod, func = entrypt.split(':') - with open(outfile, 'w') as f: -- f.write(script_src.format(executable=sys.executable, -+ f.write(script_src.format(executable='/usr/bin/env python', - mod=mod, func=func)) - - return outfiles, outfiles diff --git a/package/python-nfc/0001-add-setup-py.patch b/package/python-nfc/0001-add-setup-py.patch new file mode 100644 index 0000000000..5a5145271b --- /dev/null +++ b/package/python-nfc/0001-add-setup-py.patch @@ -0,0 +1,26 @@ +Add simple setup.py + +Having a setup.py allows to easily get the .py files compiled into +.pyc, which is good because by default, Buildroot only keeps .pyc +files on the target. + +Signed-off-by: Thomas Petazzoni + +Index: b/setup.py +=================================================================== +--- /dev/null ++++ b/setup.py +@@ -0,0 +1,13 @@ ++#!/usr/bin/env python ++ ++from distutils.core import setup ++ ++setup(name='NFC', ++ version='1.0', ++ description='Python NFC', ++ author='Stephen Tiedemann', ++ author_email='stephen.tiedemann@googlemail.com', ++ url='https://launchpad.net/nfcpy', ++ packages=['nfc', 'nfc/dev', 'nfc/llcp', 'nfc/ndef', ++ 'nfc/snep'], ++ ) diff --git a/package/python-nfc/python-nfc-add-setup-py.patch b/package/python-nfc/python-nfc-add-setup-py.patch deleted file mode 100644 index 5a5145271b..0000000000 --- a/package/python-nfc/python-nfc-add-setup-py.patch +++ /dev/null @@ -1,26 +0,0 @@ -Add simple setup.py - -Having a setup.py allows to easily get the .py files compiled into -.pyc, which is good because by default, Buildroot only keeps .pyc -files on the target. - -Signed-off-by: Thomas Petazzoni - -Index: b/setup.py -=================================================================== ---- /dev/null -+++ b/setup.py -@@ -0,0 +1,13 @@ -+#!/usr/bin/env python -+ -+from distutils.core import setup -+ -+setup(name='NFC', -+ version='1.0', -+ description='Python NFC', -+ author='Stephen Tiedemann', -+ author_email='stephen.tiedemann@googlemail.com', -+ url='https://launchpad.net/nfcpy', -+ packages=['nfc', 'nfc/dev', 'nfc/llcp', 'nfc/ndef', -+ 'nfc/snep'], -+ ) diff --git a/package/python-numpy/0001-no-fenv-on-uclibc.patch b/package/python-numpy/0001-no-fenv-on-uclibc.patch new file mode 100644 index 0000000000..633dbcdff4 --- /dev/null +++ b/package/python-numpy/0001-no-fenv-on-uclibc.patch @@ -0,0 +1,79 @@ +Don't use on uClibc + +The python-numpy code already has provisions to not use when +not available. However, it uses __GLIBC__ to know whether fenv.h is +available or not, but uClibc defines __GLIBC__, so python-numpy thinks +fenv.h is available. + +This patch fixes that by changing all defined(__GLIBC__) occurences by +(defined(__GLIBC__) && !defined(__UCLIBC__)). + +Signed-off-by: Thomas Petazzoni + +Index: b/numpy/core/include/numpy/ufuncobject.h +=================================================================== +--- a/numpy/core/include/numpy/ufuncobject.h ++++ b/numpy/core/include/numpy/ufuncobject.h +@@ -413,11 +413,11 @@ + (void) fpsetsticky(0); \ + } + +-#elif defined(__GLIBC__) || defined(__APPLE__) || \ ++#elif (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ + defined(__CYGWIN__) || defined(__MINGW32__) || \ + (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) + +-#if defined(__GLIBC__) || defined(__APPLE__) || \ ++#if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ + defined(__MINGW32__) || defined(__FreeBSD__) + #include + #elif defined(__CYGWIN__) +Index: b/numpy/core/src/npymath/ieee754.c.src +=================================================================== +--- a/numpy/core/src/npymath/ieee754.c.src ++++ b/numpy/core/src/npymath/ieee754.c.src +@@ -586,11 +586,11 @@ + } + + +-#elif defined(__GLIBC__) || defined(__APPLE__) || \ ++#elif (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ + defined(__CYGWIN__) || defined(__MINGW32__) || \ + (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) + +-# if defined(__GLIBC__) || defined(__APPLE__) || \ ++# if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ + defined(__MINGW32__) || defined(__FreeBSD__) + # include + # elif defined(__CYGWIN__) +Index: b/numpy/numarray/_capi.c +=================================================================== +--- a/numpy/numarray/_capi.c ++++ b/numpy/numarray/_capi.c +@@ -10,7 +10,7 @@ + #include + #endif + +-#if defined(__GLIBC__) || defined(__APPLE__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) ++#if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) + #include + #elif defined(__CYGWIN__) + #include "numpy/fenv/fenv.h" +@@ -258,7 +258,7 @@ + } + + /* Likewise for Integer overflows */ +-#if defined(__GLIBC__) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) ++#if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) + static int int_overflow_error(Float64 value) { /* For x86_64 */ + feraiseexcept(FE_OVERFLOW); + return (int) value; +@@ -3007,7 +3007,7 @@ + return retstatus; + } + +-#elif defined(__GLIBC__) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) ++#elif (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) + + static int + NA_checkFPErrors(void) diff --git a/package/python-numpy/python-numpy-0001-no-fenv-on-uclibc.patch b/package/python-numpy/python-numpy-0001-no-fenv-on-uclibc.patch deleted file mode 100644 index 633dbcdff4..0000000000 --- a/package/python-numpy/python-numpy-0001-no-fenv-on-uclibc.patch +++ /dev/null @@ -1,79 +0,0 @@ -Don't use on uClibc - -The python-numpy code already has provisions to not use when -not available. However, it uses __GLIBC__ to know whether fenv.h is -available or not, but uClibc defines __GLIBC__, so python-numpy thinks -fenv.h is available. - -This patch fixes that by changing all defined(__GLIBC__) occurences by -(defined(__GLIBC__) && !defined(__UCLIBC__)). - -Signed-off-by: Thomas Petazzoni - -Index: b/numpy/core/include/numpy/ufuncobject.h -=================================================================== ---- a/numpy/core/include/numpy/ufuncobject.h -+++ b/numpy/core/include/numpy/ufuncobject.h -@@ -413,11 +413,11 @@ - (void) fpsetsticky(0); \ - } - --#elif defined(__GLIBC__) || defined(__APPLE__) || \ -+#elif (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ - defined(__CYGWIN__) || defined(__MINGW32__) || \ - (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) - --#if defined(__GLIBC__) || defined(__APPLE__) || \ -+#if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ - defined(__MINGW32__) || defined(__FreeBSD__) - #include - #elif defined(__CYGWIN__) -Index: b/numpy/core/src/npymath/ieee754.c.src -=================================================================== ---- a/numpy/core/src/npymath/ieee754.c.src -+++ b/numpy/core/src/npymath/ieee754.c.src -@@ -586,11 +586,11 @@ - } - - --#elif defined(__GLIBC__) || defined(__APPLE__) || \ -+#elif (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ - defined(__CYGWIN__) || defined(__MINGW32__) || \ - (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) - --# if defined(__GLIBC__) || defined(__APPLE__) || \ -+# if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ - defined(__MINGW32__) || defined(__FreeBSD__) - # include - # elif defined(__CYGWIN__) -Index: b/numpy/numarray/_capi.c -=================================================================== ---- a/numpy/numarray/_capi.c -+++ b/numpy/numarray/_capi.c -@@ -10,7 +10,7 @@ - #include - #endif - --#if defined(__GLIBC__) || defined(__APPLE__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) -+#if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) - #include - #elif defined(__CYGWIN__) - #include "numpy/fenv/fenv.h" -@@ -258,7 +258,7 @@ - } - - /* Likewise for Integer overflows */ --#if defined(__GLIBC__) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) -+#if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) - static int int_overflow_error(Float64 value) { /* For x86_64 */ - feraiseexcept(FE_OVERFLOW); - return (int) value; -@@ -3007,7 +3007,7 @@ - return retstatus; - } - --#elif defined(__GLIBC__) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) -+#elif (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) - - static int - NA_checkFPErrors(void) diff --git a/package/python-pycrypto/0001-remove-incorrect-header-path.patch b/package/python-pycrypto/0001-remove-incorrect-header-path.patch new file mode 100644 index 0000000000..9268d311d5 --- /dev/null +++ b/package/python-pycrypto/0001-remove-incorrect-header-path.patch @@ -0,0 +1,21 @@ +Do not use /usr/include for headers + +Using /usr/include is wrong when doing cross-compilation, so get rid +of it, and rely on the compiler to use the appropriate default paths +for headers. + +Signed-off-by: Thomas Petazzoni + +Index: b/setup.py +=================================================================== +--- a/setup.py ++++ b/setup.py +@@ -370,7 +370,7 @@ + 'ext_modules': plat_ext + [ + # _fastmath (uses GNU mp library) + Extension("Crypto.PublicKey._fastmath", +- include_dirs=['src/','/usr/include/'], ++ include_dirs=['src/'], + libraries=['gmp'], + sources=["src/_fastmath.c"]), + diff --git a/package/python-pycrypto/python-pycrypto-0001-remove-incorrect-header-path.patch b/package/python-pycrypto/python-pycrypto-0001-remove-incorrect-header-path.patch deleted file mode 100644 index 9268d311d5..0000000000 --- a/package/python-pycrypto/python-pycrypto-0001-remove-incorrect-header-path.patch +++ /dev/null @@ -1,21 +0,0 @@ -Do not use /usr/include for headers - -Using /usr/include is wrong when doing cross-compilation, so get rid -of it, and rely on the compiler to use the appropriate default paths -for headers. - -Signed-off-by: Thomas Petazzoni - -Index: b/setup.py -=================================================================== ---- a/setup.py -+++ b/setup.py -@@ -370,7 +370,7 @@ - 'ext_modules': plat_ext + [ - # _fastmath (uses GNU mp library) - Extension("Crypto.PublicKey._fastmath", -- include_dirs=['src/','/usr/include/'], -+ include_dirs=['src/'], - libraries=['gmp'], - sources=["src/_fastmath.c"]), - diff --git a/package/python-pyzmq/0001-use-buildroot-zmq-version-instead-of-detect.patch b/package/python-pyzmq/0001-use-buildroot-zmq-version-instead-of-detect.patch new file mode 100644 index 0000000000..560606989e --- /dev/null +++ b/package/python-pyzmq/0001-use-buildroot-zmq-version-instead-of-detect.patch @@ -0,0 +1,43 @@ +detect.py: fix the ZMQ version check to the ZMQ version of the buildroot + +The setup.py script tries to compile a test C program and runs it, to +retrieve a version string for the installed ZMQ library, but if the cross +compiler links it together, the result cannot be run on the host, due to +different architectures and libraries. + +And if the host compiler would compile/link it, it would not link with the +library version inside buildroot but with the library from the host, possibly returning a wrong version number. + +Instead of trying to run the compiled test program to get the version +dynamically, return the version of the buildroot environment. + +Signed-off-by: Michael Rommel + +--- pyzmq-13.0.2/buildutils/detect.py.orig 2013-08-10 00:49:28.242557978 +0200 ++++ pyzmq-13.0.2/buildutils/detect.py 2013-08-10 00:44:35.197572704 +0200 +@@ -119,15 +119,17 @@ def detect_zmq(basedir, compiler=None, * + + efile = test_compilation(cfile, compiler=compiler, **compiler_attrs) + +- result = Popen(efile, stdout=PIPE, stderr=PIPE) +- so, se = result.communicate() ++ # result = Popen(efile, stdout=PIPE, stderr=PIPE) ++ # so, se = result.communicate() + # for py3k: +- so = so.decode() +- se = se.decode() +- if result.returncode: +- msg = "Error running version detection script:\n%s\n%s" % (so,se) +- logging.error(msg) +- raise IOError(msg) ++ #so = so.decode() ++ #se = se.decode() ++ #if result.returncode: ++ # msg = "Error running version detection script:\n%s\n%s" % (so,se) ++ # logging.error(msg) ++ # raise IOError(msg) ++ ++ so = "vers: ##ZEROMQ_VERSION##" + + handlers = {'vers': lambda val: tuple(int(v) for v in val.split('.'))} + diff --git a/package/python-pyzmq/python-pyzmq-0001-use-buildroot-zmq-version-instead-of-detect.patch b/package/python-pyzmq/python-pyzmq-0001-use-buildroot-zmq-version-instead-of-detect.patch deleted file mode 100644 index 560606989e..0000000000 --- a/package/python-pyzmq/python-pyzmq-0001-use-buildroot-zmq-version-instead-of-detect.patch +++ /dev/null @@ -1,43 +0,0 @@ -detect.py: fix the ZMQ version check to the ZMQ version of the buildroot - -The setup.py script tries to compile a test C program and runs it, to -retrieve a version string for the installed ZMQ library, but if the cross -compiler links it together, the result cannot be run on the host, due to -different architectures and libraries. - -And if the host compiler would compile/link it, it would not link with the -library version inside buildroot but with the library from the host, possibly returning a wrong version number. - -Instead of trying to run the compiled test program to get the version -dynamically, return the version of the buildroot environment. - -Signed-off-by: Michael Rommel - ---- pyzmq-13.0.2/buildutils/detect.py.orig 2013-08-10 00:49:28.242557978 +0200 -+++ pyzmq-13.0.2/buildutils/detect.py 2013-08-10 00:44:35.197572704 +0200 -@@ -119,15 +119,17 @@ def detect_zmq(basedir, compiler=None, * - - efile = test_compilation(cfile, compiler=compiler, **compiler_attrs) - -- result = Popen(efile, stdout=PIPE, stderr=PIPE) -- so, se = result.communicate() -+ # result = Popen(efile, stdout=PIPE, stderr=PIPE) -+ # so, se = result.communicate() - # for py3k: -- so = so.decode() -- se = se.decode() -- if result.returncode: -- msg = "Error running version detection script:\n%s\n%s" % (so,se) -- logging.error(msg) -- raise IOError(msg) -+ #so = so.decode() -+ #se = se.decode() -+ #if result.returncode: -+ # msg = "Error running version detection script:\n%s\n%s" % (so,se) -+ # logging.error(msg) -+ # raise IOError(msg) -+ -+ so = "vers: ##ZEROMQ_VERSION##" - - handlers = {'vers': lambda val: tuple(int(v) for v in val.split('.'))} - diff --git a/package/python-setuptools/0001-add-executable.patch b/package/python-setuptools/0001-add-executable.patch new file mode 100644 index 0000000000..502d099cc6 --- /dev/null +++ b/package/python-setuptools/0001-add-executable.patch @@ -0,0 +1,55 @@ +Add a new --executable option to distribute so that we can +force the shebang line in installed python scripts. + +[Thomas: refresh for setuptools 5.8.] + +Signed-off-by: Gustavo Zacarias +Signed-off-by: Thomas Petazzoni + +Index: b/setuptools/command/install.py +=================================================================== +--- a/setuptools/command/install.py ++++ b/setuptools/command/install.py +@@ -16,6 +16,7 @@ + """Use easy_install to install the package, w/dependencies""" + + user_options = orig.install.user_options + [ ++ ('executable=', 'e', "specify final destination interpreter path"), + ('old-and-unmanageable', None, "Try not to use this!"), + ('single-version-externally-managed', None, + "used by system package builders to create 'flat' eggs"), +@@ -31,6 +32,7 @@ + + def initialize_options(self): + orig.install.initialize_options(self) ++ self.executable = None + self.old_and_unmanageable = None + self.single_version_externally_managed = None + +Index: b/setuptools/command/install_scripts.py +=================================================================== +--- a/setuptools/command/install_scripts.py ++++ b/setuptools/command/install_scripts.py +@@ -11,6 +11,13 @@ + def initialize_options(self): + orig.install_scripts.initialize_options(self) + self.no_ep = False ++ self.executable = None ++ ++ def finalize_options(self): ++ orig.install_scripts.finalize_options(self) ++ self.set_undefined_options('install', ++ ('executable','executable') ++ ) + + def run(self): + from setuptools.command.easy_install import get_script_args +@@ -32,6 +39,8 @@ + ) + bs_cmd = self.get_finalized_command('build_scripts') + executable = getattr(bs_cmd, 'executable', sys_executable) ++ if self.executable is not None: ++ executable = self.executable + is_wininst = getattr( + self.get_finalized_command("bdist_wininst"), '_is_running', False + ) diff --git a/package/python-setuptools/python-setuptools-0001-add-executable.patch b/package/python-setuptools/python-setuptools-0001-add-executable.patch deleted file mode 100644 index 502d099cc6..0000000000 --- a/package/python-setuptools/python-setuptools-0001-add-executable.patch +++ /dev/null @@ -1,55 +0,0 @@ -Add a new --executable option to distribute so that we can -force the shebang line in installed python scripts. - -[Thomas: refresh for setuptools 5.8.] - -Signed-off-by: Gustavo Zacarias -Signed-off-by: Thomas Petazzoni - -Index: b/setuptools/command/install.py -=================================================================== ---- a/setuptools/command/install.py -+++ b/setuptools/command/install.py -@@ -16,6 +16,7 @@ - """Use easy_install to install the package, w/dependencies""" - - user_options = orig.install.user_options + [ -+ ('executable=', 'e', "specify final destination interpreter path"), - ('old-and-unmanageable', None, "Try not to use this!"), - ('single-version-externally-managed', None, - "used by system package builders to create 'flat' eggs"), -@@ -31,6 +32,7 @@ - - def initialize_options(self): - orig.install.initialize_options(self) -+ self.executable = None - self.old_and_unmanageable = None - self.single_version_externally_managed = None - -Index: b/setuptools/command/install_scripts.py -=================================================================== ---- a/setuptools/command/install_scripts.py -+++ b/setuptools/command/install_scripts.py -@@ -11,6 +11,13 @@ - def initialize_options(self): - orig.install_scripts.initialize_options(self) - self.no_ep = False -+ self.executable = None -+ -+ def finalize_options(self): -+ orig.install_scripts.finalize_options(self) -+ self.set_undefined_options('install', -+ ('executable','executable') -+ ) - - def run(self): - from setuptools.command.easy_install import get_script_args -@@ -32,6 +39,8 @@ - ) - bs_cmd = self.get_finalized_command('build_scripts') - executable = getattr(bs_cmd, 'executable', sys_executable) -+ if self.executable is not None: -+ executable = self.executable - is_wininst = getattr( - self.get_finalized_command("bdist_wininst"), '_is_running', False - ) diff --git a/package/qdecoder/0001-fix-make-install.patch b/package/qdecoder/0001-fix-make-install.patch new file mode 100644 index 0000000000..f353566839 --- /dev/null +++ b/package/qdecoder/0001-fix-make-install.patch @@ -0,0 +1,40 @@ +[PATCH] fix make install to respect DESTDIR + +And also ensure destination directories exist. + +Signed-off-by: Peter Korsgaard +--- + src/Makefile.in | 17 +++++++++-------- + 1 file changed, 9 insertions(+), 8 deletions(-) + +Index: qdecoder-r12.0.5/src/Makefile.in +=================================================================== +--- qdecoder-r12.0.5.orig/src/Makefile.in ++++ qdecoder-r12.0.5/src/Makefile.in +@@ -78,17 +78,18 @@ + ${LN_S} -f ${SLIBREALNAME} ${SLIBNAME} + + install: all +- ${INSTALL_DATA} qdecoder.h ${HEADERDIR}/qdecoder.h +- ${INSTALL_DATA} ${LIBNAME} ${LIBDIR}/${LIBNAME} +- ${INSTALL_DATA} ${SLIBREALNAME} ${LIBDIR}/${SLIBREALNAME} +- ( cd ${LIBDIR}; ${LN_S} -f ${SLIBREALNAME} ${SLIBNAME} ) ++ mkdir -p ${DESTDIR}/${HEADERDIR} ${DESTDIR}/${LIBDIR} ++ ${INSTALL_DATA} qdecoder.h ${DESTDIR}/${HEADERDIR}/qdecoder.h ++ ${INSTALL_DATA} ${LIBNAME} ${DESTDIR}/${LIBDIR}/${LIBNAME} ++ ${INSTALL_DATA} ${SLIBREALNAME} ${DESTDIR}/${LIBDIR}/${SLIBREALNAME} ++ ( cd ${DESTDIR}/${LIBDIR}; ${LN_S} -f ${SLIBREALNAME} ${SLIBNAME} ) + + deinstall: uninstall + uninstall: +- ${RM} -f ${HEADERDIR}/qdecoder.h +- ${RM} -f ${LIBDIR}/${LIBNAME} +- ${RM} -f ${LIBDIR}/${SLIBREALNAME} +- ${RM} -f ${LIBDIR}/${SLIBNAME} ++ ${RM} -f ${DESTDIR}/${HEADERDIR}/qdecoder.h ++ ${RM} -f ${DESTDIR}/${LIBDIR}/${LIBNAME} ++ ${RM} -f ${DESTDIR}/${LIBDIR}/${SLIBREALNAME} ++ ${RM} -f ${DESTDIR}/${LIBDIR}/${SLIBNAME} + + doc: + doxygen doxygen.conf diff --git a/package/qdecoder/0002-configure.ac-drop-hardcoded-paths.patch b/package/qdecoder/0002-configure.ac-drop-hardcoded-paths.patch new file mode 100644 index 0000000000..689d1d9124 --- /dev/null +++ b/package/qdecoder/0002-configure.ac-drop-hardcoded-paths.patch @@ -0,0 +1,25 @@ +[PATCH] configure.ac: drop hardcoded paths + +Causing problems with cross compilation. + +Signed-off-by: Peter Korsgaard +--- + configure.ac | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +Index: qdecoder-r12.0.5/configure.ac +=================================================================== +--- qdecoder-r12.0.5.orig/configure.ac ++++ qdecoder-r12.0.5/configure.ac +@@ -81,10 +81,7 @@ + AC_CONFIG_HEADER([config.h]) + AC_CONFIG_FILES([Makefile src/Makefile examples/Makefile]) + +-## Set path +-PATH="$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" +-CPPFLAGS="$CPPFLAGS -I/usr/include -I/usr/local/include -I./ -D_GNU_SOURCE" +-LDFLAGS="$LDFLAGS -L/usr/lib -L/usr/local/lib" ++CPPFLAGS="$CPPFLAGS -I./ -D_GNU_SOURCE" + + ## Set autoconf setting + #AC_CANONICAL_TARGET diff --git a/package/qdecoder/0003-errno.patch b/package/qdecoder/0003-errno.patch new file mode 100644 index 0000000000..71d5cfd662 --- /dev/null +++ b/package/qdecoder/0003-errno.patch @@ -0,0 +1,34 @@ +Fixes build error + +qcgireq.c: In function '_parse_multipart_value_into_disk': +qcgireq.c:738:60: error: 'errno' undeclared (first use in this function) + DEBUG("I/O error. (errno=%d)", (ioerror == true) ? errno : 0); + +Patch downloaded from upstream repo: +https://github.com/wolkykim/qdecoder/commit/574f0216a51e3e852cd94e2a0a3b52dc64e74548 + +Signed-off-by: Bernd Kuhls + + +From 574f0216a51e3e852cd94e2a0a3b52dc64e74548 Mon Sep 17 00:00:00 2001 +From: nyov +Date: Fri, 5 Sep 2014 18:41:10 +0000 +Subject: [PATCH] add missing header include + +fixes #7 +--- + src/qcgireq.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/qcgireq.c b/src/qcgireq.c +index dcb8c57..d34ff83 100644 +--- a/src/qcgireq.c ++++ b/src/qcgireq.c +@@ -139,6 +139,7 @@ + #ifndef _WIN32 + #include + #endif ++#include + #include "qdecoder.h" + #include "internal.h" + diff --git a/package/qdecoder/qdecoder-0001-fix-make-install.patch b/package/qdecoder/qdecoder-0001-fix-make-install.patch deleted file mode 100644 index f353566839..0000000000 --- a/package/qdecoder/qdecoder-0001-fix-make-install.patch +++ /dev/null @@ -1,40 +0,0 @@ -[PATCH] fix make install to respect DESTDIR - -And also ensure destination directories exist. - -Signed-off-by: Peter Korsgaard ---- - src/Makefile.in | 17 +++++++++-------- - 1 file changed, 9 insertions(+), 8 deletions(-) - -Index: qdecoder-r12.0.5/src/Makefile.in -=================================================================== ---- qdecoder-r12.0.5.orig/src/Makefile.in -+++ qdecoder-r12.0.5/src/Makefile.in -@@ -78,17 +78,18 @@ - ${LN_S} -f ${SLIBREALNAME} ${SLIBNAME} - - install: all -- ${INSTALL_DATA} qdecoder.h ${HEADERDIR}/qdecoder.h -- ${INSTALL_DATA} ${LIBNAME} ${LIBDIR}/${LIBNAME} -- ${INSTALL_DATA} ${SLIBREALNAME} ${LIBDIR}/${SLIBREALNAME} -- ( cd ${LIBDIR}; ${LN_S} -f ${SLIBREALNAME} ${SLIBNAME} ) -+ mkdir -p ${DESTDIR}/${HEADERDIR} ${DESTDIR}/${LIBDIR} -+ ${INSTALL_DATA} qdecoder.h ${DESTDIR}/${HEADERDIR}/qdecoder.h -+ ${INSTALL_DATA} ${LIBNAME} ${DESTDIR}/${LIBDIR}/${LIBNAME} -+ ${INSTALL_DATA} ${SLIBREALNAME} ${DESTDIR}/${LIBDIR}/${SLIBREALNAME} -+ ( cd ${DESTDIR}/${LIBDIR}; ${LN_S} -f ${SLIBREALNAME} ${SLIBNAME} ) - - deinstall: uninstall - uninstall: -- ${RM} -f ${HEADERDIR}/qdecoder.h -- ${RM} -f ${LIBDIR}/${LIBNAME} -- ${RM} -f ${LIBDIR}/${SLIBREALNAME} -- ${RM} -f ${LIBDIR}/${SLIBNAME} -+ ${RM} -f ${DESTDIR}/${HEADERDIR}/qdecoder.h -+ ${RM} -f ${DESTDIR}/${LIBDIR}/${LIBNAME} -+ ${RM} -f ${DESTDIR}/${LIBDIR}/${SLIBREALNAME} -+ ${RM} -f ${DESTDIR}/${LIBDIR}/${SLIBNAME} - - doc: - doxygen doxygen.conf diff --git a/package/qdecoder/qdecoder-0002-configure.ac-drop-hardcoded-paths.patch b/package/qdecoder/qdecoder-0002-configure.ac-drop-hardcoded-paths.patch deleted file mode 100644 index 689d1d9124..0000000000 --- a/package/qdecoder/qdecoder-0002-configure.ac-drop-hardcoded-paths.patch +++ /dev/null @@ -1,25 +0,0 @@ -[PATCH] configure.ac: drop hardcoded paths - -Causing problems with cross compilation. - -Signed-off-by: Peter Korsgaard ---- - configure.ac | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -Index: qdecoder-r12.0.5/configure.ac -=================================================================== ---- qdecoder-r12.0.5.orig/configure.ac -+++ qdecoder-r12.0.5/configure.ac -@@ -81,10 +81,7 @@ - AC_CONFIG_HEADER([config.h]) - AC_CONFIG_FILES([Makefile src/Makefile examples/Makefile]) - --## Set path --PATH="$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" --CPPFLAGS="$CPPFLAGS -I/usr/include -I/usr/local/include -I./ -D_GNU_SOURCE" --LDFLAGS="$LDFLAGS -L/usr/lib -L/usr/local/lib" -+CPPFLAGS="$CPPFLAGS -I./ -D_GNU_SOURCE" - - ## Set autoconf setting - #AC_CANONICAL_TARGET diff --git a/package/qdecoder/qdecoder-0003-errno.patch b/package/qdecoder/qdecoder-0003-errno.patch deleted file mode 100644 index 71d5cfd662..0000000000 --- a/package/qdecoder/qdecoder-0003-errno.patch +++ /dev/null @@ -1,34 +0,0 @@ -Fixes build error - -qcgireq.c: In function '_parse_multipart_value_into_disk': -qcgireq.c:738:60: error: 'errno' undeclared (first use in this function) - DEBUG("I/O error. (errno=%d)", (ioerror == true) ? errno : 0); - -Patch downloaded from upstream repo: -https://github.com/wolkykim/qdecoder/commit/574f0216a51e3e852cd94e2a0a3b52dc64e74548 - -Signed-off-by: Bernd Kuhls - - -From 574f0216a51e3e852cd94e2a0a3b52dc64e74548 Mon Sep 17 00:00:00 2001 -From: nyov -Date: Fri, 5 Sep 2014 18:41:10 +0000 -Subject: [PATCH] add missing header include - -fixes #7 ---- - src/qcgireq.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/qcgireq.c b/src/qcgireq.c -index dcb8c57..d34ff83 100644 ---- a/src/qcgireq.c -+++ b/src/qcgireq.c -@@ -139,6 +139,7 @@ - #ifndef _WIN32 - #include - #endif -+#include - #include "qdecoder.h" - #include "internal.h" - diff --git a/package/qextserialport/0001-gui.patch b/package/qextserialport/0001-gui.patch new file mode 100644 index 0000000000..d3dedae824 --- /dev/null +++ b/package/qextserialport/0001-gui.patch @@ -0,0 +1,16 @@ +Don't require Qt GUI module + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- +diff -Nrup qextserialport-f83b4e7ca922e53.orig/qextserialport.pro qextserialport-f83b4e7ca922e53/qextserialport.pro +--- qextserialport-f83b4e7ca922e53.orig/qextserialport.pro 2012-10-17 09:13:53.000000000 +0200 ++++ qextserialport-f83b4e7ca922e53/qextserialport.pro 2012-11-13 22:48:29.249431510 +0100 +@@ -41,6 +41,8 @@ macx:qesp_mac_framework { + + win32|mac:!wince*:!win32-msvc:!macx-xcode:CONFIG += debug_and_release build_all + ++!win32*:!wince*:QT -= gui ++ + #generate proper library name + greaterThan(QT_MAJOR_VERSION, 4) { + QESP_LIB_BASENAME = QtExtSerialPort diff --git a/package/qextserialport/0002-main-include.patch b/package/qextserialport/0002-main-include.patch new file mode 100644 index 0000000000..858f3354d5 --- /dev/null +++ b/package/qextserialport/0002-main-include.patch @@ -0,0 +1,15 @@ +Create a main include file QExtSerialPort + +This main include file will be installed in + so that Qt applications can use this +library by including header files in a Qt-like style. + +Signed-off-by: Thomas Petazzoni + +Index: qextserialport-ef4af2a2ee3f/src/QExtSerialPort +=================================================================== +--- /dev/null ++++ qextserialport-ef4af2a2ee3f/src/QExtSerialPort +@@ -0,0 +1,2 @@ ++#include "qextserialport.h" ++#include "qextserialenumerator.h" diff --git a/package/qextserialport/0003-pkgconfig.patch b/package/qextserialport/0003-pkgconfig.patch new file mode 100644 index 0000000000..d67f3fcbb3 --- /dev/null +++ b/package/qextserialport/0003-pkgconfig.patch @@ -0,0 +1,19 @@ +Add a pkgconfig file to ease usage with applications + +Signed-off-by: Thomas Petazzoni + +Index: qextserialport-ef4af2a2ee3f/qextserialport.pc +=================================================================== +--- /dev/null ++++ qextserialport-ef4af2a2ee3f/qextserialport.pc +@@ -0,0 +1,10 @@ ++prefix=/usr ++exec_prefix=${prefix} ++libdir=${prefix}/lib ++includedir=${prefix}/include/QExtSerialPort ++ ++Name: QtExtSerialPort ++Description: QtExtSerialPort library ++Version: 1.2.0 ++Libs: -L${libdir} -lqextserialport ++Cflags: -I${includedir} diff --git a/package/qextserialport/qextserialport-gui.patch b/package/qextserialport/qextserialport-gui.patch deleted file mode 100644 index d3dedae824..0000000000 --- a/package/qextserialport/qextserialport-gui.patch +++ /dev/null @@ -1,16 +0,0 @@ -Don't require Qt GUI module - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- -diff -Nrup qextserialport-f83b4e7ca922e53.orig/qextserialport.pro qextserialport-f83b4e7ca922e53/qextserialport.pro ---- qextserialport-f83b4e7ca922e53.orig/qextserialport.pro 2012-10-17 09:13:53.000000000 +0200 -+++ qextserialport-f83b4e7ca922e53/qextserialport.pro 2012-11-13 22:48:29.249431510 +0100 -@@ -41,6 +41,8 @@ macx:qesp_mac_framework { - - win32|mac:!wince*:!win32-msvc:!macx-xcode:CONFIG += debug_and_release build_all - -+!win32*:!wince*:QT -= gui -+ - #generate proper library name - greaterThan(QT_MAJOR_VERSION, 4) { - QESP_LIB_BASENAME = QtExtSerialPort diff --git a/package/qextserialport/qextserialport-main-include.patch b/package/qextserialport/qextserialport-main-include.patch deleted file mode 100644 index 858f3354d5..0000000000 --- a/package/qextserialport/qextserialport-main-include.patch +++ /dev/null @@ -1,15 +0,0 @@ -Create a main include file QExtSerialPort - -This main include file will be installed in - so that Qt applications can use this -library by including header files in a Qt-like style. - -Signed-off-by: Thomas Petazzoni - -Index: qextserialport-ef4af2a2ee3f/src/QExtSerialPort -=================================================================== ---- /dev/null -+++ qextserialport-ef4af2a2ee3f/src/QExtSerialPort -@@ -0,0 +1,2 @@ -+#include "qextserialport.h" -+#include "qextserialenumerator.h" diff --git a/package/qextserialport/qextserialport-pkgconfig.patch b/package/qextserialport/qextserialport-pkgconfig.patch deleted file mode 100644 index d67f3fcbb3..0000000000 --- a/package/qextserialport/qextserialport-pkgconfig.patch +++ /dev/null @@ -1,19 +0,0 @@ -Add a pkgconfig file to ease usage with applications - -Signed-off-by: Thomas Petazzoni - -Index: qextserialport-ef4af2a2ee3f/qextserialport.pc -=================================================================== ---- /dev/null -+++ qextserialport-ef4af2a2ee3f/qextserialport.pc -@@ -0,0 +1,10 @@ -+prefix=/usr -+exec_prefix=${prefix} -+libdir=${prefix}/lib -+includedir=${prefix}/include/QExtSerialPort -+ -+Name: QtExtSerialPort -+Description: QtExtSerialPort library -+Version: 1.2.0 -+Libs: -L${libdir} -lqextserialport -+Cflags: -I${includedir} diff --git a/package/qlibc/0001-remove-absolute-paths.patch b/package/qlibc/0001-remove-absolute-paths.patch new file mode 100644 index 0000000000..5976c3c4db --- /dev/null +++ b/package/qlibc/0001-remove-absolute-paths.patch @@ -0,0 +1,19 @@ +Remove absolute paths to host locations + +Signed-off-by: Sagaert Johan + +Index: b/configure.ac +=================================================================== +--- a/configure.ac ++++ b/configure.ac +@@ -85,10 +85,8 @@ + + ## Set path + PATH="$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" +-CPPFLAGS="$CPPFLAGS -I/usr/include -I/usr/local/include" + CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" + CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" +-LDFLAGS="$LDFLAGS -L/usr/lib -L/usr/local/lib" + + ## Set autoconf setting + #AC_CANONICAL_TARGET diff --git a/package/qlibc/0002-obey-destdir.patch b/package/qlibc/0002-obey-destdir.patch new file mode 100644 index 0000000000..02b0bc490f --- /dev/null +++ b/package/qlibc/0002-obey-destdir.patch @@ -0,0 +1,90 @@ +Make sure the Makefile obeys $(DESTDIR) + +Signed-off-by: Thomas Petazzoni + +Index: b/src/Makefile.in +=================================================================== +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -120,48 +120,48 @@ + install: ${INSTALL_TARGETS} + + install-qlibc: qlibc +- ${MKDIR_P} ${INST_INCDIR}/qlibc +- ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibc.h ${INST_INCDIR}/qlibc/qlibc.h +- ${MKDIR_P} ${INST_LIBDIR} +- ${INSTALL_DATA} ${QLIBC_LIBDIR}/${QLIBC_LIBNAME} ${INST_LIBDIR}/${QLIBC_LIBNAME} +- ${INSTALL_DATA} ${QLIBC_LIBDIR}/${QLIBC_SLIBREALNAME} ${INST_LIBDIR}/${QLIBC_SLIBREALNAME} +- ( cd ${INST_LIBDIR}; ${LN_S} -f ${QLIBC_SLIBREALNAME} ${QLIBC_SLIBNAME} ) ++ ${MKDIR_P} ${DESTDIR}/${INST_INCDIR}/qlibc ++ ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibc.h ${DESTDIR}/${INST_INCDIR}/qlibc/qlibc.h ++ ${MKDIR_P} ${DESTDIR}/${INST_LIBDIR} ++ ${INSTALL_DATA} ${QLIBC_LIBDIR}/${QLIBC_LIBNAME} ${DESTDIR}/${INST_LIBDIR}/${QLIBC_LIBNAME} ++ ${INSTALL_DATA} ${QLIBC_LIBDIR}/${QLIBC_SLIBREALNAME} ${DESTDIR}/${INST_LIBDIR}/${QLIBC_SLIBREALNAME} ++ ( cd ${DESTDIR}/${INST_LIBDIR}; ${LN_S} -f ${QLIBC_SLIBREALNAME} ${QLIBC_SLIBNAME} ) + + uninstall-qlibc: +- ${RM} -f ${INST_INCDIR}/qlibc/qlibc.h +- ${RM} -f ${INST_LIBDIR}/${QLIBC_LIBNAME} +- ${RM} -f ${INST_LIBDIR}/${QLIBC_SLIBREALNAME} +- ${RM} -f ${INST_LIBDIR}/${QLIBC_SLIBNAME} ++ ${RM} -f ${DESTDIR}/${INST_INCDIR}/qlibc/qlibc.h ++ ${RM} -f ${DESTDIR}/${INST_LIBDIR}/${QLIBC_LIBNAME} ++ ${RM} -f ${DESTDIR}/${INST_LIBDIR}/${QLIBC_SLIBREALNAME} ++ ${RM} -f ${DESTDIR}/${INST_LIBDIR}/${QLIBC_SLIBNAME} + + install-qlibcext: qlibcext +- ${MKDIR_P} ${INST_INCDIR}/qlibc +- ${MKDIR_P} ${INST_INCDIR}/qlibc/qlibcext/ +- ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext.h ${INST_INCDIR}/qlibc/qlibcext.h +- ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext/qconfig.h ${INST_INCDIR}/qlibc/qlibcext/qconfig.h +- ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext/qaconf.h ${INST_INCDIR}/qlibc/qlibcext/qaconf.h +- ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext/qlog.h ${INST_INCDIR}/qlibc/qlibcext/qlog.h +- ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext/qhttpclient.h ${INST_INCDIR}/qlibc/qlibcext/qhttpclient.h +- ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext/qdatabase.h ${INST_INCDIR}/qlibc/qlibcext/qdatabase.h +- ${MKDIR_P} ${INST_LIBDIR} +- ${INSTALL_DATA} ${QLIBC_LIBDIR}/${QLIBCEXT_LIBNAME} ${INST_LIBDIR}/${QLIBCEXT_LIBNAME} +- ${INSTALL_DATA} ${QLIBC_LIBDIR}/${QLIBCEXT_SLIBREALNAME} ${INST_LIBDIR}/${QLIBCEXT_SLIBREALNAME} +- ( cd ${INST_LIBDIR}; ${LN_S} -f ${QLIBCEXT_SLIBREALNAME} ${QLIBCEXT_SLIBNAME} ) ++ ${MKDIR_P} ${DESTDIR}/${INST_INCDIR}/qlibc ++ ${MKDIR_P} ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext/ ++ ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext.h ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext.h ++ ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext/qconfig.h ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext/qconfig.h ++ ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext/qaconf.h ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext/qaconf.h ++ ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext/qlog.h ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext/qlog.h ++ ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext/qhttpclient.h ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext/qhttpclient.h ++ ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext/qdatabase.h ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext/qdatabase.h ++ ${MKDIR_P} ${DESTDIR}/${INST_LIBDIR} ++ ${INSTALL_DATA} ${QLIBC_LIBDIR}/${QLIBCEXT_LIBNAME} ${DESTDIR}/${INST_LIBDIR}/${QLIBCEXT_LIBNAME} ++ ${INSTALL_DATA} ${QLIBC_LIBDIR}/${QLIBCEXT_SLIBREALNAME} ${DESTDIR}/${INST_LIBDIR}/${QLIBCEXT_SLIBREALNAME} ++ ( cd ${DESTDIR}/${INST_LIBDIR}; ${LN_S} -f ${QLIBCEXT_SLIBREALNAME} ${QLIBCEXT_SLIBNAME} ) + + uninstall-qlibcext: +- ${RM} -f ${INST_INCDIR}/qlibc/qlibcext.h +- ${RM} -f ${INST_INCDIR}/qlibc/qlibcext/qconfig.h +- ${RM} -f ${INST_INCDIR}/qlibc/qlibcext/qaconf.h +- ${RM} -f ${INST_INCDIR}/qlibc/qlibcext/qlog.h +- ${RM} -f ${INST_INCDIR}/qlibc/qlibcext/qhttpclient.h +- ${RM} -f ${INST_INCDIR}/qlibc/qlibcext/qdatabase.h +- ${RM} -f ${INST_LIBDIR}/${QLIBCEXT_LIBNAME} +- ${RM} -f ${INST_LIBDIR}/${QLIBCEXT_SLIBREALNAME} +- ${RM} -f ${INST_LIBDIR}/${QLIBCEXT_SLIBNAME} ++ ${RM} -f ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext.h ++ ${RM} -f ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext/qconfig.h ++ ${RM} -f ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext/qaconf.h ++ ${RM} -f ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext/qlog.h ++ ${RM} -f ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext/qhttpclient.h ++ ${RM} -f ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext/qdatabase.h ++ ${RM} -f ${DESTDIR}/${INST_LIBDIR}/${QLIBCEXT_LIBNAME} ++ ${RM} -f ${DESTDIR}/${INST_LIBDIR}/${QLIBCEXT_SLIBREALNAME} ++ ${RM} -f ${DESTDIR}/${INST_LIBDIR}/${QLIBCEXT_SLIBNAME} + + deinstall: uninstall + uninstall: uninstall-qlibc uninstall-qlibcext +- ${RMDIR} ${INST_INCDIR}/qlibc/qlibcext +- ${RMDIR} ${INST_INCDIR}/qlibc ++ ${RMDIR} ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext ++ ${RMDIR} ${DESTDIR}/${INST_INCDIR}/qlibc + + clean: + ${RM} -f ${QLIBC_OBJS} diff --git a/package/qlibc/0003-fix-openssl-mysql-checks.patch b/package/qlibc/0003-fix-openssl-mysql-checks.patch new file mode 100644 index 0000000000..bb609b2446 --- /dev/null +++ b/package/qlibc/0003-fix-openssl-mysql-checks.patch @@ -0,0 +1,36 @@ +Allow to explicitly disable openssl and mysql + +AC_ARG_WITH() is being incorrectly used: the third argument indicates +the action that needs to be taken when a value was passed, when not +the option is enabled. Therefore, the result of the existing code was +that when you passed --without-mysql or --without-openssl, the +$withval variable would get the value 'yes', which is obviously wrong. + +Instead, we simply empty this third argument, because $withval is +already properly filled with 'yes' or 'no' by the AC_ARG_WITH() +function. + +Signed-off-by: Thomas Petazzoni + +Index: b/configure.ac +=================================================================== +--- a/configure.ac ++++ b/configure.ac +@@ -170,7 +170,7 @@ + ## --with section + ## + +-AC_ARG_WITH([openssl],[AS_HELP_STRING([--with-openssl], [This will enable HTTPS support in qhttpclient extension API. When it's enabled, user applications will need to link openssl library with -lssl option.])],[withval=yes],[withval=no]) ++AC_ARG_WITH([openssl],[AS_HELP_STRING([--with-openssl], [This will enable HTTPS support in qhttpclient extension API. When it's enabled, user applications will need to link openssl library with -lssl option.])],[],[withval=no]) + if test "$withval" = yes; then + if test "$with_openssl" = yes; then + with_openssl="/usr/include" +@@ -185,7 +185,7 @@ + fi + fi + +-AC_ARG_WITH([mysql],[AS_HELP_STRING([--with-mysql], [This will enable MySQL database support in qdatabase extension API. When it's enabled, user applications need to link mysql client library. (ex: -lmysqlclient)])],[withval=yes],[withval=no]) ++AC_ARG_WITH([mysql],[AS_HELP_STRING([--with-mysql], [This will enable MySQL database support in qdatabase extension API. When it's enabled, user applications need to link mysql client library. (ex: -lmysqlclient)])],[],[withval=no]) + if test "$withval" = yes; then + if test "$with_mysql" = yes; then + with_mysql="/usr/include/mysql" diff --git a/package/qlibc/qlibc-0001-remove-absolute-paths.patch b/package/qlibc/qlibc-0001-remove-absolute-paths.patch deleted file mode 100644 index 5976c3c4db..0000000000 --- a/package/qlibc/qlibc-0001-remove-absolute-paths.patch +++ /dev/null @@ -1,19 +0,0 @@ -Remove absolute paths to host locations - -Signed-off-by: Sagaert Johan - -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -85,10 +85,8 @@ - - ## Set path - PATH="$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" --CPPFLAGS="$CPPFLAGS -I/usr/include -I/usr/local/include" - CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" - CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" --LDFLAGS="$LDFLAGS -L/usr/lib -L/usr/local/lib" - - ## Set autoconf setting - #AC_CANONICAL_TARGET diff --git a/package/qlibc/qlibc-0002-obey-destdir.patch b/package/qlibc/qlibc-0002-obey-destdir.patch deleted file mode 100644 index 02b0bc490f..0000000000 --- a/package/qlibc/qlibc-0002-obey-destdir.patch +++ /dev/null @@ -1,90 +0,0 @@ -Make sure the Makefile obeys $(DESTDIR) - -Signed-off-by: Thomas Petazzoni - -Index: b/src/Makefile.in -=================================================================== ---- a/src/Makefile.in -+++ b/src/Makefile.in -@@ -120,48 +120,48 @@ - install: ${INSTALL_TARGETS} - - install-qlibc: qlibc -- ${MKDIR_P} ${INST_INCDIR}/qlibc -- ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibc.h ${INST_INCDIR}/qlibc/qlibc.h -- ${MKDIR_P} ${INST_LIBDIR} -- ${INSTALL_DATA} ${QLIBC_LIBDIR}/${QLIBC_LIBNAME} ${INST_LIBDIR}/${QLIBC_LIBNAME} -- ${INSTALL_DATA} ${QLIBC_LIBDIR}/${QLIBC_SLIBREALNAME} ${INST_LIBDIR}/${QLIBC_SLIBREALNAME} -- ( cd ${INST_LIBDIR}; ${LN_S} -f ${QLIBC_SLIBREALNAME} ${QLIBC_SLIBNAME} ) -+ ${MKDIR_P} ${DESTDIR}/${INST_INCDIR}/qlibc -+ ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibc.h ${DESTDIR}/${INST_INCDIR}/qlibc/qlibc.h -+ ${MKDIR_P} ${DESTDIR}/${INST_LIBDIR} -+ ${INSTALL_DATA} ${QLIBC_LIBDIR}/${QLIBC_LIBNAME} ${DESTDIR}/${INST_LIBDIR}/${QLIBC_LIBNAME} -+ ${INSTALL_DATA} ${QLIBC_LIBDIR}/${QLIBC_SLIBREALNAME} ${DESTDIR}/${INST_LIBDIR}/${QLIBC_SLIBREALNAME} -+ ( cd ${DESTDIR}/${INST_LIBDIR}; ${LN_S} -f ${QLIBC_SLIBREALNAME} ${QLIBC_SLIBNAME} ) - - uninstall-qlibc: -- ${RM} -f ${INST_INCDIR}/qlibc/qlibc.h -- ${RM} -f ${INST_LIBDIR}/${QLIBC_LIBNAME} -- ${RM} -f ${INST_LIBDIR}/${QLIBC_SLIBREALNAME} -- ${RM} -f ${INST_LIBDIR}/${QLIBC_SLIBNAME} -+ ${RM} -f ${DESTDIR}/${INST_INCDIR}/qlibc/qlibc.h -+ ${RM} -f ${DESTDIR}/${INST_LIBDIR}/${QLIBC_LIBNAME} -+ ${RM} -f ${DESTDIR}/${INST_LIBDIR}/${QLIBC_SLIBREALNAME} -+ ${RM} -f ${DESTDIR}/${INST_LIBDIR}/${QLIBC_SLIBNAME} - - install-qlibcext: qlibcext -- ${MKDIR_P} ${INST_INCDIR}/qlibc -- ${MKDIR_P} ${INST_INCDIR}/qlibc/qlibcext/ -- ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext.h ${INST_INCDIR}/qlibc/qlibcext.h -- ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext/qconfig.h ${INST_INCDIR}/qlibc/qlibcext/qconfig.h -- ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext/qaconf.h ${INST_INCDIR}/qlibc/qlibcext/qaconf.h -- ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext/qlog.h ${INST_INCDIR}/qlibc/qlibcext/qlog.h -- ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext/qhttpclient.h ${INST_INCDIR}/qlibc/qlibcext/qhttpclient.h -- ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext/qdatabase.h ${INST_INCDIR}/qlibc/qlibcext/qdatabase.h -- ${MKDIR_P} ${INST_LIBDIR} -- ${INSTALL_DATA} ${QLIBC_LIBDIR}/${QLIBCEXT_LIBNAME} ${INST_LIBDIR}/${QLIBCEXT_LIBNAME} -- ${INSTALL_DATA} ${QLIBC_LIBDIR}/${QLIBCEXT_SLIBREALNAME} ${INST_LIBDIR}/${QLIBCEXT_SLIBREALNAME} -- ( cd ${INST_LIBDIR}; ${LN_S} -f ${QLIBCEXT_SLIBREALNAME} ${QLIBCEXT_SLIBNAME} ) -+ ${MKDIR_P} ${DESTDIR}/${INST_INCDIR}/qlibc -+ ${MKDIR_P} ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext/ -+ ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext.h ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext.h -+ ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext/qconfig.h ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext/qconfig.h -+ ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext/qaconf.h ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext/qaconf.h -+ ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext/qlog.h ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext/qlog.h -+ ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext/qhttpclient.h ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext/qhttpclient.h -+ ${INSTALL_DATA} ${QLIBC_INCDIR}/qlibcext/qdatabase.h ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext/qdatabase.h -+ ${MKDIR_P} ${DESTDIR}/${INST_LIBDIR} -+ ${INSTALL_DATA} ${QLIBC_LIBDIR}/${QLIBCEXT_LIBNAME} ${DESTDIR}/${INST_LIBDIR}/${QLIBCEXT_LIBNAME} -+ ${INSTALL_DATA} ${QLIBC_LIBDIR}/${QLIBCEXT_SLIBREALNAME} ${DESTDIR}/${INST_LIBDIR}/${QLIBCEXT_SLIBREALNAME} -+ ( cd ${DESTDIR}/${INST_LIBDIR}; ${LN_S} -f ${QLIBCEXT_SLIBREALNAME} ${QLIBCEXT_SLIBNAME} ) - - uninstall-qlibcext: -- ${RM} -f ${INST_INCDIR}/qlibc/qlibcext.h -- ${RM} -f ${INST_INCDIR}/qlibc/qlibcext/qconfig.h -- ${RM} -f ${INST_INCDIR}/qlibc/qlibcext/qaconf.h -- ${RM} -f ${INST_INCDIR}/qlibc/qlibcext/qlog.h -- ${RM} -f ${INST_INCDIR}/qlibc/qlibcext/qhttpclient.h -- ${RM} -f ${INST_INCDIR}/qlibc/qlibcext/qdatabase.h -- ${RM} -f ${INST_LIBDIR}/${QLIBCEXT_LIBNAME} -- ${RM} -f ${INST_LIBDIR}/${QLIBCEXT_SLIBREALNAME} -- ${RM} -f ${INST_LIBDIR}/${QLIBCEXT_SLIBNAME} -+ ${RM} -f ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext.h -+ ${RM} -f ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext/qconfig.h -+ ${RM} -f ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext/qaconf.h -+ ${RM} -f ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext/qlog.h -+ ${RM} -f ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext/qhttpclient.h -+ ${RM} -f ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext/qdatabase.h -+ ${RM} -f ${DESTDIR}/${INST_LIBDIR}/${QLIBCEXT_LIBNAME} -+ ${RM} -f ${DESTDIR}/${INST_LIBDIR}/${QLIBCEXT_SLIBREALNAME} -+ ${RM} -f ${DESTDIR}/${INST_LIBDIR}/${QLIBCEXT_SLIBNAME} - - deinstall: uninstall - uninstall: uninstall-qlibc uninstall-qlibcext -- ${RMDIR} ${INST_INCDIR}/qlibc/qlibcext -- ${RMDIR} ${INST_INCDIR}/qlibc -+ ${RMDIR} ${DESTDIR}/${INST_INCDIR}/qlibc/qlibcext -+ ${RMDIR} ${DESTDIR}/${INST_INCDIR}/qlibc - - clean: - ${RM} -f ${QLIBC_OBJS} diff --git a/package/qlibc/qlibc-0003-fix-openssl-mysql-checks.patch b/package/qlibc/qlibc-0003-fix-openssl-mysql-checks.patch deleted file mode 100644 index bb609b2446..0000000000 --- a/package/qlibc/qlibc-0003-fix-openssl-mysql-checks.patch +++ /dev/null @@ -1,36 +0,0 @@ -Allow to explicitly disable openssl and mysql - -AC_ARG_WITH() is being incorrectly used: the third argument indicates -the action that needs to be taken when a value was passed, when not -the option is enabled. Therefore, the result of the existing code was -that when you passed --without-mysql or --without-openssl, the -$withval variable would get the value 'yes', which is obviously wrong. - -Instead, we simply empty this third argument, because $withval is -already properly filled with 'yes' or 'no' by the AC_ARG_WITH() -function. - -Signed-off-by: Thomas Petazzoni - -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -170,7 +170,7 @@ - ## --with section - ## - --AC_ARG_WITH([openssl],[AS_HELP_STRING([--with-openssl], [This will enable HTTPS support in qhttpclient extension API. When it's enabled, user applications will need to link openssl library with -lssl option.])],[withval=yes],[withval=no]) -+AC_ARG_WITH([openssl],[AS_HELP_STRING([--with-openssl], [This will enable HTTPS support in qhttpclient extension API. When it's enabled, user applications will need to link openssl library with -lssl option.])],[],[withval=no]) - if test "$withval" = yes; then - if test "$with_openssl" = yes; then - with_openssl="/usr/include" -@@ -185,7 +185,7 @@ - fi - fi - --AC_ARG_WITH([mysql],[AS_HELP_STRING([--with-mysql], [This will enable MySQL database support in qdatabase extension API. When it's enabled, user applications need to link mysql client library. (ex: -lmysqlclient)])],[withval=yes],[withval=no]) -+AC_ARG_WITH([mysql],[AS_HELP_STRING([--with-mysql], [This will enable MySQL database support in qdatabase extension API. When it's enabled, user applications need to link mysql client library. (ex: -lmysqlclient)])],[],[withval=no]) - if test "$withval" = yes; then - if test "$with_mysql" = yes; then - with_mysql="/usr/include/mysql" diff --git a/package/qt/0001-configure.patch b/package/qt/0001-configure.patch new file mode 100644 index 0000000000..07c9630c90 --- /dev/null +++ b/package/qt/0001-configure.patch @@ -0,0 +1,52 @@ +Fix -hostprefix behaviour + +When -hostprefix ./configure option is used, Qt installs all its +headers, libraries and binaries inside the given host prefix, instead +of the prefix. This is used by Buildroot to make sure that all Qt +libraries and headers are installed in $(STAGING_DIR). + +Qt ./configure script also allows to tune the installation location of +various elements, for examples the plugins through the -plugindir +option. Unfortunately, this option only impact the installation path +on the target, but not on the host when -hostprefix is used. + +This patch modifies Qt ./configure script so that HOST_*PATH_STR +variables are composed of the host prefix concatenated with the path +of installation on the target. This way, the plugin installation local +in the $(STAGING_DIR) and on the target remains the same. + +Signed-off-by: Thomas Petazzoni + +--- + configure | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +Index: qt-everywhere-opensource-src-4.8.1/configure +=================================================================== +--- qt-everywhere-opensource-src-4.8.1.orig/configure ++++ qt-everywhere-opensource-src-4.8.1/configure +@@ -4661,15 +4661,15 @@ + + + if [ ! -z "$QT_HOST_PREFIX" ]; then +- HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX"` +- HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/doc"` +- HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/include"` +- HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/lib"` +- HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/bin"` +- HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/plugins"` +- HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/IMPORTS"` +- HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX"` +- HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/translations"` ++ HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX/$QT_INSTALL_PREFIX"` ++ HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/$QT_INSTALL_DOCS"` ++ HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/$QT_INSTALL_HEADERS"` ++ HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/$QT_INSTALL_LIBS"` ++ HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/$QT_INSTALL_BINS"` ++ HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/$QT_INSTALL_PLUGINS"` ++ HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/$QT_INSTALL_IMPORTS"` ++ HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX/$QT_INSTALL_DATA"` ++ HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/$QT_INSTALL_TRANSLATIONS"` + HOSTSETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"` + HOSTEXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"` + HOSTDEMOS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_demopath=$QT_INSTALL_DEMOS"` diff --git a/package/qt/0002-eglwsegl-use-system.patch b/package/qt/0002-eglwsegl-use-system.patch new file mode 100644 index 0000000000..cb3038138f --- /dev/null +++ b/package/qt/0002-eglwsegl-use-system.patch @@ -0,0 +1,802 @@ +Patch to remove obsolete powervr headers and instead use the headers provided +on the system. + +Signed-off-by: Spenser Gilliland +--- +Index: qt-4.8.5/src/3rdparty/powervr/pvr2d.h +=================================================================== +--- qt-4.8.5.orig/src/3rdparty/powervr/pvr2d.h 2013-07-08 11:24:33.010516867 -0500 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,502 +0,0 @@ +-/*!**************************************************************************** +-@File pvr2d.h +-@Title PVR2D external header file +-@Author Imagination Technologies +-@Copyright Copyright (c) by Imagination Technologies Limited. +- This specification is protected by copyright laws and contains +- material proprietary to Imagination Technologies Limited. +- You may use and distribute this specification free of charge for implementing +- the functionality therein, without altering or removing any trademark, copyright, +- or other notice from the specification. +-@Platform Generic +-@Description PVR2D definitions for PVR2D clients +-******************************************************************************/ +- +- +-/****************************************************************************** +-Modifications :- +-$Log: pvr2d.h $ +-******************************************************************************/ +- +-#ifndef _PVR2D_H_ +-#define _PVR2D_H_ +- +-#ifdef __cplusplus +-extern "C" { +-#endif +- +-/* PVR2D Platform-specific definitions */ +-#define PVR2D_EXPORT +-#define PVR2D_IMPORT +- +- +-#define PVR2D_REV_MAJOR 2 +-#define PVR2D_REV_MINOR 1 +- +-typedef enum +-{ +- PVR2D_FALSE = 0, +- PVR2D_TRUE +-} PVR2D_BOOL; +- +- +-/* error codes */ +-typedef enum +-{ +- PVR2D_OK = 0, +- PVR2DERROR_INVALID_PARAMETER = -1, +- PVR2DERROR_DEVICE_UNAVAILABLE = -2, +- PVR2DERROR_INVALID_CONTEXT = -3, +- PVR2DERROR_MEMORY_UNAVAILABLE = -4, +- PVR2DERROR_DEVICE_NOT_PRESENT = -5, +- PVR2DERROR_IOCTL_ERROR = -6, +- PVR2DERROR_GENERIC_ERROR = -7, +- PVR2DERROR_BLT_NOTCOMPLETE = -8, +- PVR2DERROR_HW_FEATURE_NOT_SUPPORTED = -9, +- PVR2DERROR_NOT_YET_IMPLEMENTED = -10, +- PVR2DERROR_MAPPING_FAILED = -11 +-}PVR2DERROR; +- +- +-/* pixel formats */ +-typedef enum +-{ +- PVR2D_1BPP = 0, +- PVR2D_RGB565, +- PVR2D_ARGB4444, +- PVR2D_RGB888, +- PVR2D_ARGB8888, +- PVR2D_ARGB1555, +- PVR2D_ALPHA8, +- PVR2D_ALPHA4, +- PVR2D_PAL2, +- PVR2D_PAL4, +- PVR2D_PAL8, +- PVR2D_VGAEMU +- +-}PVR2DFORMAT; +- +- +-/* wrap surface type */ +-typedef enum +-{ +- PVR2D_WRAPFLAG_NONCONTIGUOUS = 0, +- PVR2D_WRAPFLAG_CONTIGUOUS = 1, +- +-}PVR2DWRAPFLAGS; +- +-/* flags for control information of additional blits */ +-typedef enum +-{ +- PVR2D_BLIT_DISABLE_ALL = 0x0000, /* disable all additional controls */ +- PVR2D_BLIT_CK_ENABLE = 0x0001, /* enable colour key */ +- PVR2D_BLIT_GLOBAL_ALPHA_ENABLE = 0x0002, /* enable standard global alpha */ +- PVR2D_BLIT_PERPIXEL_ALPHABLEND_ENABLE = 0x0004, /* enable per-pixel alpha bleding */ +- PVR2D_BLIT_PAT_SURFACE_ENABLE = 0x0008, /* enable pattern surf (disable fill) */ +- PVR2D_BLIT_FULLY_SPECIFIED_ALPHA_ENABLE = 0x0010, /* enable fully specified alpha */ +- PVR2D_BLIT_ROT_90 = 0x0020, /* apply 90 degree rotation to the blt */ +- PVR2D_BLIT_ROT_180 = 0x0040, /* apply 180 degree rotation to the blt */ +- PVR2D_BLIT_ROT_270 = 0x0080, /* apply 270 degree rotation to the blt */ +- PVR2D_BLIT_COPYORDER_TL2BR = 0x0100, /* copy order overrides */ +- PVR2D_BLIT_COPYORDER_BR2TL = 0x0200, +- PVR2D_BLIT_COPYORDER_TR2BL = 0x0400, +- PVR2D_BLIT_COPYORDER_BL2TR = 0x0800, +- PVR2D_BLIT_COLKEY_SOURCE = 0x1000, /* Key colour is on the source surface */ +- PVR2D_BLIT_COLKEY_DEST = 0x2000 /* Key colour is on the destination surface */ +- +-} PVR2DBLITFLAGS; +- +-/* standard alpha-blending functions, AlphaBlendingFunc field of PVR2DBLTINFO */ +-typedef enum +-{ +- PVR2D_ALPHA_OP_SRC_DSTINV = 1, /* source alpha : Cdst = Csrc*Asrc + Cdst*(1-Asrc) */ +- PVR2D_ALPHA_OP_SRCP_DSTINV = 2 /* premultiplied source alpha : Cdst = Csrc + Cdst*(1-Asrc) */ +-} PVR2D_ALPHABLENDFUNC; +- +-/* blend ops for fully specified alpha */ +-typedef enum +-{ +- PVR2D_BLEND_OP_ZERO = 0, +- PVR2D_BLEND_OP_ONE = 1, +- PVR2D_BLEND_OP_SRC = 2, +- PVR2D_BLEND_OP_DST = 3, +- PVR2D_BLEND_OP_GLOBAL = 4, +- PVR2D_BLEND_OP_SRC_PLUS_GLOBAL = 5, +- PVR2D_BLEND_OP_DST_PLUS_GLOBAL = 6 +-}PVR2D_BLEND_OP; +- +- +-typedef void* PVR2D_HANDLE; +- +- +-/* Fully specified alpha blend : pAlpha field of PVR2DBLTINFO structure */ +-/* a fully specified Alpha Blend operation is defined as */ +-/* DST (ALPHA) = (ALPHA_1 * SRC (ALPHA)) + (ALPHA_3 * DST (ALPHA)) */ +-/* DST (RGB) = (ALPHA_2 * SRC (RGB)) + (ALPHA_4 * DST (RGB)) */ +-/* if the pre-multiplication stage is enabled then the equations become the following: */ +-/* PRE_MUL = ((SRC(A)) * (Global Alpha Value)) */ +-/* DST (ALPHA) = (ALPHA_1 * SRC (ALPHA)) + (PRE_MUL * DST (ALPHA)) */ +-/* DST (RGB) = (ALPHA_2 * SRC (RGB)) + (PRE_MUL * DST (RGB)) */ +-/* if the transparent source alpha stage is enabled then a source alpha of zero forces the */ +-/* source to be transparent for that pixel regardless of the blend equation being used. */ +-typedef struct _PVR2D_ALPHABLT +-{ +- PVR2D_BLEND_OP eAlpha1; +- PVR2D_BOOL bAlpha1Invert; +- PVR2D_BLEND_OP eAlpha2; +- PVR2D_BOOL bAlpha2Invert; +- PVR2D_BLEND_OP eAlpha3; +- PVR2D_BOOL bAlpha3Invert; +- PVR2D_BLEND_OP eAlpha4; +- PVR2D_BOOL bAlpha4Invert; +- PVR2D_BOOL bPremulAlpha; /* enable pre-multiplication stage */ +- PVR2D_BOOL bTransAlpha; /* enable transparent source alpha stage */ +- PVR2D_BOOL bUpdateAlphaLookup; /* enable and update the 1555-Lookup alpha table */ +- unsigned char uAlphaLookup0; /* 8 bit alpha when A=0 in a 1555-Lookup surface */ +- unsigned char uAlphaLookup1; /* 8 bit alpha when A=1 in a 1555-Lookup surface */ +- unsigned char uGlobalRGB; /* Global Alpha Value for RGB, 0=transparent 255=opaque */ +- unsigned char uGlobalA; /* Global Alpha Value for Alpha */ +- +-} PVR2D_ALPHABLT, *PPVR2D_ALPHABLT; +- +- +-/* surface memory info structure */ +-typedef struct _PVR2DMEMINFO +-{ +- void *pBase; +- unsigned long ui32MemSize; +- unsigned long ui32DevAddr; +- unsigned long ulFlags; +- void *hPrivateData; +- void *hPrivateMapData; +- +-}PVR2DMEMINFO, *PPVR2DMEMINFO; +- +- +-#define PVR2D_MAX_DEVICE_NAME 20 +- +-typedef struct _PVR2DDEVICEINFO +-{ +- unsigned long ulDevID; +- char szDeviceName[PVR2D_MAX_DEVICE_NAME]; +-}PVR2DDEVICEINFO; +- +- +-typedef struct _PVR2DISPLAYINFO +-{ +- unsigned long ulMaxFlipChains; +- unsigned long ulMaxBuffersInChain; +- PVR2DFORMAT eFormat; +- unsigned long ulWidth; +- unsigned long ulHeight; +- long lStride; +- unsigned long ulMinFlipInterval; +- unsigned long ulMaxFlipInterval; +- +-}PVR2DDISPLAYINFO; +- +- +-typedef struct _PVR2DBLTINFO +-{ +- unsigned long CopyCode; /* rop code */ +- unsigned long Colour; /* fill colour */ +- unsigned long ColourKey; /* colour key */ +- unsigned char GlobalAlphaValue; /* global alpha blending */ +- unsigned char AlphaBlendingFunc; /* per-pixel alpha-blending function */ +- +- PVR2DBLITFLAGS BlitFlags; /* additional blit control information */ +- +- PVR2DMEMINFO *pDstMemInfo; /* destination memory */ +- unsigned long DstOffset; /* byte offset from start of allocation to destination surface pixel 0,0 */ +- long DstStride; /* signed stride, the number of bytes from pixel 0,0 to 0,1 */ +- long DstX, DstY; /* pixel offset from start of dest surface to start of blt rectangle */ +- long DSizeX,DSizeY; /* blt size */ +- PVR2DFORMAT DstFormat; /* dest format */ +- unsigned long DstSurfWidth; /* size of dest surface in pixels */ +- unsigned long DstSurfHeight; /* size of dest surface in pixels */ +- +- PVR2DMEMINFO *pSrcMemInfo; /* source mem, (source fields are also used for patterns) */ +- unsigned long SrcOffset; /* byte offset from start of allocation to src/pat surface pixel 0,0 */ +- long SrcStride; /* signed stride, the number of bytes from pixel 0,0 to 0,1 */ +- long SrcX, SrcY; /* pixel offset from start of surface to start of source rectangle */ +- /* for patterns this is the start offset within the pattern */ +- long SizeX,SizeY; /* source rectangle size or pattern size in pixels */ +- PVR2DFORMAT SrcFormat; /* source/pattern format */ +- PVR2DMEMINFO *pPalMemInfo; /* source/pattern palette memory containing argb8888 colour table */ +- unsigned long PalOffset; /* byte offset from start of allocation to start of palette */ +- unsigned long SrcSurfWidth; /* size of source surface in pixels */ +- unsigned long SrcSurfHeight; /* size of source surface in pixels */ +- +- PVR2DMEMINFO *pMaskMemInfo; /* mask memory, 1bpp format implied */ +- unsigned long MaskOffset; /* byte offset from start of allocation to mask surface pixel 0,0 */ +- long MaskStride; /* signed stride, the number of bytes from pixel 0,0 to 0,1 */ +- long MaskX, MaskY; /* mask rect top left (mask size = blt size) */ +- unsigned long MaskSurfWidth; /* size of mask surface in pixels */ +- unsigned long MaskSurfHeight; /* size of mask surface in pixels */ +- +- PPVR2D_ALPHABLT pAlpha; /* fully specified alpha blend */ +- +-}PVR2DBLTINFO, *PPVR2DBLTINFO; +- +-typedef struct _PVR2DRECT +-{ +- long left, top; +- long right, bottom; +-} PVR2DRECT; +- +-typedef struct +-{ +- PVR2DMEMINFO *pSurfMemInfo; /* surface memory */ +- unsigned long SurfOffset; /* byte offset from start of allocation to destination surface pixel 0,0 */ +- long Stride; /* signed stride */ +- PVR2DFORMAT Format; +- unsigned long SurfWidth; /* surface size in pixels */ +- unsigned long SurfHeight; +- +-} PVR2D_SURFACE, *PPVR2D_SURFACE; +- +-typedef struct +-{ +- unsigned long *pUseCode; /* USSE code */ +- unsigned long UseCodeSize; /* usse code size in bytes */ +- +-} PVR2D_USECODE, *PPVR2D_USECODE; +- +-typedef struct +-{ +- PVR2D_SURFACE sDst; /* destination surface */ +- PVR2D_SURFACE sSrc; /* source surface */ +- PVR2DRECT rcDest; /* destination rectangle */ +- PVR2DRECT rcSource; /* source rectangle */ +- PVR2D_HANDLE hUseCode; /* custom USE code (NULL implies source copy) */ +- unsigned long UseParams[2]; /* per-blt params for use code */ +- +-} PVR2D_3DBLT, *PPVR2D_3DBLT; +- +- +-#define MAKE_COPY_BLIT(src,soff,dest,doff,sx,sy,dx,dy,sz) +- +-typedef void* PVR2DCONTEXTHANDLE; +-typedef void* PVR2DFLIPCHAINHANDLE; +- +- +-// CopyCode field of PVR2DBLTINFO structure: +-// the CopyCode field of the PVR2DBLTINFO structure should contain a rop3 or rop4 code. +-// a rop3 is an 8 bit code that describes a blt with three inputs : source dest and pattern +-// rop4 is a 16 bit code that describes a blt with four inputs : source dest pattern and mask +-// common rop3 codes are defined below +-// a colour fill blt is processed in the pattern channel as a constant colour with a rop code of 0xF0 +-// PVR2D_BLIT_PAT_SURFACE_ENABLE defines whether the pattern channel is a surface or a fill colour. +-// a rop4 is defined by two rop3 codes, and the 1 bit-per-pixel mask surface defines which is used. +-// a common rop4 is 0xAAF0 which is the mask copy blt used for text glyphs. +-// CopyCode is taken to be a rop4 when pMaskMemInfo is non zero, otherwise it is assumed to be a rop3 +-// use the PVR2DMASKROP4 macro below to construct a rop4 from two rop3's +-// rop3a is the rop used when mask pixel = 1, and rop3b when mask = 0 +-#define PVR2DROP4(rop3b, rop3a) ((rop3b<<8)|rop3a) +- +-/* common rop codes */ +-#define PVR2DROPclear 0x00 /* 0 (whiteness) */ +-#define PVR2DROPset 0xFF /* 1 (blackness) */ +-#define PVR2DROPnoop 0xAA /* dst (used for masked blts) */ +- +-/* source and dest rop codes */ +-#define PVR2DROPand 0x88 /* src AND dst */ +-#define PVR2DROPandReverse 0x44 /* src AND NOT dst */ +-#define PVR2DROPcopy 0xCC /* src (used for source copy and alpha blts) */ +-#define PVR2DROPandInverted 0x22 /* NOT src AND dst */ +-#define PVR2DROPxor 0x66 /* src XOR dst */ +-#define PVR2DROPor 0xEE /* src OR dst */ +-#define PVR2DROPnor 0x11 /* NOT src AND NOT dst */ +-#define PVR2DROPequiv 0x99 /* NOT src XOR dst */ +-#define PVR2DROPinvert 0x55 /* NOT dst */ +-#define PVR2DROPorReverse 0xDD /* src OR NOT dst */ +-#define PVR2DROPcopyInverted 0x33 /* NOT src */ +-#define PVR2DROPorInverted 0xBB /* NOT src OR dst */ +-#define PVR2DROPnand 0x77 /* NOT src OR NOT dst */ +- +-/* pattern rop codes */ +-#define PVR2DPATROPand 0xA0 /* pat AND dst */ +-#define PVR2DPATROPandReverse 0x50 /* pat AND NOT dst */ +-#define PVR2DPATROPcopy 0xF0 /* pat (used for solid color fills and pattern blts) */ +-#define PVR2DPATROPandInverted 0x0A /* NOT pat AND dst */ +-#define PVR2DPATROPxor 0x5A /* pat XOR dst */ +-#define PVR2DPATROPor 0xFA /* pat OR dst */ +-#define PVR2DPATROPnor 0x05 /* NOT pat AND NOT dst */ +-#define PVR2DPATROPequiv 0xA5 /* NOT pat XOR dst */ +-#define PVR2DPATROPinvert 0x55 /* NOT dst */ +-#define PVR2DPATROPorReverse 0xF5 /* pat OR NOT dst */ +-#define PVR2DPATROPcopyInverted 0x0F /* NOT pat */ +-#define PVR2DPATROPorInverted 0xAF /* NOT pat OR dst */ +-#define PVR2DPATROPnand 0x5F /* NOT pat OR NOT dst */ +- +-/* common rop4 codes */ +-#define PVR2DROP4MaskedCopy PVR2DROP4(PVR2DROPnoop,PVR2DROPcopy) /* masked source copy blt (used for rounded window corners etc) */ +-#define PVR2DROP4MaskedFill PVR2DROP4(PVR2DROPnoop,PVR2DPATROPcopy) /* masked colour fill blt (used for text) */ +- +-/* Legacy support */ +-#define PVR2DROP3_PATMASK PVR2DPATROPcopy +-#define PVR2DROP3_SRCMASK PVR2DROPcopy +- +-/* pixmap memory alignment */ +-#define PVR2D_ALIGNMENT_4 4 /* DWORD alignment */ +-#define PVR2D_ALIGNMENT_ANY 0 /* no alignment */ +-#define PVR2D_ALIGNMENT_PALETTE 16 /* 16 byte alignment is required for palettes */ +- +-/* Heap number for PVR2DGetFrameBuffer */ +-#define PVR2D_FB_PRIMARY_SURFACE 0 +- +-#define PVR2D_PRESENT_PROPERTY_SRCSTRIDE (1 << 0) +-#define PVR2D_PRESENT_PROPERTY_DSTSIZE (1 << 1) +-#define PVR2D_PRESENT_PROPERTY_DSTPOS (1 << 2) +-#define PVR2D_PRESENT_PROPERTY_CLIPRECTS (1 << 3) +-#define PVR2D_PRESENT_PROPERTY_INTERVAL (1 << 4) +- +- +-#define PVR2D_CREATE_FLIPCHAIN_SHARED (1 << 0) +-#define PVR2D_CREATE_FLIPCHAIN_QUERY (1 << 1) +- +-/* Functions that the library exports */ +- +-PVR2D_IMPORT +-int PVR2DEnumerateDevices(PVR2DDEVICEINFO *pDevInfo); +- +-PVR2D_IMPORT +-PVR2DERROR PVR2DCreateDeviceContext(unsigned long ulDevID, +- PVR2DCONTEXTHANDLE* phContext, +- unsigned long ulFlags); +- +-PVR2D_IMPORT +-PVR2DERROR PVR2DDestroyDeviceContext(PVR2DCONTEXTHANDLE hContext); +- +-PVR2D_IMPORT +-PVR2DERROR PVR2DGetDeviceInfo(PVR2DCONTEXTHANDLE hContext, +- PVR2DDISPLAYINFO *pDisplayInfo); +- +-PVR2D_IMPORT +-PVR2DERROR PVR2DGetScreenMode(PVR2DCONTEXTHANDLE hContext, +- PVR2DFORMAT *pFormat, +- long *plWidth, +- long *plHeight, +- long *plStride, +- int *piRefreshRate); +- +-PVR2D_IMPORT +-PVR2DERROR PVR2DGetFrameBuffer(PVR2DCONTEXTHANDLE hContext, +- int nHeap, +- PVR2DMEMINFO **ppsMemInfo); +- +-PVR2D_IMPORT +-PVR2DERROR PVR2DMemAlloc(PVR2DCONTEXTHANDLE hContext, +- unsigned long ulBytes, +- unsigned long ulAlign, +- unsigned long ulFlags, +- PVR2DMEMINFO **ppsMemInfo); +- +-PVR2D_IMPORT +-PVR2DERROR PVR2DMemWrap(PVR2DCONTEXTHANDLE hContext, +- void *pMem, +- unsigned long ulFlags, +- unsigned long ulBytes, +- unsigned long alPageAddress[], +- PVR2DMEMINFO **ppsMemInfo); +- +-PVR2D_IMPORT +-PVR2DERROR PVR2DMemMap(PVR2DCONTEXTHANDLE hContext, +- unsigned long ulFlags, +- void *hPrivateMapData, +- PVR2DMEMINFO **ppsDstMem); +- +-PVR2D_IMPORT +-PVR2DERROR PVR2DMemFree(PVR2DCONTEXTHANDLE hContext, +- PVR2DMEMINFO *psMemInfo); +- +-PVR2D_IMPORT +-PVR2DERROR PVR2DBlt(PVR2DCONTEXTHANDLE hContext, +- PVR2DBLTINFO *pBltInfo); +- +-PVR2D_IMPORT +-PVR2DERROR PVR2DBltClipped(PVR2DCONTEXTHANDLE hContext, +- PVR2DBLTINFO *pBltInfo, +- unsigned long ulNumClipRects, +- PVR2DRECT *pClipRects); +- +-PVR2D_IMPORT +-PVR2DERROR PVR2DQueryBlitsComplete(PVR2DCONTEXTHANDLE hContext, +- PVR2DMEMINFO *pMemInfo, +- unsigned int uiWaitForComplete); +- +-PVR2D_IMPORT +-PVR2DERROR PVR2DSetPresentBltProperties(PVR2DCONTEXTHANDLE hContext, +- unsigned long ulPropertyMask, +- long lSrcStride, +- unsigned long ulDstWidth, +- unsigned long ulDstHeight, +- long lDstXPos, +- long lDstYPos, +- unsigned long ulNumClipRects, +- PVR2DRECT *pClipRects, +- unsigned long ulSwapInterval); +- +-PVR2D_IMPORT +-PVR2DERROR PVR2DPresentBlt(PVR2DCONTEXTHANDLE hContext, +- PVR2DMEMINFO *pMemInfo, +- long lRenderID); +- +-PVR2D_IMPORT +-PVR2DERROR PVR2DCreateFlipChain(PVR2DCONTEXTHANDLE hContext, +- unsigned long ulFlags, +- unsigned long ulNumBuffers, +- unsigned long ulWidth, +- unsigned long ulHeight, +- PVR2DFORMAT eFormat, +- long *plStride, +- unsigned long *pulFlipChainID, +- PVR2DFLIPCHAINHANDLE *phFlipChain); +- +-PVR2D_IMPORT +-PVR2DERROR PVR2DDestroyFlipChain(PVR2DCONTEXTHANDLE hContext, +- PVR2DFLIPCHAINHANDLE hFlipChain); +- +-PVR2D_IMPORT +-PVR2DERROR PVR2DGetFlipChainBuffers(PVR2DCONTEXTHANDLE hContext, +- PVR2DFLIPCHAINHANDLE hFlipChain, +- unsigned long *pulNumBuffers, +- PVR2DMEMINFO *psMemInfo[]); +- +-PVR2D_IMPORT +-PVR2DERROR PVR2DSetPresentFlipProperties(PVR2DCONTEXTHANDLE hContext, +- PVR2DFLIPCHAINHANDLE hFlipChain, +- unsigned long ulPropertyMask, +- long lDstXPos, +- long lDstYPos, +- unsigned long ulNumClipRects, +- PVR2DRECT *pClipRects, +- unsigned long ulSwapInterval); +- +-PVR2D_IMPORT +-PVR2DERROR PVR2DPresentFlip(PVR2DCONTEXTHANDLE hContext, +- PVR2DFLIPCHAINHANDLE hFlipChain, +- PVR2DMEMINFO *psMemInfo, +- long lRenderID); +- +-PVR2D_IMPORT +-PVR2DERROR PVR2DGetAPIRev(long *lRevMajor, long *lRevMinor); +- +-PVR2D_IMPORT +-PVR2DERROR PVR2DLoadUseCode (const PVR2DCONTEXTHANDLE hContext, const unsigned char *pUseCode, +- const unsigned long UseCodeSize, PVR2D_HANDLE *pUseCodeHandle); +-PVR2D_IMPORT +-PVR2DERROR PVR2DFreeUseCode (const PVR2DCONTEXTHANDLE hContext, const PVR2D_HANDLE hUseCodeHandle); +- +-PVR2D_IMPORT +-PVR2DERROR PVR2DBlt3D (const PVR2DCONTEXTHANDLE hContext, const PPVR2D_3DBLT pBlt3D); +- +-#ifdef __cplusplus +-} +-#endif +- +-#endif /* _PVR2D_H_ */ +- +-/****************************************************************************** +- End of file (pvr2d.h) +-******************************************************************************/ +Index: qt-4.8.5/src/3rdparty/powervr/wsegl.h +=================================================================== +--- qt-4.8.5.orig/src/3rdparty/powervr/wsegl.h 2013-07-08 11:24:33.010516867 -0500 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,240 +0,0 @@ +-/****************************************************************************** +- Name : wsegl.h +- Copyright : Copyright (c) Imagination Technologies Limited. +- This specification is protected by copyright laws and contains +- material proprietary to Imagination Technologies Limited. +- You may use and distribute this specification free of charge for implementing +- the functionality therein, without altering or removing any trademark, copyright, +- or other notice from the specification. +- Platform : ANSI +-*****************************************************************************/ +- +- +-#if !defined(__WSEGL_H__) +-#define __WSEGL_H__ +- +-#ifdef __cplusplus +-extern "C" { +-#endif +- +-/* +-// WSEGL Platform-specific definitions +-*/ +-#define WSEGL_EXPORT +-#define WSEGL_IMPORT +- +-/* +-// WSEGL API Version Number +-*/ +- +-#define WSEGL_VERSION 1 +-#define WSEGL_DEFAULT_DISPLAY 0 +-#define WSEGL_DEFAULT_NATIVE_ENGINE 0 +- +-#define WSEGL_FALSE 0 +-#define WSEGL_TRUE 1 +-#define WSEGL_NULL 0 +- +-#define WSEGL_UNREFERENCED_PARAMETER(param) (param) = (param) +- +-/* +-// WSEGL handles +-*/ +-typedef void *WSEGLDisplayHandle; +-typedef void *WSEGLDrawableHandle; +- +-/* +-// Display capability type +-*/ +-typedef enum WSEGLCapsType_TAG +-{ +- WSEGL_NO_CAPS = 0, +- WSEGL_CAP_MIN_SWAP_INTERVAL = 1, /* System default value = 1 */ +- WSEGL_CAP_MAX_SWAP_INTERVAL = 2, /* System default value = 1 */ +- WSEGL_CAP_WINDOWS_USE_HW_SYNC = 3, /* System default value = 0 (FALSE) */ +- WSEGL_CAP_PIXMAPS_USE_HW_SYNC = 4, /* System default value = 0 (FALSE) */ +- +-} WSEGLCapsType; +- +-/* +-// Display capability +-*/ +-typedef struct WSEGLCaps_TAG +-{ +- WSEGLCapsType eCapsType; +- unsigned long ui32CapsValue; +- +-} WSEGLCaps; +- +-/* +-// Drawable type +-*/ +-#define WSEGL_NO_DRAWABLE 0x0 +-#define WSEGL_DRAWABLE_WINDOW 0x1 +-#define WSEGL_DRAWABLE_PIXMAP 0x2 +- +- +-/* +-// Pixel format of display/drawable +-*/ +-typedef enum WSEGLPixelFormat_TAG +-{ +- WSEGL_PIXELFORMAT_565 = 0, +- WSEGL_PIXELFORMAT_4444 = 1, +- WSEGL_PIXELFORMAT_8888 = 2, +- WSEGL_PIXELFORMAT_1555 = 3 +- +-} WSEGLPixelFormat; +- +-/* +-// Transparent of display/drawable +-*/ +-typedef enum WSEGLTransparentType_TAG +-{ +- WSEGL_OPAQUE = 0, +- WSEGL_COLOR_KEY = 1, +- +-} WSEGLTransparentType; +- +-/* +-// Display/drawable configuration +-*/ +-typedef struct WSEGLConfig_TAG +-{ +- /* +- // Type of drawables this configuration applies to - +- // OR'd values of drawable types. +- */ +- unsigned long ui32DrawableType; +- +- /* Pixel format */ +- WSEGLPixelFormat ePixelFormat; +- +- /* Native Renderable - set to WSEGL_TRUE if native renderable */ +- unsigned long ulNativeRenderable; +- +- /* FrameBuffer Level Parameter */ +- unsigned long ulFrameBufferLevel; +- +- /* Native Visual ID */ +- unsigned long ulNativeVisualID; +- +- /* Native Visual */ +- void *hNativeVisual; +- +- /* Transparent Type */ +- WSEGLTransparentType eTransparentType; +- +- /* Transparent Color - only used if transparent type is COLOR_KEY */ +- unsigned long ulTransparentColor; /* packed as 0x00RRGGBB */ +- +- +-} WSEGLConfig; +- +-/* +-// WSEGL errors +-*/ +-typedef enum WSEGLError_TAG +-{ +- WSEGL_SUCCESS = 0, +- WSEGL_CANNOT_INITIALISE = 1, +- WSEGL_BAD_NATIVE_DISPLAY = 2, +- WSEGL_BAD_NATIVE_WINDOW = 3, +- WSEGL_BAD_NATIVE_PIXMAP = 4, +- WSEGL_BAD_NATIVE_ENGINE = 5, +- WSEGL_BAD_DRAWABLE = 6, +- WSEGL_BAD_CONFIG = 7, +- WSEGL_OUT_OF_MEMORY = 8 +- +-} WSEGLError; +- +-/* +-// Drawable orientation (in degrees anti-clockwise) +-*/ +-typedef enum WSEGLRotationAngle_TAG +-{ +- WSEGL_ROTATE_0 = 0, +- WSEGL_ROTATE_90 = 1, +- WSEGL_ROTATE_180 = 2, +- WSEGL_ROTATE_270 = 3 +- +-} WSEGLRotationAngle; +- +-/* +-// Drawable information required by OpenGL-ES driver +-*/ +-typedef struct WSEGLDrawableParams_TAG +-{ +- /* Width in pixels of the drawable */ +- unsigned long ui32Width; +- +- /* Height in pixels of the drawable */ +- unsigned long ui32Height; +- +- /* Stride in pixels of the drawable */ +- unsigned long ui32Stride; +- +- /* Pixel format of the drawable */ +- WSEGLPixelFormat ePixelFormat; +- +- /* User space cpu virtual address of the drawable */ +- void *pvLinearAddress; +- +- /* HW address of the drawable */ +- unsigned long ui32HWAddress; +- +- /* Private data for the drawable */ +- void *hPrivateData; +- +-} WSEGLDrawableParams; +- +- +-/* +-// Table of function pointers that is returned by WSEGL_GetFunctionTablePointer() +-// +-// The first entry in the table is the version number of the wsegl.h header file that +-// the module has been written against, and should therefore be set to WSEGL_VERSION +-*/ +-typedef struct WSEGL_FunctionTable_TAG +-{ +- unsigned long ui32WSEGLVersion; +- +- WSEGLError (*pfnWSEGL_IsDisplayValid)(NativeDisplayType); +- +- WSEGLError (*pfnWSEGL_InitialiseDisplay)(NativeDisplayType, WSEGLDisplayHandle *, const WSEGLCaps **, WSEGLConfig **); +- +- WSEGLError (*pfnWSEGL_CloseDisplay)(WSEGLDisplayHandle); +- +- WSEGLError (*pfnWSEGL_CreateWindowDrawable)(WSEGLDisplayHandle, WSEGLConfig *, WSEGLDrawableHandle *, NativeWindowType, WSEGLRotationAngle *); +- +- WSEGLError (*pfnWSEGL_CreatePixmapDrawable)(WSEGLDisplayHandle, WSEGLConfig *, WSEGLDrawableHandle *, NativePixmapType, WSEGLRotationAngle *); +- +- WSEGLError (*pfnWSEGL_DeleteDrawable)(WSEGLDrawableHandle); +- +- WSEGLError (*pfnWSEGL_SwapDrawable)(WSEGLDrawableHandle, unsigned long); +- +- WSEGLError (*pfnWSEGL_SwapControlInterval)(WSEGLDrawableHandle, unsigned long); +- +- WSEGLError (*pfnWSEGL_WaitNative)(WSEGLDrawableHandle, unsigned long); +- +- WSEGLError (*pfnWSEGL_CopyFromDrawable)(WSEGLDrawableHandle, NativePixmapType); +- +- WSEGLError (*pfnWSEGL_CopyFromPBuffer)(void *, unsigned long, unsigned long, unsigned long, WSEGLPixelFormat, NativePixmapType); +- +- WSEGLError (*pfnWSEGL_GetDrawableParameters)(WSEGLDrawableHandle, WSEGLDrawableParams *, WSEGLDrawableParams *); +- +- +-} WSEGL_FunctionTable; +- +- +-WSEGL_IMPORT const WSEGL_FunctionTable *WSEGL_GetFunctionTablePointer(void); +- +-#ifdef __cplusplus +-} +-#endif +- +-#endif /* __WSEGL_H__ */ +- +-/****************************************************************************** +- End of file (wsegl.h) +-******************************************************************************/ +Index: qt-4.8.5/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c +=================================================================== +--- qt-4.8.5.orig/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c 2013-07-08 11:24:33.010516867 -0500 ++++ qt-4.8.5/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c 2013-07-08 11:28:26.142521123 -0500 +@@ -39,7 +39,7 @@ + ** + ****************************************************************************/ + +-#include ++#include + #include + #include + #include +@@ -379,6 +379,20 @@ + return WSEGL_SUCCESS; + } + ++/* Function stub for ConnectDrawable() */ ++static WSEGLError wseglConnectDrawable(WSEGLDrawableHandle hDrawable) ++{ ++ WSEGL_UNREFERENCED_PARAMETER(hDrawable); ++ return WSEGL_SUCCESS; ++} ++ ++/* Function stub for DisconnectDrawable() */ ++static WSEGLError wseglDisconnectDrawable(WSEGLDrawableHandle hDrawable) ++{ ++ WSEGL_UNREFERENCED_PARAMETER(hDrawable); ++ return WSEGL_SUCCESS; ++} ++ + static WSEGL_FunctionTable const wseglFunctions = { + WSEGL_VERSION, + wseglIsDisplayValid, +@@ -392,7 +406,9 @@ + wseglWaitNative, + wseglCopyFromDrawable, + wseglCopyFromPBuffer, +- wseglGetDrawableParameters ++ wseglGetDrawableParameters, ++ wseglConnectDrawable, ++ wseglDisconnectDrawable + }; + + /* Return the table of WSEGL functions to the EGL implementation */ diff --git a/package/qt/0003-fix-const-atomics.patch b/package/qt/0003-fix-const-atomics.patch new file mode 100644 index 0000000000..64853565e8 --- /dev/null +++ b/package/qt/0003-fix-const-atomics.patch @@ -0,0 +1,50 @@ +From d4d07dac01796b2aa0fb501c14865cab7e42b3a9 Mon Sep 17 00:00:00 2001 +From: Mischa Jonker +Date: Sun, 4 Nov 2012 11:42:04 +0100 +Subject: [PATCH] Fix const-related build error in generic atomic ops + +It's still not entirely const-correct though. In all other architectures +this is obfuscated through the use of inline asm (which the compiler +doesn't check). This patch obfuscates through const_cast +--- + src/corelib/arch/generic/qatomic_generic_unix.cpp | 8 ++++---- + src/corelib/arch/qatomic_generic.h | 2 +- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/corelib/arch/generic/qatomic_generic_unix.cpp b/src/corelib/arch/generic/qatomic_generic_unix.cpp +index 1c6cbf0..6fce81d 100644 +--- a/src/corelib/arch/generic/qatomic_generic_unix.cpp ++++ b/src/corelib/arch/generic/qatomic_generic_unix.cpp +@@ -85,13 +85,13 @@ int QBasicAtomicInt_fetchAndAddOrdered(volatile int *_q_value, int valueToAdd) + + Q_CORE_EXPORT + bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *_q_value, +- void *expectedValue, +- void *newValue) ++ const void *expectedValue, ++ const void *newValue) + { + bool returnValue = false; + pthread_mutex_lock(&qAtomicMutex); + if (*_q_value == expectedValue) { +- *_q_value = newValue; ++ *_q_value = const_cast(newValue); + returnValue = true; + } + pthread_mutex_unlock(&qAtomicMutex); +diff --git a/src/corelib/arch/qatomic_generic.h b/src/corelib/arch/qatomic_generic.h +index 621a767..4c14679 100644 +--- a/src/corelib/arch/qatomic_generic.h ++++ b/src/corelib/arch/qatomic_generic.h +@@ -105,7 +105,7 @@ Q_CORE_EXPORT bool QBasicAtomicInt_testAndSetOrdered(volatile int *, int, int); + Q_CORE_EXPORT int QBasicAtomicInt_fetchAndStoreOrdered(volatile int *, int); + Q_CORE_EXPORT int QBasicAtomicInt_fetchAndAddOrdered(volatile int *, int); + +-Q_CORE_EXPORT bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *, void *, void *); ++Q_CORE_EXPORT bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *, const void *, const void *); + Q_CORE_EXPORT void *QBasicAtomicPointer_fetchAndStoreOrdered(void * volatile *, void *); + Q_CORE_EXPORT void *QBasicAtomicPointer_fetchAndAddOrdered(void * volatile *, qptrdiff); + +-- +1.7.0.4 + diff --git a/package/qt/0004-pthread_getattr_np.patch b/package/qt/0004-pthread_getattr_np.patch new file mode 100644 index 0000000000..28f0c8411b --- /dev/null +++ b/package/qt/0004-pthread_getattr_np.patch @@ -0,0 +1,107 @@ +Add pthred_getattr_np / phread_attr_getstrack alternatives for uClibc + +Based on https://dev.openwrt.org/log/packages/Xorg/lib/qt4/patches/100-fix-webkit-for-uclibc.patch?rev=20371 + +Signed-off-by: Johan Sagaert +--- + src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp | 61 ++++++++++ + 1 file changed, 61 insertions(+) + +Index: qt-everywhere-opensource-src-4.8.1/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp +=================================================================== +--- qt-everywhere-opensource-src-4.8.1.orig/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp ++++ qt-everywhere-opensource-src-4.8.1/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp +@@ -70,6 +70,23 @@ + #endif + #include + ++#if defined(QT_LINUXBASE) ++#include ++#endif ++ ++#if defined(__UCLIBC__) ++// versions of uClibc 0.9.32 and below with linuxthreads.old do not have ++// pthread_getattr_np or pthread_attr_getstack. ++#if __UCLIBC_MAJOR__ == 0 && \ ++ (__UCLIBC_MINOR__ < 9 || \ ++ (__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ <= 32)) && \ ++ defined(__LINUXTHREADS_OLD__) ++#define UCLIBC_USE_PROC_SELF_MAPS 1 ++#include ++extern int *__libc_stack_end; ++#endif ++#endif ++ + #if OS(SOLARIS) + #include + #else +@@ -648,6 +665,37 @@ + get_thread_info(find_thread(NULL), &threadInfo); + return threadInfo.stack_end; + #elif OS(UNIX) ++#ifdef UCLIBC_USE_PROC_SELF_MAPS ++ // Read /proc/self/maps and locate the line whose address ++ // range contains __libc_stack_end. ++ FILE *file = fopen("/proc/self/maps", "r"); ++ if (!file) ++ return 0; ++ __fsetlocking(file, FSETLOCKING_BYCALLER); ++ char *line = NULL; ++ size_t lineLen = 0; ++ while (!feof_unlocked(file)) { ++ if (getdelim(&line, &lineLen, '\n', file) <= 0) ++ break; ++ ++ long from; ++ long to; ++ if (sscanf (line, "%lx-%lx", &from, &to) != 2) ++ continue; ++ if (from <= (long)__libc_stack_end && (long)__libc_stack_end < to) { ++ fclose(file); ++ free(line); ++#ifdef _STACK_GROWS_UP ++ return (void *)from; ++#else ++ return (void *)to; ++#endif ++ } ++ } ++ fclose(file); ++ free(line); ++ return 0; ++#else + AtomicallyInitializedStatic(Mutex&, mutex = *new Mutex); + MutexLocker locker(mutex); + static void* stackBase = 0; +@@ -655,11 +703,23 @@ + static pthread_t stackThread; + pthread_t thread = pthread_self(); + if (stackBase == 0 || thread != stackThread) { ++ ++#if defined(QT_LINUXBASE) ++ // LinuxBase is missing pthread_getattr_np - resolve it once at runtime instead ++ // see http://bugs.linuxbase.org/show_bug.cgi?id=2364 ++ typedef int (*GetAttrPtr)(pthread_t, pthread_attr_t *); ++ static int (*pthread_getattr_np_ptr)(pthread_t, pthread_attr_t *) = 0; ++ if (!pthread_getattr_np_ptr) ++ *(void **)&pthread_getattr_np_ptr = dlsym(RTLD_DEFAULT, "pthread_getattr_np"); ++#endif + pthread_attr_t sattr; + pthread_attr_init(&sattr); + #if HAVE(PTHREAD_NP_H) || OS(NETBSD) + // e.g. on FreeBSD 5.4, neundorf@kde.org + pthread_attr_get_np(thread, &sattr); ++#elif defined(QT_LINUXBASE) ++ if (pthread_getattr_np_ptr) ++ pthread_getattr_np_ptr(thread, &sattr); + #else + // FIXME: this function is non-portable; other POSIX systems may have different np alternatives + pthread_getattr_np(thread, &sattr); +@@ -671,6 +731,7 @@ + stackThread = thread; + } + return static_cast(stackBase) + stackSize; ++#endif + #else + #error Need a way to get the stack base on this platform + #endif diff --git a/package/qt/0005-script-qtdbus-no-gui.patch b/package/qt/0005-script-qtdbus-no-gui.patch new file mode 100644 index 0000000000..e29e9e4a1b --- /dev/null +++ b/package/qt/0005-script-qtdbus-no-gui.patch @@ -0,0 +1,22 @@ +[PATCH] fix build with script+dbus enabled, but no gui + +The script/qtdbus plugin doesn't need gui support, so don't try to +link it against libQtGui. + +Signed-off-by: Peter Korsgaard +--- + src/plugins/script/qtdbus/qtdbus.pro | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: qt-4.7.3/src/plugins/script/qtdbus/qtdbus.pro +=================================================================== +--- qt-4.7.3.orig/src/plugins/script/qtdbus/qtdbus.pro ++++ qt-4.7.3/src/plugins/script/qtdbus/qtdbus.pro +@@ -1,6 +1,6 @@ + TARGET = qtscriptdbus + include(../../qpluginbase.pri) +-QT = core gui script ++QT = core script + CONFIG += qdbus + + SOURCES += main.cpp diff --git a/package/qt/0006-uClibc-lfs-fix.patch b/package/qt/0006-uClibc-lfs-fix.patch new file mode 100644 index 0000000000..ea04a607ea --- /dev/null +++ b/package/qt/0006-uClibc-lfs-fix.patch @@ -0,0 +1,41 @@ +From 6f88b27de256266947a7f6a3e70e18510754aab2 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Sat, 14 Apr 2012 20:36:07 +0200 +Subject: [PATCH] mkspecs/common/posix: fix !largefile builds on uClibc + +uClibc doesn't even define O_LARGEFILE when not configured with large file +support, so ensure this define is only used when Qt is built with +-largefile, otherwise the build fails with: + +io/qtemporaryfile.cpp: In function 'bool createFileFromTemplate( + NativeFileHandle&, QFileSystemEntry::NativePath&, size_t, size_t, + QSystemError&)': +io/qtemporaryfile.cpp:197:57: error: 'O_LARGEFILE' was not declared in + this scope + +Reported-Upstream: https://bugreports.qt-project.org/browse/QTBUG-25321 +Signed-off-by: Peter Korsgaard +--- + mkspecs/common/posix/qplatformdefs.h | 5 +++++ + 1 files changed, 5 insertions(+), 0 deletions(-) + +diff --git a/mkspecs/common/posix/qplatformdefs.h b/mkspecs/common/posix/qplatformdefs.h +index daecc00..8a796cf 100644 +--- a/mkspecs/common/posix/qplatformdefs.h ++++ b/mkspecs/common/posix/qplatformdefs.h +@@ -123,7 +123,12 @@ + #define QT_READ ::read + #define QT_WRITE ::write + ++#ifdef QT_LARGEFILE_SUPPORT + #define QT_OPEN_LARGEFILE O_LARGEFILE ++#else ++#define QT_OPEN_LARGEFILE 0 ++#endif ++ + #define QT_OPEN_RDONLY O_RDONLY + #define QT_OPEN_WRONLY O_WRONLY + #define QT_OPEN_RDWR O_RDWR +-- +1.7.8.3 + diff --git a/package/qt/qt-configure.patch b/package/qt/qt-configure.patch deleted file mode 100644 index 07c9630c90..0000000000 --- a/package/qt/qt-configure.patch +++ /dev/null @@ -1,52 +0,0 @@ -Fix -hostprefix behaviour - -When -hostprefix ./configure option is used, Qt installs all its -headers, libraries and binaries inside the given host prefix, instead -of the prefix. This is used by Buildroot to make sure that all Qt -libraries and headers are installed in $(STAGING_DIR). - -Qt ./configure script also allows to tune the installation location of -various elements, for examples the plugins through the -plugindir -option. Unfortunately, this option only impact the installation path -on the target, but not on the host when -hostprefix is used. - -This patch modifies Qt ./configure script so that HOST_*PATH_STR -variables are composed of the host prefix concatenated with the path -of installation on the target. This way, the plugin installation local -in the $(STAGING_DIR) and on the target remains the same. - -Signed-off-by: Thomas Petazzoni - ---- - configure | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -Index: qt-everywhere-opensource-src-4.8.1/configure -=================================================================== ---- qt-everywhere-opensource-src-4.8.1.orig/configure -+++ qt-everywhere-opensource-src-4.8.1/configure -@@ -4661,15 +4661,15 @@ - - - if [ ! -z "$QT_HOST_PREFIX" ]; then -- HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX"` -- HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/doc"` -- HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/include"` -- HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/lib"` -- HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/bin"` -- HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/plugins"` -- HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/IMPORTS"` -- HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX"` -- HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/translations"` -+ HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX/$QT_INSTALL_PREFIX"` -+ HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/$QT_INSTALL_DOCS"` -+ HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/$QT_INSTALL_HEADERS"` -+ HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/$QT_INSTALL_LIBS"` -+ HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/$QT_INSTALL_BINS"` -+ HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/$QT_INSTALL_PLUGINS"` -+ HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/$QT_INSTALL_IMPORTS"` -+ HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX/$QT_INSTALL_DATA"` -+ HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/$QT_INSTALL_TRANSLATIONS"` - HOSTSETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"` - HOSTEXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"` - HOSTDEMOS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_demopath=$QT_INSTALL_DEMOS"` diff --git a/package/qt/qt-eglwsegl-use-system.patch b/package/qt/qt-eglwsegl-use-system.patch deleted file mode 100644 index cb3038138f..0000000000 --- a/package/qt/qt-eglwsegl-use-system.patch +++ /dev/null @@ -1,802 +0,0 @@ -Patch to remove obsolete powervr headers and instead use the headers provided -on the system. - -Signed-off-by: Spenser Gilliland ---- -Index: qt-4.8.5/src/3rdparty/powervr/pvr2d.h -=================================================================== ---- qt-4.8.5.orig/src/3rdparty/powervr/pvr2d.h 2013-07-08 11:24:33.010516867 -0500 -+++ /dev/null 1970-01-01 00:00:00.000000000 +0000 -@@ -1,502 +0,0 @@ --/*!**************************************************************************** --@File pvr2d.h --@Title PVR2D external header file --@Author Imagination Technologies --@Copyright Copyright (c) by Imagination Technologies Limited. -- This specification is protected by copyright laws and contains -- material proprietary to Imagination Technologies Limited. -- You may use and distribute this specification free of charge for implementing -- the functionality therein, without altering or removing any trademark, copyright, -- or other notice from the specification. --@Platform Generic --@Description PVR2D definitions for PVR2D clients --******************************************************************************/ -- -- --/****************************************************************************** --Modifications :- --$Log: pvr2d.h $ --******************************************************************************/ -- --#ifndef _PVR2D_H_ --#define _PVR2D_H_ -- --#ifdef __cplusplus --extern "C" { --#endif -- --/* PVR2D Platform-specific definitions */ --#define PVR2D_EXPORT --#define PVR2D_IMPORT -- -- --#define PVR2D_REV_MAJOR 2 --#define PVR2D_REV_MINOR 1 -- --typedef enum --{ -- PVR2D_FALSE = 0, -- PVR2D_TRUE --} PVR2D_BOOL; -- -- --/* error codes */ --typedef enum --{ -- PVR2D_OK = 0, -- PVR2DERROR_INVALID_PARAMETER = -1, -- PVR2DERROR_DEVICE_UNAVAILABLE = -2, -- PVR2DERROR_INVALID_CONTEXT = -3, -- PVR2DERROR_MEMORY_UNAVAILABLE = -4, -- PVR2DERROR_DEVICE_NOT_PRESENT = -5, -- PVR2DERROR_IOCTL_ERROR = -6, -- PVR2DERROR_GENERIC_ERROR = -7, -- PVR2DERROR_BLT_NOTCOMPLETE = -8, -- PVR2DERROR_HW_FEATURE_NOT_SUPPORTED = -9, -- PVR2DERROR_NOT_YET_IMPLEMENTED = -10, -- PVR2DERROR_MAPPING_FAILED = -11 --}PVR2DERROR; -- -- --/* pixel formats */ --typedef enum --{ -- PVR2D_1BPP = 0, -- PVR2D_RGB565, -- PVR2D_ARGB4444, -- PVR2D_RGB888, -- PVR2D_ARGB8888, -- PVR2D_ARGB1555, -- PVR2D_ALPHA8, -- PVR2D_ALPHA4, -- PVR2D_PAL2, -- PVR2D_PAL4, -- PVR2D_PAL8, -- PVR2D_VGAEMU -- --}PVR2DFORMAT; -- -- --/* wrap surface type */ --typedef enum --{ -- PVR2D_WRAPFLAG_NONCONTIGUOUS = 0, -- PVR2D_WRAPFLAG_CONTIGUOUS = 1, -- --}PVR2DWRAPFLAGS; -- --/* flags for control information of additional blits */ --typedef enum --{ -- PVR2D_BLIT_DISABLE_ALL = 0x0000, /* disable all additional controls */ -- PVR2D_BLIT_CK_ENABLE = 0x0001, /* enable colour key */ -- PVR2D_BLIT_GLOBAL_ALPHA_ENABLE = 0x0002, /* enable standard global alpha */ -- PVR2D_BLIT_PERPIXEL_ALPHABLEND_ENABLE = 0x0004, /* enable per-pixel alpha bleding */ -- PVR2D_BLIT_PAT_SURFACE_ENABLE = 0x0008, /* enable pattern surf (disable fill) */ -- PVR2D_BLIT_FULLY_SPECIFIED_ALPHA_ENABLE = 0x0010, /* enable fully specified alpha */ -- PVR2D_BLIT_ROT_90 = 0x0020, /* apply 90 degree rotation to the blt */ -- PVR2D_BLIT_ROT_180 = 0x0040, /* apply 180 degree rotation to the blt */ -- PVR2D_BLIT_ROT_270 = 0x0080, /* apply 270 degree rotation to the blt */ -- PVR2D_BLIT_COPYORDER_TL2BR = 0x0100, /* copy order overrides */ -- PVR2D_BLIT_COPYORDER_BR2TL = 0x0200, -- PVR2D_BLIT_COPYORDER_TR2BL = 0x0400, -- PVR2D_BLIT_COPYORDER_BL2TR = 0x0800, -- PVR2D_BLIT_COLKEY_SOURCE = 0x1000, /* Key colour is on the source surface */ -- PVR2D_BLIT_COLKEY_DEST = 0x2000 /* Key colour is on the destination surface */ -- --} PVR2DBLITFLAGS; -- --/* standard alpha-blending functions, AlphaBlendingFunc field of PVR2DBLTINFO */ --typedef enum --{ -- PVR2D_ALPHA_OP_SRC_DSTINV = 1, /* source alpha : Cdst = Csrc*Asrc + Cdst*(1-Asrc) */ -- PVR2D_ALPHA_OP_SRCP_DSTINV = 2 /* premultiplied source alpha : Cdst = Csrc + Cdst*(1-Asrc) */ --} PVR2D_ALPHABLENDFUNC; -- --/* blend ops for fully specified alpha */ --typedef enum --{ -- PVR2D_BLEND_OP_ZERO = 0, -- PVR2D_BLEND_OP_ONE = 1, -- PVR2D_BLEND_OP_SRC = 2, -- PVR2D_BLEND_OP_DST = 3, -- PVR2D_BLEND_OP_GLOBAL = 4, -- PVR2D_BLEND_OP_SRC_PLUS_GLOBAL = 5, -- PVR2D_BLEND_OP_DST_PLUS_GLOBAL = 6 --}PVR2D_BLEND_OP; -- -- --typedef void* PVR2D_HANDLE; -- -- --/* Fully specified alpha blend : pAlpha field of PVR2DBLTINFO structure */ --/* a fully specified Alpha Blend operation is defined as */ --/* DST (ALPHA) = (ALPHA_1 * SRC (ALPHA)) + (ALPHA_3 * DST (ALPHA)) */ --/* DST (RGB) = (ALPHA_2 * SRC (RGB)) + (ALPHA_4 * DST (RGB)) */ --/* if the pre-multiplication stage is enabled then the equations become the following: */ --/* PRE_MUL = ((SRC(A)) * (Global Alpha Value)) */ --/* DST (ALPHA) = (ALPHA_1 * SRC (ALPHA)) + (PRE_MUL * DST (ALPHA)) */ --/* DST (RGB) = (ALPHA_2 * SRC (RGB)) + (PRE_MUL * DST (RGB)) */ --/* if the transparent source alpha stage is enabled then a source alpha of zero forces the */ --/* source to be transparent for that pixel regardless of the blend equation being used. */ --typedef struct _PVR2D_ALPHABLT --{ -- PVR2D_BLEND_OP eAlpha1; -- PVR2D_BOOL bAlpha1Invert; -- PVR2D_BLEND_OP eAlpha2; -- PVR2D_BOOL bAlpha2Invert; -- PVR2D_BLEND_OP eAlpha3; -- PVR2D_BOOL bAlpha3Invert; -- PVR2D_BLEND_OP eAlpha4; -- PVR2D_BOOL bAlpha4Invert; -- PVR2D_BOOL bPremulAlpha; /* enable pre-multiplication stage */ -- PVR2D_BOOL bTransAlpha; /* enable transparent source alpha stage */ -- PVR2D_BOOL bUpdateAlphaLookup; /* enable and update the 1555-Lookup alpha table */ -- unsigned char uAlphaLookup0; /* 8 bit alpha when A=0 in a 1555-Lookup surface */ -- unsigned char uAlphaLookup1; /* 8 bit alpha when A=1 in a 1555-Lookup surface */ -- unsigned char uGlobalRGB; /* Global Alpha Value for RGB, 0=transparent 255=opaque */ -- unsigned char uGlobalA; /* Global Alpha Value for Alpha */ -- --} PVR2D_ALPHABLT, *PPVR2D_ALPHABLT; -- -- --/* surface memory info structure */ --typedef struct _PVR2DMEMINFO --{ -- void *pBase; -- unsigned long ui32MemSize; -- unsigned long ui32DevAddr; -- unsigned long ulFlags; -- void *hPrivateData; -- void *hPrivateMapData; -- --}PVR2DMEMINFO, *PPVR2DMEMINFO; -- -- --#define PVR2D_MAX_DEVICE_NAME 20 -- --typedef struct _PVR2DDEVICEINFO --{ -- unsigned long ulDevID; -- char szDeviceName[PVR2D_MAX_DEVICE_NAME]; --}PVR2DDEVICEINFO; -- -- --typedef struct _PVR2DISPLAYINFO --{ -- unsigned long ulMaxFlipChains; -- unsigned long ulMaxBuffersInChain; -- PVR2DFORMAT eFormat; -- unsigned long ulWidth; -- unsigned long ulHeight; -- long lStride; -- unsigned long ulMinFlipInterval; -- unsigned long ulMaxFlipInterval; -- --}PVR2DDISPLAYINFO; -- -- --typedef struct _PVR2DBLTINFO --{ -- unsigned long CopyCode; /* rop code */ -- unsigned long Colour; /* fill colour */ -- unsigned long ColourKey; /* colour key */ -- unsigned char GlobalAlphaValue; /* global alpha blending */ -- unsigned char AlphaBlendingFunc; /* per-pixel alpha-blending function */ -- -- PVR2DBLITFLAGS BlitFlags; /* additional blit control information */ -- -- PVR2DMEMINFO *pDstMemInfo; /* destination memory */ -- unsigned long DstOffset; /* byte offset from start of allocation to destination surface pixel 0,0 */ -- long DstStride; /* signed stride, the number of bytes from pixel 0,0 to 0,1 */ -- long DstX, DstY; /* pixel offset from start of dest surface to start of blt rectangle */ -- long DSizeX,DSizeY; /* blt size */ -- PVR2DFORMAT DstFormat; /* dest format */ -- unsigned long DstSurfWidth; /* size of dest surface in pixels */ -- unsigned long DstSurfHeight; /* size of dest surface in pixels */ -- -- PVR2DMEMINFO *pSrcMemInfo; /* source mem, (source fields are also used for patterns) */ -- unsigned long SrcOffset; /* byte offset from start of allocation to src/pat surface pixel 0,0 */ -- long SrcStride; /* signed stride, the number of bytes from pixel 0,0 to 0,1 */ -- long SrcX, SrcY; /* pixel offset from start of surface to start of source rectangle */ -- /* for patterns this is the start offset within the pattern */ -- long SizeX,SizeY; /* source rectangle size or pattern size in pixels */ -- PVR2DFORMAT SrcFormat; /* source/pattern format */ -- PVR2DMEMINFO *pPalMemInfo; /* source/pattern palette memory containing argb8888 colour table */ -- unsigned long PalOffset; /* byte offset from start of allocation to start of palette */ -- unsigned long SrcSurfWidth; /* size of source surface in pixels */ -- unsigned long SrcSurfHeight; /* size of source surface in pixels */ -- -- PVR2DMEMINFO *pMaskMemInfo; /* mask memory, 1bpp format implied */ -- unsigned long MaskOffset; /* byte offset from start of allocation to mask surface pixel 0,0 */ -- long MaskStride; /* signed stride, the number of bytes from pixel 0,0 to 0,1 */ -- long MaskX, MaskY; /* mask rect top left (mask size = blt size) */ -- unsigned long MaskSurfWidth; /* size of mask surface in pixels */ -- unsigned long MaskSurfHeight; /* size of mask surface in pixels */ -- -- PPVR2D_ALPHABLT pAlpha; /* fully specified alpha blend */ -- --}PVR2DBLTINFO, *PPVR2DBLTINFO; -- --typedef struct _PVR2DRECT --{ -- long left, top; -- long right, bottom; --} PVR2DRECT; -- --typedef struct --{ -- PVR2DMEMINFO *pSurfMemInfo; /* surface memory */ -- unsigned long SurfOffset; /* byte offset from start of allocation to destination surface pixel 0,0 */ -- long Stride; /* signed stride */ -- PVR2DFORMAT Format; -- unsigned long SurfWidth; /* surface size in pixels */ -- unsigned long SurfHeight; -- --} PVR2D_SURFACE, *PPVR2D_SURFACE; -- --typedef struct --{ -- unsigned long *pUseCode; /* USSE code */ -- unsigned long UseCodeSize; /* usse code size in bytes */ -- --} PVR2D_USECODE, *PPVR2D_USECODE; -- --typedef struct --{ -- PVR2D_SURFACE sDst; /* destination surface */ -- PVR2D_SURFACE sSrc; /* source surface */ -- PVR2DRECT rcDest; /* destination rectangle */ -- PVR2DRECT rcSource; /* source rectangle */ -- PVR2D_HANDLE hUseCode; /* custom USE code (NULL implies source copy) */ -- unsigned long UseParams[2]; /* per-blt params for use code */ -- --} PVR2D_3DBLT, *PPVR2D_3DBLT; -- -- --#define MAKE_COPY_BLIT(src,soff,dest,doff,sx,sy,dx,dy,sz) -- --typedef void* PVR2DCONTEXTHANDLE; --typedef void* PVR2DFLIPCHAINHANDLE; -- -- --// CopyCode field of PVR2DBLTINFO structure: --// the CopyCode field of the PVR2DBLTINFO structure should contain a rop3 or rop4 code. --// a rop3 is an 8 bit code that describes a blt with three inputs : source dest and pattern --// rop4 is a 16 bit code that describes a blt with four inputs : source dest pattern and mask --// common rop3 codes are defined below --// a colour fill blt is processed in the pattern channel as a constant colour with a rop code of 0xF0 --// PVR2D_BLIT_PAT_SURFACE_ENABLE defines whether the pattern channel is a surface or a fill colour. --// a rop4 is defined by two rop3 codes, and the 1 bit-per-pixel mask surface defines which is used. --// a common rop4 is 0xAAF0 which is the mask copy blt used for text glyphs. --// CopyCode is taken to be a rop4 when pMaskMemInfo is non zero, otherwise it is assumed to be a rop3 --// use the PVR2DMASKROP4 macro below to construct a rop4 from two rop3's --// rop3a is the rop used when mask pixel = 1, and rop3b when mask = 0 --#define PVR2DROP4(rop3b, rop3a) ((rop3b<<8)|rop3a) -- --/* common rop codes */ --#define PVR2DROPclear 0x00 /* 0 (whiteness) */ --#define PVR2DROPset 0xFF /* 1 (blackness) */ --#define PVR2DROPnoop 0xAA /* dst (used for masked blts) */ -- --/* source and dest rop codes */ --#define PVR2DROPand 0x88 /* src AND dst */ --#define PVR2DROPandReverse 0x44 /* src AND NOT dst */ --#define PVR2DROPcopy 0xCC /* src (used for source copy and alpha blts) */ --#define PVR2DROPandInverted 0x22 /* NOT src AND dst */ --#define PVR2DROPxor 0x66 /* src XOR dst */ --#define PVR2DROPor 0xEE /* src OR dst */ --#define PVR2DROPnor 0x11 /* NOT src AND NOT dst */ --#define PVR2DROPequiv 0x99 /* NOT src XOR dst */ --#define PVR2DROPinvert 0x55 /* NOT dst */ --#define PVR2DROPorReverse 0xDD /* src OR NOT dst */ --#define PVR2DROPcopyInverted 0x33 /* NOT src */ --#define PVR2DROPorInverted 0xBB /* NOT src OR dst */ --#define PVR2DROPnand 0x77 /* NOT src OR NOT dst */ -- --/* pattern rop codes */ --#define PVR2DPATROPand 0xA0 /* pat AND dst */ --#define PVR2DPATROPandReverse 0x50 /* pat AND NOT dst */ --#define PVR2DPATROPcopy 0xF0 /* pat (used for solid color fills and pattern blts) */ --#define PVR2DPATROPandInverted 0x0A /* NOT pat AND dst */ --#define PVR2DPATROPxor 0x5A /* pat XOR dst */ --#define PVR2DPATROPor 0xFA /* pat OR dst */ --#define PVR2DPATROPnor 0x05 /* NOT pat AND NOT dst */ --#define PVR2DPATROPequiv 0xA5 /* NOT pat XOR dst */ --#define PVR2DPATROPinvert 0x55 /* NOT dst */ --#define PVR2DPATROPorReverse 0xF5 /* pat OR NOT dst */ --#define PVR2DPATROPcopyInverted 0x0F /* NOT pat */ --#define PVR2DPATROPorInverted 0xAF /* NOT pat OR dst */ --#define PVR2DPATROPnand 0x5F /* NOT pat OR NOT dst */ -- --/* common rop4 codes */ --#define PVR2DROP4MaskedCopy PVR2DROP4(PVR2DROPnoop,PVR2DROPcopy) /* masked source copy blt (used for rounded window corners etc) */ --#define PVR2DROP4MaskedFill PVR2DROP4(PVR2DROPnoop,PVR2DPATROPcopy) /* masked colour fill blt (used for text) */ -- --/* Legacy support */ --#define PVR2DROP3_PATMASK PVR2DPATROPcopy --#define PVR2DROP3_SRCMASK PVR2DROPcopy -- --/* pixmap memory alignment */ --#define PVR2D_ALIGNMENT_4 4 /* DWORD alignment */ --#define PVR2D_ALIGNMENT_ANY 0 /* no alignment */ --#define PVR2D_ALIGNMENT_PALETTE 16 /* 16 byte alignment is required for palettes */ -- --/* Heap number for PVR2DGetFrameBuffer */ --#define PVR2D_FB_PRIMARY_SURFACE 0 -- --#define PVR2D_PRESENT_PROPERTY_SRCSTRIDE (1 << 0) --#define PVR2D_PRESENT_PROPERTY_DSTSIZE (1 << 1) --#define PVR2D_PRESENT_PROPERTY_DSTPOS (1 << 2) --#define PVR2D_PRESENT_PROPERTY_CLIPRECTS (1 << 3) --#define PVR2D_PRESENT_PROPERTY_INTERVAL (1 << 4) -- -- --#define PVR2D_CREATE_FLIPCHAIN_SHARED (1 << 0) --#define PVR2D_CREATE_FLIPCHAIN_QUERY (1 << 1) -- --/* Functions that the library exports */ -- --PVR2D_IMPORT --int PVR2DEnumerateDevices(PVR2DDEVICEINFO *pDevInfo); -- --PVR2D_IMPORT --PVR2DERROR PVR2DCreateDeviceContext(unsigned long ulDevID, -- PVR2DCONTEXTHANDLE* phContext, -- unsigned long ulFlags); -- --PVR2D_IMPORT --PVR2DERROR PVR2DDestroyDeviceContext(PVR2DCONTEXTHANDLE hContext); -- --PVR2D_IMPORT --PVR2DERROR PVR2DGetDeviceInfo(PVR2DCONTEXTHANDLE hContext, -- PVR2DDISPLAYINFO *pDisplayInfo); -- --PVR2D_IMPORT --PVR2DERROR PVR2DGetScreenMode(PVR2DCONTEXTHANDLE hContext, -- PVR2DFORMAT *pFormat, -- long *plWidth, -- long *plHeight, -- long *plStride, -- int *piRefreshRate); -- --PVR2D_IMPORT --PVR2DERROR PVR2DGetFrameBuffer(PVR2DCONTEXTHANDLE hContext, -- int nHeap, -- PVR2DMEMINFO **ppsMemInfo); -- --PVR2D_IMPORT --PVR2DERROR PVR2DMemAlloc(PVR2DCONTEXTHANDLE hContext, -- unsigned long ulBytes, -- unsigned long ulAlign, -- unsigned long ulFlags, -- PVR2DMEMINFO **ppsMemInfo); -- --PVR2D_IMPORT --PVR2DERROR PVR2DMemWrap(PVR2DCONTEXTHANDLE hContext, -- void *pMem, -- unsigned long ulFlags, -- unsigned long ulBytes, -- unsigned long alPageAddress[], -- PVR2DMEMINFO **ppsMemInfo); -- --PVR2D_IMPORT --PVR2DERROR PVR2DMemMap(PVR2DCONTEXTHANDLE hContext, -- unsigned long ulFlags, -- void *hPrivateMapData, -- PVR2DMEMINFO **ppsDstMem); -- --PVR2D_IMPORT --PVR2DERROR PVR2DMemFree(PVR2DCONTEXTHANDLE hContext, -- PVR2DMEMINFO *psMemInfo); -- --PVR2D_IMPORT --PVR2DERROR PVR2DBlt(PVR2DCONTEXTHANDLE hContext, -- PVR2DBLTINFO *pBltInfo); -- --PVR2D_IMPORT --PVR2DERROR PVR2DBltClipped(PVR2DCONTEXTHANDLE hContext, -- PVR2DBLTINFO *pBltInfo, -- unsigned long ulNumClipRects, -- PVR2DRECT *pClipRects); -- --PVR2D_IMPORT --PVR2DERROR PVR2DQueryBlitsComplete(PVR2DCONTEXTHANDLE hContext, -- PVR2DMEMINFO *pMemInfo, -- unsigned int uiWaitForComplete); -- --PVR2D_IMPORT --PVR2DERROR PVR2DSetPresentBltProperties(PVR2DCONTEXTHANDLE hContext, -- unsigned long ulPropertyMask, -- long lSrcStride, -- unsigned long ulDstWidth, -- unsigned long ulDstHeight, -- long lDstXPos, -- long lDstYPos, -- unsigned long ulNumClipRects, -- PVR2DRECT *pClipRects, -- unsigned long ulSwapInterval); -- --PVR2D_IMPORT --PVR2DERROR PVR2DPresentBlt(PVR2DCONTEXTHANDLE hContext, -- PVR2DMEMINFO *pMemInfo, -- long lRenderID); -- --PVR2D_IMPORT --PVR2DERROR PVR2DCreateFlipChain(PVR2DCONTEXTHANDLE hContext, -- unsigned long ulFlags, -- unsigned long ulNumBuffers, -- unsigned long ulWidth, -- unsigned long ulHeight, -- PVR2DFORMAT eFormat, -- long *plStride, -- unsigned long *pulFlipChainID, -- PVR2DFLIPCHAINHANDLE *phFlipChain); -- --PVR2D_IMPORT --PVR2DERROR PVR2DDestroyFlipChain(PVR2DCONTEXTHANDLE hContext, -- PVR2DFLIPCHAINHANDLE hFlipChain); -- --PVR2D_IMPORT --PVR2DERROR PVR2DGetFlipChainBuffers(PVR2DCONTEXTHANDLE hContext, -- PVR2DFLIPCHAINHANDLE hFlipChain, -- unsigned long *pulNumBuffers, -- PVR2DMEMINFO *psMemInfo[]); -- --PVR2D_IMPORT --PVR2DERROR PVR2DSetPresentFlipProperties(PVR2DCONTEXTHANDLE hContext, -- PVR2DFLIPCHAINHANDLE hFlipChain, -- unsigned long ulPropertyMask, -- long lDstXPos, -- long lDstYPos, -- unsigned long ulNumClipRects, -- PVR2DRECT *pClipRects, -- unsigned long ulSwapInterval); -- --PVR2D_IMPORT --PVR2DERROR PVR2DPresentFlip(PVR2DCONTEXTHANDLE hContext, -- PVR2DFLIPCHAINHANDLE hFlipChain, -- PVR2DMEMINFO *psMemInfo, -- long lRenderID); -- --PVR2D_IMPORT --PVR2DERROR PVR2DGetAPIRev(long *lRevMajor, long *lRevMinor); -- --PVR2D_IMPORT --PVR2DERROR PVR2DLoadUseCode (const PVR2DCONTEXTHANDLE hContext, const unsigned char *pUseCode, -- const unsigned long UseCodeSize, PVR2D_HANDLE *pUseCodeHandle); --PVR2D_IMPORT --PVR2DERROR PVR2DFreeUseCode (const PVR2DCONTEXTHANDLE hContext, const PVR2D_HANDLE hUseCodeHandle); -- --PVR2D_IMPORT --PVR2DERROR PVR2DBlt3D (const PVR2DCONTEXTHANDLE hContext, const PPVR2D_3DBLT pBlt3D); -- --#ifdef __cplusplus --} --#endif -- --#endif /* _PVR2D_H_ */ -- --/****************************************************************************** -- End of file (pvr2d.h) --******************************************************************************/ -Index: qt-4.8.5/src/3rdparty/powervr/wsegl.h -=================================================================== ---- qt-4.8.5.orig/src/3rdparty/powervr/wsegl.h 2013-07-08 11:24:33.010516867 -0500 -+++ /dev/null 1970-01-01 00:00:00.000000000 +0000 -@@ -1,240 +0,0 @@ --/****************************************************************************** -- Name : wsegl.h -- Copyright : Copyright (c) Imagination Technologies Limited. -- This specification is protected by copyright laws and contains -- material proprietary to Imagination Technologies Limited. -- You may use and distribute this specification free of charge for implementing -- the functionality therein, without altering or removing any trademark, copyright, -- or other notice from the specification. -- Platform : ANSI --*****************************************************************************/ -- -- --#if !defined(__WSEGL_H__) --#define __WSEGL_H__ -- --#ifdef __cplusplus --extern "C" { --#endif -- --/* --// WSEGL Platform-specific definitions --*/ --#define WSEGL_EXPORT --#define WSEGL_IMPORT -- --/* --// WSEGL API Version Number --*/ -- --#define WSEGL_VERSION 1 --#define WSEGL_DEFAULT_DISPLAY 0 --#define WSEGL_DEFAULT_NATIVE_ENGINE 0 -- --#define WSEGL_FALSE 0 --#define WSEGL_TRUE 1 --#define WSEGL_NULL 0 -- --#define WSEGL_UNREFERENCED_PARAMETER(param) (param) = (param) -- --/* --// WSEGL handles --*/ --typedef void *WSEGLDisplayHandle; --typedef void *WSEGLDrawableHandle; -- --/* --// Display capability type --*/ --typedef enum WSEGLCapsType_TAG --{ -- WSEGL_NO_CAPS = 0, -- WSEGL_CAP_MIN_SWAP_INTERVAL = 1, /* System default value = 1 */ -- WSEGL_CAP_MAX_SWAP_INTERVAL = 2, /* System default value = 1 */ -- WSEGL_CAP_WINDOWS_USE_HW_SYNC = 3, /* System default value = 0 (FALSE) */ -- WSEGL_CAP_PIXMAPS_USE_HW_SYNC = 4, /* System default value = 0 (FALSE) */ -- --} WSEGLCapsType; -- --/* --// Display capability --*/ --typedef struct WSEGLCaps_TAG --{ -- WSEGLCapsType eCapsType; -- unsigned long ui32CapsValue; -- --} WSEGLCaps; -- --/* --// Drawable type --*/ --#define WSEGL_NO_DRAWABLE 0x0 --#define WSEGL_DRAWABLE_WINDOW 0x1 --#define WSEGL_DRAWABLE_PIXMAP 0x2 -- -- --/* --// Pixel format of display/drawable --*/ --typedef enum WSEGLPixelFormat_TAG --{ -- WSEGL_PIXELFORMAT_565 = 0, -- WSEGL_PIXELFORMAT_4444 = 1, -- WSEGL_PIXELFORMAT_8888 = 2, -- WSEGL_PIXELFORMAT_1555 = 3 -- --} WSEGLPixelFormat; -- --/* --// Transparent of display/drawable --*/ --typedef enum WSEGLTransparentType_TAG --{ -- WSEGL_OPAQUE = 0, -- WSEGL_COLOR_KEY = 1, -- --} WSEGLTransparentType; -- --/* --// Display/drawable configuration --*/ --typedef struct WSEGLConfig_TAG --{ -- /* -- // Type of drawables this configuration applies to - -- // OR'd values of drawable types. -- */ -- unsigned long ui32DrawableType; -- -- /* Pixel format */ -- WSEGLPixelFormat ePixelFormat; -- -- /* Native Renderable - set to WSEGL_TRUE if native renderable */ -- unsigned long ulNativeRenderable; -- -- /* FrameBuffer Level Parameter */ -- unsigned long ulFrameBufferLevel; -- -- /* Native Visual ID */ -- unsigned long ulNativeVisualID; -- -- /* Native Visual */ -- void *hNativeVisual; -- -- /* Transparent Type */ -- WSEGLTransparentType eTransparentType; -- -- /* Transparent Color - only used if transparent type is COLOR_KEY */ -- unsigned long ulTransparentColor; /* packed as 0x00RRGGBB */ -- -- --} WSEGLConfig; -- --/* --// WSEGL errors --*/ --typedef enum WSEGLError_TAG --{ -- WSEGL_SUCCESS = 0, -- WSEGL_CANNOT_INITIALISE = 1, -- WSEGL_BAD_NATIVE_DISPLAY = 2, -- WSEGL_BAD_NATIVE_WINDOW = 3, -- WSEGL_BAD_NATIVE_PIXMAP = 4, -- WSEGL_BAD_NATIVE_ENGINE = 5, -- WSEGL_BAD_DRAWABLE = 6, -- WSEGL_BAD_CONFIG = 7, -- WSEGL_OUT_OF_MEMORY = 8 -- --} WSEGLError; -- --/* --// Drawable orientation (in degrees anti-clockwise) --*/ --typedef enum WSEGLRotationAngle_TAG --{ -- WSEGL_ROTATE_0 = 0, -- WSEGL_ROTATE_90 = 1, -- WSEGL_ROTATE_180 = 2, -- WSEGL_ROTATE_270 = 3 -- --} WSEGLRotationAngle; -- --/* --// Drawable information required by OpenGL-ES driver --*/ --typedef struct WSEGLDrawableParams_TAG --{ -- /* Width in pixels of the drawable */ -- unsigned long ui32Width; -- -- /* Height in pixels of the drawable */ -- unsigned long ui32Height; -- -- /* Stride in pixels of the drawable */ -- unsigned long ui32Stride; -- -- /* Pixel format of the drawable */ -- WSEGLPixelFormat ePixelFormat; -- -- /* User space cpu virtual address of the drawable */ -- void *pvLinearAddress; -- -- /* HW address of the drawable */ -- unsigned long ui32HWAddress; -- -- /* Private data for the drawable */ -- void *hPrivateData; -- --} WSEGLDrawableParams; -- -- --/* --// Table of function pointers that is returned by WSEGL_GetFunctionTablePointer() --// --// The first entry in the table is the version number of the wsegl.h header file that --// the module has been written against, and should therefore be set to WSEGL_VERSION --*/ --typedef struct WSEGL_FunctionTable_TAG --{ -- unsigned long ui32WSEGLVersion; -- -- WSEGLError (*pfnWSEGL_IsDisplayValid)(NativeDisplayType); -- -- WSEGLError (*pfnWSEGL_InitialiseDisplay)(NativeDisplayType, WSEGLDisplayHandle *, const WSEGLCaps **, WSEGLConfig **); -- -- WSEGLError (*pfnWSEGL_CloseDisplay)(WSEGLDisplayHandle); -- -- WSEGLError (*pfnWSEGL_CreateWindowDrawable)(WSEGLDisplayHandle, WSEGLConfig *, WSEGLDrawableHandle *, NativeWindowType, WSEGLRotationAngle *); -- -- WSEGLError (*pfnWSEGL_CreatePixmapDrawable)(WSEGLDisplayHandle, WSEGLConfig *, WSEGLDrawableHandle *, NativePixmapType, WSEGLRotationAngle *); -- -- WSEGLError (*pfnWSEGL_DeleteDrawable)(WSEGLDrawableHandle); -- -- WSEGLError (*pfnWSEGL_SwapDrawable)(WSEGLDrawableHandle, unsigned long); -- -- WSEGLError (*pfnWSEGL_SwapControlInterval)(WSEGLDrawableHandle, unsigned long); -- -- WSEGLError (*pfnWSEGL_WaitNative)(WSEGLDrawableHandle, unsigned long); -- -- WSEGLError (*pfnWSEGL_CopyFromDrawable)(WSEGLDrawableHandle, NativePixmapType); -- -- WSEGLError (*pfnWSEGL_CopyFromPBuffer)(void *, unsigned long, unsigned long, unsigned long, WSEGLPixelFormat, NativePixmapType); -- -- WSEGLError (*pfnWSEGL_GetDrawableParameters)(WSEGLDrawableHandle, WSEGLDrawableParams *, WSEGLDrawableParams *); -- -- --} WSEGL_FunctionTable; -- -- --WSEGL_IMPORT const WSEGL_FunctionTable *WSEGL_GetFunctionTablePointer(void); -- --#ifdef __cplusplus --} --#endif -- --#endif /* __WSEGL_H__ */ -- --/****************************************************************************** -- End of file (wsegl.h) --******************************************************************************/ -Index: qt-4.8.5/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c -=================================================================== ---- qt-4.8.5.orig/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c 2013-07-08 11:24:33.010516867 -0500 -+++ qt-4.8.5/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c 2013-07-08 11:28:26.142521123 -0500 -@@ -39,7 +39,7 @@ - ** - ****************************************************************************/ - --#include -+#include - #include - #include - #include -@@ -379,6 +379,20 @@ - return WSEGL_SUCCESS; - } - -+/* Function stub for ConnectDrawable() */ -+static WSEGLError wseglConnectDrawable(WSEGLDrawableHandle hDrawable) -+{ -+ WSEGL_UNREFERENCED_PARAMETER(hDrawable); -+ return WSEGL_SUCCESS; -+} -+ -+/* Function stub for DisconnectDrawable() */ -+static WSEGLError wseglDisconnectDrawable(WSEGLDrawableHandle hDrawable) -+{ -+ WSEGL_UNREFERENCED_PARAMETER(hDrawable); -+ return WSEGL_SUCCESS; -+} -+ - static WSEGL_FunctionTable const wseglFunctions = { - WSEGL_VERSION, - wseglIsDisplayValid, -@@ -392,7 +406,9 @@ - wseglWaitNative, - wseglCopyFromDrawable, - wseglCopyFromPBuffer, -- wseglGetDrawableParameters -+ wseglGetDrawableParameters, -+ wseglConnectDrawable, -+ wseglDisconnectDrawable - }; - - /* Return the table of WSEGL functions to the EGL implementation */ diff --git a/package/qt/qt-fix-const-atomics.patch b/package/qt/qt-fix-const-atomics.patch deleted file mode 100644 index 64853565e8..0000000000 --- a/package/qt/qt-fix-const-atomics.patch +++ /dev/null @@ -1,50 +0,0 @@ -From d4d07dac01796b2aa0fb501c14865cab7e42b3a9 Mon Sep 17 00:00:00 2001 -From: Mischa Jonker -Date: Sun, 4 Nov 2012 11:42:04 +0100 -Subject: [PATCH] Fix const-related build error in generic atomic ops - -It's still not entirely const-correct though. In all other architectures -this is obfuscated through the use of inline asm (which the compiler -doesn't check). This patch obfuscates through const_cast ---- - src/corelib/arch/generic/qatomic_generic_unix.cpp | 8 ++++---- - src/corelib/arch/qatomic_generic.h | 2 +- - 2 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/src/corelib/arch/generic/qatomic_generic_unix.cpp b/src/corelib/arch/generic/qatomic_generic_unix.cpp -index 1c6cbf0..6fce81d 100644 ---- a/src/corelib/arch/generic/qatomic_generic_unix.cpp -+++ b/src/corelib/arch/generic/qatomic_generic_unix.cpp -@@ -85,13 +85,13 @@ int QBasicAtomicInt_fetchAndAddOrdered(volatile int *_q_value, int valueToAdd) - - Q_CORE_EXPORT - bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *_q_value, -- void *expectedValue, -- void *newValue) -+ const void *expectedValue, -+ const void *newValue) - { - bool returnValue = false; - pthread_mutex_lock(&qAtomicMutex); - if (*_q_value == expectedValue) { -- *_q_value = newValue; -+ *_q_value = const_cast(newValue); - returnValue = true; - } - pthread_mutex_unlock(&qAtomicMutex); -diff --git a/src/corelib/arch/qatomic_generic.h b/src/corelib/arch/qatomic_generic.h -index 621a767..4c14679 100644 ---- a/src/corelib/arch/qatomic_generic.h -+++ b/src/corelib/arch/qatomic_generic.h -@@ -105,7 +105,7 @@ Q_CORE_EXPORT bool QBasicAtomicInt_testAndSetOrdered(volatile int *, int, int); - Q_CORE_EXPORT int QBasicAtomicInt_fetchAndStoreOrdered(volatile int *, int); - Q_CORE_EXPORT int QBasicAtomicInt_fetchAndAddOrdered(volatile int *, int); - --Q_CORE_EXPORT bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *, void *, void *); -+Q_CORE_EXPORT bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *, const void *, const void *); - Q_CORE_EXPORT void *QBasicAtomicPointer_fetchAndStoreOrdered(void * volatile *, void *); - Q_CORE_EXPORT void *QBasicAtomicPointer_fetchAndAddOrdered(void * volatile *, qptrdiff); - --- -1.7.0.4 - diff --git a/package/qt/qt-pthread_getattr_np.patch b/package/qt/qt-pthread_getattr_np.patch deleted file mode 100644 index 28f0c8411b..0000000000 --- a/package/qt/qt-pthread_getattr_np.patch +++ /dev/null @@ -1,107 +0,0 @@ -Add pthred_getattr_np / phread_attr_getstrack alternatives for uClibc - -Based on https://dev.openwrt.org/log/packages/Xorg/lib/qt4/patches/100-fix-webkit-for-uclibc.patch?rev=20371 - -Signed-off-by: Johan Sagaert ---- - src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp | 61 ++++++++++ - 1 file changed, 61 insertions(+) - -Index: qt-everywhere-opensource-src-4.8.1/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp -=================================================================== ---- qt-everywhere-opensource-src-4.8.1.orig/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp -+++ qt-everywhere-opensource-src-4.8.1/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp -@@ -70,6 +70,23 @@ - #endif - #include - -+#if defined(QT_LINUXBASE) -+#include -+#endif -+ -+#if defined(__UCLIBC__) -+// versions of uClibc 0.9.32 and below with linuxthreads.old do not have -+// pthread_getattr_np or pthread_attr_getstack. -+#if __UCLIBC_MAJOR__ == 0 && \ -+ (__UCLIBC_MINOR__ < 9 || \ -+ (__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ <= 32)) && \ -+ defined(__LINUXTHREADS_OLD__) -+#define UCLIBC_USE_PROC_SELF_MAPS 1 -+#include -+extern int *__libc_stack_end; -+#endif -+#endif -+ - #if OS(SOLARIS) - #include - #else -@@ -648,6 +665,37 @@ - get_thread_info(find_thread(NULL), &threadInfo); - return threadInfo.stack_end; - #elif OS(UNIX) -+#ifdef UCLIBC_USE_PROC_SELF_MAPS -+ // Read /proc/self/maps and locate the line whose address -+ // range contains __libc_stack_end. -+ FILE *file = fopen("/proc/self/maps", "r"); -+ if (!file) -+ return 0; -+ __fsetlocking(file, FSETLOCKING_BYCALLER); -+ char *line = NULL; -+ size_t lineLen = 0; -+ while (!feof_unlocked(file)) { -+ if (getdelim(&line, &lineLen, '\n', file) <= 0) -+ break; -+ -+ long from; -+ long to; -+ if (sscanf (line, "%lx-%lx", &from, &to) != 2) -+ continue; -+ if (from <= (long)__libc_stack_end && (long)__libc_stack_end < to) { -+ fclose(file); -+ free(line); -+#ifdef _STACK_GROWS_UP -+ return (void *)from; -+#else -+ return (void *)to; -+#endif -+ } -+ } -+ fclose(file); -+ free(line); -+ return 0; -+#else - AtomicallyInitializedStatic(Mutex&, mutex = *new Mutex); - MutexLocker locker(mutex); - static void* stackBase = 0; -@@ -655,11 +703,23 @@ - static pthread_t stackThread; - pthread_t thread = pthread_self(); - if (stackBase == 0 || thread != stackThread) { -+ -+#if defined(QT_LINUXBASE) -+ // LinuxBase is missing pthread_getattr_np - resolve it once at runtime instead -+ // see http://bugs.linuxbase.org/show_bug.cgi?id=2364 -+ typedef int (*GetAttrPtr)(pthread_t, pthread_attr_t *); -+ static int (*pthread_getattr_np_ptr)(pthread_t, pthread_attr_t *) = 0; -+ if (!pthread_getattr_np_ptr) -+ *(void **)&pthread_getattr_np_ptr = dlsym(RTLD_DEFAULT, "pthread_getattr_np"); -+#endif - pthread_attr_t sattr; - pthread_attr_init(&sattr); - #if HAVE(PTHREAD_NP_H) || OS(NETBSD) - // e.g. on FreeBSD 5.4, neundorf@kde.org - pthread_attr_get_np(thread, &sattr); -+#elif defined(QT_LINUXBASE) -+ if (pthread_getattr_np_ptr) -+ pthread_getattr_np_ptr(thread, &sattr); - #else - // FIXME: this function is non-portable; other POSIX systems may have different np alternatives - pthread_getattr_np(thread, &sattr); -@@ -671,6 +731,7 @@ - stackThread = thread; - } - return static_cast(stackBase) + stackSize; -+#endif - #else - #error Need a way to get the stack base on this platform - #endif diff --git a/package/qt/qt-script-qtdbus-no-gui.patch b/package/qt/qt-script-qtdbus-no-gui.patch deleted file mode 100644 index e29e9e4a1b..0000000000 --- a/package/qt/qt-script-qtdbus-no-gui.patch +++ /dev/null @@ -1,22 +0,0 @@ -[PATCH] fix build with script+dbus enabled, but no gui - -The script/qtdbus plugin doesn't need gui support, so don't try to -link it against libQtGui. - -Signed-off-by: Peter Korsgaard ---- - src/plugins/script/qtdbus/qtdbus.pro | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: qt-4.7.3/src/plugins/script/qtdbus/qtdbus.pro -=================================================================== ---- qt-4.7.3.orig/src/plugins/script/qtdbus/qtdbus.pro -+++ qt-4.7.3/src/plugins/script/qtdbus/qtdbus.pro -@@ -1,6 +1,6 @@ - TARGET = qtscriptdbus - include(../../qpluginbase.pri) --QT = core gui script -+QT = core script - CONFIG += qdbus - - SOURCES += main.cpp diff --git a/package/qt/qt-uClibc-lfs-fix.patch b/package/qt/qt-uClibc-lfs-fix.patch deleted file mode 100644 index ea04a607ea..0000000000 --- a/package/qt/qt-uClibc-lfs-fix.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 6f88b27de256266947a7f6a3e70e18510754aab2 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Sat, 14 Apr 2012 20:36:07 +0200 -Subject: [PATCH] mkspecs/common/posix: fix !largefile builds on uClibc - -uClibc doesn't even define O_LARGEFILE when not configured with large file -support, so ensure this define is only used when Qt is built with --largefile, otherwise the build fails with: - -io/qtemporaryfile.cpp: In function 'bool createFileFromTemplate( - NativeFileHandle&, QFileSystemEntry::NativePath&, size_t, size_t, - QSystemError&)': -io/qtemporaryfile.cpp:197:57: error: 'O_LARGEFILE' was not declared in - this scope - -Reported-Upstream: https://bugreports.qt-project.org/browse/QTBUG-25321 -Signed-off-by: Peter Korsgaard ---- - mkspecs/common/posix/qplatformdefs.h | 5 +++++ - 1 files changed, 5 insertions(+), 0 deletions(-) - -diff --git a/mkspecs/common/posix/qplatformdefs.h b/mkspecs/common/posix/qplatformdefs.h -index daecc00..8a796cf 100644 ---- a/mkspecs/common/posix/qplatformdefs.h -+++ b/mkspecs/common/posix/qplatformdefs.h -@@ -123,7 +123,12 @@ - #define QT_READ ::read - #define QT_WRITE ::write - -+#ifdef QT_LARGEFILE_SUPPORT - #define QT_OPEN_LARGEFILE O_LARGEFILE -+#else -+#define QT_OPEN_LARGEFILE 0 -+#endif -+ - #define QT_OPEN_RDONLY O_RDONLY - #define QT_OPEN_WRONLY O_WRONLY - #define QT_OPEN_RDWR O_RDWR --- -1.7.8.3 - diff --git a/package/qt5/qt5base/0002-mkspecs-files.patch b/package/qt5/qt5base/0002-mkspecs-files.patch new file mode 100644 index 0000000000..09c1b67c11 --- /dev/null +++ b/package/qt5/qt5base/0002-mkspecs-files.patch @@ -0,0 +1,39 @@ +Add a Buildroot 'device' to ease cross-compilation + +Qt5 has a mechanism to support "device" profiles, so that people can +specify the compiler, compiler flags and so on for a specific device. + +We leverage this mechanism in the Buildroot packaging of qt5 to +simplify cross-compilation: we have our own "device" definition, which +allows us to easily pass the cross-compiler paths and flags from our +qt5.mk. + +Signed-off-by: Thomas Petazzoni + +Index: b/mkspecs/devices/linux-buildroot-g++/qmake.conf +=================================================================== +--- /dev/null ++++ b/mkspecs/devices/linux-buildroot-g++/qmake.conf +@@ -0,0 +1,16 @@ ++include(../common/linux_device_pre.conf) ++ ++# modifications to g++-unix.conf ++QMAKE_CC = $${BR_CCACHE} $${CROSS_COMPILE}gcc ++QMAKE_CXX = $${BR_CCACHE} $${CROSS_COMPILE}g++ ++ ++#modifications to gcc-base.conf ++QMAKE_CFLAGS += $${BR_COMPILER_CFLAGS} ++QMAKE_CXXFLAGS += $${BR_COMPILER_CXXFLAGS} ++QMAKE_CXXFLAGS_RELEASE += -O3 ++CONFIG += nostrip ++ ++QMAKE_LIBS += -lrt -lpthread -ldl ++ ++include(../common/linux_device_post.conf) ++load(qt_config) +Index: b/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h +=================================================================== +--- /dev/null ++++ b/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h +@@ -0,0 +1 @@ ++#include "../../linux-g++/qplatformdefs.h" diff --git a/package/qt5/qt5base/0003-uclibc-no-lfs.patch b/package/qt5/qt5base/0003-uclibc-no-lfs.patch new file mode 100644 index 0000000000..9772d49144 --- /dev/null +++ b/package/qt5/qt5base/0003-uclibc-no-lfs.patch @@ -0,0 +1,36 @@ +From 6f88b27de256266947a7f6a3e70e18510754aab2 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Sat, 14 Apr 2012 20:36:07 +0200 +Subject: [PATCH] mkspecs/common/posix: fix !largefile builds on uClibc + +uClibc doesn't even define O_LARGEFILE when not configured with large file +support, so ensure this define is only used when Qt is built with +-largefile, otherwise the build fails with: + +io/qtemporaryfile.cpp: In function 'bool createFileFromTemplate( + NativeFileHandle&, QFileSystemEntry::NativePath&, size_t, size_t, + QSystemError&)': +io/qtemporaryfile.cpp:197:57: error: 'O_LARGEFILE' was not declared in + this scope + +Moved to qt5 by Thomas Petazzoni. + +Reported-Upstream: https://bugreports.qt-project.org/browse/QTBUG-25321 +Signed-off-by: Peter Korsgaard + +Index: b/mkspecs/common/posix/qplatformdefs.h +=================================================================== +--- a/mkspecs/common/posix/qplatformdefs.h ++++ b/mkspecs/common/posix/qplatformdefs.h +@@ -123,7 +123,11 @@ + #define QT_READ ::read + #define QT_WRITE ::write + ++#ifdef QT_LARGEFILE_SUPPORT + #define QT_OPEN_LARGEFILE O_LARGEFILE ++#else ++#define QT_OPEN_LARGEFILE 0 ++#endif + #define QT_OPEN_RDONLY O_RDONLY + #define QT_OPEN_WRONLY O_WRONLY + #define QT_OPEN_RDWR O_RDWR diff --git a/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch b/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch deleted file mode 100644 index 09c1b67c11..0000000000 --- a/package/qt5/qt5base/qt5base-0002-mkspecs-files.patch +++ /dev/null @@ -1,39 +0,0 @@ -Add a Buildroot 'device' to ease cross-compilation - -Qt5 has a mechanism to support "device" profiles, so that people can -specify the compiler, compiler flags and so on for a specific device. - -We leverage this mechanism in the Buildroot packaging of qt5 to -simplify cross-compilation: we have our own "device" definition, which -allows us to easily pass the cross-compiler paths and flags from our -qt5.mk. - -Signed-off-by: Thomas Petazzoni - -Index: b/mkspecs/devices/linux-buildroot-g++/qmake.conf -=================================================================== ---- /dev/null -+++ b/mkspecs/devices/linux-buildroot-g++/qmake.conf -@@ -0,0 +1,16 @@ -+include(../common/linux_device_pre.conf) -+ -+# modifications to g++-unix.conf -+QMAKE_CC = $${BR_CCACHE} $${CROSS_COMPILE}gcc -+QMAKE_CXX = $${BR_CCACHE} $${CROSS_COMPILE}g++ -+ -+#modifications to gcc-base.conf -+QMAKE_CFLAGS += $${BR_COMPILER_CFLAGS} -+QMAKE_CXXFLAGS += $${BR_COMPILER_CXXFLAGS} -+QMAKE_CXXFLAGS_RELEASE += -O3 -+CONFIG += nostrip -+ -+QMAKE_LIBS += -lrt -lpthread -ldl -+ -+include(../common/linux_device_post.conf) -+load(qt_config) -Index: b/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h -=================================================================== ---- /dev/null -+++ b/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h -@@ -0,0 +1 @@ -+#include "../../linux-g++/qplatformdefs.h" diff --git a/package/qt5/qt5base/qt5base-0003-uclibc-no-lfs.patch b/package/qt5/qt5base/qt5base-0003-uclibc-no-lfs.patch deleted file mode 100644 index 9772d49144..0000000000 --- a/package/qt5/qt5base/qt5base-0003-uclibc-no-lfs.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 6f88b27de256266947a7f6a3e70e18510754aab2 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Sat, 14 Apr 2012 20:36:07 +0200 -Subject: [PATCH] mkspecs/common/posix: fix !largefile builds on uClibc - -uClibc doesn't even define O_LARGEFILE when not configured with large file -support, so ensure this define is only used when Qt is built with --largefile, otherwise the build fails with: - -io/qtemporaryfile.cpp: In function 'bool createFileFromTemplate( - NativeFileHandle&, QFileSystemEntry::NativePath&, size_t, size_t, - QSystemError&)': -io/qtemporaryfile.cpp:197:57: error: 'O_LARGEFILE' was not declared in - this scope - -Moved to qt5 by Thomas Petazzoni. - -Reported-Upstream: https://bugreports.qt-project.org/browse/QTBUG-25321 -Signed-off-by: Peter Korsgaard - -Index: b/mkspecs/common/posix/qplatformdefs.h -=================================================================== ---- a/mkspecs/common/posix/qplatformdefs.h -+++ b/mkspecs/common/posix/qplatformdefs.h -@@ -123,7 +123,11 @@ - #define QT_READ ::read - #define QT_WRITE ::write - -+#ifdef QT_LARGEFILE_SUPPORT - #define QT_OPEN_LARGEFILE O_LARGEFILE -+#else -+#define QT_OPEN_LARGEFILE 0 -+#endif - #define QT_OPEN_RDONLY O_RDONLY - #define QT_OPEN_WRONLY O_WRONLY - #define QT_OPEN_RDWR O_RDWR diff --git a/package/qt5/qt5webkit-examples/0001-build.patch b/package/qt5/qt5webkit-examples/0001-build.patch new file mode 100644 index 0000000000..68964f01ff --- /dev/null +++ b/package/qt5/qt5webkit-examples/0001-build.patch @@ -0,0 +1,30 @@ +This patch improves the qt5webkit examples build for 2 aspects: + +# Allows to build even if qt5base examples are not enabled +# Builds xmlpatterns example only if the qt5xmlpattern package has been built + +Signed-off-by: Massimo Callegari + +Index: b/examples/webkitwidgets/webkitwidgets.pro +=================================================================== +--- /dev/null ++++ b/examples/webkitwidgets/webkitwidgets.pro +@@ -8,5 +8,6 @@ + framecapture \ + browser \ + embedded \ +- scroller \ +- xmlpatterns ++ scroller ++ ++qtHaveModule(xmlpatterns): SUBDIRS += xmlpatterns +Index: b/qtwebkit-examples.pro +=================================================================== +--- /dev/null ++++ b/qtwebkit-examples.pro +@@ -3,3 +3,4 @@ + load(qt_parts) + + SUBDIRS += doc ++SUBDIRS += examples + diff --git a/package/qt5/qt5webkit-examples/qt5webkit-examples-0001-build.patch b/package/qt5/qt5webkit-examples/qt5webkit-examples-0001-build.patch deleted file mode 100644 index 68964f01ff..0000000000 --- a/package/qt5/qt5webkit-examples/qt5webkit-examples-0001-build.patch +++ /dev/null @@ -1,30 +0,0 @@ -This patch improves the qt5webkit examples build for 2 aspects: - -# Allows to build even if qt5base examples are not enabled -# Builds xmlpatterns example only if the qt5xmlpattern package has been built - -Signed-off-by: Massimo Callegari - -Index: b/examples/webkitwidgets/webkitwidgets.pro -=================================================================== ---- /dev/null -+++ b/examples/webkitwidgets/webkitwidgets.pro -@@ -8,5 +8,6 @@ - framecapture \ - browser \ - embedded \ -- scroller \ -- xmlpatterns -+ scroller -+ -+qtHaveModule(xmlpatterns): SUBDIRS += xmlpatterns -Index: b/qtwebkit-examples.pro -=================================================================== ---- /dev/null -+++ b/qtwebkit-examples.pro -@@ -3,3 +3,4 @@ - load(qt_parts) - - SUBDIRS += doc -+SUBDIRS += examples - diff --git a/package/qtuio/0001-TuioServer.cpp-add-missing-include.patch b/package/qtuio/0001-TuioServer.cpp-add-missing-include.patch new file mode 100644 index 0000000000..99337026df --- /dev/null +++ b/package/qtuio/0001-TuioServer.cpp-add-missing-include.patch @@ -0,0 +1,28 @@ +From 4dd7cad8c95484a882eaa2aeaa74595a3dd93a07 Mon Sep 17 00:00:00 2001 +From: Stephan Hoffmann +Date: Sun, 2 Dec 2012 13:36:41 +0100 +Subject: [PATCH] TuioServer.cpp: add missing include + +If usleep() is used the header has to be included + +Signed-off-by: Stephan Hoffmann +--- + src/3rdparty/tuio/TuioServer.cpp | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +diff --git a/src/3rdparty/tuio/TuioServer.cpp b/src/3rdparty/tuio/TuioServer.cpp +index f17bef9..851144c 100644 +--- a/src/3rdparty/tuio/TuioServer.cpp ++++ b/src/3rdparty/tuio/TuioServer.cpp +@@ -25,6 +25,8 @@ using namespace TUIO; + using namespace osc; + + #ifndef WIN32 ++#include ++ + static void* ThreadFunc( void* obj ) + #else + static DWORD WINAPI ThreadFunc( LPVOID obj ) +-- +1.7.0.4 + diff --git a/package/qtuio/0002-dont-append-_d-for-debug.patch b/package/qtuio/0002-dont-append-_d-for-debug.patch new file mode 100644 index 0000000000..fbaaf19222 --- /dev/null +++ b/package/qtuio/0002-dont-append-_d-for-debug.patch @@ -0,0 +1,29 @@ +[PATCH] don't append _d to library name when Qt is built with debug support + +qtuio appends _d to the library name when Qt was built with debug support, +breaking linking step for examples and staging/target install. + +There's no real advantage to the _d suffix, so simply fix it by removing +the logic appending _d. + +Signed-off-by: Peter Korsgaard +--- + src/qTUIO.pro | 5 ----- + 1 file changed, 5 deletions(-) + +Index: qtuio-abe4973ff6/src/qTUIO.pro +=================================================================== +--- qtuio-abe4973ff6.orig/src/qTUIO.pro ++++ qtuio-abe4973ff6/src/qTUIO.pro +@@ -16,11 +16,6 @@ + win32:LIBS += ws2_32.lib \ + winmm.lib + +-# Changes the name of the target, when is debug mode +-CONFIG( debug, debug|release ) { +- TARGET = $${TARGET}_d +- BUILD_NAME = debug +-} + CONFIG( release, debug|release ):BUILD_NAME = release + + # Temporary folders for the auxiliar files diff --git a/package/qtuio/qtuio-TuioServer.cpp-add-missing-include.patch b/package/qtuio/qtuio-TuioServer.cpp-add-missing-include.patch deleted file mode 100644 index 99337026df..0000000000 --- a/package/qtuio/qtuio-TuioServer.cpp-add-missing-include.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 4dd7cad8c95484a882eaa2aeaa74595a3dd93a07 Mon Sep 17 00:00:00 2001 -From: Stephan Hoffmann -Date: Sun, 2 Dec 2012 13:36:41 +0100 -Subject: [PATCH] TuioServer.cpp: add missing include - -If usleep() is used the header has to be included - -Signed-off-by: Stephan Hoffmann ---- - src/3rdparty/tuio/TuioServer.cpp | 2 ++ - 1 files changed, 2 insertions(+), 0 deletions(-) - -diff --git a/src/3rdparty/tuio/TuioServer.cpp b/src/3rdparty/tuio/TuioServer.cpp -index f17bef9..851144c 100644 ---- a/src/3rdparty/tuio/TuioServer.cpp -+++ b/src/3rdparty/tuio/TuioServer.cpp -@@ -25,6 +25,8 @@ using namespace TUIO; - using namespace osc; - - #ifndef WIN32 -+#include -+ - static void* ThreadFunc( void* obj ) - #else - static DWORD WINAPI ThreadFunc( LPVOID obj ) --- -1.7.0.4 - diff --git a/package/qtuio/qtuio-dont-append-_d-for-debug.patch b/package/qtuio/qtuio-dont-append-_d-for-debug.patch deleted file mode 100644 index fbaaf19222..0000000000 --- a/package/qtuio/qtuio-dont-append-_d-for-debug.patch +++ /dev/null @@ -1,29 +0,0 @@ -[PATCH] don't append _d to library name when Qt is built with debug support - -qtuio appends _d to the library name when Qt was built with debug support, -breaking linking step for examples and staging/target install. - -There's no real advantage to the _d suffix, so simply fix it by removing -the logic appending _d. - -Signed-off-by: Peter Korsgaard ---- - src/qTUIO.pro | 5 ----- - 1 file changed, 5 deletions(-) - -Index: qtuio-abe4973ff6/src/qTUIO.pro -=================================================================== ---- qtuio-abe4973ff6.orig/src/qTUIO.pro -+++ qtuio-abe4973ff6/src/qTUIO.pro -@@ -16,11 +16,6 @@ - win32:LIBS += ws2_32.lib \ - winmm.lib - --# Changes the name of the target, when is debug mode --CONFIG( debug, debug|release ) { -- TARGET = $${TARGET}_d -- BUILD_NAME = debug --} - CONFIG( release, debug|release ):BUILD_NAME = release - - # Temporary folders for the auxiliar files diff --git a/package/quagga/0001-fix-ipctl-forwarding.patch b/package/quagga/0001-fix-ipctl-forwarding.patch new file mode 100644 index 0000000000..e2e3421edb --- /dev/null +++ b/package/quagga/0001-fix-ipctl-forwarding.patch @@ -0,0 +1,27 @@ +Add definitions for IPCTL_FORWARDING and IP6CTL_FORWARDING. + +Inspired from +http://svn.gnumonks.org/trunk/grouter/build/src/quagga/quagga/quagga-0.99.1-forward_sysctl-2.6.14.patch + +Signed-off-by: Thomas Petazzoni + +Index: quagga-0.99.16/zebra/ipforward_sysctl.c +=================================================================== +--- quagga-0.99.16.orig/zebra/ipforward_sysctl.c 2010-06-20 23:40:45.000000000 +0200 ++++ quagga-0.99.16/zebra/ipforward_sysctl.c 2010-06-20 23:41:37.000000000 +0200 +@@ -31,6 +31,15 @@ + + #define MIB_SIZ 4 + ++/* Fix for recent (2.6.14) kernel headers */ ++#ifndef IPCTL_FORWARDING ++#define IPCTL_FORWARDING NET_IPV4_FORWARD ++#endif ++ ++#ifndef IP6CTL_FORWARDING ++#define IP6CTL_FORWARDING NET_IPV6_FORWARDING ++#endif ++ + extern struct zebra_privs_t zserv_privs; + + /* IPv4 forwarding control MIB. */ diff --git a/package/quagga/quagga-fix-ipctl-forwarding.patch b/package/quagga/quagga-fix-ipctl-forwarding.patch deleted file mode 100644 index e2e3421edb..0000000000 --- a/package/quagga/quagga-fix-ipctl-forwarding.patch +++ /dev/null @@ -1,27 +0,0 @@ -Add definitions for IPCTL_FORWARDING and IP6CTL_FORWARDING. - -Inspired from -http://svn.gnumonks.org/trunk/grouter/build/src/quagga/quagga/quagga-0.99.1-forward_sysctl-2.6.14.patch - -Signed-off-by: Thomas Petazzoni - -Index: quagga-0.99.16/zebra/ipforward_sysctl.c -=================================================================== ---- quagga-0.99.16.orig/zebra/ipforward_sysctl.c 2010-06-20 23:40:45.000000000 +0200 -+++ quagga-0.99.16/zebra/ipforward_sysctl.c 2010-06-20 23:41:37.000000000 +0200 -@@ -31,6 +31,15 @@ - - #define MIB_SIZ 4 - -+/* Fix for recent (2.6.14) kernel headers */ -+#ifndef IPCTL_FORWARDING -+#define IPCTL_FORWARDING NET_IPV4_FORWARD -+#endif -+ -+#ifndef IP6CTL_FORWARDING -+#define IP6CTL_FORWARDING NET_IPV6_FORWARDING -+#endif -+ - extern struct zebra_privs_t zserv_privs; - - /* IPv4 forwarding control MIB. */ diff --git a/package/qwt/0001-remove-installed-check.patch b/package/qwt/0001-remove-installed-check.patch new file mode 100644 index 0000000000..7490a7b776 --- /dev/null +++ b/package/qwt/0001-remove-installed-check.patch @@ -0,0 +1,32 @@ +Remove useless check at build time + +At build time, Qwt looks whether the Qwt libraries are already +installed in the destination directory, to avoid confusion between +libraries installed system-wide and locally-built shared +libraries. However, this behaviour conflicts with how Buildroot builds +and installs libraries, so get rid of it. + +Signed-off-by: Thomas Petazzoni + +Index: qwt-6.0.0/qwtbuild.pri +=================================================================== +--- qwt-6.0.0.orig/qwtbuild.pri 2011-09-12 19:37:35.663275952 +0200 ++++ qwt-6.0.0/qwtbuild.pri 2011-09-12 19:37:41.913275949 +0200 +@@ -53,17 +53,3 @@ + !debug_and_release { + OBJECTS_DIR = obj + } +- +-unix { +- +- exists( $${QMAKE_LIBDIR_QT}/libqwt.* ) { +- +- # On some Linux distributions the Qwt libraries are installed +- # in the same directory as the Qt libraries. Unfortunately +- # qmake always adds QMAKE_LIBDIR_QT at the beginning of the +- # linker path, so that the installed libraries will be +- # used instead of the local ones. +- +- error( "local build will conflict with $${QMAKE_LIBDIR_QT}/libqwt.*" ) +- } +-} diff --git a/package/qwt/qwt-remove-installed-check.patch b/package/qwt/qwt-remove-installed-check.patch deleted file mode 100644 index 7490a7b776..0000000000 --- a/package/qwt/qwt-remove-installed-check.patch +++ /dev/null @@ -1,32 +0,0 @@ -Remove useless check at build time - -At build time, Qwt looks whether the Qwt libraries are already -installed in the destination directory, to avoid confusion between -libraries installed system-wide and locally-built shared -libraries. However, this behaviour conflicts with how Buildroot builds -and installs libraries, so get rid of it. - -Signed-off-by: Thomas Petazzoni - -Index: qwt-6.0.0/qwtbuild.pri -=================================================================== ---- qwt-6.0.0.orig/qwtbuild.pri 2011-09-12 19:37:35.663275952 +0200 -+++ qwt-6.0.0/qwtbuild.pri 2011-09-12 19:37:41.913275949 +0200 -@@ -53,17 +53,3 @@ - !debug_and_release { - OBJECTS_DIR = obj - } -- --unix { -- -- exists( $${QMAKE_LIBDIR_QT}/libqwt.* ) { -- -- # On some Linux distributions the Qwt libraries are installed -- # in the same directory as the Qt libraries. Unfortunately -- # qmake always adds QMAKE_LIBDIR_QT at the beginning of the -- # linker path, so that the installed libraries will be -- # used instead of the local ones. -- -- error( "local build will conflict with $${QMAKE_LIBDIR_QT}/libqwt.*" ) -- } --} diff --git a/package/rdesktop/0001-8bit-colors.patch b/package/rdesktop/0001-8bit-colors.patch new file mode 100644 index 0000000000..710f8debef --- /dev/null +++ b/package/rdesktop/0001-8bit-colors.patch @@ -0,0 +1,21 @@ +diff -urpN rdesktop-1.5.0-orig/xwin.c rdesktop-1.5.0/xwin.c +--- rdesktop-1.5.0-orig/xwin.c 2007-01-17 12:01:18.000000000 +0100 ++++ rdesktop-1.5.0/xwin.c 2007-01-17 12:05:02.000000000 +0100 +@@ -1461,7 +1461,7 @@ select_visual(int screen_num) + } + + /* we use a colourmap, so the default visual should do */ +- g_owncolmap = True; ++// g_owncolmap = True; + g_visual = vmatches[0].visual; + g_depth = vmatches[0].depth; + } +@@ -1568,7 +1568,7 @@ ui_init(void) + { + g_xcolmap = + XCreateColormap(g_display, RootWindowOfScreen(g_screen), g_visual, +- AllocNone); ++ (g_depth <= 8) ? AllocAll : AllocNone); + if (g_depth <= 8) + warning("Display colour depth is %d bit: you may want to use -C for a private colourmap.\n", g_depth); + } diff --git a/package/rdesktop/rdesktop-01-8bit-colors.patch b/package/rdesktop/rdesktop-01-8bit-colors.patch deleted file mode 100644 index 710f8debef..0000000000 --- a/package/rdesktop/rdesktop-01-8bit-colors.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -urpN rdesktop-1.5.0-orig/xwin.c rdesktop-1.5.0/xwin.c ---- rdesktop-1.5.0-orig/xwin.c 2007-01-17 12:01:18.000000000 +0100 -+++ rdesktop-1.5.0/xwin.c 2007-01-17 12:05:02.000000000 +0100 -@@ -1461,7 +1461,7 @@ select_visual(int screen_num) - } - - /* we use a colourmap, so the default visual should do */ -- g_owncolmap = True; -+// g_owncolmap = True; - g_visual = vmatches[0].visual; - g_depth = vmatches[0].depth; - } -@@ -1568,7 +1568,7 @@ ui_init(void) - { - g_xcolmap = - XCreateColormap(g_display, RootWindowOfScreen(g_screen), g_visual, -- AllocNone); -+ (g_depth <= 8) ? AllocAll : AllocNone); - if (g_depth <= 8) - warning("Display colour depth is %d bit: you may want to use -C for a private colourmap.\n", g_depth); - } diff --git a/package/readline/0001-curses-link.patch b/package/readline/0001-curses-link.patch new file mode 100644 index 0000000000..56b4770220 --- /dev/null +++ b/package/readline/0001-curses-link.patch @@ -0,0 +1,16 @@ +link readline directly to ncurses since it needs symbols from it + +upstream readline does this on purpose (no direct linking), but +it doesn't make much sense in a Linux world + +--- a/support/shobj-conf ++++ b/support/shobj-conf +@@ -42,7 +42,7 @@ + SHOBJ_LIBS= + + SHLIB_XLDFLAGS= +-SHLIB_LIBS= ++SHLIB_LIBS=-lncurses + + SHLIB_DOT='.' + SHLIB_LIBPREF='lib' diff --git a/package/readline/readline-001-curses-link.patch b/package/readline/readline-001-curses-link.patch deleted file mode 100644 index 56b4770220..0000000000 --- a/package/readline/readline-001-curses-link.patch +++ /dev/null @@ -1,16 +0,0 @@ -link readline directly to ncurses since it needs symbols from it - -upstream readline does this on purpose (no direct linking), but -it doesn't make much sense in a Linux world - ---- a/support/shobj-conf -+++ b/support/shobj-conf -@@ -42,7 +42,7 @@ - SHOBJ_LIBS= - - SHLIB_XLDFLAGS= --SHLIB_LIBS= -+SHLIB_LIBS=-lncurses - - SHLIB_DOT='.' - SHLIB_LIBPREF='lib' diff --git a/package/rp-pppoe/0002-krn-plugin.patch b/package/rp-pppoe/0002-krn-plugin.patch new file mode 100644 index 0000000000..d364e8684c --- /dev/null +++ b/package/rp-pppoe/0002-krn-plugin.patch @@ -0,0 +1,25 @@ +diff -Nura rp-pppoe-3.11.orig/src/configure rp-pppoe-3.11/src/configure +--- rp-pppoe-3.11.orig/src/configure 2012-08-21 10:01:10.536440032 -0300 ++++ rp-pppoe-3.11/src/configure 2012-08-21 10:01:45.353442397 -0300 +@@ -4517,7 +4517,7 @@ + modprobe pppoe > /dev/null 2>&1 + fi + if test "$cross_compiling" = yes; then : +- ac_cv_linux_kernel_pppoe=no; $ECHO "cross-compiling, default: " ++ ac_cv_linux_kernel_pppoe=yes; $ECHO "cross-compiling, default: " + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +diff -Nura rp-pppoe-3.11.orig/src/pppoe-server.c rp-pppoe-3.11/src/pppoe-server.c +--- rp-pppoe-3.11.orig/src/pppoe-server.c 2012-08-21 10:01:10.535440032 -0300 ++++ rp-pppoe-3.11/src/pppoe-server.c 2012-08-21 10:02:02.597443569 -0300 +@@ -20,6 +20,9 @@ + + #include "config.h" + ++/* Patched hack to make this cross compile */ ++#define HAVE_LINUX_KERNEL_PPPOE 1 ++ + #if defined(HAVE_NETPACKET_PACKET_H) || defined(HAVE_LINUX_IF_PACKET_H) + #define _POSIX_SOURCE 1 /* For sigaction defines */ + #endif diff --git a/package/rp-pppoe/rp-pppoe-3.10-002-krn-plugin.patch b/package/rp-pppoe/rp-pppoe-3.10-002-krn-plugin.patch deleted file mode 100644 index d364e8684c..0000000000 --- a/package/rp-pppoe/rp-pppoe-3.10-002-krn-plugin.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff -Nura rp-pppoe-3.11.orig/src/configure rp-pppoe-3.11/src/configure ---- rp-pppoe-3.11.orig/src/configure 2012-08-21 10:01:10.536440032 -0300 -+++ rp-pppoe-3.11/src/configure 2012-08-21 10:01:45.353442397 -0300 -@@ -4517,7 +4517,7 @@ - modprobe pppoe > /dev/null 2>&1 - fi - if test "$cross_compiling" = yes; then : -- ac_cv_linux_kernel_pppoe=no; $ECHO "cross-compiling, default: " -+ ac_cv_linux_kernel_pppoe=yes; $ECHO "cross-compiling, default: " - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ -diff -Nura rp-pppoe-3.11.orig/src/pppoe-server.c rp-pppoe-3.11/src/pppoe-server.c ---- rp-pppoe-3.11.orig/src/pppoe-server.c 2012-08-21 10:01:10.535440032 -0300 -+++ rp-pppoe-3.11/src/pppoe-server.c 2012-08-21 10:02:02.597443569 -0300 -@@ -20,6 +20,9 @@ - - #include "config.h" - -+/* Patched hack to make this cross compile */ -+#define HAVE_LINUX_KERNEL_PPPOE 1 -+ - #if defined(HAVE_NETPACKET_PACKET_H) || defined(HAVE_LINUX_IF_PACKET_H) - #define _POSIX_SOURCE 1 /* For sigaction defines */ - #endif diff --git a/package/rpcbind/0001-Remove-yellow-pages-support.patch b/package/rpcbind/0001-Remove-yellow-pages-support.patch new file mode 100644 index 0000000000..e35828fe21 --- /dev/null +++ b/package/rpcbind/0001-Remove-yellow-pages-support.patch @@ -0,0 +1,56 @@ +From 249e25c5cc675c212ca4e4a3342bff8f59285b1a Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 10 Nov 2012 22:03:43 +0100 +Subject: [PATCH] Remove yellow pages support + +This support requires yellow pages support in libtirpc, which isn't +available. As most Buildroot users are most likely never going to need +such feature, get rid of it. + +Signed-off-by: Thomas Petazzoni +--- + src/security.c | 18 ------------------ + 1 file changed, 18 deletions(-) + +diff --git a/src/security.c b/src/security.c +index d272f74..8d5863c 100644 +--- a/src/security.c ++++ b/src/security.c +@@ -23,9 +23,6 @@ + #include + #include + #include +-#include +-#include +-#include + + #include "rpcbind.h" + +@@ -308,24 +305,9 @@ check_callit(SVCXPRT *xprt, struct r_rmtcall_args *args, int versnum /*__unused* + args->rmt_proc != MOUNTPROC_UMNT) + break; + goto deny; +- case YPBINDPROG: +- if (args->rmt_proc != YPBINDPROC_SETDOM) +- break; +- /* FALLTHROUGH */ +- case YPPASSWDPROG: + case NFS_PROGRAM: + case RQUOTAPROG: + goto deny; +- case YPPROG: +- switch (args->rmt_proc) { +- case YPPROC_ALL: +- case YPPROC_MATCH: +- case YPPROC_FIRST: +- case YPPROC_NEXT: +- goto deny; +- default: +- break; +- } + default: + break; + } +-- +2.0.0 + diff --git a/package/rpcbind/0003-Make-IPv6-configurable.patch b/package/rpcbind/0003-Make-IPv6-configurable.patch new file mode 100644 index 0000000000..0bb311c077 --- /dev/null +++ b/package/rpcbind/0003-Make-IPv6-configurable.patch @@ -0,0 +1,42 @@ +From 5a1826d116ae986cb464d3503e0ae9ceaba3a687 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 10 Nov 2012 22:24:56 +0100 +Subject: [PATCH] Make IPv6 configurable + +Add an autoconf check that verifies whether IPv6 is available or not, +and define the INET6 macro if available, instead of hardcoding it in +src/Makefile.am. + +Signed-off-by: Thomas Petazzoni +--- + Makefile.am | 1 - + configure.in | 3 +++ + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index d10c906..c983a3e 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -3,7 +3,6 @@ AM_CPPFLAGS = \ + -DPORTMAP \ + -DFACILITY=LOG_MAIL \ + -DSEVERITY=LOG_INFO \ +- -DINET6 \ + -DRPCBIND_STATEDIR="\"$(statedir)\"" \ + -DRPCBIND_USER="\"$(rpcuser)\"" \ + -D_GNU_SOURCE \ +diff --git a/configure.ac b/configure.ac +index 2b67720..f144c8e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -36,4 +36,7 @@ AS_IF([test x$enable_libwrap = xyes], [ + + AC_SEARCH_LIBS([pthread_create], [pthread]) + ++AC_CHECK_HEADER(netinet/ip6.h, ++ AC_DEFINE(INET6, 1, [Define to 1 if IPv6 is available])) ++ + AC_OUTPUT([Makefile]) +-- +2.0.0 + diff --git a/package/rpcbind/rpcbind-0001-Remove-yellow-pages-support.patch b/package/rpcbind/rpcbind-0001-Remove-yellow-pages-support.patch deleted file mode 100644 index e35828fe21..0000000000 --- a/package/rpcbind/rpcbind-0001-Remove-yellow-pages-support.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 249e25c5cc675c212ca4e4a3342bff8f59285b1a Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 10 Nov 2012 22:03:43 +0100 -Subject: [PATCH] Remove yellow pages support - -This support requires yellow pages support in libtirpc, which isn't -available. As most Buildroot users are most likely never going to need -such feature, get rid of it. - -Signed-off-by: Thomas Petazzoni ---- - src/security.c | 18 ------------------ - 1 file changed, 18 deletions(-) - -diff --git a/src/security.c b/src/security.c -index d272f74..8d5863c 100644 ---- a/src/security.c -+++ b/src/security.c -@@ -23,9 +23,6 @@ - #include - #include - #include --#include --#include --#include - - #include "rpcbind.h" - -@@ -308,24 +305,9 @@ check_callit(SVCXPRT *xprt, struct r_rmtcall_args *args, int versnum /*__unused* - args->rmt_proc != MOUNTPROC_UMNT) - break; - goto deny; -- case YPBINDPROG: -- if (args->rmt_proc != YPBINDPROC_SETDOM) -- break; -- /* FALLTHROUGH */ -- case YPPASSWDPROG: - case NFS_PROGRAM: - case RQUOTAPROG: - goto deny; -- case YPPROG: -- switch (args->rmt_proc) { -- case YPPROC_ALL: -- case YPPROC_MATCH: -- case YPPROC_FIRST: -- case YPPROC_NEXT: -- goto deny; -- default: -- break; -- } - default: - break; - } --- -2.0.0 - diff --git a/package/rpcbind/rpcbind-0003-Make-IPv6-configurable.patch b/package/rpcbind/rpcbind-0003-Make-IPv6-configurable.patch deleted file mode 100644 index 0bb311c077..0000000000 --- a/package/rpcbind/rpcbind-0003-Make-IPv6-configurable.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 5a1826d116ae986cb464d3503e0ae9ceaba3a687 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 10 Nov 2012 22:24:56 +0100 -Subject: [PATCH] Make IPv6 configurable - -Add an autoconf check that verifies whether IPv6 is available or not, -and define the INET6 macro if available, instead of hardcoding it in -src/Makefile.am. - -Signed-off-by: Thomas Petazzoni ---- - Makefile.am | 1 - - configure.in | 3 +++ - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index d10c906..c983a3e 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -3,7 +3,6 @@ AM_CPPFLAGS = \ - -DPORTMAP \ - -DFACILITY=LOG_MAIL \ - -DSEVERITY=LOG_INFO \ -- -DINET6 \ - -DRPCBIND_STATEDIR="\"$(statedir)\"" \ - -DRPCBIND_USER="\"$(rpcuser)\"" \ - -D_GNU_SOURCE \ -diff --git a/configure.ac b/configure.ac -index 2b67720..f144c8e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -36,4 +36,7 @@ AS_IF([test x$enable_libwrap = xyes], [ - - AC_SEARCH_LIBS([pthread_create], [pthread]) - -+AC_CHECK_HEADER(netinet/ip6.h, -+ AC_DEFINE(INET6, 1, [Define to 1 if IPv6 is available])) -+ - AC_OUTPUT([Makefile]) --- -2.0.0 - diff --git a/package/rpi-userland/0001-add-pkgconfig-files.patch b/package/rpi-userland/0001-add-pkgconfig-files.patch new file mode 100644 index 0000000000..e88f810b34 --- /dev/null +++ b/package/rpi-userland/0001-add-pkgconfig-files.patch @@ -0,0 +1,82 @@ +Add .pc files for the OpenGLESv2, EGL and bcm_host libraries + +Those pkg-config files make it easier for Qt5 to find those libraries +and the appropriate link flags. + +Signed-off-by: Thomas Petazzoni +Signed-off-by: "Yann E. MORIN" + +Index: b/interface/khronos/egl/egl.pc.in +=================================================================== +--- /dev/null ++++ b/interface/khronos/egl/egl.pc.in +@@ -0,0 +1,11 @@ ++prefix=@CMAKE_INSTALL_PREFIX@ ++exec_prefix=${prefix} ++libdir=${exec_prefix}/lib ++includedir=${prefix}/include ++ ++Name: egl ++Description: RasberryPi implementation of EGL ++Version: 10 ++Libs: -L${libdir} -lEGL -lGLESv2 -lbcm_host -lvchostif ++Cflags: -I${includedir}/ -I${includedir}/interface/vcos/pthreads/ \ ++ -I${includedir}/interface/vmcs_host/linux/ +Index: b/interface/khronos/CMakeLists.txt +=================================================================== +--- a/interface/khronos/CMakeLists.txt ++++ b/interface/khronos/CMakeLists.txt +@@ -74,3 +74,11 @@ + + install(TARGETS EGL GLESv2 OpenVG WFC khrn_client DESTINATION lib) + install(TARGETS EGL_static GLESv2_static khrn_static DESTINATION lib) ++configure_file("${CMAKE_CURRENT_SOURCE_DIR}/egl/egl.pc.in" ++ "${CMAKE_CURRENT_BINARY_DIR}/egl/egl.pc" @ONLY) ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/egl/egl.pc" ++ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig") ++configure_file("${CMAKE_CURRENT_SOURCE_DIR}/glxx/glesv2.pc.in" ++ "${CMAKE_CURRENT_BINARY_DIR}/glxx/glesv2.pc" @ONLY) ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/glxx/glesv2.pc" ++ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig") +Index: b/interface/khronos/glxx/glesv2.pc.in +=================================================================== +--- /dev/null ++++ b/interface/khronos/glxx/glesv2.pc.in +@@ -0,0 +1,10 @@ ++prefix=@CMAKE_INSTALL_PREFIX@ ++exec_prefix=${prefix} ++libdir=${exec_prefix}/lib ++includedir=${prefix}/include ++ ++Name: glesv2 ++Description: RasberryPi implementation of OpenGL ESv2 ++Version: 2.0 ++Libs: -L${libdir} -lGLESv2 ++Cflags: -I${includedir}/ +Index: b/host_applications/linux/libs/bcm_host/CMakeLists.txt +=================================================================== +--- a/host_applications/linux/libs/bcm_host/CMakeLists.txt ++++ b/host_applications/linux/libs/bcm_host/CMakeLists.txt +@@ -20,3 +20,7 @@ + + install(TARGETS bcm_host DESTINATION lib) + ++configure_file("${CMAKE_CURRENT_SOURCE_DIR}/bcm_host.pc.in" ++ "${CMAKE_CURRENT_BINARY_DIR}/bcm_host.pc" @ONLY) ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/bcm_host.pc" ++ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig") +Index: b/host_applications/linux/libs/bcm_host/bcm_host.pc.in +=================================================================== +--- /dev/null ++++ b/host_applications/linux/libs/bcm_host/bcm_host.pc.in +@@ -0,0 +1,10 @@ ++prefix=/usr ++exec_prefix=${prefix} ++libdir=${exec_prefix}/lib ++includedir=${prefix}/include ++ ++Name: bcm_host ++Description: Broadcom VideoCore host API library ++Version: 1 ++Libs: -L${libdir} -lbcm_host -lvcos -lvchiq_arm ++Cflags: -I${includedir} -I${includedir}/interface/vmcs_host/linux -I${includedir}/interface/vcos/pthreads -DUSE_VCHIQ_ARM diff --git a/package/rpi-userland/0002-makefiles-cmake-vmcs.cmake-allow-to-override-VMCS_IN.patch b/package/rpi-userland/0002-makefiles-cmake-vmcs.cmake-allow-to-override-VMCS_IN.patch new file mode 100644 index 0000000000..e54d29e03d --- /dev/null +++ b/package/rpi-userland/0002-makefiles-cmake-vmcs.cmake-allow-to-override-VMCS_IN.patch @@ -0,0 +1,26 @@ +From fec2560cfcb8d3398e4f1ccc3de7923365873676 Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Sat, 5 Jan 2013 16:04:55 +0100 +Subject: [PATCH] makefiles/cmake/vmcs.cmake: allow to override + VMCS_INSTALL_PREFIX + +Signed-off-by: Samuel Martin +--- + makefiles/cmake/vmcs.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/makefiles/cmake/vmcs.cmake b/makefiles/cmake/vmcs.cmake +index 0f8641b..cc70cca 100644 +--- a/makefiles/cmake/vmcs.cmake ++++ b/makefiles/cmake/vmcs.cmake +@@ -9,7 +9,7 @@ INCLUDE(CPack) + # Where shall we install? + if (ANDROID) + SET(VMCS_INSTALL_PREFIX "/vendor/brcm/islands" CACHE PATH "Prefix prepended to install directories" FORCE) +-else() ++elseif(NOT DEFINED VMCS_INSTALL_PREFIX) + SET(VMCS_INSTALL_PREFIX "/opt/vc" CACHE PATH "Prefix prepended to install directories" FORCE) + endif() + +-- +1.8.1 diff --git a/package/rpi-userland/0003-remove-faulty-assert.patch b/package/rpi-userland/0003-remove-faulty-assert.patch new file mode 100644 index 0000000000..c23c43ae0e --- /dev/null +++ b/package/rpi-userland/0003-remove-faulty-assert.patch @@ -0,0 +1,21 @@ +interface: remove faulty assert() to make weston happy at runtime + +This was removed after a discussion on IRC with the weston guys +('daniels' on irc.freenode.net/#wayland). + +Signed-off-by: "Yann E. MORIN" +--- +Upstream status: no, will be pushed by weston guys later. +If not, I'll do it. + +diff -durN rpi-userland-77d32cd.orig/interface/vmcs_host/vc_vchi_dispmanx.c rpi-userland-77d32cd/interface/vmcs_host/vc_vchi_dispmanx.c +--- rpi-userland-77d32cd.orig/interface/vmcs_host/vc_vchi_dispmanx.c 2013-10-04 17:43:44.000000000 +0200 ++++ rpi-userland-77d32cd/interface/vmcs_host/vc_vchi_dispmanx.c 2013-10-08 22:28:51.611433539 +0200 +@@ -1187,7 +1187,6 @@ + continue; + + if(dispmanx_client.update_callback ) { +- vcos_assert( dispmanx_client.pending_update_handle == (DISPMANX_UPDATE_HANDLE_T) dispmanx_client.notify_buffer[1]); + dispmanx_client.update_callback((DISPMANX_UPDATE_HANDLE_T) dispmanx_client.notify_buffer[1], dispmanx_client.update_callback_param); + } + } diff --git a/package/rpi-userland/0004-fix-musl-compile.patch b/package/rpi-userland/0004-fix-musl-compile.patch new file mode 100644 index 0000000000..f960482805 --- /dev/null +++ b/package/rpi-userland/0004-fix-musl-compile.patch @@ -0,0 +1,113 @@ +From 198d93fab0659f7a548329d742de8b3e27cfd977 Mon Sep 17 00:00:00 2001 +From: Maarten ter Huurne +Date: Fri, 12 Sep 2014 18:28:51 +0200 +Subject: [PATCH] Combined musl compile fixes + +The individual patches and their descriptions can be found here: +https://github.com/raspberrypi/userland/pull/201 + +Upstream status: accepted (4333d6d) +However, bumping to that revision is currently not an option since that +also pulls in 66338d3 which breaks Weston: +http://lists.busybox.net/pipermail/buildroot/2014-October/109309.html + +Signed-off-by: Maarten ter Huurne +--- + containers/CMakeLists.txt | 2 +- + host_applications/linux/apps/hello_pi/CMakeLists.txt | 2 +- + host_applications/linux/apps/hello_pi/libs/vgfont/Makefile | 1 - + interface/vcos/pthreads/vcos_platform.h | 3 --- + interface/vcos/pthreads/vcos_pthreads.c | 2 +- + interface/vmcs_host/linux/vcfilesys.c | 4 ++-- + 6 files changed, 5 insertions(+), 9 deletions(-) + +diff --git a/containers/CMakeLists.txt b/containers/CMakeLists.txt +index 721f74f..a29a885 100644 +--- a/containers/CMakeLists.txt ++++ b/containers/CMakeLists.txt +@@ -13,7 +13,7 @@ add_definitions(-DDL_PATH_PREFIX="${VMCS_PLUGIN_DIR}/") + + SET( GCC_COMPILER_FLAGS -Wall -g -O2 -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wcast-qual -Wwrite-strings -Wundef ) + SET( GCC_COMPILER_FLAGS ${GCC_COMPILER_FLAGS} -Wextra )#-Wno-missing-field-initializers ) +-SET( GCC_COMPILER_FLAGS ${GCC_COMPILER_FLAGS} -D__STDC_VERSION__=199901L ) ++SET( GCC_COMPILER_FLAGS ${GCC_COMPILER_FLAGS} -std=c99 -D_POSIX_C_SOURCE=199309L ) + SET( GCC_COMPILER_FLAGS ${GCC_COMPILER_FLAGS} -Wno-missing-field-initializers ) + SET( GCC_COMPILER_FLAGS ${GCC_COMPILER_FLAGS} -Wno-unused-value ) + +diff --git a/host_applications/linux/apps/hello_pi/CMakeLists.txt b/host_applications/linux/apps/hello_pi/CMakeLists.txt +index ab4dae3..f2c6aef 100644 +--- a/host_applications/linux/apps/hello_pi/CMakeLists.txt ++++ b/host_applications/linux/apps/hello_pi/CMakeLists.txt +@@ -24,7 +24,7 @@ add_subdirectory(hello_teapot) + + if(BUILD_FONT) + set(VGFONT_SRCS libs/vgfont/font.c libs/vgfont/vgft.c libs/vgfont/graphics.c) +-set_source_files_properties(${VGFONT_SRCS} PROPERTIES COMPILE_DEFINITIONS "_HAVE_TIMER_T") ++set_source_files_properties(${VGFONT_SRCS} PROPERTIES COMPILE_DEFINITIONS) + add_library(vgfont ${VGFONT_SRCS}) + + add_subdirectory(hello_font) +diff --git a/host_applications/linux/apps/hello_pi/libs/vgfont/Makefile b/host_applications/linux/apps/hello_pi/libs/vgfont/Makefile +index d04fb08..1e2a22b 100755 +--- a/host_applications/linux/apps/hello_pi/libs/vgfont/Makefile ++++ b/host_applications/linux/apps/hello_pi/libs/vgfont/Makefile +@@ -2,7 +2,6 @@ OBJS=font.o vgft.o graphics.o + LIB=libvgfont.a + + INCLUDES+=-I$(SDKSTAGE)/usr/include/freetype2 -I$(SDKSTAGE)/usr/include -I$(SDKSTAGE)/usr/include/arm-linux-gnueabi +-CFLAGS+=-D_HAVE_TIMER_T + + include ../../Makefile.include + +diff --git a/interface/vcos/pthreads/vcos_platform.h b/interface/vcos/pthreads/vcos_platform.h +index 468098b..2095e25 100755 +--- a/interface/vcos/pthreads/vcos_platform.h ++++ b/interface/vcos/pthreads/vcos_platform.h +@@ -120,9 +120,6 @@ typedef struct + + #define VCOS_ONCE_INIT PTHREAD_ONCE_INIT + +-#if defined(__arm__) && !defined(_HAVE_TIMER_T) && !defined(ANDROID) +-typedef __timer_t timer_t; +-#endif + typedef struct VCOS_TIMER_T + { + pthread_t thread; /**< id of the timer thread */ +diff --git a/interface/vcos/pthreads/vcos_pthreads.c b/interface/vcos/pthreads/vcos_pthreads.c +index 668f647..fdc8bc4 100644 +--- a/interface/vcos/pthreads/vcos_pthreads.c ++++ b/interface/vcos/pthreads/vcos_pthreads.c +@@ -33,7 +33,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include +-#include ++#include + + /* Cygwin doesn't always have prctl.h and it doesn't have PR_SET_NAME */ + #if defined( __linux__ ) +diff --git a/interface/vmcs_host/linux/vcfilesys.c b/interface/vmcs_host/linux/vcfilesys.c +index ab65e3e..53c7486 100644 +--- a/interface/vmcs_host/linux/vcfilesys.c ++++ b/interface/vmcs_host/linux/vcfilesys.c +@@ -49,7 +49,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + +-#if !defined(ANDROID) && !defined( __USE_FILE_OFFSET64 ) ++#if defined(__GLIBC__) && !defined( __USE_FILE_OFFSET64 ) + #error "__USE_FILE_OFFSET64 isn't defined" + #endif + +@@ -916,7 +916,7 @@ int vc_hostfs_set_attr(const char *path, fattributes_t attr) + + if (pathbuf) + { +- __mode_t mode = 0; ++ mode_t mode = 0; + struct stat sb; + + backslash_to_slash(pathbuf); +-- +1.8.4.5 + diff --git a/package/rpi-userland/rpi-userland-000-add-pkgconfig-files.patch b/package/rpi-userland/rpi-userland-000-add-pkgconfig-files.patch deleted file mode 100644 index e88f810b34..0000000000 --- a/package/rpi-userland/rpi-userland-000-add-pkgconfig-files.patch +++ /dev/null @@ -1,82 +0,0 @@ -Add .pc files for the OpenGLESv2, EGL and bcm_host libraries - -Those pkg-config files make it easier for Qt5 to find those libraries -and the appropriate link flags. - -Signed-off-by: Thomas Petazzoni -Signed-off-by: "Yann E. MORIN" - -Index: b/interface/khronos/egl/egl.pc.in -=================================================================== ---- /dev/null -+++ b/interface/khronos/egl/egl.pc.in -@@ -0,0 +1,11 @@ -+prefix=@CMAKE_INSTALL_PREFIX@ -+exec_prefix=${prefix} -+libdir=${exec_prefix}/lib -+includedir=${prefix}/include -+ -+Name: egl -+Description: RasberryPi implementation of EGL -+Version: 10 -+Libs: -L${libdir} -lEGL -lGLESv2 -lbcm_host -lvchostif -+Cflags: -I${includedir}/ -I${includedir}/interface/vcos/pthreads/ \ -+ -I${includedir}/interface/vmcs_host/linux/ -Index: b/interface/khronos/CMakeLists.txt -=================================================================== ---- a/interface/khronos/CMakeLists.txt -+++ b/interface/khronos/CMakeLists.txt -@@ -74,3 +74,11 @@ - - install(TARGETS EGL GLESv2 OpenVG WFC khrn_client DESTINATION lib) - install(TARGETS EGL_static GLESv2_static khrn_static DESTINATION lib) -+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/egl/egl.pc.in" -+ "${CMAKE_CURRENT_BINARY_DIR}/egl/egl.pc" @ONLY) -+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/egl/egl.pc" -+ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig") -+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/glxx/glesv2.pc.in" -+ "${CMAKE_CURRENT_BINARY_DIR}/glxx/glesv2.pc" @ONLY) -+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/glxx/glesv2.pc" -+ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig") -Index: b/interface/khronos/glxx/glesv2.pc.in -=================================================================== ---- /dev/null -+++ b/interface/khronos/glxx/glesv2.pc.in -@@ -0,0 +1,10 @@ -+prefix=@CMAKE_INSTALL_PREFIX@ -+exec_prefix=${prefix} -+libdir=${exec_prefix}/lib -+includedir=${prefix}/include -+ -+Name: glesv2 -+Description: RasberryPi implementation of OpenGL ESv2 -+Version: 2.0 -+Libs: -L${libdir} -lGLESv2 -+Cflags: -I${includedir}/ -Index: b/host_applications/linux/libs/bcm_host/CMakeLists.txt -=================================================================== ---- a/host_applications/linux/libs/bcm_host/CMakeLists.txt -+++ b/host_applications/linux/libs/bcm_host/CMakeLists.txt -@@ -20,3 +20,7 @@ - - install(TARGETS bcm_host DESTINATION lib) - -+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/bcm_host.pc.in" -+ "${CMAKE_CURRENT_BINARY_DIR}/bcm_host.pc" @ONLY) -+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/bcm_host.pc" -+ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig") -Index: b/host_applications/linux/libs/bcm_host/bcm_host.pc.in -=================================================================== ---- /dev/null -+++ b/host_applications/linux/libs/bcm_host/bcm_host.pc.in -@@ -0,0 +1,10 @@ -+prefix=/usr -+exec_prefix=${prefix} -+libdir=${exec_prefix}/lib -+includedir=${prefix}/include -+ -+Name: bcm_host -+Description: Broadcom VideoCore host API library -+Version: 1 -+Libs: -L${libdir} -lbcm_host -lvcos -lvchiq_arm -+Cflags: -I${includedir} -I${includedir}/interface/vmcs_host/linux -I${includedir}/interface/vcos/pthreads -DUSE_VCHIQ_ARM diff --git a/package/rpi-userland/rpi-userland-001-makefiles-cmake-vmcs.cmake-allow-to-override-VMCS_IN.patch b/package/rpi-userland/rpi-userland-001-makefiles-cmake-vmcs.cmake-allow-to-override-VMCS_IN.patch deleted file mode 100644 index e54d29e03d..0000000000 --- a/package/rpi-userland/rpi-userland-001-makefiles-cmake-vmcs.cmake-allow-to-override-VMCS_IN.patch +++ /dev/null @@ -1,26 +0,0 @@ -From fec2560cfcb8d3398e4f1ccc3de7923365873676 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sat, 5 Jan 2013 16:04:55 +0100 -Subject: [PATCH] makefiles/cmake/vmcs.cmake: allow to override - VMCS_INSTALL_PREFIX - -Signed-off-by: Samuel Martin ---- - makefiles/cmake/vmcs.cmake | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/makefiles/cmake/vmcs.cmake b/makefiles/cmake/vmcs.cmake -index 0f8641b..cc70cca 100644 ---- a/makefiles/cmake/vmcs.cmake -+++ b/makefiles/cmake/vmcs.cmake -@@ -9,7 +9,7 @@ INCLUDE(CPack) - # Where shall we install? - if (ANDROID) - SET(VMCS_INSTALL_PREFIX "/vendor/brcm/islands" CACHE PATH "Prefix prepended to install directories" FORCE) --else() -+elseif(NOT DEFINED VMCS_INSTALL_PREFIX) - SET(VMCS_INSTALL_PREFIX "/opt/vc" CACHE PATH "Prefix prepended to install directories" FORCE) - endif() - --- -1.8.1 diff --git a/package/rpi-userland/rpi-userland-002-remove-faulty-assert.patch b/package/rpi-userland/rpi-userland-002-remove-faulty-assert.patch deleted file mode 100644 index c23c43ae0e..0000000000 --- a/package/rpi-userland/rpi-userland-002-remove-faulty-assert.patch +++ /dev/null @@ -1,21 +0,0 @@ -interface: remove faulty assert() to make weston happy at runtime - -This was removed after a discussion on IRC with the weston guys -('daniels' on irc.freenode.net/#wayland). - -Signed-off-by: "Yann E. MORIN" ---- -Upstream status: no, will be pushed by weston guys later. -If not, I'll do it. - -diff -durN rpi-userland-77d32cd.orig/interface/vmcs_host/vc_vchi_dispmanx.c rpi-userland-77d32cd/interface/vmcs_host/vc_vchi_dispmanx.c ---- rpi-userland-77d32cd.orig/interface/vmcs_host/vc_vchi_dispmanx.c 2013-10-04 17:43:44.000000000 +0200 -+++ rpi-userland-77d32cd/interface/vmcs_host/vc_vchi_dispmanx.c 2013-10-08 22:28:51.611433539 +0200 -@@ -1187,7 +1187,6 @@ - continue; - - if(dispmanx_client.update_callback ) { -- vcos_assert( dispmanx_client.pending_update_handle == (DISPMANX_UPDATE_HANDLE_T) dispmanx_client.notify_buffer[1]); - dispmanx_client.update_callback((DISPMANX_UPDATE_HANDLE_T) dispmanx_client.notify_buffer[1], dispmanx_client.update_callback_param); - } - } diff --git a/package/rpi-userland/rpi-userland-003-fix-musl-compile.patch b/package/rpi-userland/rpi-userland-003-fix-musl-compile.patch deleted file mode 100644 index f960482805..0000000000 --- a/package/rpi-userland/rpi-userland-003-fix-musl-compile.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 198d93fab0659f7a548329d742de8b3e27cfd977 Mon Sep 17 00:00:00 2001 -From: Maarten ter Huurne -Date: Fri, 12 Sep 2014 18:28:51 +0200 -Subject: [PATCH] Combined musl compile fixes - -The individual patches and their descriptions can be found here: -https://github.com/raspberrypi/userland/pull/201 - -Upstream status: accepted (4333d6d) -However, bumping to that revision is currently not an option since that -also pulls in 66338d3 which breaks Weston: -http://lists.busybox.net/pipermail/buildroot/2014-October/109309.html - -Signed-off-by: Maarten ter Huurne ---- - containers/CMakeLists.txt | 2 +- - host_applications/linux/apps/hello_pi/CMakeLists.txt | 2 +- - host_applications/linux/apps/hello_pi/libs/vgfont/Makefile | 1 - - interface/vcos/pthreads/vcos_platform.h | 3 --- - interface/vcos/pthreads/vcos_pthreads.c | 2 +- - interface/vmcs_host/linux/vcfilesys.c | 4 ++-- - 6 files changed, 5 insertions(+), 9 deletions(-) - -diff --git a/containers/CMakeLists.txt b/containers/CMakeLists.txt -index 721f74f..a29a885 100644 ---- a/containers/CMakeLists.txt -+++ b/containers/CMakeLists.txt -@@ -13,7 +13,7 @@ add_definitions(-DDL_PATH_PREFIX="${VMCS_PLUGIN_DIR}/") - - SET( GCC_COMPILER_FLAGS -Wall -g -O2 -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wcast-qual -Wwrite-strings -Wundef ) - SET( GCC_COMPILER_FLAGS ${GCC_COMPILER_FLAGS} -Wextra )#-Wno-missing-field-initializers ) --SET( GCC_COMPILER_FLAGS ${GCC_COMPILER_FLAGS} -D__STDC_VERSION__=199901L ) -+SET( GCC_COMPILER_FLAGS ${GCC_COMPILER_FLAGS} -std=c99 -D_POSIX_C_SOURCE=199309L ) - SET( GCC_COMPILER_FLAGS ${GCC_COMPILER_FLAGS} -Wno-missing-field-initializers ) - SET( GCC_COMPILER_FLAGS ${GCC_COMPILER_FLAGS} -Wno-unused-value ) - -diff --git a/host_applications/linux/apps/hello_pi/CMakeLists.txt b/host_applications/linux/apps/hello_pi/CMakeLists.txt -index ab4dae3..f2c6aef 100644 ---- a/host_applications/linux/apps/hello_pi/CMakeLists.txt -+++ b/host_applications/linux/apps/hello_pi/CMakeLists.txt -@@ -24,7 +24,7 @@ add_subdirectory(hello_teapot) - - if(BUILD_FONT) - set(VGFONT_SRCS libs/vgfont/font.c libs/vgfont/vgft.c libs/vgfont/graphics.c) --set_source_files_properties(${VGFONT_SRCS} PROPERTIES COMPILE_DEFINITIONS "_HAVE_TIMER_T") -+set_source_files_properties(${VGFONT_SRCS} PROPERTIES COMPILE_DEFINITIONS) - add_library(vgfont ${VGFONT_SRCS}) - - add_subdirectory(hello_font) -diff --git a/host_applications/linux/apps/hello_pi/libs/vgfont/Makefile b/host_applications/linux/apps/hello_pi/libs/vgfont/Makefile -index d04fb08..1e2a22b 100755 ---- a/host_applications/linux/apps/hello_pi/libs/vgfont/Makefile -+++ b/host_applications/linux/apps/hello_pi/libs/vgfont/Makefile -@@ -2,7 +2,6 @@ OBJS=font.o vgft.o graphics.o - LIB=libvgfont.a - - INCLUDES+=-I$(SDKSTAGE)/usr/include/freetype2 -I$(SDKSTAGE)/usr/include -I$(SDKSTAGE)/usr/include/arm-linux-gnueabi --CFLAGS+=-D_HAVE_TIMER_T - - include ../../Makefile.include - -diff --git a/interface/vcos/pthreads/vcos_platform.h b/interface/vcos/pthreads/vcos_platform.h -index 468098b..2095e25 100755 ---- a/interface/vcos/pthreads/vcos_platform.h -+++ b/interface/vcos/pthreads/vcos_platform.h -@@ -120,9 +120,6 @@ typedef struct - - #define VCOS_ONCE_INIT PTHREAD_ONCE_INIT - --#if defined(__arm__) && !defined(_HAVE_TIMER_T) && !defined(ANDROID) --typedef __timer_t timer_t; --#endif - typedef struct VCOS_TIMER_T - { - pthread_t thread; /**< id of the timer thread */ -diff --git a/interface/vcos/pthreads/vcos_pthreads.c b/interface/vcos/pthreads/vcos_pthreads.c -index 668f647..fdc8bc4 100644 ---- a/interface/vcos/pthreads/vcos_pthreads.c -+++ b/interface/vcos/pthreads/vcos_pthreads.c -@@ -33,7 +33,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - #include --#include -+#include - - /* Cygwin doesn't always have prctl.h and it doesn't have PR_SET_NAME */ - #if defined( __linux__ ) -diff --git a/interface/vmcs_host/linux/vcfilesys.c b/interface/vmcs_host/linux/vcfilesys.c -index ab65e3e..53c7486 100644 ---- a/interface/vmcs_host/linux/vcfilesys.c -+++ b/interface/vmcs_host/linux/vcfilesys.c -@@ -49,7 +49,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #include - #include - --#if !defined(ANDROID) && !defined( __USE_FILE_OFFSET64 ) -+#if defined(__GLIBC__) && !defined( __USE_FILE_OFFSET64 ) - #error "__USE_FILE_OFFSET64 isn't defined" - #endif - -@@ -916,7 +916,7 @@ int vc_hostfs_set_attr(const char *path, fattributes_t attr) - - if (pathbuf) - { -- __mode_t mode = 0; -+ mode_t mode = 0; - struct stat sb; - - backslash_to_slash(pathbuf); --- -1.8.4.5 - diff --git a/package/rpm/0001-uclibc-no-lfs-fix.patch b/package/rpm/0001-uclibc-no-lfs-fix.patch new file mode 100644 index 0000000000..00d0579736 --- /dev/null +++ b/package/rpm/0001-uclibc-no-lfs-fix.patch @@ -0,0 +1,22 @@ +[PATCH] rpm: fix build on uClibc with !LFS + +Signed-off-by: Peter Korsgaard +--- + rpmio/fts.c | 4 ++++ + 1 file changed, 4 insertions(+) + +Index: rpm-5.2.0/rpmio/fts.c +=================================================================== +--- rpm-5.2.0.orig/rpmio/fts.c ++++ rpm-5.2.0/rpmio/fts.c +@@ -47,6 +47,10 @@ static char sccsid[] = "@(#)fts.c 8.6 (B + #else + #if defined(__UCLIBC__) + # define __fxstat64(_stat_ver, _fd, _sbp) fstat((_fd), (_sbp)) ++# include ++# ifndef __UCLIBC_HAS_LFS__ ++# define stat64 stat ++# endif + #endif + #if defined(hpux) || defined(__hpux) + # define _INCLUDE_POSIX_SOURCE diff --git a/package/rpm/0002-depends-fix.patch b/package/rpm/0002-depends-fix.patch new file mode 100644 index 0000000000..4a92775763 --- /dev/null +++ b/package/rpm/0002-depends-fix.patch @@ -0,0 +1,19 @@ +Bugfix included upstream + +diff -u --new-file --recursive rpm-5.2.0_vanilla/lib/depends.c rpm-5.2.0_depends-fix/lib/depends.c +--- rpm-5.2.0_vanilla/lib/depends.c 2009-05-23 01:23:46.000000000 +0000 ++++ rpm-5.2.0_depends-fix/lib/depends.c 2009-09-22 06:33:37.950783501 +0000 +@@ -2371,11 +2371,11 @@ + + memset(selected, 0, sizeof(*selected) * ts->orderCount); + +- if ((requires = rpmteDS(p, RPMTAG_REQUIRENAME)) != NULL) { +- + /* Avoid narcisstic relations. */ + selected[rpmtsiOc(pi)] = 1; + ++ if ((requires = rpmteDS(p, RPMTAG_REQUIRENAME)) != NULL) { ++ + /* T2. Next "q <- p" relation. */ + + /* First, do pre-requisites. */ diff --git a/package/rpm/0003-exclude-some-tools.patch b/package/rpm/0003-exclude-some-tools.patch new file mode 100644 index 0000000000..2cbc7cbf6a --- /dev/null +++ b/package/rpm/0003-exclude-some-tools.patch @@ -0,0 +1,30 @@ +diff -ru rpm-5.2.0_vanilla/tools/Makefile.am rpm-5.2.0_exclude-some-tools/tools/Makefile.am +--- rpm-5.2.0_vanilla/tools/Makefile.am 2009-06-03 01:24:42.000000000 +0000 ++++ rpm-5.2.0_exclude-some-tools/tools/Makefile.am 2009-12-20 07:47:13.000000000 +0000 +@@ -45,9 +45,7 @@ + bin_PROGRAMS = rpm2cpio + + pkgbindir = @USRLIBRPM@/bin +-pkgbin_PROGRAMS = \ +- rpmcache rpmdigest grep mtree rpmrepo rpmspecdump wget \ +- rpmcmp rpmdeps @WITH_KEYUTILS_RPMKEY@ @WITH_LIBELF_DEBUGEDIT@ ++pkgbin_PROGRAMS = + dist_man_MANS = rpmgrep.1 + + debugedit_SOURCES = debugedit.c hashtab.c +diff -ru rpm-5.2.0_vanilla/tools/Makefile.in rpm-5.2.0_exclude-some-tools/tools/Makefile.in +--- rpm-5.2.0_vanilla/tools/Makefile.in 2009-07-07 21:14:06.000000000 +0000 ++++ rpm-5.2.0_exclude-some-tools/tools/Makefile.in 2009-12-20 07:47:37.000000000 +0000 +@@ -39,11 +39,7 @@ + target_triplet = @target@ + EXTRA_PROGRAMS = rpmkey$(EXEEXT) debugedit$(EXEEXT) + bin_PROGRAMS = rpm2cpio$(EXEEXT) +-pkgbin_PROGRAMS = rpmcache$(EXEEXT) rpmdigest$(EXEEXT) grep$(EXEEXT) \ +- mtree$(EXEEXT) rpmrepo$(EXEEXT) rpmspecdump$(EXEEXT) \ +- wget$(EXEEXT) rpmcmp$(EXEEXT) rpmdeps$(EXEEXT) \ +- @WITH_KEYUTILS_RPMKEY@ @WITH_LIBELF_DEBUGEDIT@ $(am__EXEEXT_1) \ +- $(am__EXEEXT_2) ++pkgbin_PROGRAMS = + @WITH_XAR_TRUE@am__append_1 = txar + @WITH_DB_INTERNAL_TRUE@@WITH_DB_TOOLS_INTEGRATED_TRUE@am__append_2 = db_tool + @WITH_DB_INTERNAL_TRUE@@WITH_DB_RPC_TRUE@@WITH_DB_TOOLS_INTEGRATED_TRUE@am__append_3 = \ diff --git a/package/rpm/0004-ignore-shared-mutexes.patch b/package/rpm/0004-ignore-shared-mutexes.patch new file mode 100644 index 0000000000..f19d6b6f32 --- /dev/null +++ b/package/rpm/0004-ignore-shared-mutexes.patch @@ -0,0 +1,12 @@ +diff -ru rpm-5.2.0_vanilla/db/env/env_open.c rpm-5.2.0_test/db/env/env_open.c +--- rpm-5.2.0_vanilla/db/env/env_open.c 2008-05-28 01:23:27.000000000 +0000 ++++ rpm-5.2.0_test/db/env/env_open.c 2009-12-24 14:54:55.000000000 +0000 +@@ -124,7 +124,7 @@ + } + } + +-#ifdef HAVE_MUTEX_THREAD_ONLY ++#ifdef NK_HAVE_MUTEX_THREAD_ONLY + /* + * Currently we support one kind of mutex that is intra-process only, + * POSIX 1003.1 pthreads, because a variety of systems don't support diff --git a/package/rpm/0005-no-parentdirs.patch b/package/rpm/0005-no-parentdirs.patch new file mode 100644 index 0000000000..d05c99ad61 --- /dev/null +++ b/package/rpm/0005-no-parentdirs.patch @@ -0,0 +1,14 @@ +Reduce parentdirs we use, parentdirs are used for ordering +Included upstream +diff -u --new-file --recursive rpm-5.1.9_vanilla/lib/depends.c rpm-5.1.9_no-parentdirs/lib/depends.c +--- rpm-5.1.9_vanilla/lib/depends.c 2009-04-12 19:46:17.000000000 +0000 ++++ rpm-5.1.9_no-parentdirs/lib/depends.c 2009-06-13 15:21:43.504999639 +0000 +@@ -2257,7 +2257,7 @@ + #define isAuto(_x) ((_x) & _autobits) + + /*@unchecked@*/ +-static int slashDepth = 100; /* #slashes pemitted in parentdir deps. */ ++static int slashDepth = 2; /* #slashes pemitted in parentdir deps. */ + + static int countSlashes(const char * dn) + /*@*/ diff --git a/package/rpm/0006-ordering-fix.patch b/package/rpm/0006-ordering-fix.patch new file mode 100644 index 0000000000..a618e1f2c9 --- /dev/null +++ b/package/rpm/0006-ordering-fix.patch @@ -0,0 +1,45 @@ +Included upstream +--- x/lib/depends.c 2009/05/15 13:40:58 1.445 ++++ y/lib/depends.c 2009/08/22 22:12:02 1.446 +@@ -2216,9 +2216,6 @@ + { + rpmte q, qprev; + +- /* Mark the package as queued. */ +- rpmteTSI(p)->tsi_queued = 1; +- + if ((*rp) == NULL) { /* 1st element */ + /*@-dependenttrans@*/ /* FIX: double indirection */ + (*rp) = (*qp) = p; +@@ -2238,6 +2235,12 @@ + /* XXX Insure removed after added. */ + if (rpmteType(p) == TR_REMOVED && rpmteType(p) != rpmteType(q)) + continue; ++ ++ /* XXX Follow all previous generations in the queue. */ ++ if (rpmteTSI(p)->tsi_queued > rpmteTSI(q)->tsi_queued) ++ continue; ++ ++ /* XXX Within a generation, queue behind more "important". */ + if (rpmteTSI(q)->tsi_qcnt <= rpmteTSI(p)->tsi_qcnt) + break; + } +@@ -2521,6 +2524,9 @@ + + if (rpmteTSI(p)->tsi_count != 0) + continue; ++ ++ /* Mark the package as queued. */ ++ rpmteTSI(p)->tsi_queued = orderingCount + 1; + rpmteTSI(p)->tsi_suc = NULL; + addQ(p, &q, &r, prefcolor); + qlen++; +@@ -2584,6 +2590,8 @@ + (void) rpmteSetParent(p, q); + (void) rpmteSetDegree(q, rpmteDegree(q)+1); + ++ /* Mark the package as queued. */ ++ rpmteTSI(p)->tsi_queued = orderingCount + 1; + /* XXX TODO: add control bit. */ + rpmteTSI(p)->tsi_suc = NULL; + /*@-nullstate@*/ /* XXX FIX: rpmteTSI(q)->tsi_suc can be NULL. */ diff --git a/package/rpm/0007-parentdir-vs-requires.patch b/package/rpm/0007-parentdir-vs-requires.patch new file mode 100644 index 0000000000..309ab254e0 --- /dev/null +++ b/package/rpm/0007-parentdir-vs-requires.patch @@ -0,0 +1,37 @@ +Avoid looking up files or directories that this package provides +Included upstream +diff -u --new-file --recursive rpm-5.2.0_vanilla/lib/depends.c rpm-5.2.0_parentdir-vs-requires/lib/depends.c +--- rpm-5.2.0_vanilla/lib/depends.c 2009-05-23 01:23:46.000000000 +0000 ++++ rpm-5.2.0_parentdir-vs-requires/lib/depends.c 2009-09-22 17:00:24.880956271 +0000 +@@ -2095,6 +2095,7 @@ + rpmtsi qi; rpmte q; + tsortInfo tsi; + nsType NSType = rpmdsNSType(requires); ++ const char * N = rpmdsN(requires); + fnpyKey key; + int teType = rpmteType(p); + alKey pkgKey; +@@ -2128,6 +2129,23 @@ + break; + } + ++ /* Avoid looking up files/directories that are "owned" by _THIS_ package. */ ++ if (*N == '/') { ++ rpmfi fi = rpmteFI(p, RPMTAG_BASENAMES); ++ int bingo = 0; ++ ++ fi = rpmfiInit(fi, 0); ++ while (rpmfiNext(fi) >= 0) { ++ const char * fn = rpmfiFN(fi); ++ if (strcmp(N, fn)) ++ continue; ++ bingo = 1; ++ break; ++ } ++ if (bingo) ++ return 0; ++ } ++ + pkgKey = RPMAL_NOMATCH; + key = rpmalSatisfiesDepend(al, requires, &pkgKey); + diff --git a/package/rpm/0008-short-circuit-c99.patch b/package/rpm/0008-short-circuit-c99.patch new file mode 100644 index 0000000000..5d7b53a25d --- /dev/null +++ b/package/rpm/0008-short-circuit-c99.patch @@ -0,0 +1,235 @@ +Buildroot specific +diff -ru rpm-5.1.9_vanilla/xz/configure rpm-5.1.9_short-circuit-c99/xz/configure +--- rpm-5.1.9_vanilla/xz/configure 2009-04-18 16:47:23.000000000 +0000 ++++ rpm-5.1.9_short-circuit-c99/xz/configure 2009-08-04 08:25:59.000000000 +0000 +@@ -4970,214 +4970,7 @@ + am__fastdepCC_FALSE= + fi + +- +- { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C99" >&5 +-$as_echo_n "checking for $CC option to accept ISO C99... " >&6; } +-if test "${ac_cv_prog_cc_c99+set}" = set; then +- $as_echo_n "(cached) " >&6 +-else +- ac_cv_prog_cc_c99=no +-ac_save_CC=$CC +-cat >conftest.$ac_ext <<_ACEOF +-/* confdefs.h. */ +-_ACEOF +-cat confdefs.h >>conftest.$ac_ext +-cat >>conftest.$ac_ext <<_ACEOF +-/* end confdefs.h. */ +-#include +-#include +-#include +-#include +-#include +- +-// Check varargs macros. These examples are taken from C99 6.10.3.5. +-#define debug(...) fprintf (stderr, __VA_ARGS__) +-#define showlist(...) puts (#__VA_ARGS__) +-#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +-static void +-test_varargs_macros (void) +-{ +- int x = 1234; +- int y = 5678; +- debug ("Flag"); +- debug ("X = %d\n", x); +- showlist (The first, second, and third items.); +- report (x>y, "x is %d but y is %d", x, y); +-} +- +-// Check long long types. +-#define BIG64 18446744073709551615ull +-#define BIG32 4294967295ul +-#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +-#if !BIG_OK +- your preprocessor is broken; +-#endif +-#if BIG_OK +-#else +- your preprocessor is broken; +-#endif +-static long long int bignum = -9223372036854775807LL; +-static unsigned long long int ubignum = BIG64; +- +-struct incomplete_array +-{ +- int datasize; +- double data[]; +-}; +- +-struct named_init { +- int number; +- const wchar_t *name; +- double average; +-}; +- +-typedef const char *ccp; +- +-static inline int +-test_restrict (ccp restrict text) +-{ +- // See if C++-style comments work. +- // Iterate through items via the restricted pointer. +- // Also check for declarations in for loops. +- for (unsigned int i = 0; *(text+i) != '\0'; ++i) +- continue; +- return 0; +-} +- +-// Check varargs and va_copy. +-static void +-test_varargs (const char *format, ...) +-{ +- va_list args; +- va_start (args, format); +- va_list args_copy; +- va_copy (args_copy, args); +- +- const char *str; +- int number; +- float fnumber; +- +- while (*format) +- { +- switch (*format++) +- { +- case 's': // string +- str = va_arg (args_copy, const char *); +- break; +- case 'd': // int +- number = va_arg (args_copy, int); +- break; +- case 'f': // float +- fnumber = va_arg (args_copy, double); +- break; +- default: +- break; +- } +- } +- va_end (args_copy); +- va_end (args); +-} +- +-int +-main () +-{ +- +- // Check bool. +- _Bool success = false; +- +- // Check restrict. +- if (test_restrict ("String literal") == 0) +- success = true; +- char *restrict newvar = "Another string"; +- +- // Check varargs. +- test_varargs ("s, d' f .", "string", 65, 34.234); +- test_varargs_macros (); +- +- // Check flexible array members. +- struct incomplete_array *ia = +- malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); +- ia->datasize = 10; +- for (int i = 0; i < ia->datasize; ++i) +- ia->data[i] = i * 1.234; +- +- // Check named initializers. +- struct named_init ni = { +- .number = 34, +- .name = L"Test wide string", +- .average = 543.34343, +- }; +- +- ni.number = 58; +- +- int dynamic_array[ni.number]; +- dynamic_array[ni.number - 1] = 543; +- +- // work around unused variable warnings +- return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' +- || dynamic_array[ni.number - 1] != 543); +- +- ; +- return 0; +-} +-_ACEOF +-for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all -qlanglvl=extc99 +-do +- CC="$ac_save_CC $ac_arg" +- rm -f conftest.$ac_objext +-if { (ac_try="$ac_compile" +-case "(($ac_try" in +- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; +- *) ac_try_echo=$ac_try;; +-esac +-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +-$as_echo "$ac_try_echo") >&5 +- (eval "$ac_compile") 2>conftest.er1 +- ac_status=$? +- grep -v '^ *+' conftest.er1 >conftest.err +- rm -f conftest.er1 +- cat conftest.err >&5 +- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 +- (exit $ac_status); } && { +- test -z "$ac_c_werror_flag" || +- test ! -s conftest.err +- } && test -s conftest.$ac_objext; then +- ac_cv_prog_cc_c99=$ac_arg +-else +- $as_echo "$as_me: failed program was:" >&5 +-sed 's/^/| /' conftest.$ac_ext >&5 +- +- +-fi +- +-rm -f core conftest.err conftest.$ac_objext +- test "x$ac_cv_prog_cc_c99" != "xno" && break +-done +-rm -f conftest.$ac_ext +-CC=$ac_save_CC +- +-fi +-# AC_CACHE_VAL +-case "x$ac_cv_prog_cc_c99" in +- x) +- { $as_echo "$as_me:$LINENO: result: none needed" >&5 +-$as_echo "none needed" >&6; } ;; +- xno) +- { $as_echo "$as_me:$LINENO: result: unsupported" >&5 +-$as_echo "unsupported" >&6; } ;; +- *) +- CC="$CC $ac_cv_prog_cc_c99" +- { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c99" >&5 +-$as_echo "$ac_cv_prog_cc_c99" >&6; } ;; +-esac +- +- +- +-if test x$ac_cv_prog_cc_c99 = xno ; then +- { { $as_echo "$as_me:$LINENO: error: No C99 compiler was found." >&5 +-$as_echo "$as_me: error: No C99 compiler was found." >&2;} +- { (exit 1); exit 1; }; } +-fi ++CC="$CC -std=c99" + + if test "x$CC" != xcc; then + { $as_echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5 +diff -ru rpm-5.1.9_vanilla/xz/configure.ac rpm-5.1.9_short-circuit-c99/xz/configure.ac +--- rpm-5.1.9_vanilla/xz/configure.ac 2009-02-16 17:07:46.000000000 +0000 ++++ rpm-5.1.9_short-circuit-c99/xz/configure.ac 2009-08-04 08:25:28.000000000 +0000 +@@ -402,10 +402,7 @@ + AM_INIT_AUTOMAKE([1.10 foreign tar-v7 filename-length-max=99]) + AC_PROG_LN_S + +-AC_PROG_CC_C99 +-if test x$ac_cv_prog_cc_c99 = xno ; then +- AC_MSG_ERROR([No C99 compiler was found.]) +-fi ++CC="$CC -std=c99" + + AM_PROG_CC_C_O + AM_PROG_AS diff --git a/package/rpm/rpm-5.2.0-uclibc-no-lfs-fix.patch b/package/rpm/rpm-5.2.0-uclibc-no-lfs-fix.patch deleted file mode 100644 index 00d0579736..0000000000 --- a/package/rpm/rpm-5.2.0-uclibc-no-lfs-fix.patch +++ /dev/null @@ -1,22 +0,0 @@ -[PATCH] rpm: fix build on uClibc with !LFS - -Signed-off-by: Peter Korsgaard ---- - rpmio/fts.c | 4 ++++ - 1 file changed, 4 insertions(+) - -Index: rpm-5.2.0/rpmio/fts.c -=================================================================== ---- rpm-5.2.0.orig/rpmio/fts.c -+++ rpm-5.2.0/rpmio/fts.c -@@ -47,6 +47,10 @@ static char sccsid[] = "@(#)fts.c 8.6 (B - #else - #if defined(__UCLIBC__) - # define __fxstat64(_stat_ver, _fd, _sbp) fstat((_fd), (_sbp)) -+# include -+# ifndef __UCLIBC_HAS_LFS__ -+# define stat64 stat -+# endif - #endif - #if defined(hpux) || defined(__hpux) - # define _INCLUDE_POSIX_SOURCE diff --git a/package/rpm/rpm-5.2.0_depends-fix.patch b/package/rpm/rpm-5.2.0_depends-fix.patch deleted file mode 100644 index 4a92775763..0000000000 --- a/package/rpm/rpm-5.2.0_depends-fix.patch +++ /dev/null @@ -1,19 +0,0 @@ -Bugfix included upstream - -diff -u --new-file --recursive rpm-5.2.0_vanilla/lib/depends.c rpm-5.2.0_depends-fix/lib/depends.c ---- rpm-5.2.0_vanilla/lib/depends.c 2009-05-23 01:23:46.000000000 +0000 -+++ rpm-5.2.0_depends-fix/lib/depends.c 2009-09-22 06:33:37.950783501 +0000 -@@ -2371,11 +2371,11 @@ - - memset(selected, 0, sizeof(*selected) * ts->orderCount); - -- if ((requires = rpmteDS(p, RPMTAG_REQUIRENAME)) != NULL) { -- - /* Avoid narcisstic relations. */ - selected[rpmtsiOc(pi)] = 1; - -+ if ((requires = rpmteDS(p, RPMTAG_REQUIRENAME)) != NULL) { -+ - /* T2. Next "q <- p" relation. */ - - /* First, do pre-requisites. */ diff --git a/package/rpm/rpm-5.2.0_exclude-some-tools.patch b/package/rpm/rpm-5.2.0_exclude-some-tools.patch deleted file mode 100644 index 2cbc7cbf6a..0000000000 --- a/package/rpm/rpm-5.2.0_exclude-some-tools.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -ru rpm-5.2.0_vanilla/tools/Makefile.am rpm-5.2.0_exclude-some-tools/tools/Makefile.am ---- rpm-5.2.0_vanilla/tools/Makefile.am 2009-06-03 01:24:42.000000000 +0000 -+++ rpm-5.2.0_exclude-some-tools/tools/Makefile.am 2009-12-20 07:47:13.000000000 +0000 -@@ -45,9 +45,7 @@ - bin_PROGRAMS = rpm2cpio - - pkgbindir = @USRLIBRPM@/bin --pkgbin_PROGRAMS = \ -- rpmcache rpmdigest grep mtree rpmrepo rpmspecdump wget \ -- rpmcmp rpmdeps @WITH_KEYUTILS_RPMKEY@ @WITH_LIBELF_DEBUGEDIT@ -+pkgbin_PROGRAMS = - dist_man_MANS = rpmgrep.1 - - debugedit_SOURCES = debugedit.c hashtab.c -diff -ru rpm-5.2.0_vanilla/tools/Makefile.in rpm-5.2.0_exclude-some-tools/tools/Makefile.in ---- rpm-5.2.0_vanilla/tools/Makefile.in 2009-07-07 21:14:06.000000000 +0000 -+++ rpm-5.2.0_exclude-some-tools/tools/Makefile.in 2009-12-20 07:47:37.000000000 +0000 -@@ -39,11 +39,7 @@ - target_triplet = @target@ - EXTRA_PROGRAMS = rpmkey$(EXEEXT) debugedit$(EXEEXT) - bin_PROGRAMS = rpm2cpio$(EXEEXT) --pkgbin_PROGRAMS = rpmcache$(EXEEXT) rpmdigest$(EXEEXT) grep$(EXEEXT) \ -- mtree$(EXEEXT) rpmrepo$(EXEEXT) rpmspecdump$(EXEEXT) \ -- wget$(EXEEXT) rpmcmp$(EXEEXT) rpmdeps$(EXEEXT) \ -- @WITH_KEYUTILS_RPMKEY@ @WITH_LIBELF_DEBUGEDIT@ $(am__EXEEXT_1) \ -- $(am__EXEEXT_2) -+pkgbin_PROGRAMS = - @WITH_XAR_TRUE@am__append_1 = txar - @WITH_DB_INTERNAL_TRUE@@WITH_DB_TOOLS_INTEGRATED_TRUE@am__append_2 = db_tool - @WITH_DB_INTERNAL_TRUE@@WITH_DB_RPC_TRUE@@WITH_DB_TOOLS_INTEGRATED_TRUE@am__append_3 = \ diff --git a/package/rpm/rpm-5.2.0_ignore-shared-mutexes.patch b/package/rpm/rpm-5.2.0_ignore-shared-mutexes.patch deleted file mode 100644 index f19d6b6f32..0000000000 --- a/package/rpm/rpm-5.2.0_ignore-shared-mutexes.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ru rpm-5.2.0_vanilla/db/env/env_open.c rpm-5.2.0_test/db/env/env_open.c ---- rpm-5.2.0_vanilla/db/env/env_open.c 2008-05-28 01:23:27.000000000 +0000 -+++ rpm-5.2.0_test/db/env/env_open.c 2009-12-24 14:54:55.000000000 +0000 -@@ -124,7 +124,7 @@ - } - } - --#ifdef HAVE_MUTEX_THREAD_ONLY -+#ifdef NK_HAVE_MUTEX_THREAD_ONLY - /* - * Currently we support one kind of mutex that is intra-process only, - * POSIX 1003.1 pthreads, because a variety of systems don't support diff --git a/package/rpm/rpm-5.2.0_no-parentdirs.patch b/package/rpm/rpm-5.2.0_no-parentdirs.patch deleted file mode 100644 index d05c99ad61..0000000000 --- a/package/rpm/rpm-5.2.0_no-parentdirs.patch +++ /dev/null @@ -1,14 +0,0 @@ -Reduce parentdirs we use, parentdirs are used for ordering -Included upstream -diff -u --new-file --recursive rpm-5.1.9_vanilla/lib/depends.c rpm-5.1.9_no-parentdirs/lib/depends.c ---- rpm-5.1.9_vanilla/lib/depends.c 2009-04-12 19:46:17.000000000 +0000 -+++ rpm-5.1.9_no-parentdirs/lib/depends.c 2009-06-13 15:21:43.504999639 +0000 -@@ -2257,7 +2257,7 @@ - #define isAuto(_x) ((_x) & _autobits) - - /*@unchecked@*/ --static int slashDepth = 100; /* #slashes pemitted in parentdir deps. */ -+static int slashDepth = 2; /* #slashes pemitted in parentdir deps. */ - - static int countSlashes(const char * dn) - /*@*/ diff --git a/package/rpm/rpm-5.2.0_ordering-fix.patch b/package/rpm/rpm-5.2.0_ordering-fix.patch deleted file mode 100644 index a618e1f2c9..0000000000 --- a/package/rpm/rpm-5.2.0_ordering-fix.patch +++ /dev/null @@ -1,45 +0,0 @@ -Included upstream ---- x/lib/depends.c 2009/05/15 13:40:58 1.445 -+++ y/lib/depends.c 2009/08/22 22:12:02 1.446 -@@ -2216,9 +2216,6 @@ - { - rpmte q, qprev; - -- /* Mark the package as queued. */ -- rpmteTSI(p)->tsi_queued = 1; -- - if ((*rp) == NULL) { /* 1st element */ - /*@-dependenttrans@*/ /* FIX: double indirection */ - (*rp) = (*qp) = p; -@@ -2238,6 +2235,12 @@ - /* XXX Insure removed after added. */ - if (rpmteType(p) == TR_REMOVED && rpmteType(p) != rpmteType(q)) - continue; -+ -+ /* XXX Follow all previous generations in the queue. */ -+ if (rpmteTSI(p)->tsi_queued > rpmteTSI(q)->tsi_queued) -+ continue; -+ -+ /* XXX Within a generation, queue behind more "important". */ - if (rpmteTSI(q)->tsi_qcnt <= rpmteTSI(p)->tsi_qcnt) - break; - } -@@ -2521,6 +2524,9 @@ - - if (rpmteTSI(p)->tsi_count != 0) - continue; -+ -+ /* Mark the package as queued. */ -+ rpmteTSI(p)->tsi_queued = orderingCount + 1; - rpmteTSI(p)->tsi_suc = NULL; - addQ(p, &q, &r, prefcolor); - qlen++; -@@ -2584,6 +2590,8 @@ - (void) rpmteSetParent(p, q); - (void) rpmteSetDegree(q, rpmteDegree(q)+1); - -+ /* Mark the package as queued. */ -+ rpmteTSI(p)->tsi_queued = orderingCount + 1; - /* XXX TODO: add control bit. */ - rpmteTSI(p)->tsi_suc = NULL; - /*@-nullstate@*/ /* XXX FIX: rpmteTSI(q)->tsi_suc can be NULL. */ diff --git a/package/rpm/rpm-5.2.0_parentdir-vs-requires.patch b/package/rpm/rpm-5.2.0_parentdir-vs-requires.patch deleted file mode 100644 index 309ab254e0..0000000000 --- a/package/rpm/rpm-5.2.0_parentdir-vs-requires.patch +++ /dev/null @@ -1,37 +0,0 @@ -Avoid looking up files or directories that this package provides -Included upstream -diff -u --new-file --recursive rpm-5.2.0_vanilla/lib/depends.c rpm-5.2.0_parentdir-vs-requires/lib/depends.c ---- rpm-5.2.0_vanilla/lib/depends.c 2009-05-23 01:23:46.000000000 +0000 -+++ rpm-5.2.0_parentdir-vs-requires/lib/depends.c 2009-09-22 17:00:24.880956271 +0000 -@@ -2095,6 +2095,7 @@ - rpmtsi qi; rpmte q; - tsortInfo tsi; - nsType NSType = rpmdsNSType(requires); -+ const char * N = rpmdsN(requires); - fnpyKey key; - int teType = rpmteType(p); - alKey pkgKey; -@@ -2128,6 +2129,23 @@ - break; - } - -+ /* Avoid looking up files/directories that are "owned" by _THIS_ package. */ -+ if (*N == '/') { -+ rpmfi fi = rpmteFI(p, RPMTAG_BASENAMES); -+ int bingo = 0; -+ -+ fi = rpmfiInit(fi, 0); -+ while (rpmfiNext(fi) >= 0) { -+ const char * fn = rpmfiFN(fi); -+ if (strcmp(N, fn)) -+ continue; -+ bingo = 1; -+ break; -+ } -+ if (bingo) -+ return 0; -+ } -+ - pkgKey = RPMAL_NOMATCH; - key = rpmalSatisfiesDepend(al, requires, &pkgKey); - diff --git a/package/rpm/rpm-5.2.0_short-circuit-c99.patch b/package/rpm/rpm-5.2.0_short-circuit-c99.patch deleted file mode 100644 index 5d7b53a25d..0000000000 --- a/package/rpm/rpm-5.2.0_short-circuit-c99.patch +++ /dev/null @@ -1,235 +0,0 @@ -Buildroot specific -diff -ru rpm-5.1.9_vanilla/xz/configure rpm-5.1.9_short-circuit-c99/xz/configure ---- rpm-5.1.9_vanilla/xz/configure 2009-04-18 16:47:23.000000000 +0000 -+++ rpm-5.1.9_short-circuit-c99/xz/configure 2009-08-04 08:25:59.000000000 +0000 -@@ -4970,214 +4970,7 @@ - am__fastdepCC_FALSE= - fi - -- -- { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C99" >&5 --$as_echo_n "checking for $CC option to accept ISO C99... " >&6; } --if test "${ac_cv_prog_cc_c99+set}" = set; then -- $as_echo_n "(cached) " >&6 --else -- ac_cv_prog_cc_c99=no --ac_save_CC=$CC --cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ --#include --#include --#include --#include --#include -- --// Check varargs macros. These examples are taken from C99 6.10.3.5. --#define debug(...) fprintf (stderr, __VA_ARGS__) --#define showlist(...) puts (#__VA_ARGS__) --#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) --static void --test_varargs_macros (void) --{ -- int x = 1234; -- int y = 5678; -- debug ("Flag"); -- debug ("X = %d\n", x); -- showlist (The first, second, and third items.); -- report (x>y, "x is %d but y is %d", x, y); --} -- --// Check long long types. --#define BIG64 18446744073709551615ull --#define BIG32 4294967295ul --#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) --#if !BIG_OK -- your preprocessor is broken; --#endif --#if BIG_OK --#else -- your preprocessor is broken; --#endif --static long long int bignum = -9223372036854775807LL; --static unsigned long long int ubignum = BIG64; -- --struct incomplete_array --{ -- int datasize; -- double data[]; --}; -- --struct named_init { -- int number; -- const wchar_t *name; -- double average; --}; -- --typedef const char *ccp; -- --static inline int --test_restrict (ccp restrict text) --{ -- // See if C++-style comments work. -- // Iterate through items via the restricted pointer. -- // Also check for declarations in for loops. -- for (unsigned int i = 0; *(text+i) != '\0'; ++i) -- continue; -- return 0; --} -- --// Check varargs and va_copy. --static void --test_varargs (const char *format, ...) --{ -- va_list args; -- va_start (args, format); -- va_list args_copy; -- va_copy (args_copy, args); -- -- const char *str; -- int number; -- float fnumber; -- -- while (*format) -- { -- switch (*format++) -- { -- case 's': // string -- str = va_arg (args_copy, const char *); -- break; -- case 'd': // int -- number = va_arg (args_copy, int); -- break; -- case 'f': // float -- fnumber = va_arg (args_copy, double); -- break; -- default: -- break; -- } -- } -- va_end (args_copy); -- va_end (args); --} -- --int --main () --{ -- -- // Check bool. -- _Bool success = false; -- -- // Check restrict. -- if (test_restrict ("String literal") == 0) -- success = true; -- char *restrict newvar = "Another string"; -- -- // Check varargs. -- test_varargs ("s, d' f .", "string", 65, 34.234); -- test_varargs_macros (); -- -- // Check flexible array members. -- struct incomplete_array *ia = -- malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); -- ia->datasize = 10; -- for (int i = 0; i < ia->datasize; ++i) -- ia->data[i] = i * 1.234; -- -- // Check named initializers. -- struct named_init ni = { -- .number = 34, -- .name = L"Test wide string", -- .average = 543.34343, -- }; -- -- ni.number = 58; -- -- int dynamic_array[ni.number]; -- dynamic_array[ni.number - 1] = 543; -- -- // work around unused variable warnings -- return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' -- || dynamic_array[ni.number - 1] != 543); -- -- ; -- return 0; --} --_ACEOF --for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all -qlanglvl=extc99 --do -- CC="$ac_save_CC $ac_arg" -- rm -f conftest.$ac_objext --if { (ac_try="$ac_compile" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -- (eval "$ac_compile") 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && { -- test -z "$ac_c_werror_flag" || -- test ! -s conftest.err -- } && test -s conftest.$ac_objext; then -- ac_cv_prog_cc_c99=$ac_arg --else -- $as_echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- -- --fi -- --rm -f core conftest.err conftest.$ac_objext -- test "x$ac_cv_prog_cc_c99" != "xno" && break --done --rm -f conftest.$ac_ext --CC=$ac_save_CC -- --fi --# AC_CACHE_VAL --case "x$ac_cv_prog_cc_c99" in -- x) -- { $as_echo "$as_me:$LINENO: result: none needed" >&5 --$as_echo "none needed" >&6; } ;; -- xno) -- { $as_echo "$as_me:$LINENO: result: unsupported" >&5 --$as_echo "unsupported" >&6; } ;; -- *) -- CC="$CC $ac_cv_prog_cc_c99" -- { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c99" >&5 --$as_echo "$ac_cv_prog_cc_c99" >&6; } ;; --esac -- -- -- --if test x$ac_cv_prog_cc_c99 = xno ; then -- { { $as_echo "$as_me:$LINENO: error: No C99 compiler was found." >&5 --$as_echo "$as_me: error: No C99 compiler was found." >&2;} -- { (exit 1); exit 1; }; } --fi -+CC="$CC -std=c99" - - if test "x$CC" != xcc; then - { $as_echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5 -diff -ru rpm-5.1.9_vanilla/xz/configure.ac rpm-5.1.9_short-circuit-c99/xz/configure.ac ---- rpm-5.1.9_vanilla/xz/configure.ac 2009-02-16 17:07:46.000000000 +0000 -+++ rpm-5.1.9_short-circuit-c99/xz/configure.ac 2009-08-04 08:25:28.000000000 +0000 -@@ -402,10 +402,7 @@ - AM_INIT_AUTOMAKE([1.10 foreign tar-v7 filename-length-max=99]) - AC_PROG_LN_S - --AC_PROG_CC_C99 --if test x$ac_cv_prog_cc_c99 = xno ; then -- AC_MSG_ERROR([No C99 compiler was found.]) --fi -+CC="$CC -std=c99" - - AM_PROG_CC_C_O - AM_PROG_AS diff --git a/package/rrdtool/0001-automake-compat.patch b/package/rrdtool/0001-automake-compat.patch new file mode 100644 index 0000000000..92b753db23 --- /dev/null +++ b/package/rrdtool/0001-automake-compat.patch @@ -0,0 +1,18 @@ +Make it compatible with newer autoconf/automake. +Patch from OpenWRT. + +Signed-off-by: Gustavo Zacarias + +--- a/bindings/tcl/Makefile.am ++++ b/bindings/tcl/Makefile.am +@@ -26,8 +26,8 @@ tclpkgdir = @TCL_PACKAGE_DIR@ + tclpkg_DATA = pkgIndex.tcl + tclpkg_SCRIPTS = ifOctets.tcl + else +-pkglib_DATA = pkgIndex.tcl +-pkglib_SCRIPTS = ifOctets.tcl ++pkgdata_DATA = pkgIndex.tcl ++pkgdata_SCRIPTS = ifOctets.tcl + endif + + # Automake doen't like `tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX)' as diff --git a/package/rrdtool/0002-configure-dont-hardcode-include-dirs.patch b/package/rrdtool/0002-configure-dont-hardcode-include-dirs.patch new file mode 100644 index 0000000000..43b57a1b22 --- /dev/null +++ b/package/rrdtool/0002-configure-dont-hardcode-include-dirs.patch @@ -0,0 +1,26 @@ +[PATCH] configure.ac: don't hardcode include files search paths + +Breaks cross compilation if host has libart/freetype. + +Signed-off-by: Peter Korsgaard +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: rrdtool-1.2.30/configure.ac +=================================================================== +--- rrdtool-1.2.30.orig/configure.ac ++++ rrdtool-1.2.30/configure.ac +@@ -524,10 +524,10 @@ + + CORE_LIBS="$LIBS" + +-EX_CHECK_ALL(art_lgpl_2, art_vpath_add_point, libart_lgpl/libart.h, libart-2.0, 2.3.17, ftp://ftp.gnome.org/pub/GNOME/sources/libart_lgpl/2.3/, /usr/include/libart-2.0) ++EX_CHECK_ALL(art_lgpl_2, art_vpath_add_point, libart_lgpl/libart.h, libart-2.0, 2.3.17, ftp://ftp.gnome.org/pub/GNOME/sources/libart_lgpl/2.3/, "") + EX_CHECK_ALL(z, zlibVersion, zlib.h, zlib, 1.2.3, http://www.gzip.org/zlib/, "") + EX_CHECK_ALL(png, png_access_version_number, png.h, libpng, 1.2.10, http://prdownloads.sourceforge.net/libpng/, "") +-EX_CHECK_ALL(freetype, FT_Init_FreeType, ft2build.h, freetype2, 2.1.10, http://prdownloads.sourceforge.net/freetype/, /usr/include/freetype2) ++EX_CHECK_ALL(freetype, FT_Init_FreeType, ft2build.h, freetype2, 2.1.10, http://prdownloads.sourceforge.net/freetype/, "") + + if test "$EX_CHECK_ALL_ERR" = "YES"; then + AC_MSG_ERROR([Please fix the library issues listed above and try again.]) diff --git a/package/rrdtool/rrdtool-automake-compat.patch b/package/rrdtool/rrdtool-automake-compat.patch deleted file mode 100644 index 92b753db23..0000000000 --- a/package/rrdtool/rrdtool-automake-compat.patch +++ /dev/null @@ -1,18 +0,0 @@ -Make it compatible with newer autoconf/automake. -Patch from OpenWRT. - -Signed-off-by: Gustavo Zacarias - ---- a/bindings/tcl/Makefile.am -+++ b/bindings/tcl/Makefile.am -@@ -26,8 +26,8 @@ tclpkgdir = @TCL_PACKAGE_DIR@ - tclpkg_DATA = pkgIndex.tcl - tclpkg_SCRIPTS = ifOctets.tcl - else --pkglib_DATA = pkgIndex.tcl --pkglib_SCRIPTS = ifOctets.tcl -+pkgdata_DATA = pkgIndex.tcl -+pkgdata_SCRIPTS = ifOctets.tcl - endif - - # Automake doen't like `tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX)' as diff --git a/package/rrdtool/rrdtool-configure-dont-hardcode-include-dirs.patch b/package/rrdtool/rrdtool-configure-dont-hardcode-include-dirs.patch deleted file mode 100644 index 43b57a1b22..0000000000 --- a/package/rrdtool/rrdtool-configure-dont-hardcode-include-dirs.patch +++ /dev/null @@ -1,26 +0,0 @@ -[PATCH] configure.ac: don't hardcode include files search paths - -Breaks cross compilation if host has libart/freetype. - -Signed-off-by: Peter Korsgaard ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: rrdtool-1.2.30/configure.ac -=================================================================== ---- rrdtool-1.2.30.orig/configure.ac -+++ rrdtool-1.2.30/configure.ac -@@ -524,10 +524,10 @@ - - CORE_LIBS="$LIBS" - --EX_CHECK_ALL(art_lgpl_2, art_vpath_add_point, libart_lgpl/libart.h, libart-2.0, 2.3.17, ftp://ftp.gnome.org/pub/GNOME/sources/libart_lgpl/2.3/, /usr/include/libart-2.0) -+EX_CHECK_ALL(art_lgpl_2, art_vpath_add_point, libart_lgpl/libart.h, libart-2.0, 2.3.17, ftp://ftp.gnome.org/pub/GNOME/sources/libart_lgpl/2.3/, "") - EX_CHECK_ALL(z, zlibVersion, zlib.h, zlib, 1.2.3, http://www.gzip.org/zlib/, "") - EX_CHECK_ALL(png, png_access_version_number, png.h, libpng, 1.2.10, http://prdownloads.sourceforge.net/libpng/, "") --EX_CHECK_ALL(freetype, FT_Init_FreeType, ft2build.h, freetype2, 2.1.10, http://prdownloads.sourceforge.net/freetype/, /usr/include/freetype2) -+EX_CHECK_ALL(freetype, FT_Init_FreeType, ft2build.h, freetype2, 2.1.10, http://prdownloads.sourceforge.net/freetype/, "") - - if test "$EX_CHECK_ALL_ERR" = "YES"; then - AC_MSG_ERROR([Please fix the library issues listed above and try again.]) diff --git a/package/rtorrent/0001-cross_compile.patch b/package/rtorrent/0001-cross_compile.patch new file mode 100644 index 0000000000..2be8d06076 --- /dev/null +++ b/package/rtorrent/0001-cross_compile.patch @@ -0,0 +1,27 @@ +Fix cross compilation, based on OpenWRT patch. + +Signed-off-by: Gustavo Zacarias + +diff -Nura rtorrent-0.9.2/configure.ac rtorrent-0.9.2-cross/configure.ac +--- rtorrent-0.9.2/configure.ac 2012-04-20 03:55:30.000000000 -0300 ++++ rtorrent-0.9.2-cross/configure.ac 2012-05-09 11:06:49.436474039 -0300 +@@ -4,7 +4,6 @@ + + AM_INIT_AUTOMAKE + AM_CONFIG_HEADER(config.h) +-AM_PATH_CPPUNIT(1.9.6) + + AC_PROG_CXX + AC_PROG_LIBTOOL +diff -Nura rtorrent-0.9.2/scripts/common.m4 rtorrent-0.9.2-cross/scripts/common.m4 +--- rtorrent-0.9.2/scripts/common.m4 2012-03-13 09:10:49.000000000 -0300 ++++ rtorrent-0.9.2-cross/scripts/common.m4 2012-05-09 11:05:56.620102678 -0300 +@@ -223,7 +223,7 @@ + AC_DEFUN([TORRENT_CHECK_EXECINFO], [ + AC_MSG_CHECKING(for execinfo.h) + +- AC_RUN_IFELSE([AC_LANG_SOURCE([ ++ AC_LINK_IFELSE([AC_LANG_SOURCE([ + #include + int main() { backtrace((void**)0, 0); backtrace_symbols((char**)0, 0); return 0;} + ])], diff --git a/package/rtorrent/rtorrent-cross_compile.patch b/package/rtorrent/rtorrent-cross_compile.patch deleted file mode 100644 index 2be8d06076..0000000000 --- a/package/rtorrent/rtorrent-cross_compile.patch +++ /dev/null @@ -1,27 +0,0 @@ -Fix cross compilation, based on OpenWRT patch. - -Signed-off-by: Gustavo Zacarias - -diff -Nura rtorrent-0.9.2/configure.ac rtorrent-0.9.2-cross/configure.ac ---- rtorrent-0.9.2/configure.ac 2012-04-20 03:55:30.000000000 -0300 -+++ rtorrent-0.9.2-cross/configure.ac 2012-05-09 11:06:49.436474039 -0300 -@@ -4,7 +4,6 @@ - - AM_INIT_AUTOMAKE - AM_CONFIG_HEADER(config.h) --AM_PATH_CPPUNIT(1.9.6) - - AC_PROG_CXX - AC_PROG_LIBTOOL -diff -Nura rtorrent-0.9.2/scripts/common.m4 rtorrent-0.9.2-cross/scripts/common.m4 ---- rtorrent-0.9.2/scripts/common.m4 2012-03-13 09:10:49.000000000 -0300 -+++ rtorrent-0.9.2-cross/scripts/common.m4 2012-05-09 11:05:56.620102678 -0300 -@@ -223,7 +223,7 @@ - AC_DEFUN([TORRENT_CHECK_EXECINFO], [ - AC_MSG_CHECKING(for execinfo.h) - -- AC_RUN_IFELSE([AC_LANG_SOURCE([ -+ AC_LINK_IFELSE([AC_LANG_SOURCE([ - #include - int main() { backtrace((void**)0, 0); backtrace_symbols((char**)0, 0); return 0;} - ])], diff --git a/package/rtptools/0001-host2ip-no-nis-on-uClibc.patch b/package/rtptools/0001-host2ip-no-nis-on-uClibc.patch new file mode 100644 index 0000000000..f1a72f9570 --- /dev/null +++ b/package/rtptools/0001-host2ip-no-nis-on-uClibc.patch @@ -0,0 +1,45 @@ +host2ip.c: disable NIS support when building with uClibc + +uClibc doesn't have NIS support, so simply disable the fallback. + +Signed-off-by: Peter Korsgaard +--- + host2ip.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +Index: rtptools-1.20/host2ip.c +=================================================================== +--- rtptools-1.20.orig/host2ip.c ++++ rtptools-1.20/host2ip.c +@@ -3,7 +3,16 @@ + #include /* gethostbyname() */ + #include /* sockaddr_in */ + #include /* inet_addr() */ ++ ++#include ++#ifndef __UCLIBC__ ++#define HAVE_YP ++#endif ++ ++#ifdef HAVE_YP + #include /* YP */ ++#endif ++ + #include /* strlen() added by Akira 12/27/01 */ + #include "sysdep.h" + +@@ -28,6 +37,7 @@ + else if ((hep = gethostbyname(host))) { + in = *(struct in_addr *)(hep->h_addr_list[0]); + } ++#ifdef HAVE_YP + /* As a last resort, try YP. */ + else { + static char *domain = 0; /* YP domain */ +@@ -39,5 +49,6 @@ + in.s_addr = inet_addr(value); + } + } ++#endif + return in; + } /* host2ip */ diff --git a/package/rtptools/rtptools-01-host2ip-no-nis-on-uClibc.patch b/package/rtptools/rtptools-01-host2ip-no-nis-on-uClibc.patch deleted file mode 100644 index f1a72f9570..0000000000 --- a/package/rtptools/rtptools-01-host2ip-no-nis-on-uClibc.patch +++ /dev/null @@ -1,45 +0,0 @@ -host2ip.c: disable NIS support when building with uClibc - -uClibc doesn't have NIS support, so simply disable the fallback. - -Signed-off-by: Peter Korsgaard ---- - host2ip.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -Index: rtptools-1.20/host2ip.c -=================================================================== ---- rtptools-1.20.orig/host2ip.c -+++ rtptools-1.20/host2ip.c -@@ -3,7 +3,16 @@ - #include /* gethostbyname() */ - #include /* sockaddr_in */ - #include /* inet_addr() */ -+ -+#include -+#ifndef __UCLIBC__ -+#define HAVE_YP -+#endif -+ -+#ifdef HAVE_YP - #include /* YP */ -+#endif -+ - #include /* strlen() added by Akira 12/27/01 */ - #include "sysdep.h" - -@@ -28,6 +37,7 @@ - else if ((hep = gethostbyname(host))) { - in = *(struct in_addr *)(hep->h_addr_list[0]); - } -+#ifdef HAVE_YP - /* As a last resort, try YP. */ - else { - static char *domain = 0; /* YP domain */ -@@ -39,5 +49,6 @@ - in.s_addr = inet_addr(value); - } - } -+#endif - return in; - } /* host2ip */ diff --git a/package/rubix/0001-dont-use-legacy-functions.patch b/package/rubix/0001-dont-use-legacy-functions.patch new file mode 100644 index 0000000000..9c34aee6d3 --- /dev/null +++ b/package/rubix/0001-dont-use-legacy-functions.patch @@ -0,0 +1,18 @@ +Use strstr() instead of index(), since index() is a legacy function +and it may not be available in uClibc, depending on the configuration. + +Signed-off-by: Thomas Petazzoni + +Index: rubix-1.0.5/cube.c +=================================================================== +--- rubix-1.0.5.orig/cube.c 2010-02-14 14:19:05.000000000 +0100 ++++ rubix-1.0.5/cube.c 2010-02-14 14:19:14.000000000 +0100 +@@ -257,7 +257,7 @@ + if (i==-1) goto finish; + if (buffer[0]=='%') goto new_section; + buffer[0]=toupper(buffer[0]); +- ptr = index(buffer, '='); ++ ptr = strstr(buffer, '='); + if (ptr) { + ++ptr; + while (isspace(*ptr)) ++ptr; diff --git a/package/rubix/0002-misc-fixes.patch b/package/rubix/0002-misc-fixes.patch new file mode 100644 index 0000000000..3ce6dad220 --- /dev/null +++ b/package/rubix/0002-misc-fixes.patch @@ -0,0 +1,135 @@ +diff -Nrup rubix-1.0.5/fillpoly.c rubix-1.0.5-avr32/fillpoly.c +--- rubix-1.0.5/fillpoly.c 2003-10-12 15:41:43.000000000 -0400 ++++ rubix-1.0.5-avr32/fillpoly.c 2008-02-29 12:39:51.000000000 -0500 +@@ -435,7 +435,7 @@ void fill_lines(device *d, int thecol) + ); + #endif + } +- } else if (d->depth==16) { /* here 16bpp */ ++ } else if ((d->depth==16) | (d->depth==15)) { /* here 16bpp */ + register int i; + #ifndef PC_ARCHI + register int j; +diff -Nrup rubix-1.0.5/line.c rubix-1.0.5-avr32/line.c +--- rubix-1.0.5/line.c 2003-10-12 14:15:19.000000000 -0400 ++++ rubix-1.0.5-avr32/line.c 2008-02-29 12:39:51.000000000 -0500 +@@ -1317,7 +1317,7 @@ void drawline(device *d, line *l) + #endif + if (d->depth==8) + drawline8(d, l); +- else if (d->depth==16) ++ else if ((d->depth==16) | (d->depth==15)) + drawline16(d, l); + else if (d->depth==24) + drawline24(d, l); +diff -Nrup rubix-1.0.5/Makefile rubix-1.0.5-avr32/Makefile +--- rubix-1.0.5/Makefile 2003-12-04 14:27:58.000000000 -0500 ++++ rubix-1.0.5-avr32/Makefile 2008-02-29 12:58:30.000000000 -0500 +@@ -11,21 +11,17 @@ + # Customize to fit your needs (especially if it does not work for now). + + LANGUAGE=ENGLISH +-GAMESDIR=/usr/games + + #architecture=-DPC_ARCHI + + # For Solaris + #EXTRALIBS=-lsocket + +-CC=gcc + CFLAGS=-Wall -O3 -fomit-frame-pointer -ffast-math \ + -DGAMESDIR="\"$(GAMESDIR)\"" \ + -D$(LANGUAGE) $(architecture) + + #CFLAGS=-Wall -g -ffast-math -Iplayer $(architecture) +-XINC=-I/usr/X11R6/include +-XLIB=-L/usr/X11R6/lib -lX11 + + #the following should not be changed. + +@@ -37,7 +33,7 @@ rubix : $(OBJ) + + install : + mkdir -p $(GAMESDIR) +- install -c -s rubix $(GAMESDIR) ++ install -c rubix $(GAMESDIR) + + clean : + rm -f *.o *~ core *.bak *.dat gmon.out +diff -Nrup rubix-1.0.5/screen.c rubix-1.0.5-avr32/screen.c +--- rubix-1.0.5/screen.c 2004-04-26 04:26:05.000000000 -0400 ++++ rubix-1.0.5-avr32/screen.c 2008-02-29 12:39:51.000000000 -0500 +@@ -80,11 +80,17 @@ void error_statement(SCREEN *s) + + int reset_data_buffers(SCREEN *s) + { ++ int temp; + + if (s->im) + XDestroyImage(s->im); ++ if (s->depth == 15) { ++ temp=16; ++ } else { ++ temp=s->depth; ++ } + +- s->buffer=(char *)malloc(((SCREEN_X+7)/8)*SCREEN_Y*s->depth); ++ s->buffer=(char *)malloc(((SCREEN_X+7)/8)*SCREEN_Y*temp); + + if (!s->buffer) { + error_statement(s); +@@ -106,7 +112,7 @@ int reset_data_buffers(SCREEN *s) + */ + /* Sed - december 2003 - no it has to be 8 */ + s->im=XCreateImage(s->d, DefaultVisual(s->d, DefaultScreen(s->d)), +- s->depth==32?24:s->depth, ZPixmap, ++ s->depth, ZPixmap, + 0, s->buffer, SCREEN_X, SCREEN_Y, 8, 0); + + if (!s->im) { +@@ -139,8 +145,8 @@ int init_screen(SCREEN *s) + + s->depth=DefaultDepth(s->d, DefaultScreen(s->d)); + +- if (s->depth!=8 && s->depth!=16 && s->depth!=24) { +- fprintf(stderr, "screen depth not supported (only 8, 16 and 24bpp (which means 32bpp too) handled\n"); ++ if (s->depth!=8 && s->depth!=15 && s->depth!=16 && s->depth!=24) { ++ fprintf(stderr, "screen depth not supported (only 8, 15, 16 and 24bpp (which means 32bpp too) handled\n"); + XCloseDisplay(s->d); + s->d=(Display *)0; + return -1; +@@ -182,10 +188,10 @@ int init_screen(SCREEN *s) + + /* let's create and map our window */ + s->w=XCreateWindow(s->d, DefaultRootWindow(s->d), 0, 0, +- SCREEN_X, SCREEN_Y, 3, s->depth==32?24:s->depth, ++ SCREEN_X, SCREEN_Y, 3, s->depth, + CopyFromParent, CopyFromParent, 0, NULL); + s->h=XCreateWindow(s->d, DefaultRootWindow(s->d), 0, 0, +- HELP_X, HELP_Y, 3, s->depth==32?24:s->depth, ++ HELP_X, HELP_Y, 3, s->depth, + CopyFromParent, CopyFromParent, 0, NULL); + + xch.res_name = "rubix"; +@@ -946,13 +952,18 @@ void close_screen(SCREEN *s) + void clear_screen(SCREEN *s) + { + /* fill s->im with pixel[10], avoid XPutPixel which is rather slow... */ +- int i, w, dw; ++ int i, w, dw, temp; ++ if (s->depth == 15) { ++ temp = 16; ++ } else { ++ temp = s->depth; ++ } + w = (SCREEN_X+7)/8; +- dw = s->depth/8; ++ dw = temp/8; + XPutPixel(s->im, 0, 0, pixel[10]); + for (i=1; i<8*w; i++) + memcpy(s->buffer + i*dw, s->buffer, dw); +- w = w * s->depth; ++ w = w * temp; + for (i=1; ibuffer + i*w, s->buffer, w); + } diff --git a/package/rubix/rubix-1.0.5-dont-use-legacy-functions.patch b/package/rubix/rubix-1.0.5-dont-use-legacy-functions.patch deleted file mode 100644 index 9c34aee6d3..0000000000 --- a/package/rubix/rubix-1.0.5-dont-use-legacy-functions.patch +++ /dev/null @@ -1,18 +0,0 @@ -Use strstr() instead of index(), since index() is a legacy function -and it may not be available in uClibc, depending on the configuration. - -Signed-off-by: Thomas Petazzoni - -Index: rubix-1.0.5/cube.c -=================================================================== ---- rubix-1.0.5.orig/cube.c 2010-02-14 14:19:05.000000000 +0100 -+++ rubix-1.0.5/cube.c 2010-02-14 14:19:14.000000000 +0100 -@@ -257,7 +257,7 @@ - if (i==-1) goto finish; - if (buffer[0]=='%') goto new_section; - buffer[0]=toupper(buffer[0]); -- ptr = index(buffer, '='); -+ ptr = strstr(buffer, '='); - if (ptr) { - ++ptr; - while (isspace(*ptr)) ++ptr; diff --git a/package/rubix/rubix-1.0.5.patch b/package/rubix/rubix-1.0.5.patch deleted file mode 100644 index 3ce6dad220..0000000000 --- a/package/rubix/rubix-1.0.5.patch +++ /dev/null @@ -1,135 +0,0 @@ -diff -Nrup rubix-1.0.5/fillpoly.c rubix-1.0.5-avr32/fillpoly.c ---- rubix-1.0.5/fillpoly.c 2003-10-12 15:41:43.000000000 -0400 -+++ rubix-1.0.5-avr32/fillpoly.c 2008-02-29 12:39:51.000000000 -0500 -@@ -435,7 +435,7 @@ void fill_lines(device *d, int thecol) - ); - #endif - } -- } else if (d->depth==16) { /* here 16bpp */ -+ } else if ((d->depth==16) | (d->depth==15)) { /* here 16bpp */ - register int i; - #ifndef PC_ARCHI - register int j; -diff -Nrup rubix-1.0.5/line.c rubix-1.0.5-avr32/line.c ---- rubix-1.0.5/line.c 2003-10-12 14:15:19.000000000 -0400 -+++ rubix-1.0.5-avr32/line.c 2008-02-29 12:39:51.000000000 -0500 -@@ -1317,7 +1317,7 @@ void drawline(device *d, line *l) - #endif - if (d->depth==8) - drawline8(d, l); -- else if (d->depth==16) -+ else if ((d->depth==16) | (d->depth==15)) - drawline16(d, l); - else if (d->depth==24) - drawline24(d, l); -diff -Nrup rubix-1.0.5/Makefile rubix-1.0.5-avr32/Makefile ---- rubix-1.0.5/Makefile 2003-12-04 14:27:58.000000000 -0500 -+++ rubix-1.0.5-avr32/Makefile 2008-02-29 12:58:30.000000000 -0500 -@@ -11,21 +11,17 @@ - # Customize to fit your needs (especially if it does not work for now). - - LANGUAGE=ENGLISH --GAMESDIR=/usr/games - - #architecture=-DPC_ARCHI - - # For Solaris - #EXTRALIBS=-lsocket - --CC=gcc - CFLAGS=-Wall -O3 -fomit-frame-pointer -ffast-math \ - -DGAMESDIR="\"$(GAMESDIR)\"" \ - -D$(LANGUAGE) $(architecture) - - #CFLAGS=-Wall -g -ffast-math -Iplayer $(architecture) --XINC=-I/usr/X11R6/include --XLIB=-L/usr/X11R6/lib -lX11 - - #the following should not be changed. - -@@ -37,7 +33,7 @@ rubix : $(OBJ) - - install : - mkdir -p $(GAMESDIR) -- install -c -s rubix $(GAMESDIR) -+ install -c rubix $(GAMESDIR) - - clean : - rm -f *.o *~ core *.bak *.dat gmon.out -diff -Nrup rubix-1.0.5/screen.c rubix-1.0.5-avr32/screen.c ---- rubix-1.0.5/screen.c 2004-04-26 04:26:05.000000000 -0400 -+++ rubix-1.0.5-avr32/screen.c 2008-02-29 12:39:51.000000000 -0500 -@@ -80,11 +80,17 @@ void error_statement(SCREEN *s) - - int reset_data_buffers(SCREEN *s) - { -+ int temp; - - if (s->im) - XDestroyImage(s->im); -+ if (s->depth == 15) { -+ temp=16; -+ } else { -+ temp=s->depth; -+ } - -- s->buffer=(char *)malloc(((SCREEN_X+7)/8)*SCREEN_Y*s->depth); -+ s->buffer=(char *)malloc(((SCREEN_X+7)/8)*SCREEN_Y*temp); - - if (!s->buffer) { - error_statement(s); -@@ -106,7 +112,7 @@ int reset_data_buffers(SCREEN *s) - */ - /* Sed - december 2003 - no it has to be 8 */ - s->im=XCreateImage(s->d, DefaultVisual(s->d, DefaultScreen(s->d)), -- s->depth==32?24:s->depth, ZPixmap, -+ s->depth, ZPixmap, - 0, s->buffer, SCREEN_X, SCREEN_Y, 8, 0); - - if (!s->im) { -@@ -139,8 +145,8 @@ int init_screen(SCREEN *s) - - s->depth=DefaultDepth(s->d, DefaultScreen(s->d)); - -- if (s->depth!=8 && s->depth!=16 && s->depth!=24) { -- fprintf(stderr, "screen depth not supported (only 8, 16 and 24bpp (which means 32bpp too) handled\n"); -+ if (s->depth!=8 && s->depth!=15 && s->depth!=16 && s->depth!=24) { -+ fprintf(stderr, "screen depth not supported (only 8, 15, 16 and 24bpp (which means 32bpp too) handled\n"); - XCloseDisplay(s->d); - s->d=(Display *)0; - return -1; -@@ -182,10 +188,10 @@ int init_screen(SCREEN *s) - - /* let's create and map our window */ - s->w=XCreateWindow(s->d, DefaultRootWindow(s->d), 0, 0, -- SCREEN_X, SCREEN_Y, 3, s->depth==32?24:s->depth, -+ SCREEN_X, SCREEN_Y, 3, s->depth, - CopyFromParent, CopyFromParent, 0, NULL); - s->h=XCreateWindow(s->d, DefaultRootWindow(s->d), 0, 0, -- HELP_X, HELP_Y, 3, s->depth==32?24:s->depth, -+ HELP_X, HELP_Y, 3, s->depth, - CopyFromParent, CopyFromParent, 0, NULL); - - xch.res_name = "rubix"; -@@ -946,13 +952,18 @@ void close_screen(SCREEN *s) - void clear_screen(SCREEN *s) - { - /* fill s->im with pixel[10], avoid XPutPixel which is rather slow... */ -- int i, w, dw; -+ int i, w, dw, temp; -+ if (s->depth == 15) { -+ temp = 16; -+ } else { -+ temp = s->depth; -+ } - w = (SCREEN_X+7)/8; -- dw = s->depth/8; -+ dw = temp/8; - XPutPixel(s->im, 0, 0, pixel[10]); - for (i=1; i<8*w; i++) - memcpy(s->buffer + i*dw, s->buffer, dw); -- w = w * s->depth; -+ w = w * temp; - for (i=1; ibuffer + i*w, s->buffer, w); - } diff --git a/package/samba/0001-fix-smbd-libs-avahi.patch b/package/samba/0001-fix-smbd-libs-avahi.patch new file mode 100644 index 0000000000..6624f57f6c --- /dev/null +++ b/package/samba/0001-fix-smbd-libs-avahi.patch @@ -0,0 +1,17 @@ +Expliticly link with -lpthread if smbd is compiled with +avahi support. Otherwise the binary will fail to run. + +Signed-off-by: Sven Neumann + +diff -Nura samba-3.6.16.orig/source3/Makefile.in samba-3.6.16/source3/Makefile.in +--- samba-3.6.16.orig/source3/Makefile.in 2013-06-21 08:12:39.995871935 -0300 ++++ samba-3.6.16/source3/Makefile.in 2013-06-21 08:13:17.778103805 -0300 +@@ -1783,7 +1783,7 @@ + $(KRB5LIBS) $(DYNEXP) $(PRINT_LIBS) $(AUTH_LIBS) \ + $(ACL_LIBS) $(PASSDB_LIBS) $(LIBS) $(DNSSD_LIBS) $(AVAHI_LIBS) \ + $(POPT_LIBS) @SMBD_LIBS@ $(LIBTALLOC_LIBS) $(LIBTEVENT_LIBS) $(LIBTDB_LIBS) \ +- $(LIBWBCLIENT_LIBS) $(ZLIB_LIBS) ++ $(LIBWBCLIENT_LIBS) $(ZLIB_LIBS) $(PTHREAD_LDFLAGS) + + bin/nmbd@EXEEXT@: $(BINARY_PREREQS) $(NMBD_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTEVENT) $(LIBTDB) $(LIBWBCLIENT) + @echo Linking $@ diff --git a/package/samba/0002-getaddrinfo.patch b/package/samba/0002-getaddrinfo.patch new file mode 100644 index 0000000000..df3570ca03 --- /dev/null +++ b/package/samba/0002-getaddrinfo.patch @@ -0,0 +1,20 @@ +Patch forward-ported from OpenWRT. +Don't check for buggy getaddrinfo() assume it's safe if it's present. + +Signed-off-by: Gustavo Zacarias + +diff -Nura samba-3.6.8.orig/source3/configure samba-3.6.8/source3/configure +--- samba-3.6.8.orig/source3/configure 2012-09-14 05:19:52.000000000 -0300 ++++ samba-3.6.8/source3/configure 2012-09-25 20:31:57.861743235 -0300 +@@ -13269,10 +13269,7 @@ + # see bug 5910, use our replacements if we detect + # a broken system. + if test "$cross_compiling" = yes; then : +- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +-as_fn_error $? "cannot run test program while cross compiling +-See \`config.log' for more details" "$LINENO" 5; } ++ $as_echo "assuming valid getaddrinfo without bug 5910" >&2 + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ diff --git a/package/samba/samba-0001-fix-smbd-libs-avahi.patch b/package/samba/samba-0001-fix-smbd-libs-avahi.patch deleted file mode 100644 index 6624f57f6c..0000000000 --- a/package/samba/samba-0001-fix-smbd-libs-avahi.patch +++ /dev/null @@ -1,17 +0,0 @@ -Expliticly link with -lpthread if smbd is compiled with -avahi support. Otherwise the binary will fail to run. - -Signed-off-by: Sven Neumann - -diff -Nura samba-3.6.16.orig/source3/Makefile.in samba-3.6.16/source3/Makefile.in ---- samba-3.6.16.orig/source3/Makefile.in 2013-06-21 08:12:39.995871935 -0300 -+++ samba-3.6.16/source3/Makefile.in 2013-06-21 08:13:17.778103805 -0300 -@@ -1783,7 +1783,7 @@ - $(KRB5LIBS) $(DYNEXP) $(PRINT_LIBS) $(AUTH_LIBS) \ - $(ACL_LIBS) $(PASSDB_LIBS) $(LIBS) $(DNSSD_LIBS) $(AVAHI_LIBS) \ - $(POPT_LIBS) @SMBD_LIBS@ $(LIBTALLOC_LIBS) $(LIBTEVENT_LIBS) $(LIBTDB_LIBS) \ -- $(LIBWBCLIENT_LIBS) $(ZLIB_LIBS) -+ $(LIBWBCLIENT_LIBS) $(ZLIB_LIBS) $(PTHREAD_LDFLAGS) - - bin/nmbd@EXEEXT@: $(BINARY_PREREQS) $(NMBD_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTEVENT) $(LIBTDB) $(LIBWBCLIENT) - @echo Linking $@ diff --git a/package/samba/samba-0002-getaddrinfo.patch b/package/samba/samba-0002-getaddrinfo.patch deleted file mode 100644 index df3570ca03..0000000000 --- a/package/samba/samba-0002-getaddrinfo.patch +++ /dev/null @@ -1,20 +0,0 @@ -Patch forward-ported from OpenWRT. -Don't check for buggy getaddrinfo() assume it's safe if it's present. - -Signed-off-by: Gustavo Zacarias - -diff -Nura samba-3.6.8.orig/source3/configure samba-3.6.8/source3/configure ---- samba-3.6.8.orig/source3/configure 2012-09-14 05:19:52.000000000 -0300 -+++ samba-3.6.8/source3/configure 2012-09-25 20:31:57.861743235 -0300 -@@ -13269,10 +13269,7 @@ - # see bug 5910, use our replacements if we detect - # a broken system. - if test "$cross_compiling" = yes; then : -- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 --$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} --as_fn_error $? "cannot run test program while cross compiling --See \`config.log' for more details" "$LINENO" 5; } -+ $as_echo "assuming valid getaddrinfo without bug 5910" >&2 - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ diff --git a/package/sawman/0001-link-using-gcc-instead-of-ld.patch b/package/sawman/0001-link-using-gcc-instead-of-ld.patch new file mode 100644 index 0000000000..02e802995c --- /dev/null +++ b/package/sawman/0001-link-using-gcc-instead-of-ld.patch @@ -0,0 +1,19 @@ +sawman: Link using gcc instead of ld + +Using ld may cause a link failure due to using the default emulation +linker which is configured when building the linker in binutils. Using +gcc instead will pass the appropriate -m value because the compiler +knows the ABI you are using. + +Signed-off-by: Vicente Olivert Riera +--- SaWMan-1.6.3/rules/libobject.make.orig 2013-12-17 15:54:22.137856874 +0000 ++++ SaWMan-1.6.3/rules/libobject.make 2013-12-17 15:54:44.233201909 +0000 +@@ -3,7 +3,7 @@ + if test -d $<.tmp; then rmdir $<.tmp; fi + mkdir $<.tmp + (cd $<.tmp && $(AR) x ../../$<) +- $(LD) -o $@ -r $<.tmp/*.o ++ $(CC) -nostdlib -o $@ -r $<.tmp/*.o + rm -f $<.tmp/*.o && rmdir $<.tmp + + .PHONY: $(LTLIBRARIES:%.la=.libs/%.a) diff --git a/package/sawman/sawman-001-link-using-gcc-instead-of-ld.patch b/package/sawman/sawman-001-link-using-gcc-instead-of-ld.patch deleted file mode 100644 index 02e802995c..0000000000 --- a/package/sawman/sawman-001-link-using-gcc-instead-of-ld.patch +++ /dev/null @@ -1,19 +0,0 @@ -sawman: Link using gcc instead of ld - -Using ld may cause a link failure due to using the default emulation -linker which is configured when building the linker in binutils. Using -gcc instead will pass the appropriate -m value because the compiler -knows the ABI you are using. - -Signed-off-by: Vicente Olivert Riera ---- SaWMan-1.6.3/rules/libobject.make.orig 2013-12-17 15:54:22.137856874 +0000 -+++ SaWMan-1.6.3/rules/libobject.make 2013-12-17 15:54:44.233201909 +0000 -@@ -3,7 +3,7 @@ - if test -d $<.tmp; then rmdir $<.tmp; fi - mkdir $<.tmp - (cd $<.tmp && $(AR) x ../../$<) -- $(LD) -o $@ -r $<.tmp/*.o -+ $(CC) -nostdlib -o $@ -r $<.tmp/*.o - rm -f $<.tmp/*.o && rmdir $<.tmp - - .PHONY: $(LTLIBRARIES:%.la=.libs/%.a) diff --git a/package/screen/0001-compiler-sanity-checks.patch b/package/screen/0001-compiler-sanity-checks.patch new file mode 100644 index 0000000000..19d13c6fab --- /dev/null +++ b/package/screen/0001-compiler-sanity-checks.patch @@ -0,0 +1,60 @@ +From: Maarten ter Huurne +Date: Sat, 13 Sep 2014 10:27:27 +0200 +Subject: Removed redundant compiler sanity checks + +AC_PROG_CC already performs sanity checks. And unlike the removed +checks, it does so in a way that supports cross compilation. + +Signed-off-by: Maarten ter Huurne +--- + configure.in | 27 --------------------------- + 1 file changed, 27 deletions(-) + +diff --git a/configure.in b/configure.in +index 87fd43b..572c2a3 100644 +--- a/configure.in ++++ b/configure.in +@@ -47,31 +47,6 @@ AC_PROG_GCC_TRADITIONAL + AC_ISC_POSIX + AC_USE_SYSTEM_EXTENSIONS + +-AC_TRY_RUN(main(){exit(0);},,[ +-if test $CC != cc ; then +-AC_NOTE(Your $CC failed - restarting with CC=cc) +-AC_NOTE() +-CC=cc +-export CC +-exec $0 $configure_args +-fi +-]) +- +-AC_TRY_RUN(main(){exit(0);},, +-exec 5>&2 +-eval $ac_link +-AC_NOTE(CC=$CC; CFLAGS=$CFLAGS; LIBS=$LIBS;) +-AC_NOTE($ac_compile) +-AC_MSG_ERROR(Can't run the compiler - sorry)) +- +-AC_TRY_RUN([ +-main() +-{ +- int __something_strange_(); +- __something_strange_(0); +-} +-],AC_MSG_ERROR(Your compiler does not set the exit status - sorry)) +- + AC_PROG_AWK + + AC_PROG_INSTALL +@@ -1299,8 +1274,6 @@ fi + dnl Ptx bug workaround -- insert -lc after -ltermcap + test -n "$seqptx" && LIBS="-ltermcap -lc -lsocket -linet -lnsl -lsec -lseq" + +-AC_TRY_RUN(main(){exit(0);},,AC_MSG_ERROR(Can't run the compiler - internal error. Sorry.)) +- + ETCSCREENRC= + AC_MSG_CHECKING(for the global screenrc file) + AC_ARG_WITH(sys-screenrc, [ --with-sys-screenrc=path to the global screenrc file], [ ETCSCREENRC="${withval}" ]) +-- +1.8.4.5 + diff --git a/package/screen/0002-no-memcpy-fallback.patch b/package/screen/0002-no-memcpy-fallback.patch new file mode 100644 index 0000000000..0f5a099f0f --- /dev/null +++ b/package/screen/0002-no-memcpy-fallback.patch @@ -0,0 +1,122 @@ +From: Maarten ter Huurne +Date: Sat, 13 Sep 2014 11:37:59 +0200 +Subject: Do not use memcpy as an alternative for bcopy/memmove + +The configure script runs a small test program to check whether +memcpy can handle overlapping memory areas. However, it is not valid +to conclude that if a single case of overlapping memory is handled +correctly, all cases will be handled correctly. + +Since screen already has its own bcopy implementation as a fallback +for the case that bcopy and memmove are unusable, removing the memcpy +option should not break any systems. + +Signed-off-by: Maarten ter Huurne +--- + acconfig.h | 3 +-- + configure.in | 18 +----------------- + os.h | 8 ++------ + osdef.h.in | 10 +--------- + 4 files changed, 5 insertions(+), 34 deletions(-) + +diff --git a/acconfig.h b/acconfig.h +index 2e46985..9b0b9d4 100644 +--- a/acconfig.h ++++ b/acconfig.h +@@ -476,7 +476,7 @@ + #undef GETTTYENT + + /* +- * Define USEBCOPY if the bcopy/memcpy from your system's C library ++ * Define USEBCOPY if the bcopy from your system's C library + * supports the overlapping of source and destination blocks. When + * undefined, screen uses its own (probably slower) version of bcopy(). + * +@@ -487,7 +487,6 @@ + * Their memove fails the test in the configure script. Sigh. (Juergen) + */ + #undef USEBCOPY +-#undef USEMEMCPY + #undef USEMEMMOVE + + /* +diff --git a/configure.in b/configure.in +index 572c2a3..ff9606d 100644 +--- a/configure.in ++++ b/configure.in +@@ -1144,7 +1144,7 @@ AC_TRY_LINK(,[getttyent();], AC_DEFINE(GETTTYENT)) + AC_CHECKING(fdwalk) + AC_TRY_LINK([#include ], [fdwalk(NULL, NULL);],AC_DEFINE(HAVE_FDWALK)) + +-AC_CHECKING(whether memcpy/memmove/bcopy handles overlapping arguments) ++AC_CHECKING(whether memmove/bcopy handles overlapping arguments) + AC_TRY_RUN([ + main() { + char buf[10]; +@@ -1174,22 +1174,6 @@ main() { + exit(0); /* libc version works properly. */ + }], AC_DEFINE(USEMEMMOVE)) + +- +-AC_TRY_RUN([ +-#define bcopy(s,d,l) memcpy(d,s,l) +-main() { +- char buf[10]; +- strcpy(buf, "abcdefghi"); +- bcopy(buf, buf + 2, 3); +- if (strncmp(buf, "ababcf", 6)) +- exit(1); +- strcpy(buf, "abcdefghi"); +- bcopy(buf + 2, buf, 3); +- if (strncmp(buf, "cdedef", 6)) +- exit(1); +- exit(0); /* libc version works properly. */ +-}], AC_DEFINE(USEMEMCPY)) +- + AC_SYS_LONG_FILE_NAMES + + AC_MSG_CHECKING(for vsprintf) +diff --git a/os.h b/os.h +index 55de249..6838ec0 100644 +--- a/os.h ++++ b/os.h +@@ -142,12 +142,8 @@ extern int errno; + # ifdef USEMEMMOVE + # define bcopy(s,d,len) memmove(d,s,len) + # else +-# ifdef USEMEMCPY +-# define bcopy(s,d,len) memcpy(d,s,len) +-# else +-# define NEED_OWN_BCOPY +-# define bcopy xbcopy +-# endif ++# define NEED_OWN_BCOPY ++# define bcopy xbcopy + # endif + #endif + +diff --git a/osdef.h.in b/osdef.h.in +index 8687b60..e4057a0 100644 +--- a/osdef.h.in ++++ b/osdef.h.in +@@ -58,16 +58,8 @@ extern int bcmp __P((char *, char *, int)); + extern int killpg __P((int, int)); + #endif + +-#ifndef USEBCOPY +-# ifdef USEMEMCPY +-extern void memcpy __P((char *, char *, int)); +-# else +-# ifdef USEMEMMOVE ++#if defined(USEMEMMOVE) && !defined(USEBCOPY) + extern void memmove __P((char *, char *, int)); +-# else +-extern void bcopy __P((char *, char *, int)); +-# endif +-# endif + #else + extern void bcopy __P((char *, char *, int)); + #endif +-- +1.8.4.5 + diff --git a/package/screen/0003-cross-compilation-AC_TRY_RUN.patch b/package/screen/0003-cross-compilation-AC_TRY_RUN.patch new file mode 100644 index 0000000000..b908301486 --- /dev/null +++ b/package/screen/0003-cross-compilation-AC_TRY_RUN.patch @@ -0,0 +1,123 @@ +From: Maarten ter Huurne +Date: Sat, 13 Sep 2014 12:04:41 +0200 +Subject: Provide cross compilation alternatives for all AC_TRY_RUN uses + +Signed-off-by: Maarten ter Huurne +--- + configure.in | 30 +++++++++++++++++++----------- + 1 file changed, 19 insertions(+), 11 deletions(-) + +diff --git a/configure.in b/configure.in +index ff9606d..d53a079 100644 +--- a/configure.in ++++ b/configure.in +@@ -347,7 +347,8 @@ main() + exit(0); + } + ], AC_NOTE(- your fifos are usable) fifo=1, +-AC_NOTE(- your fifos are not usable)) ++AC_NOTE(- your fifos are not usable), ++AC_NOTE(- skipping check because we are cross compiling; assuming fifos are usable) fifo=1) + rm -f /tmp/conftest* + + if test -n "$fifo"; then +@@ -395,7 +396,8 @@ main() + exit(0); + } + ], AC_NOTE(- your implementation is ok), +-AC_NOTE(- you have a broken implementation) AC_DEFINE(BROKEN_PIPE) fifobr=1) ++AC_NOTE(- you have a broken implementation) AC_DEFINE(BROKEN_PIPE) fifobr=1, ++AC_NOTE(- skipping check because we are cross compiling; assuming fifo implementation is ok)) + rm -f /tmp/conftest* + fi + +@@ -457,7 +459,8 @@ main() + exit(0); + } + ], AC_NOTE(- your sockets are usable) sock=1, +-AC_NOTE(- your sockets are not usable)) ++AC_NOTE(- your sockets are not usable), ++AC_NOTE(- skipping check because we are cross compiling; assuming sockets are usable) sock=1) + rm -f /tmp/conftest* + + if test -n "$sock"; then +@@ -496,7 +499,8 @@ main() + } + ],AC_NOTE(- you are normal), + AC_NOTE(- unix domain sockets are not kept in the filesystem) +-AC_DEFINE(SOCK_NOT_IN_FS) socknofs=1) ++AC_DEFINE(SOCK_NOT_IN_FS) socknofs=1, ++AC_NOTE(- skipping check because we are cross compiling; assuming sockets are normal)) + rm -f /tmp/conftest* + fi + +@@ -623,7 +627,8 @@ main() + exit(0); + } + ],AC_NOTE(- select is ok), +-AC_NOTE(- select can't count) AC_DEFINE(SELECT_BROKEN)) ++AC_NOTE(- select can't count) AC_DEFINE(SELECT_BROKEN), ++AC_NOTE(- skipping check because we are cross compiling; assuming select is ok)) + + dnl + dnl **** termcap or terminfo **** +@@ -665,7 +670,8 @@ main() + { + exit(strcmp(tgoto("%p1%d", 0, 1), "1") ? 0 : 1); + }], AC_NOTE(- you use the termcap database), +-AC_NOTE(- you use the terminfo database) AC_DEFINE(TERMINFO)) ++AC_NOTE(- you use the terminfo database) AC_DEFINE(TERMINFO), ++AC_NOTE(- skipping check because we are cross compiling; assuming terminfo database is used) AC_DEFINE(TERMINFO)) + AC_CHECKING(ospeed) + AC_TRY_LINK(extern short ospeed;,ospeed=5;,,AC_DEFINE(NEED_OSPEED)) + +@@ -800,7 +806,8 @@ main() + else + AC_NOTE(- can't determine - assume ptys are world accessable) + fi +- ] ++ ], ++ AC_NOTE(- skipping check because we are cross compiling; assuming ptys are world accessable) + ) + rm -f conftest_grp + fi +@@ -884,7 +891,7 @@ AC_EGREP_CPP(yes, + #endif + ], load=1) + fi +-if test -z "$load" ; then ++if test -z "$load" && test "$cross_compiling" = no ; then + AC_CHECKING(for kernelfile) + for core in /unix /vmunix /dynix /hp-ux /xelos /dev/ksyms /kernel/unix /kernel/genunix /unicos /mach /netbsd /386bsd /dgux /bsd /stand/vmunix; do + if test -f $core || test -c $core; then +@@ -1077,7 +1084,7 @@ main() + #endif + exit(0); + } +-],,AC_DEFINE(SYSVSIGS)) ++],,AC_DEFINE(SYSVSIGS),:) + + fi + +@@ -1157,7 +1164,7 @@ main() { + if (strncmp(buf, "cdedef", 6)) + exit(1); + exit(0); /* libc version works properly. */ +-}], AC_DEFINE(USEBCOPY)) ++}], AC_DEFINE(USEBCOPY),,:) + + AC_TRY_RUN([ + #define bcopy(s,d,l) memmove(d,s,l) +@@ -1172,7 +1179,8 @@ main() { + if (strncmp(buf, "cdedef", 6)) + exit(1); + exit(0); /* libc version works properly. */ +-}], AC_DEFINE(USEMEMMOVE)) ++}], AC_DEFINE(USEMEMMOVE),, ++ AC_NOTE(- skipping check because we are cross compiling; use memmove) AC_DEFINE(USEMEMMOVE)) + + AC_SYS_LONG_FILE_NAMES + +-- +1.8.4.5 + diff --git a/package/screen/0004-cross-compilation-ignore-host-fs.patch b/package/screen/0004-cross-compilation-ignore-host-fs.patch new file mode 100644 index 0000000000..aeacfb1d9f --- /dev/null +++ b/package/screen/0004-cross-compilation-ignore-host-fs.patch @@ -0,0 +1,130 @@ +From: Maarten ter Huurne +Date: Sun, 14 Sep 2014 07:10:59 +0200 +Subject: When cross-compiling, skip checks that look in the host file system + +Signed-off-by: Maarten ter Huurne +--- + configure.in | 23 +++++++++++++++++++---- + 1 file changed, 19 insertions(+), 4 deletions(-) + +diff --git a/configure.in b/configure.in +index d53a079..79aa56d 100644 +--- a/configure.in ++++ b/configure.in +@@ -84,7 +84,7 @@ AC_ARG_ENABLE(socket-dir, + dnl + dnl **** special unix variants **** + dnl +-if test -n "$ISC"; then ++if test "$cross_compiling" = no && test -n "$ISC" ; then + AC_DEFINE(ISC) LIBS="$LIBS -linet" + fi + +@@ -95,10 +95,11 @@ dnl AC_DEFINE(OSF1) # this disables MIPS again.... + dnl fi + dnl fi + +-if test -f /sysV68 ; then ++if test "$cross_compiling" = no && test -f /sysV68 ; then + AC_DEFINE(sysV68) + fi + ++if test "$cross_compiling" = no ; then + AC_CHECKING(for MIPS) + if test -f /lib/libmld.a || test -f /usr/lib/libmld.a || test -f /usr/lib/cmplrs/cc/libmld.a; then + oldlibs="$LIBS" +@@ -122,6 +123,7 @@ AC_DEFINE(USE_WAIT2) LIBS="$LIBS -lbsd" ; CC="$CC -I/usr/include/bsd" + )) + fi + fi ++fi + + + AC_CHECKING(for Ultrix) +@@ -131,7 +133,7 @@ AC_EGREP_CPP(yes, + #endif + ], ULTRIX=1) + +-if test -f /usr/lib/libpyr.a ; then ++if test "$cross_compiling" = no && test -f /usr/lib/libpyr.a ; then + oldlibs="$LIBS" + LIBS="$LIBS -lpyr" + AC_CHECKING(Pyramid OSX) +@@ -678,17 +680,21 @@ AC_TRY_LINK(extern short ospeed;,ospeed=5;,,AC_DEFINE(NEED_OSPEED)) + dnl + dnl **** PTY specific things **** + dnl ++if test "$cross_compiling" = no ; then + AC_CHECKING(for /dev/ptc) + if test -r /dev/ptc; then + AC_DEFINE(HAVE_DEV_PTC) + fi ++fi + ++if test "$cross_compiling" = no ; then + AC_CHECKING(for SVR4 ptys) + sysvr4ptys= + if test -c /dev/ptmx ; then + AC_TRY_LINK([],[ptsname(0);grantpt(0);unlockpt(0);],[AC_DEFINE(HAVE_SVR4_PTYS) + sysvr4ptys=1]) + fi ++fi + + AC_CHECK_FUNCS(getpt) + +@@ -698,6 +704,7 @@ AC_CHECK_FUNCS(openpty,, + [AC_CHECK_LIB(util,openpty, [AC_DEFINE(HAVE_OPENPTY)] [LIBS="$LIBS -lutil"])]) + fi + ++if test "$cross_compiling" = no ; then + AC_CHECKING(for ptyranges) + if test -d /dev/ptym ; then + pdir='/dev/ptym' +@@ -721,6 +728,7 @@ p1=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\)$/\1/g' | sort -u | tr -d '\ + AC_DEFINE_UNQUOTED(PTYRANGE0,"$p0") + AC_DEFINE_UNQUOTED(PTYRANGE1,"$p1") + fi ++fi + + dnl **** pty mode/group handling **** + dnl +@@ -868,14 +876,16 @@ fi + dnl + dnl **** loadav **** + dnl ++if test "$cross_compiling" = no ; then + AC_CHECKING(for libutil(s)) + test -f /usr/lib/libutils.a && LIBS="$LIBS -lutils" + test -f /usr/lib/libutil.a && LIBS="$LIBS -lutil" ++fi + + AC_CHECKING(getloadavg) + AC_TRY_LINK(,[getloadavg((double *)0, 0);], + AC_DEFINE(LOADAV_GETLOADAVG) load=1, +-if test -f /usr/lib/libkvm.a ; then ++if test "$cross_compiling" = no && test -f /usr/lib/libkvm.a ; then + olibs="$LIBS" + LIBS="$LIBS -lkvm" + AC_CHECKING(getloadavg with -lkvm) +@@ -1093,13 +1103,18 @@ dnl **** libraries **** + dnl + + AC_CHECKING(for crypt and sec libraries) ++if test "$cross_compiling" = no ; then + test -f /lib/libcrypt_d.a || test -f /usr/lib/libcrypt_d.a && LIBS="$LIBS -lcrypt_d" ++fi + oldlibs="$LIBS" + LIBS="$LIBS -lcrypt" + AC_CHECKING(crypt) + AC_TRY_LINK(,,,LIBS="$oldlibs") ++if test "$cross_compiling" = no ; then + test -f /lib/libsec.a || test -f /usr/lib/libsec.a && LIBS="$LIBS -lsec" + test -f /lib/libshadow.a || test -f /usr/lib/libshadow.a && LIBS="$LIBS -lshadow" ++fi ++ + oldlibs="$LIBS" + LIBS="$LIBS -lsun" + AC_CHECKING(IRIX sun library) +-- +1.8.4.5 + diff --git a/package/screen/0005-avoid-identifying-as-SVR4.patch b/package/screen/0005-avoid-identifying-as-SVR4.patch new file mode 100644 index 0000000000..10c08d21ee --- /dev/null +++ b/package/screen/0005-avoid-identifying-as-SVR4.patch @@ -0,0 +1,52 @@ +From: Maarten ter Huurne +Date: Sun, 14 Sep 2014 11:16:58 +0200 +Subject: Avoid mis-identifying systems as SVR4 + +My openSUSE 13.1 Linux system was detected as SVR4 because it had +libelf installed. This leads to linking with libelf, even though no +symbols from that library were actually used, and to a workaround for +a buggy getlogin() being enabled. + +It is not documented which exact SVR4 system had the bug that the +workaround was added for, so all I could do is make an educated guess +at the #defines its compiler would be likely to set. + +Signed-off-by: Maarten ter Huurne +--- + configure.in | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +diff --git a/configure.in b/configure.in +index f78f81f..181b7f9 100644 +--- a/configure.in ++++ b/configure.in +@@ -178,14 +178,24 @@ AC_EGREP_CPP(yes, + #endif + ], LIBS="$LIBS -lsocket -linet";seqptx=1) + ++AC_CHECKING(SVR4) ++AC_EGREP_CPP(yes, ++[main () { ++#if defined(SVR4) || defined(__SVR4) ++ yes; ++#endif ++], AC_NOTE(- you have a SVR4 system) AC_DEFINE(SVR4) svr4=1) ++if test -n "$svr4" ; then + oldlibs="$LIBS" + LIBS="$LIBS -lelf" + AC_CHECKING(SVR4) + AC_TRY_LINK([#include + ],, +-[AC_CHECK_HEADER(dwarf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN), +-[AC_CHECK_HEADER(elf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN))])] ++[AC_CHECK_HEADER(dwarf.h, AC_DEFINE(BUGGYGETLOGIN), ++[AC_CHECK_HEADER(elf.h, AC_DEFINE(BUGGYGETLOGIN))])] + ,LIBS="$oldlibs") ++fi ++ + AC_CHECK_HEADERS([stropts.h string.h strings.h]) + + AC_CHECKING(for Solaris 2.x) +-- +1.8.4.5 + diff --git a/package/screen/0006-install-no-backup-binary.patch b/package/screen/0006-install-no-backup-binary.patch new file mode 100644 index 0000000000..504862a299 --- /dev/null +++ b/package/screen/0006-install-no-backup-binary.patch @@ -0,0 +1,39 @@ +From: Maarten ter Huurne +Date: Sun, 14 Sep 2014 23:58:34 +0200 +Subject: Do not create backup of old installed binary + +This is a rather unusual feature that packagers will not expect. + +Signed-off-by: Maarten ter Huurne +--- + Makefile.in | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 187a69b..65549e9 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -83,12 +83,9 @@ screen: $(OFILES) + $(OPTIONS) $(CFLAGS) $< + + install_bin: .version screen +- -if [ -f $(DESTDIR)$(bindir)/$(SCREEN) ] && [ ! -f $(DESTDIR)$(bindir)/$(SCREEN).old ]; \ +- then mv $(DESTDIR)$(bindir)/$(SCREEN) $(DESTDIR)$(bindir)/$(SCREEN).old; fi + $(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN) + -chown root $(DESTDIR)$(bindir)/$(SCREEN) && chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN) + # This doesn't work if $(bindir)/screen is a symlink +- -if [ -f $(DESTDIR)$(bindir)/screen ] && [ ! -f $(DESTDIR)$(bindir)/screen.old ]; then mv $(DESTDIR)$(bindir)/screen $(DESTDIR)$(bindir)/screen.old; fi + rm -f $(DESTDIR)$(bindir)/screen + (cd $(DESTDIR)$(bindir) && ln -f -s $(SCREEN) screen) + cp $(srcdir)/utf8encodings/?? $(DESTDIR)$(SCREENENCODINGS) +@@ -113,7 +110,6 @@ installdirs: + uninstall: .version + rm -f $(DESTDIR)$(bindir)/$(SCREEN) + rm -f $(DESTDIR)$(bindir)/screen +- -mv $(DESTDIR)$(bindir)/screen.old $(DESTDIR)$(bindir)/screen + rm -f $(DESTDIR)$(ETCSCREENRC) + cd doc; $(MAKE) uninstall + +-- +1.8.4.5 + diff --git a/package/screen/0007-install-always-chmod.patch b/package/screen/0007-install-always-chmod.patch new file mode 100644 index 0000000000..0aa7690b08 --- /dev/null +++ b/package/screen/0007-install-always-chmod.patch @@ -0,0 +1,29 @@ +From: Maarten ter Huurne +Date: Mon, 15 Sep 2014 00:03:05 +0200 +Subject: Change binary permission flags even if chown fails + +Typically when creating a package, the build is not run as root, so +the chown will fail. But the chmod can still be done. + +Signed-off-by: Maarten ter Huurne +--- + Makefile.in | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index 65549e9..3c12fdb 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -84,7 +84,8 @@ screen: $(OFILES) + + install_bin: .version screen + $(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN) +- -chown root $(DESTDIR)$(bindir)/$(SCREEN) && chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN) ++ -chown root $(DESTDIR)$(bindir)/$(SCREEN) ++ -chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN) + # This doesn't work if $(bindir)/screen is a symlink + rm -f $(DESTDIR)$(bindir)/screen + (cd $(DESTDIR)$(bindir) && ln -f -s $(SCREEN) screen) +-- +1.8.4.5 + diff --git a/package/screen/0008-install-nonversioned-binary.patch b/package/screen/0008-install-nonversioned-binary.patch new file mode 100644 index 0000000000..ecbbd65197 --- /dev/null +++ b/package/screen/0008-install-nonversioned-binary.patch @@ -0,0 +1,31 @@ +From: Maarten ter Huurne +Date: Mon, 15 Sep 2014 00:06:20 +0200 +Subject: Support overriding SCREEN to get a non-versioned binary + +If a packager runs "make install SCREEN=screen", do not create +"screen" as a symlink to itself. + +Signed-off-by: Maarten ter Huurne +--- + Makefile.in | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Makefile.in b/Makefile.in +index 3c12fdb..860f351 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -86,9 +86,11 @@ install_bin: .version screen + $(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN) + -chown root $(DESTDIR)$(bindir)/$(SCREEN) + -chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN) ++ifneq (${SCREEN},screen) + # This doesn't work if $(bindir)/screen is a symlink + rm -f $(DESTDIR)$(bindir)/screen + (cd $(DESTDIR)$(bindir) && ln -f -s $(SCREEN) screen) ++endif + cp $(srcdir)/utf8encodings/?? $(DESTDIR)$(SCREENENCODINGS) + + ############################################################################### +-- +1.8.4.5 + diff --git a/package/screen/0009-install-dir-dependency.patch b/package/screen/0009-install-dir-dependency.patch new file mode 100644 index 0000000000..9016cb90be --- /dev/null +++ b/package/screen/0009-install-dir-dependency.patch @@ -0,0 +1,43 @@ +From: Maarten ter Huurne +Date: Mon, 15 Sep 2014 02:27:09 +0200 +Subject: Ensure that installation dirs exist before copying files into them + +Since the "install_bin" target requires the installation directories +to exist, it should depend on the "installdirs" target. The previous +approach of having "install" depend on "installdirs" is not reliable. + +For example, in a parallel build, there was no guarantee that +"installdirs" would be finished before "install_bin" runs. Also if +the user requested only "install_bin" to be made, "installdirs" would +be skipped altogether. + +Signed-off-by: Maarten ter Huurne +--- + Makefile.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 860f351..f0fe08d 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -82,7 +82,7 @@ screen: $(OFILES) + $(CC) -c -I. -I$(srcdir) $(M_CFLAGS) $(CPPFLAGS) $(DEFS) \ + $(OPTIONS) $(CFLAGS) $< + +-install_bin: .version screen ++install_bin: .version screen installdirs + $(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN) + -chown root $(DESTDIR)$(bindir)/$(SCREEN) + -chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN) +@@ -94,7 +94,7 @@ endif + cp $(srcdir)/utf8encodings/?? $(DESTDIR)$(SCREENENCODINGS) + + ############################################################################### +-install: installdirs install_bin ++install: install_bin + cd doc ; $(MAKE) install + -if [ -d /usr/lib/terminfo ]; then \ + PATH="$$PATH:/usr/5bin" tic ${srcdir}/terminfo/screeninfo.src; \ +-- +1.8.4.5 + diff --git a/package/screen/0010-rename-sched_h.patch b/package/screen/0010-rename-sched_h.patch new file mode 100644 index 0000000000..cdbb0335f9 --- /dev/null +++ b/package/screen/0010-rename-sched_h.patch @@ -0,0 +1,142 @@ +From: Maarten ter Huurne +Date: Mon, 15 Sep 2014 00:24:41 +0200 +Subject: Renamed sched.h to eventqueue.h + +There is a system header that got shadowed by "sched.h". +While Screen itself doesn't include , other system headers +might include it indirectly. This broke the build when using uClibc +with pthread support. + +Signed-off-by: Maarten ter Huurne +--- + eventqueue.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ + sched.h | 48 ------------------------------------------------ + screen.h | 2 +- + 3 files changed, 49 insertions(+), 49 deletions(-) + create mode 100644 eventqueue.h + delete mode 100644 sched.h + +diff --git a/eventqueue.h b/eventqueue.h +new file mode 100644 +index 0000000..fdc3fc4 +--- /dev/null ++++ b/eventqueue.h +@@ -0,0 +1,48 @@ ++/* Copyright (c) 2008, 2009 ++ * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de) ++ * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de) ++ * Micah Cowan (micah@cowan.name) ++ * Sadrul Habib Chowdhury (sadrul@users.sourceforge.net) ++ * Copyright (c) 1993-2002, 2003, 2005, 2006, 2007 ++ * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de) ++ * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de) ++ * Copyright (c) 1987 Oliver Laumann ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 3, or (at your option) ++ * any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program (see the file COPYING); if not, see ++ * http://www.gnu.org/licenses/, or contact Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA ++ * ++ **************************************************************** ++ * $Id$ GNU ++ */ ++ ++struct event ++{ ++ struct event *next; ++ void (*handler) __P((struct event *, char *)); ++ char *data; ++ int fd; ++ int type; ++ int pri; ++ struct timeval timeout; ++ int queued; /* in evs queue */ ++ int active; /* in fdset */ ++ int *condpos; /* only active if condpos - condneg > 0 */ ++ int *condneg; ++}; ++ ++#define EV_TIMEOUT 0 ++#define EV_READ 1 ++#define EV_WRITE 2 ++#define EV_ALWAYS 3 +diff --git a/sched.h b/sched.h +deleted file mode 100644 +index fdc3fc4..0000000 +--- a/sched.h ++++ /dev/null +@@ -1,48 +0,0 @@ +-/* Copyright (c) 2008, 2009 +- * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de) +- * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de) +- * Micah Cowan (micah@cowan.name) +- * Sadrul Habib Chowdhury (sadrul@users.sourceforge.net) +- * Copyright (c) 1993-2002, 2003, 2005, 2006, 2007 +- * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de) +- * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de) +- * Copyright (c) 1987 Oliver Laumann +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 3, or (at your option) +- * any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program (see the file COPYING); if not, see +- * http://www.gnu.org/licenses/, or contact Free Software Foundation, Inc., +- * 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA +- * +- **************************************************************** +- * $Id$ GNU +- */ +- +-struct event +-{ +- struct event *next; +- void (*handler) __P((struct event *, char *)); +- char *data; +- int fd; +- int type; +- int pri; +- struct timeval timeout; +- int queued; /* in evs queue */ +- int active; /* in fdset */ +- int *condpos; /* only active if condpos - condneg > 0 */ +- int *condneg; +-}; +- +-#define EV_TIMEOUT 0 +-#define EV_READ 1 +-#define EV_WRITE 2 +-#define EV_ALWAYS 3 +diff --git a/screen.h b/screen.h +index 603ca3f..34238c8 100644 +--- a/screen.h ++++ b/screen.h +@@ -43,7 +43,7 @@ + #include "osdef.h" + + #include "ansi.h" +-#include "sched.h" ++#include "eventqueue.h" + #include "acls.h" + #include "comm.h" + #include "layer.h" +-- +1.8.4.5 + diff --git a/package/screen/screen-0001-compiler-sanity-checks.patch b/package/screen/screen-0001-compiler-sanity-checks.patch deleted file mode 100644 index 19d13c6fab..0000000000 --- a/package/screen/screen-0001-compiler-sanity-checks.patch +++ /dev/null @@ -1,60 +0,0 @@ -From: Maarten ter Huurne -Date: Sat, 13 Sep 2014 10:27:27 +0200 -Subject: Removed redundant compiler sanity checks - -AC_PROG_CC already performs sanity checks. And unlike the removed -checks, it does so in a way that supports cross compilation. - -Signed-off-by: Maarten ter Huurne ---- - configure.in | 27 --------------------------- - 1 file changed, 27 deletions(-) - -diff --git a/configure.in b/configure.in -index 87fd43b..572c2a3 100644 ---- a/configure.in -+++ b/configure.in -@@ -47,31 +47,6 @@ AC_PROG_GCC_TRADITIONAL - AC_ISC_POSIX - AC_USE_SYSTEM_EXTENSIONS - --AC_TRY_RUN(main(){exit(0);},,[ --if test $CC != cc ; then --AC_NOTE(Your $CC failed - restarting with CC=cc) --AC_NOTE() --CC=cc --export CC --exec $0 $configure_args --fi --]) -- --AC_TRY_RUN(main(){exit(0);},, --exec 5>&2 --eval $ac_link --AC_NOTE(CC=$CC; CFLAGS=$CFLAGS; LIBS=$LIBS;) --AC_NOTE($ac_compile) --AC_MSG_ERROR(Can't run the compiler - sorry)) -- --AC_TRY_RUN([ --main() --{ -- int __something_strange_(); -- __something_strange_(0); --} --],AC_MSG_ERROR(Your compiler does not set the exit status - sorry)) -- - AC_PROG_AWK - - AC_PROG_INSTALL -@@ -1299,8 +1274,6 @@ fi - dnl Ptx bug workaround -- insert -lc after -ltermcap - test -n "$seqptx" && LIBS="-ltermcap -lc -lsocket -linet -lnsl -lsec -lseq" - --AC_TRY_RUN(main(){exit(0);},,AC_MSG_ERROR(Can't run the compiler - internal error. Sorry.)) -- - ETCSCREENRC= - AC_MSG_CHECKING(for the global screenrc file) - AC_ARG_WITH(sys-screenrc, [ --with-sys-screenrc=path to the global screenrc file], [ ETCSCREENRC="${withval}" ]) --- -1.8.4.5 - diff --git a/package/screen/screen-0002-no-memcpy-fallback.patch b/package/screen/screen-0002-no-memcpy-fallback.patch deleted file mode 100644 index 0f5a099f0f..0000000000 --- a/package/screen/screen-0002-no-memcpy-fallback.patch +++ /dev/null @@ -1,122 +0,0 @@ -From: Maarten ter Huurne -Date: Sat, 13 Sep 2014 11:37:59 +0200 -Subject: Do not use memcpy as an alternative for bcopy/memmove - -The configure script runs a small test program to check whether -memcpy can handle overlapping memory areas. However, it is not valid -to conclude that if a single case of overlapping memory is handled -correctly, all cases will be handled correctly. - -Since screen already has its own bcopy implementation as a fallback -for the case that bcopy and memmove are unusable, removing the memcpy -option should not break any systems. - -Signed-off-by: Maarten ter Huurne ---- - acconfig.h | 3 +-- - configure.in | 18 +----------------- - os.h | 8 ++------ - osdef.h.in | 10 +--------- - 4 files changed, 5 insertions(+), 34 deletions(-) - -diff --git a/acconfig.h b/acconfig.h -index 2e46985..9b0b9d4 100644 ---- a/acconfig.h -+++ b/acconfig.h -@@ -476,7 +476,7 @@ - #undef GETTTYENT - - /* -- * Define USEBCOPY if the bcopy/memcpy from your system's C library -+ * Define USEBCOPY if the bcopy from your system's C library - * supports the overlapping of source and destination blocks. When - * undefined, screen uses its own (probably slower) version of bcopy(). - * -@@ -487,7 +487,6 @@ - * Their memove fails the test in the configure script. Sigh. (Juergen) - */ - #undef USEBCOPY --#undef USEMEMCPY - #undef USEMEMMOVE - - /* -diff --git a/configure.in b/configure.in -index 572c2a3..ff9606d 100644 ---- a/configure.in -+++ b/configure.in -@@ -1144,7 +1144,7 @@ AC_TRY_LINK(,[getttyent();], AC_DEFINE(GETTTYENT)) - AC_CHECKING(fdwalk) - AC_TRY_LINK([#include ], [fdwalk(NULL, NULL);],AC_DEFINE(HAVE_FDWALK)) - --AC_CHECKING(whether memcpy/memmove/bcopy handles overlapping arguments) -+AC_CHECKING(whether memmove/bcopy handles overlapping arguments) - AC_TRY_RUN([ - main() { - char buf[10]; -@@ -1174,22 +1174,6 @@ main() { - exit(0); /* libc version works properly. */ - }], AC_DEFINE(USEMEMMOVE)) - -- --AC_TRY_RUN([ --#define bcopy(s,d,l) memcpy(d,s,l) --main() { -- char buf[10]; -- strcpy(buf, "abcdefghi"); -- bcopy(buf, buf + 2, 3); -- if (strncmp(buf, "ababcf", 6)) -- exit(1); -- strcpy(buf, "abcdefghi"); -- bcopy(buf + 2, buf, 3); -- if (strncmp(buf, "cdedef", 6)) -- exit(1); -- exit(0); /* libc version works properly. */ --}], AC_DEFINE(USEMEMCPY)) -- - AC_SYS_LONG_FILE_NAMES - - AC_MSG_CHECKING(for vsprintf) -diff --git a/os.h b/os.h -index 55de249..6838ec0 100644 ---- a/os.h -+++ b/os.h -@@ -142,12 +142,8 @@ extern int errno; - # ifdef USEMEMMOVE - # define bcopy(s,d,len) memmove(d,s,len) - # else --# ifdef USEMEMCPY --# define bcopy(s,d,len) memcpy(d,s,len) --# else --# define NEED_OWN_BCOPY --# define bcopy xbcopy --# endif -+# define NEED_OWN_BCOPY -+# define bcopy xbcopy - # endif - #endif - -diff --git a/osdef.h.in b/osdef.h.in -index 8687b60..e4057a0 100644 ---- a/osdef.h.in -+++ b/osdef.h.in -@@ -58,16 +58,8 @@ extern int bcmp __P((char *, char *, int)); - extern int killpg __P((int, int)); - #endif - --#ifndef USEBCOPY --# ifdef USEMEMCPY --extern void memcpy __P((char *, char *, int)); --# else --# ifdef USEMEMMOVE -+#if defined(USEMEMMOVE) && !defined(USEBCOPY) - extern void memmove __P((char *, char *, int)); --# else --extern void bcopy __P((char *, char *, int)); --# endif --# endif - #else - extern void bcopy __P((char *, char *, int)); - #endif --- -1.8.4.5 - diff --git a/package/screen/screen-0003-cross-compilation-AC_TRY_RUN.patch b/package/screen/screen-0003-cross-compilation-AC_TRY_RUN.patch deleted file mode 100644 index b908301486..0000000000 --- a/package/screen/screen-0003-cross-compilation-AC_TRY_RUN.patch +++ /dev/null @@ -1,123 +0,0 @@ -From: Maarten ter Huurne -Date: Sat, 13 Sep 2014 12:04:41 +0200 -Subject: Provide cross compilation alternatives for all AC_TRY_RUN uses - -Signed-off-by: Maarten ter Huurne ---- - configure.in | 30 +++++++++++++++++++----------- - 1 file changed, 19 insertions(+), 11 deletions(-) - -diff --git a/configure.in b/configure.in -index ff9606d..d53a079 100644 ---- a/configure.in -+++ b/configure.in -@@ -347,7 +347,8 @@ main() - exit(0); - } - ], AC_NOTE(- your fifos are usable) fifo=1, --AC_NOTE(- your fifos are not usable)) -+AC_NOTE(- your fifos are not usable), -+AC_NOTE(- skipping check because we are cross compiling; assuming fifos are usable) fifo=1) - rm -f /tmp/conftest* - - if test -n "$fifo"; then -@@ -395,7 +396,8 @@ main() - exit(0); - } - ], AC_NOTE(- your implementation is ok), --AC_NOTE(- you have a broken implementation) AC_DEFINE(BROKEN_PIPE) fifobr=1) -+AC_NOTE(- you have a broken implementation) AC_DEFINE(BROKEN_PIPE) fifobr=1, -+AC_NOTE(- skipping check because we are cross compiling; assuming fifo implementation is ok)) - rm -f /tmp/conftest* - fi - -@@ -457,7 +459,8 @@ main() - exit(0); - } - ], AC_NOTE(- your sockets are usable) sock=1, --AC_NOTE(- your sockets are not usable)) -+AC_NOTE(- your sockets are not usable), -+AC_NOTE(- skipping check because we are cross compiling; assuming sockets are usable) sock=1) - rm -f /tmp/conftest* - - if test -n "$sock"; then -@@ -496,7 +499,8 @@ main() - } - ],AC_NOTE(- you are normal), - AC_NOTE(- unix domain sockets are not kept in the filesystem) --AC_DEFINE(SOCK_NOT_IN_FS) socknofs=1) -+AC_DEFINE(SOCK_NOT_IN_FS) socknofs=1, -+AC_NOTE(- skipping check because we are cross compiling; assuming sockets are normal)) - rm -f /tmp/conftest* - fi - -@@ -623,7 +627,8 @@ main() - exit(0); - } - ],AC_NOTE(- select is ok), --AC_NOTE(- select can't count) AC_DEFINE(SELECT_BROKEN)) -+AC_NOTE(- select can't count) AC_DEFINE(SELECT_BROKEN), -+AC_NOTE(- skipping check because we are cross compiling; assuming select is ok)) - - dnl - dnl **** termcap or terminfo **** -@@ -665,7 +670,8 @@ main() - { - exit(strcmp(tgoto("%p1%d", 0, 1), "1") ? 0 : 1); - }], AC_NOTE(- you use the termcap database), --AC_NOTE(- you use the terminfo database) AC_DEFINE(TERMINFO)) -+AC_NOTE(- you use the terminfo database) AC_DEFINE(TERMINFO), -+AC_NOTE(- skipping check because we are cross compiling; assuming terminfo database is used) AC_DEFINE(TERMINFO)) - AC_CHECKING(ospeed) - AC_TRY_LINK(extern short ospeed;,ospeed=5;,,AC_DEFINE(NEED_OSPEED)) - -@@ -800,7 +806,8 @@ main() - else - AC_NOTE(- can't determine - assume ptys are world accessable) - fi -- ] -+ ], -+ AC_NOTE(- skipping check because we are cross compiling; assuming ptys are world accessable) - ) - rm -f conftest_grp - fi -@@ -884,7 +891,7 @@ AC_EGREP_CPP(yes, - #endif - ], load=1) - fi --if test -z "$load" ; then -+if test -z "$load" && test "$cross_compiling" = no ; then - AC_CHECKING(for kernelfile) - for core in /unix /vmunix /dynix /hp-ux /xelos /dev/ksyms /kernel/unix /kernel/genunix /unicos /mach /netbsd /386bsd /dgux /bsd /stand/vmunix; do - if test -f $core || test -c $core; then -@@ -1077,7 +1084,7 @@ main() - #endif - exit(0); - } --],,AC_DEFINE(SYSVSIGS)) -+],,AC_DEFINE(SYSVSIGS),:) - - fi - -@@ -1157,7 +1164,7 @@ main() { - if (strncmp(buf, "cdedef", 6)) - exit(1); - exit(0); /* libc version works properly. */ --}], AC_DEFINE(USEBCOPY)) -+}], AC_DEFINE(USEBCOPY),,:) - - AC_TRY_RUN([ - #define bcopy(s,d,l) memmove(d,s,l) -@@ -1172,7 +1179,8 @@ main() { - if (strncmp(buf, "cdedef", 6)) - exit(1); - exit(0); /* libc version works properly. */ --}], AC_DEFINE(USEMEMMOVE)) -+}], AC_DEFINE(USEMEMMOVE),, -+ AC_NOTE(- skipping check because we are cross compiling; use memmove) AC_DEFINE(USEMEMMOVE)) - - AC_SYS_LONG_FILE_NAMES - --- -1.8.4.5 - diff --git a/package/screen/screen-0004-cross-compilation-ignore-host-fs.patch b/package/screen/screen-0004-cross-compilation-ignore-host-fs.patch deleted file mode 100644 index aeacfb1d9f..0000000000 --- a/package/screen/screen-0004-cross-compilation-ignore-host-fs.patch +++ /dev/null @@ -1,130 +0,0 @@ -From: Maarten ter Huurne -Date: Sun, 14 Sep 2014 07:10:59 +0200 -Subject: When cross-compiling, skip checks that look in the host file system - -Signed-off-by: Maarten ter Huurne ---- - configure.in | 23 +++++++++++++++++++---- - 1 file changed, 19 insertions(+), 4 deletions(-) - -diff --git a/configure.in b/configure.in -index d53a079..79aa56d 100644 ---- a/configure.in -+++ b/configure.in -@@ -84,7 +84,7 @@ AC_ARG_ENABLE(socket-dir, - dnl - dnl **** special unix variants **** - dnl --if test -n "$ISC"; then -+if test "$cross_compiling" = no && test -n "$ISC" ; then - AC_DEFINE(ISC) LIBS="$LIBS -linet" - fi - -@@ -95,10 +95,11 @@ dnl AC_DEFINE(OSF1) # this disables MIPS again.... - dnl fi - dnl fi - --if test -f /sysV68 ; then -+if test "$cross_compiling" = no && test -f /sysV68 ; then - AC_DEFINE(sysV68) - fi - -+if test "$cross_compiling" = no ; then - AC_CHECKING(for MIPS) - if test -f /lib/libmld.a || test -f /usr/lib/libmld.a || test -f /usr/lib/cmplrs/cc/libmld.a; then - oldlibs="$LIBS" -@@ -122,6 +123,7 @@ AC_DEFINE(USE_WAIT2) LIBS="$LIBS -lbsd" ; CC="$CC -I/usr/include/bsd" - )) - fi - fi -+fi - - - AC_CHECKING(for Ultrix) -@@ -131,7 +133,7 @@ AC_EGREP_CPP(yes, - #endif - ], ULTRIX=1) - --if test -f /usr/lib/libpyr.a ; then -+if test "$cross_compiling" = no && test -f /usr/lib/libpyr.a ; then - oldlibs="$LIBS" - LIBS="$LIBS -lpyr" - AC_CHECKING(Pyramid OSX) -@@ -678,17 +680,21 @@ AC_TRY_LINK(extern short ospeed;,ospeed=5;,,AC_DEFINE(NEED_OSPEED)) - dnl - dnl **** PTY specific things **** - dnl -+if test "$cross_compiling" = no ; then - AC_CHECKING(for /dev/ptc) - if test -r /dev/ptc; then - AC_DEFINE(HAVE_DEV_PTC) - fi -+fi - -+if test "$cross_compiling" = no ; then - AC_CHECKING(for SVR4 ptys) - sysvr4ptys= - if test -c /dev/ptmx ; then - AC_TRY_LINK([],[ptsname(0);grantpt(0);unlockpt(0);],[AC_DEFINE(HAVE_SVR4_PTYS) - sysvr4ptys=1]) - fi -+fi - - AC_CHECK_FUNCS(getpt) - -@@ -698,6 +704,7 @@ AC_CHECK_FUNCS(openpty,, - [AC_CHECK_LIB(util,openpty, [AC_DEFINE(HAVE_OPENPTY)] [LIBS="$LIBS -lutil"])]) - fi - -+if test "$cross_compiling" = no ; then - AC_CHECKING(for ptyranges) - if test -d /dev/ptym ; then - pdir='/dev/ptym' -@@ -721,6 +728,7 @@ p1=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\)$/\1/g' | sort -u | tr -d '\ - AC_DEFINE_UNQUOTED(PTYRANGE0,"$p0") - AC_DEFINE_UNQUOTED(PTYRANGE1,"$p1") - fi -+fi - - dnl **** pty mode/group handling **** - dnl -@@ -868,14 +876,16 @@ fi - dnl - dnl **** loadav **** - dnl -+if test "$cross_compiling" = no ; then - AC_CHECKING(for libutil(s)) - test -f /usr/lib/libutils.a && LIBS="$LIBS -lutils" - test -f /usr/lib/libutil.a && LIBS="$LIBS -lutil" -+fi - - AC_CHECKING(getloadavg) - AC_TRY_LINK(,[getloadavg((double *)0, 0);], - AC_DEFINE(LOADAV_GETLOADAVG) load=1, --if test -f /usr/lib/libkvm.a ; then -+if test "$cross_compiling" = no && test -f /usr/lib/libkvm.a ; then - olibs="$LIBS" - LIBS="$LIBS -lkvm" - AC_CHECKING(getloadavg with -lkvm) -@@ -1093,13 +1103,18 @@ dnl **** libraries **** - dnl - - AC_CHECKING(for crypt and sec libraries) -+if test "$cross_compiling" = no ; then - test -f /lib/libcrypt_d.a || test -f /usr/lib/libcrypt_d.a && LIBS="$LIBS -lcrypt_d" -+fi - oldlibs="$LIBS" - LIBS="$LIBS -lcrypt" - AC_CHECKING(crypt) - AC_TRY_LINK(,,,LIBS="$oldlibs") -+if test "$cross_compiling" = no ; then - test -f /lib/libsec.a || test -f /usr/lib/libsec.a && LIBS="$LIBS -lsec" - test -f /lib/libshadow.a || test -f /usr/lib/libshadow.a && LIBS="$LIBS -lshadow" -+fi -+ - oldlibs="$LIBS" - LIBS="$LIBS -lsun" - AC_CHECKING(IRIX sun library) --- -1.8.4.5 - diff --git a/package/screen/screen-0005-avoid-identifying-as-SVR4.patch b/package/screen/screen-0005-avoid-identifying-as-SVR4.patch deleted file mode 100644 index 10c08d21ee..0000000000 --- a/package/screen/screen-0005-avoid-identifying-as-SVR4.patch +++ /dev/null @@ -1,52 +0,0 @@ -From: Maarten ter Huurne -Date: Sun, 14 Sep 2014 11:16:58 +0200 -Subject: Avoid mis-identifying systems as SVR4 - -My openSUSE 13.1 Linux system was detected as SVR4 because it had -libelf installed. This leads to linking with libelf, even though no -symbols from that library were actually used, and to a workaround for -a buggy getlogin() being enabled. - -It is not documented which exact SVR4 system had the bug that the -workaround was added for, so all I could do is make an educated guess -at the #defines its compiler would be likely to set. - -Signed-off-by: Maarten ter Huurne ---- - configure.in | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -diff --git a/configure.in b/configure.in -index f78f81f..181b7f9 100644 ---- a/configure.in -+++ b/configure.in -@@ -178,14 +178,24 @@ AC_EGREP_CPP(yes, - #endif - ], LIBS="$LIBS -lsocket -linet";seqptx=1) - -+AC_CHECKING(SVR4) -+AC_EGREP_CPP(yes, -+[main () { -+#if defined(SVR4) || defined(__SVR4) -+ yes; -+#endif -+], AC_NOTE(- you have a SVR4 system) AC_DEFINE(SVR4) svr4=1) -+if test -n "$svr4" ; then - oldlibs="$LIBS" - LIBS="$LIBS -lelf" - AC_CHECKING(SVR4) - AC_TRY_LINK([#include - ],, --[AC_CHECK_HEADER(dwarf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN), --[AC_CHECK_HEADER(elf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN))])] -+[AC_CHECK_HEADER(dwarf.h, AC_DEFINE(BUGGYGETLOGIN), -+[AC_CHECK_HEADER(elf.h, AC_DEFINE(BUGGYGETLOGIN))])] - ,LIBS="$oldlibs") -+fi -+ - AC_CHECK_HEADERS([stropts.h string.h strings.h]) - - AC_CHECKING(for Solaris 2.x) --- -1.8.4.5 - diff --git a/package/screen/screen-0006-install-no-backup-binary.patch b/package/screen/screen-0006-install-no-backup-binary.patch deleted file mode 100644 index 504862a299..0000000000 --- a/package/screen/screen-0006-install-no-backup-binary.patch +++ /dev/null @@ -1,39 +0,0 @@ -From: Maarten ter Huurne -Date: Sun, 14 Sep 2014 23:58:34 +0200 -Subject: Do not create backup of old installed binary - -This is a rather unusual feature that packagers will not expect. - -Signed-off-by: Maarten ter Huurne ---- - Makefile.in | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/Makefile.in b/Makefile.in -index 187a69b..65549e9 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -83,12 +83,9 @@ screen: $(OFILES) - $(OPTIONS) $(CFLAGS) $< - - install_bin: .version screen -- -if [ -f $(DESTDIR)$(bindir)/$(SCREEN) ] && [ ! -f $(DESTDIR)$(bindir)/$(SCREEN).old ]; \ -- then mv $(DESTDIR)$(bindir)/$(SCREEN) $(DESTDIR)$(bindir)/$(SCREEN).old; fi - $(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN) - -chown root $(DESTDIR)$(bindir)/$(SCREEN) && chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN) - # This doesn't work if $(bindir)/screen is a symlink -- -if [ -f $(DESTDIR)$(bindir)/screen ] && [ ! -f $(DESTDIR)$(bindir)/screen.old ]; then mv $(DESTDIR)$(bindir)/screen $(DESTDIR)$(bindir)/screen.old; fi - rm -f $(DESTDIR)$(bindir)/screen - (cd $(DESTDIR)$(bindir) && ln -f -s $(SCREEN) screen) - cp $(srcdir)/utf8encodings/?? $(DESTDIR)$(SCREENENCODINGS) -@@ -113,7 +110,6 @@ installdirs: - uninstall: .version - rm -f $(DESTDIR)$(bindir)/$(SCREEN) - rm -f $(DESTDIR)$(bindir)/screen -- -mv $(DESTDIR)$(bindir)/screen.old $(DESTDIR)$(bindir)/screen - rm -f $(DESTDIR)$(ETCSCREENRC) - cd doc; $(MAKE) uninstall - --- -1.8.4.5 - diff --git a/package/screen/screen-0007-install-always-chmod.patch b/package/screen/screen-0007-install-always-chmod.patch deleted file mode 100644 index 0aa7690b08..0000000000 --- a/package/screen/screen-0007-install-always-chmod.patch +++ /dev/null @@ -1,29 +0,0 @@ -From: Maarten ter Huurne -Date: Mon, 15 Sep 2014 00:03:05 +0200 -Subject: Change binary permission flags even if chown fails - -Typically when creating a package, the build is not run as root, so -the chown will fail. But the chmod can still be done. - -Signed-off-by: Maarten ter Huurne ---- - Makefile.in | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/Makefile.in b/Makefile.in -index 65549e9..3c12fdb 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -84,7 +84,8 @@ screen: $(OFILES) - - install_bin: .version screen - $(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN) -- -chown root $(DESTDIR)$(bindir)/$(SCREEN) && chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN) -+ -chown root $(DESTDIR)$(bindir)/$(SCREEN) -+ -chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN) - # This doesn't work if $(bindir)/screen is a symlink - rm -f $(DESTDIR)$(bindir)/screen - (cd $(DESTDIR)$(bindir) && ln -f -s $(SCREEN) screen) --- -1.8.4.5 - diff --git a/package/screen/screen-0008-install-nonversioned-binary.patch b/package/screen/screen-0008-install-nonversioned-binary.patch deleted file mode 100644 index ecbbd65197..0000000000 --- a/package/screen/screen-0008-install-nonversioned-binary.patch +++ /dev/null @@ -1,31 +0,0 @@ -From: Maarten ter Huurne -Date: Mon, 15 Sep 2014 00:06:20 +0200 -Subject: Support overriding SCREEN to get a non-versioned binary - -If a packager runs "make install SCREEN=screen", do not create -"screen" as a symlink to itself. - -Signed-off-by: Maarten ter Huurne ---- - Makefile.in | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Makefile.in b/Makefile.in -index 3c12fdb..860f351 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -86,9 +86,11 @@ install_bin: .version screen - $(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN) - -chown root $(DESTDIR)$(bindir)/$(SCREEN) - -chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN) -+ifneq (${SCREEN},screen) - # This doesn't work if $(bindir)/screen is a symlink - rm -f $(DESTDIR)$(bindir)/screen - (cd $(DESTDIR)$(bindir) && ln -f -s $(SCREEN) screen) -+endif - cp $(srcdir)/utf8encodings/?? $(DESTDIR)$(SCREENENCODINGS) - - ############################################################################### --- -1.8.4.5 - diff --git a/package/screen/screen-0009-install-dir-dependency.patch b/package/screen/screen-0009-install-dir-dependency.patch deleted file mode 100644 index 9016cb90be..0000000000 --- a/package/screen/screen-0009-install-dir-dependency.patch +++ /dev/null @@ -1,43 +0,0 @@ -From: Maarten ter Huurne -Date: Mon, 15 Sep 2014 02:27:09 +0200 -Subject: Ensure that installation dirs exist before copying files into them - -Since the "install_bin" target requires the installation directories -to exist, it should depend on the "installdirs" target. The previous -approach of having "install" depend on "installdirs" is not reliable. - -For example, in a parallel build, there was no guarantee that -"installdirs" would be finished before "install_bin" runs. Also if -the user requested only "install_bin" to be made, "installdirs" would -be skipped altogether. - -Signed-off-by: Maarten ter Huurne ---- - Makefile.in | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Makefile.in b/Makefile.in -index 860f351..f0fe08d 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -82,7 +82,7 @@ screen: $(OFILES) - $(CC) -c -I. -I$(srcdir) $(M_CFLAGS) $(CPPFLAGS) $(DEFS) \ - $(OPTIONS) $(CFLAGS) $< - --install_bin: .version screen -+install_bin: .version screen installdirs - $(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN) - -chown root $(DESTDIR)$(bindir)/$(SCREEN) - -chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN) -@@ -94,7 +94,7 @@ endif - cp $(srcdir)/utf8encodings/?? $(DESTDIR)$(SCREENENCODINGS) - - ############################################################################### --install: installdirs install_bin -+install: install_bin - cd doc ; $(MAKE) install - -if [ -d /usr/lib/terminfo ]; then \ - PATH="$$PATH:/usr/5bin" tic ${srcdir}/terminfo/screeninfo.src; \ --- -1.8.4.5 - diff --git a/package/screen/screen-0010-rename-sched_h.patch b/package/screen/screen-0010-rename-sched_h.patch deleted file mode 100644 index cdbb0335f9..0000000000 --- a/package/screen/screen-0010-rename-sched_h.patch +++ /dev/null @@ -1,142 +0,0 @@ -From: Maarten ter Huurne -Date: Mon, 15 Sep 2014 00:24:41 +0200 -Subject: Renamed sched.h to eventqueue.h - -There is a system header that got shadowed by "sched.h". -While Screen itself doesn't include , other system headers -might include it indirectly. This broke the build when using uClibc -with pthread support. - -Signed-off-by: Maarten ter Huurne ---- - eventqueue.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ - sched.h | 48 ------------------------------------------------ - screen.h | 2 +- - 3 files changed, 49 insertions(+), 49 deletions(-) - create mode 100644 eventqueue.h - delete mode 100644 sched.h - -diff --git a/eventqueue.h b/eventqueue.h -new file mode 100644 -index 0000000..fdc3fc4 ---- /dev/null -+++ b/eventqueue.h -@@ -0,0 +1,48 @@ -+/* Copyright (c) 2008, 2009 -+ * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de) -+ * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de) -+ * Micah Cowan (micah@cowan.name) -+ * Sadrul Habib Chowdhury (sadrul@users.sourceforge.net) -+ * Copyright (c) 1993-2002, 2003, 2005, 2006, 2007 -+ * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de) -+ * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de) -+ * Copyright (c) 1987 Oliver Laumann -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 3, or (at your option) -+ * any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program (see the file COPYING); if not, see -+ * http://www.gnu.org/licenses/, or contact Free Software Foundation, Inc., -+ * 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA -+ * -+ **************************************************************** -+ * $Id$ GNU -+ */ -+ -+struct event -+{ -+ struct event *next; -+ void (*handler) __P((struct event *, char *)); -+ char *data; -+ int fd; -+ int type; -+ int pri; -+ struct timeval timeout; -+ int queued; /* in evs queue */ -+ int active; /* in fdset */ -+ int *condpos; /* only active if condpos - condneg > 0 */ -+ int *condneg; -+}; -+ -+#define EV_TIMEOUT 0 -+#define EV_READ 1 -+#define EV_WRITE 2 -+#define EV_ALWAYS 3 -diff --git a/sched.h b/sched.h -deleted file mode 100644 -index fdc3fc4..0000000 ---- a/sched.h -+++ /dev/null -@@ -1,48 +0,0 @@ --/* Copyright (c) 2008, 2009 -- * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de) -- * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de) -- * Micah Cowan (micah@cowan.name) -- * Sadrul Habib Chowdhury (sadrul@users.sourceforge.net) -- * Copyright (c) 1993-2002, 2003, 2005, 2006, 2007 -- * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de) -- * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de) -- * Copyright (c) 1987 Oliver Laumann -- * -- * This program is free software; you can redistribute it and/or modify -- * it under the terms of the GNU General Public License as published by -- * the Free Software Foundation; either version 3, or (at your option) -- * any later version. -- * -- * This program is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- * GNU General Public License for more details. -- * -- * You should have received a copy of the GNU General Public License -- * along with this program (see the file COPYING); if not, see -- * http://www.gnu.org/licenses/, or contact Free Software Foundation, Inc., -- * 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA -- * -- **************************************************************** -- * $Id$ GNU -- */ -- --struct event --{ -- struct event *next; -- void (*handler) __P((struct event *, char *)); -- char *data; -- int fd; -- int type; -- int pri; -- struct timeval timeout; -- int queued; /* in evs queue */ -- int active; /* in fdset */ -- int *condpos; /* only active if condpos - condneg > 0 */ -- int *condneg; --}; -- --#define EV_TIMEOUT 0 --#define EV_READ 1 --#define EV_WRITE 2 --#define EV_ALWAYS 3 -diff --git a/screen.h b/screen.h -index 603ca3f..34238c8 100644 ---- a/screen.h -+++ b/screen.h -@@ -43,7 +43,7 @@ - #include "osdef.h" - - #include "ansi.h" --#include "sched.h" -+#include "eventqueue.h" - #include "acls.h" - #include "comm.h" - #include "layer.h" --- -1.8.4.5 - diff --git a/package/sdl/0001-use-correct-directfb-config.patch b/package/sdl/0001-use-correct-directfb-config.patch new file mode 100644 index 0000000000..ef671a1ddd --- /dev/null +++ b/package/sdl/0001-use-correct-directfb-config.patch @@ -0,0 +1,25 @@ +[PATCH] configure.in: use correct directfb-config in version check + +The configure script has just checked for the correct directfb-config +script, so also use it for the version check instead of whatever +might be in the path. + +Signed-off-by: Peter Korsgaard +--- + configure.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +Index: SDL-1.2.15/configure.in +=================================================================== +--- SDL-1.2.15.orig/configure.in ++++ SDL-1.2.15/configure.in +@@ -1276,7 +1276,7 @@ + else + set -- `echo $DIRECTFB_REQUIRED_VERSION | sed 's/\./ /g'` + NEED_VERSION=`expr $1 \* 10000 + $2 \* 100 + $3` +- set -- `directfb-config --version | sed 's/\./ /g'` ++ set -- `$DIRECTFBCONFIG --version | sed 's/\./ /g'` + HAVE_VERSION=`expr $1 \* 10000 + $2 \* 100 + $3` + if test $HAVE_VERSION -ge $NEED_VERSION; then + DIRECTFB_CFLAGS=`$DIRECTFBCONFIG --cflags` + diff --git a/package/sdl/0002-fix-compilation-with-libx11.patch b/package/sdl/0002-fix-compilation-with-libx11.patch new file mode 100644 index 0000000000..27f244883e --- /dev/null +++ b/package/sdl/0002-fix-compilation-with-libx11.patch @@ -0,0 +1,60 @@ +sdl: Fix compilation with libX11 >= 1.5.99.902 +Signed-off-by: Vicente Olivert Riera + +# HG changeset patch +# User Azamat H. Hackimov +# Date 1370184533 -21600 +# Node ID 91ad7b43317a6387e115ecdf63a49137f47e42c8 +# Parent f7fd5c3951b9ed922fdf696f7182e71b58a13268 +Fix compilation with libX11 >= 1.5.99.902. + +These changes fixes bug #1769 for SDL 1.2 +(http://bugzilla.libsdl.org/show_bug.cgi?id=1769). + +diff -r f7fd5c3951b9 -r 91ad7b43317a configure.in +--- a/configure.in Wed Apr 17 00:56:53 2013 -0700 ++++ b/configure.in Sun Jun 02 20:48:53 2013 +0600 +@@ -1169,6 +1169,17 @@ + if test x$definitely_enable_video_x11_xrandr = xyes; then + AC_DEFINE(SDL_VIDEO_DRIVER_X11_XRANDR) + fi ++ AC_MSG_CHECKING(for const parameter to _XData32) ++ have_const_param_xdata32=no ++ AC_TRY_COMPILE([ ++ #include ++ extern int _XData32(Display *dpy,register _Xconst long *data,unsigned len); ++ ],[ ++ ],[ ++ have_const_param_xdata32=yes ++ AC_DEFINE(SDL_VIDEO_DRIVER_X11_CONST_PARAM_XDATA32) ++ ]) ++ AC_MSG_RESULT($have_const_param_xdata32) + fi + fi + } +diff -r f7fd5c3951b9 -r 91ad7b43317a include/SDL_config.h.in +--- a/include/SDL_config.h.in Wed Apr 17 00:56:53 2013 -0700 ++++ b/include/SDL_config.h.in Sun Jun 02 20:48:53 2013 +0600 +@@ -283,6 +283,7 @@ + #undef SDL_VIDEO_DRIVER_WINDIB + #undef SDL_VIDEO_DRIVER_WSCONS + #undef SDL_VIDEO_DRIVER_X11 ++#undef SDL_VIDEO_DRIVER_X11_CONST_PARAM_XDATA32 + #undef SDL_VIDEO_DRIVER_X11_DGAMOUSE + #undef SDL_VIDEO_DRIVER_X11_DYNAMIC + #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT +diff -r f7fd5c3951b9 -r 91ad7b43317a src/video/x11/SDL_x11sym.h +--- a/src/video/x11/SDL_x11sym.h Wed Apr 17 00:56:53 2013 -0700 ++++ b/src/video/x11/SDL_x11sym.h Sun Jun 02 20:48:53 2013 +0600 +@@ -165,7 +165,11 @@ + */ + #ifdef LONG64 + SDL_X11_MODULE(IO_32BIT) ++#if SDL_VIDEO_DRIVER_X11_CONST_PARAM_XDATA32 ++SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return) ++#else + SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return) ++#endif + SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),) + #endif + diff --git a/package/sdl/sdl-0001-use-correct-directfb-config.patch b/package/sdl/sdl-0001-use-correct-directfb-config.patch deleted file mode 100644 index ef671a1ddd..0000000000 --- a/package/sdl/sdl-0001-use-correct-directfb-config.patch +++ /dev/null @@ -1,25 +0,0 @@ -[PATCH] configure.in: use correct directfb-config in version check - -The configure script has just checked for the correct directfb-config -script, so also use it for the version check instead of whatever -might be in the path. - -Signed-off-by: Peter Korsgaard ---- - configure.in | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -Index: SDL-1.2.15/configure.in -=================================================================== ---- SDL-1.2.15.orig/configure.in -+++ SDL-1.2.15/configure.in -@@ -1276,7 +1276,7 @@ - else - set -- `echo $DIRECTFB_REQUIRED_VERSION | sed 's/\./ /g'` - NEED_VERSION=`expr $1 \* 10000 + $2 \* 100 + $3` -- set -- `directfb-config --version | sed 's/\./ /g'` -+ set -- `$DIRECTFBCONFIG --version | sed 's/\./ /g'` - HAVE_VERSION=`expr $1 \* 10000 + $2 \* 100 + $3` - if test $HAVE_VERSION -ge $NEED_VERSION; then - DIRECTFB_CFLAGS=`$DIRECTFBCONFIG --cflags` - diff --git a/package/sdl/sdl-0002-fix-compilation-with-libx11.patch b/package/sdl/sdl-0002-fix-compilation-with-libx11.patch deleted file mode 100644 index 27f244883e..0000000000 --- a/package/sdl/sdl-0002-fix-compilation-with-libx11.patch +++ /dev/null @@ -1,60 +0,0 @@ -sdl: Fix compilation with libX11 >= 1.5.99.902 -Signed-off-by: Vicente Olivert Riera - -# HG changeset patch -# User Azamat H. Hackimov -# Date 1370184533 -21600 -# Node ID 91ad7b43317a6387e115ecdf63a49137f47e42c8 -# Parent f7fd5c3951b9ed922fdf696f7182e71b58a13268 -Fix compilation with libX11 >= 1.5.99.902. - -These changes fixes bug #1769 for SDL 1.2 -(http://bugzilla.libsdl.org/show_bug.cgi?id=1769). - -diff -r f7fd5c3951b9 -r 91ad7b43317a configure.in ---- a/configure.in Wed Apr 17 00:56:53 2013 -0700 -+++ b/configure.in Sun Jun 02 20:48:53 2013 +0600 -@@ -1169,6 +1169,17 @@ - if test x$definitely_enable_video_x11_xrandr = xyes; then - AC_DEFINE(SDL_VIDEO_DRIVER_X11_XRANDR) - fi -+ AC_MSG_CHECKING(for const parameter to _XData32) -+ have_const_param_xdata32=no -+ AC_TRY_COMPILE([ -+ #include -+ extern int _XData32(Display *dpy,register _Xconst long *data,unsigned len); -+ ],[ -+ ],[ -+ have_const_param_xdata32=yes -+ AC_DEFINE(SDL_VIDEO_DRIVER_X11_CONST_PARAM_XDATA32) -+ ]) -+ AC_MSG_RESULT($have_const_param_xdata32) - fi - fi - } -diff -r f7fd5c3951b9 -r 91ad7b43317a include/SDL_config.h.in ---- a/include/SDL_config.h.in Wed Apr 17 00:56:53 2013 -0700 -+++ b/include/SDL_config.h.in Sun Jun 02 20:48:53 2013 +0600 -@@ -283,6 +283,7 @@ - #undef SDL_VIDEO_DRIVER_WINDIB - #undef SDL_VIDEO_DRIVER_WSCONS - #undef SDL_VIDEO_DRIVER_X11 -+#undef SDL_VIDEO_DRIVER_X11_CONST_PARAM_XDATA32 - #undef SDL_VIDEO_DRIVER_X11_DGAMOUSE - #undef SDL_VIDEO_DRIVER_X11_DYNAMIC - #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT -diff -r f7fd5c3951b9 -r 91ad7b43317a src/video/x11/SDL_x11sym.h ---- a/src/video/x11/SDL_x11sym.h Wed Apr 17 00:56:53 2013 -0700 -+++ b/src/video/x11/SDL_x11sym.h Sun Jun 02 20:48:53 2013 +0600 -@@ -165,7 +165,11 @@ - */ - #ifdef LONG64 - SDL_X11_MODULE(IO_32BIT) -+#if SDL_VIDEO_DRIVER_X11_CONST_PARAM_XDATA32 -+SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return) -+#else - SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return) -+#endif - SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),) - #endif - diff --git a/package/ser2net/0001-Fix-TIOCSRS485-undeclared-error.patch b/package/ser2net/0001-Fix-TIOCSRS485-undeclared-error.patch new file mode 100644 index 0000000000..9c6d1689b7 --- /dev/null +++ b/package/ser2net/0001-Fix-TIOCSRS485-undeclared-error.patch @@ -0,0 +1,65 @@ +ser2net: Fix compilation failures due to missing TIOCSRS485 macro + +Patch sent upstream: + https://sourceforge.net/p/ser2net/mailman/message/32905302/ + +Signed-off-by: Vicente Olivert Riera + +From: Yegor Yefremov + +include fixes compilations for systems, +where won't be included automatically. + +Move special Linux includes to dataxfer.h. + +Signed-off-by: Yegor Yefremov +--- + dataxfer.h | 5 +++-- + devcfg.c | 2 -- + 2 files changed, 3 insertions(+), 4 deletions(-) + +diff --git a/dataxfer.h b/dataxfer.h +index bd2665e..c3d7431 100644 +--- a/dataxfer.h ++++ b/dataxfer.h +@@ -20,8 +20,6 @@ + #ifndef DATAXFER + #define DATAXFER + +-#include +- + #include "controller.h" + + #ifdef USE_UUCP_LOCKING +@@ -30,6 +28,9 @@ extern int uucp_locking_enabled; + + #ifdef linux + ++#include ++#include ++ + #define USE_RS485_FEATURE + + /* Check, if the toolchain provides serial_rs485 structure and macros */ +diff --git a/devcfg.c b/devcfg.c +index ab819a6..1f84714 100644 +--- a/devcfg.c ++++ b/devcfg.c +@@ -18,7 +18,6 @@ + */ + + /* This code handles generating the configuration for the serial port. */ +- + #include + #include + #include +@@ -31,7 +30,6 @@ + #include + #include + #include +-#include + + #include "ser2net.h" + #include "selector.h" +-- +1.9.1 diff --git a/package/ser2net/ser2net-0001-Fix-TIOCSRS485-undeclared-error.patch b/package/ser2net/ser2net-0001-Fix-TIOCSRS485-undeclared-error.patch deleted file mode 100644 index 9c6d1689b7..0000000000 --- a/package/ser2net/ser2net-0001-Fix-TIOCSRS485-undeclared-error.patch +++ /dev/null @@ -1,65 +0,0 @@ -ser2net: Fix compilation failures due to missing TIOCSRS485 macro - -Patch sent upstream: - https://sourceforge.net/p/ser2net/mailman/message/32905302/ - -Signed-off-by: Vicente Olivert Riera - -From: Yegor Yefremov - -include fixes compilations for systems, -where won't be included automatically. - -Move special Linux includes to dataxfer.h. - -Signed-off-by: Yegor Yefremov ---- - dataxfer.h | 5 +++-- - devcfg.c | 2 -- - 2 files changed, 3 insertions(+), 4 deletions(-) - -diff --git a/dataxfer.h b/dataxfer.h -index bd2665e..c3d7431 100644 ---- a/dataxfer.h -+++ b/dataxfer.h -@@ -20,8 +20,6 @@ - #ifndef DATAXFER - #define DATAXFER - --#include -- - #include "controller.h" - - #ifdef USE_UUCP_LOCKING -@@ -30,6 +28,9 @@ extern int uucp_locking_enabled; - - #ifdef linux - -+#include -+#include -+ - #define USE_RS485_FEATURE - - /* Check, if the toolchain provides serial_rs485 structure and macros */ -diff --git a/devcfg.c b/devcfg.c -index ab819a6..1f84714 100644 ---- a/devcfg.c -+++ b/devcfg.c -@@ -18,7 +18,6 @@ - */ - - /* This code handles generating the configuration for the serial port. */ -- - #include - #include - #include -@@ -31,7 +30,6 @@ - #include - #include - #include --#include - - #include "ser2net.h" - #include "selector.h" --- -1.9.1 diff --git a/package/setserial/0001-build-system-fix.patch b/package/setserial/0001-build-system-fix.patch new file mode 100644 index 0000000000..eec7993d19 --- /dev/null +++ b/package/setserial/0001-build-system-fix.patch @@ -0,0 +1,28 @@ +Install the setserial program in /usr/bin instead of /bin, and make +sure that the directories (especially the manpages directory) are +created before installing files to them. This is similar to what +automake does. + +Signed-off-by: Thomas Petazzoni +--- + Makefile.in | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +Index: setserial-2.17/Makefile.in +=================================================================== +--- setserial-2.17.orig/Makefile.in ++++ setserial-2.17/Makefile.in +@@ -26,9 +26,10 @@ setserial.cat: setserial.8 + nroff -man setserial.8 > setserial.cat + + install: setserial setserial.8 +- $(INSTALL_PROGRAM) setserial $(DESTDIR)/bin +- $(STRIP) $(DESTDIR)/bin/setserial +- $(INSTALL_DATA) setserial.8 $(DESTDIR)/usr/man/man8 ++ mkdir -p $(DESTDIR)/usr/bin ++ $(INSTALL_PROGRAM) setserial $(DESTDIR)/usr/bin ++ mkdir -p $(DESTDIR)/usr/share/man/man8 ++ $(INSTALL_DATA) setserial.8 $(DESTDIR)/usr/share/man/man8 + + clean: + $(RM) setserial setserial.o setserial.cat *~ diff --git a/package/setserial/0002-tiocghayesesp-build-fix.patch b/package/setserial/0002-tiocghayesesp-build-fix.patch new file mode 100644 index 0000000000..176a0c9e15 --- /dev/null +++ b/package/setserial/0002-tiocghayesesp-build-fix.patch @@ -0,0 +1,28 @@ +[PATCH] setserial: fix build with 2.6.33+ kernel headers + +linux/hayesesp.h got removed in 2.6.33, but some archs (like x86) still +define the TIOCGHAYESESP ioctl, breaking the build. + +It's very unlikely to be of interest anymore, so just undef it. + +Signed-off-by: Peter Korsgaard +--- + setserial.c | 5 +++++ + 1 file changed, 5 insertions(+) + +Index: setserial-2.17/setserial.c +=================================================================== +--- setserial-2.17.orig/setserial.c ++++ setserial-2.17/setserial.c +@@ -24,6 +24,11 @@ + #endif + #include + ++/* linux/hayesesp.h got removed in 2.6.33 but some archs (like x86) ++ still define TIOCGHAYESESP. It's very unlikely to be of interest ++ anymore, so just undef it */ ++#undef TIOCGHAYESESP ++ + #include "version.h" + + static char version_str[] = "setserial version " SETSERIAL_VERSION ", " diff --git a/package/setserial/setserial-0001-build-system-fix.patch b/package/setserial/setserial-0001-build-system-fix.patch deleted file mode 100644 index eec7993d19..0000000000 --- a/package/setserial/setserial-0001-build-system-fix.patch +++ /dev/null @@ -1,28 +0,0 @@ -Install the setserial program in /usr/bin instead of /bin, and make -sure that the directories (especially the manpages directory) are -created before installing files to them. This is similar to what -automake does. - -Signed-off-by: Thomas Petazzoni ---- - Makefile.in | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -Index: setserial-2.17/Makefile.in -=================================================================== ---- setserial-2.17.orig/Makefile.in -+++ setserial-2.17/Makefile.in -@@ -26,9 +26,10 @@ setserial.cat: setserial.8 - nroff -man setserial.8 > setserial.cat - - install: setserial setserial.8 -- $(INSTALL_PROGRAM) setserial $(DESTDIR)/bin -- $(STRIP) $(DESTDIR)/bin/setserial -- $(INSTALL_DATA) setserial.8 $(DESTDIR)/usr/man/man8 -+ mkdir -p $(DESTDIR)/usr/bin -+ $(INSTALL_PROGRAM) setserial $(DESTDIR)/usr/bin -+ mkdir -p $(DESTDIR)/usr/share/man/man8 -+ $(INSTALL_DATA) setserial.8 $(DESTDIR)/usr/share/man/man8 - - clean: - $(RM) setserial setserial.o setserial.cat *~ diff --git a/package/setserial/setserial-0002-tiocghayesesp-build-fix.patch b/package/setserial/setserial-0002-tiocghayesesp-build-fix.patch deleted file mode 100644 index 176a0c9e15..0000000000 --- a/package/setserial/setserial-0002-tiocghayesesp-build-fix.patch +++ /dev/null @@ -1,28 +0,0 @@ -[PATCH] setserial: fix build with 2.6.33+ kernel headers - -linux/hayesesp.h got removed in 2.6.33, but some archs (like x86) still -define the TIOCGHAYESESP ioctl, breaking the build. - -It's very unlikely to be of interest anymore, so just undef it. - -Signed-off-by: Peter Korsgaard ---- - setserial.c | 5 +++++ - 1 file changed, 5 insertions(+) - -Index: setserial-2.17/setserial.c -=================================================================== ---- setserial-2.17.orig/setserial.c -+++ setserial-2.17/setserial.c -@@ -24,6 +24,11 @@ - #endif - #include - -+/* linux/hayesesp.h got removed in 2.6.33 but some archs (like x86) -+ still define TIOCGHAYESESP. It's very unlikely to be of interest -+ anymore, so just undef it */ -+#undef TIOCGHAYESESP -+ - #include "version.h" - - static char version_str[] = "setserial version " SETSERIAL_VERSION ", " diff --git a/package/sispmctl/0001-configure-add-pkg-config-support.patch b/package/sispmctl/0001-configure-add-pkg-config-support.patch new file mode 100644 index 0000000000..9466080641 --- /dev/null +++ b/package/sispmctl/0001-configure-add-pkg-config-support.patch @@ -0,0 +1,70 @@ +From 8002a7e6fa965dfd304d098fbc64b0f1a6e3b465 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sun, 24 Aug 2014 22:34:29 +0200 +Subject: [PATCH 1/1] configure: add pkg-config support + +The static linking doesn't works with libusb-compat when using libusb-config. +Also the CFLAGS initialization with libusb-config --cflags is comented out. + +Based on libftdi's patch, add the support for pkg-config to link sispmctl +correctly. + +This allow to add correct include directory to CFLAGS +(Add -I$(STAGING_DIR)/usr/include and -I$(STAGING_DIR)/usr/include/libusb-1.0) +Also add needed libraries during static linking (-lusb -lusb-1.0 and -pthread) + +Signed-off-by: Romain Naour +--- + configure.in | 36 +++++++++++------------------------- + 1 file changed, 11 insertions(+), 25 deletions(-) + +diff --git a/configure.in b/configure.in +index 08d39ea..65d0c1d 100644 +--- a/configure.in ++++ b/configure.in +@@ -23,31 +23,17 @@ AC_SUBST(WEBDIR) + AC_ARG_WITH(bindaddr,[ --with-bindaddr=IP bind listening socket to IP], [BINDADDR="$withval"]) + AC_SUBST(BINDADDR) + +- +-# Checks for libraries. +-dnl check for libusb-config +-AC_PATH_PROG(HAVELIBUSB, libusb-config, $PATH) +- +-if test -e "$HAVELIBUSB"; then +- dnl LIBUSB_CFLAGS=`$HAVELIBUSB --cflags` +- LIBUSB_LIBS=`$HAVELIBUSB --libs` +- CFLAGS="$CFLAGS $LIBUSB_CFLAGS" +- LIBS="$LIBS $LIBUSB_LIBS" +-else +- AC_MSG_ERROR([*** libusb-config not found. You need a working libusb installation. Version >=0.1.7]) +-fi +- +-dnl check for version of libusb +-AC_MSG_CHECKING([if libusb version is >= 0.1.9]) +-libusb_version_needed="1009" +-libusb_version=`$HAVELIBUSB --version | sed -e "s/libusb //" | awk 'BEGIN { FS = "."; } { printf "%d", ($''1 * 1000 + $''2) * 1000 + $''3;}'` +- +-if test $libusb_version -lt $libusb_version_needed; then +- AC_MSG_RESULT(no) +- AC_MSG_ERROR([*** libusb is too old ($libusb_version). You need a libusb installation newer or equal to 0.1.9.]) +-else +- AC_MSG_RESULT(yes) +-fi ++dnl check for libusb ++PKG_CHECK_MODULES(LIBUSB, libusb >= 0.1.11) ++CFLAGS="$CFLAGS $LIBUSB_CFLAGS" ++LIBS="$LIBS $LIBUSB_LIBS" ++ ++dnl Check for recent pkg-config which supports Requires.private ++case `$PKG_CONFIG --version` in ++0.?|0.1[0-7]) PKGCONFIG_REQUIRES="Requires"; ;; ++*) PKGCONFIG_REQUIRES="Requires.private"; ;; ++esac ++AC_SUBST(PKGCONFIG_REQUIRES) + + # Checks for header files. + AC_HEADER_STDC +-- +1.9.3 + diff --git a/package/sispmctl/sispmctl-01-configure-add-pkg-config-support.patch b/package/sispmctl/sispmctl-01-configure-add-pkg-config-support.patch deleted file mode 100644 index 9466080641..0000000000 --- a/package/sispmctl/sispmctl-01-configure-add-pkg-config-support.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 8002a7e6fa965dfd304d098fbc64b0f1a6e3b465 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sun, 24 Aug 2014 22:34:29 +0200 -Subject: [PATCH 1/1] configure: add pkg-config support - -The static linking doesn't works with libusb-compat when using libusb-config. -Also the CFLAGS initialization with libusb-config --cflags is comented out. - -Based on libftdi's patch, add the support for pkg-config to link sispmctl -correctly. - -This allow to add correct include directory to CFLAGS -(Add -I$(STAGING_DIR)/usr/include and -I$(STAGING_DIR)/usr/include/libusb-1.0) -Also add needed libraries during static linking (-lusb -lusb-1.0 and -pthread) - -Signed-off-by: Romain Naour ---- - configure.in | 36 +++++++++++------------------------- - 1 file changed, 11 insertions(+), 25 deletions(-) - -diff --git a/configure.in b/configure.in -index 08d39ea..65d0c1d 100644 ---- a/configure.in -+++ b/configure.in -@@ -23,31 +23,17 @@ AC_SUBST(WEBDIR) - AC_ARG_WITH(bindaddr,[ --with-bindaddr=IP bind listening socket to IP], [BINDADDR="$withval"]) - AC_SUBST(BINDADDR) - -- --# Checks for libraries. --dnl check for libusb-config --AC_PATH_PROG(HAVELIBUSB, libusb-config, $PATH) -- --if test -e "$HAVELIBUSB"; then -- dnl LIBUSB_CFLAGS=`$HAVELIBUSB --cflags` -- LIBUSB_LIBS=`$HAVELIBUSB --libs` -- CFLAGS="$CFLAGS $LIBUSB_CFLAGS" -- LIBS="$LIBS $LIBUSB_LIBS" --else -- AC_MSG_ERROR([*** libusb-config not found. You need a working libusb installation. Version >=0.1.7]) --fi -- --dnl check for version of libusb --AC_MSG_CHECKING([if libusb version is >= 0.1.9]) --libusb_version_needed="1009" --libusb_version=`$HAVELIBUSB --version | sed -e "s/libusb //" | awk 'BEGIN { FS = "."; } { printf "%d", ($''1 * 1000 + $''2) * 1000 + $''3;}'` -- --if test $libusb_version -lt $libusb_version_needed; then -- AC_MSG_RESULT(no) -- AC_MSG_ERROR([*** libusb is too old ($libusb_version). You need a libusb installation newer or equal to 0.1.9.]) --else -- AC_MSG_RESULT(yes) --fi -+dnl check for libusb -+PKG_CHECK_MODULES(LIBUSB, libusb >= 0.1.11) -+CFLAGS="$CFLAGS $LIBUSB_CFLAGS" -+LIBS="$LIBS $LIBUSB_LIBS" -+ -+dnl Check for recent pkg-config which supports Requires.private -+case `$PKG_CONFIG --version` in -+0.?|0.1[0-7]) PKGCONFIG_REQUIRES="Requires"; ;; -+*) PKGCONFIG_REQUIRES="Requires.private"; ;; -+esac -+AC_SUBST(PKGCONFIG_REQUIRES) - - # Checks for header files. - AC_HEADER_STDC --- -1.9.3 - diff --git a/package/smstools3/0001-fix-Makefile.patch b/package/smstools3/0001-fix-Makefile.patch new file mode 100644 index 0000000000..5842357451 --- /dev/null +++ b/package/smstools3/0001-fix-Makefile.patch @@ -0,0 +1,29 @@ +Makefile: fix rules + +In a Makefile, recipes should follow rules, there can not be variable +definitions in-between. + +Although make-3.81 is happy about it, make-4.0 (and probably 3.82 too) +do whine loudly. + +Signed-off-by: "Yann E. MORIN" + +diff -durN smstools3-3.1.15.orig/src/Makefile smstools3-3.1.15/src/Makefile +--- smstools3-3.1.15.orig/src/Makefile 2010-09-21 13:29:14.000000000 +0200 ++++ smstools3-3.1.15/src/Makefile 2014-09-01 22:27:02.719939329 +0200 +@@ -39,14 +39,13 @@ + + all: smsd + +-smsd: smsd.c extras.o locking.o cfgfile.o logging.o alarm.o smsd_cfg.o charset.o stats.o blacklist.o whitelist.o modeminit.o pdu.o +- + ifneq (,$(findstring SOLARIS,$(CFLAGS))) + ifeq (,$(findstring DISABLE_INET_SOCKET,$(CFLAGS))) + override LFLAGS += -lsocket -lnsl + endif + endif + ++smsd: smsd.c extras.o locking.o cfgfile.o logging.o alarm.o smsd_cfg.o charset.o stats.o blacklist.o whitelist.o modeminit.o pdu.o + ifneq (,$(findstring NOSTATS,$(CFLAGS))) + $(CC) $(CFLAGS) -o $@ $^ $(LFLAGS) + else diff --git a/package/smstools3/smstools3-0000-fix-Makefile.patch b/package/smstools3/smstools3-0000-fix-Makefile.patch deleted file mode 100644 index 5842357451..0000000000 --- a/package/smstools3/smstools3-0000-fix-Makefile.patch +++ /dev/null @@ -1,29 +0,0 @@ -Makefile: fix rules - -In a Makefile, recipes should follow rules, there can not be variable -definitions in-between. - -Although make-3.81 is happy about it, make-4.0 (and probably 3.82 too) -do whine loudly. - -Signed-off-by: "Yann E. MORIN" - -diff -durN smstools3-3.1.15.orig/src/Makefile smstools3-3.1.15/src/Makefile ---- smstools3-3.1.15.orig/src/Makefile 2010-09-21 13:29:14.000000000 +0200 -+++ smstools3-3.1.15/src/Makefile 2014-09-01 22:27:02.719939329 +0200 -@@ -39,14 +39,13 @@ - - all: smsd - --smsd: smsd.c extras.o locking.o cfgfile.o logging.o alarm.o smsd_cfg.o charset.o stats.o blacklist.o whitelist.o modeminit.o pdu.o -- - ifneq (,$(findstring SOLARIS,$(CFLAGS))) - ifeq (,$(findstring DISABLE_INET_SOCKET,$(CFLAGS))) - override LFLAGS += -lsocket -lnsl - endif - endif - -+smsd: smsd.c extras.o locking.o cfgfile.o logging.o alarm.o smsd_cfg.o charset.o stats.o blacklist.o whitelist.o modeminit.o pdu.o - ifneq (,$(findstring NOSTATS,$(CFLAGS))) - $(CC) $(CFLAGS) -o $@ $^ $(LFLAGS) - else diff --git a/package/snmppp/0001-Add-missing-includes.patch b/package/snmppp/0001-Add-missing-includes.patch new file mode 100644 index 0000000000..c3fa491525 --- /dev/null +++ b/package/snmppp/0001-Add-missing-includes.patch @@ -0,0 +1,41 @@ +From 6433c6e8d81313ec7ef6c8d3abf96fffa537e23e Mon Sep 17 00:00:00 2001 +From: Luca Ceresoli +Date: Tue, 1 Apr 2014 14:35:25 +0200 +Subject: [PATCH] Add missing includes + +Signed-off-by: Luca Ceresoli +--- + include/snmp_pp/config_snmp_pp.h.in | 4 ++++ + include/snmp_pp/smival.h | 1 + + 2 files changed, 5 insertions(+) + +diff --git a/include/snmp_pp/config_snmp_pp.h.in b/include/snmp_pp/config_snmp_pp.h.in +index 89a5b0d..3100713 100644 +--- a/include/snmp_pp/config_snmp_pp.h.in ++++ b/include/snmp_pp/config_snmp_pp.h.in +@@ -28,6 +28,10 @@ + #ifndef _CONFIG_SNMP_PP_H_ + #define _CONFIG_SNMP_PP_H_ + ++#ifdef __linux__ ++#include ++#endif ++ + #define SNMP_PP_VERSION_STRING "@VERSION@" + #define SNMP_PP_VERSION @SNMP_PP_MAJOR_VERSION@ + #define SNMP_PP_RELEASE @SNMP_PP_MINOR_VERSION@ +diff --git a/include/snmp_pp/smival.h b/include/snmp_pp/smival.h +index 7a36fab..7522087 100644 +--- a/include/snmp_pp/smival.h ++++ b/include/snmp_pp/smival.h +@@ -59,6 +59,7 @@ + #define _SMIVALUE + + //----[ includes ]----------------------------------------------------- ++#include + #include "snmp_pp/smi.h" + + #ifdef SNMP_PP_NAMESPACE +-- +1.8.3.2 + diff --git a/package/snmppp/snmppp-01-Add-missing-includes.patch b/package/snmppp/snmppp-01-Add-missing-includes.patch deleted file mode 100644 index c3fa491525..0000000000 --- a/package/snmppp/snmppp-01-Add-missing-includes.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 6433c6e8d81313ec7ef6c8d3abf96fffa537e23e Mon Sep 17 00:00:00 2001 -From: Luca Ceresoli -Date: Tue, 1 Apr 2014 14:35:25 +0200 -Subject: [PATCH] Add missing includes - -Signed-off-by: Luca Ceresoli ---- - include/snmp_pp/config_snmp_pp.h.in | 4 ++++ - include/snmp_pp/smival.h | 1 + - 2 files changed, 5 insertions(+) - -diff --git a/include/snmp_pp/config_snmp_pp.h.in b/include/snmp_pp/config_snmp_pp.h.in -index 89a5b0d..3100713 100644 ---- a/include/snmp_pp/config_snmp_pp.h.in -+++ b/include/snmp_pp/config_snmp_pp.h.in -@@ -28,6 +28,10 @@ - #ifndef _CONFIG_SNMP_PP_H_ - #define _CONFIG_SNMP_PP_H_ - -+#ifdef __linux__ -+#include -+#endif -+ - #define SNMP_PP_VERSION_STRING "@VERSION@" - #define SNMP_PP_VERSION @SNMP_PP_MAJOR_VERSION@ - #define SNMP_PP_RELEASE @SNMP_PP_MINOR_VERSION@ -diff --git a/include/snmp_pp/smival.h b/include/snmp_pp/smival.h -index 7a36fab..7522087 100644 ---- a/include/snmp_pp/smival.h -+++ b/include/snmp_pp/smival.h -@@ -59,6 +59,7 @@ - #define _SMIVALUE - - //----[ includes ]----------------------------------------------------- -+#include - #include "snmp_pp/smi.h" - - #ifdef SNMP_PP_NAMESPACE --- -1.8.3.2 - diff --git a/package/socat/0001-no-documentation.patch b/package/socat/0001-no-documentation.patch new file mode 100644 index 0000000000..ce088dfafc --- /dev/null +++ b/package/socat/0001-no-documentation.patch @@ -0,0 +1,37 @@ +socat: disable documentation build/installation + +The documentation generation process requires a special yold2man +program, for which we don't have a package in Buildroot. Since we +generally don't care much about documentation of packages, just adjust +the package Makefile.in to not build/install its documentation. + +Signed-off-by: Thomas Petazzoni + +Index: b/Makefile.in +=================================================================== +--- a/Makefile.in ++++ b/Makefile.in +@@ -93,7 +93,7 @@ + Config/Makefile.Cygwin-1-5-25 Config/config.Cygwin-1-5-25.h \ + Config/Makefile.MacOSX-10-5 Config/config.MacOSX-10-5.h + +-all: progs doc ++all: progs + + scmclean: gitclean + +@@ -136,13 +136,11 @@ + strip: progs + strip $(PROGS) + +-install: progs $(srcdir)/doc/socat.1 ++install: progs + mkdir -p $(DESTDIR)$(BINDEST) + $(INSTALL) -m 755 socat $(DESTDIR)$(BINDEST) + $(INSTALL) -m 755 procan $(DESTDIR)$(BINDEST) + $(INSTALL) -m 755 filan $(DESTDIR)$(BINDEST) +- mkdir -p $(DESTDIR)$(MANDEST)/man1 +- $(INSTALL) -m 644 $(srcdir)/doc/socat.1 $(DESTDIR)$(MANDEST)/man1/ + + uninstall: + rm -f $(DESTDIR)$(BINDEST)/socat diff --git a/package/socat/socat-001-no-documentation.patch b/package/socat/socat-001-no-documentation.patch deleted file mode 100644 index ce088dfafc..0000000000 --- a/package/socat/socat-001-no-documentation.patch +++ /dev/null @@ -1,37 +0,0 @@ -socat: disable documentation build/installation - -The documentation generation process requires a special yold2man -program, for which we don't have a package in Buildroot. Since we -generally don't care much about documentation of packages, just adjust -the package Makefile.in to not build/install its documentation. - -Signed-off-by: Thomas Petazzoni - -Index: b/Makefile.in -=================================================================== ---- a/Makefile.in -+++ b/Makefile.in -@@ -93,7 +93,7 @@ - Config/Makefile.Cygwin-1-5-25 Config/config.Cygwin-1-5-25.h \ - Config/Makefile.MacOSX-10-5 Config/config.MacOSX-10-5.h - --all: progs doc -+all: progs - - scmclean: gitclean - -@@ -136,13 +136,11 @@ - strip: progs - strip $(PROGS) - --install: progs $(srcdir)/doc/socat.1 -+install: progs - mkdir -p $(DESTDIR)$(BINDEST) - $(INSTALL) -m 755 socat $(DESTDIR)$(BINDEST) - $(INSTALL) -m 755 procan $(DESTDIR)$(BINDEST) - $(INSTALL) -m 755 filan $(DESTDIR)$(BINDEST) -- mkdir -p $(DESTDIR)$(MANDEST)/man1 -- $(INSTALL) -m 644 $(srcdir)/doc/socat.1 $(DESTDIR)$(MANDEST)/man1/ - - uninstall: - rm -f $(DESTDIR)$(BINDEST)/socat diff --git a/package/sox/0001-uclibc.patch b/package/sox/0001-uclibc.patch new file mode 100644 index 0000000000..5c118fa4dc --- /dev/null +++ b/package/sox/0001-uclibc.patch @@ -0,0 +1,26 @@ +Make SoX support uclibc-based toolchains, from: +http://sourceforge.net/p/sox/bugs/179/ + +Signed-off-by: Gustavo Zacarias + +Index: sox-14.4.1/src/formats.c +=================================================================== +--- sox-14.4.1.orig/src/formats.c ++++ sox-14.4.1/src/formats.c +@@ -409,7 +409,7 @@ static void UNUSED rewind_pipe(FILE * fp + #if defined _FSTDIO || defined _NEWLIB_VERSION || defined __APPLE__ + fp->_p -= PIPE_AUTO_DETECT_SIZE; + fp->_r += PIPE_AUTO_DETECT_SIZE; +-#elif defined __GLIBC__ ++#elif defined __GLIBC__ && ! defined __UCLIBC__ + fp->_IO_read_ptr = fp->_IO_read_base; + #elif defined _MSC_VER || defined _WIN32 || defined _WIN64 || defined _ISO_STDIO_ISO_H + fp->_ptr = fp->_base; +@@ -417,7 +417,6 @@ static void UNUSED rewind_pipe(FILE * fp + /* To fix this #error, either simply remove the #error line and live without + * file-type detection with pipes, or add support for your compiler in the + * lines above. Test with cat monkey.wav | ./sox --info - */ +- #error FIX NEEDED HERE + #define NO_REWIND_PIPE + (void)fp; + #endif diff --git a/package/sox/sox-0001-uclibc.patch b/package/sox/sox-0001-uclibc.patch deleted file mode 100644 index 5c118fa4dc..0000000000 --- a/package/sox/sox-0001-uclibc.patch +++ /dev/null @@ -1,26 +0,0 @@ -Make SoX support uclibc-based toolchains, from: -http://sourceforge.net/p/sox/bugs/179/ - -Signed-off-by: Gustavo Zacarias - -Index: sox-14.4.1/src/formats.c -=================================================================== ---- sox-14.4.1.orig/src/formats.c -+++ sox-14.4.1/src/formats.c -@@ -409,7 +409,7 @@ static void UNUSED rewind_pipe(FILE * fp - #if defined _FSTDIO || defined _NEWLIB_VERSION || defined __APPLE__ - fp->_p -= PIPE_AUTO_DETECT_SIZE; - fp->_r += PIPE_AUTO_DETECT_SIZE; --#elif defined __GLIBC__ -+#elif defined __GLIBC__ && ! defined __UCLIBC__ - fp->_IO_read_ptr = fp->_IO_read_base; - #elif defined _MSC_VER || defined _WIN32 || defined _WIN64 || defined _ISO_STDIO_ISO_H - fp->_ptr = fp->_base; -@@ -417,7 +417,6 @@ static void UNUSED rewind_pipe(FILE * fp - /* To fix this #error, either simply remove the #error line and live without - * file-type detection with pipes, or add support for your compiler in the - * lines above. Test with cat monkey.wav | ./sox --info - */ -- #error FIX NEEDED HERE - #define NO_REWIND_PIPE - (void)fp; - #endif diff --git a/package/speex/0001-thumb2-support.patch b/package/speex/0001-thumb2-support.patch new file mode 100644 index 0000000000..b6f7369299 --- /dev/null +++ b/package/speex/0001-thumb2-support.patch @@ -0,0 +1,220 @@ +Make speex Thumb2 compatible + +Patch written by Michael Hope from Linaro, available at +http://lists.xiph.org/pipermail/speex-dev/2010-November/008041.html. + +Signed-off-by: Thomas Petazzoni + +diff --git a/libspeex/filters_arm4.h b/libspeex/filters_arm4.h +index 7a74042..6ec1f75 100644 +--- a/libspeex/filters_arm4.h ++++ b/libspeex/filters_arm4.h +@@ -47,8 +47,10 @@ int normalize16(const spx_sig_t *x, spx_word16_t *y, spx_sig_t max_scale, int le + + "\tldr %4, [%0], #4 \n" + "\tcmps %4, %1 \n" ++ "\tit gt \n" + "\tmovgt %1, %4 \n" + "\tcmps %4, %3 \n" ++ "\tit lt \n" + "\tmovlt %3, %4 \n" + + "\tsubs %2, %2, #1 \n" +@@ -56,6 +58,7 @@ int normalize16(const spx_sig_t *x, spx_word16_t *y, spx_sig_t max_scale, int le + + "\trsb %3, %3, #0 \n" + "\tcmp %1, %3 \n" ++ "\tit lt \n" + "\tmovlt %1, %3 \n" + : "=r" (dead1), "=r" (max_val), "=r" (dead3), "=r" (dead4), + "=r" (dead5), "=r" (dead6) +diff --git a/libspeex/fixed_arm4.h b/libspeex/fixed_arm4.h +index b6981ca..b6218ca 100644 +--- a/libspeex/fixed_arm4.h ++++ b/libspeex/fixed_arm4.h +@@ -69,72 +69,90 @@ static inline short DIV32_16(int a, int b) + __asm__ __volatile__ ( + "\teor %5, %0, %1\n" + "\tmovs %4, %0\n" ++ "\tit mi \n" + "\trsbmi %0, %0, #0 \n" + "\tmovs %4, %1\n" ++ "\tit mi \n" + "\trsbmi %1, %1, #0 \n" + "\tmov %4, #1\n" + + "\tsubs %3, %0, %1, asl #14 \n" ++ "\titt pl \n" + "\tmovpl %0, %3 \n" + "\torrpl %2, %2, %4, asl #14 \n" + + "\tsubs %3, %0, %1, asl #13 \n" ++ "\titt pl \n" + "\tmovpl %0, %3 \n" + "\torrpl %2, %2, %4, asl #13 \n" + + "\tsubs %3, %0, %1, asl #12 \n" ++ "\titt pl \n" + "\tmovpl %0, %3 \n" + "\torrpl %2, %2, %4, asl #12 \n" + + "\tsubs %3, %0, %1, asl #11 \n" ++ "\titt pl \n" + "\tmovpl %0, %3 \n" + "\torrpl %2, %2, %4, asl #11 \n" + + "\tsubs %3, %0, %1, asl #10 \n" ++ "\titt pl \n" + "\tmovpl %0, %3 \n" + "\torrpl %2, %2, %4, asl #10 \n" + + "\tsubs %3, %0, %1, asl #9 \n" ++ "\titt pl \n" + "\tmovpl %0, %3 \n" + "\torrpl %2, %2, %4, asl #9 \n" + + "\tsubs %3, %0, %1, asl #8 \n" ++ "\titt pl \n" + "\tmovpl %0, %3 \n" + "\torrpl %2, %2, %4, asl #8 \n" + + "\tsubs %3, %0, %1, asl #7 \n" ++ "\titt pl \n" + "\tmovpl %0, %3 \n" + "\torrpl %2, %2, %4, asl #7 \n" + + "\tsubs %3, %0, %1, asl #6 \n" ++ "\titt pl \n" + "\tmovpl %0, %3 \n" + "\torrpl %2, %2, %4, asl #6 \n" + + "\tsubs %3, %0, %1, asl #5 \n" ++ "\titt pl \n" + "\tmovpl %0, %3 \n" + "\torrpl %2, %2, %4, asl #5 \n" + + "\tsubs %3, %0, %1, asl #4 \n" ++ "\titt pl \n" + "\tmovpl %0, %3 \n" + "\torrpl %2, %2, %4, asl #4 \n" + + "\tsubs %3, %0, %1, asl #3 \n" ++ "\titt pl \n" + "\tmovpl %0, %3 \n" + "\torrpl %2, %2, %4, asl #3 \n" + + "\tsubs %3, %0, %1, asl #2 \n" ++ "\titt pl \n" + "\tmovpl %0, %3 \n" + "\torrpl %2, %2, %4, asl #2 \n" + + "\tsubs %3, %0, %1, asl #1 \n" ++ "\titt pl \n" + "\tmovpl %0, %3 \n" + "\torrpl %2, %2, %4, asl #1 \n" + + "\tsubs %3, %0, %1 \n" ++ "\titt pl \n" + "\tmovpl %0, %3 \n" + "\torrpl %2, %2, %4 \n" + + "\tmovs %5, %5, lsr #31 \n" ++ "\tit ne \n" + "\trsbne %2, %2, #0 \n" + : "=r" (dead1), "=r" (dead2), "=r" (res), + "=r" (dead3), "=r" (dead4), "=r" (dead5) +diff --git a/libspeex/fixed_arm5e.h b/libspeex/fixed_arm5e.h +index 9b4861c..bdadd02 100644 +--- a/libspeex/fixed_arm5e.h ++++ b/libspeex/fixed_arm5e.h +@@ -97,72 +97,90 @@ static inline short DIV32_16(int a, int b) + __asm__ __volatile__ ( + "\teor %5, %0, %1\n" + "\tmovs %4, %0\n" ++ "\tit mi \n" + "\trsbmi %0, %0, #0 \n" + "\tmovs %4, %1\n" ++ "\tit mi \n" + "\trsbmi %1, %1, #0 \n" + "\tmov %4, #1\n" + + "\tsubs %3, %0, %1, asl #14 \n" ++ "\titt pl \n" + "\torrpl %2, %2, %4, asl #14 \n" + "\tmovpl %0, %3 \n" + + "\tsubs %3, %0, %1, asl #13 \n" ++ "\titt pl \n" + "\torrpl %2, %2, %4, asl #13 \n" + "\tmovpl %0, %3 \n" + + "\tsubs %3, %0, %1, asl #12 \n" ++ "\titt pl \n" + "\torrpl %2, %2, %4, asl #12 \n" + "\tmovpl %0, %3 \n" + + "\tsubs %3, %0, %1, asl #11 \n" ++ "\titt pl \n" + "\torrpl %2, %2, %4, asl #11 \n" + "\tmovpl %0, %3 \n" + + "\tsubs %3, %0, %1, asl #10 \n" ++ "\titt pl \n" + "\torrpl %2, %2, %4, asl #10 \n" + "\tmovpl %0, %3 \n" + + "\tsubs %3, %0, %1, asl #9 \n" ++ "\titt pl \n" + "\torrpl %2, %2, %4, asl #9 \n" + "\tmovpl %0, %3 \n" + + "\tsubs %3, %0, %1, asl #8 \n" ++ "\titt pl \n" + "\torrpl %2, %2, %4, asl #8 \n" + "\tmovpl %0, %3 \n" + + "\tsubs %3, %0, %1, asl #7 \n" ++ "\titt pl \n" + "\torrpl %2, %2, %4, asl #7 \n" + "\tmovpl %0, %3 \n" + + "\tsubs %3, %0, %1, asl #6 \n" ++ "\titt pl \n" + "\torrpl %2, %2, %4, asl #6 \n" + "\tmovpl %0, %3 \n" + + "\tsubs %3, %0, %1, asl #5 \n" ++ "\titt pl \n" + "\torrpl %2, %2, %4, asl #5 \n" + "\tmovpl %0, %3 \n" + + "\tsubs %3, %0, %1, asl #4 \n" ++ "\titt pl \n" + "\torrpl %2, %2, %4, asl #4 \n" + "\tmovpl %0, %3 \n" + + "\tsubs %3, %0, %1, asl #3 \n" ++ "\titt pl \n" + "\torrpl %2, %2, %4, asl #3 \n" + "\tmovpl %0, %3 \n" + + "\tsubs %3, %0, %1, asl #2 \n" ++ "\titt pl \n" + "\torrpl %2, %2, %4, asl #2 \n" + "\tmovpl %0, %3 \n" + + "\tsubs %3, %0, %1, asl #1 \n" ++ "\titt pl \n" + "\torrpl %2, %2, %4, asl #1 \n" + "\tmovpl %0, %3 \n" + + "\tsubs %3, %0, %1 \n" ++ "\titt pl \n" + "\torrpl %2, %2, %4 \n" + "\tmovpl %0, %3 \n" + + "\tmovs %5, %5, lsr #31 \n" ++ "\tit ne \n" + "\trsbne %2, %2, #0 \n" + : "=r" (dead1), "=r" (dead2), "=r" (res), + "=r" (dead3), "=r" (dead4), "=r" (dead5) diff --git a/package/speex/speex-thumb2-support.patch b/package/speex/speex-thumb2-support.patch deleted file mode 100644 index b6f7369299..0000000000 --- a/package/speex/speex-thumb2-support.patch +++ /dev/null @@ -1,220 +0,0 @@ -Make speex Thumb2 compatible - -Patch written by Michael Hope from Linaro, available at -http://lists.xiph.org/pipermail/speex-dev/2010-November/008041.html. - -Signed-off-by: Thomas Petazzoni - -diff --git a/libspeex/filters_arm4.h b/libspeex/filters_arm4.h -index 7a74042..6ec1f75 100644 ---- a/libspeex/filters_arm4.h -+++ b/libspeex/filters_arm4.h -@@ -47,8 +47,10 @@ int normalize16(const spx_sig_t *x, spx_word16_t *y, spx_sig_t max_scale, int le - - "\tldr %4, [%0], #4 \n" - "\tcmps %4, %1 \n" -+ "\tit gt \n" - "\tmovgt %1, %4 \n" - "\tcmps %4, %3 \n" -+ "\tit lt \n" - "\tmovlt %3, %4 \n" - - "\tsubs %2, %2, #1 \n" -@@ -56,6 +58,7 @@ int normalize16(const spx_sig_t *x, spx_word16_t *y, spx_sig_t max_scale, int le - - "\trsb %3, %3, #0 \n" - "\tcmp %1, %3 \n" -+ "\tit lt \n" - "\tmovlt %1, %3 \n" - : "=r" (dead1), "=r" (max_val), "=r" (dead3), "=r" (dead4), - "=r" (dead5), "=r" (dead6) -diff --git a/libspeex/fixed_arm4.h b/libspeex/fixed_arm4.h -index b6981ca..b6218ca 100644 ---- a/libspeex/fixed_arm4.h -+++ b/libspeex/fixed_arm4.h -@@ -69,72 +69,90 @@ static inline short DIV32_16(int a, int b) - __asm__ __volatile__ ( - "\teor %5, %0, %1\n" - "\tmovs %4, %0\n" -+ "\tit mi \n" - "\trsbmi %0, %0, #0 \n" - "\tmovs %4, %1\n" -+ "\tit mi \n" - "\trsbmi %1, %1, #0 \n" - "\tmov %4, #1\n" - - "\tsubs %3, %0, %1, asl #14 \n" -+ "\titt pl \n" - "\tmovpl %0, %3 \n" - "\torrpl %2, %2, %4, asl #14 \n" - - "\tsubs %3, %0, %1, asl #13 \n" -+ "\titt pl \n" - "\tmovpl %0, %3 \n" - "\torrpl %2, %2, %4, asl #13 \n" - - "\tsubs %3, %0, %1, asl #12 \n" -+ "\titt pl \n" - "\tmovpl %0, %3 \n" - "\torrpl %2, %2, %4, asl #12 \n" - - "\tsubs %3, %0, %1, asl #11 \n" -+ "\titt pl \n" - "\tmovpl %0, %3 \n" - "\torrpl %2, %2, %4, asl #11 \n" - - "\tsubs %3, %0, %1, asl #10 \n" -+ "\titt pl \n" - "\tmovpl %0, %3 \n" - "\torrpl %2, %2, %4, asl #10 \n" - - "\tsubs %3, %0, %1, asl #9 \n" -+ "\titt pl \n" - "\tmovpl %0, %3 \n" - "\torrpl %2, %2, %4, asl #9 \n" - - "\tsubs %3, %0, %1, asl #8 \n" -+ "\titt pl \n" - "\tmovpl %0, %3 \n" - "\torrpl %2, %2, %4, asl #8 \n" - - "\tsubs %3, %0, %1, asl #7 \n" -+ "\titt pl \n" - "\tmovpl %0, %3 \n" - "\torrpl %2, %2, %4, asl #7 \n" - - "\tsubs %3, %0, %1, asl #6 \n" -+ "\titt pl \n" - "\tmovpl %0, %3 \n" - "\torrpl %2, %2, %4, asl #6 \n" - - "\tsubs %3, %0, %1, asl #5 \n" -+ "\titt pl \n" - "\tmovpl %0, %3 \n" - "\torrpl %2, %2, %4, asl #5 \n" - - "\tsubs %3, %0, %1, asl #4 \n" -+ "\titt pl \n" - "\tmovpl %0, %3 \n" - "\torrpl %2, %2, %4, asl #4 \n" - - "\tsubs %3, %0, %1, asl #3 \n" -+ "\titt pl \n" - "\tmovpl %0, %3 \n" - "\torrpl %2, %2, %4, asl #3 \n" - - "\tsubs %3, %0, %1, asl #2 \n" -+ "\titt pl \n" - "\tmovpl %0, %3 \n" - "\torrpl %2, %2, %4, asl #2 \n" - - "\tsubs %3, %0, %1, asl #1 \n" -+ "\titt pl \n" - "\tmovpl %0, %3 \n" - "\torrpl %2, %2, %4, asl #1 \n" - - "\tsubs %3, %0, %1 \n" -+ "\titt pl \n" - "\tmovpl %0, %3 \n" - "\torrpl %2, %2, %4 \n" - - "\tmovs %5, %5, lsr #31 \n" -+ "\tit ne \n" - "\trsbne %2, %2, #0 \n" - : "=r" (dead1), "=r" (dead2), "=r" (res), - "=r" (dead3), "=r" (dead4), "=r" (dead5) -diff --git a/libspeex/fixed_arm5e.h b/libspeex/fixed_arm5e.h -index 9b4861c..bdadd02 100644 ---- a/libspeex/fixed_arm5e.h -+++ b/libspeex/fixed_arm5e.h -@@ -97,72 +97,90 @@ static inline short DIV32_16(int a, int b) - __asm__ __volatile__ ( - "\teor %5, %0, %1\n" - "\tmovs %4, %0\n" -+ "\tit mi \n" - "\trsbmi %0, %0, #0 \n" - "\tmovs %4, %1\n" -+ "\tit mi \n" - "\trsbmi %1, %1, #0 \n" - "\tmov %4, #1\n" - - "\tsubs %3, %0, %1, asl #14 \n" -+ "\titt pl \n" - "\torrpl %2, %2, %4, asl #14 \n" - "\tmovpl %0, %3 \n" - - "\tsubs %3, %0, %1, asl #13 \n" -+ "\titt pl \n" - "\torrpl %2, %2, %4, asl #13 \n" - "\tmovpl %0, %3 \n" - - "\tsubs %3, %0, %1, asl #12 \n" -+ "\titt pl \n" - "\torrpl %2, %2, %4, asl #12 \n" - "\tmovpl %0, %3 \n" - - "\tsubs %3, %0, %1, asl #11 \n" -+ "\titt pl \n" - "\torrpl %2, %2, %4, asl #11 \n" - "\tmovpl %0, %3 \n" - - "\tsubs %3, %0, %1, asl #10 \n" -+ "\titt pl \n" - "\torrpl %2, %2, %4, asl #10 \n" - "\tmovpl %0, %3 \n" - - "\tsubs %3, %0, %1, asl #9 \n" -+ "\titt pl \n" - "\torrpl %2, %2, %4, asl #9 \n" - "\tmovpl %0, %3 \n" - - "\tsubs %3, %0, %1, asl #8 \n" -+ "\titt pl \n" - "\torrpl %2, %2, %4, asl #8 \n" - "\tmovpl %0, %3 \n" - - "\tsubs %3, %0, %1, asl #7 \n" -+ "\titt pl \n" - "\torrpl %2, %2, %4, asl #7 \n" - "\tmovpl %0, %3 \n" - - "\tsubs %3, %0, %1, asl #6 \n" -+ "\titt pl \n" - "\torrpl %2, %2, %4, asl #6 \n" - "\tmovpl %0, %3 \n" - - "\tsubs %3, %0, %1, asl #5 \n" -+ "\titt pl \n" - "\torrpl %2, %2, %4, asl #5 \n" - "\tmovpl %0, %3 \n" - - "\tsubs %3, %0, %1, asl #4 \n" -+ "\titt pl \n" - "\torrpl %2, %2, %4, asl #4 \n" - "\tmovpl %0, %3 \n" - - "\tsubs %3, %0, %1, asl #3 \n" -+ "\titt pl \n" - "\torrpl %2, %2, %4, asl #3 \n" - "\tmovpl %0, %3 \n" - - "\tsubs %3, %0, %1, asl #2 \n" -+ "\titt pl \n" - "\torrpl %2, %2, %4, asl #2 \n" - "\tmovpl %0, %3 \n" - - "\tsubs %3, %0, %1, asl #1 \n" -+ "\titt pl \n" - "\torrpl %2, %2, %4, asl #1 \n" - "\tmovpl %0, %3 \n" - - "\tsubs %3, %0, %1 \n" -+ "\titt pl \n" - "\torrpl %2, %2, %4 \n" - "\tmovpl %0, %3 \n" - - "\tmovs %5, %5, lsr #31 \n" -+ "\tit ne \n" - "\trsbne %2, %2, #0 \n" - : "=r" (dead1), "=r" (dead2), "=r" (res), - "=r" (dead3), "=r" (dead4), "=r" (dead5) diff --git a/package/spice/0001-fix-missing-monitor_latency-argument.patch b/package/spice/0001-fix-missing-monitor_latency-argument.patch new file mode 100644 index 0000000000..e14dd2ce37 --- /dev/null +++ b/package/spice/0001-fix-missing-monitor_latency-argument.patch @@ -0,0 +1,28 @@ +From 0d3767853ca179ce04a9b312d7a30d33d1266a3b Mon Sep 17 00:00:00 2001 +From: Axel Lin +Date: Thu, 10 Oct 2013 12:36:40 +0800 +Subject: [PATCH] red_tunnel_worker: Fix build error due to missing monitor_latency argument + +Fix missing monitor_latency argument in red_channel_client_create call. + +Signed-off-by: Axel Lin +--- + server/red_tunnel_worker.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/server/red_tunnel_worker.c b/server/red_tunnel_worker.c +index 97dcafd..6781d73 100644 +--- a/server/red_tunnel_worker.c ++++ b/server/red_tunnel_worker.c +@@ -3417,7 +3417,7 @@ static void handle_tunnel_channel_link(RedChannel *channel, RedClient *client, + } + + tcc = (TunnelChannelClient*)red_channel_client_create(sizeof(TunnelChannelClient), +- channel, client, stream, ++ channel, client, stream, FALSE, + 0, NULL, 0, NULL); + if (!tcc) { + return; +-- +1.8.1.2 + diff --git a/package/spice/spice-0001-fix-missing-monitor_latency-argument.patch b/package/spice/spice-0001-fix-missing-monitor_latency-argument.patch deleted file mode 100644 index e14dd2ce37..0000000000 --- a/package/spice/spice-0001-fix-missing-monitor_latency-argument.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 0d3767853ca179ce04a9b312d7a30d33d1266a3b Mon Sep 17 00:00:00 2001 -From: Axel Lin -Date: Thu, 10 Oct 2013 12:36:40 +0800 -Subject: [PATCH] red_tunnel_worker: Fix build error due to missing monitor_latency argument - -Fix missing monitor_latency argument in red_channel_client_create call. - -Signed-off-by: Axel Lin ---- - server/red_tunnel_worker.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/server/red_tunnel_worker.c b/server/red_tunnel_worker.c -index 97dcafd..6781d73 100644 ---- a/server/red_tunnel_worker.c -+++ b/server/red_tunnel_worker.c -@@ -3417,7 +3417,7 @@ static void handle_tunnel_channel_link(RedChannel *channel, RedClient *client, - } - - tcc = (TunnelChannelClient*)red_channel_client_create(sizeof(TunnelChannelClient), -- channel, client, stream, -+ channel, client, stream, FALSE, - 0, NULL, 0, NULL); - if (!tcc) { - return; --- -1.8.1.2 - diff --git a/package/statserial/0001-ncurses-link.patch b/package/statserial/0001-ncurses-link.patch new file mode 100644 index 0000000000..b1c41e673f --- /dev/null +++ b/package/statserial/0001-ncurses-link.patch @@ -0,0 +1,16 @@ +Link to libncurses instead of the legacy libcurses. + +Signed-off-by: Gustavo Zacarias + +diff -Nura statserial-1.1.orig/Makefile statserial-1.1/Makefile +--- statserial-1.1.orig/Makefile 2014-07-04 12:47:41.279440415 -0300 ++++ statserial-1.1/Makefile 2014-07-04 12:47:47.948665740 -0300 +@@ -10,7 +10,7 @@ + LDFLAGS = -s -N + + statserial: statserial.o +- $(LD) $(LDFLAGS) -o statserial statserial.o -lcurses ++ $(LD) $(LDFLAGS) -o statserial statserial.o -lncurses + + statserial.o: statserial.c + $(CC) $(CFLAGS) -c statserial.c diff --git a/package/statserial/statserial-01-ncurses-link.patch b/package/statserial/statserial-01-ncurses-link.patch deleted file mode 100644 index b1c41e673f..0000000000 --- a/package/statserial/statserial-01-ncurses-link.patch +++ /dev/null @@ -1,16 +0,0 @@ -Link to libncurses instead of the legacy libcurses. - -Signed-off-by: Gustavo Zacarias - -diff -Nura statserial-1.1.orig/Makefile statserial-1.1/Makefile ---- statserial-1.1.orig/Makefile 2014-07-04 12:47:41.279440415 -0300 -+++ statserial-1.1/Makefile 2014-07-04 12:47:47.948665740 -0300 -@@ -10,7 +10,7 @@ - LDFLAGS = -s -N - - statserial: statserial.o -- $(LD) $(LDFLAGS) -o statserial statserial.o -lcurses -+ $(LD) $(LDFLAGS) -o statserial statserial.o -lncurses - - statserial.o: statserial.c - $(CC) $(CFLAGS) -c statserial.c diff --git a/package/strace/0001-sigaction-wrap-sa_restorer-in-ifdef-SA_RESTORER-cons.patch b/package/strace/0001-sigaction-wrap-sa_restorer-in-ifdef-SA_RESTORER-cons.patch new file mode 100644 index 0000000000..cd2e31b998 --- /dev/null +++ b/package/strace/0001-sigaction-wrap-sa_restorer-in-ifdef-SA_RESTORER-cons.patch @@ -0,0 +1,107 @@ +Add a patch to fix the sa_restorer problems in strace. + +This patch has been applied upstream: + https://sourceforge.net/p/strace/code/ci/c3a5c01051ba29a9f421f4d45d96bbc32df2b796/ + +Signed-off-by: Vicente Olivert Riera + +From c3a5c01051ba29a9f421f4d45d96bbc32df2b796 Mon Sep 17 00:00:00 2001 +From: Vicente Olivert Riera +Date: Thu, 11 Sep 2014 20:05:18 +0100 +Subject: [PATCH] sigaction: wrap sa_restorer in #ifdef SA_RESTORER consistently + +Wrap sa_restorer member definitions in #ifdef SA_RESTORER to be +consistent with their use. +If an architecture does not provide sa_restorer members but still +defines SA_RESTORER macro, the latter has to be explicitly undefined. + +This change fixes compilation failures like this one: +signal.c: In function 'decode_old_sigaction': +signal.c:631:21: error: 'struct old_sigaction' has no member named 'sa_restorer' +signal.c: In function 'decode_new_sigaction': +signal.c:1224:21: error: 'struct new_sigaction' has no member named 'sa_restorer' + +* signal.c (struct old_sigaction, struct old_sigaction32, +struct new_sigaction, struct new_sigaction32): +Wrap sa_restorer member in #ifdef SA_RESTORER. +(decode_old_sigaction, decode_new_sigaction): +Wrap use of sa32.sa_restorer in #ifdef SA_RESTORER. + +Signed-off-by: Vicente Olivert Riera +--- + signal.c | 18 ++++++++++++++---- + 1 files changed, 14 insertions(+), 4 deletions(-) + +diff --git a/signal.c b/signal.c +index 74e0fd9..5855d13 100644 +--- a/signal.c ++++ b/signal.c +@@ -559,8 +559,10 @@ struct old_sigaction { + void (*__sa_handler)(int); + unsigned long sa_mask; + unsigned long sa_flags; +- void (*sa_restorer)(void); + #endif /* !MIPS */ ++#ifdef SA_RESTORER ++ void (*sa_restorer)(void); ++#endif + }; + + struct old_sigaction32 { +@@ -568,7 +570,9 @@ struct old_sigaction32 { + uint32_t __sa_handler; + uint32_t sa_mask; + uint32_t sa_flags; ++#ifdef SA_RESTORER + uint32_t sa_restorer; ++#endif + }; + + static void +@@ -594,7 +598,9 @@ decode_old_sigaction(struct tcb *tcp, long addr) + memset(&sa, 0, sizeof(sa)); + sa.__sa_handler = (void*)(uintptr_t)sa32.__sa_handler; + sa.sa_flags = sa32.sa_flags; ++#ifdef SA_RESTORER + sa.sa_restorer = (void*)(uintptr_t)sa32.sa_restorer; ++#endif + sa.sa_mask = sa32.sa_mask; + } + } else +@@ -1138,10 +1144,10 @@ struct new_sigaction + #else + void (*__sa_handler)(int); + unsigned long sa_flags; +-# if !defined(ALPHA) && !defined(HPPA) && !defined(IA64) +- void (*sa_restorer)(void); +-# endif /* !ALPHA && !HPPA && !IA64 */ + #endif /* !MIPS */ ++#ifdef SA_RESTORER ++ void (*sa_restorer)(void); ++#endif + /* Kernel treats sa_mask as an array of longs. */ + unsigned long sa_mask[NSIG / sizeof(long) ? NSIG / sizeof(long) : 1]; + }; +@@ -1150,7 +1156,9 @@ struct new_sigaction32 + { + uint32_t __sa_handler; + uint32_t sa_flags; ++#ifdef SA_RESTORER + uint32_t sa_restorer; ++#endif + uint32_t sa_mask[2 * (NSIG / sizeof(long) ? NSIG / sizeof(long) : 1)]; + }; + +@@ -1176,7 +1184,9 @@ decode_new_sigaction(struct tcb *tcp, long addr) + memset(&sa, 0, sizeof(sa)); + sa.__sa_handler = (void*)(unsigned long)sa32.__sa_handler; + sa.sa_flags = sa32.sa_flags; ++#ifdef SA_RESTORER + sa.sa_restorer = (void*)(unsigned long)sa32.sa_restorer; ++#endif + /* Kernel treats sa_mask as an array of longs. + * For 32-bit process, "long" is uint32_t, thus, for example, + * 32th bit in sa_mask will end up as bit 0 in sa_mask[1]. +-- +1.7.1 + diff --git a/package/strace/strace-0001-sigaction-wrap-sa_restorer-in-ifdef-SA_RESTORER-cons.patch b/package/strace/strace-0001-sigaction-wrap-sa_restorer-in-ifdef-SA_RESTORER-cons.patch deleted file mode 100644 index cd2e31b998..0000000000 --- a/package/strace/strace-0001-sigaction-wrap-sa_restorer-in-ifdef-SA_RESTORER-cons.patch +++ /dev/null @@ -1,107 +0,0 @@ -Add a patch to fix the sa_restorer problems in strace. - -This patch has been applied upstream: - https://sourceforge.net/p/strace/code/ci/c3a5c01051ba29a9f421f4d45d96bbc32df2b796/ - -Signed-off-by: Vicente Olivert Riera - -From c3a5c01051ba29a9f421f4d45d96bbc32df2b796 Mon Sep 17 00:00:00 2001 -From: Vicente Olivert Riera -Date: Thu, 11 Sep 2014 20:05:18 +0100 -Subject: [PATCH] sigaction: wrap sa_restorer in #ifdef SA_RESTORER consistently - -Wrap sa_restorer member definitions in #ifdef SA_RESTORER to be -consistent with their use. -If an architecture does not provide sa_restorer members but still -defines SA_RESTORER macro, the latter has to be explicitly undefined. - -This change fixes compilation failures like this one: -signal.c: In function 'decode_old_sigaction': -signal.c:631:21: error: 'struct old_sigaction' has no member named 'sa_restorer' -signal.c: In function 'decode_new_sigaction': -signal.c:1224:21: error: 'struct new_sigaction' has no member named 'sa_restorer' - -* signal.c (struct old_sigaction, struct old_sigaction32, -struct new_sigaction, struct new_sigaction32): -Wrap sa_restorer member in #ifdef SA_RESTORER. -(decode_old_sigaction, decode_new_sigaction): -Wrap use of sa32.sa_restorer in #ifdef SA_RESTORER. - -Signed-off-by: Vicente Olivert Riera ---- - signal.c | 18 ++++++++++++++---- - 1 files changed, 14 insertions(+), 4 deletions(-) - -diff --git a/signal.c b/signal.c -index 74e0fd9..5855d13 100644 ---- a/signal.c -+++ b/signal.c -@@ -559,8 +559,10 @@ struct old_sigaction { - void (*__sa_handler)(int); - unsigned long sa_mask; - unsigned long sa_flags; -- void (*sa_restorer)(void); - #endif /* !MIPS */ -+#ifdef SA_RESTORER -+ void (*sa_restorer)(void); -+#endif - }; - - struct old_sigaction32 { -@@ -568,7 +570,9 @@ struct old_sigaction32 { - uint32_t __sa_handler; - uint32_t sa_mask; - uint32_t sa_flags; -+#ifdef SA_RESTORER - uint32_t sa_restorer; -+#endif - }; - - static void -@@ -594,7 +598,9 @@ decode_old_sigaction(struct tcb *tcp, long addr) - memset(&sa, 0, sizeof(sa)); - sa.__sa_handler = (void*)(uintptr_t)sa32.__sa_handler; - sa.sa_flags = sa32.sa_flags; -+#ifdef SA_RESTORER - sa.sa_restorer = (void*)(uintptr_t)sa32.sa_restorer; -+#endif - sa.sa_mask = sa32.sa_mask; - } - } else -@@ -1138,10 +1144,10 @@ struct new_sigaction - #else - void (*__sa_handler)(int); - unsigned long sa_flags; --# if !defined(ALPHA) && !defined(HPPA) && !defined(IA64) -- void (*sa_restorer)(void); --# endif /* !ALPHA && !HPPA && !IA64 */ - #endif /* !MIPS */ -+#ifdef SA_RESTORER -+ void (*sa_restorer)(void); -+#endif - /* Kernel treats sa_mask as an array of longs. */ - unsigned long sa_mask[NSIG / sizeof(long) ? NSIG / sizeof(long) : 1]; - }; -@@ -1150,7 +1156,9 @@ struct new_sigaction32 - { - uint32_t __sa_handler; - uint32_t sa_flags; -+#ifdef SA_RESTORER - uint32_t sa_restorer; -+#endif - uint32_t sa_mask[2 * (NSIG / sizeof(long) ? NSIG / sizeof(long) : 1)]; - }; - -@@ -1176,7 +1184,9 @@ decode_new_sigaction(struct tcb *tcp, long addr) - memset(&sa, 0, sizeof(sa)); - sa.__sa_handler = (void*)(unsigned long)sa32.__sa_handler; - sa.sa_flags = sa32.sa_flags; -+#ifdef SA_RESTORER - sa.sa_restorer = (void*)(unsigned long)sa32.sa_restorer; -+#endif - /* Kernel treats sa_mask as an array of longs. - * For 32-bit process, "long" is uint32_t, thus, for example, - * 32th bit in sa_mask will end up as bit 0 in sa_mask[1]. --- -1.7.1 - diff --git a/package/stress/0001-Remove-largefile.patch b/package/stress/0001-Remove-largefile.patch new file mode 100644 index 0000000000..bf894bc05e --- /dev/null +++ b/package/stress/0001-Remove-largefile.patch @@ -0,0 +1,22 @@ +Remove largefile + +Otherwise it doesn't compile in uClibc without largefile. + +If the toolchain does support largefile, it will still work on large files +anyway. + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- +Upstream status: mail sent to apw@rossby.metr.ou.edu +--- +diff -rup stress-1.0.4.orig/src/Makefile.am stress-1.0.4/src/Makefile.am +--- stress-1.0.4.orig/src/Makefile.am 2009-12-03 02:04:05.000000000 +0100 ++++ stress-1.0.4/src/Makefile.am 2012-05-04 23:09:48.229842463 +0200 +@@ -1,7 +1,5 @@ + MAINTAINERCLEANFILES = Makefile.in + +-AM_CFLAGS = -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE +- + bin_PROGRAMS = stress + stress_SOURCES = stress.c + stress_MANS = stress.1 diff --git a/package/stress/stress-0001-Remove-largefile.patch b/package/stress/stress-0001-Remove-largefile.patch deleted file mode 100644 index bf894bc05e..0000000000 --- a/package/stress/stress-0001-Remove-largefile.patch +++ /dev/null @@ -1,22 +0,0 @@ -Remove largefile - -Otherwise it doesn't compile in uClibc without largefile. - -If the toolchain does support largefile, it will still work on large files -anyway. - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- -Upstream status: mail sent to apw@rossby.metr.ou.edu ---- -diff -rup stress-1.0.4.orig/src/Makefile.am stress-1.0.4/src/Makefile.am ---- stress-1.0.4.orig/src/Makefile.am 2009-12-03 02:04:05.000000000 +0100 -+++ stress-1.0.4/src/Makefile.am 2012-05-04 23:09:48.229842463 +0200 -@@ -1,7 +1,5 @@ - MAINTAINERCLEANFILES = Makefile.in - --AM_CFLAGS = -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -- - bin_PROGRAMS = stress - stress_SOURCES = stress.c - stress_MANS = stress.1 diff --git a/package/sudo/0001-no-netgroup.patch b/package/sudo/0001-no-netgroup.patch new file mode 100644 index 0000000000..64b870c67a --- /dev/null +++ b/package/sudo/0001-no-netgroup.patch @@ -0,0 +1,29 @@ +# HG changeset patch +# User Todd C. Miller +# Date 1406550172 21600 +# Node ID 57deb66ef8ffc0f551d460e15a34f7df78f54d2a +# Parent f547bf80c436c07ddb1c7385d22db96862ae7e4f +Fix compilation on systems w/o netgroups. + +Status: upstream + +Signed-off-by: Gustavo Zacarias + +diff -r f547bf80c436 -r 57deb66ef8ff plugins/sudoers/match.c +--- a/plugins/sudoers/match.c Sat Jul 26 06:07:34 2014 -0600 ++++ b/plugins/sudoers/match.c Mon Jul 28 06:22:52 2014 -0600 +@@ -972,12 +972,12 @@ + rc = true; + else if (lhost != shost && innetgr(netgr, shost, user, domain)) + rc = true; +-#endif /* HAVE_INNETGR */ + + sudo_debug_printf(SUDO_DEBUG_DEBUG|SUDO_DEBUG_LINENO, + "netgroup %s matches (%s|%s, %s, %s): %s", netgr, lhost ? lhost : "", + shost ? shost : "", user ? user : "", domain ? domain : "", + rc ? "true" : "false"); ++#endif /* HAVE_INNETGR */ + + debug_return_bool(rc); + } + diff --git a/package/sudo/0002-drop-sspcflags-piecflags-for-host.patch b/package/sudo/0002-drop-sspcflags-piecflags-for-host.patch new file mode 100644 index 0000000000..9f09656d19 --- /dev/null +++ b/package/sudo/0002-drop-sspcflags-piecflags-for-host.patch @@ -0,0 +1,21 @@ +Don't use SSP_CFLAGS and PIE_CFLAGS for host tools. +http://www.sudo.ws/bugs/show_bug.cgi?id=662 + +Signed-off-by: Gustavo Zacarias + +diff -Nura sudo-1.8.10p3.orig/compat/Makefile.in sudo-1.8.10p3/compat/Makefile.in +--- sudo-1.8.10p3.orig/compat/Makefile.in 2014-03-07 18:51:19.000000000 -0300 ++++ sudo-1.8.10p3/compat/Makefile.in 2014-09-20 07:29:30.913108029 -0300 +@@ -96,10 +96,10 @@ + ./mksigname > $@ + + mksiglist: $(srcdir)/mksiglist.c $(srcdir)/mksiglist.h $(incdir)/missing.h $(top_builddir)/config.h +- $(CC) $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/mksiglist.c -o $@ ++ $(CC) $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/mksiglist.c -o $@ + + mksigname: $(srcdir)/mksigname.c $(srcdir)/mksigname.h $(incdir)/missing.h $(top_builddir)/config.h +- $(CC) $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/mksigname.c -o $@ ++ $(CC) $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/mksigname.c -o $@ + + fnm_test: fnm_test.o libreplace.la + $(LIBTOOL) --mode=link $(CC) -o $@ fnm_test.o libreplace.la $(PIE_LDFLAGS) $(SSP_LDFLAGS) diff --git a/package/sudo/sudo-0001-no-netgroup.patch b/package/sudo/sudo-0001-no-netgroup.patch deleted file mode 100644 index 64b870c67a..0000000000 --- a/package/sudo/sudo-0001-no-netgroup.patch +++ /dev/null @@ -1,29 +0,0 @@ -# HG changeset patch -# User Todd C. Miller -# Date 1406550172 21600 -# Node ID 57deb66ef8ffc0f551d460e15a34f7df78f54d2a -# Parent f547bf80c436c07ddb1c7385d22db96862ae7e4f -Fix compilation on systems w/o netgroups. - -Status: upstream - -Signed-off-by: Gustavo Zacarias - -diff -r f547bf80c436 -r 57deb66ef8ff plugins/sudoers/match.c ---- a/plugins/sudoers/match.c Sat Jul 26 06:07:34 2014 -0600 -+++ b/plugins/sudoers/match.c Mon Jul 28 06:22:52 2014 -0600 -@@ -972,12 +972,12 @@ - rc = true; - else if (lhost != shost && innetgr(netgr, shost, user, domain)) - rc = true; --#endif /* HAVE_INNETGR */ - - sudo_debug_printf(SUDO_DEBUG_DEBUG|SUDO_DEBUG_LINENO, - "netgroup %s matches (%s|%s, %s, %s): %s", netgr, lhost ? lhost : "", - shost ? shost : "", user ? user : "", domain ? domain : "", - rc ? "true" : "false"); -+#endif /* HAVE_INNETGR */ - - debug_return_bool(rc); - } - diff --git a/package/sudo/sudo-0002-drop-sspcflags-piecflags-for-host.patch b/package/sudo/sudo-0002-drop-sspcflags-piecflags-for-host.patch deleted file mode 100644 index 9f09656d19..0000000000 --- a/package/sudo/sudo-0002-drop-sspcflags-piecflags-for-host.patch +++ /dev/null @@ -1,21 +0,0 @@ -Don't use SSP_CFLAGS and PIE_CFLAGS for host tools. -http://www.sudo.ws/bugs/show_bug.cgi?id=662 - -Signed-off-by: Gustavo Zacarias - -diff -Nura sudo-1.8.10p3.orig/compat/Makefile.in sudo-1.8.10p3/compat/Makefile.in ---- sudo-1.8.10p3.orig/compat/Makefile.in 2014-03-07 18:51:19.000000000 -0300 -+++ sudo-1.8.10p3/compat/Makefile.in 2014-09-20 07:29:30.913108029 -0300 -@@ -96,10 +96,10 @@ - ./mksigname > $@ - - mksiglist: $(srcdir)/mksiglist.c $(srcdir)/mksiglist.h $(incdir)/missing.h $(top_builddir)/config.h -- $(CC) $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/mksiglist.c -o $@ -+ $(CC) $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/mksiglist.c -o $@ - - mksigname: $(srcdir)/mksigname.c $(srcdir)/mksigname.h $(incdir)/missing.h $(top_builddir)/config.h -- $(CC) $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/mksigname.c -o $@ -+ $(CC) $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/mksigname.c -o $@ - - fnm_test: fnm_test.o libreplace.la - $(LIBTOOL) --mode=link $(CC) -o $@ fnm_test.o libreplace.la $(PIE_LDFLAGS) $(SSP_LDFLAGS) diff --git a/package/sunxi-mali/0001-Add-missing-GLchar-definitions.patch b/package/sunxi-mali/0001-Add-missing-GLchar-definitions.patch new file mode 100644 index 0000000000..a9370b009d --- /dev/null +++ b/package/sunxi-mali/0001-Add-missing-GLchar-definitions.patch @@ -0,0 +1,45 @@ +From 058d5e8cd90d117535b5d314fd9e15c70028ff20 Mon Sep 17 00:00:00 2001 +From: Eric Le Bihan +Date: Mon, 21 Apr 2014 19:31:23 +0200 +Subject: [PATCH] Add missing GLchar definitions. + +The GLES and GLES2 header files provided by sunxi-mali do not define the +type "GLchar" and use "char" instead in the prototype of some functions. + +This issue has been reported upstream some time ago, but the pull +request has not been merged yet. (See +https://github.com/linux-sunxi/sunxi-mali/pull/8). + +Signed-off-by: Eric Le Bihan +--- + include/GLES/gl.h | 1 + + include/GLES2/gl2.h | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/include/GLES/gl.h b/include/GLES/gl.h +index 858f394..a6bb591 100644 +--- a/include/GLES/gl.h ++++ b/include/GLES/gl.h +@@ -29,6 +29,7 @@ typedef float GLfloat; + typedef float GLclampf; + typedef signed int GLfixed; + typedef signed int GLclampx; ++typedef char GLchar; + + typedef int * GLintptr; + typedef int * GLsizeiptr; +diff --git a/include/GLES2/gl2.h b/include/GLES2/gl2.h +index 59e376c..90d96bb 100644 +--- a/include/GLES2/gl2.h ++++ b/include/GLES2/gl2.h +@@ -32,6 +32,7 @@ typedef unsigned int GLuint; + typedef khronos_float_t GLfloat; + typedef khronos_float_t GLclampf; + typedef khronos_int32_t GLfixed; ++typedef char GLchar; + + /* GL types for handling large vertex buffer objects */ + typedef khronos_intptr_t GLintptr; +-- +1.9.0 + diff --git a/package/sunxi-mali/sunxi-mali-0001-Add-missing-GLchar-definitions.patch b/package/sunxi-mali/sunxi-mali-0001-Add-missing-GLchar-definitions.patch deleted file mode 100644 index a9370b009d..0000000000 --- a/package/sunxi-mali/sunxi-mali-0001-Add-missing-GLchar-definitions.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 058d5e8cd90d117535b5d314fd9e15c70028ff20 Mon Sep 17 00:00:00 2001 -From: Eric Le Bihan -Date: Mon, 21 Apr 2014 19:31:23 +0200 -Subject: [PATCH] Add missing GLchar definitions. - -The GLES and GLES2 header files provided by sunxi-mali do not define the -type "GLchar" and use "char" instead in the prototype of some functions. - -This issue has been reported upstream some time ago, but the pull -request has not been merged yet. (See -https://github.com/linux-sunxi/sunxi-mali/pull/8). - -Signed-off-by: Eric Le Bihan ---- - include/GLES/gl.h | 1 + - include/GLES2/gl2.h | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/include/GLES/gl.h b/include/GLES/gl.h -index 858f394..a6bb591 100644 ---- a/include/GLES/gl.h -+++ b/include/GLES/gl.h -@@ -29,6 +29,7 @@ typedef float GLfloat; - typedef float GLclampf; - typedef signed int GLfixed; - typedef signed int GLclampx; -+typedef char GLchar; - - typedef int * GLintptr; - typedef int * GLsizeiptr; -diff --git a/include/GLES2/gl2.h b/include/GLES2/gl2.h -index 59e376c..90d96bb 100644 ---- a/include/GLES2/gl2.h -+++ b/include/GLES2/gl2.h -@@ -32,6 +32,7 @@ typedef unsigned int GLuint; - typedef khronos_float_t GLfloat; - typedef khronos_float_t GLclampf; - typedef khronos_int32_t GLfixed; -+typedef char GLchar; - - /* GL types for handling large vertex buffer objects */ - typedef khronos_intptr_t GLintptr; --- -1.9.0 - diff --git a/package/synergy/0001-includes.patch b/package/synergy/0001-includes.patch new file mode 100644 index 0000000000..accaf8292a --- /dev/null +++ b/package/synergy/0001-includes.patch @@ -0,0 +1,167 @@ +[PATCH] fix build with modern toolchains + +Several files are missing the correct includes for exit/getenvmemcpy/strlen/.. + +Signed-off-by: Peter Korsgaard +--- + lib/arch/CArchDaemonUnix.cpp | 1 + + lib/arch/CMultibyte.cpp | 1 + + lib/base/CStringUtil.cpp | 1 + + lib/client/CClient.cpp | 3 ++- + lib/client/CServerProxy.cpp | 1 + + lib/net/CTCPSocket.cpp | 2 +- + lib/platform/CXWindowsScreen.cpp | 1 + + lib/server/CClientProxy1_3.cpp | 1 + + lib/server/CServer.cpp | 1 + + lib/synergy/CPacketStreamFilter.cpp | 1 + + lib/synergy/IKeyState.cpp | 1 + + lib/synergy/IPrimaryScreen.cpp | 1 + + 12 files changed, 13 insertions(+), 2 deletions(-) + +Index: synergy-1.3.1/lib/arch/CArchDaemonUnix.cpp +=================================================================== +--- synergy-1.3.1.orig/lib/arch/CArchDaemonUnix.cpp ++++ synergy-1.3.1/lib/arch/CArchDaemonUnix.cpp +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + + // + // CArchDaemonUnix +Index: synergy-1.3.1/lib/arch/CMultibyte.cpp +=================================================================== +--- synergy-1.3.1.orig/lib/arch/CMultibyte.cpp ++++ synergy-1.3.1/lib/arch/CMultibyte.cpp +@@ -19,6 +19,7 @@ + #include "CArch.h" + #include + #include ++#include + #if HAVE_LOCALE_H + # include + #endif +Index: synergy-1.3.1/lib/base/CStringUtil.cpp +=================================================================== +--- synergy-1.3.1.orig/lib/base/CStringUtil.cpp ++++ synergy-1.3.1/lib/base/CStringUtil.cpp +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + #include + + // +Index: synergy-1.3.1/lib/client/CClient.cpp +=================================================================== +--- synergy-1.3.1.orig/lib/client/CClient.cpp ++++ synergy-1.3.1/lib/client/CClient.cpp +@@ -26,7 +26,8 @@ + #include "CLog.h" + #include "IEventQueue.h" + #include "TMethodEventJob.h" +- ++#include ++#include + // + // CClient + // +Index: synergy-1.3.1/lib/client/CServerProxy.cpp +=================================================================== +--- synergy-1.3.1.orig/lib/client/CServerProxy.cpp ++++ synergy-1.3.1/lib/client/CServerProxy.cpp +@@ -24,6 +24,7 @@ + #include "TMethodEventJob.h" + #include "XBase.h" + #include ++#include + + // + // CServerProxy +Index: synergy-1.3.1/lib/net/CTCPSocket.cpp +=================================================================== +--- synergy-1.3.1.orig/lib/net/CTCPSocket.cpp ++++ synergy-1.3.1/lib/net/CTCPSocket.cpp +@@ -24,7 +24,7 @@ + #include "CArch.h" + #include "XArch.h" + #include +- ++#include + // + // CTCPSocket + // +Index: synergy-1.3.1/lib/platform/CXWindowsScreen.cpp +=================================================================== +--- synergy-1.3.1.orig/lib/platform/CXWindowsScreen.cpp ++++ synergy-1.3.1/lib/platform/CXWindowsScreen.cpp +@@ -27,6 +27,7 @@ + #include "IEventQueue.h" + #include "TMethodEventJob.h" + #include ++#include + #if X_DISPLAY_MISSING + # error X11 is required to build synergy + #else +Index: synergy-1.3.1/lib/server/CClientProxy1_3.cpp +=================================================================== +--- synergy-1.3.1.orig/lib/server/CClientProxy1_3.cpp ++++ synergy-1.3.1/lib/server/CClientProxy1_3.cpp +@@ -17,6 +17,7 @@ + #include "CLog.h" + #include "IEventQueue.h" + #include "TMethodEventJob.h" ++#include + + // + // CClientProxy1_3 +Index: synergy-1.3.1/lib/server/CServer.cpp +=================================================================== +--- synergy-1.3.1.orig/lib/server/CServer.cpp ++++ synergy-1.3.1/lib/server/CServer.cpp +@@ -29,6 +29,7 @@ + #include "TMethodEventJob.h" + #include "CArch.h" + #include ++#include + + // + // CServer +Index: synergy-1.3.1/lib/synergy/CPacketStreamFilter.cpp +=================================================================== +--- synergy-1.3.1.orig/lib/synergy/CPacketStreamFilter.cpp ++++ synergy-1.3.1/lib/synergy/CPacketStreamFilter.cpp +@@ -16,6 +16,7 @@ + #include "IEventQueue.h" + #include "CLock.h" + #include "TMethodEventJob.h" ++#include + + // + // CPacketStreamFilter +Index: synergy-1.3.1/lib/synergy/IKeyState.cpp +=================================================================== +--- synergy-1.3.1.orig/lib/synergy/IKeyState.cpp ++++ synergy-1.3.1/lib/synergy/IKeyState.cpp +@@ -14,6 +14,7 @@ + + #include "IKeyState.h" + #include ++#include + + // + // IKeyState +Index: synergy-1.3.1/lib/synergy/IPrimaryScreen.cpp +=================================================================== +--- synergy-1.3.1.orig/lib/synergy/IPrimaryScreen.cpp ++++ synergy-1.3.1/lib/synergy/IPrimaryScreen.cpp +@@ -13,6 +13,7 @@ + */ + + #include "IPrimaryScreen.h" ++#include + + // + // IPrimaryScreen diff --git a/package/synergy/0002-remove-werror.patch b/package/synergy/0002-remove-werror.patch new file mode 100644 index 0000000000..31a8c2b510 --- /dev/null +++ b/package/synergy/0002-remove-werror.patch @@ -0,0 +1,16 @@ +Remove -Werror from CXXFLAGS + +Signed-off-by: Markos Chandras + +Index: synergy-1.3.1/configure.in +=================================================================== +--- synergy-1.3.1.orig/configure.in ++++ synergy-1.3.1/configure.in +@@ -239,7 +239,6 @@ dnl checks for system services + + dnl enable maximum compiler warnings and warnings are errors. + ACX_CXX_WARNINGS +-ACX_CXX_WARNINGS_ARE_ERRORS + + dnl adjust compiler and linker variables + CXXFLAGS="$CXXFLAGS $SYNERGY_CXXFLAGS $ARCH_CFLAGS" diff --git a/package/synergy/synergy-1.3.1-includes.patch b/package/synergy/synergy-1.3.1-includes.patch deleted file mode 100644 index accaf8292a..0000000000 --- a/package/synergy/synergy-1.3.1-includes.patch +++ /dev/null @@ -1,167 +0,0 @@ -[PATCH] fix build with modern toolchains - -Several files are missing the correct includes for exit/getenvmemcpy/strlen/.. - -Signed-off-by: Peter Korsgaard ---- - lib/arch/CArchDaemonUnix.cpp | 1 + - lib/arch/CMultibyte.cpp | 1 + - lib/base/CStringUtil.cpp | 1 + - lib/client/CClient.cpp | 3 ++- - lib/client/CServerProxy.cpp | 1 + - lib/net/CTCPSocket.cpp | 2 +- - lib/platform/CXWindowsScreen.cpp | 1 + - lib/server/CClientProxy1_3.cpp | 1 + - lib/server/CServer.cpp | 1 + - lib/synergy/CPacketStreamFilter.cpp | 1 + - lib/synergy/IKeyState.cpp | 1 + - lib/synergy/IPrimaryScreen.cpp | 1 + - 12 files changed, 13 insertions(+), 2 deletions(-) - -Index: synergy-1.3.1/lib/arch/CArchDaemonUnix.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/arch/CArchDaemonUnix.cpp -+++ synergy-1.3.1/lib/arch/CArchDaemonUnix.cpp -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - - // - // CArchDaemonUnix -Index: synergy-1.3.1/lib/arch/CMultibyte.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/arch/CMultibyte.cpp -+++ synergy-1.3.1/lib/arch/CMultibyte.cpp -@@ -19,6 +19,7 @@ - #include "CArch.h" - #include - #include -+#include - #if HAVE_LOCALE_H - # include - #endif -Index: synergy-1.3.1/lib/base/CStringUtil.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/base/CStringUtil.cpp -+++ synergy-1.3.1/lib/base/CStringUtil.cpp -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - #include - - // -Index: synergy-1.3.1/lib/client/CClient.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/client/CClient.cpp -+++ synergy-1.3.1/lib/client/CClient.cpp -@@ -26,7 +26,8 @@ - #include "CLog.h" - #include "IEventQueue.h" - #include "TMethodEventJob.h" -- -+#include -+#include - // - // CClient - // -Index: synergy-1.3.1/lib/client/CServerProxy.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/client/CServerProxy.cpp -+++ synergy-1.3.1/lib/client/CServerProxy.cpp -@@ -24,6 +24,7 @@ - #include "TMethodEventJob.h" - #include "XBase.h" - #include -+#include - - // - // CServerProxy -Index: synergy-1.3.1/lib/net/CTCPSocket.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/net/CTCPSocket.cpp -+++ synergy-1.3.1/lib/net/CTCPSocket.cpp -@@ -24,7 +24,7 @@ - #include "CArch.h" - #include "XArch.h" - #include -- -+#include - // - // CTCPSocket - // -Index: synergy-1.3.1/lib/platform/CXWindowsScreen.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/platform/CXWindowsScreen.cpp -+++ synergy-1.3.1/lib/platform/CXWindowsScreen.cpp -@@ -27,6 +27,7 @@ - #include "IEventQueue.h" - #include "TMethodEventJob.h" - #include -+#include - #if X_DISPLAY_MISSING - # error X11 is required to build synergy - #else -Index: synergy-1.3.1/lib/server/CClientProxy1_3.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/server/CClientProxy1_3.cpp -+++ synergy-1.3.1/lib/server/CClientProxy1_3.cpp -@@ -17,6 +17,7 @@ - #include "CLog.h" - #include "IEventQueue.h" - #include "TMethodEventJob.h" -+#include - - // - // CClientProxy1_3 -Index: synergy-1.3.1/lib/server/CServer.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/server/CServer.cpp -+++ synergy-1.3.1/lib/server/CServer.cpp -@@ -29,6 +29,7 @@ - #include "TMethodEventJob.h" - #include "CArch.h" - #include -+#include - - // - // CServer -Index: synergy-1.3.1/lib/synergy/CPacketStreamFilter.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/synergy/CPacketStreamFilter.cpp -+++ synergy-1.3.1/lib/synergy/CPacketStreamFilter.cpp -@@ -16,6 +16,7 @@ - #include "IEventQueue.h" - #include "CLock.h" - #include "TMethodEventJob.h" -+#include - - // - // CPacketStreamFilter -Index: synergy-1.3.1/lib/synergy/IKeyState.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/synergy/IKeyState.cpp -+++ synergy-1.3.1/lib/synergy/IKeyState.cpp -@@ -14,6 +14,7 @@ - - #include "IKeyState.h" - #include -+#include - - // - // IKeyState -Index: synergy-1.3.1/lib/synergy/IPrimaryScreen.cpp -=================================================================== ---- synergy-1.3.1.orig/lib/synergy/IPrimaryScreen.cpp -+++ synergy-1.3.1/lib/synergy/IPrimaryScreen.cpp -@@ -13,6 +13,7 @@ - */ - - #include "IPrimaryScreen.h" -+#include - - // - // IPrimaryScreen diff --git a/package/synergy/synergy-1.3.1-remove-werror.patch b/package/synergy/synergy-1.3.1-remove-werror.patch deleted file mode 100644 index 31a8c2b510..0000000000 --- a/package/synergy/synergy-1.3.1-remove-werror.patch +++ /dev/null @@ -1,16 +0,0 @@ -Remove -Werror from CXXFLAGS - -Signed-off-by: Markos Chandras - -Index: synergy-1.3.1/configure.in -=================================================================== ---- synergy-1.3.1.orig/configure.in -+++ synergy-1.3.1/configure.in -@@ -239,7 +239,6 @@ dnl checks for system services - - dnl enable maximum compiler warnings and warnings are errors. - ACX_CXX_WARNINGS --ACX_CXX_WARNINGS_ARE_ERRORS - - dnl adjust compiler and linker variables - CXXFLAGS="$CXXFLAGS $SYNERGY_CXXFLAGS $ARCH_CFLAGS" diff --git a/package/sysprof/0001-define-NT_GNU_BUILD_ID.patch b/package/sysprof/0001-define-NT_GNU_BUILD_ID.patch new file mode 100644 index 0000000000..dcc2cbe67c --- /dev/null +++ b/package/sysprof/0001-define-NT_GNU_BUILD_ID.patch @@ -0,0 +1,22 @@ +On uclibc elf.h does not have GNU extentions but we need this define +so we define it locally if its not getting it from elf.h + +Signed-off-by: Khem Raj + +Upstream-Status: Pending + +Index: git/elfparser.h +=================================================================== +--- git.orig/elfparser.h 2011-07-16 18:57:41.000000000 -0700 ++++ git/elfparser.h 2011-07-16 20:28:54.733829895 -0700 +@@ -17,6 +17,10 @@ + */ + #include + ++#ifndef NT_GNU_BUILD_ID ++#define NT_GNU_BUILD_ID 3 ++#endif ++ + typedef struct ElfSym ElfSym; + typedef struct ElfParser ElfParser; + diff --git a/package/sysprof/sysprof-01-define-NT_GNU_BUILD_ID.patch b/package/sysprof/sysprof-01-define-NT_GNU_BUILD_ID.patch deleted file mode 100644 index dcc2cbe67c..0000000000 --- a/package/sysprof/sysprof-01-define-NT_GNU_BUILD_ID.patch +++ /dev/null @@ -1,22 +0,0 @@ -On uclibc elf.h does not have GNU extentions but we need this define -so we define it locally if its not getting it from elf.h - -Signed-off-by: Khem Raj - -Upstream-Status: Pending - -Index: git/elfparser.h -=================================================================== ---- git.orig/elfparser.h 2011-07-16 18:57:41.000000000 -0700 -+++ git/elfparser.h 2011-07-16 20:28:54.733829895 -0700 -@@ -17,6 +17,10 @@ - */ - #include - -+#ifndef NT_GNU_BUILD_ID -+#define NT_GNU_BUILD_ID 3 -+#endif -+ - typedef struct ElfSym ElfSym; - typedef struct ElfParser ElfParser; - diff --git a/package/taglib/0001-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch b/package/taglib/0001-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch new file mode 100644 index 0000000000..535ccb4d38 --- /dev/null +++ b/package/taglib/0001-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch @@ -0,0 +1,40 @@ +From 4e6a75eed3602f10aff516f49c8088c6da8db9df Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Sun, 31 Aug 2014 12:11:57 +0200 +Subject: [PATCH 1/1] cmake: use the standard CMake flag to drive the shared + object build + +If BUILD_SHARED_LIBS is set and ENABLE_STATIC undefined, then drive +ENABLE_STATIC with the BUILD_SHARED_LIBS value. + +Signed-off-by: Samuel Martin +--- + CMakeLists.txt | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 317ffa1..9931957 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -2,7 +2,17 @@ project(taglib) + + cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR) + +-option(ENABLE_STATIC "Make static version of libtag" OFF) ++# Use the standard CMake flag to drive the shared object build. ++if(DEFINED BUILD_SHARED_LIBS AND NOT DEFINED ENABLE_STATIC) ++ if(BUILD_SHARED_LIBS) ++ set(ENABLE_STATIC OFF) ++ else() ++ set(ENABLE_STATIC ON) ++ endif() ++else() ++ option(ENABLE_STATIC "Make static version of libtag" OFF) ++endif() ++ + if(ENABLE_STATIC) + add_definitions(-DTAGLIB_STATIC) + set(BUILD_SHARED_LIBS OFF) +-- +2.1.0 + diff --git a/package/taglib/taglib-0001-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch b/package/taglib/taglib-0001-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch deleted file mode 100644 index 535ccb4d38..0000000000 --- a/package/taglib/taglib-0001-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 4e6a75eed3602f10aff516f49c8088c6da8db9df Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sun, 31 Aug 2014 12:11:57 +0200 -Subject: [PATCH 1/1] cmake: use the standard CMake flag to drive the shared - object build - -If BUILD_SHARED_LIBS is set and ENABLE_STATIC undefined, then drive -ENABLE_STATIC with the BUILD_SHARED_LIBS value. - -Signed-off-by: Samuel Martin ---- - CMakeLists.txt | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 317ffa1..9931957 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -2,7 +2,17 @@ project(taglib) - - cmake_minimum_required(VERSION 2.6.0 FATAL_ERROR) - --option(ENABLE_STATIC "Make static version of libtag" OFF) -+# Use the standard CMake flag to drive the shared object build. -+if(DEFINED BUILD_SHARED_LIBS AND NOT DEFINED ENABLE_STATIC) -+ if(BUILD_SHARED_LIBS) -+ set(ENABLE_STATIC OFF) -+ else() -+ set(ENABLE_STATIC ON) -+ endif() -+else() -+ option(ENABLE_STATIC "Make static version of libtag" OFF) -+endif() -+ - if(ENABLE_STATIC) - add_definitions(-DTAGLIB_STATIC) - set(BUILD_SHARED_LIBS OFF) --- -2.1.0 - diff --git a/package/tar/0001-fix-build-failure.patch b/package/tar/0001-fix-build-failure.patch new file mode 100644 index 0000000000..8550a3ef5a --- /dev/null +++ b/package/tar/0001-fix-build-failure.patch @@ -0,0 +1,52 @@ +Status: upstream +http://git.savannah.gnu.org/cgit/tar.git/commit/?id=e9ddc08da0982f36581ae5a8c7763453ff41cfe8 + +Signed-off-by: Gustavo Zacarias + +From e9ddc08da0982f36581ae5a8c7763453ff41cfe8 Mon Sep 17 00:00:00 2001 +From: Sergey Poznyakoff +Date: Wed, 24 Sep 2014 21:22:16 +0000 +Subject: Bugfixes. + +* doc/tar.1: Fix typo in font spec. +* src/tar.c (sort_mode_arg, sort_mode_flag): Protect "inode" +(SAVEDIR_SORT_INODE) with D_INO_IN_DIRENT +--- +diff --git a/doc/tar.1 b/doc/tar.1 +index 9000627..b91de63 100644 +--- a/doc/tar.1 ++++ b/doc/tar.1 +@@ -879,7 +879,7 @@ Exclude files matching patterns listed in FILE. + \fB\-\-strip\-components\fR=\fINUMBER\fR + Strip \fINUMBER\fR leading components from file names on extraction. + .TP +-\fB\-\-transform\fR=\fIEXPRESSION\dR, \fB\-\-xform\fR=\fIEXPRESSION\fR ++\fB\-\-transform\fR=\fIEXPRESSION\fR, \fB\-\-xform\fR=\fIEXPRESSION\fR + Use sed replace \fIEXPRESSION\fR to transform file names. + .SS File name matching options + These options affect both exclude and include patterns. +diff --git a/src/tar.c b/src/tar.c +index 225c624..f8102e0 100644 +--- a/src/tar.c ++++ b/src/tar.c +@@ -1341,14 +1341,18 @@ static char filename_terminator; + static char const *const sort_mode_arg[] = { + "none", + "name", ++#if D_INO_IN_DIRENT + "inode", ++#endif + NULL + }; + + static int sort_mode_flag[] = { + SAVEDIR_SORT_NONE, + SAVEDIR_SORT_NAME, ++#if D_INO_IN_DIRENT + SAVEDIR_SORT_INODE ++#endif + }; + + ARGMATCH_VERIFY (sort_mode_arg, sort_mode_flag); +-- +cgit v0.9.0.2 diff --git a/package/tar/tar-0001-fix-build-failure.patch b/package/tar/tar-0001-fix-build-failure.patch deleted file mode 100644 index 8550a3ef5a..0000000000 --- a/package/tar/tar-0001-fix-build-failure.patch +++ /dev/null @@ -1,52 +0,0 @@ -Status: upstream -http://git.savannah.gnu.org/cgit/tar.git/commit/?id=e9ddc08da0982f36581ae5a8c7763453ff41cfe8 - -Signed-off-by: Gustavo Zacarias - -From e9ddc08da0982f36581ae5a8c7763453ff41cfe8 Mon Sep 17 00:00:00 2001 -From: Sergey Poznyakoff -Date: Wed, 24 Sep 2014 21:22:16 +0000 -Subject: Bugfixes. - -* doc/tar.1: Fix typo in font spec. -* src/tar.c (sort_mode_arg, sort_mode_flag): Protect "inode" -(SAVEDIR_SORT_INODE) with D_INO_IN_DIRENT ---- -diff --git a/doc/tar.1 b/doc/tar.1 -index 9000627..b91de63 100644 ---- a/doc/tar.1 -+++ b/doc/tar.1 -@@ -879,7 +879,7 @@ Exclude files matching patterns listed in FILE. - \fB\-\-strip\-components\fR=\fINUMBER\fR - Strip \fINUMBER\fR leading components from file names on extraction. - .TP --\fB\-\-transform\fR=\fIEXPRESSION\dR, \fB\-\-xform\fR=\fIEXPRESSION\fR -+\fB\-\-transform\fR=\fIEXPRESSION\fR, \fB\-\-xform\fR=\fIEXPRESSION\fR - Use sed replace \fIEXPRESSION\fR to transform file names. - .SS File name matching options - These options affect both exclude and include patterns. -diff --git a/src/tar.c b/src/tar.c -index 225c624..f8102e0 100644 ---- a/src/tar.c -+++ b/src/tar.c -@@ -1341,14 +1341,18 @@ static char filename_terminator; - static char const *const sort_mode_arg[] = { - "none", - "name", -+#if D_INO_IN_DIRENT - "inode", -+#endif - NULL - }; - - static int sort_mode_flag[] = { - SAVEDIR_SORT_NONE, - SAVEDIR_SORT_NAME, -+#if D_INO_IN_DIRENT - SAVEDIR_SORT_INODE -+#endif - }; - - ARGMATCH_VERIFY (sort_mode_arg, sort_mode_flag); --- -cgit v0.9.0.2 diff --git a/package/tcl/0001-dont-build-compat.patch b/package/tcl/0001-dont-build-compat.patch new file mode 100644 index 0000000000..85c5c57df4 --- /dev/null +++ b/package/tcl/0001-dont-build-compat.patch @@ -0,0 +1,32 @@ +From: Andrew Ruder +Subject: [PATCH] Disable tcl compatibility layers + +Turn off building compatibility layers for old/broken versions of +standard functions (strstr, strtoul, strtod) with the assumption that +anything buildroot is using as a standard C library will be good enough +to not have broken behavior. + +Signed-off-by: Andrew Ruder +--- + +diff --git a/unix/tcl.m4 b/unix/tcl.m4 +--- a/unix/tcl.m4 ++++ b/unix/tcl.m4 +@@ -2466,7 +2466,7 @@ AC_DEFUN([SC_BUGGY_STRTOD], [ + } + exit(0); + }], tcl_cv_strtod_buggy=ok, tcl_cv_strtod_buggy=buggy, +- tcl_cv_strtod_buggy=buggy)]) ++ tcl_cv_strtod_buggy=ok)]) + if test "$tcl_cv_strtod_buggy" = buggy; then + AC_LIBOBJ([fixstrtod]) + USE_COMPAT=1 +@@ -2725,7 +2725,7 @@ AC_DEFUN([SC_TCL_CHECK_BROKEN_FUNC],[ + if test ["$tcl_ok"] = 1; then + AC_CACHE_CHECK([proper ]$1[ implementation], [tcl_cv_]$1[_unbroken], + AC_TRY_RUN([[int main() {]$2[}]],[tcl_cv_]$1[_unbroken]=ok, +- [tcl_cv_]$1[_unbroken]=broken,[tcl_cv_]$1[_unbroken]=unknown)) ++ [tcl_cv_]$1[_unbroken]=broken,[tcl_cv_]$1[_unbroken]=ok)) + if test ["$tcl_cv_]$1[_unbroken"] = "ok"; then + tcl_ok=1 + else diff --git a/package/tcl/tcl-0001-dont-build-compat.patch b/package/tcl/tcl-0001-dont-build-compat.patch deleted file mode 100644 index 85c5c57df4..0000000000 --- a/package/tcl/tcl-0001-dont-build-compat.patch +++ /dev/null @@ -1,32 +0,0 @@ -From: Andrew Ruder -Subject: [PATCH] Disable tcl compatibility layers - -Turn off building compatibility layers for old/broken versions of -standard functions (strstr, strtoul, strtod) with the assumption that -anything buildroot is using as a standard C library will be good enough -to not have broken behavior. - -Signed-off-by: Andrew Ruder ---- - -diff --git a/unix/tcl.m4 b/unix/tcl.m4 ---- a/unix/tcl.m4 -+++ b/unix/tcl.m4 -@@ -2466,7 +2466,7 @@ AC_DEFUN([SC_BUGGY_STRTOD], [ - } - exit(0); - }], tcl_cv_strtod_buggy=ok, tcl_cv_strtod_buggy=buggy, -- tcl_cv_strtod_buggy=buggy)]) -+ tcl_cv_strtod_buggy=ok)]) - if test "$tcl_cv_strtod_buggy" = buggy; then - AC_LIBOBJ([fixstrtod]) - USE_COMPAT=1 -@@ -2725,7 +2725,7 @@ AC_DEFUN([SC_TCL_CHECK_BROKEN_FUNC],[ - if test ["$tcl_ok"] = 1; then - AC_CACHE_CHECK([proper ]$1[ implementation], [tcl_cv_]$1[_unbroken], - AC_TRY_RUN([[int main() {]$2[}]],[tcl_cv_]$1[_unbroken]=ok, -- [tcl_cv_]$1[_unbroken]=broken,[tcl_cv_]$1[_unbroken]=unknown)) -+ [tcl_cv_]$1[_unbroken]=broken,[tcl_cv_]$1[_unbroken]=ok)) - if test ["$tcl_cv_]$1[_unbroken"] = "ok"; then - tcl_ok=1 - else diff --git a/package/thttpd/0001-getline.patch b/package/thttpd/0001-getline.patch new file mode 100644 index 0000000000..35c366aef1 --- /dev/null +++ b/package/thttpd/0001-getline.patch @@ -0,0 +1,26 @@ +Fix glibc/eglibc getline() conflicting functions. + +Signed-off-by: Gustavo Zacarias +--- + +diff -Nura thttpd-2.25b.orig/extras/htpasswd.c thttpd-2.25b/extras/htpasswd.c +--- thttpd-2.25b.orig/extras/htpasswd.c 2001-12-18 21:08:08.000000000 -0300 ++++ thttpd-2.25b/extras/htpasswd.c 2011-11-25 11:42:47.198582812 -0300 +@@ -49,7 +49,7 @@ + while((line[y++] = line[x++])); + } + +-static int getline(char *s, int n, FILE *f) { ++static int get_line(char *s, int n, FILE *f) { + register int i=0; + + while(1) { +@@ -189,7 +189,7 @@ + strcpy(user,argv[2]); + + found = 0; +- while(!(getline(line,MAX_STRING_LEN,f))) { ++ while(!(get_line(line,MAX_STRING_LEN,f))) { + if(found || (line[0] == '#') || (!line[0])) { + putline(tfp,line); + continue; diff --git a/package/thttpd/thttpd-2.25b-getline.patch b/package/thttpd/thttpd-2.25b-getline.patch deleted file mode 100644 index 35c366aef1..0000000000 --- a/package/thttpd/thttpd-2.25b-getline.patch +++ /dev/null @@ -1,26 +0,0 @@ -Fix glibc/eglibc getline() conflicting functions. - -Signed-off-by: Gustavo Zacarias ---- - -diff -Nura thttpd-2.25b.orig/extras/htpasswd.c thttpd-2.25b/extras/htpasswd.c ---- thttpd-2.25b.orig/extras/htpasswd.c 2001-12-18 21:08:08.000000000 -0300 -+++ thttpd-2.25b/extras/htpasswd.c 2011-11-25 11:42:47.198582812 -0300 -@@ -49,7 +49,7 @@ - while((line[y++] = line[x++])); - } - --static int getline(char *s, int n, FILE *f) { -+static int get_line(char *s, int n, FILE *f) { - register int i=0; - - while(1) { -@@ -189,7 +189,7 @@ - strcpy(user,argv[2]); - - found = 0; -- while(!(getline(line,MAX_STRING_LEN,f))) { -+ while(!(get_line(line,MAX_STRING_LEN,f))) { - if(found || (line[0] == '#') || (!line[0])) { - putline(tfp,line); - continue; diff --git a/package/ti-gfx/0001-newclkapi.patch b/package/ti-gfx/0001-newclkapi.patch new file mode 100644 index 0000000000..69574c15f4 --- /dev/null +++ b/package/ti-gfx/0001-newclkapi.patch @@ -0,0 +1,118 @@ +This patch adjusts the omap3630 portion of the powervr driver to use the new +clk kernel api. + +Signed-off-by: Spenser Gilliland +[yann.morin.1998@free.fr: rebased ontop of 5.01.00.01] +Signed-off-by: "Yann E. MORIN" +diff -durN ti-gfx-5_01_00_01.orig/GFX_Linux_KM/services4/system/omap3630/sysutils_linux.c ti-gfx-5_01_00_01/GFX_Linux_KM/services4/system/omap3630/sysutils_linux.c +--- ti-gfx-5_01_00_01.orig/GFX_Linux_KM/services4/system/omap3630/sysutils_linux.c 2013-12-23 15:44:20.000000000 +0100 ++++ ti-gfx-5_01_00_01/GFX_Linux_KM/services4/system/omap3630/sysutils_linux.c 2014-02-26 19:17:39.829571846 +0100 +@@ -182,6 +182,49 @@ + @Return PVRSRV_ERROR + + ******************************************************************************/ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,2,0) ++int clk_disable_unprepare(struct clk *clk) ++{ ++ return clk_disable(clk); ++} ++#elif LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0) ++int clk_disable_unprepare(struct clk *clk) ++{ ++ res = clk_disable(clk); ++ if (res < 0) ++ return res; ++ ++ res = clk_unprepare(clk); ++ if (ret < 0) ++ return res; ++ ++ return 0; ++} ++#endif ++ ++ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,2,0) ++int clk_prepare_enable(struct clk *clk) ++{ ++ return clk_enable(clk); ++} ++#elif LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0) ++int clk_prepare_enable(struct clk *clk) ++{ ++ res = clk_prepare(clk); ++ if (ret < 0) ++ return res; ++ ++ res = clk_enable(clk); ++ if (res < 0) { ++ clk_unprepare(clk); ++ return res; ++ } ++ ++ return 0; ++} ++#endif ++ + PVRSRV_ERROR EnableSGXClocks(SYS_DATA *psSysData) + { + #if !defined(NO_HARDWARE) +@@ -198,7 +241,7 @@ + + #if !defined(PM_RUNTIME_SUPPORT) + PVR_DPF((PVR_DBG_MESSAGE, "EnableSGXClocks: Enabling SGX Clocks")); +- res=clk_enable(psSysSpecData->psSGX_FCK); ++ res=clk_prepare_enable(psSysSpecData->psSGX_FCK); + if (res < 0) + { + PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: Couldn't enable SGX functional clock (%d)", res)); +@@ -324,7 +367,7 @@ + + PVR_DPF((PVR_DBG_MESSAGE, "DisableSGXClocks: Disabling SGX Clocks")); + #if !defined(PM_RUNTIME_SUPPORT) +- clk_disable(psSysSpecData->psSGX_FCK); ++ clk_disable_unprepare(psSysSpecData->psSGX_FCK); + #endif + SysDisableSGXInterrupts(psSysData); + +@@ -540,14 +583,14 @@ + rate = clk_get_rate(psSysSpecData->psGPT11_FCK); + PVR_TRACE(("GPTIMER11 clock is %dMHz", HZ_TO_MHZ(rate))); + +- res = clk_enable(psSysSpecData->psGPT11_FCK); ++ res = clk_prepare_enable(psSysSpecData->psGPT11_FCK); + if (res < 0) + { + PVR_DPF((PVR_DBG_ERROR, "EnableSystemClocks: Couldn't enable GPTIMER11 functional clock (%d)", res)); + goto ExitError; + } + +- res = clk_enable(psSysSpecData->psGPT11_ICK); ++ res = clk_prepare_enable(psSysSpecData->psGPT11_ICK); + if (res < 0) + { + PVR_DPF((PVR_DBG_ERROR, "EnableSystemClocks: Couldn't enable GPTIMER11 interface clock (%d)", res)); +@@ -610,9 +653,9 @@ + + ExitDisableGPT11ICK: + #if defined(PVR_OMAP4_TIMING_PRCM) +- clk_disable(psSysSpecData->psGPT11_ICK); ++ clk_disable_unprepare(psSysSpecData->psGPT11_ICK); + ExitDisableGPT11FCK: +- clk_disable(psSysSpecData->psGPT11_FCK); ++ clk_disable_unprepare(psSysSpecData->psGPT11_FCK); + ExitError: + #endif /* defined(PVR_OMAP4_TIMING_PRCM) */ + eError = PVRSRV_ERROR_CLOCK_REQUEST_FAILED; +@@ -664,9 +707,9 @@ + psSysSpecData->sTimerRegPhysBase.uiAddr = 0; + #endif + #if defined(PVR_OMAP4_TIMING_PRCM) +- clk_disable(psSysSpecData->psGPT11_ICK); ++ clk_disable_unprepare(psSysSpecData->psGPT11_ICK); + +- clk_disable(psSysSpecData->psGPT11_FCK); ++ clk_disable_unprepare(psSysSpecData->psGPT11_FCK); + #endif /* defined(PVR_OMAP4_TIMING_PRCM) */ + } + #endif /* PVR_OMAP_USE_DM_TIMER_API */ diff --git a/package/ti-gfx/0002-fix-build-omaplfb-linux.patch b/package/ti-gfx/0002-fix-build-omaplfb-linux.patch new file mode 100644 index 0000000000..002d01c1af --- /dev/null +++ b/package/ti-gfx/0002-fix-build-omaplfb-linux.patch @@ -0,0 +1,21 @@ +Since commit a73fdc647417699833f22d0f239affe22e062827 in the kernel, +omap_dss_device's 'output' is renamed 'src'. + +Fix build with at least es5.x selected (AM35xx). + +Signed-off-by: Hadrien Boutteville + +--- a/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.c ++++ b/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.c +@@ -176,8 +176,10 @@ + #define OMAP_DSS_DRIVER(drv, dev) struct omap_dss_driver *drv = (dev) != NULL ? (dev)->driver : NULL + #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)) + #define OMAP_DSS_MANAGER(man, dev) struct omap_overlay_manager *man = (dev) != NULL ? (dev)->manager : NULL +-#else ++#elif (LINUX_VERSION_CODE < KERNEL_VERSION(3,12,0)) + #define OMAP_DSS_MANAGER(man, dev) struct omap_overlay_manager *man = (dev) != NULL ? (dev)->output->manager : NULL ++#else ++#define OMAP_DSS_MANAGER(man, dev) struct omap_overlay_manager *man = (dev) != NULL ? (dev)->src->manager : NULL + #endif + + #define WAIT_FOR_VSYNC(man) ((man)->wait_for_vsync) diff --git a/package/ti-gfx/0003-km_install_modules.patch b/package/ti-gfx/0003-km_install_modules.patch new file mode 100644 index 0000000000..2cf6e81557 --- /dev/null +++ b/package/ti-gfx/0003-km_install_modules.patch @@ -0,0 +1,19 @@ +Patch to add modules_install target to the modules makefile. This makes +installation a little easier. + +Signed-off-by: Spenser Gilliland +---- +Index: ti-gfx-4_09_00_01/GFX_Linux_KM/Makefile +=================================================================== +--- ti-gfx-4_09_00_01.orig/GFX_Linux_KM/Makefile 2013-03-07 11:00:11.000000000 -0600 ++++ ti-gfx-4_09_00_01/GFX_Linux_KM/Makefile 2013-05-23 01:36:29.356676281 -0500 +@@ -479,6 +479,9 @@ + all: + $(MAKE) -C $(KERNELDIR) M=`pwd` $* + ++install: ++ $(MAKE) -C $(KERNELDIR) M=`pwd` modules_install ++ + clean: + @find . -name "*.o" -exec rm -r {} \; + @find . -name "*.ko" -exec rm -r {} \; diff --git a/package/ti-gfx/ti-gfx-0000-newclkapi.patch b/package/ti-gfx/ti-gfx-0000-newclkapi.patch deleted file mode 100644 index 69574c15f4..0000000000 --- a/package/ti-gfx/ti-gfx-0000-newclkapi.patch +++ /dev/null @@ -1,118 +0,0 @@ -This patch adjusts the omap3630 portion of the powervr driver to use the new -clk kernel api. - -Signed-off-by: Spenser Gilliland -[yann.morin.1998@free.fr: rebased ontop of 5.01.00.01] -Signed-off-by: "Yann E. MORIN" -diff -durN ti-gfx-5_01_00_01.orig/GFX_Linux_KM/services4/system/omap3630/sysutils_linux.c ti-gfx-5_01_00_01/GFX_Linux_KM/services4/system/omap3630/sysutils_linux.c ---- ti-gfx-5_01_00_01.orig/GFX_Linux_KM/services4/system/omap3630/sysutils_linux.c 2013-12-23 15:44:20.000000000 +0100 -+++ ti-gfx-5_01_00_01/GFX_Linux_KM/services4/system/omap3630/sysutils_linux.c 2014-02-26 19:17:39.829571846 +0100 -@@ -182,6 +182,49 @@ - @Return PVRSRV_ERROR - - ******************************************************************************/ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,2,0) -+int clk_disable_unprepare(struct clk *clk) -+{ -+ return clk_disable(clk); -+} -+#elif LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0) -+int clk_disable_unprepare(struct clk *clk) -+{ -+ res = clk_disable(clk); -+ if (res < 0) -+ return res; -+ -+ res = clk_unprepare(clk); -+ if (ret < 0) -+ return res; -+ -+ return 0; -+} -+#endif -+ -+ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,2,0) -+int clk_prepare_enable(struct clk *clk) -+{ -+ return clk_enable(clk); -+} -+#elif LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0) -+int clk_prepare_enable(struct clk *clk) -+{ -+ res = clk_prepare(clk); -+ if (ret < 0) -+ return res; -+ -+ res = clk_enable(clk); -+ if (res < 0) { -+ clk_unprepare(clk); -+ return res; -+ } -+ -+ return 0; -+} -+#endif -+ - PVRSRV_ERROR EnableSGXClocks(SYS_DATA *psSysData) - { - #if !defined(NO_HARDWARE) -@@ -198,7 +241,7 @@ - - #if !defined(PM_RUNTIME_SUPPORT) - PVR_DPF((PVR_DBG_MESSAGE, "EnableSGXClocks: Enabling SGX Clocks")); -- res=clk_enable(psSysSpecData->psSGX_FCK); -+ res=clk_prepare_enable(psSysSpecData->psSGX_FCK); - if (res < 0) - { - PVR_DPF((PVR_DBG_ERROR, "EnableSGXClocks: Couldn't enable SGX functional clock (%d)", res)); -@@ -324,7 +367,7 @@ - - PVR_DPF((PVR_DBG_MESSAGE, "DisableSGXClocks: Disabling SGX Clocks")); - #if !defined(PM_RUNTIME_SUPPORT) -- clk_disable(psSysSpecData->psSGX_FCK); -+ clk_disable_unprepare(psSysSpecData->psSGX_FCK); - #endif - SysDisableSGXInterrupts(psSysData); - -@@ -540,14 +583,14 @@ - rate = clk_get_rate(psSysSpecData->psGPT11_FCK); - PVR_TRACE(("GPTIMER11 clock is %dMHz", HZ_TO_MHZ(rate))); - -- res = clk_enable(psSysSpecData->psGPT11_FCK); -+ res = clk_prepare_enable(psSysSpecData->psGPT11_FCK); - if (res < 0) - { - PVR_DPF((PVR_DBG_ERROR, "EnableSystemClocks: Couldn't enable GPTIMER11 functional clock (%d)", res)); - goto ExitError; - } - -- res = clk_enable(psSysSpecData->psGPT11_ICK); -+ res = clk_prepare_enable(psSysSpecData->psGPT11_ICK); - if (res < 0) - { - PVR_DPF((PVR_DBG_ERROR, "EnableSystemClocks: Couldn't enable GPTIMER11 interface clock (%d)", res)); -@@ -610,9 +653,9 @@ - - ExitDisableGPT11ICK: - #if defined(PVR_OMAP4_TIMING_PRCM) -- clk_disable(psSysSpecData->psGPT11_ICK); -+ clk_disable_unprepare(psSysSpecData->psGPT11_ICK); - ExitDisableGPT11FCK: -- clk_disable(psSysSpecData->psGPT11_FCK); -+ clk_disable_unprepare(psSysSpecData->psGPT11_FCK); - ExitError: - #endif /* defined(PVR_OMAP4_TIMING_PRCM) */ - eError = PVRSRV_ERROR_CLOCK_REQUEST_FAILED; -@@ -664,9 +707,9 @@ - psSysSpecData->sTimerRegPhysBase.uiAddr = 0; - #endif - #if defined(PVR_OMAP4_TIMING_PRCM) -- clk_disable(psSysSpecData->psGPT11_ICK); -+ clk_disable_unprepare(psSysSpecData->psGPT11_ICK); - -- clk_disable(psSysSpecData->psGPT11_FCK); -+ clk_disable_unprepare(psSysSpecData->psGPT11_FCK); - #endif /* defined(PVR_OMAP4_TIMING_PRCM) */ - } - #endif /* PVR_OMAP_USE_DM_TIMER_API */ diff --git a/package/ti-gfx/ti-gfx-0001-fix-build-omaplfb-linux.patch b/package/ti-gfx/ti-gfx-0001-fix-build-omaplfb-linux.patch deleted file mode 100644 index 002d01c1af..0000000000 --- a/package/ti-gfx/ti-gfx-0001-fix-build-omaplfb-linux.patch +++ /dev/null @@ -1,21 +0,0 @@ -Since commit a73fdc647417699833f22d0f239affe22e062827 in the kernel, -omap_dss_device's 'output' is renamed 'src'. - -Fix build with at least es5.x selected (AM35xx). - -Signed-off-by: Hadrien Boutteville - ---- a/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.c -+++ b/GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux/omaplfb_linux.c -@@ -176,8 +176,10 @@ - #define OMAP_DSS_DRIVER(drv, dev) struct omap_dss_driver *drv = (dev) != NULL ? (dev)->driver : NULL - #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)) - #define OMAP_DSS_MANAGER(man, dev) struct omap_overlay_manager *man = (dev) != NULL ? (dev)->manager : NULL --#else -+#elif (LINUX_VERSION_CODE < KERNEL_VERSION(3,12,0)) - #define OMAP_DSS_MANAGER(man, dev) struct omap_overlay_manager *man = (dev) != NULL ? (dev)->output->manager : NULL -+#else -+#define OMAP_DSS_MANAGER(man, dev) struct omap_overlay_manager *man = (dev) != NULL ? (dev)->src->manager : NULL - #endif - - #define WAIT_FOR_VSYNC(man) ((man)->wait_for_vsync) diff --git a/package/ti-gfx/ti-gfx-km_install_modules.patch b/package/ti-gfx/ti-gfx-km_install_modules.patch deleted file mode 100644 index 2cf6e81557..0000000000 --- a/package/ti-gfx/ti-gfx-km_install_modules.patch +++ /dev/null @@ -1,19 +0,0 @@ -Patch to add modules_install target to the modules makefile. This makes -installation a little easier. - -Signed-off-by: Spenser Gilliland ----- -Index: ti-gfx-4_09_00_01/GFX_Linux_KM/Makefile -=================================================================== ---- ti-gfx-4_09_00_01.orig/GFX_Linux_KM/Makefile 2013-03-07 11:00:11.000000000 -0600 -+++ ti-gfx-4_09_00_01/GFX_Linux_KM/Makefile 2013-05-23 01:36:29.356676281 -0500 -@@ -479,6 +479,9 @@ - all: - $(MAKE) -C $(KERNELDIR) M=`pwd` $* - -+install: -+ $(MAKE) -C $(KERNELDIR) M=`pwd` modules_install -+ - clean: - @find . -name "*.o" -exec rm -r {} \; - @find . -name "*.ko" -exec rm -r {} \; diff --git a/package/tinyhttpd/0001-misc-fixes.patch b/package/tinyhttpd/0001-misc-fixes.patch new file mode 100644 index 0000000000..05d6e50a70 --- /dev/null +++ b/package/tinyhttpd/0001-misc-fixes.patch @@ -0,0 +1,80 @@ +diff -ur tinyhttpd-0.1.0/httpd.c tinyhttpd-0.1.0-patched/httpd.c +--- tinyhttpd-0.1.0/httpd.c 2001-04-21 19:13:13.000000000 -0500 ++++ tinyhttpd-0.1.0-patched/httpd.c 2007-07-02 09:19:27.000000000 -0500 +@@ -4,14 +4,6 @@ + * CSE 4344 (Network concepts), Prof. Zeigler + * University of Texas at Arlington + */ +-/* This program compiles for Sparc Solaris 2.6. +- * To compile for Linux: +- * 1) Comment out the #include line. +- * 2) Comment out the line that defines the variable newthread. +- * 3) Comment out the two lines that run pthread_create(). +- * 4) Uncomment the line that runs accept_request(). +- * 5) Remove -lsocket from the Makefile. +- */ + #include + #include + #include +@@ -22,7 +14,6 @@ + #include + #include + #include +-#include + #include + #include + +@@ -30,7 +21,6 @@ + + #define SERVER_STRING "Server: jdbhttpd/0.1.0\r\n" + +-void accept_request(int); + void bad_request(int); + void cat(int, FILE *); + void cannot_execute(int); +@@ -102,7 +92,7 @@ + } + } + +- sprintf(path, "htdocs%s", url); ++ sprintf(path, "/var/www%s", url); + if (path[strlen(path) - 1] == '/') + strcat(path, "index.html"); + if (stat(path, &st) == -1) { +@@ -475,11 +465,10 @@ + int main(void) + { + int server_sock = -1; +- u_short port = 0; ++ u_short port = 80; + int client_sock = -1; + struct sockaddr_in client_name; + int client_name_len = sizeof(client_name); +- pthread_t newthread; + + server_sock = startup(&port); + printf("httpd running on port %d\n", port); +@@ -491,9 +480,7 @@ + &client_name_len); + if (client_sock == -1) + error_die("accept"); +- /* accept_request(client_sock); */ +- if (pthread_create(&newthread , NULL, accept_request, client_sock) != 0) +- perror("pthread_create"); ++ accept_request(client_sock); + } + + close(server_sock); +diff -ur tinyhttpd-0.1.0/Makefile tinyhttpd-0.1.0-patched/Makefile +--- tinyhttpd-0.1.0/Makefile 2001-04-21 17:03:39.000000000 -0500 ++++ tinyhttpd-0.1.0-patched/Makefile 2007-07-02 10:29:41.000000000 -0500 +@@ -1,7 +1,7 @@ + all: httpd + + httpd: httpd.c +- gcc -W -Wall -lsocket -lpthread -o httpd httpd.c ++ $(CC) $(CFLAGS) $(LDFLAGS) -W -Wall -o httpd httpd.c + + clean: +- rm httpd ++ rm -f httpd diff --git a/package/tinyhttpd/tinyhttpd.patch b/package/tinyhttpd/tinyhttpd.patch deleted file mode 100644 index 05d6e50a70..0000000000 --- a/package/tinyhttpd/tinyhttpd.patch +++ /dev/null @@ -1,80 +0,0 @@ -diff -ur tinyhttpd-0.1.0/httpd.c tinyhttpd-0.1.0-patched/httpd.c ---- tinyhttpd-0.1.0/httpd.c 2001-04-21 19:13:13.000000000 -0500 -+++ tinyhttpd-0.1.0-patched/httpd.c 2007-07-02 09:19:27.000000000 -0500 -@@ -4,14 +4,6 @@ - * CSE 4344 (Network concepts), Prof. Zeigler - * University of Texas at Arlington - */ --/* This program compiles for Sparc Solaris 2.6. -- * To compile for Linux: -- * 1) Comment out the #include line. -- * 2) Comment out the line that defines the variable newthread. -- * 3) Comment out the two lines that run pthread_create(). -- * 4) Uncomment the line that runs accept_request(). -- * 5) Remove -lsocket from the Makefile. -- */ - #include - #include - #include -@@ -22,7 +14,6 @@ - #include - #include - #include --#include - #include - #include - -@@ -30,7 +21,6 @@ - - #define SERVER_STRING "Server: jdbhttpd/0.1.0\r\n" - --void accept_request(int); - void bad_request(int); - void cat(int, FILE *); - void cannot_execute(int); -@@ -102,7 +92,7 @@ - } - } - -- sprintf(path, "htdocs%s", url); -+ sprintf(path, "/var/www%s", url); - if (path[strlen(path) - 1] == '/') - strcat(path, "index.html"); - if (stat(path, &st) == -1) { -@@ -475,11 +465,10 @@ - int main(void) - { - int server_sock = -1; -- u_short port = 0; -+ u_short port = 80; - int client_sock = -1; - struct sockaddr_in client_name; - int client_name_len = sizeof(client_name); -- pthread_t newthread; - - server_sock = startup(&port); - printf("httpd running on port %d\n", port); -@@ -491,9 +480,7 @@ - &client_name_len); - if (client_sock == -1) - error_die("accept"); -- /* accept_request(client_sock); */ -- if (pthread_create(&newthread , NULL, accept_request, client_sock) != 0) -- perror("pthread_create"); -+ accept_request(client_sock); - } - - close(server_sock); -diff -ur tinyhttpd-0.1.0/Makefile tinyhttpd-0.1.0-patched/Makefile ---- tinyhttpd-0.1.0/Makefile 2001-04-21 17:03:39.000000000 -0500 -+++ tinyhttpd-0.1.0-patched/Makefile 2007-07-02 10:29:41.000000000 -0500 -@@ -1,7 +1,7 @@ - all: httpd - - httpd: httpd.c -- gcc -W -Wall -lsocket -lpthread -o httpd httpd.c -+ $(CC) $(CFLAGS) $(LDFLAGS) -W -Wall -o httpd httpd.c - - clean: -- rm httpd -+ rm -f httpd diff --git a/package/tn5250/0001-ssldir.patch b/package/tn5250/0001-ssldir.patch new file mode 100644 index 0000000000..6fc78deef2 --- /dev/null +++ b/package/tn5250/0001-ssldir.patch @@ -0,0 +1,17 @@ +Value is assigned to $with_ssl_dir but used from $with_ssl which is wrong. +Fix configure since it's a one-liner and avoid an autoreconf. + +Signed-off-by: Gustavo Zacarias + +diff -Nura tn5250-0.17.4.orig/configure tn5250-0.17.4/configure +--- tn5250-0.17.4.orig/configure 2014-09-10 08:33:15.689519554 -0300 ++++ tn5250-0.17.4/configure 2014-09-10 08:33:47.428613117 -0300 +@@ -23258,7 +23258,7 @@ + if test "${with_ssl_dir+set}" = set; then + withval=$with_ssl_dir; + if test "$with_ssl_dir" != "no"; then +- checksslinclude "$with_ssl" ++ checksslinclude "$with_ssl_dir" + else + for topdir in /usr/local /usr /usr/pkg /usr/lib /var/ssl /opt; do + for subdir in $topdir $topdir/openssl $topdir/ssl; do diff --git a/package/tn5250/tn5250-01-ssldir.patch b/package/tn5250/tn5250-01-ssldir.patch deleted file mode 100644 index 6fc78deef2..0000000000 --- a/package/tn5250/tn5250-01-ssldir.patch +++ /dev/null @@ -1,17 +0,0 @@ -Value is assigned to $with_ssl_dir but used from $with_ssl which is wrong. -Fix configure since it's a one-liner and avoid an autoreconf. - -Signed-off-by: Gustavo Zacarias - -diff -Nura tn5250-0.17.4.orig/configure tn5250-0.17.4/configure ---- tn5250-0.17.4.orig/configure 2014-09-10 08:33:15.689519554 -0300 -+++ tn5250-0.17.4/configure 2014-09-10 08:33:47.428613117 -0300 -@@ -23258,7 +23258,7 @@ - if test "${with_ssl_dir+set}" = set; then - withval=$with_ssl_dir; - if test "$with_ssl_dir" != "no"; then -- checksslinclude "$with_ssl" -+ checksslinclude "$with_ssl_dir" - else - for topdir in /usr/local /usr /usr/pkg /usr/lib /var/ssl /opt; do - for subdir in $topdir $topdir/openssl $topdir/ssl; do diff --git a/package/trace-cmd/0001-Fix-ptrace-detection.patch b/package/trace-cmd/0001-Fix-ptrace-detection.patch new file mode 100644 index 0000000000..b17d7df0d2 --- /dev/null +++ b/package/trace-cmd/0001-Fix-ptrace-detection.patch @@ -0,0 +1,36 @@ +From 0070081ffe65a4fbe442044ddfcc818593c98e33 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Wed, 30 Oct 2013 22:35:34 +0100 +Subject: [PATCH] Fix ptrace detection + +Ptrace support detection is ignored when CFLAGS is set in command +arguments. Use override in Makefile to add -DWARN_NO_PTRACE and +-DNO_PTRACE in CFLAGS if ptrace is not available. + +Signed-off-by: Romain Naour +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 83329ca..01b4f45 100644 +--- a/Makefile ++++ b/Makefile +@@ -223,12 +223,12 @@ LDFLAGS ?= + ifndef NO_PTRACE + ifneq ($(call try-cc,$(SOURCE_PTRACE),),y) + NO_PTRACE = 1 +- CFLAGS += -DWARN_NO_PTRACE ++ override CFLAGS += -DWARN_NO_PTRACE + endif + endif + + ifdef NO_PTRACE +-CFLAGS += -DNO_PTRACE ++override CFLAGS += -DNO_PTRACE + endif + + # Append required CFLAGS +-- +1.8.1.2 + diff --git a/package/trace-cmd/trace-cmd-0001-Fix-ptrace-detection.patch b/package/trace-cmd/trace-cmd-0001-Fix-ptrace-detection.patch deleted file mode 100644 index b17d7df0d2..0000000000 --- a/package/trace-cmd/trace-cmd-0001-Fix-ptrace-detection.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 0070081ffe65a4fbe442044ddfcc818593c98e33 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Wed, 30 Oct 2013 22:35:34 +0100 -Subject: [PATCH] Fix ptrace detection - -Ptrace support detection is ignored when CFLAGS is set in command -arguments. Use override in Makefile to add -DWARN_NO_PTRACE and --DNO_PTRACE in CFLAGS if ptrace is not available. - -Signed-off-by: Romain Naour ---- - Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Makefile b/Makefile -index 83329ca..01b4f45 100644 ---- a/Makefile -+++ b/Makefile -@@ -223,12 +223,12 @@ LDFLAGS ?= - ifndef NO_PTRACE - ifneq ($(call try-cc,$(SOURCE_PTRACE),),y) - NO_PTRACE = 1 -- CFLAGS += -DWARN_NO_PTRACE -+ override CFLAGS += -DWARN_NO_PTRACE - endif - endif - - ifdef NO_PTRACE --CFLAGS += -DNO_PTRACE -+override CFLAGS += -DNO_PTRACE - endif - - # Append required CFLAGS --- -1.8.1.2 - diff --git a/package/transmission/0001-fix-utypes.patch b/package/transmission/0001-fix-utypes.patch new file mode 100644 index 0000000000..96403a6c36 --- /dev/null +++ b/package/transmission/0001-fix-utypes.patch @@ -0,0 +1,30 @@ +Fix build error "conflicting types for 'UTP_Write'" + +Fetch from: http://www.adminsehow.com/2012/10/how-to-install-transmission-2-71-on-debian-6-0-squeeze/ + +The corresponding upstream bug report (unfixed) can be found here: +https://trac.transmissionbt.com/ticket/5232 + +Signed-off-by: Bernd Kuhls + +--- transmission-2.82.org/third-party/libutp/utypes.h 2013-08-09 04:47:43.000000000 +0200 ++++ transmission-2.82/third-party/libutp/utypes.h 2014-01-02 20:17:18.000000000 +0100 +@@ -35,8 +35,15 @@ + typedef const char * cstr; + typedef char * str; + +-#ifndef __cplusplus +-typedef uint8 bool; +-#endif ++//#ifndef __cplusplus ++//typedef uint8 bool; ++//#endif ++#ifndef __cplusplus ++#ifdef HAVE_STDBOOL_H ++#include ++#else ++typedef uint8 bool; ++#endif ++#endif + + #endif //__UTYPES_H__ diff --git a/package/transmission/transmission-01-fix-utypes.patch b/package/transmission/transmission-01-fix-utypes.patch deleted file mode 100644 index 96403a6c36..0000000000 --- a/package/transmission/transmission-01-fix-utypes.patch +++ /dev/null @@ -1,30 +0,0 @@ -Fix build error "conflicting types for 'UTP_Write'" - -Fetch from: http://www.adminsehow.com/2012/10/how-to-install-transmission-2-71-on-debian-6-0-squeeze/ - -The corresponding upstream bug report (unfixed) can be found here: -https://trac.transmissionbt.com/ticket/5232 - -Signed-off-by: Bernd Kuhls - ---- transmission-2.82.org/third-party/libutp/utypes.h 2013-08-09 04:47:43.000000000 +0200 -+++ transmission-2.82/third-party/libutp/utypes.h 2014-01-02 20:17:18.000000000 +0100 -@@ -35,8 +35,15 @@ - typedef const char * cstr; - typedef char * str; - --#ifndef __cplusplus --typedef uint8 bool; --#endif -+//#ifndef __cplusplus -+//typedef uint8 bool; -+//#endif -+#ifndef __cplusplus -+#ifdef HAVE_STDBOOL_H -+#include -+#else -+typedef uint8 bool; -+#endif -+#endif - - #endif //__UTYPES_H__ diff --git a/package/tslib/0001-enable_raw_module.patch b/package/tslib/0001-enable_raw_module.patch new file mode 100644 index 0000000000..cb89338cf7 --- /dev/null +++ b/package/tslib/0001-enable_raw_module.patch @@ -0,0 +1,14 @@ +Enable raw module by default + +Signed-off-by: Daniel Nyström + +diff -Naur tslib-e000d35a.orig/etc/ts.conf tslib-e000d35a/etc/ts.conf +--- tslib-e000d35a.orig/etc/ts.conf 2010-12-21 18:54:45.000000000 +0100 ++++ tslib-e000d35a/etc/ts.conf 2010-12-21 18:55:03.000000000 +0100 +@@ -1,5 +1,5 @@ + # Uncomment if you wish to use the linux input layer event interface +-# module_raw input ++module_raw input + + # Uncomment if you're using a Sharp Zaurus SL-5500/SL-5000d + # module_raw collie diff --git a/package/tslib/0002-add_finddef_and_inputattach_utils.patch b/package/tslib/0002-add_finddef_and_inputattach_utils.patch new file mode 100644 index 0000000000..dcc6ec75ae --- /dev/null +++ b/package/tslib/0002-add_finddef_and_inputattach_utils.patch @@ -0,0 +1,718 @@ +diff -Naur tslib-org/tests/Makefile.am tslib-1.0/tests/Makefile.am +--- tslib-org/tests/Makefile.am 2006-08-25 00:02:55.000000000 +0300 ++++ tslib-1.0/tests/Makefile.am 2007-05-07 17:39:54.000000000 +0300 +@@ -12,7 +12,7 @@ + AM_CFLAGS = $(DEBUGFLAGS) + INCLUDES = -I$(top_srcdir)/src + +-bin_PROGRAMS = ts_test ts_calibrate ts_print ts_print_raw ts_harvest ++bin_PROGRAMS = ts_test ts_calibrate ts_print ts_print_raw ts_harvest ts_finddev inputattach + + ts_test_SOURCES = ts_test.c fbutils.c fbutils.h font_8x8.c font_8x16.c font.h + ts_test_LDADD = $(top_builddir)/src/libts.la +@@ -27,4 +27,10 @@ + ts_calibrate_LDADD = $(top_builddir)/src/libts.la + + ts_harvest_SOURCES = ts_harvest.c fbutils.c fbutils.h testutils.c testutils.h font_8x8.c font_8x16.c font.h +-ts_harvest_LDADD = $(top_builddir)/src/libts.la ++ts_harvest_LDADD = $(top_builddir)/src/libts.la ++ ++ts_finddev_SOURCES = ts_finddev.c ++ts_finddev_LDADD = $(top_builddir)/src/libts.la ++ ++inputattach_SOURCES = inputattach.c ++inputattach_LDADD = +diff -Naur tslib-org/tests/inputattach.c tslib-1.0/tests/inputattach.c +--- tslib-org/tests/inputattach.c 1970-01-01 02:00:00.000000000 +0200 ++++ tslib-1.0/tests/inputattach.c 2007-05-07 17:36:37.000000000 +0300 +@@ -0,0 +1,611 @@ ++/* ++ * $Id: inputattach.c,v 1.24 2006/02/08 12:19:31 vojtech Exp $ ++ * ++ * Copyright (c) 1999-2000 Vojtech Pavlik ++ * ++ * Sponsored by SuSE ++ * ++ * Twiddler support Copyright (c) 2001 Arndt Schoenewald ++ * Sponsored by Quelltext AG (http://www.quelltext-ag.de), Dortmund, Germany ++ */ ++ ++/* ++ * Input line discipline attach program ++ */ ++ ++/* ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * Should you need to contact me, the author, you can do so either by ++ * e-mail - mail your message to , or by paper mail: ++ * Vojtech Pavlik, Simunkova 1594, Prague 8, 182 00 Czech Republic ++ */ ++ ++/* softa note: ++cvs version is here: ++http://cvs.sourceforge.net/viewcvs.py/ *checkout* /linuxconsole/ruby/utils/inputattach.c ++*/ ++ ++#include ++ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++// softa patch! ++/* ++ * Serio types ++ */ ++#ifndef SERIO_UNKNOWN ++ #define SERIO_UNKNOWN 0x00 ++#endif ++#ifndef SERIO_MSC ++ #define SERIO_MSC 0x01 ++#endif ++#ifndef SERIO_SUN ++ #define SERIO_SUN 0x02 ++#endif ++#ifndef SERIO_MS ++ #define SERIO_MS 0x03 ++#endif ++#ifndef SERIO_MP ++ #define SERIO_MP 0x04 ++#endif ++#ifndef SERIO_MZ ++ #define SERIO_MZ 0x05 ++#endif ++#ifndef SERIO_MZP ++ #define SERIO_MZP 0x06 ++#endif ++#ifndef SERIO_MZPP ++ #define SERIO_MZPP 0x07 ++#endif ++#ifndef SERIO_VSXXXAA ++ #define SERIO_VSXXXAA 0x08 ++#endif ++#ifndef SERIO_SUNKBD ++ #define SERIO_SUNKBD 0x10 ++#endif ++#ifndef SERIO_WARRIOR ++ #define SERIO_WARRIOR 0x18 ++#endif ++#ifndef SERIO_SPACEORB ++ #define SERIO_SPACEORB 0x19 ++#endif ++#ifndef SERIO_MAGELLAN ++ #define SERIO_MAGELLAN 0x1a ++#endif ++#ifndef SERIO_SPACEBALL ++ #define SERIO_SPACEBALL 0x1b ++#endif ++#ifndef SERIO_GUNZE ++ #define SERIO_GUNZE 0x1c ++#endif ++#ifndef SERIO_IFORCE ++ #define SERIO_IFORCE 0x1d ++#endif ++#ifndef SERIO_STINGER ++ #define SERIO_STINGER 0x1e ++#endif ++#ifndef SERIO_NEWTON ++ #define SERIO_NEWTON 0x1f ++#endif ++#ifndef SERIO_STOWAWAY ++ #define SERIO_STOWAWAY 0x20 ++#endif ++#ifndef SERIO_H3600 ++ #define SERIO_H3600 0x21 ++#endif ++#ifndef SERIO_PS2SER ++ #define SERIO_PS2SER 0x22 ++#endif ++#ifndef SERIO_TWIDKBD ++ #define SERIO_TWIDKBD 0x23 ++#endif ++#ifndef SERIO_TWIDJOY ++ #define SERIO_TWIDJOY 0x24 ++#endif ++#ifndef SERIO_HIL ++ #define SERIO_HIL 0x25 ++#endif ++#ifndef SERIO_SNES232 ++ #define SERIO_SNES232 0x26 ++#endif ++#ifndef SERIO_SEMTECH ++ #define SERIO_SEMTECH 0x27 ++#endif ++#ifndef SERIO_LKKBD ++ #define SERIO_LKKBD 0x28 ++#endif ++#ifndef SERIO_ELO ++ #define SERIO_ELO 0x29 ++#endif ++#ifndef SERIO_MICROTOUCH ++ #define SERIO_MICROTOUCH 0x30 ++#endif ++#ifndef SERIO_PENMOUNT ++ #define SERIO_PENMOUNT 0x31 ++#endif ++#ifndef SERIO_TOUCHRIGHT ++ #define SERIO_TOUCHRIGHT 0x32 ++#endif ++#ifndef SERIO_TOUCHWIN ++ #define SERIO_TOUCHWIN 0x33 ++#endif ++// end softa patch! ++ ++int readchar(int fd, unsigned char *c, int timeout) ++{ ++ struct timeval tv; ++ fd_set set; ++ ++ tv.tv_sec = 0; ++ tv.tv_usec = timeout * 1000; ++ ++ FD_ZERO(&set); ++ FD_SET(fd, &set); ++ ++ if (!select(fd+1, &set, NULL, NULL, &tv)) return -1; ++ if (read(fd, c, 1) != 1) return -1; ++ ++ return 0; ++} ++ ++ ++ ++void setline(int fd, int flags, int speed) ++{ ++ struct termios t; ++ ++ tcgetattr(fd, &t); ++ ++ t.c_cflag = flags | CREAD | HUPCL | CLOCAL; ++ t.c_iflag = IGNBRK | IGNPAR; ++ t.c_oflag = 0; ++ t.c_lflag = 0; ++ t.c_cc[VMIN ] = 1; ++ t.c_cc[VTIME] = 0; ++ ++ cfsetispeed(&t, speed); ++ cfsetospeed(&t, speed); ++ ++ tcsetattr(fd, TCSANOW, &t); ++} ++ ++int logitech_command(int fd, char *c) ++{ ++ int i; ++ unsigned char d; ++ for (i = 0; c[i]; i++) { ++ write(fd, c + i, 1); ++ if (readchar(fd, &d, 1000)) ++ return -1; ++ if (c[i] != d) ++ return -1; ++ } ++ return 0; ++} ++ ++int magellan_init(int fd, long *id, long *extra) ++{ ++ write(fd, "m3\rpBB\rz\r", 9); ++ return 0; ++} ++ ++int warrior_init(int fd, long *id, long *extra) ++{ ++ if (logitech_command(fd, "*S")) return -1; ++ setline(fd, CS8, B4800); ++ return 0; ++} ++ ++int spaceball_waitchar(int fd, unsigned char c, unsigned char *d, int timeout) ++{ ++ unsigned char b = 0; ++ ++ while (!readchar(fd, &b, timeout)) { ++ if (b == 0x0a) continue; ++ *d++ = b; ++ if (b == c) break; ++ } ++ ++ *d = 0; ++ ++ return -(b != c); ++} ++ ++int spaceball_waitcmd(int fd, char c, char *d) ++{ ++ int i; ++ ++ for (i = 0; i < 8; i++) { ++ if (spaceball_waitchar(fd, 0x0d, d, 1000)) ++ return -1; ++ if (d[0] == c) ++ return 0; ++ } ++ ++ return -1; ++} ++ ++int spaceball_cmd(int fd, char *c, char *d) ++{ ++ int i; ++ ++ for (i = 0; c[i]; i++) ++ write(fd, c + i, 1); ++ write(fd, "\r", 1); ++ ++ i = spaceball_waitcmd(fd, toupper(c[0]), d); ++ ++ return i; ++} ++ ++#define SPACEBALL_1003 1 ++#define SPACEBALL_2003B 3 ++#define SPACEBALL_2003C 4 ++#define SPACEBALL_3003C 7 ++#define SPACEBALL_4000FLX 8 ++#define SPACEBALL_4000FLX_L 9 ++ ++int spaceball_init(int fd, long *id, long *extra) ++{ ++ char r[64]; ++ ++ if (spaceball_waitchar(fd, 0x11, r, 4000) || ++ spaceball_waitchar(fd, 0x0d, r, 1000)) ++ return -1; ++ ++ if (spaceball_waitcmd(fd, '@', r)) ++ return -1; ++ ++ if (strncmp("@1 Spaceball alive", r, 18)) ++ return -1; ++ ++ if (spaceball_waitcmd(fd, '@', r)) ++ return -1; ++ ++ if (spaceball_cmd(fd, "hm", r)) ++ return -1; ++ ++ if (!strncmp("Hm2003B", r, 7)) ++ *id = SPACEBALL_2003B; ++ if (!strncmp("Hm2003C", r, 7)) ++ *id = SPACEBALL_2003C; ++ if (!strncmp("Hm3003C", r, 7)) ++ *id = SPACEBALL_3003C; ++ ++ if (!strncmp("HvFirmware", r, 10)) { ++ ++ if (spaceball_cmd(fd, "\"", r)) ++ return -1; ++ ++ if (strncmp("\"1 Spaceball 4000 FLX", r, 21)) ++ return -1; ++ ++ if (spaceball_waitcmd(fd, '"', r)) ++ return -1; ++ ++ if (strstr(r, " L ")) ++ *id = SPACEBALL_4000FLX_L; ++ else ++ *id = SPACEBALL_4000FLX; ++ ++ if (spaceball_waitcmd(fd, '"', r)) ++ return -1; ++ ++ if (spaceball_cmd(fd, "YS", r)) ++ return -1; ++ ++ if (spaceball_cmd(fd, "M", r)) ++ return -1; ++ ++ return 0; ++ } ++ ++ if (spaceball_cmd(fd, "P@A@A", r) || ++ spaceball_cmd(fd, "FT@", r) || ++ spaceball_cmd(fd, "MSS", r)) ++ return -1; ++ ++ return 0; ++} ++ ++int stinger_init(int fd, long *id, long *extra) ++{ ++ int i; ++ unsigned char c; ++ unsigned char *response = "\r\n0600520058C272"; ++ ++ if (write(fd, " E5E5", 5) != 5) /* Enable command */ ++ return -1; ++ ++ for (i = 0; i < 16; i++) /* Check for Stinger */ ++ if (readchar(fd, &c, 200) || (c != response[i])) ++ return -1; ++ ++ return 0; ++} ++ ++int mzp_init(int fd, long *id, long *extra) ++{ ++ if (logitech_command(fd, "*X*q")) return -1; ++ setline(fd, CS8, B9600); ++ return 0; ++} ++ ++int newton_init(int fd, long *id, long *extra) ++{ ++ int i; ++ unsigned char c; ++ unsigned char response[35] = ++ { 0x16, 0x10, 0x02, 0x64, 0x5f, 0x69, 0x64, 0x00, ++ 0x00, 0x00, 0x0c, 0x6b, 0x79, 0x62, 0x64, 0x61, ++ 0x70, 0x70, 0x6c, 0x00, 0x00, 0x00, 0x01, 0x6e, ++ 0x6f, 0x66, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x10, ++ 0x03, 0xdd, 0xe7 }; ++ ++ for (i = 0; i < 35; i++) ++ if (readchar(fd, &c, 400) || (c != response[i])) ++ return -1; ++ ++ return 0; ++} ++ ++int twiddler_init(int fd, long *id, long *extra) ++{ ++ unsigned char c[10]; ++ int count, line; ++ ++ /* Turn DTR off, otherwise the Twiddler won't send any data. */ ++ if (ioctl(fd, TIOCMGET, &line)) return -1; ++ line &= ~TIOCM_DTR; ++ if (ioctl(fd, TIOCMSET, &line)) return -1; ++ ++ /* Check whether the device on the serial line is the Twiddler. ++ * ++ * The Twiddler sends data packets of 5 bytes which have the following ++ * properties: the MSB is 0 on the first and 1 on all other bytes, and ++ * the high order nibble of the last byte is always 0x8. ++ * ++ * We read and check two of those 5 byte packets to be sure that we ++ * are indeed talking to a Twiddler. */ ++ ++ /* Read at most 5 bytes until we find one with the MSB set to 0 */ ++ for (count = 0; count < 5; count++) { ++ if (readchar(fd, c+0, 500)) return -1; ++ if ((c[0] & 0x80) == 0) break; ++ } ++ ++ if (count == 5) { ++ /* Could not find header byte in data stream */ ++ return -1; ++ } ++ ++ /* Read remaining 4 bytes plus the full next data packet */ ++ for (count = 1; count < 10; count++) { ++ if (readchar(fd, c+count, 500)) return -1; ++ } ++ ++ /* Check whether the bytes of both data packets obey the rules */ ++ for (count = 1; count < 10; count++) { ++ if ((count % 5 == 0 && (c[count] & 0x80) != 0) ++ || (count % 5 == 4 && (c[count] & 0xF0) != 0x80) ++ || (count % 5 != 0 && (c[count] & 0x80) != 0x80)) { ++ /* Invalid byte in data packet */ ++ return -1; ++ } ++ } ++ ++ return 0; ++} ++ ++int penmount_init(int fd, long *id, long *extra) ++{ ++ unsigned char init_cmd[5] = { 0xF2, 0x00, 0x00, 0x00, 0x00 }; ++ unsigned char start_cmd[5] = { 0xF1, 0x00, 0x00, 0x00, 0x00 }; ++ unsigned char c[10]; ++ int count; ++ ++ /* try to initialize device */ ++ if (write( fd, init_cmd, 5 ) != 5) ++ return -1; ++ ++ /* read the responce */ ++ for (count = 0; count < 5; count ++) { ++ if (readchar(fd, c+0, 500)) return -1; ++ if (c[0] == 0xf2) break; ++ } ++ ++ if (readchar(fd, c+1, 500)) return -1; ++ if (c[1] != 0xd9) return -1; ++ ++ if (readchar(fd, c+2, 500)) return -1; ++ if (c[2] != 0x0a) return -1; ++ ++ /* the device is present! start it! */ ++ if (write( fd, start_cmd, 5 ) != 5) ++ return -1; ++ ++ return 0; ++} ++ ++int dump_init(int fd, long *id, long *extra) ++{ ++ unsigned char c, o = 0; ++ ++ c = 0x80; ++ ++ if (write(fd, &c, 1) != 1) /* Enable command */ ++ return -1; ++ ++ while (1) ++ if (!readchar(fd, &c, 1)) { ++ printf("%02x (%c) ", c, ((c > 32) && (c < 127)) ? c : 'x'); ++ o = 1; ++ } else { ++ if (o) { ++ printf("\n"); ++ o = 0; ++ } ++ } ++} ++ ++struct input_types { ++ char name[16]; ++ char name2[16]; ++ int speed; ++ int flags; ++ unsigned long type; ++ unsigned long id; ++ unsigned long extra; ++ int flush; ++ int (*init)(int fd, long *id, long *extra); ++}; ++ ++struct input_types input_types[] = { ++ ++{ "--sunkbd", "-skb", B1200, CS8, SERIO_SUNKBD, 0, 0, 1, NULL }, ++{ "--lkkbd", "-lk", B4800, CS8|CSTOPB, SERIO_LKKBD, 0, 0, 1, NULL }, ++{ "--vsxxx-aa", "-vs", B4800, CS8|CSTOPB|PARENB|PARODD,SERIO_VSXXXAA, 0, 0, 1, NULL }, ++{ "--spaceorb", "-orb", B9600, CS8, SERIO_SPACEORB, 0, 0, 1, NULL }, ++{ "--spaceball", "-sbl", B9600, CS8, SERIO_SPACEBALL,0, 0, 0, spaceball_init }, ++{ "--magellan", "-mag", B9600, CS8 | CSTOPB | CRTSCTS, SERIO_MAGELLAN, 0, 0, 1, magellan_init }, ++{ "--warrior", "-war", B1200, CS7 | CSTOPB, SERIO_WARRIOR, 0, 0, 1, warrior_init }, ++{ "--stinger", "-sting", B1200, CS8, SERIO_STINGER, 0, 0, 1, stinger_init }, ++{ "--mousesystems", "-msc", B1200, CS8, SERIO_MSC, 0, 0x01, 1, NULL }, ++{ "--sunmouse", "-sun", B1200, CS8, SERIO_SUN, 0, 0x01, 1, NULL }, ++{ "--microsoft", "-bare", B1200, CS7, SERIO_MS, 0, 0, 1, NULL }, ++{ "--mshack", "-ms", B1200, CS7, SERIO_MS, 0, 0x01, 1, NULL }, ++{ "--mouseman", "-mman", B1200, CS7, SERIO_MP, 0, 0x01, 1, NULL }, ++{ "--intellimouse", "-ms3", B1200, CS7, SERIO_MZ, 0, 0x11, 1, NULL }, ++{ "--mmwheel", "-mmw", B1200, CS7 | CSTOPB, SERIO_MZP, 0, 0x13, 1, mzp_init }, ++{ "--iforce", "-ifor", B38400, CS8, SERIO_IFORCE, 0, 0, 0, NULL }, ++{ "--newtonkbd", "-newt", B9600, CS8, SERIO_NEWTON, 0, 0, 0, newton_init }, ++{ "--h3600ts", "-ipaq", B115200, CS8, SERIO_H3600, 0, 0, 0, NULL }, ++{ "--stowawaykbd", "-ipaqkbd", B115200, CS8, SERIO_STOWAWAY, 0, 0, 0, NULL }, ++{ "--ps2serkbd", "-ps2ser", B1200, CS8, SERIO_PS2SER, 0, 0, 1, NULL }, ++{ "--twiddler", "-twid", B2400, CS8, SERIO_TWIDKBD, 0, 0, 0, twiddler_init }, ++{ "--twiddler-joy", "-twidjoy", B2400, CS8, SERIO_TWIDJOY, 0, 0, 0, twiddler_init }, ++{ "--elotouch", "-elo", B9600, CS8 | CRTSCTS, SERIO_ELO, 0, 0, 0, NULL }, ++{ "--elo4002", "-elo6b", B9600, CS8 | CRTSCTS, SERIO_ELO, 1, 0, 0, NULL }, ++{ "--elo271-140", "-elo4b", B9600, CS8 | CRTSCTS, SERIO_ELO, 2, 0, 0, NULL }, ++{ "--elo261-280", "-elo3b", B9600, CS8 | CRTSCTS, SERIO_ELO, 3, 0, 0, NULL }, ++{ "--dump", "-dump", B2400, CS8, 0, 0, 0, 0, dump_init }, ++{ "--dmc9000", "-dmc", B19200, CS8, SERIO_PENMOUNT, 0, 0, 0, penmount_init }, ++{ "", "", 0, 0 } ++ ++}; ++ ++int main(int argc, char **argv) ++{ ++ unsigned long devt; ++ int ldisc; ++ int type; ++ long id, extra; ++ int fd; ++ char c; ++ ++ if (argc < 2 || argc > 3 || !strcmp("--help", argv[1])) { ++ puts(""); ++ puts("Usage: inputttach "); ++ puts(""); ++ puts("Modes:"); ++ puts(" --sunkbd -skb Sun Type 4 and Type 5 keyboards"); ++ puts(" --lkkbd -lk DEC LK201 / LK401 keyboards"); ++ puts(" --vsxxx-aa -vs DEC VSXXX-AA / VSXXX-GA mouse and VSXXX-AB tablet"); ++ puts(" --spaceorb -orb SpaceOrb 360 / SpaceBall Avenger"); ++ puts(" --spaceball -sbl SpaceBall 2003 / 3003 / 4000 FLX"); ++ puts(" --magellan -mag Magellan / SpaceMouse"); ++ puts(" --warrior -war WingMan Warrior"); ++ puts(" --stinger -stng Gravis Stinger"); ++ puts(" --mousesystems -msc 3-button Mouse Systems mice"); ++ puts(" --sunmouse -sun 3-button Sun mice"); ++ puts(" --microsoft -bare 2-button Microsoft mice"); ++ puts(" --mshack -ms 3-button mice in Microsoft mode"); ++ puts(" --mouseman -mman 3-button Logitech and Genius mice"); ++ puts(" --intellimouse -ms3 Microsoft IntelliMouse"); ++ puts(" --mmwheel -mmw Logitech mice with 4-5 buttons or wheel"); ++ puts(" --iforce -ifor I-Force joysticks and wheels"); ++ puts(" --h3600ts -ipaq Ipaq h3600 touchscreen"); ++ puts(" --stowawaykbd -ipaqkbd Stowaway keyboard"); ++ puts(" --ps2serkbd -ps2ser PS/2 via serial keyboard"); ++ puts(" --twiddler -twid Handykey Twiddler chording keyboard"); ++ puts(" --twiddler-joy -twidjoy Handykey Twiddler used as a joystick"); ++ puts(" --dmc9000 -dmc DMC9000/Penpount touchscreen"); ++ puts(""); ++ return 1; ++ } ++ ++ for (type = 0; input_types[type].speed; type++) { ++ if (!strncasecmp(argv[1], input_types[type].name, 16) || ++ !strncasecmp(argv[1], input_types[type].name2, 16)) ++ break; ++ } ++ ++ if (!input_types[type].speed) { ++ fprintf(stderr, "inputattach: invalid mode\n"); ++ return 1; ++ } ++ ++ if ((fd = open(argv[2], O_RDWR | O_NOCTTY | O_NONBLOCK)) < 0) { ++ perror("inputattach"); ++ return 1; ++ } ++ ++ setline(fd, input_types[type].flags, input_types[type].speed); ++ ++ if (input_types[type].flush) ++ while (!readchar(fd, &c, 100)); ++ ++ id = input_types[type].id; ++ extra = input_types[type].extra; ++ ++ if (input_types[type].init && input_types[type].init(fd, &id, &extra)) { ++ fprintf(stderr, "inputattach: device initialization failed\n"); ++ return 1; ++ } ++ ++ ldisc = N_MOUSE; ++ if(ioctl(fd, TIOCSETD, &ldisc)) { ++ fprintf(stderr, "inputattach: can't set line discipline\n"); ++ return 1; ++ } ++ ++ devt = input_types[type].type | (id << 8) | (extra << 16); ++ ++ if(ioctl(fd, SPIOCSTYPE, &devt)) { ++ fprintf(stderr, "inputattach: can't set device type\n"); ++ return 1; ++ } ++ ++ read(fd, NULL, 0); ++ ++ ldisc = 0; ++ ioctl(fd, TIOCSETD, &ldisc); ++ close(fd); ++ ++ return 0; ++} +diff -Naur tslib-org/tests/ts_finddev.c tslib-1.0/tests/ts_finddev.c +--- tslib-org/tests/ts_finddev.c 1970-01-01 02:00:00.000000000 +0200 ++++ tslib-1.0/tests/ts_finddev.c 2007-05-07 17:36:37.000000000 +0300 +@@ -0,0 +1,75 @@ ++/* ++ * tslib/src/ts_print.c ++ * ++ * Derived from tslib/src/ts_test.c by Douglas Lowder ++ * Just prints touchscreen events -- does not paint them on framebuffer ++ * ++ * This file is placed under the GPL. Please see the file ++ * COPYING for more details. ++ * ++ * Basic test program for touchscreen library. ++ */ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "tslib.h" ++ ++void usage( int argc, char** argv ) { ++ printf( "Usage: %s device_name wait_for_sec\n", argv[0] ); ++ printf( "\tdevice_name - tdevice to probe, example /dev/input/event0\n" ); ++ printf( "\twait_for_sec - wait seconds for touch event, if 0 - dont wait!\n" ); ++ printf( "\tReturn codes:\n" ); ++ printf( "\t 0 - timeout expired without receiving event.\n" ); ++ printf( "\t But this maybe is TouchScreen.\n" ); ++ printf( "\t -1 - this is NOT TouchScreen device!\n" ); ++ printf( "\t 1 - this is TouchScreen for shure!\n" ); ++ exit(-1); ++} ++ ++void alarm_handler( int sig ) { ++ // time is expired! ++ exit(0); ++} ++ ++int main( int argc, char** argv ) ++{ ++ struct tsdev *ts; ++ struct ts_sample samp; ++ char *tsdevice=NULL; ++ int waitsec; ++ int ret; ++ ++ if (argc != 3) ++ usage( argc, argv ); ++ ++ tsdevice = argv[1]; ++ waitsec = atoi( argv[2] ); ++ if (waitsec < 0) ++ usage( argc, argv ); ++ ++ ts = ts_open( tsdevice, 0 ); ++ if (!ts) ++ return -1; ++ if (ts_config(ts)) ++ return -1; ++ ++ if (!waitsec) { ++ return 0; ++ } ++ ++ printf( "Probe device %s, Please Touch Screen Anywhere in %i seconds! ... \n", tsdevice, waitsec ); ++ signal( SIGALRM, alarm_handler ); ++ alarm( waitsec ); ++ ret = ts_read_raw(ts, &samp, 1 ); ++ if (ret) ++ return 1; ++ ++ return -1; ++} diff --git a/package/tslib/tslib-enable_raw_module.patch b/package/tslib/tslib-enable_raw_module.patch deleted file mode 100644 index cb89338cf7..0000000000 --- a/package/tslib/tslib-enable_raw_module.patch +++ /dev/null @@ -1,14 +0,0 @@ -Enable raw module by default - -Signed-off-by: Daniel Nyström - -diff -Naur tslib-e000d35a.orig/etc/ts.conf tslib-e000d35a/etc/ts.conf ---- tslib-e000d35a.orig/etc/ts.conf 2010-12-21 18:54:45.000000000 +0100 -+++ tslib-e000d35a/etc/ts.conf 2010-12-21 18:55:03.000000000 +0100 -@@ -1,5 +1,5 @@ - # Uncomment if you wish to use the linux input layer event interface --# module_raw input -+module_raw input - - # Uncomment if you're using a Sharp Zaurus SL-5500/SL-5000d - # module_raw collie diff --git a/package/tslib/tslib_add_finddef_and_inputattach_utils.patch b/package/tslib/tslib_add_finddef_and_inputattach_utils.patch deleted file mode 100644 index dcc6ec75ae..0000000000 --- a/package/tslib/tslib_add_finddef_and_inputattach_utils.patch +++ /dev/null @@ -1,718 +0,0 @@ -diff -Naur tslib-org/tests/Makefile.am tslib-1.0/tests/Makefile.am ---- tslib-org/tests/Makefile.am 2006-08-25 00:02:55.000000000 +0300 -+++ tslib-1.0/tests/Makefile.am 2007-05-07 17:39:54.000000000 +0300 -@@ -12,7 +12,7 @@ - AM_CFLAGS = $(DEBUGFLAGS) - INCLUDES = -I$(top_srcdir)/src - --bin_PROGRAMS = ts_test ts_calibrate ts_print ts_print_raw ts_harvest -+bin_PROGRAMS = ts_test ts_calibrate ts_print ts_print_raw ts_harvest ts_finddev inputattach - - ts_test_SOURCES = ts_test.c fbutils.c fbutils.h font_8x8.c font_8x16.c font.h - ts_test_LDADD = $(top_builddir)/src/libts.la -@@ -27,4 +27,10 @@ - ts_calibrate_LDADD = $(top_builddir)/src/libts.la - - ts_harvest_SOURCES = ts_harvest.c fbutils.c fbutils.h testutils.c testutils.h font_8x8.c font_8x16.c font.h --ts_harvest_LDADD = $(top_builddir)/src/libts.la -+ts_harvest_LDADD = $(top_builddir)/src/libts.la -+ -+ts_finddev_SOURCES = ts_finddev.c -+ts_finddev_LDADD = $(top_builddir)/src/libts.la -+ -+inputattach_SOURCES = inputattach.c -+inputattach_LDADD = -diff -Naur tslib-org/tests/inputattach.c tslib-1.0/tests/inputattach.c ---- tslib-org/tests/inputattach.c 1970-01-01 02:00:00.000000000 +0200 -+++ tslib-1.0/tests/inputattach.c 2007-05-07 17:36:37.000000000 +0300 -@@ -0,0 +1,611 @@ -+/* -+ * $Id: inputattach.c,v 1.24 2006/02/08 12:19:31 vojtech Exp $ -+ * -+ * Copyright (c) 1999-2000 Vojtech Pavlik -+ * -+ * Sponsored by SuSE -+ * -+ * Twiddler support Copyright (c) 2001 Arndt Schoenewald -+ * Sponsored by Quelltext AG (http://www.quelltext-ag.de), Dortmund, Germany -+ */ -+ -+/* -+ * Input line discipline attach program -+ */ -+ -+/* -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -+ * -+ * Should you need to contact me, the author, you can do so either by -+ * e-mail - mail your message to , or by paper mail: -+ * Vojtech Pavlik, Simunkova 1594, Prague 8, 182 00 Czech Republic -+ */ -+ -+/* softa note: -+cvs version is here: -+http://cvs.sourceforge.net/viewcvs.py/ *checkout* /linuxconsole/ruby/utils/inputattach.c -+*/ -+ -+#include -+ -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+// softa patch! -+/* -+ * Serio types -+ */ -+#ifndef SERIO_UNKNOWN -+ #define SERIO_UNKNOWN 0x00 -+#endif -+#ifndef SERIO_MSC -+ #define SERIO_MSC 0x01 -+#endif -+#ifndef SERIO_SUN -+ #define SERIO_SUN 0x02 -+#endif -+#ifndef SERIO_MS -+ #define SERIO_MS 0x03 -+#endif -+#ifndef SERIO_MP -+ #define SERIO_MP 0x04 -+#endif -+#ifndef SERIO_MZ -+ #define SERIO_MZ 0x05 -+#endif -+#ifndef SERIO_MZP -+ #define SERIO_MZP 0x06 -+#endif -+#ifndef SERIO_MZPP -+ #define SERIO_MZPP 0x07 -+#endif -+#ifndef SERIO_VSXXXAA -+ #define SERIO_VSXXXAA 0x08 -+#endif -+#ifndef SERIO_SUNKBD -+ #define SERIO_SUNKBD 0x10 -+#endif -+#ifndef SERIO_WARRIOR -+ #define SERIO_WARRIOR 0x18 -+#endif -+#ifndef SERIO_SPACEORB -+ #define SERIO_SPACEORB 0x19 -+#endif -+#ifndef SERIO_MAGELLAN -+ #define SERIO_MAGELLAN 0x1a -+#endif -+#ifndef SERIO_SPACEBALL -+ #define SERIO_SPACEBALL 0x1b -+#endif -+#ifndef SERIO_GUNZE -+ #define SERIO_GUNZE 0x1c -+#endif -+#ifndef SERIO_IFORCE -+ #define SERIO_IFORCE 0x1d -+#endif -+#ifndef SERIO_STINGER -+ #define SERIO_STINGER 0x1e -+#endif -+#ifndef SERIO_NEWTON -+ #define SERIO_NEWTON 0x1f -+#endif -+#ifndef SERIO_STOWAWAY -+ #define SERIO_STOWAWAY 0x20 -+#endif -+#ifndef SERIO_H3600 -+ #define SERIO_H3600 0x21 -+#endif -+#ifndef SERIO_PS2SER -+ #define SERIO_PS2SER 0x22 -+#endif -+#ifndef SERIO_TWIDKBD -+ #define SERIO_TWIDKBD 0x23 -+#endif -+#ifndef SERIO_TWIDJOY -+ #define SERIO_TWIDJOY 0x24 -+#endif -+#ifndef SERIO_HIL -+ #define SERIO_HIL 0x25 -+#endif -+#ifndef SERIO_SNES232 -+ #define SERIO_SNES232 0x26 -+#endif -+#ifndef SERIO_SEMTECH -+ #define SERIO_SEMTECH 0x27 -+#endif -+#ifndef SERIO_LKKBD -+ #define SERIO_LKKBD 0x28 -+#endif -+#ifndef SERIO_ELO -+ #define SERIO_ELO 0x29 -+#endif -+#ifndef SERIO_MICROTOUCH -+ #define SERIO_MICROTOUCH 0x30 -+#endif -+#ifndef SERIO_PENMOUNT -+ #define SERIO_PENMOUNT 0x31 -+#endif -+#ifndef SERIO_TOUCHRIGHT -+ #define SERIO_TOUCHRIGHT 0x32 -+#endif -+#ifndef SERIO_TOUCHWIN -+ #define SERIO_TOUCHWIN 0x33 -+#endif -+// end softa patch! -+ -+int readchar(int fd, unsigned char *c, int timeout) -+{ -+ struct timeval tv; -+ fd_set set; -+ -+ tv.tv_sec = 0; -+ tv.tv_usec = timeout * 1000; -+ -+ FD_ZERO(&set); -+ FD_SET(fd, &set); -+ -+ if (!select(fd+1, &set, NULL, NULL, &tv)) return -1; -+ if (read(fd, c, 1) != 1) return -1; -+ -+ return 0; -+} -+ -+ -+ -+void setline(int fd, int flags, int speed) -+{ -+ struct termios t; -+ -+ tcgetattr(fd, &t); -+ -+ t.c_cflag = flags | CREAD | HUPCL | CLOCAL; -+ t.c_iflag = IGNBRK | IGNPAR; -+ t.c_oflag = 0; -+ t.c_lflag = 0; -+ t.c_cc[VMIN ] = 1; -+ t.c_cc[VTIME] = 0; -+ -+ cfsetispeed(&t, speed); -+ cfsetospeed(&t, speed); -+ -+ tcsetattr(fd, TCSANOW, &t); -+} -+ -+int logitech_command(int fd, char *c) -+{ -+ int i; -+ unsigned char d; -+ for (i = 0; c[i]; i++) { -+ write(fd, c + i, 1); -+ if (readchar(fd, &d, 1000)) -+ return -1; -+ if (c[i] != d) -+ return -1; -+ } -+ return 0; -+} -+ -+int magellan_init(int fd, long *id, long *extra) -+{ -+ write(fd, "m3\rpBB\rz\r", 9); -+ return 0; -+} -+ -+int warrior_init(int fd, long *id, long *extra) -+{ -+ if (logitech_command(fd, "*S")) return -1; -+ setline(fd, CS8, B4800); -+ return 0; -+} -+ -+int spaceball_waitchar(int fd, unsigned char c, unsigned char *d, int timeout) -+{ -+ unsigned char b = 0; -+ -+ while (!readchar(fd, &b, timeout)) { -+ if (b == 0x0a) continue; -+ *d++ = b; -+ if (b == c) break; -+ } -+ -+ *d = 0; -+ -+ return -(b != c); -+} -+ -+int spaceball_waitcmd(int fd, char c, char *d) -+{ -+ int i; -+ -+ for (i = 0; i < 8; i++) { -+ if (spaceball_waitchar(fd, 0x0d, d, 1000)) -+ return -1; -+ if (d[0] == c) -+ return 0; -+ } -+ -+ return -1; -+} -+ -+int spaceball_cmd(int fd, char *c, char *d) -+{ -+ int i; -+ -+ for (i = 0; c[i]; i++) -+ write(fd, c + i, 1); -+ write(fd, "\r", 1); -+ -+ i = spaceball_waitcmd(fd, toupper(c[0]), d); -+ -+ return i; -+} -+ -+#define SPACEBALL_1003 1 -+#define SPACEBALL_2003B 3 -+#define SPACEBALL_2003C 4 -+#define SPACEBALL_3003C 7 -+#define SPACEBALL_4000FLX 8 -+#define SPACEBALL_4000FLX_L 9 -+ -+int spaceball_init(int fd, long *id, long *extra) -+{ -+ char r[64]; -+ -+ if (spaceball_waitchar(fd, 0x11, r, 4000) || -+ spaceball_waitchar(fd, 0x0d, r, 1000)) -+ return -1; -+ -+ if (spaceball_waitcmd(fd, '@', r)) -+ return -1; -+ -+ if (strncmp("@1 Spaceball alive", r, 18)) -+ return -1; -+ -+ if (spaceball_waitcmd(fd, '@', r)) -+ return -1; -+ -+ if (spaceball_cmd(fd, "hm", r)) -+ return -1; -+ -+ if (!strncmp("Hm2003B", r, 7)) -+ *id = SPACEBALL_2003B; -+ if (!strncmp("Hm2003C", r, 7)) -+ *id = SPACEBALL_2003C; -+ if (!strncmp("Hm3003C", r, 7)) -+ *id = SPACEBALL_3003C; -+ -+ if (!strncmp("HvFirmware", r, 10)) { -+ -+ if (spaceball_cmd(fd, "\"", r)) -+ return -1; -+ -+ if (strncmp("\"1 Spaceball 4000 FLX", r, 21)) -+ return -1; -+ -+ if (spaceball_waitcmd(fd, '"', r)) -+ return -1; -+ -+ if (strstr(r, " L ")) -+ *id = SPACEBALL_4000FLX_L; -+ else -+ *id = SPACEBALL_4000FLX; -+ -+ if (spaceball_waitcmd(fd, '"', r)) -+ return -1; -+ -+ if (spaceball_cmd(fd, "YS", r)) -+ return -1; -+ -+ if (spaceball_cmd(fd, "M", r)) -+ return -1; -+ -+ return 0; -+ } -+ -+ if (spaceball_cmd(fd, "P@A@A", r) || -+ spaceball_cmd(fd, "FT@", r) || -+ spaceball_cmd(fd, "MSS", r)) -+ return -1; -+ -+ return 0; -+} -+ -+int stinger_init(int fd, long *id, long *extra) -+{ -+ int i; -+ unsigned char c; -+ unsigned char *response = "\r\n0600520058C272"; -+ -+ if (write(fd, " E5E5", 5) != 5) /* Enable command */ -+ return -1; -+ -+ for (i = 0; i < 16; i++) /* Check for Stinger */ -+ if (readchar(fd, &c, 200) || (c != response[i])) -+ return -1; -+ -+ return 0; -+} -+ -+int mzp_init(int fd, long *id, long *extra) -+{ -+ if (logitech_command(fd, "*X*q")) return -1; -+ setline(fd, CS8, B9600); -+ return 0; -+} -+ -+int newton_init(int fd, long *id, long *extra) -+{ -+ int i; -+ unsigned char c; -+ unsigned char response[35] = -+ { 0x16, 0x10, 0x02, 0x64, 0x5f, 0x69, 0x64, 0x00, -+ 0x00, 0x00, 0x0c, 0x6b, 0x79, 0x62, 0x64, 0x61, -+ 0x70, 0x70, 0x6c, 0x00, 0x00, 0x00, 0x01, 0x6e, -+ 0x6f, 0x66, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x10, -+ 0x03, 0xdd, 0xe7 }; -+ -+ for (i = 0; i < 35; i++) -+ if (readchar(fd, &c, 400) || (c != response[i])) -+ return -1; -+ -+ return 0; -+} -+ -+int twiddler_init(int fd, long *id, long *extra) -+{ -+ unsigned char c[10]; -+ int count, line; -+ -+ /* Turn DTR off, otherwise the Twiddler won't send any data. */ -+ if (ioctl(fd, TIOCMGET, &line)) return -1; -+ line &= ~TIOCM_DTR; -+ if (ioctl(fd, TIOCMSET, &line)) return -1; -+ -+ /* Check whether the device on the serial line is the Twiddler. -+ * -+ * The Twiddler sends data packets of 5 bytes which have the following -+ * properties: the MSB is 0 on the first and 1 on all other bytes, and -+ * the high order nibble of the last byte is always 0x8. -+ * -+ * We read and check two of those 5 byte packets to be sure that we -+ * are indeed talking to a Twiddler. */ -+ -+ /* Read at most 5 bytes until we find one with the MSB set to 0 */ -+ for (count = 0; count < 5; count++) { -+ if (readchar(fd, c+0, 500)) return -1; -+ if ((c[0] & 0x80) == 0) break; -+ } -+ -+ if (count == 5) { -+ /* Could not find header byte in data stream */ -+ return -1; -+ } -+ -+ /* Read remaining 4 bytes plus the full next data packet */ -+ for (count = 1; count < 10; count++) { -+ if (readchar(fd, c+count, 500)) return -1; -+ } -+ -+ /* Check whether the bytes of both data packets obey the rules */ -+ for (count = 1; count < 10; count++) { -+ if ((count % 5 == 0 && (c[count] & 0x80) != 0) -+ || (count % 5 == 4 && (c[count] & 0xF0) != 0x80) -+ || (count % 5 != 0 && (c[count] & 0x80) != 0x80)) { -+ /* Invalid byte in data packet */ -+ return -1; -+ } -+ } -+ -+ return 0; -+} -+ -+int penmount_init(int fd, long *id, long *extra) -+{ -+ unsigned char init_cmd[5] = { 0xF2, 0x00, 0x00, 0x00, 0x00 }; -+ unsigned char start_cmd[5] = { 0xF1, 0x00, 0x00, 0x00, 0x00 }; -+ unsigned char c[10]; -+ int count; -+ -+ /* try to initialize device */ -+ if (write( fd, init_cmd, 5 ) != 5) -+ return -1; -+ -+ /* read the responce */ -+ for (count = 0; count < 5; count ++) { -+ if (readchar(fd, c+0, 500)) return -1; -+ if (c[0] == 0xf2) break; -+ } -+ -+ if (readchar(fd, c+1, 500)) return -1; -+ if (c[1] != 0xd9) return -1; -+ -+ if (readchar(fd, c+2, 500)) return -1; -+ if (c[2] != 0x0a) return -1; -+ -+ /* the device is present! start it! */ -+ if (write( fd, start_cmd, 5 ) != 5) -+ return -1; -+ -+ return 0; -+} -+ -+int dump_init(int fd, long *id, long *extra) -+{ -+ unsigned char c, o = 0; -+ -+ c = 0x80; -+ -+ if (write(fd, &c, 1) != 1) /* Enable command */ -+ return -1; -+ -+ while (1) -+ if (!readchar(fd, &c, 1)) { -+ printf("%02x (%c) ", c, ((c > 32) && (c < 127)) ? c : 'x'); -+ o = 1; -+ } else { -+ if (o) { -+ printf("\n"); -+ o = 0; -+ } -+ } -+} -+ -+struct input_types { -+ char name[16]; -+ char name2[16]; -+ int speed; -+ int flags; -+ unsigned long type; -+ unsigned long id; -+ unsigned long extra; -+ int flush; -+ int (*init)(int fd, long *id, long *extra); -+}; -+ -+struct input_types input_types[] = { -+ -+{ "--sunkbd", "-skb", B1200, CS8, SERIO_SUNKBD, 0, 0, 1, NULL }, -+{ "--lkkbd", "-lk", B4800, CS8|CSTOPB, SERIO_LKKBD, 0, 0, 1, NULL }, -+{ "--vsxxx-aa", "-vs", B4800, CS8|CSTOPB|PARENB|PARODD,SERIO_VSXXXAA, 0, 0, 1, NULL }, -+{ "--spaceorb", "-orb", B9600, CS8, SERIO_SPACEORB, 0, 0, 1, NULL }, -+{ "--spaceball", "-sbl", B9600, CS8, SERIO_SPACEBALL,0, 0, 0, spaceball_init }, -+{ "--magellan", "-mag", B9600, CS8 | CSTOPB | CRTSCTS, SERIO_MAGELLAN, 0, 0, 1, magellan_init }, -+{ "--warrior", "-war", B1200, CS7 | CSTOPB, SERIO_WARRIOR, 0, 0, 1, warrior_init }, -+{ "--stinger", "-sting", B1200, CS8, SERIO_STINGER, 0, 0, 1, stinger_init }, -+{ "--mousesystems", "-msc", B1200, CS8, SERIO_MSC, 0, 0x01, 1, NULL }, -+{ "--sunmouse", "-sun", B1200, CS8, SERIO_SUN, 0, 0x01, 1, NULL }, -+{ "--microsoft", "-bare", B1200, CS7, SERIO_MS, 0, 0, 1, NULL }, -+{ "--mshack", "-ms", B1200, CS7, SERIO_MS, 0, 0x01, 1, NULL }, -+{ "--mouseman", "-mman", B1200, CS7, SERIO_MP, 0, 0x01, 1, NULL }, -+{ "--intellimouse", "-ms3", B1200, CS7, SERIO_MZ, 0, 0x11, 1, NULL }, -+{ "--mmwheel", "-mmw", B1200, CS7 | CSTOPB, SERIO_MZP, 0, 0x13, 1, mzp_init }, -+{ "--iforce", "-ifor", B38400, CS8, SERIO_IFORCE, 0, 0, 0, NULL }, -+{ "--newtonkbd", "-newt", B9600, CS8, SERIO_NEWTON, 0, 0, 0, newton_init }, -+{ "--h3600ts", "-ipaq", B115200, CS8, SERIO_H3600, 0, 0, 0, NULL }, -+{ "--stowawaykbd", "-ipaqkbd", B115200, CS8, SERIO_STOWAWAY, 0, 0, 0, NULL }, -+{ "--ps2serkbd", "-ps2ser", B1200, CS8, SERIO_PS2SER, 0, 0, 1, NULL }, -+{ "--twiddler", "-twid", B2400, CS8, SERIO_TWIDKBD, 0, 0, 0, twiddler_init }, -+{ "--twiddler-joy", "-twidjoy", B2400, CS8, SERIO_TWIDJOY, 0, 0, 0, twiddler_init }, -+{ "--elotouch", "-elo", B9600, CS8 | CRTSCTS, SERIO_ELO, 0, 0, 0, NULL }, -+{ "--elo4002", "-elo6b", B9600, CS8 | CRTSCTS, SERIO_ELO, 1, 0, 0, NULL }, -+{ "--elo271-140", "-elo4b", B9600, CS8 | CRTSCTS, SERIO_ELO, 2, 0, 0, NULL }, -+{ "--elo261-280", "-elo3b", B9600, CS8 | CRTSCTS, SERIO_ELO, 3, 0, 0, NULL }, -+{ "--dump", "-dump", B2400, CS8, 0, 0, 0, 0, dump_init }, -+{ "--dmc9000", "-dmc", B19200, CS8, SERIO_PENMOUNT, 0, 0, 0, penmount_init }, -+{ "", "", 0, 0 } -+ -+}; -+ -+int main(int argc, char **argv) -+{ -+ unsigned long devt; -+ int ldisc; -+ int type; -+ long id, extra; -+ int fd; -+ char c; -+ -+ if (argc < 2 || argc > 3 || !strcmp("--help", argv[1])) { -+ puts(""); -+ puts("Usage: inputttach "); -+ puts(""); -+ puts("Modes:"); -+ puts(" --sunkbd -skb Sun Type 4 and Type 5 keyboards"); -+ puts(" --lkkbd -lk DEC LK201 / LK401 keyboards"); -+ puts(" --vsxxx-aa -vs DEC VSXXX-AA / VSXXX-GA mouse and VSXXX-AB tablet"); -+ puts(" --spaceorb -orb SpaceOrb 360 / SpaceBall Avenger"); -+ puts(" --spaceball -sbl SpaceBall 2003 / 3003 / 4000 FLX"); -+ puts(" --magellan -mag Magellan / SpaceMouse"); -+ puts(" --warrior -war WingMan Warrior"); -+ puts(" --stinger -stng Gravis Stinger"); -+ puts(" --mousesystems -msc 3-button Mouse Systems mice"); -+ puts(" --sunmouse -sun 3-button Sun mice"); -+ puts(" --microsoft -bare 2-button Microsoft mice"); -+ puts(" --mshack -ms 3-button mice in Microsoft mode"); -+ puts(" --mouseman -mman 3-button Logitech and Genius mice"); -+ puts(" --intellimouse -ms3 Microsoft IntelliMouse"); -+ puts(" --mmwheel -mmw Logitech mice with 4-5 buttons or wheel"); -+ puts(" --iforce -ifor I-Force joysticks and wheels"); -+ puts(" --h3600ts -ipaq Ipaq h3600 touchscreen"); -+ puts(" --stowawaykbd -ipaqkbd Stowaway keyboard"); -+ puts(" --ps2serkbd -ps2ser PS/2 via serial keyboard"); -+ puts(" --twiddler -twid Handykey Twiddler chording keyboard"); -+ puts(" --twiddler-joy -twidjoy Handykey Twiddler used as a joystick"); -+ puts(" --dmc9000 -dmc DMC9000/Penpount touchscreen"); -+ puts(""); -+ return 1; -+ } -+ -+ for (type = 0; input_types[type].speed; type++) { -+ if (!strncasecmp(argv[1], input_types[type].name, 16) || -+ !strncasecmp(argv[1], input_types[type].name2, 16)) -+ break; -+ } -+ -+ if (!input_types[type].speed) { -+ fprintf(stderr, "inputattach: invalid mode\n"); -+ return 1; -+ } -+ -+ if ((fd = open(argv[2], O_RDWR | O_NOCTTY | O_NONBLOCK)) < 0) { -+ perror("inputattach"); -+ return 1; -+ } -+ -+ setline(fd, input_types[type].flags, input_types[type].speed); -+ -+ if (input_types[type].flush) -+ while (!readchar(fd, &c, 100)); -+ -+ id = input_types[type].id; -+ extra = input_types[type].extra; -+ -+ if (input_types[type].init && input_types[type].init(fd, &id, &extra)) { -+ fprintf(stderr, "inputattach: device initialization failed\n"); -+ return 1; -+ } -+ -+ ldisc = N_MOUSE; -+ if(ioctl(fd, TIOCSETD, &ldisc)) { -+ fprintf(stderr, "inputattach: can't set line discipline\n"); -+ return 1; -+ } -+ -+ devt = input_types[type].type | (id << 8) | (extra << 16); -+ -+ if(ioctl(fd, SPIOCSTYPE, &devt)) { -+ fprintf(stderr, "inputattach: can't set device type\n"); -+ return 1; -+ } -+ -+ read(fd, NULL, 0); -+ -+ ldisc = 0; -+ ioctl(fd, TIOCSETD, &ldisc); -+ close(fd); -+ -+ return 0; -+} -diff -Naur tslib-org/tests/ts_finddev.c tslib-1.0/tests/ts_finddev.c ---- tslib-org/tests/ts_finddev.c 1970-01-01 02:00:00.000000000 +0200 -+++ tslib-1.0/tests/ts_finddev.c 2007-05-07 17:36:37.000000000 +0300 -@@ -0,0 +1,75 @@ -+/* -+ * tslib/src/ts_print.c -+ * -+ * Derived from tslib/src/ts_test.c by Douglas Lowder -+ * Just prints touchscreen events -- does not paint them on framebuffer -+ * -+ * This file is placed under the GPL. Please see the file -+ * COPYING for more details. -+ * -+ * Basic test program for touchscreen library. -+ */ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "tslib.h" -+ -+void usage( int argc, char** argv ) { -+ printf( "Usage: %s device_name wait_for_sec\n", argv[0] ); -+ printf( "\tdevice_name - tdevice to probe, example /dev/input/event0\n" ); -+ printf( "\twait_for_sec - wait seconds for touch event, if 0 - dont wait!\n" ); -+ printf( "\tReturn codes:\n" ); -+ printf( "\t 0 - timeout expired without receiving event.\n" ); -+ printf( "\t But this maybe is TouchScreen.\n" ); -+ printf( "\t -1 - this is NOT TouchScreen device!\n" ); -+ printf( "\t 1 - this is TouchScreen for shure!\n" ); -+ exit(-1); -+} -+ -+void alarm_handler( int sig ) { -+ // time is expired! -+ exit(0); -+} -+ -+int main( int argc, char** argv ) -+{ -+ struct tsdev *ts; -+ struct ts_sample samp; -+ char *tsdevice=NULL; -+ int waitsec; -+ int ret; -+ -+ if (argc != 3) -+ usage( argc, argv ); -+ -+ tsdevice = argv[1]; -+ waitsec = atoi( argv[2] ); -+ if (waitsec < 0) -+ usage( argc, argv ); -+ -+ ts = ts_open( tsdevice, 0 ); -+ if (!ts) -+ return -1; -+ if (ts_config(ts)) -+ return -1; -+ -+ if (!waitsec) { -+ return 0; -+ } -+ -+ printf( "Probe device %s, Please Touch Screen Anywhere in %i seconds! ... \n", tsdevice, waitsec ); -+ signal( SIGALRM, alarm_handler ); -+ alarm( waitsec ); -+ ret = ts_read_raw(ts, &samp, 1 ); -+ if (ret) -+ return 1; -+ -+ return -1; -+} diff --git a/package/uboot-tools/0001-drop-configh-from-tools.patch b/package/uboot-tools/0001-drop-configh-from-tools.patch new file mode 100644 index 0000000000..a36332fb8c --- /dev/null +++ b/package/uboot-tools/0001-drop-configh-from-tools.patch @@ -0,0 +1,25 @@ +We need to build u-boot tools without a board configuration for the target. +fw_env just uses config.h to define the default environment of the created +image, so it really isn't mandatory. + +Signed-off-by: Gustavo Zacarias + +diff --git a/tools/env/fw_env.h b/tools/env/fw_env.h +index aff471b..dfe7439 100644 +--- a/tools/env/fw_env.h ++++ b/tools/env/fw_env.h +@@ -5,14 +5,6 @@ + * SPDX-License-Identifier: GPL-2.0+ + */ + +-/* Pull in the current config to define the default environment */ +-#ifndef __ASSEMBLY__ +-#define __ASSEMBLY__ /* get only #defines from config.h */ +-#include +-#undef __ASSEMBLY__ +-#else +-#include +-#endif + + /* + * To build the utility with the static configuration diff --git a/package/uboot-tools/0002-nostrip.patch b/package/uboot-tools/0002-nostrip.patch new file mode 100644 index 0000000000..7333f41d63 --- /dev/null +++ b/package/uboot-tools/0002-nostrip.patch @@ -0,0 +1,61 @@ +From 17e0d6ddd1dc5d04b8032bde2f2076134b0c6dd7 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 27 Aug 2014 14:21:32 +0200 +Subject: [PATCH] tools/env: change stripping strategy to allow no-stripping + +When building the U-Boot tools for non-ELF platforms (such as Blackfin +FLAT), since commit 79fc0c5f498c3982aa4740c273ab1a9255063d9c +("tools/env: cross-compile fw_printenv without setting HOSTCC"), the +build fails because it tries to strip a FLAT binary, which does not +make sense. + +This commit solves this by changing the stripping logic in +tools/env/Makefile to be similar to the one in tools/Makefile. This +logic continues to apply strip to the final binary, but does not abort +the build if it fails, and does the stripping in place on the final +binary. This allows the logic to work fine if stripping doesn't work, +as it leaves the final binary untouched. + +Signed-off-by: Thomas Petazzoni +Cc: Masahiro Yamada +Cc: Sonic Zhang +--- +An improved solution would be to be able to override STRIP completely +by setting it to /bin/true, but the main Makefile enforces STRIP = +$(CROSS_COMPILE)strip. + +Signed-off-by: Thomas Petazzoni +--- + tools/env/Makefile | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +diff --git a/tools/env/Makefile b/tools/env/Makefile +index f5368bc..d047aa5 100644 +--- a/tools/env/Makefile ++++ b/tools/env/Makefile +@@ -21,14 +21,16 @@ HOST_EXTRACFLAGS += -DMTD_OLD + endif + + always := fw_printenv +-hostprogs-y := fw_printenv_unstripped ++hostprogs-y := fw_printenv + +-fw_printenv_unstripped-objs := fw_env.o fw_env_main.o \ ++fw_printenv-objs := fw_env.o fw_env_main.o \ + crc32.o ctype.o linux_string.o \ + env_attr.o env_flags.o aes.o + +-quiet_cmd_strip = STRIP $@ +- cmd_strip = $(STRIP) -o $@ $< ++quiet_cmd_crosstools_strip = STRIP $^ ++ cmd_crosstools_strip = $(STRIP) $^; touch $@ + +-$(obj)/fw_printenv: $(obj)/fw_printenv_unstripped FORCE +- $(call if_changed,strip) ++$(obj)/.strip: $(obj)/fw_printenv ++ $(call cmd,crosstools_strip) ++ ++always += .strip +-- +2.0.0 + diff --git a/package/uboot-tools/uboot-tools-01-drop-configh-from-tools.patch b/package/uboot-tools/uboot-tools-01-drop-configh-from-tools.patch deleted file mode 100644 index a36332fb8c..0000000000 --- a/package/uboot-tools/uboot-tools-01-drop-configh-from-tools.patch +++ /dev/null @@ -1,25 +0,0 @@ -We need to build u-boot tools without a board configuration for the target. -fw_env just uses config.h to define the default environment of the created -image, so it really isn't mandatory. - -Signed-off-by: Gustavo Zacarias - -diff --git a/tools/env/fw_env.h b/tools/env/fw_env.h -index aff471b..dfe7439 100644 ---- a/tools/env/fw_env.h -+++ b/tools/env/fw_env.h -@@ -5,14 +5,6 @@ - * SPDX-License-Identifier: GPL-2.0+ - */ - --/* Pull in the current config to define the default environment */ --#ifndef __ASSEMBLY__ --#define __ASSEMBLY__ /* get only #defines from config.h */ --#include --#undef __ASSEMBLY__ --#else --#include --#endif - - /* - * To build the utility with the static configuration diff --git a/package/uboot-tools/uboot-tools-02-nostrip.patch b/package/uboot-tools/uboot-tools-02-nostrip.patch deleted file mode 100644 index 7333f41d63..0000000000 --- a/package/uboot-tools/uboot-tools-02-nostrip.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 17e0d6ddd1dc5d04b8032bde2f2076134b0c6dd7 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Wed, 27 Aug 2014 14:21:32 +0200 -Subject: [PATCH] tools/env: change stripping strategy to allow no-stripping - -When building the U-Boot tools for non-ELF platforms (such as Blackfin -FLAT), since commit 79fc0c5f498c3982aa4740c273ab1a9255063d9c -("tools/env: cross-compile fw_printenv without setting HOSTCC"), the -build fails because it tries to strip a FLAT binary, which does not -make sense. - -This commit solves this by changing the stripping logic in -tools/env/Makefile to be similar to the one in tools/Makefile. This -logic continues to apply strip to the final binary, but does not abort -the build if it fails, and does the stripping in place on the final -binary. This allows the logic to work fine if stripping doesn't work, -as it leaves the final binary untouched. - -Signed-off-by: Thomas Petazzoni -Cc: Masahiro Yamada -Cc: Sonic Zhang ---- -An improved solution would be to be able to override STRIP completely -by setting it to /bin/true, but the main Makefile enforces STRIP = -$(CROSS_COMPILE)strip. - -Signed-off-by: Thomas Petazzoni ---- - tools/env/Makefile | 14 ++++++++------ - 1 file changed, 8 insertions(+), 6 deletions(-) - -diff --git a/tools/env/Makefile b/tools/env/Makefile -index f5368bc..d047aa5 100644 ---- a/tools/env/Makefile -+++ b/tools/env/Makefile -@@ -21,14 +21,16 @@ HOST_EXTRACFLAGS += -DMTD_OLD - endif - - always := fw_printenv --hostprogs-y := fw_printenv_unstripped -+hostprogs-y := fw_printenv - --fw_printenv_unstripped-objs := fw_env.o fw_env_main.o \ -+fw_printenv-objs := fw_env.o fw_env_main.o \ - crc32.o ctype.o linux_string.o \ - env_attr.o env_flags.o aes.o - --quiet_cmd_strip = STRIP $@ -- cmd_strip = $(STRIP) -o $@ $< -+quiet_cmd_crosstools_strip = STRIP $^ -+ cmd_crosstools_strip = $(STRIP) $^; touch $@ - --$(obj)/fw_printenv: $(obj)/fw_printenv_unstripped FORCE -- $(call if_changed,strip) -+$(obj)/.strip: $(obj)/fw_printenv -+ $(call cmd,crosstools_strip) -+ -+always += .strip --- -2.0.0 - diff --git a/package/udpcast/0001-select-h.patch b/package/udpcast/0001-select-h.patch new file mode 100644 index 0000000000..9a8cfc9d5e --- /dev/null +++ b/package/udpcast/0001-select-h.patch @@ -0,0 +1,11 @@ +--- udpcast-20120424/console.h 2005-12-22 22:59:18.000000000 +0000 ++++ udpcast-20120424.mod/console.h 2013-05-22 22:22:19.835474140 +0100 +@@ -6,6 +6,8 @@ + #include + #endif /* __MINGW32__ */ + ++#include ++ + #define prepareConsole udpc_prepareConsole + #define getConsoleFd udpc_getConsoleFd + #define restoreConsole udpc_restoreConsole diff --git a/package/udpcast/udpcast-select-h.patch b/package/udpcast/udpcast-select-h.patch deleted file mode 100644 index 9a8cfc9d5e..0000000000 --- a/package/udpcast/udpcast-select-h.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- udpcast-20120424/console.h 2005-12-22 22:59:18.000000000 +0000 -+++ udpcast-20120424.mod/console.h 2013-05-22 22:22:19.835474140 +0100 -@@ -6,6 +6,8 @@ - #include - #endif /* __MINGW32__ */ - -+#include -+ - #define prepareConsole udpc_prepareConsole - #define getConsoleFd udpc_getConsoleFd - #define restoreConsole udpc_restoreConsole diff --git a/package/unionfs/0001-fuse-no-cxx-needed.patch b/package/unionfs/0001-fuse-no-cxx-needed.patch new file mode 100644 index 0000000000..56f7e2455b --- /dev/null +++ b/package/unionfs/0001-fuse-no-cxx-needed.patch @@ -0,0 +1,19 @@ +By default, CMake assumes a project uses the C and C++ languages, so +it checks for both the C and the C++ compiler to exist. + +However, unionfs-fuse is written purely in C, so checking for a C++ +compiler is useless, and even prevents unionfs-fuse from building +properly on targets for which no C++ compiler is available. + +Signed-off-by: Thomas Petazzoni + +Index: b/CMakeLists.txt +=================================================================== +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-project(unionfs-fuse) ++project(unionfs-fuse C) + + cmake_minimum_required(VERSION 2.0) + INCLUDE (CheckIncludeFiles) diff --git a/package/unionfs/unionfs-fuse-no-cxx-needed.patch b/package/unionfs/unionfs-fuse-no-cxx-needed.patch deleted file mode 100644 index 56f7e2455b..0000000000 --- a/package/unionfs/unionfs-fuse-no-cxx-needed.patch +++ /dev/null @@ -1,19 +0,0 @@ -By default, CMake assumes a project uses the C and C++ languages, so -it checks for both the C and the C++ compiler to exist. - -However, unionfs-fuse is written purely in C, so checking for a C++ -compiler is useless, and even prevents unionfs-fuse from building -properly on targets for which no C++ compiler is available. - -Signed-off-by: Thomas Petazzoni - -Index: b/CMakeLists.txt -=================================================================== ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,4 +1,4 @@ --project(unionfs-fuse) -+project(unionfs-fuse C) - - cmake_minimum_required(VERSION 2.0) - INCLUDE (CheckIncludeFiles) diff --git a/package/urg/0001-select-h.patch b/package/urg/0001-select-h.patch new file mode 100644 index 0000000000..09d1530443 --- /dev/null +++ b/package/urg/0001-select-h.patch @@ -0,0 +1,11 @@ +--- urg-0.8.18/src/c/connection/serial_ctrl_lin.c 2010-11-22 01:48:01.000000000 +0000 ++++ urg-0.8.18.mod/src/c/connection/serial_ctrl_lin.c 2013-05-21 20:56:35.822025969 +0100 +@@ -17,7 +17,7 @@ + #include + #include + #include +- ++#include + //#include + + enum { diff --git a/package/urg/urg-select-h.patch b/package/urg/urg-select-h.patch deleted file mode 100644 index 09d1530443..0000000000 --- a/package/urg/urg-select-h.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- urg-0.8.18/src/c/connection/serial_ctrl_lin.c 2010-11-22 01:48:01.000000000 +0000 -+++ urg-0.8.18.mod/src/c/connection/serial_ctrl_lin.c 2013-05-21 20:56:35.822025969 +0100 -@@ -17,7 +17,7 @@ - #include - #include - #include -- -+#include - //#include - - enum { diff --git a/package/usbmount/0001-rules-fix.patch b/package/usbmount/0001-rules-fix.patch new file mode 100644 index 0000000000..c71b613c8a --- /dev/null +++ b/package/usbmount/0001-rules-fix.patch @@ -0,0 +1,19 @@ +Signed-off-by: Yegor Yefremov +--- + usbmount.rules | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: b/usbmount.rules +=================================================================== +--- a/usbmount.rules ++++ b/usbmount.rules +@@ -1,7 +1,7 @@ + # Rules for USBmount -*- conf -*- + + KERNEL=="sd*", DRIVERS=="sbp2", ACTION=="add", RUN+="/usr/share/usbmount/usbmount add" +-KERNEL=="sd*", SUBSYSTEMS=="usb", ACTION=="add", RUN+="/usr/share/usbmount/usbmount add" +-KERNEL=="ub*", SUBSYSTEMS=="usb", ACTION=="add", RUN+="/usr/share/usbmount/usbmount add" ++KERNEL=="sd*", SUBSYSTEM=="block", ACTION=="add", RUN+="/usr/share/usbmount/usbmount add" ++KERNEL=="ub*", SUBSYSTEM=="block", ACTION=="add", RUN+="/usr/share/usbmount/usbmount add" + KERNEL=="sd*", ACTION=="remove", RUN+="/usr/share/usbmount/usbmount remove" + KERNEL=="ub*", ACTION=="remove", RUN+="/usr/share/usbmount/usbmount remove" diff --git a/package/usbmount/0002-use-udev-environment-instead-of-blkid.patch b/package/usbmount/0002-use-udev-environment-instead-of-blkid.patch new file mode 100644 index 0000000000..27928b5d54 --- /dev/null +++ b/package/usbmount/0002-use-udev-environment-instead-of-blkid.patch @@ -0,0 +1,71 @@ +udev can provide all the values that usbmount determined using the +blkid binary. This patch drops use of blkid in favor of using the +environment variables set by udev. Thus it removes the dependency +on blkid from usbmount. + +Signed-off-by: Sven Neumann +--- usbmount-0.0.22/usbmount.orig 2013-06-18 14:44:40.143096147 +0200 ++++ usbmount-0.0.22/usbmount 2013-06-19 16:13:09.882434896 +0200 +@@ -59,11 +59,6 @@ + exit 0 + fi + +-if [ ! -x /sbin/blkid ]; then +- log err "cannot execute /sbin/blkid" +- exit 1 +-fi +- + # Per Policy 9.3.2, directories under /var/run have to be created + # after every reboot. + if [ ! -e /var/run/usbmount ]; then +@@ -83,15 +78,7 @@ + trap '( lockfile-remove /var/run/usbmount/.mount )' 0 + log debug "acquired lock /var/run/usbmount/.mount.lock" + +- # Grab device information from device and "divide it" +- # FIXME: improvement: implement mounting by label (notice that labels +- # can contain spaces, which makes things a little bit less comfortable). +- DEVINFO=$(/sbin/blkid -p $DEVNAME) +- FSTYPE=$(echo "$DEVINFO" | sed 's/.*[[:blank:]]TYPE="\([^"]*\)".*/\1/g; s/[[:blank:]]*//g;') +- UUID=$(echo "$DEVINFO" | sed 's/.*[[:blank:]]UUID="\([^"]*\)".*/\1/g; s/[[:blank:]]*//g;') +- USAGE=$(echo "$DEVINFO" | sed 's/.*[[:blank:]]USAGE="\([^"]*\)".*/\1/g; s/[[:blank:]]*//g;') +- +- if ! echo $USAGE | egrep -q "(filesystem|disklabel)"; then ++ if ! echo $ID_FS_USAGE | egrep -q "(filesystem|disklabel)"; then + log info "$DEVNAME does not contain a filesystem or disklabel" + exit 1 + fi +@@ -101,14 +88,14 @@ + log info "executing command: mount $DEVNAME" + mount $DEVNAME || log err "mount by DEVNAME with $DEVNAME wasn't successful; return code $?" + +- elif grep -q "^[[:blank:]]*UUID=$UUID" /etc/fstab; then +- log info "executing command: mount -U $UUID" +- mount -U $UUID || log err "mount by UUID with $UUID wasn't successful; return code $?" ++ elif grep -q "^[[:blank:]]*UUID=$ID_FS_UUID" /etc/fstab; then ++ log info "executing command: mount -U $ID_FS_UUID" ++ mount -U $ID_FS_UUID || log err "mount by UUID with $ID_FS_UUID wasn't successful; return code $?" + + else +- log debug "$DEVNAME contains filesystem type $FSTYPE" ++ log debug "$DEVNAME contains filesystem type $ID_FS_TYPE" + +- fstype=$FSTYPE ++ fstype=$ID_FS_TYPE + # Test if the filesystem type is in the list of filesystem + # types to mount. + if in_list "$fstype" "$FILESYSTEMS"; then +@@ -176,11 +163,13 @@ + + # Run hook scripts; ignore errors. + export UM_DEVICE="$DEVNAME" ++ export UM_UUID="$ID_FS_UUID" + export UM_MOUNTPOINT="$mountpoint" + export UM_FILESYSTEM="$fstype" + export UM_MOUNTOPTIONS="$options" + export UM_VENDOR="$vendor" + export UM_MODEL="$model" ++ export UM_LABEL="$ID_FS_LABEL" + log info "executing command: run-parts /etc/usbmount/mount.d" + run-parts /etc/usbmount/mount.d || : + else diff --git a/package/usbmount/usbmount-rules-fix.patch b/package/usbmount/usbmount-rules-fix.patch deleted file mode 100644 index c71b613c8a..0000000000 --- a/package/usbmount/usbmount-rules-fix.patch +++ /dev/null @@ -1,19 +0,0 @@ -Signed-off-by: Yegor Yefremov ---- - usbmount.rules | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: b/usbmount.rules -=================================================================== ---- a/usbmount.rules -+++ b/usbmount.rules -@@ -1,7 +1,7 @@ - # Rules for USBmount -*- conf -*- - - KERNEL=="sd*", DRIVERS=="sbp2", ACTION=="add", RUN+="/usr/share/usbmount/usbmount add" --KERNEL=="sd*", SUBSYSTEMS=="usb", ACTION=="add", RUN+="/usr/share/usbmount/usbmount add" --KERNEL=="ub*", SUBSYSTEMS=="usb", ACTION=="add", RUN+="/usr/share/usbmount/usbmount add" -+KERNEL=="sd*", SUBSYSTEM=="block", ACTION=="add", RUN+="/usr/share/usbmount/usbmount add" -+KERNEL=="ub*", SUBSYSTEM=="block", ACTION=="add", RUN+="/usr/share/usbmount/usbmount add" - KERNEL=="sd*", ACTION=="remove", RUN+="/usr/share/usbmount/usbmount remove" - KERNEL=="ub*", ACTION=="remove", RUN+="/usr/share/usbmount/usbmount remove" diff --git a/package/usbmount/usbmount-use-udev-environment-instead-of-blkid.patch b/package/usbmount/usbmount-use-udev-environment-instead-of-blkid.patch deleted file mode 100644 index 27928b5d54..0000000000 --- a/package/usbmount/usbmount-use-udev-environment-instead-of-blkid.patch +++ /dev/null @@ -1,71 +0,0 @@ -udev can provide all the values that usbmount determined using the -blkid binary. This patch drops use of blkid in favor of using the -environment variables set by udev. Thus it removes the dependency -on blkid from usbmount. - -Signed-off-by: Sven Neumann ---- usbmount-0.0.22/usbmount.orig 2013-06-18 14:44:40.143096147 +0200 -+++ usbmount-0.0.22/usbmount 2013-06-19 16:13:09.882434896 +0200 -@@ -59,11 +59,6 @@ - exit 0 - fi - --if [ ! -x /sbin/blkid ]; then -- log err "cannot execute /sbin/blkid" -- exit 1 --fi -- - # Per Policy 9.3.2, directories under /var/run have to be created - # after every reboot. - if [ ! -e /var/run/usbmount ]; then -@@ -83,15 +78,7 @@ - trap '( lockfile-remove /var/run/usbmount/.mount )' 0 - log debug "acquired lock /var/run/usbmount/.mount.lock" - -- # Grab device information from device and "divide it" -- # FIXME: improvement: implement mounting by label (notice that labels -- # can contain spaces, which makes things a little bit less comfortable). -- DEVINFO=$(/sbin/blkid -p $DEVNAME) -- FSTYPE=$(echo "$DEVINFO" | sed 's/.*[[:blank:]]TYPE="\([^"]*\)".*/\1/g; s/[[:blank:]]*//g;') -- UUID=$(echo "$DEVINFO" | sed 's/.*[[:blank:]]UUID="\([^"]*\)".*/\1/g; s/[[:blank:]]*//g;') -- USAGE=$(echo "$DEVINFO" | sed 's/.*[[:blank:]]USAGE="\([^"]*\)".*/\1/g; s/[[:blank:]]*//g;') -- -- if ! echo $USAGE | egrep -q "(filesystem|disklabel)"; then -+ if ! echo $ID_FS_USAGE | egrep -q "(filesystem|disklabel)"; then - log info "$DEVNAME does not contain a filesystem or disklabel" - exit 1 - fi -@@ -101,14 +88,14 @@ - log info "executing command: mount $DEVNAME" - mount $DEVNAME || log err "mount by DEVNAME with $DEVNAME wasn't successful; return code $?" - -- elif grep -q "^[[:blank:]]*UUID=$UUID" /etc/fstab; then -- log info "executing command: mount -U $UUID" -- mount -U $UUID || log err "mount by UUID with $UUID wasn't successful; return code $?" -+ elif grep -q "^[[:blank:]]*UUID=$ID_FS_UUID" /etc/fstab; then -+ log info "executing command: mount -U $ID_FS_UUID" -+ mount -U $ID_FS_UUID || log err "mount by UUID with $ID_FS_UUID wasn't successful; return code $?" - - else -- log debug "$DEVNAME contains filesystem type $FSTYPE" -+ log debug "$DEVNAME contains filesystem type $ID_FS_TYPE" - -- fstype=$FSTYPE -+ fstype=$ID_FS_TYPE - # Test if the filesystem type is in the list of filesystem - # types to mount. - if in_list "$fstype" "$FILESYSTEMS"; then -@@ -176,11 +163,13 @@ - - # Run hook scripts; ignore errors. - export UM_DEVICE="$DEVNAME" -+ export UM_UUID="$ID_FS_UUID" - export UM_MOUNTPOINT="$mountpoint" - export UM_FILESYSTEM="$fstype" - export UM_MOUNTOPTIONS="$options" - export UM_VENDOR="$vendor" - export UM_MODEL="$model" -+ export UM_LABEL="$ID_FS_LABEL" - log info "executing command: run-parts /etc/usbmount/mount.d" - run-parts /etc/usbmount/mount.d || : - else diff --git a/package/ushare/0001-compile-fixes.patch b/package/ushare/0001-compile-fixes.patch new file mode 100644 index 0000000000..cfdf5e3404 --- /dev/null +++ b/package/ushare/0001-compile-fixes.patch @@ -0,0 +1,206 @@ +Patch nixed from OpenWRT svn to fix build breakage. + +Signed-off-by: Gustavo Zacarias + +--- a/src/cds.c ++++ b/src/cds.c +@@ -20,6 +20,8 @@ + */ + + #include ++#include ++#include + #include + #include + +--- a/src/http.c ++++ b/src/http.c +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + #include + #include + +@@ -77,8 +78,7 @@ set_info_file (struct File_Info *info, c + info->content_type = ixmlCloneDOMString (content_type); + } + +-static int +-http_get_info (const char *filename, struct File_Info *info) ++int http_get_info (const char *filename, struct File_Info *info) + { + extern struct ushare_t *ut; + struct upnp_entry_t *entry = NULL; +@@ -197,8 +197,7 @@ get_file_memory (const char *fullpath, c + return ((UpnpWebFileHandle) file); + } + +-static UpnpWebFileHandle +-http_open (const char *filename, enum UpnpOpenFileMode mode) ++UpnpWebFileHandle http_open (const char *filename, enum UpnpOpenFileMode mode) + { + extern struct ushare_t *ut; + struct upnp_entry_t *entry = NULL; +@@ -251,8 +250,7 @@ http_open (const char *filename, enum Up + return ((UpnpWebFileHandle) file); + } + +-static int +-http_read (UpnpWebFileHandle fh, char *buf, size_t buflen) ++int http_read (UpnpWebFileHandle fh, char *buf, size_t buflen) + { + struct web_file_t *file = (struct web_file_t *) fh; + ssize_t len = -1; +@@ -286,8 +284,7 @@ http_read (UpnpWebFileHandle fh, char *b + return len; + } + +-static int +-http_write (UpnpWebFileHandle fh __attribute__((unused)), ++int http_write (UpnpWebFileHandle fh __attribute__((unused)), + char *buf __attribute__((unused)), + size_t buflen __attribute__((unused))) + { +@@ -296,8 +293,7 @@ http_write (UpnpWebFileHandle fh __attri + return 0; + } + +-static int +-http_seek (UpnpWebFileHandle fh, off_t offset, int origin) ++int http_seek (UpnpWebFileHandle fh, off_t offset, int origin) + { + struct web_file_t *file = (struct web_file_t *) fh; + off_t newpos = -1; +@@ -371,8 +367,7 @@ http_seek (UpnpWebFileHandle fh, off_t o + return 0; + } + +-static int +-http_close (UpnpWebFileHandle fh) ++int http_close (UpnpWebFileHandle fh) + { + struct web_file_t *file = (struct web_file_t *) fh; + +@@ -402,13 +397,3 @@ http_close (UpnpWebFileHandle fh) + + return 0; + } +- +-struct UpnpVirtualDirCallbacks virtual_dir_callbacks = +- { +- http_get_info, +- http_open, +- http_read, +- http_write, +- http_seek, +- http_close +- }; +--- a/src/http.h ++++ b/src/http.h +@@ -25,6 +25,18 @@ + #include + #include + +-struct UpnpVirtualDirCallbacks virtual_dir_callbacks; ++int http_get_info (const char *filename, struct File_Info *info); ++ ++UpnpWebFileHandle http_open (const char *filename, enum UpnpOpenFileMode mode); ++ ++int http_read (UpnpWebFileHandle fh, char *buf, size_t buflen); ++ ++int http_seek (UpnpWebFileHandle fh, off_t offset, int origin); ++ ++int http_write (UpnpWebFileHandle fh __attribute__((unused)), ++ char *buf __attribute__((unused)), ++ size_t buflen __attribute__((unused))); ++ ++int http_close (UpnpWebFileHandle fh); + + #endif /* _HTTP_H_ */ +--- a/src/ushare.c ++++ b/src/ushare.c +@@ -188,7 +188,7 @@ handle_action_request (struct Upnp_Actio + if (strcmp (request->DevUDN + 5, ut->udn)) + return; + +- ip = request->CtrlPtIPAddr.s_addr; ++ ip = (*(struct sockaddr_in *)&request->CtrlPtIPAddr).sin_addr.s_addr; + ip = ntohl (ip); + sprintf (val, "%d.%d.%d.%d", + (ip >> 24) & 0xFF, (ip >> 16) & 0xFF, (ip >> 8) & 0xFF, ip & 0xFF); +@@ -348,13 +348,23 @@ init_upnp (struct ushare_t *ut) + + UpnpEnableWebserver (TRUE); + +- res = UpnpSetVirtualDirCallbacks (&virtual_dir_callbacks); +- if (res != UPNP_E_SUCCESS) +- { +- log_error (_("Cannot set virtual directory callbacks\n")); +- free (description); +- return -1; +- } ++#define upnp_set_callback(cb, func) \ ++ do { \ ++ res = UpnpVirtualDir_set_##cb##Callback(func); \ ++ if (res != UPNP_E_SUCCESS) \ ++ { \ ++ log_error (_("Cannot set virtual directory callbacks\n")); \ ++ free (description); \ ++ return -1; \ ++ } \ ++ } while(0) ++ ++ upnp_set_callback(GetInfo, http_get_info); ++ upnp_set_callback(Open, http_open); ++ upnp_set_callback(Read, http_read); ++ upnp_set_callback(Seek, http_seek); ++ upnp_set_callback(Write, http_write); ++ upnp_set_callback(Close, http_close); + + res = UpnpAddVirtualDir (VIRTUAL_DIR); + if (res != UPNP_E_SUCCESS) +--- a/src/cms.c ++++ b/src/cms.c +@@ -20,6 +20,8 @@ + */ + + #include ++#include ++#include + #include + #include + +--- a/src/mime.c ++++ b/src/mime.c +@@ -20,6 +20,7 @@ + */ + + #include ++#include + #include + + #include "mime.h" +--- a/src/presentation.c ++++ b/src/presentation.c +@@ -19,6 +19,8 @@ + */ + + #include ++#include ++#include + + #if HAVE_LANGINFO_CODESET + # include +--- a/src/services.c ++++ b/src/services.c +@@ -20,6 +20,8 @@ + */ + + #include ++#include ++#include + #include + #include + diff --git a/package/ushare/ushare-compile-fixes.patch b/package/ushare/ushare-compile-fixes.patch deleted file mode 100644 index cfdf5e3404..0000000000 --- a/package/ushare/ushare-compile-fixes.patch +++ /dev/null @@ -1,206 +0,0 @@ -Patch nixed from OpenWRT svn to fix build breakage. - -Signed-off-by: Gustavo Zacarias - ---- a/src/cds.c -+++ b/src/cds.c -@@ -20,6 +20,8 @@ - */ - - #include -+#include -+#include - #include - #include - ---- a/src/http.c -+++ b/src/http.c -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - #include - #include - -@@ -77,8 +78,7 @@ set_info_file (struct File_Info *info, c - info->content_type = ixmlCloneDOMString (content_type); - } - --static int --http_get_info (const char *filename, struct File_Info *info) -+int http_get_info (const char *filename, struct File_Info *info) - { - extern struct ushare_t *ut; - struct upnp_entry_t *entry = NULL; -@@ -197,8 +197,7 @@ get_file_memory (const char *fullpath, c - return ((UpnpWebFileHandle) file); - } - --static UpnpWebFileHandle --http_open (const char *filename, enum UpnpOpenFileMode mode) -+UpnpWebFileHandle http_open (const char *filename, enum UpnpOpenFileMode mode) - { - extern struct ushare_t *ut; - struct upnp_entry_t *entry = NULL; -@@ -251,8 +250,7 @@ http_open (const char *filename, enum Up - return ((UpnpWebFileHandle) file); - } - --static int --http_read (UpnpWebFileHandle fh, char *buf, size_t buflen) -+int http_read (UpnpWebFileHandle fh, char *buf, size_t buflen) - { - struct web_file_t *file = (struct web_file_t *) fh; - ssize_t len = -1; -@@ -286,8 +284,7 @@ http_read (UpnpWebFileHandle fh, char *b - return len; - } - --static int --http_write (UpnpWebFileHandle fh __attribute__((unused)), -+int http_write (UpnpWebFileHandle fh __attribute__((unused)), - char *buf __attribute__((unused)), - size_t buflen __attribute__((unused))) - { -@@ -296,8 +293,7 @@ http_write (UpnpWebFileHandle fh __attri - return 0; - } - --static int --http_seek (UpnpWebFileHandle fh, off_t offset, int origin) -+int http_seek (UpnpWebFileHandle fh, off_t offset, int origin) - { - struct web_file_t *file = (struct web_file_t *) fh; - off_t newpos = -1; -@@ -371,8 +367,7 @@ http_seek (UpnpWebFileHandle fh, off_t o - return 0; - } - --static int --http_close (UpnpWebFileHandle fh) -+int http_close (UpnpWebFileHandle fh) - { - struct web_file_t *file = (struct web_file_t *) fh; - -@@ -402,13 +397,3 @@ http_close (UpnpWebFileHandle fh) - - return 0; - } -- --struct UpnpVirtualDirCallbacks virtual_dir_callbacks = -- { -- http_get_info, -- http_open, -- http_read, -- http_write, -- http_seek, -- http_close -- }; ---- a/src/http.h -+++ b/src/http.h -@@ -25,6 +25,18 @@ - #include - #include - --struct UpnpVirtualDirCallbacks virtual_dir_callbacks; -+int http_get_info (const char *filename, struct File_Info *info); -+ -+UpnpWebFileHandle http_open (const char *filename, enum UpnpOpenFileMode mode); -+ -+int http_read (UpnpWebFileHandle fh, char *buf, size_t buflen); -+ -+int http_seek (UpnpWebFileHandle fh, off_t offset, int origin); -+ -+int http_write (UpnpWebFileHandle fh __attribute__((unused)), -+ char *buf __attribute__((unused)), -+ size_t buflen __attribute__((unused))); -+ -+int http_close (UpnpWebFileHandle fh); - - #endif /* _HTTP_H_ */ ---- a/src/ushare.c -+++ b/src/ushare.c -@@ -188,7 +188,7 @@ handle_action_request (struct Upnp_Actio - if (strcmp (request->DevUDN + 5, ut->udn)) - return; - -- ip = request->CtrlPtIPAddr.s_addr; -+ ip = (*(struct sockaddr_in *)&request->CtrlPtIPAddr).sin_addr.s_addr; - ip = ntohl (ip); - sprintf (val, "%d.%d.%d.%d", - (ip >> 24) & 0xFF, (ip >> 16) & 0xFF, (ip >> 8) & 0xFF, ip & 0xFF); -@@ -348,13 +348,23 @@ init_upnp (struct ushare_t *ut) - - UpnpEnableWebserver (TRUE); - -- res = UpnpSetVirtualDirCallbacks (&virtual_dir_callbacks); -- if (res != UPNP_E_SUCCESS) -- { -- log_error (_("Cannot set virtual directory callbacks\n")); -- free (description); -- return -1; -- } -+#define upnp_set_callback(cb, func) \ -+ do { \ -+ res = UpnpVirtualDir_set_##cb##Callback(func); \ -+ if (res != UPNP_E_SUCCESS) \ -+ { \ -+ log_error (_("Cannot set virtual directory callbacks\n")); \ -+ free (description); \ -+ return -1; \ -+ } \ -+ } while(0) -+ -+ upnp_set_callback(GetInfo, http_get_info); -+ upnp_set_callback(Open, http_open); -+ upnp_set_callback(Read, http_read); -+ upnp_set_callback(Seek, http_seek); -+ upnp_set_callback(Write, http_write); -+ upnp_set_callback(Close, http_close); - - res = UpnpAddVirtualDir (VIRTUAL_DIR); - if (res != UPNP_E_SUCCESS) ---- a/src/cms.c -+++ b/src/cms.c -@@ -20,6 +20,8 @@ - */ - - #include -+#include -+#include - #include - #include - ---- a/src/mime.c -+++ b/src/mime.c -@@ -20,6 +20,7 @@ - */ - - #include -+#include - #include - - #include "mime.h" ---- a/src/presentation.c -+++ b/src/presentation.c -@@ -19,6 +19,8 @@ - */ - - #include -+#include -+#include - - #if HAVE_LANGINFO_CODESET - # include ---- a/src/services.c -+++ b/src/services.c -@@ -20,6 +20,8 @@ - */ - - #include -+#include -+#include - #include - #include - diff --git a/package/ussp-push/0001-fix-build-against-bluez-4.patch b/package/ussp-push/0001-fix-build-against-bluez-4.patch new file mode 100644 index 0000000000..0694bfbadd --- /dev/null +++ b/package/ussp-push/0001-fix-build-against-bluez-4.patch @@ -0,0 +1,15 @@ +Fix build against bluez4. + +Signed-off-by: Samuel Martin + +--- ussp-push-0.11.orig/src/obex_socket.c 2012-11-01 09:58:51.049538708 +0100 ++++ ussp-push-0.11/src/obex_socket.c 2012-11-01 12:10:10.719506951 +0100 +@@ -197,7 +197,7 @@ static int bt_sock_name2bth(int devid, c + for (i = 0; i < niinf; i++) { + char devname[128]; + +- if (hci_remote_name(dd, &piinf[i].bdaddr, sizeof(devname) - 1, ++ if (hci_read_remote_name(dd, &piinf[i].bdaddr, sizeof(devname) - 1, + devname, 100000) >= 0) { + if (strcasecmp(devname, btname) == 0) { + *btaddr = piinf[i].bdaddr; diff --git a/package/ussp-push/ussp-push-fix-build-against-bluez-4.patch b/package/ussp-push/ussp-push-fix-build-against-bluez-4.patch deleted file mode 100644 index 0694bfbadd..0000000000 --- a/package/ussp-push/ussp-push-fix-build-against-bluez-4.patch +++ /dev/null @@ -1,15 +0,0 @@ -Fix build against bluez4. - -Signed-off-by: Samuel Martin - ---- ussp-push-0.11.orig/src/obex_socket.c 2012-11-01 09:58:51.049538708 +0100 -+++ ussp-push-0.11/src/obex_socket.c 2012-11-01 12:10:10.719506951 +0100 -@@ -197,7 +197,7 @@ static int bt_sock_name2bth(int devid, c - for (i = 0; i < niinf; i++) { - char devname[128]; - -- if (hci_remote_name(dd, &piinf[i].bdaddr, sizeof(devname) - 1, -+ if (hci_read_remote_name(dd, &piinf[i].bdaddr, sizeof(devname) - 1, - devname, 100000) >= 0) { - if (strcasecmp(devname, btname) == 0) { - *btaddr = piinf[i].bdaddr; diff --git a/package/vala/0001-dont-add-dirty-to-valac-version.patch b/package/vala/0001-dont-add-dirty-to-valac-version.patch new file mode 100644 index 0000000000..a2a0623369 --- /dev/null +++ b/package/vala/0001-dont-add-dirty-to-valac-version.patch @@ -0,0 +1,25 @@ +valac: don't append -dirty to version + +Don't append -dirty to the valac version number if the Buildroot Git +tree has uncommited changes. + +The patched script is meant for the valac developers, but it also +activates if you build valac in a subdirectory of a Git tree (e.g. +as is commonly done in Buildroot). + +The effect is that valac gets built as being version x.y.z-dirty, which +breaks programs (such as Midori) that explicitly check for valac-x.y.z. + +Signed-off-by: Simon Dawson +diff -Nur a/build-aux/git-version-gen b/build-aux/git-version-gen +--- a/build-aux/git-version-gen 2010-08-15 12:49:03.000000000 +0100 ++++ b/build-aux/git-version-gen 2012-05-14 10:17:19.977204570 +0100 +@@ -135,7 +135,7 @@ + *) # Append the suffix only if there isn't one already. + case $v in + *-dirty) ;; +- *) v="$v-dirty" ;; ++ #*) v="$v-dirty" ;; + esac ;; + esac + diff --git a/package/vala/vala-dont-add-dirty-to-valac-version.patch b/package/vala/vala-dont-add-dirty-to-valac-version.patch deleted file mode 100644 index a2a0623369..0000000000 --- a/package/vala/vala-dont-add-dirty-to-valac-version.patch +++ /dev/null @@ -1,25 +0,0 @@ -valac: don't append -dirty to version - -Don't append -dirty to the valac version number if the Buildroot Git -tree has uncommited changes. - -The patched script is meant for the valac developers, but it also -activates if you build valac in a subdirectory of a Git tree (e.g. -as is commonly done in Buildroot). - -The effect is that valac gets built as being version x.y.z-dirty, which -breaks programs (such as Midori) that explicitly check for valac-x.y.z. - -Signed-off-by: Simon Dawson -diff -Nur a/build-aux/git-version-gen b/build-aux/git-version-gen ---- a/build-aux/git-version-gen 2010-08-15 12:49:03.000000000 +0100 -+++ b/build-aux/git-version-gen 2012-05-14 10:17:19.977204570 +0100 -@@ -135,7 +135,7 @@ - *) # Append the suffix only if there isn't one already. - case $v in - *-dirty) ;; -- *) v="$v-dirty" ;; -+ #*) v="$v-dirty" ;; - esac ;; - esac - diff --git a/package/valgrind/0001-workaround-SIGSEGV-on-PPC.patch b/package/valgrind/0001-workaround-SIGSEGV-on-PPC.patch new file mode 100644 index 0000000000..1c5966befe --- /dev/null +++ b/package/valgrind/0001-workaround-SIGSEGV-on-PPC.patch @@ -0,0 +1,32 @@ +From bd9d2af89e45081132c150e5e4bdf9a12dfca693 Mon Sep 17 00:00:00 2001 +From: Pierre Habouzit +Date: Tue, 10 May 2011 23:11:45 +0200 +Subject: [PATCH 1/2] workaround SIGSEGV on PPC. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Pierre Habouzit +Signed-off-by: Jérôme Pouiller +--- + coregrind/m_machine.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/coregrind/m_machine.c b/coregrind/m_machine.c +index 42d8ce8..3c9900f 100644 +--- a/coregrind/m_machine.c ++++ b/coregrind/m_machine.c +@@ -27,6 +27,10 @@ + The GNU General Public License is contained in the file COPYING. + */ + ++#ifdef __powerpc__ ++# pragma GCC optimize ("-O0") ++#endif ++ + #include "pub_core_basics.h" + #include "pub_core_vki.h" + #include "pub_core_libcsetjmp.h" // setjmp facilities +-- +1.9.1 + diff --git a/package/valgrind/0002-don-t-enable-largefile-support-unconditionally-on-uC.patch b/package/valgrind/0002-don-t-enable-largefile-support-unconditionally-on-uC.patch new file mode 100644 index 0000000000..57ab2c3127 --- /dev/null +++ b/package/valgrind/0002-don-t-enable-largefile-support-unconditionally-on-uC.patch @@ -0,0 +1,71 @@ +From 6bb94d51e25b394bc9c52699f744a7cc06ffca15 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Pouiller?= +Date: Thu, 2 Jan 2014 16:00:06 +0100 +Subject: [PATCH 2/2] don't enable largefile support unconditionally on uClibc +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +uClibc can be compiled without largefile support (and errors out if +_FILE_OFFSET_BITS is set to 64), so don't define it if that combination +is detected. + +Signed-off-by: Peter Korsgaard +Signed-off-by: Jérôme Pouiller +--- + coregrind/m_initimg/initimg-linux.c | 4 ++++ + coregrind/m_main.c | 4 ++++ + coregrind/m_ume/elf.c | 4 ++++ + 3 files changed, 12 insertions(+) + +diff --git a/coregrind/m_initimg/initimg-linux.c b/coregrind/m_initimg/initimg-linux.c +index a8e7d27..fa670cb 100644 +--- a/coregrind/m_initimg/initimg-linux.c ++++ b/coregrind/m_initimg/initimg-linux.c +@@ -55,7 +55,11 @@ + + /* --- !!! --- EXTERNAL HEADERS start --- !!! --- */ + #define _GNU_SOURCE ++#include ++/* uclibc without largefile support #errors on _FILE_OFFSET_BITS=64 */ ++#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_LFS__)) + #define _FILE_OFFSET_BITS 64 ++#endif + /* This is for ELF types etc, and also the AT_ constants. */ + #include + /* --- !!! --- EXTERNAL HEADERS end --- !!! --- */ +diff --git a/coregrind/m_main.c b/coregrind/m_main.c +index e7159a8..4371a1f 100644 +--- a/coregrind/m_main.c ++++ b/coregrind/m_main.c +@@ -3143,7 +3143,11 @@ asm( + + /* --- !!! --- EXTERNAL HEADERS start --- !!! --- */ + #define _GNU_SOURCE ++#include ++/* uclibc without largefile support #errors on _FILE_OFFSET_BITS=64 */ ++#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_LFS__)) + #define _FILE_OFFSET_BITS 64 ++#endif + /* This is in order to get AT_NULL and AT_PAGESIZE. */ + #include + /* --- !!! --- EXTERNAL HEADERS end --- !!! --- */ +diff --git a/coregrind/m_ume/elf.c b/coregrind/m_ume/elf.c +index 4615da3..06992a4 100644 +--- a/coregrind/m_ume/elf.c ++++ b/coregrind/m_ume/elf.c +@@ -48,7 +48,11 @@ + + /* --- !!! --- EXTERNAL HEADERS start --- !!! --- */ + #define _GNU_SOURCE ++#include ++/* uclibc without largefile support #errors on _FILE_OFFSET_BITS=64 */ ++#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_LFS__)) + #define _FILE_OFFSET_BITS 64 ++#endif + /* This is for ELF types etc, and also the AT_ constants. */ + #include + /* --- !!! --- EXTERNAL HEADERS end --- !!! --- */ +-- +1.9.1 + diff --git a/package/valgrind/0003-add-missing-ptrace-getsiginfo-on-powerpc.patch b/package/valgrind/0003-add-missing-ptrace-getsiginfo-on-powerpc.patch new file mode 100644 index 0000000000..f663825aeb --- /dev/null +++ b/package/valgrind/0003-add-missing-ptrace-getsiginfo-on-powerpc.patch @@ -0,0 +1,28 @@ +Define PTRACE_GETSIGINFO on PowerPC when not available + +uClibc 0.9.33.2 does not define PTRACE_GETSIGINFO in PowerPC. Even +though Buildroot has a uClibc patch doing that, it doesn't solve the +case of external uClibc toolchain from other sources (such as +Crosstool-NG). Therefore, this patch modifies Valgrind to define +PTRACE_GETSIGINFO on PowerPC to the right value, when such definition +is not available from the C library. + +Signed-off-by: Thomas Petazzoni + +Index: b/coregrind/vgdb-invoker-ptrace.c +=================================================================== +--- a/coregrind/vgdb-invoker-ptrace.c ++++ b/coregrind/vgdb-invoker-ptrace.c +@@ -71,6 +71,12 @@ + # endif + #endif + ++#if defined(__powerpc__) ++# ifndef PTRACE_GETSIGINFO ++# define PTRACE_GETSIGINFO 0x4202 ++# endif ++#endif ++ + #if VEX_HOST_WORDSIZE == 8 + typedef Addr64 CORE_ADDR; + #elif VEX_HOST_WORDSIZE == 4 diff --git a/package/valgrind/valgrind-0001-workaround-SIGSEGV-on-PPC.patch b/package/valgrind/valgrind-0001-workaround-SIGSEGV-on-PPC.patch deleted file mode 100644 index 1c5966befe..0000000000 --- a/package/valgrind/valgrind-0001-workaround-SIGSEGV-on-PPC.patch +++ /dev/null @@ -1,32 +0,0 @@ -From bd9d2af89e45081132c150e5e4bdf9a12dfca693 Mon Sep 17 00:00:00 2001 -From: Pierre Habouzit -Date: Tue, 10 May 2011 23:11:45 +0200 -Subject: [PATCH 1/2] workaround SIGSEGV on PPC. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Pierre Habouzit -Signed-off-by: Jérôme Pouiller ---- - coregrind/m_machine.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/coregrind/m_machine.c b/coregrind/m_machine.c -index 42d8ce8..3c9900f 100644 ---- a/coregrind/m_machine.c -+++ b/coregrind/m_machine.c -@@ -27,6 +27,10 @@ - The GNU General Public License is contained in the file COPYING. - */ - -+#ifdef __powerpc__ -+# pragma GCC optimize ("-O0") -+#endif -+ - #include "pub_core_basics.h" - #include "pub_core_vki.h" - #include "pub_core_libcsetjmp.h" // setjmp facilities --- -1.9.1 - diff --git a/package/valgrind/valgrind-0002-don-t-enable-largefile-support-unconditionally-on-uC.patch b/package/valgrind/valgrind-0002-don-t-enable-largefile-support-unconditionally-on-uC.patch deleted file mode 100644 index 57ab2c3127..0000000000 --- a/package/valgrind/valgrind-0002-don-t-enable-largefile-support-unconditionally-on-uC.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 6bb94d51e25b394bc9c52699f744a7cc06ffca15 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Pouiller?= -Date: Thu, 2 Jan 2014 16:00:06 +0100 -Subject: [PATCH 2/2] don't enable largefile support unconditionally on uClibc -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -uClibc can be compiled without largefile support (and errors out if -_FILE_OFFSET_BITS is set to 64), so don't define it if that combination -is detected. - -Signed-off-by: Peter Korsgaard -Signed-off-by: Jérôme Pouiller ---- - coregrind/m_initimg/initimg-linux.c | 4 ++++ - coregrind/m_main.c | 4 ++++ - coregrind/m_ume/elf.c | 4 ++++ - 3 files changed, 12 insertions(+) - -diff --git a/coregrind/m_initimg/initimg-linux.c b/coregrind/m_initimg/initimg-linux.c -index a8e7d27..fa670cb 100644 ---- a/coregrind/m_initimg/initimg-linux.c -+++ b/coregrind/m_initimg/initimg-linux.c -@@ -55,7 +55,11 @@ - - /* --- !!! --- EXTERNAL HEADERS start --- !!! --- */ - #define _GNU_SOURCE -+#include -+/* uclibc without largefile support #errors on _FILE_OFFSET_BITS=64 */ -+#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_LFS__)) - #define _FILE_OFFSET_BITS 64 -+#endif - /* This is for ELF types etc, and also the AT_ constants. */ - #include - /* --- !!! --- EXTERNAL HEADERS end --- !!! --- */ -diff --git a/coregrind/m_main.c b/coregrind/m_main.c -index e7159a8..4371a1f 100644 ---- a/coregrind/m_main.c -+++ b/coregrind/m_main.c -@@ -3143,7 +3143,11 @@ asm( - - /* --- !!! --- EXTERNAL HEADERS start --- !!! --- */ - #define _GNU_SOURCE -+#include -+/* uclibc without largefile support #errors on _FILE_OFFSET_BITS=64 */ -+#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_LFS__)) - #define _FILE_OFFSET_BITS 64 -+#endif - /* This is in order to get AT_NULL and AT_PAGESIZE. */ - #include - /* --- !!! --- EXTERNAL HEADERS end --- !!! --- */ -diff --git a/coregrind/m_ume/elf.c b/coregrind/m_ume/elf.c -index 4615da3..06992a4 100644 ---- a/coregrind/m_ume/elf.c -+++ b/coregrind/m_ume/elf.c -@@ -48,7 +48,11 @@ - - /* --- !!! --- EXTERNAL HEADERS start --- !!! --- */ - #define _GNU_SOURCE -+#include -+/* uclibc without largefile support #errors on _FILE_OFFSET_BITS=64 */ -+#if !(defined(__UCLIBC__) && !defined(__UCLIBC_HAS_LFS__)) - #define _FILE_OFFSET_BITS 64 -+#endif - /* This is for ELF types etc, and also the AT_ constants. */ - #include - /* --- !!! --- EXTERNAL HEADERS end --- !!! --- */ --- -1.9.1 - diff --git a/package/valgrind/valgrind-0003-add-missing-ptrace-getsiginfo-on-powerpc.patch b/package/valgrind/valgrind-0003-add-missing-ptrace-getsiginfo-on-powerpc.patch deleted file mode 100644 index f663825aeb..0000000000 --- a/package/valgrind/valgrind-0003-add-missing-ptrace-getsiginfo-on-powerpc.patch +++ /dev/null @@ -1,28 +0,0 @@ -Define PTRACE_GETSIGINFO on PowerPC when not available - -uClibc 0.9.33.2 does not define PTRACE_GETSIGINFO in PowerPC. Even -though Buildroot has a uClibc patch doing that, it doesn't solve the -case of external uClibc toolchain from other sources (such as -Crosstool-NG). Therefore, this patch modifies Valgrind to define -PTRACE_GETSIGINFO on PowerPC to the right value, when such definition -is not available from the C library. - -Signed-off-by: Thomas Petazzoni - -Index: b/coregrind/vgdb-invoker-ptrace.c -=================================================================== ---- a/coregrind/vgdb-invoker-ptrace.c -+++ b/coregrind/vgdb-invoker-ptrace.c -@@ -71,6 +71,12 @@ - # endif - #endif - -+#if defined(__powerpc__) -+# ifndef PTRACE_GETSIGINFO -+# define PTRACE_GETSIGINFO 0x4202 -+# endif -+#endif -+ - #if VEX_HOST_WORDSIZE == 8 - typedef Addr64 CORE_ADDR; - #elif VEX_HOST_WORDSIZE == 4 diff --git a/package/vde2/0001-no-cxx.patch b/package/vde2/0001-no-cxx.patch new file mode 100644 index 0000000000..67cefa2bb8 --- /dev/null +++ b/package/vde2/0001-no-cxx.patch @@ -0,0 +1,22 @@ +configure: do not test for CXX, it's not needed + +There is no C++ source file, so no reason to require a C++ compiler. + +Reported-by: Peter Korsgaard +Signed-off-by: "Yann E. MORIN" + +--- +Patch sent upstream +( not yet in archives, awaits moderator approval... :-/ ) + +diff -durN vde2-2.3.2.orig/configure.ac vde2-2.3.2/configure.ac +--- vde2-2.3.2.orig/configure.ac 2011-11-23 17:41:19.000000000 +0100 ++++ vde2-2.3.2/configure.ac 2012-12-14 21:56:47.146319686 +0100 +@@ -11,7 +11,6 @@ + AC_CONFIG_LIBOBJ_DIR(src/common) + + # Checks for programs. +-AC_PROG_CXX + AC_PROG_CC + AC_PROG_INSTALL + AC_PROG_LN_S diff --git a/package/vde2/vde2-no-cxx.patch b/package/vde2/vde2-no-cxx.patch deleted file mode 100644 index 67cefa2bb8..0000000000 --- a/package/vde2/vde2-no-cxx.patch +++ /dev/null @@ -1,22 +0,0 @@ -configure: do not test for CXX, it's not needed - -There is no C++ source file, so no reason to require a C++ compiler. - -Reported-by: Peter Korsgaard -Signed-off-by: "Yann E. MORIN" - ---- -Patch sent upstream -( not yet in archives, awaits moderator approval... :-/ ) - -diff -durN vde2-2.3.2.orig/configure.ac vde2-2.3.2/configure.ac ---- vde2-2.3.2.orig/configure.ac 2011-11-23 17:41:19.000000000 +0100 -+++ vde2-2.3.2/configure.ac 2012-12-14 21:56:47.146319686 +0100 -@@ -11,7 +11,6 @@ - AC_CONFIG_LIBOBJ_DIR(src/common) - - # Checks for programs. --AC_PROG_CXX - AC_PROG_CC - AC_PROG_INSTALL - AC_PROG_LN_S diff --git a/package/vlc/0001-vlc-static.patch b/package/vlc/0001-vlc-static.patch new file mode 100644 index 0000000000..faf7e80a1c --- /dev/null +++ b/package/vlc/0001-vlc-static.patch @@ -0,0 +1,24 @@ +diff -uNr vlc-2.1.5.org/bin/Makefile.am vlc-2.1.5/bin/Makefile.am +--- vlc-2.1.5.org/bin/Makefile.am 2013-12-03 10:12:34.000000000 +0100 ++++ vlc-2.1.5/bin/Makefile.am 2014-08-03 12:30:06.722154518 +0200 +@@ -1,7 +1,7 @@ + # Building vlc + # + bin_PROGRAMS = vlc +-noinst_PROGRAMS = vlc-static ++noinst_PROGRAMS = + noinst_DATA = + vlclib_PROGRAMS = vlc-cache-gen + EXTRA_PROGRAMS = vlc-wrapper +diff -uNr vlc-2.1.5.org/Makefile.am vlc-2.1.5/Makefile.am +--- vlc-2.1.5.org/Makefile.am 2014-02-14 18:40:50.000000000 +0100 ++++ vlc-2.1.5/Makefile.am 2014-08-03 12:29:52.059010766 +0200 +@@ -607,7 +607,7 @@ + cd lib && $(MAKE) $(AM_MAKEFLAGS) libvlc.la + + core: libvlc vlc$(EXEEXT) +- cd bin && $(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT) vlc-static$(EXEEXT) ++ cd bin && $(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT) + + doc: + cd doc && $(MAKE) $(AM_MAKEFLAGS) doc diff --git a/package/vlc/0002-configure.ac-add-check-for-libgcrypt-config-program.patch b/package/vlc/0002-configure.ac-add-check-for-libgcrypt-config-program.patch new file mode 100644 index 0000000000..1ad6712b7b --- /dev/null +++ b/package/vlc/0002-configure.ac-add-check-for-libgcrypt-config-program.patch @@ -0,0 +1,43 @@ +From 88bf3313850bc7f0e6db21daee2b8d8e607b7bb4 Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Sat, 8 Feb 2014 14:33:27 +0100 +Subject: [PATCH] configure.ac: add check for libgcrypt-config program + +This allows to override the default libgcrypt-config location (which is +useful when cross-compiling), instead of using the one from the host +system. + +Signed-off-by: Samuel Martin +--- + configure.ac | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 02fb8aa..5a2267b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3943,16 +3943,17 @@ dnl + AC_ARG_ENABLE(libgcrypt, + [ --disable-libgcrypt gcrypt support (default enabled)]) + AS_IF([test "${enable_libgcrypt}" != "no"], [ ++ AC_PATH_PROG(GCRYPT_CONFIG,libgcrypt-config,libgcrypt-config) + AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [ +- libgcrypt-config --version >/dev/null || \ ++ ${GCRYPT_CONFIG} --version >/dev/null || \ + AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found]) + AC_CHECK_LIB(gcrypt, gcry_control, [ + have_libgcrypt="yes" +- GCRYPT_CFLAGS="`libgcrypt-config --cflags`" +- GCRYPT_LIBS="`libgcrypt-config --libs`" ++ GCRYPT_CFLAGS="`${GCRYPT_CONFIG} --cflags`" ++ GCRYPT_LIBS="`${GCRYPT_CONFIG} --libs`" + ], [ + AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.]) +- ], [`libgcrypt-config --libs`]) ++ ], [`${GCRYPT_CONFIG} --libs`]) + ], [ + AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.]) + ], [#include ] +-- +1.8.5.4 + diff --git a/package/vlc/0003-automake-add-subdir-objects-option.patch b/package/vlc/0003-automake-add-subdir-objects-option.patch new file mode 100644 index 0000000000..cea6a38fea --- /dev/null +++ b/package/vlc/0003-automake-add-subdir-objects-option.patch @@ -0,0 +1,22 @@ +automake: add subdir-objects option + +Our version of automake warns if this option is enabled and source files +in subdirectories are used. + +It doesn't really seems to have a noticable effect on the build, but it +does remove a lot of annoying warnings. + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) + +diff -Nrup vlc-2.1.2.orig/configure.ac vlc-2.1.2/configure.ac +--- vlc-2.1.2.orig/configure.ac 2014-02-27 00:22:19.512944952 +0100 ++++ vlc-2.1.2/configure.ac 2014-02-27 00:24:21.360940651 +0100 +@@ -24,7 +24,7 @@ AC_CANONICAL_BUILD + AC_CANONICAL_HOST + AC_PRESERVE_HELP_ORDER + +-AM_INIT_AUTOMAKE(tar-ustar color-tests foreign) ++AM_INIT_AUTOMAKE(tar-ustar color-tests foreign subdir-objects) + AC_CONFIG_HEADERS([config.h]) + + # Disable with "./configure --disable-silent-rules" or "make V=1" diff --git a/package/vlc/0004-libav.patch b/package/vlc/0004-libav.patch new file mode 100644 index 0000000000..c4842d7ee7 --- /dev/null +++ b/package/vlc/0004-libav.patch @@ -0,0 +1,22 @@ +VLC works fine with ffmpeg 2.4, ported from upstream +http://git.videolan.org/?p=vlc/vlc-2.2.git;a=blobdiff;f=configure.ac;h=21a9f89585297ebb98481a29719ef35a20f040db;hp=570da72136f4a5f8142fbab696ece53dd7f84b6a;hb=4ed2079b77b8aeb6d7885cc9828a90290018a7a4;hpb=18fbf7fd17a0f4e9cabcc2e34ac54b210ba08b27 + +Signed-off-by: Bernd Kuhls + +diff --git a/configure.ac b/configure.ac +index 570da72..21a9f89 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2285,9 +2285,9 @@ AC_ARG_ENABLE(avcodec, + [ --enable-avcodec libavcodec codec (default enabled)]) + AS_IF([test "${enable_avcodec}" != "no"], [ + PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 53.34.0 libavutil >= 51.22.0], [ +- PKG_CHECK_EXISTS([libavcodec < 56],, [ +- AC_MSG_ERROR([libavcodec versions 56 and later are not supported yet.]) +- ]) ++ dnl PKG_CHECK_EXISTS([libavcodec < 56],, [ ++ dnl AC_MSG_ERROR([libavcodec versions 56 and later are not supported yet.]) ++ dnl ]) + VLC_SAVE_FLAGS + CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" + CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}" diff --git a/package/vlc/vlc-0001-vlc-static.patch b/package/vlc/vlc-0001-vlc-static.patch deleted file mode 100644 index faf7e80a1c..0000000000 --- a/package/vlc/vlc-0001-vlc-static.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -uNr vlc-2.1.5.org/bin/Makefile.am vlc-2.1.5/bin/Makefile.am ---- vlc-2.1.5.org/bin/Makefile.am 2013-12-03 10:12:34.000000000 +0100 -+++ vlc-2.1.5/bin/Makefile.am 2014-08-03 12:30:06.722154518 +0200 -@@ -1,7 +1,7 @@ - # Building vlc - # - bin_PROGRAMS = vlc --noinst_PROGRAMS = vlc-static -+noinst_PROGRAMS = - noinst_DATA = - vlclib_PROGRAMS = vlc-cache-gen - EXTRA_PROGRAMS = vlc-wrapper -diff -uNr vlc-2.1.5.org/Makefile.am vlc-2.1.5/Makefile.am ---- vlc-2.1.5.org/Makefile.am 2014-02-14 18:40:50.000000000 +0100 -+++ vlc-2.1.5/Makefile.am 2014-08-03 12:29:52.059010766 +0200 -@@ -607,7 +607,7 @@ - cd lib && $(MAKE) $(AM_MAKEFLAGS) libvlc.la - - core: libvlc vlc$(EXEEXT) -- cd bin && $(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT) vlc-static$(EXEEXT) -+ cd bin && $(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT) - - doc: - cd doc && $(MAKE) $(AM_MAKEFLAGS) doc diff --git a/package/vlc/vlc-0002-configure.ac-add-check-for-libgcrypt-config-program.patch b/package/vlc/vlc-0002-configure.ac-add-check-for-libgcrypt-config-program.patch deleted file mode 100644 index 1ad6712b7b..0000000000 --- a/package/vlc/vlc-0002-configure.ac-add-check-for-libgcrypt-config-program.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 88bf3313850bc7f0e6db21daee2b8d8e607b7bb4 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sat, 8 Feb 2014 14:33:27 +0100 -Subject: [PATCH] configure.ac: add check for libgcrypt-config program - -This allows to override the default libgcrypt-config location (which is -useful when cross-compiling), instead of using the one from the host -system. - -Signed-off-by: Samuel Martin ---- - configure.ac | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 02fb8aa..5a2267b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3943,16 +3943,17 @@ dnl - AC_ARG_ENABLE(libgcrypt, - [ --disable-libgcrypt gcrypt support (default enabled)]) - AS_IF([test "${enable_libgcrypt}" != "no"], [ -+ AC_PATH_PROG(GCRYPT_CONFIG,libgcrypt-config,libgcrypt-config) - AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [ -- libgcrypt-config --version >/dev/null || \ -+ ${GCRYPT_CONFIG} --version >/dev/null || \ - AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found]) - AC_CHECK_LIB(gcrypt, gcry_control, [ - have_libgcrypt="yes" -- GCRYPT_CFLAGS="`libgcrypt-config --cflags`" -- GCRYPT_LIBS="`libgcrypt-config --libs`" -+ GCRYPT_CFLAGS="`${GCRYPT_CONFIG} --cflags`" -+ GCRYPT_LIBS="`${GCRYPT_CONFIG} --libs`" - ], [ - AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.]) -- ], [`libgcrypt-config --libs`]) -+ ], [`${GCRYPT_CONFIG} --libs`]) - ], [ - AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.]) - ], [#include ] --- -1.8.5.4 - diff --git a/package/vlc/vlc-0003-automake-add-subdir-objects-option.patch b/package/vlc/vlc-0003-automake-add-subdir-objects-option.patch deleted file mode 100644 index cea6a38fea..0000000000 --- a/package/vlc/vlc-0003-automake-add-subdir-objects-option.patch +++ /dev/null @@ -1,22 +0,0 @@ -automake: add subdir-objects option - -Our version of automake warns if this option is enabled and source files -in subdirectories are used. - -It doesn't really seems to have a noticable effect on the build, but it -does remove a lot of annoying warnings. - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) - -diff -Nrup vlc-2.1.2.orig/configure.ac vlc-2.1.2/configure.ac ---- vlc-2.1.2.orig/configure.ac 2014-02-27 00:22:19.512944952 +0100 -+++ vlc-2.1.2/configure.ac 2014-02-27 00:24:21.360940651 +0100 -@@ -24,7 +24,7 @@ AC_CANONICAL_BUILD - AC_CANONICAL_HOST - AC_PRESERVE_HELP_ORDER - --AM_INIT_AUTOMAKE(tar-ustar color-tests foreign) -+AM_INIT_AUTOMAKE(tar-ustar color-tests foreign subdir-objects) - AC_CONFIG_HEADERS([config.h]) - - # Disable with "./configure --disable-silent-rules" or "make V=1" diff --git a/package/vlc/vlc-0004-libav.patch b/package/vlc/vlc-0004-libav.patch deleted file mode 100644 index c4842d7ee7..0000000000 --- a/package/vlc/vlc-0004-libav.patch +++ /dev/null @@ -1,22 +0,0 @@ -VLC works fine with ffmpeg 2.4, ported from upstream -http://git.videolan.org/?p=vlc/vlc-2.2.git;a=blobdiff;f=configure.ac;h=21a9f89585297ebb98481a29719ef35a20f040db;hp=570da72136f4a5f8142fbab696ece53dd7f84b6a;hb=4ed2079b77b8aeb6d7885cc9828a90290018a7a4;hpb=18fbf7fd17a0f4e9cabcc2e34ac54b210ba08b27 - -Signed-off-by: Bernd Kuhls - -diff --git a/configure.ac b/configure.ac -index 570da72..21a9f89 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2285,9 +2285,9 @@ AC_ARG_ENABLE(avcodec, - [ --enable-avcodec libavcodec codec (default enabled)]) - AS_IF([test "${enable_avcodec}" != "no"], [ - PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 53.34.0 libavutil >= 51.22.0], [ -- PKG_CHECK_EXISTS([libavcodec < 56],, [ -- AC_MSG_ERROR([libavcodec versions 56 and later are not supported yet.]) -- ]) -+ dnl PKG_CHECK_EXISTS([libavcodec < 56],, [ -+ dnl AC_MSG_ERROR([libavcodec versions 56 and later are not supported yet.]) -+ dnl ]) - VLC_SAVE_FLAGS - CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" - CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}" diff --git a/package/vpnc/0001-fix-build.patch b/package/vpnc/0001-fix-build.patch new file mode 100644 index 0000000000..e21348b4e3 --- /dev/null +++ b/package/vpnc/0001-fix-build.patch @@ -0,0 +1,71 @@ +Misc. Makefile cleanup and fix the VERSION definition. + +Signed-off-by: Samuel Martin + +--- +diff -purN vpnc-0.5.3.orig/Makefile vpnc-0.5.3/Makefile +--- vpnc-0.5.3.orig/Makefile 2012-08-06 00:03:22.677914146 +0200 ++++ vpnc-0.5.3/Makefile 2012-08-06 00:06:58.506744901 +0200 +@@ -19,21 +19,19 @@ + # + # $Id: Makefile 312 2008-06-15 18:09:42Z Joerg Mayer $ + +-DESTDIR= +-PREFIX=/usr/local +-ETCDIR=/etc/vpnc +-BINDIR=$(PREFIX)/bin +-SBINDIR=$(PREFIX)/sbin +-MANDIR=$(PREFIX)/share/man +-DOCDIR=$(PREFIX)/share/doc/vpnc +- +-SRCS = sysdep.c vpnc-debug.c isakmp-pkt.c tunip.c config.c dh.c math_group.c supp.c decrypt-utils.c +-BINS = vpnc cisco-decrypt +-OBJS = $(addsuffix .o,$(basename $(SRCS))) ++DESTDIR = ++PREFIX ?= /usr/local ++ETCDIR = /etc/vpnc ++BINDIR = $(PREFIX)/bin ++SBINDIR = $(PREFIX)/sbin ++MANDIR = $(PREFIX)/share/man ++DOCDIR = $(PREFIX)/share/doc/vpnc ++ ++SRCS = sysdep.c vpnc-debug.c isakmp-pkt.c tunip.c config.c dh.c math_group.c supp.c decrypt-utils.c ++BINS = vpnc cisco-decrypt ++OBJS = $(addsuffix .o,$(basename $(SRCS))) + BINOBJS = $(addsuffix .o,$(BINS)) + BINSRCS = $(addsuffix .c,$(BINS)) +-VERSION := $(shell sh mk-version) +-RELEASE_VERSION := $(shell cat VERSION) + + # The license of vpnc (Gpl >= 2) is quite likely incompatible with the + # openssl license. Openssl is currently used to provide certificate +@@ -50,13 +48,13 @@ RELEASE_VERSION := $(shell cat VERSION) + #OPENSSL_GPL_VIOLATION = -DOPENSSL_GPL_VIOLATION + #OPENSSLLIBS = -lcrypto + +-CC=gcc +-CFLAGS ?= -O3 -g +-CFLAGS += -W -Wall -Wmissing-declarations -Wwrite-strings +-CFLAGS += $(shell libgcrypt-config --cflags) +-CPPFLAGS += -DVERSION=\"$(VERSION)\" $(OPENSSL_GPL_VIOLATION) +-LDFLAGS ?= -g +-LDFLAGS += $(shell libgcrypt-config --libs) $(OPENSSLLIBS) ++CC ?= gcc ++CFLAGS ?= -O3 -g ++CFLAGS += -W -Wall -Wmissing-declarations -Wwrite-strings ++CFLAGS += $(shell libgcrypt-config --cflags) ++CPPFLAGS += $(OPENSSL_GPL_VIOLATION) ++LDFLAGS ?= -g ++LDFLAGS += $(shell libgcrypt-config --libs) $(OPENSSLLIBS) + + ifeq ($(shell uname -s), SunOS) + LDFLAGS += -lnsl -lresolv -lsocket +@@ -84,7 +82,7 @@ cisco-decrypt : cisco-decrypt.o decrypt- + $(CC) -o $@ $^ $(LDFLAGS) + + .depend: $(SRCS) $(BINSRCS) +- $(CC) -MM $(SRCS) $(BINSRCS) $(CFLAGS) $(CPPFLAGS) > $@ ++ $(CC) -MM $(SRCS) $(BINSRCS) $(CPPFLAGS) $(CFLAGS) > $@ + + vpnc-debug.c vpnc-debug.h : isakmp.h enum2debug.pl + LC_ALL=C perl -w ./enum2debug.pl isakmp.h >vpnc-debug.c 2>vpnc-debug.h diff --git a/package/vpnc/0002-nomanual.patch b/package/vpnc/0002-nomanual.patch new file mode 100644 index 0000000000..7f2ea534fd --- /dev/null +++ b/package/vpnc/0002-nomanual.patch @@ -0,0 +1,15 @@ +diff -urN vpnc-0.5.3-0rig/Makefile vpnc-0.5.3/Makefile +--- vpnc-0.5.3-0rig/Makefile 2008-11-19 21:36:12.000000000 +0100 ++++ vpnc-0.5.3/Makefile 2009-01-15 00:38:36.000000000 +0100 +@@ -72,7 +72,10 @@ + $(CC) -o $@ $^ $(LDFLAGS) + + vpnc.8 : vpnc.8.template makeman.pl vpnc +- ./makeman.pl ++ @echo "Cannot make manual when cross compiling" ++ touch $@ ++ ++# ./makeman.pl + + vpnc-script : vpnc-script.in + sed -e 's,@''PREFIX''@,$(PREFIX),g' $< > $@ && chmod 755 $@ diff --git a/package/vpnc/0003-susv3-legacy.patch b/package/vpnc/0003-susv3-legacy.patch new file mode 100644 index 0000000000..2e577e388c --- /dev/null +++ b/package/vpnc/0003-susv3-legacy.patch @@ -0,0 +1,12 @@ +diff -rdup vpnc-0.5.1.oorig/config.c vpnc-0.5.1/config.c +--- vpnc-0.5.1.oorig/config.c 2007-09-10 22:39:48.000000000 +0200 ++++ vpnc-0.5.1/config.c 2007-09-19 14:19:46.000000000 +0200 +@@ -538,7 +538,7 @@ static char *get_config_filename(const c + { + char *realname; + +- asprintf(&realname, "%s%s%s", index(name, '/') ? "" : "/etc/vpnc/", name, add_dot_conf ? ".conf" : ""); ++ asprintf(&realname, "%s%s%s", strchr(name, '/') ? "" : "/etc/vpnc/", name, add_dot_conf ? ".conf" : ""); + return realname; + } + diff --git a/package/vpnc/vpnc-0.5.3-fix-build.patch b/package/vpnc/vpnc-0.5.3-fix-build.patch deleted file mode 100644 index e21348b4e3..0000000000 --- a/package/vpnc/vpnc-0.5.3-fix-build.patch +++ /dev/null @@ -1,71 +0,0 @@ -Misc. Makefile cleanup and fix the VERSION definition. - -Signed-off-by: Samuel Martin - ---- -diff -purN vpnc-0.5.3.orig/Makefile vpnc-0.5.3/Makefile ---- vpnc-0.5.3.orig/Makefile 2012-08-06 00:03:22.677914146 +0200 -+++ vpnc-0.5.3/Makefile 2012-08-06 00:06:58.506744901 +0200 -@@ -19,21 +19,19 @@ - # - # $Id: Makefile 312 2008-06-15 18:09:42Z Joerg Mayer $ - --DESTDIR= --PREFIX=/usr/local --ETCDIR=/etc/vpnc --BINDIR=$(PREFIX)/bin --SBINDIR=$(PREFIX)/sbin --MANDIR=$(PREFIX)/share/man --DOCDIR=$(PREFIX)/share/doc/vpnc -- --SRCS = sysdep.c vpnc-debug.c isakmp-pkt.c tunip.c config.c dh.c math_group.c supp.c decrypt-utils.c --BINS = vpnc cisco-decrypt --OBJS = $(addsuffix .o,$(basename $(SRCS))) -+DESTDIR = -+PREFIX ?= /usr/local -+ETCDIR = /etc/vpnc -+BINDIR = $(PREFIX)/bin -+SBINDIR = $(PREFIX)/sbin -+MANDIR = $(PREFIX)/share/man -+DOCDIR = $(PREFIX)/share/doc/vpnc -+ -+SRCS = sysdep.c vpnc-debug.c isakmp-pkt.c tunip.c config.c dh.c math_group.c supp.c decrypt-utils.c -+BINS = vpnc cisco-decrypt -+OBJS = $(addsuffix .o,$(basename $(SRCS))) - BINOBJS = $(addsuffix .o,$(BINS)) - BINSRCS = $(addsuffix .c,$(BINS)) --VERSION := $(shell sh mk-version) --RELEASE_VERSION := $(shell cat VERSION) - - # The license of vpnc (Gpl >= 2) is quite likely incompatible with the - # openssl license. Openssl is currently used to provide certificate -@@ -50,13 +48,13 @@ RELEASE_VERSION := $(shell cat VERSION) - #OPENSSL_GPL_VIOLATION = -DOPENSSL_GPL_VIOLATION - #OPENSSLLIBS = -lcrypto - --CC=gcc --CFLAGS ?= -O3 -g --CFLAGS += -W -Wall -Wmissing-declarations -Wwrite-strings --CFLAGS += $(shell libgcrypt-config --cflags) --CPPFLAGS += -DVERSION=\"$(VERSION)\" $(OPENSSL_GPL_VIOLATION) --LDFLAGS ?= -g --LDFLAGS += $(shell libgcrypt-config --libs) $(OPENSSLLIBS) -+CC ?= gcc -+CFLAGS ?= -O3 -g -+CFLAGS += -W -Wall -Wmissing-declarations -Wwrite-strings -+CFLAGS += $(shell libgcrypt-config --cflags) -+CPPFLAGS += $(OPENSSL_GPL_VIOLATION) -+LDFLAGS ?= -g -+LDFLAGS += $(shell libgcrypt-config --libs) $(OPENSSLLIBS) - - ifeq ($(shell uname -s), SunOS) - LDFLAGS += -lnsl -lresolv -lsocket -@@ -84,7 +82,7 @@ cisco-decrypt : cisco-decrypt.o decrypt- - $(CC) -o $@ $^ $(LDFLAGS) - - .depend: $(SRCS) $(BINSRCS) -- $(CC) -MM $(SRCS) $(BINSRCS) $(CFLAGS) $(CPPFLAGS) > $@ -+ $(CC) -MM $(SRCS) $(BINSRCS) $(CPPFLAGS) $(CFLAGS) > $@ - - vpnc-debug.c vpnc-debug.h : isakmp.h enum2debug.pl - LC_ALL=C perl -w ./enum2debug.pl isakmp.h >vpnc-debug.c 2>vpnc-debug.h diff --git a/package/vpnc/vpnc-0.5.3-nomanual.patch b/package/vpnc/vpnc-0.5.3-nomanual.patch deleted file mode 100644 index 7f2ea534fd..0000000000 --- a/package/vpnc/vpnc-0.5.3-nomanual.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -urN vpnc-0.5.3-0rig/Makefile vpnc-0.5.3/Makefile ---- vpnc-0.5.3-0rig/Makefile 2008-11-19 21:36:12.000000000 +0100 -+++ vpnc-0.5.3/Makefile 2009-01-15 00:38:36.000000000 +0100 -@@ -72,7 +72,10 @@ - $(CC) -o $@ $^ $(LDFLAGS) - - vpnc.8 : vpnc.8.template makeman.pl vpnc -- ./makeman.pl -+ @echo "Cannot make manual when cross compiling" -+ touch $@ -+ -+# ./makeman.pl - - vpnc-script : vpnc-script.in - sed -e 's,@''PREFIX''@,$(PREFIX),g' $< > $@ && chmod 755 $@ diff --git a/package/vpnc/vpnc-0.5.3-susv3-legacy.patch b/package/vpnc/vpnc-0.5.3-susv3-legacy.patch deleted file mode 100644 index 2e577e388c..0000000000 --- a/package/vpnc/vpnc-0.5.3-susv3-legacy.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -rdup vpnc-0.5.1.oorig/config.c vpnc-0.5.1/config.c ---- vpnc-0.5.1.oorig/config.c 2007-09-10 22:39:48.000000000 +0200 -+++ vpnc-0.5.1/config.c 2007-09-19 14:19:46.000000000 +0200 -@@ -538,7 +538,7 @@ static char *get_config_filename(const c - { - char *realname; - -- asprintf(&realname, "%s%s%s", index(name, '/') ? "" : "/etc/vpnc/", name, add_dot_conf ? ".conf" : ""); -+ asprintf(&realname, "%s%s%s", strchr(name, '/') ? "" : "/etc/vpnc/", name, add_dot_conf ? ".conf" : ""); - return realname; - } - diff --git a/package/vtun/0001-fix-installation.patch b/package/vtun/0001-fix-installation.patch new file mode 100644 index 0000000000..d9659fa885 --- /dev/null +++ b/package/vtun/0001-fix-installation.patch @@ -0,0 +1,44 @@ +Makefile.in: fix installation steps + +Not sure what the reason for that patch is, but originally added by Ulf +Samuelsson , when upgrading from 2.6.x to 3.0.2. + +yann.morin.1998@free.fr: the initial commit in the Buildroot tree had the +SoB by Ulf, but it was not explicitly reproduced here in the patch; so I +added it here directly in the patch. + +Somewhat-signed-off-by: Ulf Samuelsson +Signed-off-by: "Yann E. MORIN" +diff -durN vtun-3.0.3.orig/Makefile.in vtun-3.0.3/Makefile.in +--- vtun-3.0.3.orig/Makefile.in 2012-07-09 06:55:38.000000000 +0200 ++++ vtun-3.0.3/Makefile.in 2013-02-16 23:28:47.034036869 +0100 +@@ -28,7 +28,7 @@ + LEXFLAGS = -t + + INSTALL = @INSTALL@ +-INSTALL_OWNER = -o root -g 0 ++INSTALL_OWNER = + + prefix = @prefix@ + exec_prefix = @exec_prefix@ +@@ -89,16 +89,15 @@ + + install_config: + $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(ETC_DIR) +- if [ ! -f $(ETC_DIR)/vtund.conf ]; then \ +- $(INSTALL) -m 600 $(INSTALL_OWNER) vtund.conf $(DESTDIR)$(ETC_DIR); \ +- fi ++ $(INSTALL) -m 600 $(INSTALL_OWNER) vtund.conf $(DESTDIR)$(ETC_DIR); ++ $(INSTALL) -m 600 $(INSTALL_OWNER) scripts/vtund-start.conf $(DESTDIR)$(ETC_DIR); + + install: vtund install_config install_man +- $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(VAR_DIR)/run + $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(STAT_DIR) + $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(LOCK_DIR) + $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(SBIN_DIR) + $(INSTALL) -m 755 $(INSTALL_OWNER) vtund $(DESTDIR)$(SBIN_DIR) +- $(BIN_DIR)/strip $(DESTDIR)$(SBIN_DIR)/vtund ++ $(INSTALL) -m 755 -D $(INSTALL_OWNER) scripts/vtund.rc.debian \ ++ $(DESTDIR)$(ETC_DIR)/init.d/S90vtun + + # DO NOT DELETE THIS LINE -- make depend depends on it. diff --git a/package/vtun/0002-fix-ssl-headers-checks.patch b/package/vtun/0002-fix-ssl-headers-checks.patch new file mode 100644 index 0000000000..765411af84 --- /dev/null +++ b/package/vtun/0002-fix-ssl-headers-checks.patch @@ -0,0 +1,47 @@ +configure.in: do not hard-code search patch for SSL headers + +Do. Not. Do. That. It breaks cross-compilation. + +Also use the SSL headers dir to look for blowfish headers. + +Signed-off-by: "Yann E. MORIN" + +diff -durN vtun-3.0.3.orig/configure.in vtun-3.0.3/configure.in +--- vtun-3.0.3.orig/configure.in 2009-03-29 12:08:51.000000000 +0200 ++++ vtun-3.0.3/configure.in 2013-02-16 23:44:44.004339680 +0100 +@@ -166,7 +166,7 @@ + AC_MSG_RESULT() + AC_CHECKING( for md5 Library and Header files ... ) + AC_SEARCH_HEADERS(md5.h, +- $SSL_HDR_DIR /usr/include/openssl "" /usr/include /usr/include/ssl /usr/local/include /usr/local/ssl/include /usr/include/sys, ++ $SSL_HDR_DIR "" , + , + AC_MSG_ERROR( SSL headers not found. ) + ) +@@ -176,7 +176,7 @@ + AC_MSG_RESULT() + AC_CHECKING( for blowfish Library and Header files ... ) + AC_SEARCH_HEADERS(blowfish.h, +- $BLOWFISH_HDR_DIR /usr/include/ssl /usr/include/openssl /usr/include /usr/local/include /usr/local/ssl/include /usr/include/crypto, ++ $BLOWFISH_HDR_DIR $SSL_HDR_DIR, + AC_CHECK_LIB(crypto, BF_set_key, + [ + LIBS="$LIBS -lcrypto" +@@ -193,7 +193,7 @@ + AC_MSG_RESULT() + AC_CHECKING( for AES Library and Header files ... ) + AC_SEARCH_HEADERS(aes.h, +- $SSL_HDR_DIR /usr/include/ssl /usr/include/openssl /usr/include /usr/local/include /usr/local/ssl/include /usr/include/crypto, ++ $SSL_HDR_DIR , + AC_CHECK_LIB(crypto, AES_set_encrypt_key, + [ + AC_DEFINE(HAVE_SSL_AES) +@@ -208,7 +208,7 @@ + AC_MSG_RESULT() + AC_CHECKING( for EVP Library and Header files ... ) + AC_SEARCH_HEADERS(evp.h, +- $SSL_HDR_DIR /usr/include/ssl /usr/include/openssl /usr/include /usr/local/include /usr/local/ssl/include /usr/include/crypto, ++ $SSL_HDR_DIR , + AC_CHECK_LIB(crypto, EVP_EncryptInit, + [ + AC_DEFINE(HAVE_SSL_EVP) diff --git a/package/vtun/0003-fixup-configure.in.patch b/package/vtun/0003-fixup-configure.in.patch new file mode 100644 index 0000000000..cb2ac67aa2 --- /dev/null +++ b/package/vtun/0003-fixup-configure.in.patch @@ -0,0 +1,92 @@ +configure.in: minimal syntax fixup for autoreconf + +This is the strictly minimal syntax fixups to make autoreconf happy... + +Signed-off-by: "Yann E. MORIN" + +--- +Note: configure.in is still full of incorrect syntax, but fixing it is +a task for another day, and would have to be upstreamed. But upstream +looks to be moribund at best, if not dead... :-( + +So, keep it for ourselves for now... Too bad, vtun is really helpfull. + +--- vtun-3.0.3.orig/configure.in 2013-02-16 23:54:52.582451817 +0100 ++++ vtun-3.0.3/configure.in 2013-02-17 00:03:13.640887353 +0100 +@@ -110,10 +110,10 @@ + AC_SEARCH_LIBS(nanosleep, rt posix4) + + dnl Check for setproctitle in libutil +-AC_SEARCH_LIBS(setproctitle, util bsd, AC_DEFINE(HAVE_SETPROC_TITLE) ) ++AC_SEARCH_LIBS(setproctitle, util bsd, AC_DEFINE([HAVE_SETPROC_TITLE],[],[Define to set title in /proc]) ) + + if test "$SHAPER" = "yes"; then +- AC_DEFINE(HAVE_SHAPER) ++ AC_DEFINE([HAVE_SHAPER],[],[Define to use shapper]) + fi + + if test "$ZLIB" = "yes"; then +@@ -121,7 +121,7 @@ + AC_CHECKING( for ZLIB Library and Header files ... ) + AC_CHECK_LIB(z, deflate, + LIBS="$LIBS -lz" +- AC_DEFINE(HAVE_ZLIB), ++ AC_DEFINE([HAVE_ZLIB],[],[Define to use ZLIB]), + AC_MSG_ERROR( Zlib library not found.) + ) + fi +@@ -148,7 +148,7 @@ + AC_CHECK_LIB($I, lzo1x_decompress, + [ + LIBS="$LIBS -l"$I +- AC_DEFINE(HAVE_LZO) ++ AC_DEFINE([HAVE_LZO],[],[Define to use LZO]) + havelzo=1 + ] + ) +@@ -180,8 +180,8 @@ + AC_CHECK_LIB(crypto, BF_set_key, + [ + LIBS="$LIBS -lcrypto" +- AC_DEFINE(HAVE_SSL) +- AC_DEFINE(HAVE_SSL_BLOWFISH) ++ AC_DEFINE([HAVE_SSL],[],[Define to use SSL]) ++ AC_DEFINE([HAVE_SSL_BLOWFISH],[],[Define to use blowfish]) + ], + AC_MSG_ERROR( SSL library not found. ) + ), +@@ -196,7 +196,7 @@ + $SSL_HDR_DIR , + AC_CHECK_LIB(crypto, AES_set_encrypt_key, + [ +- AC_DEFINE(HAVE_SSL_AES) ++ AC_DEFINE([HAVE_SSL_AES],[],[Define to use AES]) + ], + AC_MSG_ERROR( AES library not found. ) + ), +@@ -211,7 +211,7 @@ + $SSL_HDR_DIR , + AC_CHECK_LIB(crypto, EVP_EncryptInit, + [ +- AC_DEFINE(HAVE_SSL_EVP) ++ AC_DEFINE([HAVE_SSL_EVP],[],Define to use EVP) + ], + AC_MSG_ERROR( EVP library not found. ) + ), +@@ -220,7 +220,7 @@ + fi + + if test "$NATHACK" = "yes"; then +- AC_DEFINE(ENABLE_NAT_HACK) ++ AC_DEFINE([ENABLE_NAT_HACK],[],[Define to use NAT hack]) + fi + + if test "$SOCKS" = "yes"; then +@@ -274,6 +274,6 @@ + REL=`echo 'BRANCH-3_X' | tr -d '$: \-' | sed 's/^[A-Za-z]*//' | sed 's/\_/\./'` + changequote([,]) + +-AC_DEFINE_UNQUOTED(VTUN_VER, "$REL `date '+%m/%d/%Y'`") ++AC_DEFINE_UNQUOTED([VTUN_VER], ["$REL `date '+%m/%d/%Y'`"], [vtun version]) + + AC_OUTPUT(Makefile) diff --git a/package/vtun/vtun-001-fix-installation.patch b/package/vtun/vtun-001-fix-installation.patch deleted file mode 100644 index d9659fa885..0000000000 --- a/package/vtun/vtun-001-fix-installation.patch +++ /dev/null @@ -1,44 +0,0 @@ -Makefile.in: fix installation steps - -Not sure what the reason for that patch is, but originally added by Ulf -Samuelsson , when upgrading from 2.6.x to 3.0.2. - -yann.morin.1998@free.fr: the initial commit in the Buildroot tree had the -SoB by Ulf, but it was not explicitly reproduced here in the patch; so I -added it here directly in the patch. - -Somewhat-signed-off-by: Ulf Samuelsson -Signed-off-by: "Yann E. MORIN" -diff -durN vtun-3.0.3.orig/Makefile.in vtun-3.0.3/Makefile.in ---- vtun-3.0.3.orig/Makefile.in 2012-07-09 06:55:38.000000000 +0200 -+++ vtun-3.0.3/Makefile.in 2013-02-16 23:28:47.034036869 +0100 -@@ -28,7 +28,7 @@ - LEXFLAGS = -t - - INSTALL = @INSTALL@ --INSTALL_OWNER = -o root -g 0 -+INSTALL_OWNER = - - prefix = @prefix@ - exec_prefix = @exec_prefix@ -@@ -89,16 +89,15 @@ - - install_config: - $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(ETC_DIR) -- if [ ! -f $(ETC_DIR)/vtund.conf ]; then \ -- $(INSTALL) -m 600 $(INSTALL_OWNER) vtund.conf $(DESTDIR)$(ETC_DIR); \ -- fi -+ $(INSTALL) -m 600 $(INSTALL_OWNER) vtund.conf $(DESTDIR)$(ETC_DIR); -+ $(INSTALL) -m 600 $(INSTALL_OWNER) scripts/vtund-start.conf $(DESTDIR)$(ETC_DIR); - - install: vtund install_config install_man -- $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(VAR_DIR)/run - $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(STAT_DIR) - $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(LOCK_DIR) - $(INSTALL) -d -m 755 $(INSTALL_OWNER) $(DESTDIR)$(SBIN_DIR) - $(INSTALL) -m 755 $(INSTALL_OWNER) vtund $(DESTDIR)$(SBIN_DIR) -- $(BIN_DIR)/strip $(DESTDIR)$(SBIN_DIR)/vtund -+ $(INSTALL) -m 755 -D $(INSTALL_OWNER) scripts/vtund.rc.debian \ -+ $(DESTDIR)$(ETC_DIR)/init.d/S90vtun - - # DO NOT DELETE THIS LINE -- make depend depends on it. diff --git a/package/vtun/vtun-002-fix-ssl-headers-checks.patch b/package/vtun/vtun-002-fix-ssl-headers-checks.patch deleted file mode 100644 index 765411af84..0000000000 --- a/package/vtun/vtun-002-fix-ssl-headers-checks.patch +++ /dev/null @@ -1,47 +0,0 @@ -configure.in: do not hard-code search patch for SSL headers - -Do. Not. Do. That. It breaks cross-compilation. - -Also use the SSL headers dir to look for blowfish headers. - -Signed-off-by: "Yann E. MORIN" - -diff -durN vtun-3.0.3.orig/configure.in vtun-3.0.3/configure.in ---- vtun-3.0.3.orig/configure.in 2009-03-29 12:08:51.000000000 +0200 -+++ vtun-3.0.3/configure.in 2013-02-16 23:44:44.004339680 +0100 -@@ -166,7 +166,7 @@ - AC_MSG_RESULT() - AC_CHECKING( for md5 Library and Header files ... ) - AC_SEARCH_HEADERS(md5.h, -- $SSL_HDR_DIR /usr/include/openssl "" /usr/include /usr/include/ssl /usr/local/include /usr/local/ssl/include /usr/include/sys, -+ $SSL_HDR_DIR "" , - , - AC_MSG_ERROR( SSL headers not found. ) - ) -@@ -176,7 +176,7 @@ - AC_MSG_RESULT() - AC_CHECKING( for blowfish Library and Header files ... ) - AC_SEARCH_HEADERS(blowfish.h, -- $BLOWFISH_HDR_DIR /usr/include/ssl /usr/include/openssl /usr/include /usr/local/include /usr/local/ssl/include /usr/include/crypto, -+ $BLOWFISH_HDR_DIR $SSL_HDR_DIR, - AC_CHECK_LIB(crypto, BF_set_key, - [ - LIBS="$LIBS -lcrypto" -@@ -193,7 +193,7 @@ - AC_MSG_RESULT() - AC_CHECKING( for AES Library and Header files ... ) - AC_SEARCH_HEADERS(aes.h, -- $SSL_HDR_DIR /usr/include/ssl /usr/include/openssl /usr/include /usr/local/include /usr/local/ssl/include /usr/include/crypto, -+ $SSL_HDR_DIR , - AC_CHECK_LIB(crypto, AES_set_encrypt_key, - [ - AC_DEFINE(HAVE_SSL_AES) -@@ -208,7 +208,7 @@ - AC_MSG_RESULT() - AC_CHECKING( for EVP Library and Header files ... ) - AC_SEARCH_HEADERS(evp.h, -- $SSL_HDR_DIR /usr/include/ssl /usr/include/openssl /usr/include /usr/local/include /usr/local/ssl/include /usr/include/crypto, -+ $SSL_HDR_DIR , - AC_CHECK_LIB(crypto, EVP_EncryptInit, - [ - AC_DEFINE(HAVE_SSL_EVP) diff --git a/package/vtun/vtun-003-fixup-configure.in.patch b/package/vtun/vtun-003-fixup-configure.in.patch deleted file mode 100644 index cb2ac67aa2..0000000000 --- a/package/vtun/vtun-003-fixup-configure.in.patch +++ /dev/null @@ -1,92 +0,0 @@ -configure.in: minimal syntax fixup for autoreconf - -This is the strictly minimal syntax fixups to make autoreconf happy... - -Signed-off-by: "Yann E. MORIN" - ---- -Note: configure.in is still full of incorrect syntax, but fixing it is -a task for another day, and would have to be upstreamed. But upstream -looks to be moribund at best, if not dead... :-( - -So, keep it for ourselves for now... Too bad, vtun is really helpfull. - ---- vtun-3.0.3.orig/configure.in 2013-02-16 23:54:52.582451817 +0100 -+++ vtun-3.0.3/configure.in 2013-02-17 00:03:13.640887353 +0100 -@@ -110,10 +110,10 @@ - AC_SEARCH_LIBS(nanosleep, rt posix4) - - dnl Check for setproctitle in libutil --AC_SEARCH_LIBS(setproctitle, util bsd, AC_DEFINE(HAVE_SETPROC_TITLE) ) -+AC_SEARCH_LIBS(setproctitle, util bsd, AC_DEFINE([HAVE_SETPROC_TITLE],[],[Define to set title in /proc]) ) - - if test "$SHAPER" = "yes"; then -- AC_DEFINE(HAVE_SHAPER) -+ AC_DEFINE([HAVE_SHAPER],[],[Define to use shapper]) - fi - - if test "$ZLIB" = "yes"; then -@@ -121,7 +121,7 @@ - AC_CHECKING( for ZLIB Library and Header files ... ) - AC_CHECK_LIB(z, deflate, - LIBS="$LIBS -lz" -- AC_DEFINE(HAVE_ZLIB), -+ AC_DEFINE([HAVE_ZLIB],[],[Define to use ZLIB]), - AC_MSG_ERROR( Zlib library not found.) - ) - fi -@@ -148,7 +148,7 @@ - AC_CHECK_LIB($I, lzo1x_decompress, - [ - LIBS="$LIBS -l"$I -- AC_DEFINE(HAVE_LZO) -+ AC_DEFINE([HAVE_LZO],[],[Define to use LZO]) - havelzo=1 - ] - ) -@@ -180,8 +180,8 @@ - AC_CHECK_LIB(crypto, BF_set_key, - [ - LIBS="$LIBS -lcrypto" -- AC_DEFINE(HAVE_SSL) -- AC_DEFINE(HAVE_SSL_BLOWFISH) -+ AC_DEFINE([HAVE_SSL],[],[Define to use SSL]) -+ AC_DEFINE([HAVE_SSL_BLOWFISH],[],[Define to use blowfish]) - ], - AC_MSG_ERROR( SSL library not found. ) - ), -@@ -196,7 +196,7 @@ - $SSL_HDR_DIR , - AC_CHECK_LIB(crypto, AES_set_encrypt_key, - [ -- AC_DEFINE(HAVE_SSL_AES) -+ AC_DEFINE([HAVE_SSL_AES],[],[Define to use AES]) - ], - AC_MSG_ERROR( AES library not found. ) - ), -@@ -211,7 +211,7 @@ - $SSL_HDR_DIR , - AC_CHECK_LIB(crypto, EVP_EncryptInit, - [ -- AC_DEFINE(HAVE_SSL_EVP) -+ AC_DEFINE([HAVE_SSL_EVP],[],Define to use EVP) - ], - AC_MSG_ERROR( EVP library not found. ) - ), -@@ -220,7 +220,7 @@ - fi - - if test "$NATHACK" = "yes"; then -- AC_DEFINE(ENABLE_NAT_HACK) -+ AC_DEFINE([ENABLE_NAT_HACK],[],[Define to use NAT hack]) - fi - - if test "$SOCKS" = "yes"; then -@@ -274,6 +274,6 @@ - REL=`echo 'BRANCH-3_X' | tr -d '$: \-' | sed 's/^[A-Za-z]*//' | sed 's/\_/\./'` - changequote([,]) - --AC_DEFINE_UNQUOTED(VTUN_VER, "$REL `date '+%m/%d/%Y'`") -+AC_DEFINE_UNQUOTED([VTUN_VER], ["$REL `date '+%m/%d/%Y'`"], [vtun version]) - - AC_OUTPUT(Makefile) diff --git a/package/webkit/0001-build-fix-for-32-bit-autotools.patch b/package/webkit/0001-build-fix-for-32-bit-autotools.patch new file mode 100644 index 0000000000..d7765ead0e --- /dev/null +++ b/package/webkit/0001-build-fix-for-32-bit-autotools.patch @@ -0,0 +1,34 @@ +Add missing symbol for WebCore::TextIterator::getLocationAndLengthFromRange + +Signed-off-by: Markos Chandras + +From f5bb58f9096061f00c948e668335811d364ba360 Mon Sep 17 00:00:00 2001 +From: "kov@webkit.org" +Date: Thu, 7 Feb 2013 13:48:46 +0000 +Subject: [PATCH] Unreviewed build fix after r141196 for 32 bits autotools. + +* Source/autotools/symbols.filter: restore 32 bits version of the +WebCore::TextIterator::getLocationAndLengthFromRange(WebCore::Node*, +WebCore::Range const*, unsigned int&, unsigned int&) symbol. + +git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142105 268f45cc-cd09-0410-ab3c-d52691b4dbfc +--- + ChangeLog | 8 ++++++++ + Source/autotools/symbols.filter | 1 + + 2 files changed, 9 insertions(+) + +diff --git a/Source/autotools/symbols.filter b/Source/autotools/symbols.filter +index 9d730b3..2edefaf 100644 +--- a/Source/autotools/symbols.filter ++++ b/Source/autotools/symbols.filter +@@ -57,6 +57,7 @@ _ZN7WebCore11HistoryItem16setDocumentStateERKN3WTF6VectorINS1_6StringELj0EEE; + _ZN7WebCore11HistoryItem16setDocumentStateERKN3WTF6VectorINS1_6StringELm0EEE; + _ZN7WebCore11MemoryCache14resourceForURLERKNS_4KURLE; + _ZN7WebCore12TextIterator26rangeFromLocationAndLengthEPNS_13ContainerNodeEiib; ++_ZN7WebCore12TextIterator29getLocationAndLengthFromRangeEPNS_4NodeEPKNS_5RangeERjS6_; + _ZN7WebCore12TextIterator29getLocationAndLengthFromRangeEPNS_4NodeEPKNS_5RangeERmS6_; + _ZN7WebCore12PrintContext20pageNumberForElementEPNS_7ElementERKNS_9FloatSizeE; + _ZN7WebCore13createWrapperEPN3JSC9ExecStateEPNS_17JSDOMGlobalObjectEPNS_4NodeE; +-- +1.8.3.2 + diff --git a/package/webkit/0002-build-fix-for-gtklauncher.patch b/package/webkit/0002-build-fix-for-gtklauncher.patch new file mode 100644 index 0000000000..9a840b62fe --- /dev/null +++ b/package/webkit/0002-build-fix-for-gtklauncher.patch @@ -0,0 +1,51 @@ +Make gstreamer support conditional + +Signed-off-by: Markos Chandras + +From f1055f61bce46eccf8dc0aa017113a08d3d71944 Mon Sep 17 00:00:00 2001 +From: "commit-queue@webkit.org" + +Date: Fri, 15 Mar 2013 07:13:51 +0000 +Subject: [PATCH] Build fix for Tools/GtkLauncher/Programs_GtkLauncher-main.o + if gstreamer is not installed https://bugs.webkit.org/show_bug.cgi?id=112394 + +Patch by Tobias Mueller on 2013-03-15 +Reviewed by Philippe Normand. + +* GtkLauncher/main.c: +(main): Guard using the gstreamer function with #ifdef WTF_USE_GSTREAMER + +git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145881 268f45cc-cd09-0410-ab3c-d52691b4dbfc +--- + Tools/ChangeLog | 10 ++++++++++ + Tools/GtkLauncher/main.c | 5 ++++- + 2 files changed, 14 insertions(+), 1 deletion(-) + +diff --git a/Tools/GtkLauncher/main.c b/Tools/GtkLauncher/main.c +index 32baf4a..84c8833 100644 +--- a/Tools/GtkLauncher/main.c ++++ b/Tools/GtkLauncher/main.c +@@ -28,7 +28,9 @@ + #include "autotoolsconfig.h" + #include "LauncherInspectorWindow.h" + #include ++#ifdef WTF_USE_GSTREAMER + #include ++#endif + #include + #include + #include +@@ -489,8 +491,9 @@ int main(int argc, char* argv[]) + GOptionContext *context = g_option_context_new(0); + g_option_context_add_main_entries(context, commandLineOptions, 0); + g_option_context_add_group(context, gtk_get_option_group(TRUE)); ++#ifdef WTF_USE_GSTREAMER + g_option_context_add_group(context, gst_init_get_option_group()); +- ++#endif + webkitSettings = webkit_web_settings_new(); + g_object_set(webkitSettings, "enable-developer-extras", TRUE, NULL); + if (!addWebSettingsGroupToContext(context, webkitSettings)) { +-- +1.8.3.2 + diff --git a/package/webkit/0003-detect-harfbuzz-icu.patch b/package/webkit/0003-detect-harfbuzz-icu.patch new file mode 100644 index 0000000000..dc93c67e33 --- /dev/null +++ b/package/webkit/0003-detect-harfbuzz-icu.patch @@ -0,0 +1,28 @@ +harfbuzz-icu detections based on the following upstream commits + +- 5f3ae29ffb29c499c1825578ba7f3ffcbf1aa8b9 +- ad2a23ec44b692bde43a13b658990770caa8dfc5 +- 22b4786377142424bfb6562ff029997acd0846d1 + +Signed-off-by: Markos Chandras + +Index: webkit-1.11.5/configure.ac +=================================================================== +--- webkit-1.11.5.orig/configure.ac ++++ webkit-1.11.5/configure.ac +@@ -938,6 +938,15 @@ PKG_CHECK_MODULES([FREETYPE], + freetype2 >= $FREETYPE2_REQUIRED_VERSION + harfbuzz]) + fi ++# HarfBuzz 0.9.18 splits harbuzz-icu into a separate library. ++# Since we support earlier HarfBuzz versions we keep this conditional for now. ++m4_define([harfbuzz_required_version], [0.9.7]) ++if $PKG_CONFIG --atleast-version 0.9.18 harfbuzz; then ++ PKG_CHECK_MODULES([HARFBUZZ_ICU], [harfbuzz-icu >= $harfbuzz_required_version]) ++ FREETYPE_CFLAGS+=" $HARFBUZZ_ICU_CFLAGS" ++ FREETYPE_LIBS+=" $HARFBUZZ_ICU_LIBS" ++fi ++ + AC_SUBST([FREETYPE_CFLAGS]) + AC_SUBST([FREETYPE_LIBS]) + diff --git a/package/webkit/0004-disable-docrebase.patch b/package/webkit/0004-disable-docrebase.patch new file mode 100644 index 0000000000..2692d617a4 --- /dev/null +++ b/package/webkit/0004-disable-docrebase.patch @@ -0,0 +1,27 @@ +This patch prevents documentation from being rebased or installed. This +prevents an error when gtk-doc --rebase is called. + +Signed-off-by: Spenser Gilliland +Signed-off-by: Markos Chandras + +Index: webkit-1.11.5/Tools/GNUmakefile.am +=================================================================== +--- webkit-1.11.5.orig/Tools/GNUmakefile.am ++++ webkit-1.11.5/Tools/GNUmakefile.am +@@ -308,6 +308,8 @@ EXTRA_DIST += \ + Tools/Scripts/webkit-build-directory \ + Tools/Scripts/webkitdirs.pm + ++if ENABLE_GTK_DOC ++ + docs: docs-build.stamp + .PHONY : docs + DISTCLEANFILES += docs-build.stamp +@@ -412,7 +414,6 @@ if ENABLE_WEBKIT2 + rm -rf $${installdir} + endif + +-if ENABLE_GTK_DOC + all: docs-build.stamp + endif + diff --git a/package/webkit/0005-disable-tests.patch b/package/webkit/0005-disable-tests.patch new file mode 100644 index 0000000000..6fa6daae6b --- /dev/null +++ b/package/webkit/0005-disable-tests.patch @@ -0,0 +1,80 @@ +This prevents the Webkit test suites from being built. + +Signed-off-by: Spenser Gilliland +---- +Index: webkit-1.9.6/GNUmakefile.am +=================================================================== +--- webkit-1.9.6.orig/GNUmakefile.am 2012-08-06 03:17:24.000000000 -0500 ++++ webkit-1.9.6/GNUmakefile.am 2013-05-28 10:08:53.645129501 -0500 +@@ -282,11 +282,14 @@ + include Tools/DumpRenderTree/gtk/GNUmakefile.ImageDiff.am + + include Source/WebKit2/GNUmakefile.am +-include Source/WebKit2/UIProcess/API/gtk/tests/GNUmakefile.am + include Tools/MiniBrowser/gtk/GNUmakefile.am ++ ++if ENABLE_TESTS ++include Source/WebKit2/UIProcess/API/gtk/tests/GNUmakefile.am + include Tools/WebKitTestRunner/GNUmakefile.am + include Source/ThirdParty/gtest/GNUmakefile.am + include Tools/TestWebKitAPI/GNUmakefile.am ++endif # ENABLE_TESTS + # [GTK] Refactor the translations now that we have webkit2 + # https://bugs.webkit.org/show_bug.cgi?id=55153 + +Index: webkit-1.9.6/Source/WebKit/gtk/GNUmakefile.am +=================================================================== +--- webkit-1.9.6.orig/Source/WebKit/gtk/GNUmakefile.am 2012-07-19 05:02:29.000000000 -0500 ++++ webkit-1.9.6/Source/WebKit/gtk/GNUmakefile.am 2013-05-28 10:09:49.277130516 -0500 +@@ -413,6 +413,7 @@ + dist_resources_DATA = \ + $(shell ls $(srcdir)/Source/WebKit/gtk/resources/*.html) + ++if ENABLE_TESTS + # Build unit tests + webkit_tests_cflags = \ + -fno-strict-aliasing \ +@@ -613,6 +614,8 @@ + Programs_unittests_testcopyandpaste_LDADD = $(webkit_tests_ldadd) + Programs_unittests_testcopyandpaste_LDFLAGS = $(webkit_tests_ldflags) + ++endif # ENABLE_TESTS ++ + # Project-wide clean rules + # Files that will be cleaned + CLEANFILES += \ +Index: webkit-1.9.6/configure.ac +=================================================================== +--- webkit-1.9.6.orig/configure.ac 2012-08-06 08:45:10.000000000 -0500 ++++ webkit-1.9.6/configure.ac 2013-05-28 10:07:55.817128445 -0500 +@@ -516,6 +516,14 @@ + AC_SUBST(CAIRO_CFLAGS) + AC_SUBST(CAIRO_LIBS) + ++# check wheter to build tests ++AC_MSG_CHECKING([wheter to build tests]) ++AC_ARG_ENABLE(tests, ++ AC_HELP_STRING([--enable-tests], ++ [turn on tests [default=no]]), ++ [],[enable_debug="no"]) ++AC_MSG_RESULT([$enable_tests]) ++ + # check whether to build with debugging enabled + AC_MSG_CHECKING([whether to do a debug build]) + AC_ARG_ENABLE(debug, +@@ -1423,6 +1431,7 @@ + AM_CONDITIONAL([USE_FARSTREAM], [test "$have_farstream" = "yes"]) + + # WebKit feature conditionals ++AM_CONDITIONAL([ENABLE_TESTS],[test "$enable_tests" = "yes"]) + AM_CONDITIONAL([ENABLE_DEBUG],[test "$enable_debug_features" = "yes"]) + AM_CONDITIONAL([ENABLE_UNSTABLE_FEATURES],[test "$enable_unstable_features" = "yes"]) + AM_CONDITIONAL([ENABLE_WEBGL],[test "$enable_webgl" = "yes"]) +@@ -1534,6 +1543,7 @@ + WebKit was configured with the following options: + + Build configuration: ++ Enable tests (slow) : $enable_tests + Enable debugging (slow) : $enable_debug + Compile with debug symbols (slow) : $enable_debug_symbols + Enable debug features (slow) : $enable_debug_features diff --git a/package/webkit/0006-execinfo_h.patch b/package/webkit/0006-execinfo_h.patch new file mode 100644 index 0000000000..f5508a1cb1 --- /dev/null +++ b/package/webkit/0006-execinfo_h.patch @@ -0,0 +1,20 @@ +Fixes uclibc build as uclibc does not include backtrace functionality + +Signed-of-by: Spenser Gilliland +Signed-of-by: Markos Chandras + +Index: webkit-1.11.5/Source/WTF/wtf/Assertions.cpp +=================================================================== +--- webkit-1.11.5.orig/Source/WTF/wtf/Assertions.cpp ++++ webkit-1.11.5/Source/WTF/wtf/Assertions.cpp +@@ -61,8 +61,10 @@ + #if (OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))) && !OS(ANDROID) + #include + #include ++#if !defined(__UCLIBC__) + #include + #endif ++#endif + + #if OS(ANDROID) + #include "android/log.h" diff --git a/package/webkit/0007-mips-dfg.patch b/package/webkit/0007-mips-dfg.patch new file mode 100644 index 0000000000..39259514b9 --- /dev/null +++ b/package/webkit/0007-mips-dfg.patch @@ -0,0 +1,1490 @@ +Upstream patch for DFG implementation for MIPS + +Signed-off-by: Markos Chandras + +From c921d19863ccf66bdd0ffa5d38eaf05efab6b136 Mon Sep 17 00:00:00 2001 +From: "commit-queue@webkit.org" + +Date: Mon, 18 Feb 2013 19:25:23 +0000 +Subject: [PATCH] MIPS DFG implementation. + https://bugs.webkit.org/show_bug.cgi?id=101328 + +Patch by Balazs Kilvady on 2013-02-18 +Reviewed by Oliver Hunt. + +DFG implementation for MIPS. + +Source/JavaScriptCore: + +* assembler/MIPSAssembler.h: +(JSC::MIPSAssembler::MIPSAssembler): +(JSC::MIPSAssembler::sllv): +(JSC::MIPSAssembler::movd): +(MIPSAssembler): +(JSC::MIPSAssembler::negd): +(JSC::MIPSAssembler::labelForWatchpoint): +(JSC::MIPSAssembler::label): +(JSC::MIPSAssembler::vmov): +(JSC::MIPSAssembler::linkDirectJump): +(JSC::MIPSAssembler::maxJumpReplacementSize): +(JSC::MIPSAssembler::revertJumpToMove): +(JSC::MIPSAssembler::replaceWithJump): +* assembler/MacroAssembler.h: +(MacroAssembler): +(JSC::MacroAssembler::poke): +* assembler/MacroAssemblerMIPS.h: +(JSC::MacroAssemblerMIPS::add32): +(MacroAssemblerMIPS): +(JSC::MacroAssemblerMIPS::and32): +(JSC::MacroAssemblerMIPS::lshift32): +(JSC::MacroAssemblerMIPS::mul32): +(JSC::MacroAssemblerMIPS::or32): +(JSC::MacroAssemblerMIPS::rshift32): +(JSC::MacroAssemblerMIPS::urshift32): +(JSC::MacroAssemblerMIPS::sub32): +(JSC::MacroAssemblerMIPS::xor32): +(JSC::MacroAssemblerMIPS::store32): +(JSC::MacroAssemblerMIPS::jump): +(JSC::MacroAssemblerMIPS::branchAdd32): +(JSC::MacroAssemblerMIPS::branchMul32): +(JSC::MacroAssemblerMIPS::branchSub32): +(JSC::MacroAssemblerMIPS::branchNeg32): +(JSC::MacroAssemblerMIPS::call): +(JSC::MacroAssemblerMIPS::loadDouble): +(JSC::MacroAssemblerMIPS::moveDouble): +(JSC::MacroAssemblerMIPS::swapDouble): +(JSC::MacroAssemblerMIPS::subDouble): +(JSC::MacroAssemblerMIPS::mulDouble): +(JSC::MacroAssemblerMIPS::divDouble): +(JSC::MacroAssemblerMIPS::negateDouble): +(JSC::MacroAssemblerMIPS::branchEqual): +(JSC::MacroAssemblerMIPS::branchNotEqual): +(JSC::MacroAssemblerMIPS::branchTruncateDoubleToInt32): +(JSC::MacroAssemblerMIPS::branchTruncateDoubleToUint32): +(JSC::MacroAssemblerMIPS::truncateDoubleToInt32): +(JSC::MacroAssemblerMIPS::truncateDoubleToUint32): +(JSC::MacroAssemblerMIPS::branchDoubleNonZero): +(JSC::MacroAssemblerMIPS::branchDoubleZeroOrNaN): +(JSC::MacroAssemblerMIPS::invert): +(JSC::MacroAssemblerMIPS::replaceWithJump): +(JSC::MacroAssemblerMIPS::maxJumpReplacementSize): +* dfg/DFGAssemblyHelpers.h: +(AssemblyHelpers): +(JSC::DFG::AssemblyHelpers::preserveReturnAddressAfterCall): +(JSC::DFG::AssemblyHelpers::restoreReturnAddressBeforeReturn): +(JSC::DFG::AssemblyHelpers::debugCall): +* dfg/DFGCCallHelpers.h: +(CCallHelpers): +(JSC::DFG::CCallHelpers::setupArguments): +(JSC::DFG::CCallHelpers::setupArgumentsWithExecState): +* dfg/DFGFPRInfo.h: +(DFG): +(FPRInfo): +(JSC::DFG::FPRInfo::toRegister): +(JSC::DFG::FPRInfo::toIndex): +(JSC::DFG::FPRInfo::debugName): +* dfg/DFGGPRInfo.h: +(DFG): +(GPRInfo): +(JSC::DFG::GPRInfo::toRegister): +(JSC::DFG::GPRInfo::toIndex): +(JSC::DFG::GPRInfo::debugName): +* dfg/DFGSpeculativeJIT.h: +(SpeculativeJIT): +* jit/JSInterfaceJIT.h: +(JSInterfaceJIT): +* runtime/JSGlobalData.h: +(JSC::ScratchBuffer::allocationSize): +(ScratchBuffer): + +Source/WTF: + +* wtf/Platform.h: + +git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143247 268f45cc-cd09-0410-ab3c-d52691b4dbfc +--- + Source/JavaScriptCore/ChangeLog | 90 ++++ + Source/JavaScriptCore/assembler/MIPSAssembler.h | 109 ++++- + Source/JavaScriptCore/assembler/MacroAssembler.h | 7 + + .../JavaScriptCore/assembler/MacroAssemblerMIPS.h | 480 +++++++++++++++++++-- + Source/JavaScriptCore/dfg/DFGAssemblyHelpers.h | 19 +- + Source/JavaScriptCore/dfg/DFGCCallHelpers.h | 92 ++-- + Source/JavaScriptCore/dfg/DFGFPRInfo.h | 68 +++ + Source/JavaScriptCore/dfg/DFGGPRInfo.h | 67 +++ + Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h | 4 +- + Source/JavaScriptCore/jit/JSInterfaceJIT.h | 4 + + Source/JavaScriptCore/runtime/JSGlobalData.h | 6 +- + Source/WTF/ChangeLog | 11 + + Source/WTF/wtf/Platform.h | 4 + + 13 files changed, 888 insertions(+), 73 deletions(-) + +diff --git a/Source/JavaScriptCore/assembler/MIPSAssembler.h b/Source/JavaScriptCore/assembler/MIPSAssembler.h +index 026f87e..7f553bb 100644 +--- a/Source/JavaScriptCore/assembler/MIPSAssembler.h ++++ b/Source/JavaScriptCore/assembler/MIPSAssembler.h +@@ -152,6 +152,8 @@ public: + typedef SegmentedVector Jumps; + + MIPSAssembler() ++ : m_indexOfLastWatchpoint(INT_MIN) ++ , m_indexOfTailOfLastWatchpoint(INT_MIN) + { + } + +@@ -325,7 +327,7 @@ public: + emitInst(0x00000000 | (rd << OP_SH_RD) | (rt << OP_SH_RT) | ((shamt & 0x1f) << OP_SH_SHAMT)); + } + +- void sllv(RegisterID rd, RegisterID rt, int rs) ++ void sllv(RegisterID rd, RegisterID rt, RegisterID rs) + { + emitInst(0x00000004 | (rd << OP_SH_RD) | (rt << OP_SH_RT) | (rs << OP_SH_RS)); + } +@@ -527,6 +529,16 @@ public: + emitInst(0x46200004 | (fd << OP_SH_FD) | (fs << OP_SH_FS)); + } + ++ void movd(FPRegisterID fd, FPRegisterID fs) ++ { ++ emitInst(0x46200006 | (fd << OP_SH_FD) | (fs << OP_SH_FS)); ++ } ++ ++ void negd(FPRegisterID fd, FPRegisterID fs) ++ { ++ emitInst(0x46200007 | (fd << OP_SH_FD) | (fs << OP_SH_FS)); ++ } ++ + void truncwd(FPRegisterID fd, FPRegisterID fs) + { + emitInst(0x4620000d | (fd << OP_SH_FD) | (fs << OP_SH_FS)); +@@ -619,9 +631,24 @@ public: + return m_buffer.label(); + } + ++ AssemblerLabel labelForWatchpoint() ++ { ++ AssemblerLabel result = m_buffer.label(); ++ if (static_cast(result.m_offset) != m_indexOfLastWatchpoint) ++ result = label(); ++ m_indexOfLastWatchpoint = result.m_offset; ++ m_indexOfTailOfLastWatchpoint = result.m_offset + maxJumpReplacementSize(); ++ return result; ++ } ++ + AssemblerLabel label() + { +- return m_buffer.label(); ++ AssemblerLabel result = m_buffer.label(); ++ while (UNLIKELY(static_cast(result.m_offset) < m_indexOfTailOfLastWatchpoint)) { ++ nop(); ++ result = m_buffer.label(); ++ } ++ return result; + } + + AssemblerLabel align(int alignment) +@@ -664,14 +691,24 @@ public: + // Assembly helpers for moving data between fp and registers. + void vmov(RegisterID rd1, RegisterID rd2, FPRegisterID rn) + { ++#if WTF_MIPS_ISA_REV(2) && WTF_MIPS_FP64 ++ mfc1(rd1, rn); ++ mfhc1(rd2, rn); ++#else + mfc1(rd1, rn); + mfc1(rd2, FPRegisterID(rn + 1)); ++#endif + } + + void vmov(FPRegisterID rd, RegisterID rn1, RegisterID rn2) + { ++#if WTF_MIPS_ISA_REV(2) && WTF_MIPS_FP64 ++ mtc1(rn1, rd); ++ mthc1(rn2, rd); ++#else + mtc1(rn1, rd); + mtc1(rn2, FPRegisterID(rd + 1)); ++#endif + } + + static unsigned getCallReturnOffset(AssemblerLabel call) +@@ -688,6 +725,35 @@ public: + // writable region of memory; to modify the code in an execute-only execuable + // pool the 'repatch' and 'relink' methods should be used. + ++ static size_t linkDirectJump(void* code, void* to) ++ { ++ MIPSWord* insn = reinterpret_cast(reinterpret_cast(code)); ++ size_t ops = 0; ++ int32_t slotAddr = reinterpret_cast(insn) + 4; ++ int32_t toAddr = reinterpret_cast(to); ++ ++ if ((slotAddr & 0xf0000000) != (toAddr & 0xf0000000)) { ++ // lui ++ *insn = 0x3c000000 | (MIPSRegisters::t9 << OP_SH_RT) | ((toAddr >> 16) & 0xffff); ++ ++insn; ++ // ori ++ *insn = 0x34000000 | (MIPSRegisters::t9 << OP_SH_RT) | (MIPSRegisters::t9 << OP_SH_RS) | (toAddr & 0xffff); ++ ++insn; ++ // jr ++ *insn = 0x00000008 | (MIPSRegisters::t9 << OP_SH_RS); ++ ++insn; ++ ops = 4 * sizeof(MIPSWord); ++ } else { ++ // j ++ *insn = 0x08000000 | ((toAddr & 0x0fffffff) >> 2); ++ ++insn; ++ ops = 2 * sizeof(MIPSWord); ++ } ++ // nop ++ *insn = 0x00000000; ++ return ops; ++ } ++ + void linkJump(AssemblerLabel from, AssemblerLabel to) + { + ASSERT(to.isSet()); +@@ -825,29 +891,36 @@ public: + #endif + } + +- static void revertJumpToMove(void* instructionStart, RegisterID rt, int imm) ++ static ptrdiff_t maxJumpReplacementSize() + { +- MIPSWord* insn = static_cast(instructionStart) + 1; +- ASSERT((*insn & 0xfc000000) == 0x34000000); +- *insn = (*insn & 0xfc1f0000) | (imm & 0xffff); +- cacheFlush(insn, sizeof(MIPSWord)); ++ return sizeof(MIPSWord) * 4; + } + +- static void replaceWithJump(void* instructionStart, void* to) ++ static void revertJumpToMove(void* instructionStart, RegisterID rt, int imm) + { +- MIPSWord* instruction = reinterpret_cast(instructionStart); +- intptr_t jumpTo = reinterpret_cast(to); ++ MIPSWord* insn = static_cast(instructionStart); ++ size_t codeSize = 2 * sizeof(MIPSWord); + + // lui +- instruction[0] = 0x3c000000 | (MIPSRegisters::t9 << OP_SH_RT) | ((jumpTo >> 16) & 0xffff); ++ *insn = 0x3c000000 | (rt << OP_SH_RT) | ((imm >> 16) & 0xffff); ++ ++insn; + // ori +- instruction[1] = 0x34000000 | (MIPSRegisters::t9 << OP_SH_RT) | (MIPSRegisters::t9 << OP_SH_RS) | (jumpTo & 0xffff); +- // jr +- instruction[2] = 0x00000008 | (MIPSRegisters::t9 << OP_SH_RS); +- // nop +- instruction[3] = 0x0; ++ *insn = 0x34000000 | (rt << OP_SH_RS) | (rt << OP_SH_RT) | (imm & 0xffff); ++ ++insn; ++ // if jr $t9 ++ if (*insn == 0x03200008) { ++ *insn = 0x00000000; ++ codeSize += sizeof(MIPSWord); ++ } ++ cacheFlush(insn, codeSize); ++ } + +- cacheFlush(instruction, sizeof(MIPSWord) * 4); ++ static void replaceWithJump(void* instructionStart, void* to) ++ { ++ ASSERT(!(bitwise_cast(instructionStart) & 3)); ++ ASSERT(!(bitwise_cast(to) & 3)); ++ size_t ops = linkDirectJump(instructionStart, to); ++ cacheFlush(instructionStart, ops); + } + + static void replaceWithLoad(void* instructionStart) +@@ -1023,6 +1096,8 @@ private: + + AssemblerBuffer m_buffer; + Jumps m_jumps; ++ int m_indexOfLastWatchpoint; ++ int m_indexOfTailOfLastWatchpoint; + }; + + } // namespace JSC +diff --git a/Source/JavaScriptCore/assembler/MacroAssembler.h b/Source/JavaScriptCore/assembler/MacroAssembler.h +index 60a93db..1f0c3de 100644 +--- a/Source/JavaScriptCore/assembler/MacroAssembler.h ++++ b/Source/JavaScriptCore/assembler/MacroAssembler.h +@@ -200,6 +200,13 @@ public: + } + #endif + ++#if CPU(MIPS) ++ void poke(FPRegisterID src, int index = 0) ++ { ++ ASSERT(!(index & 1)); ++ storeDouble(src, addressForPoke(index)); ++ } ++#endif + + // Backwards banches, these are currently all implemented using existing forwards branch mechanisms. + void branchPtr(RelationalCondition cond, RegisterID op1, TrustedImmPtr imm, Label target) +diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h b/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h +index 43ad434..4f14960 100644 +--- a/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h ++++ b/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h +@@ -114,6 +114,11 @@ public: + m_assembler.addu(dest, dest, src); + } + ++ void add32(RegisterID op1, RegisterID op2, RegisterID dest) ++ { ++ m_assembler.addu(dest, op1, op2); ++ } ++ + void add32(TrustedImm32 imm, RegisterID dest) + { + add32(imm, dest, dest); +@@ -267,6 +272,11 @@ public: + m_assembler.andInsn(dest, dest, src); + } + ++ void and32(RegisterID op1, RegisterID op2, RegisterID dest) ++ { ++ m_assembler.andInsn(dest, op1, op2); ++ } ++ + void and32(TrustedImm32 imm, RegisterID dest) + { + if (!imm.m_value && !m_fixedWidth) +@@ -283,9 +293,16 @@ public: + } + } + +- void lshift32(TrustedImm32 imm, RegisterID dest) ++ void and32(TrustedImm32 imm, RegisterID src, RegisterID dest) + { +- m_assembler.sll(dest, dest, imm.m_value); ++ if (!imm.m_value && !m_fixedWidth) ++ move(MIPSRegisters::zero, dest); ++ else if (imm.m_value > 0 && imm.m_value < 65535 && !m_fixedWidth) ++ m_assembler.andi(dest, src, imm.m_value); ++ else { ++ move(imm, immTempRegister); ++ m_assembler.andInsn(dest, src, immTempRegister); ++ } + } + + void lshift32(RegisterID shiftAmount, RegisterID dest) +@@ -293,11 +310,33 @@ public: + m_assembler.sllv(dest, dest, shiftAmount); + } + ++ void lshift32(RegisterID src, RegisterID shiftAmount, RegisterID dest) ++ { ++ m_assembler.sllv(dest, src, shiftAmount); ++ } ++ ++ void lshift32(TrustedImm32 imm, RegisterID dest) ++ { ++ move(imm, immTempRegister); ++ m_assembler.sllv(dest, dest, immTempRegister); ++ } ++ ++ void lshift32(RegisterID src, TrustedImm32 imm, RegisterID dest) ++ { ++ move(imm, immTempRegister); ++ m_assembler.sllv(dest, src, immTempRegister); ++ } ++ + void mul32(RegisterID src, RegisterID dest) + { + m_assembler.mul(dest, dest, src); + } + ++ void mul32(RegisterID op1, RegisterID op2, RegisterID dest) ++ { ++ m_assembler.mul(dest, op1, op2); ++ } ++ + void mul32(TrustedImm32 imm, RegisterID src, RegisterID dest) + { + if (!imm.m_value && !m_fixedWidth) +@@ -348,6 +387,24 @@ public: + m_assembler.orInsn(dest, dest, dataTempRegister); + } + ++ void or32(TrustedImm32 imm, RegisterID src, RegisterID dest) ++ { ++ if (!imm.m_value && !m_fixedWidth) ++ return; ++ ++ if (imm.m_value > 0 && imm.m_value < 65535 && !m_fixedWidth) { ++ m_assembler.ori(dest, src, imm.m_value); ++ return; ++ } ++ ++ /* ++ li dataTemp, imm ++ or dest, src, dataTemp ++ */ ++ move(imm, dataTempRegister); ++ m_assembler.orInsn(dest, src, dataTempRegister); ++ } ++ + void or32(RegisterID src, AbsoluteAddress dest) + { + load32(dest.m_ptr, dataTempRegister); +@@ -360,6 +417,11 @@ public: + m_assembler.srav(dest, dest, shiftAmount); + } + ++ void rshift32(RegisterID src, RegisterID shiftAmount, RegisterID dest) ++ { ++ m_assembler.srav(dest, src, shiftAmount); ++ } ++ + void rshift32(TrustedImm32 imm, RegisterID dest) + { + m_assembler.sra(dest, dest, imm.m_value); +@@ -375,16 +437,31 @@ public: + m_assembler.srlv(dest, dest, shiftAmount); + } + ++ void urshift32(RegisterID src, RegisterID shiftAmount, RegisterID dest) ++ { ++ m_assembler.srlv(dest, src, shiftAmount); ++ } ++ + void urshift32(TrustedImm32 imm, RegisterID dest) + { + m_assembler.srl(dest, dest, imm.m_value); + } + ++ void urshift32(RegisterID src, TrustedImm32 imm, RegisterID dest) ++ { ++ m_assembler.srl(dest, src, imm.m_value); ++ } ++ + void sub32(RegisterID src, RegisterID dest) + { + m_assembler.subu(dest, dest, src); + } + ++ void sub32(RegisterID op1, RegisterID op2, RegisterID dest) ++ { ++ m_assembler.subu(dest, op1, op2); ++ } ++ + void sub32(TrustedImm32 imm, RegisterID dest) + { + if (imm.m_value >= -32767 && imm.m_value <= 32768 +@@ -495,6 +572,11 @@ public: + m_assembler.xorInsn(dest, dest, src); + } + ++ void xor32(RegisterID op1, RegisterID op2, RegisterID dest) ++ { ++ m_assembler.xorInsn(dest, op1, op2); ++ } ++ + void xor32(TrustedImm32 imm, RegisterID dest) + { + if (imm.m_value == -1) { +@@ -510,6 +592,21 @@ public: + m_assembler.xorInsn(dest, dest, immTempRegister); + } + ++ void xor32(TrustedImm32 imm, RegisterID src, RegisterID dest) ++ { ++ if (imm.m_value == -1) { ++ m_assembler.nor(dest, src, MIPSRegisters::zero); ++ return; ++ } ++ ++ /* ++ li immTemp, imm ++ xor dest, dest, immTemp ++ */ ++ move(imm, immTempRegister); ++ m_assembler.xorInsn(dest, src, immTempRegister); ++ } ++ + void sqrtDouble(FPRegisterID src, FPRegisterID dst) + { + m_assembler.sqrtd(dst, src); +@@ -989,6 +1086,44 @@ public: + } + } + ++ void store32(TrustedImm32 imm, BaseIndex address) ++ { ++ if (address.offset >= -32768 && address.offset <= 32767 && !m_fixedWidth) { ++ /* ++ sll addrTemp, address.index, address.scale ++ addu addrTemp, addrTemp, address.base ++ sw src, address.offset(addrTemp) ++ */ ++ m_assembler.sll(addrTempRegister, address.index, address.scale); ++ m_assembler.addu(addrTempRegister, addrTempRegister, address.base); ++ if (!imm.m_value) ++ m_assembler.sw(MIPSRegisters::zero, addrTempRegister, address.offset); ++ else { ++ move(imm, immTempRegister); ++ m_assembler.sw(immTempRegister, addrTempRegister, address.offset); ++ } ++ } else { ++ /* ++ sll addrTemp, address.index, address.scale ++ addu addrTemp, addrTemp, address.base ++ lui immTemp, (address.offset + 0x8000) >> 16 ++ addu addrTemp, addrTemp, immTemp ++ sw src, (address.offset & 0xffff)(at) ++ */ ++ m_assembler.sll(addrTempRegister, address.index, address.scale); ++ m_assembler.addu(addrTempRegister, addrTempRegister, address.base); ++ m_assembler.lui(immTempRegister, (address.offset + 0x8000) >> 16); ++ m_assembler.addu(addrTempRegister, addrTempRegister, immTempRegister); ++ if (!imm.m_value && !m_fixedWidth) ++ m_assembler.sw(MIPSRegisters::zero, addrTempRegister, address.offset); ++ else { ++ move(imm, immTempRegister); ++ m_assembler.sw(immTempRegister, addrTempRegister, address.offset); ++ } ++ } ++ } ++ ++ + void store32(RegisterID src, const void* address) + { + /* +@@ -1336,6 +1471,15 @@ public: + m_fixedWidth = false; + } + ++ void jump(AbsoluteAddress address) ++ { ++ m_fixedWidth = true; ++ load32(address.m_ptr, MIPSRegisters::t9); ++ m_assembler.jr(MIPSRegisters::t9); ++ m_assembler.nop(); ++ m_fixedWidth = false; ++ } ++ + void moveDoubleToInts(FPRegisterID src, RegisterID dest1, RegisterID dest2) + { + m_assembler.vmov(dest1, dest2, src); +@@ -1404,6 +1548,53 @@ public: + return Jump(); + } + ++ Jump branchAdd32(ResultCondition cond, RegisterID op1, RegisterID op2, RegisterID dest) ++ { ++ ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero)); ++ if (cond == Overflow) { ++ /* ++ move dataTemp, op1 ++ xor cmpTemp, dataTemp, op2 ++ bltz cmpTemp, No_overflow # diff sign bit -> no overflow ++ addu dest, dataTemp, op2 ++ xor cmpTemp, dest, dataTemp ++ bgez cmpTemp, No_overflow # same sign big -> no overflow ++ nop ++ b Overflow ++ nop ++ nop ++ nop ++ nop ++ nop ++ No_overflow: ++ */ ++ move(op1, dataTempRegister); ++ m_assembler.xorInsn(cmpTempRegister, dataTempRegister, op2); ++ m_assembler.bltz(cmpTempRegister, 10); ++ m_assembler.addu(dest, dataTempRegister, op2); ++ m_assembler.xorInsn(cmpTempRegister, dest, dataTempRegister); ++ m_assembler.bgez(cmpTempRegister, 7); ++ m_assembler.nop(); ++ return jump(); ++ } ++ if (cond == Signed) { ++ add32(op1, op2, dest); ++ // Check if dest is negative. ++ m_assembler.slt(cmpTempRegister, dest, MIPSRegisters::zero); ++ return branchNotEqual(cmpTempRegister, MIPSRegisters::zero); ++ } ++ if (cond == Zero) { ++ add32(op1, op2, dest); ++ return branchEqual(dest, MIPSRegisters::zero); ++ } ++ if (cond == NonZero) { ++ add32(op1, op2, dest); ++ return branchNotEqual(dest, MIPSRegisters::zero); ++ } ++ ASSERT(0); ++ return Jump(); ++ } ++ + Jump branchAdd32(ResultCondition cond, TrustedImm32 imm, RegisterID dest) + { + move(imm, immTempRegister); +@@ -1417,6 +1608,111 @@ public: + return branchAdd32(cond, immTempRegister, dest); + } + ++ Jump branchAdd32(ResultCondition cond, TrustedImm32 imm, AbsoluteAddress dest) ++ { ++ ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero)); ++ if (cond == Overflow) { ++ /* ++ move dataTemp, dest ++ xori cmpTemp, dataTemp, imm ++ bltz cmpTemp, No_overflow # diff sign bit -> no overflow ++ addiu dataTemp, dataTemp, imm ++ move dest, dataTemp ++ xori cmpTemp, dataTemp, imm ++ bgez cmpTemp, No_overflow # same sign big -> no overflow ++ nop ++ b Overflow ++ nop ++ nop ++ nop ++ nop ++ nop ++ No_overflow: ++ */ ++ if (imm.m_value >= -32768 && imm.m_value <= 32767 && !m_fixedWidth) { ++ load32(dest.m_ptr, dataTempRegister); ++ m_assembler.xori(cmpTempRegister, dataTempRegister, imm.m_value); ++ m_assembler.bltz(cmpTempRegister, 10); ++ m_assembler.addiu(dataTempRegister, dataTempRegister, imm.m_value); ++ store32(dataTempRegister, dest.m_ptr); ++ m_assembler.xori(cmpTempRegister, dataTempRegister, imm.m_value); ++ m_assembler.bgez(cmpTempRegister, 7); ++ m_assembler.nop(); ++ } else { ++ load32(dest.m_ptr, dataTempRegister); ++ move(imm, immTempRegister); ++ m_assembler.xorInsn(cmpTempRegister, dataTempRegister, immTempRegister); ++ m_assembler.bltz(cmpTempRegister, 10); ++ m_assembler.addiu(dataTempRegister, dataTempRegister, immTempRegister); ++ store32(dataTempRegister, dest.m_ptr); ++ m_assembler.xori(cmpTempRegister, dataTempRegister, immTempRegister); ++ m_assembler.bgez(cmpTempRegister, 7); ++ m_assembler.nop(); ++ } ++ return jump(); ++ } ++ move(imm, immTempRegister); ++ load32(dest.m_ptr, dataTempRegister); ++ add32(immTempRegister, dataTempRegister); ++ store32(dataTempRegister, dest.m_ptr); ++ if (cond == Signed) { ++ // Check if dest is negative. ++ m_assembler.slt(cmpTempRegister, dataTempRegister, MIPSRegisters::zero); ++ return branchNotEqual(cmpTempRegister, MIPSRegisters::zero); ++ } ++ if (cond == Zero) ++ return branchEqual(dataTempRegister, MIPSRegisters::zero); ++ if (cond == NonZero) ++ return branchNotEqual(dataTempRegister, MIPSRegisters::zero); ++ ASSERT(0); ++ return Jump(); ++ } ++ ++ Jump branchMul32(ResultCondition cond, RegisterID src1, RegisterID src2, RegisterID dest) ++ { ++ ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero)); ++ if (cond == Overflow) { ++ /* ++ mult src, dest ++ mfhi dataTemp ++ mflo dest ++ sra addrTemp, dest, 31 ++ beq dataTemp, addrTemp, No_overflow # all sign bits (bit 63 to bit 31) are the same -> no overflow ++ nop ++ b Overflow ++ nop ++ nop ++ nop ++ nop ++ nop ++ No_overflow: ++ */ ++ m_assembler.mult(src1, src2); ++ m_assembler.mfhi(dataTempRegister); ++ m_assembler.mflo(dest); ++ m_assembler.sra(addrTempRegister, dest, 31); ++ m_assembler.beq(dataTempRegister, addrTempRegister, 7); ++ m_assembler.nop(); ++ return jump(); ++ } ++ if (cond == Signed) { ++ mul32(src1, src2, dest); ++ // Check if dest is negative. ++ m_assembler.slt(cmpTempRegister, dest, MIPSRegisters::zero); ++ return branchNotEqual(cmpTempRegister, MIPSRegisters::zero); ++ } ++ if (cond == Zero) { ++ mul32(src1, src2, dest); ++ return branchEqual(dest, MIPSRegisters::zero); ++ } ++ if (cond == NonZero) { ++ mul32(src1, src2, dest); ++ return branchNotEqual(dest, MIPSRegisters::zero); ++ } ++ ASSERT(0); ++ return Jump(); ++ } ++ + Jump branchMul32(ResultCondition cond, RegisterID src, RegisterID dest) + { + ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero)); +@@ -1465,8 +1761,7 @@ public: + Jump branchMul32(ResultCondition cond, TrustedImm32 imm, RegisterID src, RegisterID dest) + { + move(imm, immTempRegister); +- move(src, dest); +- return branchMul32(cond, immTempRegister, dest); ++ return branchMul32(cond, immTempRegister, src, dest); + } + + Jump branchSub32(ResultCondition cond, RegisterID src, RegisterID dest) +@@ -1525,8 +1820,60 @@ public: + Jump branchSub32(ResultCondition cond, RegisterID src, TrustedImm32 imm, RegisterID dest) + { + move(imm, immTempRegister); +- move(src, dest); +- return branchSub32(cond, immTempRegister, dest); ++ return branchSub32(cond, src, immTempRegister, dest); ++ } ++ ++ Jump branchSub32(ResultCondition cond, RegisterID op1, RegisterID op2, RegisterID dest) ++ { ++ ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero)); ++ if (cond == Overflow) { ++ /* ++ move dataTemp, op1 ++ xor cmpTemp, dataTemp, op2 ++ bgez cmpTemp, No_overflow # same sign bit -> no overflow ++ subu dest, dataTemp, op2 ++ xor cmpTemp, dest, dataTemp ++ bgez cmpTemp, No_overflow # same sign bit -> no overflow ++ nop ++ b Overflow ++ nop ++ nop ++ nop ++ nop ++ nop ++ No_overflow: ++ */ ++ move(op1, dataTempRegister); ++ m_assembler.xorInsn(cmpTempRegister, dataTempRegister, op2); ++ m_assembler.bgez(cmpTempRegister, 10); ++ m_assembler.subu(dest, dataTempRegister, op2); ++ m_assembler.xorInsn(cmpTempRegister, dest, dataTempRegister); ++ m_assembler.bgez(cmpTempRegister, 7); ++ m_assembler.nop(); ++ return jump(); ++ } ++ if (cond == Signed) { ++ sub32(op1, op2, dest); ++ // Check if dest is negative. ++ m_assembler.slt(cmpTempRegister, dest, MIPSRegisters::zero); ++ return branchNotEqual(cmpTempRegister, MIPSRegisters::zero); ++ } ++ if (cond == Zero) { ++ sub32(op1, op2, dest); ++ return branchEqual(dest, MIPSRegisters::zero); ++ } ++ if (cond == NonZero) { ++ sub32(op1, op2, dest); ++ return branchNotEqual(dest, MIPSRegisters::zero); ++ } ++ ASSERT(0); ++ return Jump(); ++ } ++ ++ Jump branchNeg32(ResultCondition cond, RegisterID srcDest) ++ { ++ m_assembler.li(dataTempRegister, -1); ++ return branchMul32(cond, dataTempRegister, srcDest); + } + + Jump branchOr32(ResultCondition cond, RegisterID src, RegisterID dest) +@@ -1578,7 +1925,8 @@ public: + + Call call(RegisterID target) + { +- m_assembler.jalr(target); ++ move(target, MIPSRegisters::t9); ++ m_assembler.jalr(MIPSRegisters::t9); + m_assembler.nop(); + return Call(m_assembler.label(), Call::None); + } +@@ -1822,7 +2170,7 @@ public: + lui immTemp, (address.offset + 0x8000) >> 16 + addu addrTemp, addrTemp, immTemp + lwc1 dest, (address.offset & 0xffff)(at) +- lwc1 dest+4, (address.offset & 0xffff + 4)(at) ++ lwc1 dest+1, (address.offset & 0xffff + 4)(at) + */ + m_assembler.sll(addrTempRegister, address.index, address.scale); + m_assembler.addu(addrTempRegister, addrTempRegister, address.base); +@@ -2009,6 +2357,19 @@ public: + #endif + } + ++ void moveDouble(FPRegisterID src, FPRegisterID dest) ++ { ++ if (src != dest || m_fixedWidth) ++ m_assembler.movd(dest, src); ++ } ++ ++ void swapDouble(FPRegisterID fr1, FPRegisterID fr2) ++ { ++ moveDouble(fr1, fpTempRegister); ++ moveDouble(fr2, fr1); ++ moveDouble(fpTempRegister, fr2); ++ } ++ + void addDouble(FPRegisterID src, FPRegisterID dest) + { + m_assembler.addd(dest, dest, src); +@@ -2036,6 +2397,11 @@ public: + m_assembler.subd(dest, dest, src); + } + ++ void subDouble(FPRegisterID op1, FPRegisterID op2, FPRegisterID dest) ++ { ++ m_assembler.subd(dest, op1, op2); ++ } ++ + void subDouble(Address src, FPRegisterID dest) + { + loadDouble(src, fpTempRegister); +@@ -2053,11 +2419,32 @@ public: + m_assembler.muld(dest, dest, fpTempRegister); + } + ++ void mulDouble(FPRegisterID op1, FPRegisterID op2, FPRegisterID dest) ++ { ++ m_assembler.muld(dest, op1, op2); ++ } ++ + void divDouble(FPRegisterID src, FPRegisterID dest) + { + m_assembler.divd(dest, dest, src); + } + ++ void divDouble(FPRegisterID op1, FPRegisterID op2, FPRegisterID dest) ++ { ++ m_assembler.divd(dest, op1, op2); ++ } ++ ++ void divDouble(Address src, FPRegisterID dest) ++ { ++ loadDouble(src, fpTempRegister); ++ m_assembler.divd(dest, dest, fpTempRegister); ++ } ++ ++ void negateDouble(FPRegisterID src, FPRegisterID dest) ++ { ++ m_assembler.negd(dest, src); ++ } ++ + void convertInt32ToDouble(RegisterID src, FPRegisterID dest) + { + m_assembler.mtc1(src, fpTempRegister); +@@ -2117,6 +2504,8 @@ public: + + Jump branchEqual(RegisterID rs, RegisterID rt) + { ++ m_assembler.nop(); ++ m_assembler.nop(); + m_assembler.appendJump(); + m_assembler.beq(rs, rt, 0); + m_assembler.nop(); +@@ -2126,6 +2515,8 @@ public: + + Jump branchNotEqual(RegisterID rs, RegisterID rt) + { ++ m_assembler.nop(); ++ m_assembler.nop(); + m_assembler.appendJump(); + m_assembler.bne(rs, rt, 0); + m_assembler.nop(); +@@ -2192,11 +2583,33 @@ public: + // If the result is not representable as a 32 bit value, branch. + // May also branch for some values that are representable in 32 bits + // (specifically, in this case, INT_MAX 0x7fffffff). +- Jump branchTruncateDoubleToInt32(FPRegisterID src, RegisterID dest) ++ enum BranchTruncateType { BranchIfTruncateFailed, BranchIfTruncateSuccessful }; ++ Jump branchTruncateDoubleToInt32(FPRegisterID src, RegisterID dest, BranchTruncateType branchType = BranchIfTruncateFailed) ++ { ++ m_assembler.truncwd(fpTempRegister, src); ++ m_assembler.mfc1(dest, fpTempRegister); ++ return branch32(branchType == BranchIfTruncateFailed ? Equal : NotEqual, dest, TrustedImm32(0x7fffffff)); ++ } ++ ++ Jump branchTruncateDoubleToUint32(FPRegisterID src, RegisterID dest, BranchTruncateType branchType = BranchIfTruncateFailed) ++ { ++ m_assembler.truncwd(fpTempRegister, src); ++ m_assembler.mfc1(dest, fpTempRegister); ++ return branch32(branchType == BranchIfTruncateFailed ? Equal : NotEqual, dest, TrustedImm32(0)); ++ } ++ ++ // Result is undefined if the value is outside of the integer range. ++ void truncateDoubleToInt32(FPRegisterID src, RegisterID dest) ++ { ++ m_assembler.truncwd(fpTempRegister, src); ++ m_assembler.mfc1(dest, fpTempRegister); ++ } ++ ++ // Result is undefined if src > 2^31 ++ void truncateDoubleToUint32(FPRegisterID src, RegisterID dest) + { + m_assembler.truncwd(fpTempRegister, src); + m_assembler.mfc1(dest, fpTempRegister); +- return branch32(Equal, dest, TrustedImm32(0x7fffffff)); + } + + // Convert 'src' to an integer, and places the resulting 'dest'. +@@ -2218,28 +2631,43 @@ public: + + Jump branchDoubleNonZero(FPRegisterID reg, FPRegisterID scratch) + { +-#if WTF_MIPS_ISA_REV(2) && WTF_MIPS_FP64 +- m_assembler.mtc1(MIPSRegisters::zero, scratch); +- m_assembler.mthc1(MIPSRegisters::zero, scratch); +-#else +- m_assembler.mtc1(MIPSRegisters::zero, scratch); +- m_assembler.mtc1(MIPSRegisters::zero, FPRegisterID(scratch + 1)); +-#endif ++ m_assembler.vmov(scratch, MIPSRegisters::zero, MIPSRegisters::zero); + return branchDouble(DoubleNotEqual, reg, scratch); + } + + Jump branchDoubleZeroOrNaN(FPRegisterID reg, FPRegisterID scratch) + { +-#if WTF_MIPS_ISA_REV(2) && WTF_MIPS_FP64 +- m_assembler.mtc1(MIPSRegisters::zero, scratch); +- m_assembler.mthc1(MIPSRegisters::zero, scratch); +-#else +- m_assembler.mtc1(MIPSRegisters::zero, scratch); +- m_assembler.mtc1(MIPSRegisters::zero, FPRegisterID(scratch + 1)); +-#endif ++ m_assembler.vmov(scratch, MIPSRegisters::zero, MIPSRegisters::zero); + return branchDouble(DoubleEqualOrUnordered, reg, scratch); + } + ++ // Invert a relational condition, e.g. == becomes !=, < becomes >=, etc. ++ static RelationalCondition invert(RelationalCondition cond) ++ { ++ RelationalCondition r; ++ if (cond == Equal) ++ r = NotEqual; ++ else if (cond == NotEqual) ++ r = Equal; ++ else if (cond == Above) ++ r = BelowOrEqual; ++ else if (cond == AboveOrEqual) ++ r = Below; ++ else if (cond == Below) ++ r = AboveOrEqual; ++ else if (cond == BelowOrEqual) ++ r = Above; ++ else if (cond == GreaterThan) ++ r = LessThanOrEqual; ++ else if (cond == GreaterThanOrEqual) ++ r = LessThan; ++ else if (cond == LessThan) ++ r = GreaterThanOrEqual; ++ else if (cond == LessThanOrEqual) ++ r = GreaterThan; ++ return r; ++ } ++ + void nop() + { + m_assembler.nop(); +@@ -2252,12 +2680,12 @@ public: + + static void replaceWithJump(CodeLocationLabel instructionStart, CodeLocationLabel destination) + { +- RELEASE_ASSERT_NOT_REACHED(); ++ MIPSAssembler::replaceWithJump(instructionStart.dataLocation(), destination.dataLocation()); + } + + static ptrdiff_t maxJumpReplacementSize() + { +- RELEASE_ASSERT_NOT_REACHED(); ++ MIPSAssembler::maxJumpReplacementSize(); + return 0; + } + +diff --git a/Source/JavaScriptCore/dfg/DFGAssemblyHelpers.h b/Source/JavaScriptCore/dfg/DFGAssemblyHelpers.h +index fa0f5e0..573d8dc 100644 +--- a/Source/JavaScriptCore/dfg/DFGAssemblyHelpers.h ++++ b/Source/JavaScriptCore/dfg/DFGAssemblyHelpers.h +@@ -93,6 +93,23 @@ public: + } + #endif + ++#if CPU(MIPS) ++ ALWAYS_INLINE void preserveReturnAddressAfterCall(RegisterID reg) ++ { ++ move(returnAddressRegister, reg); ++ } ++ ++ ALWAYS_INLINE void restoreReturnAddressBeforeReturn(RegisterID reg) ++ { ++ move(reg, returnAddressRegister); ++ } ++ ++ ALWAYS_INLINE void restoreReturnAddressBeforeReturn(Address address) ++ { ++ loadPtr(address, returnAddressRegister); ++ } ++#endif ++ + void emitGetFromCallFrameHeaderPtr(JSStack::CallFrameHeaderEntry entry, GPRReg to) + { + loadPtr(Address(GPRInfo::callFrameRegister, entry * sizeof(Register)), to); +@@ -193,7 +210,7 @@ public: + move(TrustedImmPtr(scratchBuffer->activeLengthPtr()), GPRInfo::regT0); + storePtr(TrustedImmPtr(scratchSize), GPRInfo::regT0); + +-#if CPU(X86_64) || CPU(ARM) ++#if CPU(X86_64) || CPU(ARM) || CPU(MIPS) + move(TrustedImmPtr(buffer), GPRInfo::argumentGPR2); + move(TrustedImmPtr(argument), GPRInfo::argumentGPR1); + move(GPRInfo::callFrameRegister, GPRInfo::argumentGPR0); +diff --git a/Source/JavaScriptCore/dfg/DFGCCallHelpers.h b/Source/JavaScriptCore/dfg/DFGCCallHelpers.h +index 8adde05..3d99f6f 100644 +--- a/Source/JavaScriptCore/dfg/DFGCCallHelpers.h ++++ b/Source/JavaScriptCore/dfg/DFGCCallHelpers.h +@@ -576,6 +576,39 @@ public: + poke(GPRInfo::nonArgGPR0); + } + #endif // CPU(ARM_HARDFP) ++#elif CPU(MIPS) ++ ALWAYS_INLINE void setupArguments(FPRReg arg1) ++ { ++ moveDouble(arg1, FPRInfo::argumentFPR0); ++ } ++ ++ ALWAYS_INLINE void setupArguments(FPRReg arg1, FPRReg arg2) ++ { ++ if (arg2 != FPRInfo::argumentFPR0) { ++ moveDouble(arg1, FPRInfo::argumentFPR0); ++ moveDouble(arg2, FPRInfo::argumentFPR1); ++ } else if (arg1 != FPRInfo::argumentFPR1) { ++ moveDouble(arg2, FPRInfo::argumentFPR1); ++ moveDouble(arg1, FPRInfo::argumentFPR0); ++ } else { ++ // Swap arg1, arg2. ++ swapDouble(FPRInfo::argumentFPR0, FPRInfo::argumentFPR1); ++ } ++ } ++ ++ ALWAYS_INLINE void setupArgumentsWithExecState(FPRReg arg1, GPRReg arg2) ++ { ++ assembler().vmov(GPRInfo::argumentGPR2, GPRInfo::argumentGPR3, arg1); ++ move(GPRInfo::callFrameRegister, GPRInfo::argumentGPR0); ++ poke(arg2, 4); ++ } ++ ++ ALWAYS_INLINE void setupArgumentsWithExecState(GPRReg arg1, GPRReg arg2, FPRReg arg3) ++ { ++ setupStubArguments(arg1, arg2); ++ move(GPRInfo::callFrameRegister, GPRInfo::argumentGPR0); ++ poke(arg3, 4); ++ } + #else + #error "DFG JIT not supported on this platform." + #endif +@@ -803,119 +836,126 @@ public: + // These methods are suitable for any calling convention that provides for + // exactly 4 argument registers, e.g. ARMv7. + #if NUMBER_OF_ARGUMENT_REGISTERS == 4 ++ ++#if CPU(MIPS) ++#define POKE_ARGUMENT_OFFSET 4 ++#else ++#define POKE_ARGUMENT_OFFSET 0 ++#endif ++ + ALWAYS_INLINE void setupArgumentsWithExecState(GPRReg arg1, GPRReg arg2, GPRReg arg3, GPRReg arg4) + { +- poke(arg4); ++ poke(arg4, POKE_ARGUMENT_OFFSET); + setupArgumentsWithExecState(arg1, arg2, arg3); + } + + ALWAYS_INLINE void setupArgumentsWithExecState(GPRReg arg1, GPRReg arg2, GPRReg arg3, TrustedImm32 arg4) + { +- poke(arg4); ++ poke(arg4, POKE_ARGUMENT_OFFSET); + setupArgumentsWithExecState(arg1, arg2, arg3); + } + + ALWAYS_INLINE void setupArgumentsWithExecState(GPRReg arg1, TrustedImmPtr arg2, TrustedImm32 arg3, GPRReg arg4) + { +- poke(arg4); ++ poke(arg4, POKE_ARGUMENT_OFFSET); + setupArgumentsWithExecState(arg1, arg2, arg3); + } + + ALWAYS_INLINE void setupArgumentsWithExecState(GPRReg arg1, TrustedImmPtr arg2, TrustedImm32 arg3, GPRReg arg4, GPRReg arg5) + { +- poke(arg5, 1); +- poke(arg4); ++ poke(arg5, POKE_ARGUMENT_OFFSET + 1); ++ poke(arg4, POKE_ARGUMENT_OFFSET); + setupArgumentsWithExecState(arg1, arg2, arg3); + } + + ALWAYS_INLINE void setupArgumentsWithExecState(GPRReg arg1, GPRReg arg2, TrustedImm32 arg3, TrustedImm32 arg4) + { +- poke(arg4); ++ poke(arg4, POKE_ARGUMENT_OFFSET); + setupArgumentsWithExecState(arg1, arg2, arg3); + } + + ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImm32 arg1, TrustedImm32 arg2, GPRReg arg3, GPRReg arg4) + { +- poke(arg4); ++ poke(arg4, POKE_ARGUMENT_OFFSET); + setupArgumentsWithExecState(arg1, arg2, arg3); + } + + ALWAYS_INLINE void setupArgumentsWithExecState(GPRReg arg1, GPRReg arg2, GPRReg arg3, TrustedImmPtr arg4) + { +- poke(arg4); ++ poke(arg4, POKE_ARGUMENT_OFFSET); + setupArgumentsWithExecState(arg1, arg2, arg3); + } + + ALWAYS_INLINE void setupArgumentsWithExecState(GPRReg arg1, GPRReg arg2, GPRReg arg3, GPRReg arg4, GPRReg arg5) + { +- poke(arg5, 1); +- poke(arg4); ++ poke(arg5, POKE_ARGUMENT_OFFSET + 1); ++ poke(arg4, POKE_ARGUMENT_OFFSET); + setupArgumentsWithExecState(arg1, arg2, arg3); + } + + ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImm32 arg1, GPRReg arg2, GPRReg arg3, GPRReg arg4) + { +- poke(arg4); ++ poke(arg4, POKE_ARGUMENT_OFFSET); + setupArgumentsWithExecState(arg1, arg2, arg3); + } + + ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImm32 arg1, GPRReg arg2, GPRReg arg3, TrustedImmPtr arg4) + { +- poke(arg4); ++ poke(arg4, POKE_ARGUMENT_OFFSET); + setupArgumentsWithExecState(arg1, arg2, arg3); + } + + ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImm32 arg1, GPRReg arg2, TrustedImm32 arg3, TrustedImmPtr arg4) + { +- poke(arg4); ++ poke(arg4, POKE_ARGUMENT_OFFSET); + setupArgumentsWithExecState(arg1, arg2, arg3); + } + + ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImm32 arg1, GPRReg arg2, TrustedImm32 arg3, GPRReg arg4) + { +- poke(arg4); ++ poke(arg4, POKE_ARGUMENT_OFFSET); + setupArgumentsWithExecState(arg1, arg2, arg3); + } + + ALWAYS_INLINE void setupArgumentsWithExecState(GPRReg arg1, GPRReg arg2, TrustedImm32 arg3, GPRReg arg4, GPRReg arg5) + { +- poke(arg5, 1); +- poke(arg4); ++ poke(arg5, POKE_ARGUMENT_OFFSET + 1); ++ poke(arg4, POKE_ARGUMENT_OFFSET); + setupArgumentsWithExecState(arg1, arg2, arg3); + } + + ALWAYS_INLINE void setupArgumentsWithExecState(GPRReg arg1, GPRReg arg2, TrustedImm32 arg3, GPRReg arg4, TrustedImm32 arg5) + { +- poke(arg5, 1); +- poke(arg4); ++ poke(arg5, POKE_ARGUMENT_OFFSET + 1); ++ poke(arg4, POKE_ARGUMENT_OFFSET); + setupArgumentsWithExecState(arg1, arg2, arg3); + } + + ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImm32 arg1, GPRReg arg2, GPRReg arg3, GPRReg arg4, TrustedImmPtr arg5) + { +- poke(arg5, 1); +- poke(arg4); ++ poke(arg5, POKE_ARGUMENT_OFFSET + 1); ++ poke(arg4, POKE_ARGUMENT_OFFSET); + setupArgumentsWithExecState(arg1, arg2, arg3); + } + + ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImm32 arg1, GPRReg arg2, GPRReg arg3, TrustedImm32 arg4, TrustedImm32 arg5) + { +- poke(arg5, 1); +- poke(arg4); ++ poke(arg5, POKE_ARGUMENT_OFFSET + 1); ++ poke(arg4, POKE_ARGUMENT_OFFSET); + setupArgumentsWithExecState(arg1, arg2, arg3); + } + + ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImm32 arg1, TrustedImm32 arg2, TrustedImm32 arg3, GPRReg arg4, GPRReg arg5) + { +- poke(arg5, 1); +- poke(arg4); ++ poke(arg5, POKE_ARGUMENT_OFFSET + 1); ++ poke(arg4, POKE_ARGUMENT_OFFSET); + setupArgumentsWithExecState(arg1, arg2, arg3); + } + + ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImm32 arg1, GPRReg arg2, GPRReg arg3, GPRReg arg4, GPRReg arg5) + { +- poke(arg5, 1); +- poke(arg4); ++ poke(arg5, POKE_ARGUMENT_OFFSET + 1); ++ poke(arg4, POKE_ARGUMENT_OFFSET); + setupArgumentsWithExecState(arg1, arg2, arg3); + } + +diff --git a/Source/JavaScriptCore/dfg/DFGFPRInfo.h b/Source/JavaScriptCore/dfg/DFGFPRInfo.h +index 17aaa7d..e18ec06 100644 +--- a/Source/JavaScriptCore/dfg/DFGFPRInfo.h ++++ b/Source/JavaScriptCore/dfg/DFGFPRInfo.h +@@ -164,6 +164,74 @@ public: + + #endif + ++#if CPU(MIPS) ++ ++class FPRInfo { ++public: ++ typedef FPRReg RegisterType; ++ static const unsigned numberOfRegisters = 6; ++ ++ // Temporary registers. ++ static const FPRReg fpRegT0 = MIPSRegisters::f0; ++ static const FPRReg fpRegT1 = MIPSRegisters::f4; ++ static const FPRReg fpRegT2 = MIPSRegisters::f6; ++ static const FPRReg fpRegT3 = MIPSRegisters::f8; ++ static const FPRReg fpRegT4 = MIPSRegisters::f10; ++ static const FPRReg fpRegT5 = MIPSRegisters::f18; ++ ++ static const FPRReg returnValueFPR = MIPSRegisters::f0; ++ ++ static const FPRReg argumentFPR0 = MIPSRegisters::f12; ++ static const FPRReg argumentFPR1 = MIPSRegisters::f14; ++ ++ static FPRReg toRegister(unsigned index) ++ { ++ static const FPRReg registerForIndex[numberOfRegisters] = { ++ fpRegT0, fpRegT1, fpRegT2, fpRegT3, fpRegT4, fpRegT5 }; ++ ++ ASSERT(index < numberOfRegisters); ++ return registerForIndex[index]; ++ } ++ ++ static unsigned toIndex(FPRReg reg) ++ { ++ ASSERT(reg != InvalidFPRReg); ++ ASSERT(reg < 20); ++ static const unsigned indexForRegister[20] = { ++ 0, InvalidIndex, InvalidIndex, InvalidIndex, ++ 1, InvalidIndex, 2, InvalidIndex, ++ 3, InvalidIndex, 4, InvalidIndex, ++ InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex, ++ InvalidIndex, InvalidIndex, 5, InvalidIndex, ++ }; ++ unsigned result = indexForRegister[reg]; ++ ASSERT(result != InvalidIndex); ++ return result; ++ } ++ ++ static const char* debugName(FPRReg reg) ++ { ++ ASSERT(reg != InvalidFPRReg); ++ ASSERT(reg < 32); ++ static const char* nameForRegister[32] = { ++ "f0", "f1", "f2", "f3", ++ "f4", "f5", "f6", "f7", ++ "f8", "f9", "f10", "f11", ++ "f12", "f13", "f14", "f15" ++ "f16", "f17", "f18", "f19" ++ "f20", "f21", "f22", "f23" ++ "f24", "f25", "f26", "f27" ++ "f28", "f29", "f30", "f31" ++ }; ++ return nameForRegister[reg]; ++ } ++private: ++ ++ static const unsigned InvalidIndex = 0xffffffff; ++}; ++ ++#endif ++ + typedef RegisterBank::iterator fpr_iterator; + + } } // namespace JSC::DFG +diff --git a/Source/JavaScriptCore/dfg/DFGGPRInfo.h b/Source/JavaScriptCore/dfg/DFGGPRInfo.h +index 3d07556..aa634cd 100644 +--- a/Source/JavaScriptCore/dfg/DFGGPRInfo.h ++++ b/Source/JavaScriptCore/dfg/DFGGPRInfo.h +@@ -461,6 +461,73 @@ private: + + #endif + ++#if CPU(MIPS) ++#define NUMBER_OF_ARGUMENT_REGISTERS 4 ++ ++class GPRInfo { ++public: ++ typedef GPRReg RegisterType; ++ static const unsigned numberOfRegisters = 6; ++ ++ // Temporary registers. ++ static const GPRReg regT0 = MIPSRegisters::v0; ++ static const GPRReg regT1 = MIPSRegisters::v1; ++ static const GPRReg regT2 = MIPSRegisters::t4; ++ static const GPRReg regT3 = MIPSRegisters::t5; ++ static const GPRReg regT4 = MIPSRegisters::t6; ++ static const GPRReg regT5 = MIPSRegisters::t7; ++ // These registers match the baseline JIT. ++ static const GPRReg cachedResultRegister = regT0; ++ static const GPRReg cachedResultRegister2 = regT1; ++ static const GPRReg callFrameRegister = MIPSRegisters::s0; ++ // These constants provide the names for the general purpose argument & return value registers. ++ static const GPRReg argumentGPR0 = MIPSRegisters::a0; ++ static const GPRReg argumentGPR1 = MIPSRegisters::a1; ++ static const GPRReg argumentGPR2 = MIPSRegisters::a2; ++ static const GPRReg argumentGPR3 = MIPSRegisters::a3; ++ static const GPRReg nonArgGPR0 = regT2; ++ static const GPRReg nonArgGPR1 = regT3; ++ static const GPRReg nonArgGPR2 = regT4; ++ static const GPRReg returnValueGPR = regT0; ++ static const GPRReg returnValueGPR2 = regT1; ++ static const GPRReg nonPreservedNonReturnGPR = regT5; ++ ++ static GPRReg toRegister(unsigned index) ++ { ++ ASSERT(index < numberOfRegisters); ++ static const GPRReg registerForIndex[numberOfRegisters] = { regT0, regT1, regT2, regT3, regT4, regT5 }; ++ return registerForIndex[index]; ++ } ++ ++ static unsigned toIndex(GPRReg reg) ++ { ++ ASSERT(reg != InvalidGPRReg); ++ ASSERT(reg < 16); ++ static const unsigned indexForRegister[16] = { InvalidIndex, InvalidIndex, 0, 1, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex, 2, 3, 4, 5 }; ++ unsigned result = indexForRegister[reg]; ++ ASSERT(result != InvalidIndex); ++ return result; ++ } ++ ++ static const char* debugName(GPRReg reg) ++ { ++ ASSERT(reg != InvalidGPRReg); ++ ASSERT(reg < 16); ++ static const char* nameForRegister[16] = { ++ "zero", "at", "v0", "v1", ++ "a0", "a1", "a2", "a3", ++ "t0", "t1", "t2", "t3", ++ "t4", "t5", "t6", "t7" ++ }; ++ return nameForRegister[reg]; ++ } ++private: ++ ++ static const unsigned InvalidIndex = 0xffffffff; ++}; ++ ++#endif ++ + typedef RegisterBank::iterator gpr_iterator; + + } } // namespace JSC::DFG +diff --git a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h +index ea33f38..247274b 100644 +--- a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h ++++ b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h +@@ -1241,7 +1241,7 @@ public: + + // EncodedJSValue in JSVALUE32_64 is a 64-bit integer. When being compiled in ARM EABI, it must be aligned even-numbered register (r0, r2 or [sp]). + // To avoid assemblies from using wrong registers, let's occupy r1 or r3 with a dummy argument when necessary. +-#if COMPILER_SUPPORTS(EABI) && CPU(ARM) ++#if (COMPILER_SUPPORTS(EABI) && CPU(ARM)) || CPU(MIPS) + #define EABI_32BIT_DUMMY_ARG TrustedImm32(0), + #else + #define EABI_32BIT_DUMMY_ARG +@@ -1691,7 +1691,7 @@ public: + } + #endif + +-#if !defined(NDEBUG) && !CPU(ARM) ++#if !defined(NDEBUG) && !CPU(ARM) && !CPU(MIPS) + void prepareForExternalCall() + { + // We're about to call out to a "native" helper function. The helper +diff --git a/Source/JavaScriptCore/jit/JSInterfaceJIT.h b/Source/JavaScriptCore/jit/JSInterfaceJIT.h +index 7fdeaf0..48ad6b2 100644 +--- a/Source/JavaScriptCore/jit/JSInterfaceJIT.h ++++ b/Source/JavaScriptCore/jit/JSInterfaceJIT.h +@@ -125,6 +125,10 @@ namespace JSC { + static const RegisterID cachedResultRegister = MIPSRegisters::v0; + static const RegisterID firstArgumentRegister = MIPSRegisters::a0; + ++#if ENABLE(VALUE_PROFILER) ++ static const RegisterID bucketCounterRegister = MIPSRegisters::s3; ++#endif ++ + // regT0 must be v0 for returning a 32-bit value. + static const RegisterID regT0 = MIPSRegisters::v0; + +diff --git a/Source/JavaScriptCore/runtime/JSGlobalData.h b/Source/JavaScriptCore/runtime/JSGlobalData.h +index 5d47ab9..c02f336 100644 +--- a/Source/JavaScriptCore/runtime/JSGlobalData.h ++++ b/Source/JavaScriptCore/runtime/JSGlobalData.h +@@ -141,14 +141,18 @@ namespace JSC { + return result; + } + +- static size_t allocationSize(size_t bufferSize) { return sizeof(size_t) + bufferSize; } ++ static size_t allocationSize(size_t bufferSize) { return sizeof(ScratchBuffer) + bufferSize; } + void setActiveLength(size_t activeLength) { m_activeLength = activeLength; } + size_t activeLength() const { return m_activeLength; }; + size_t* activeLengthPtr() { return &m_activeLength; }; + void* dataBuffer() { return m_buffer; } + + size_t m_activeLength; ++#if CPU(MIPS) && (defined WTF_MIPS_ARCH_REV && WTF_MIPS_ARCH_REV == 2) ++ void* m_buffer[0] __attribute__((aligned(8))); ++#else + void* m_buffer[0]; ++#endif + }; + #if COMPILER(MSVC) + #pragma warning(pop) +diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h +index 1698247..2d90359 100644 +--- a/Source/WTF/wtf/Platform.h ++++ b/Source/WTF/wtf/Platform.h +@@ -818,6 +818,10 @@ + #if CPU(ARM_TRADITIONAL) + #define ENABLE_DFG_JIT 1 + #endif ++/* Enable the DFG JIT on MIPS. */ ++#if CPU(MIPS) ++#define ENABLE_DFG_JIT 1 ++#endif + #endif + + /* If the jit is not available, enable the LLInt C Loop: */ +-- +1.8.3.2 + diff --git a/package/webkit/0008-support-bison-3.0.patch b/package/webkit/0008-support-bison-3.0.patch new file mode 100644 index 0000000000..c081b207ee --- /dev/null +++ b/package/webkit/0008-support-bison-3.0.patch @@ -0,0 +1,22 @@ +ANGLE doesn't build with bison 3.0 + +Author: allan.jensen@digia.com +​https://bugs.webkit.org/show_bug.cgi?id=119798 +Reviewed by Antti Koivisto. +Make glslang.y compatible with bison 3.0, by using %lex-param +to set YYLEX_PARAM and getting rid of useless YYID macro. + +From upstream: http://trac.webkit.org/changeset/154109 +[Arnout: adapted to our older webkit version] +Signed-off-by: Arnout Vandecaeppelle (Essensium/Mind) +--- +Index: trunk/Source/ThirdParty/ANGLE/src/compiler/glslang.y +=================================================================== +--- trunk/Source/ThirdParty/ANGLE/src/compiler/glslang.y (revision 154108) ++++ trunk/Source/ThirdParty/ANGLE/src/compiler/glslang.y (revision 154109) +@@ -48,4 +48,5 @@ + %pure-parser + %parse-param {TParseContext* context} ++%lex-param {YYLEX_PARAM} + + %union { diff --git a/package/webkit/webkit-0001-build-fix-for-32-bit-autotools.patch b/package/webkit/webkit-0001-build-fix-for-32-bit-autotools.patch deleted file mode 100644 index d7765ead0e..0000000000 --- a/package/webkit/webkit-0001-build-fix-for-32-bit-autotools.patch +++ /dev/null @@ -1,34 +0,0 @@ -Add missing symbol for WebCore::TextIterator::getLocationAndLengthFromRange - -Signed-off-by: Markos Chandras - -From f5bb58f9096061f00c948e668335811d364ba360 Mon Sep 17 00:00:00 2001 -From: "kov@webkit.org" -Date: Thu, 7 Feb 2013 13:48:46 +0000 -Subject: [PATCH] Unreviewed build fix after r141196 for 32 bits autotools. - -* Source/autotools/symbols.filter: restore 32 bits version of the -WebCore::TextIterator::getLocationAndLengthFromRange(WebCore::Node*, -WebCore::Range const*, unsigned int&, unsigned int&) symbol. - -git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142105 268f45cc-cd09-0410-ab3c-d52691b4dbfc ---- - ChangeLog | 8 ++++++++ - Source/autotools/symbols.filter | 1 + - 2 files changed, 9 insertions(+) - -diff --git a/Source/autotools/symbols.filter b/Source/autotools/symbols.filter -index 9d730b3..2edefaf 100644 ---- a/Source/autotools/symbols.filter -+++ b/Source/autotools/symbols.filter -@@ -57,6 +57,7 @@ _ZN7WebCore11HistoryItem16setDocumentStateERKN3WTF6VectorINS1_6StringELj0EEE; - _ZN7WebCore11HistoryItem16setDocumentStateERKN3WTF6VectorINS1_6StringELm0EEE; - _ZN7WebCore11MemoryCache14resourceForURLERKNS_4KURLE; - _ZN7WebCore12TextIterator26rangeFromLocationAndLengthEPNS_13ContainerNodeEiib; -+_ZN7WebCore12TextIterator29getLocationAndLengthFromRangeEPNS_4NodeEPKNS_5RangeERjS6_; - _ZN7WebCore12TextIterator29getLocationAndLengthFromRangeEPNS_4NodeEPKNS_5RangeERmS6_; - _ZN7WebCore12PrintContext20pageNumberForElementEPNS_7ElementERKNS_9FloatSizeE; - _ZN7WebCore13createWrapperEPN3JSC9ExecStateEPNS_17JSDOMGlobalObjectEPNS_4NodeE; --- -1.8.3.2 - diff --git a/package/webkit/webkit-0002-build-fix-for-gtklauncher.patch b/package/webkit/webkit-0002-build-fix-for-gtklauncher.patch deleted file mode 100644 index 9a840b62fe..0000000000 --- a/package/webkit/webkit-0002-build-fix-for-gtklauncher.patch +++ /dev/null @@ -1,51 +0,0 @@ -Make gstreamer support conditional - -Signed-off-by: Markos Chandras - -From f1055f61bce46eccf8dc0aa017113a08d3d71944 Mon Sep 17 00:00:00 2001 -From: "commit-queue@webkit.org" - -Date: Fri, 15 Mar 2013 07:13:51 +0000 -Subject: [PATCH] Build fix for Tools/GtkLauncher/Programs_GtkLauncher-main.o - if gstreamer is not installed https://bugs.webkit.org/show_bug.cgi?id=112394 - -Patch by Tobias Mueller on 2013-03-15 -Reviewed by Philippe Normand. - -* GtkLauncher/main.c: -(main): Guard using the gstreamer function with #ifdef WTF_USE_GSTREAMER - -git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145881 268f45cc-cd09-0410-ab3c-d52691b4dbfc ---- - Tools/ChangeLog | 10 ++++++++++ - Tools/GtkLauncher/main.c | 5 ++++- - 2 files changed, 14 insertions(+), 1 deletion(-) - -diff --git a/Tools/GtkLauncher/main.c b/Tools/GtkLauncher/main.c -index 32baf4a..84c8833 100644 ---- a/Tools/GtkLauncher/main.c -+++ b/Tools/GtkLauncher/main.c -@@ -28,7 +28,9 @@ - #include "autotoolsconfig.h" - #include "LauncherInspectorWindow.h" - #include -+#ifdef WTF_USE_GSTREAMER - #include -+#endif - #include - #include - #include -@@ -489,8 +491,9 @@ int main(int argc, char* argv[]) - GOptionContext *context = g_option_context_new(0); - g_option_context_add_main_entries(context, commandLineOptions, 0); - g_option_context_add_group(context, gtk_get_option_group(TRUE)); -+#ifdef WTF_USE_GSTREAMER - g_option_context_add_group(context, gst_init_get_option_group()); -- -+#endif - webkitSettings = webkit_web_settings_new(); - g_object_set(webkitSettings, "enable-developer-extras", TRUE, NULL); - if (!addWebSettingsGroupToContext(context, webkitSettings)) { --- -1.8.3.2 - diff --git a/package/webkit/webkit-0003-detect-harfbuzz-icu.patch b/package/webkit/webkit-0003-detect-harfbuzz-icu.patch deleted file mode 100644 index dc93c67e33..0000000000 --- a/package/webkit/webkit-0003-detect-harfbuzz-icu.patch +++ /dev/null @@ -1,28 +0,0 @@ -harfbuzz-icu detections based on the following upstream commits - -- 5f3ae29ffb29c499c1825578ba7f3ffcbf1aa8b9 -- ad2a23ec44b692bde43a13b658990770caa8dfc5 -- 22b4786377142424bfb6562ff029997acd0846d1 - -Signed-off-by: Markos Chandras - -Index: webkit-1.11.5/configure.ac -=================================================================== ---- webkit-1.11.5.orig/configure.ac -+++ webkit-1.11.5/configure.ac -@@ -938,6 +938,15 @@ PKG_CHECK_MODULES([FREETYPE], - freetype2 >= $FREETYPE2_REQUIRED_VERSION - harfbuzz]) - fi -+# HarfBuzz 0.9.18 splits harbuzz-icu into a separate library. -+# Since we support earlier HarfBuzz versions we keep this conditional for now. -+m4_define([harfbuzz_required_version], [0.9.7]) -+if $PKG_CONFIG --atleast-version 0.9.18 harfbuzz; then -+ PKG_CHECK_MODULES([HARFBUZZ_ICU], [harfbuzz-icu >= $harfbuzz_required_version]) -+ FREETYPE_CFLAGS+=" $HARFBUZZ_ICU_CFLAGS" -+ FREETYPE_LIBS+=" $HARFBUZZ_ICU_LIBS" -+fi -+ - AC_SUBST([FREETYPE_CFLAGS]) - AC_SUBST([FREETYPE_LIBS]) - diff --git a/package/webkit/webkit-0004-disable-docrebase.patch b/package/webkit/webkit-0004-disable-docrebase.patch deleted file mode 100644 index 2692d617a4..0000000000 --- a/package/webkit/webkit-0004-disable-docrebase.patch +++ /dev/null @@ -1,27 +0,0 @@ -This patch prevents documentation from being rebased or installed. This -prevents an error when gtk-doc --rebase is called. - -Signed-off-by: Spenser Gilliland -Signed-off-by: Markos Chandras - -Index: webkit-1.11.5/Tools/GNUmakefile.am -=================================================================== ---- webkit-1.11.5.orig/Tools/GNUmakefile.am -+++ webkit-1.11.5/Tools/GNUmakefile.am -@@ -308,6 +308,8 @@ EXTRA_DIST += \ - Tools/Scripts/webkit-build-directory \ - Tools/Scripts/webkitdirs.pm - -+if ENABLE_GTK_DOC -+ - docs: docs-build.stamp - .PHONY : docs - DISTCLEANFILES += docs-build.stamp -@@ -412,7 +414,6 @@ if ENABLE_WEBKIT2 - rm -rf $${installdir} - endif - --if ENABLE_GTK_DOC - all: docs-build.stamp - endif - diff --git a/package/webkit/webkit-0005-disable-tests.patch b/package/webkit/webkit-0005-disable-tests.patch deleted file mode 100644 index 6fa6daae6b..0000000000 --- a/package/webkit/webkit-0005-disable-tests.patch +++ /dev/null @@ -1,80 +0,0 @@ -This prevents the Webkit test suites from being built. - -Signed-off-by: Spenser Gilliland ----- -Index: webkit-1.9.6/GNUmakefile.am -=================================================================== ---- webkit-1.9.6.orig/GNUmakefile.am 2012-08-06 03:17:24.000000000 -0500 -+++ webkit-1.9.6/GNUmakefile.am 2013-05-28 10:08:53.645129501 -0500 -@@ -282,11 +282,14 @@ - include Tools/DumpRenderTree/gtk/GNUmakefile.ImageDiff.am - - include Source/WebKit2/GNUmakefile.am --include Source/WebKit2/UIProcess/API/gtk/tests/GNUmakefile.am - include Tools/MiniBrowser/gtk/GNUmakefile.am -+ -+if ENABLE_TESTS -+include Source/WebKit2/UIProcess/API/gtk/tests/GNUmakefile.am - include Tools/WebKitTestRunner/GNUmakefile.am - include Source/ThirdParty/gtest/GNUmakefile.am - include Tools/TestWebKitAPI/GNUmakefile.am -+endif # ENABLE_TESTS - # [GTK] Refactor the translations now that we have webkit2 - # https://bugs.webkit.org/show_bug.cgi?id=55153 - -Index: webkit-1.9.6/Source/WebKit/gtk/GNUmakefile.am -=================================================================== ---- webkit-1.9.6.orig/Source/WebKit/gtk/GNUmakefile.am 2012-07-19 05:02:29.000000000 -0500 -+++ webkit-1.9.6/Source/WebKit/gtk/GNUmakefile.am 2013-05-28 10:09:49.277130516 -0500 -@@ -413,6 +413,7 @@ - dist_resources_DATA = \ - $(shell ls $(srcdir)/Source/WebKit/gtk/resources/*.html) - -+if ENABLE_TESTS - # Build unit tests - webkit_tests_cflags = \ - -fno-strict-aliasing \ -@@ -613,6 +614,8 @@ - Programs_unittests_testcopyandpaste_LDADD = $(webkit_tests_ldadd) - Programs_unittests_testcopyandpaste_LDFLAGS = $(webkit_tests_ldflags) - -+endif # ENABLE_TESTS -+ - # Project-wide clean rules - # Files that will be cleaned - CLEANFILES += \ -Index: webkit-1.9.6/configure.ac -=================================================================== ---- webkit-1.9.6.orig/configure.ac 2012-08-06 08:45:10.000000000 -0500 -+++ webkit-1.9.6/configure.ac 2013-05-28 10:07:55.817128445 -0500 -@@ -516,6 +516,14 @@ - AC_SUBST(CAIRO_CFLAGS) - AC_SUBST(CAIRO_LIBS) - -+# check wheter to build tests -+AC_MSG_CHECKING([wheter to build tests]) -+AC_ARG_ENABLE(tests, -+ AC_HELP_STRING([--enable-tests], -+ [turn on tests [default=no]]), -+ [],[enable_debug="no"]) -+AC_MSG_RESULT([$enable_tests]) -+ - # check whether to build with debugging enabled - AC_MSG_CHECKING([whether to do a debug build]) - AC_ARG_ENABLE(debug, -@@ -1423,6 +1431,7 @@ - AM_CONDITIONAL([USE_FARSTREAM], [test "$have_farstream" = "yes"]) - - # WebKit feature conditionals -+AM_CONDITIONAL([ENABLE_TESTS],[test "$enable_tests" = "yes"]) - AM_CONDITIONAL([ENABLE_DEBUG],[test "$enable_debug_features" = "yes"]) - AM_CONDITIONAL([ENABLE_UNSTABLE_FEATURES],[test "$enable_unstable_features" = "yes"]) - AM_CONDITIONAL([ENABLE_WEBGL],[test "$enable_webgl" = "yes"]) -@@ -1534,6 +1543,7 @@ - WebKit was configured with the following options: - - Build configuration: -+ Enable tests (slow) : $enable_tests - Enable debugging (slow) : $enable_debug - Compile with debug symbols (slow) : $enable_debug_symbols - Enable debug features (slow) : $enable_debug_features diff --git a/package/webkit/webkit-0006-execinfo_h.patch b/package/webkit/webkit-0006-execinfo_h.patch deleted file mode 100644 index f5508a1cb1..0000000000 --- a/package/webkit/webkit-0006-execinfo_h.patch +++ /dev/null @@ -1,20 +0,0 @@ -Fixes uclibc build as uclibc does not include backtrace functionality - -Signed-of-by: Spenser Gilliland -Signed-of-by: Markos Chandras - -Index: webkit-1.11.5/Source/WTF/wtf/Assertions.cpp -=================================================================== ---- webkit-1.11.5.orig/Source/WTF/wtf/Assertions.cpp -+++ webkit-1.11.5/Source/WTF/wtf/Assertions.cpp -@@ -61,8 +61,10 @@ - #if (OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))) && !OS(ANDROID) - #include - #include -+#if !defined(__UCLIBC__) - #include - #endif -+#endif - - #if OS(ANDROID) - #include "android/log.h" diff --git a/package/webkit/webkit-0007-mips-dfg.patch b/package/webkit/webkit-0007-mips-dfg.patch deleted file mode 100644 index 39259514b9..0000000000 --- a/package/webkit/webkit-0007-mips-dfg.patch +++ /dev/null @@ -1,1490 +0,0 @@ -Upstream patch for DFG implementation for MIPS - -Signed-off-by: Markos Chandras - -From c921d19863ccf66bdd0ffa5d38eaf05efab6b136 Mon Sep 17 00:00:00 2001 -From: "commit-queue@webkit.org" - -Date: Mon, 18 Feb 2013 19:25:23 +0000 -Subject: [PATCH] MIPS DFG implementation. - https://bugs.webkit.org/show_bug.cgi?id=101328 - -Patch by Balazs Kilvady on 2013-02-18 -Reviewed by Oliver Hunt. - -DFG implementation for MIPS. - -Source/JavaScriptCore: - -* assembler/MIPSAssembler.h: -(JSC::MIPSAssembler::MIPSAssembler): -(JSC::MIPSAssembler::sllv): -(JSC::MIPSAssembler::movd): -(MIPSAssembler): -(JSC::MIPSAssembler::negd): -(JSC::MIPSAssembler::labelForWatchpoint): -(JSC::MIPSAssembler::label): -(JSC::MIPSAssembler::vmov): -(JSC::MIPSAssembler::linkDirectJump): -(JSC::MIPSAssembler::maxJumpReplacementSize): -(JSC::MIPSAssembler::revertJumpToMove): -(JSC::MIPSAssembler::replaceWithJump): -* assembler/MacroAssembler.h: -(MacroAssembler): -(JSC::MacroAssembler::poke): -* assembler/MacroAssemblerMIPS.h: -(JSC::MacroAssemblerMIPS::add32): -(MacroAssemblerMIPS): -(JSC::MacroAssemblerMIPS::and32): -(JSC::MacroAssemblerMIPS::lshift32): -(JSC::MacroAssemblerMIPS::mul32): -(JSC::MacroAssemblerMIPS::or32): -(JSC::MacroAssemblerMIPS::rshift32): -(JSC::MacroAssemblerMIPS::urshift32): -(JSC::MacroAssemblerMIPS::sub32): -(JSC::MacroAssemblerMIPS::xor32): -(JSC::MacroAssemblerMIPS::store32): -(JSC::MacroAssemblerMIPS::jump): -(JSC::MacroAssemblerMIPS::branchAdd32): -(JSC::MacroAssemblerMIPS::branchMul32): -(JSC::MacroAssemblerMIPS::branchSub32): -(JSC::MacroAssemblerMIPS::branchNeg32): -(JSC::MacroAssemblerMIPS::call): -(JSC::MacroAssemblerMIPS::loadDouble): -(JSC::MacroAssemblerMIPS::moveDouble): -(JSC::MacroAssemblerMIPS::swapDouble): -(JSC::MacroAssemblerMIPS::subDouble): -(JSC::MacroAssemblerMIPS::mulDouble): -(JSC::MacroAssemblerMIPS::divDouble): -(JSC::MacroAssemblerMIPS::negateDouble): -(JSC::MacroAssemblerMIPS::branchEqual): -(JSC::MacroAssemblerMIPS::branchNotEqual): -(JSC::MacroAssemblerMIPS::branchTruncateDoubleToInt32): -(JSC::MacroAssemblerMIPS::branchTruncateDoubleToUint32): -(JSC::MacroAssemblerMIPS::truncateDoubleToInt32): -(JSC::MacroAssemblerMIPS::truncateDoubleToUint32): -(JSC::MacroAssemblerMIPS::branchDoubleNonZero): -(JSC::MacroAssemblerMIPS::branchDoubleZeroOrNaN): -(JSC::MacroAssemblerMIPS::invert): -(JSC::MacroAssemblerMIPS::replaceWithJump): -(JSC::MacroAssemblerMIPS::maxJumpReplacementSize): -* dfg/DFGAssemblyHelpers.h: -(AssemblyHelpers): -(JSC::DFG::AssemblyHelpers::preserveReturnAddressAfterCall): -(JSC::DFG::AssemblyHelpers::restoreReturnAddressBeforeReturn): -(JSC::DFG::AssemblyHelpers::debugCall): -* dfg/DFGCCallHelpers.h: -(CCallHelpers): -(JSC::DFG::CCallHelpers::setupArguments): -(JSC::DFG::CCallHelpers::setupArgumentsWithExecState): -* dfg/DFGFPRInfo.h: -(DFG): -(FPRInfo): -(JSC::DFG::FPRInfo::toRegister): -(JSC::DFG::FPRInfo::toIndex): -(JSC::DFG::FPRInfo::debugName): -* dfg/DFGGPRInfo.h: -(DFG): -(GPRInfo): -(JSC::DFG::GPRInfo::toRegister): -(JSC::DFG::GPRInfo::toIndex): -(JSC::DFG::GPRInfo::debugName): -* dfg/DFGSpeculativeJIT.h: -(SpeculativeJIT): -* jit/JSInterfaceJIT.h: -(JSInterfaceJIT): -* runtime/JSGlobalData.h: -(JSC::ScratchBuffer::allocationSize): -(ScratchBuffer): - -Source/WTF: - -* wtf/Platform.h: - -git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143247 268f45cc-cd09-0410-ab3c-d52691b4dbfc ---- - Source/JavaScriptCore/ChangeLog | 90 ++++ - Source/JavaScriptCore/assembler/MIPSAssembler.h | 109 ++++- - Source/JavaScriptCore/assembler/MacroAssembler.h | 7 + - .../JavaScriptCore/assembler/MacroAssemblerMIPS.h | 480 +++++++++++++++++++-- - Source/JavaScriptCore/dfg/DFGAssemblyHelpers.h | 19 +- - Source/JavaScriptCore/dfg/DFGCCallHelpers.h | 92 ++-- - Source/JavaScriptCore/dfg/DFGFPRInfo.h | 68 +++ - Source/JavaScriptCore/dfg/DFGGPRInfo.h | 67 +++ - Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h | 4 +- - Source/JavaScriptCore/jit/JSInterfaceJIT.h | 4 + - Source/JavaScriptCore/runtime/JSGlobalData.h | 6 +- - Source/WTF/ChangeLog | 11 + - Source/WTF/wtf/Platform.h | 4 + - 13 files changed, 888 insertions(+), 73 deletions(-) - -diff --git a/Source/JavaScriptCore/assembler/MIPSAssembler.h b/Source/JavaScriptCore/assembler/MIPSAssembler.h -index 026f87e..7f553bb 100644 ---- a/Source/JavaScriptCore/assembler/MIPSAssembler.h -+++ b/Source/JavaScriptCore/assembler/MIPSAssembler.h -@@ -152,6 +152,8 @@ public: - typedef SegmentedVector Jumps; - - MIPSAssembler() -+ : m_indexOfLastWatchpoint(INT_MIN) -+ , m_indexOfTailOfLastWatchpoint(INT_MIN) - { - } - -@@ -325,7 +327,7 @@ public: - emitInst(0x00000000 | (rd << OP_SH_RD) | (rt << OP_SH_RT) | ((shamt & 0x1f) << OP_SH_SHAMT)); - } - -- void sllv(RegisterID rd, RegisterID rt, int rs) -+ void sllv(RegisterID rd, RegisterID rt, RegisterID rs) - { - emitInst(0x00000004 | (rd << OP_SH_RD) | (rt << OP_SH_RT) | (rs << OP_SH_RS)); - } -@@ -527,6 +529,16 @@ public: - emitInst(0x46200004 | (fd << OP_SH_FD) | (fs << OP_SH_FS)); - } - -+ void movd(FPRegisterID fd, FPRegisterID fs) -+ { -+ emitInst(0x46200006 | (fd << OP_SH_FD) | (fs << OP_SH_FS)); -+ } -+ -+ void negd(FPRegisterID fd, FPRegisterID fs) -+ { -+ emitInst(0x46200007 | (fd << OP_SH_FD) | (fs << OP_SH_FS)); -+ } -+ - void truncwd(FPRegisterID fd, FPRegisterID fs) - { - emitInst(0x4620000d | (fd << OP_SH_FD) | (fs << OP_SH_FS)); -@@ -619,9 +631,24 @@ public: - return m_buffer.label(); - } - -+ AssemblerLabel labelForWatchpoint() -+ { -+ AssemblerLabel result = m_buffer.label(); -+ if (static_cast(result.m_offset) != m_indexOfLastWatchpoint) -+ result = label(); -+ m_indexOfLastWatchpoint = result.m_offset; -+ m_indexOfTailOfLastWatchpoint = result.m_offset + maxJumpReplacementSize(); -+ return result; -+ } -+ - AssemblerLabel label() - { -- return m_buffer.label(); -+ AssemblerLabel result = m_buffer.label(); -+ while (UNLIKELY(static_cast(result.m_offset) < m_indexOfTailOfLastWatchpoint)) { -+ nop(); -+ result = m_buffer.label(); -+ } -+ return result; - } - - AssemblerLabel align(int alignment) -@@ -664,14 +691,24 @@ public: - // Assembly helpers for moving data between fp and registers. - void vmov(RegisterID rd1, RegisterID rd2, FPRegisterID rn) - { -+#if WTF_MIPS_ISA_REV(2) && WTF_MIPS_FP64 -+ mfc1(rd1, rn); -+ mfhc1(rd2, rn); -+#else - mfc1(rd1, rn); - mfc1(rd2, FPRegisterID(rn + 1)); -+#endif - } - - void vmov(FPRegisterID rd, RegisterID rn1, RegisterID rn2) - { -+#if WTF_MIPS_ISA_REV(2) && WTF_MIPS_FP64 -+ mtc1(rn1, rd); -+ mthc1(rn2, rd); -+#else - mtc1(rn1, rd); - mtc1(rn2, FPRegisterID(rd + 1)); -+#endif - } - - static unsigned getCallReturnOffset(AssemblerLabel call) -@@ -688,6 +725,35 @@ public: - // writable region of memory; to modify the code in an execute-only execuable - // pool the 'repatch' and 'relink' methods should be used. - -+ static size_t linkDirectJump(void* code, void* to) -+ { -+ MIPSWord* insn = reinterpret_cast(reinterpret_cast(code)); -+ size_t ops = 0; -+ int32_t slotAddr = reinterpret_cast(insn) + 4; -+ int32_t toAddr = reinterpret_cast(to); -+ -+ if ((slotAddr & 0xf0000000) != (toAddr & 0xf0000000)) { -+ // lui -+ *insn = 0x3c000000 | (MIPSRegisters::t9 << OP_SH_RT) | ((toAddr >> 16) & 0xffff); -+ ++insn; -+ // ori -+ *insn = 0x34000000 | (MIPSRegisters::t9 << OP_SH_RT) | (MIPSRegisters::t9 << OP_SH_RS) | (toAddr & 0xffff); -+ ++insn; -+ // jr -+ *insn = 0x00000008 | (MIPSRegisters::t9 << OP_SH_RS); -+ ++insn; -+ ops = 4 * sizeof(MIPSWord); -+ } else { -+ // j -+ *insn = 0x08000000 | ((toAddr & 0x0fffffff) >> 2); -+ ++insn; -+ ops = 2 * sizeof(MIPSWord); -+ } -+ // nop -+ *insn = 0x00000000; -+ return ops; -+ } -+ - void linkJump(AssemblerLabel from, AssemblerLabel to) - { - ASSERT(to.isSet()); -@@ -825,29 +891,36 @@ public: - #endif - } - -- static void revertJumpToMove(void* instructionStart, RegisterID rt, int imm) -+ static ptrdiff_t maxJumpReplacementSize() - { -- MIPSWord* insn = static_cast(instructionStart) + 1; -- ASSERT((*insn & 0xfc000000) == 0x34000000); -- *insn = (*insn & 0xfc1f0000) | (imm & 0xffff); -- cacheFlush(insn, sizeof(MIPSWord)); -+ return sizeof(MIPSWord) * 4; - } - -- static void replaceWithJump(void* instructionStart, void* to) -+ static void revertJumpToMove(void* instructionStart, RegisterID rt, int imm) - { -- MIPSWord* instruction = reinterpret_cast(instructionStart); -- intptr_t jumpTo = reinterpret_cast(to); -+ MIPSWord* insn = static_cast(instructionStart); -+ size_t codeSize = 2 * sizeof(MIPSWord); - - // lui -- instruction[0] = 0x3c000000 | (MIPSRegisters::t9 << OP_SH_RT) | ((jumpTo >> 16) & 0xffff); -+ *insn = 0x3c000000 | (rt << OP_SH_RT) | ((imm >> 16) & 0xffff); -+ ++insn; - // ori -- instruction[1] = 0x34000000 | (MIPSRegisters::t9 << OP_SH_RT) | (MIPSRegisters::t9 << OP_SH_RS) | (jumpTo & 0xffff); -- // jr -- instruction[2] = 0x00000008 | (MIPSRegisters::t9 << OP_SH_RS); -- // nop -- instruction[3] = 0x0; -+ *insn = 0x34000000 | (rt << OP_SH_RS) | (rt << OP_SH_RT) | (imm & 0xffff); -+ ++insn; -+ // if jr $t9 -+ if (*insn == 0x03200008) { -+ *insn = 0x00000000; -+ codeSize += sizeof(MIPSWord); -+ } -+ cacheFlush(insn, codeSize); -+ } - -- cacheFlush(instruction, sizeof(MIPSWord) * 4); -+ static void replaceWithJump(void* instructionStart, void* to) -+ { -+ ASSERT(!(bitwise_cast(instructionStart) & 3)); -+ ASSERT(!(bitwise_cast(to) & 3)); -+ size_t ops = linkDirectJump(instructionStart, to); -+ cacheFlush(instructionStart, ops); - } - - static void replaceWithLoad(void* instructionStart) -@@ -1023,6 +1096,8 @@ private: - - AssemblerBuffer m_buffer; - Jumps m_jumps; -+ int m_indexOfLastWatchpoint; -+ int m_indexOfTailOfLastWatchpoint; - }; - - } // namespace JSC -diff --git a/Source/JavaScriptCore/assembler/MacroAssembler.h b/Source/JavaScriptCore/assembler/MacroAssembler.h -index 60a93db..1f0c3de 100644 ---- a/Source/JavaScriptCore/assembler/MacroAssembler.h -+++ b/Source/JavaScriptCore/assembler/MacroAssembler.h -@@ -200,6 +200,13 @@ public: - } - #endif - -+#if CPU(MIPS) -+ void poke(FPRegisterID src, int index = 0) -+ { -+ ASSERT(!(index & 1)); -+ storeDouble(src, addressForPoke(index)); -+ } -+#endif - - // Backwards banches, these are currently all implemented using existing forwards branch mechanisms. - void branchPtr(RelationalCondition cond, RegisterID op1, TrustedImmPtr imm, Label target) -diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h b/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h -index 43ad434..4f14960 100644 ---- a/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h -+++ b/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h -@@ -114,6 +114,11 @@ public: - m_assembler.addu(dest, dest, src); - } - -+ void add32(RegisterID op1, RegisterID op2, RegisterID dest) -+ { -+ m_assembler.addu(dest, op1, op2); -+ } -+ - void add32(TrustedImm32 imm, RegisterID dest) - { - add32(imm, dest, dest); -@@ -267,6 +272,11 @@ public: - m_assembler.andInsn(dest, dest, src); - } - -+ void and32(RegisterID op1, RegisterID op2, RegisterID dest) -+ { -+ m_assembler.andInsn(dest, op1, op2); -+ } -+ - void and32(TrustedImm32 imm, RegisterID dest) - { - if (!imm.m_value && !m_fixedWidth) -@@ -283,9 +293,16 @@ public: - } - } - -- void lshift32(TrustedImm32 imm, RegisterID dest) -+ void and32(TrustedImm32 imm, RegisterID src, RegisterID dest) - { -- m_assembler.sll(dest, dest, imm.m_value); -+ if (!imm.m_value && !m_fixedWidth) -+ move(MIPSRegisters::zero, dest); -+ else if (imm.m_value > 0 && imm.m_value < 65535 && !m_fixedWidth) -+ m_assembler.andi(dest, src, imm.m_value); -+ else { -+ move(imm, immTempRegister); -+ m_assembler.andInsn(dest, src, immTempRegister); -+ } - } - - void lshift32(RegisterID shiftAmount, RegisterID dest) -@@ -293,11 +310,33 @@ public: - m_assembler.sllv(dest, dest, shiftAmount); - } - -+ void lshift32(RegisterID src, RegisterID shiftAmount, RegisterID dest) -+ { -+ m_assembler.sllv(dest, src, shiftAmount); -+ } -+ -+ void lshift32(TrustedImm32 imm, RegisterID dest) -+ { -+ move(imm, immTempRegister); -+ m_assembler.sllv(dest, dest, immTempRegister); -+ } -+ -+ void lshift32(RegisterID src, TrustedImm32 imm, RegisterID dest) -+ { -+ move(imm, immTempRegister); -+ m_assembler.sllv(dest, src, immTempRegister); -+ } -+ - void mul32(RegisterID src, RegisterID dest) - { - m_assembler.mul(dest, dest, src); - } - -+ void mul32(RegisterID op1, RegisterID op2, RegisterID dest) -+ { -+ m_assembler.mul(dest, op1, op2); -+ } -+ - void mul32(TrustedImm32 imm, RegisterID src, RegisterID dest) - { - if (!imm.m_value && !m_fixedWidth) -@@ -348,6 +387,24 @@ public: - m_assembler.orInsn(dest, dest, dataTempRegister); - } - -+ void or32(TrustedImm32 imm, RegisterID src, RegisterID dest) -+ { -+ if (!imm.m_value && !m_fixedWidth) -+ return; -+ -+ if (imm.m_value > 0 && imm.m_value < 65535 && !m_fixedWidth) { -+ m_assembler.ori(dest, src, imm.m_value); -+ return; -+ } -+ -+ /* -+ li dataTemp, imm -+ or dest, src, dataTemp -+ */ -+ move(imm, dataTempRegister); -+ m_assembler.orInsn(dest, src, dataTempRegister); -+ } -+ - void or32(RegisterID src, AbsoluteAddress dest) - { - load32(dest.m_ptr, dataTempRegister); -@@ -360,6 +417,11 @@ public: - m_assembler.srav(dest, dest, shiftAmount); - } - -+ void rshift32(RegisterID src, RegisterID shiftAmount, RegisterID dest) -+ { -+ m_assembler.srav(dest, src, shiftAmount); -+ } -+ - void rshift32(TrustedImm32 imm, RegisterID dest) - { - m_assembler.sra(dest, dest, imm.m_value); -@@ -375,16 +437,31 @@ public: - m_assembler.srlv(dest, dest, shiftAmount); - } - -+ void urshift32(RegisterID src, RegisterID shiftAmount, RegisterID dest) -+ { -+ m_assembler.srlv(dest, src, shiftAmount); -+ } -+ - void urshift32(TrustedImm32 imm, RegisterID dest) - { - m_assembler.srl(dest, dest, imm.m_value); - } - -+ void urshift32(RegisterID src, TrustedImm32 imm, RegisterID dest) -+ { -+ m_assembler.srl(dest, src, imm.m_value); -+ } -+ - void sub32(RegisterID src, RegisterID dest) - { - m_assembler.subu(dest, dest, src); - } - -+ void sub32(RegisterID op1, RegisterID op2, RegisterID dest) -+ { -+ m_assembler.subu(dest, op1, op2); -+ } -+ - void sub32(TrustedImm32 imm, RegisterID dest) - { - if (imm.m_value >= -32767 && imm.m_value <= 32768 -@@ -495,6 +572,11 @@ public: - m_assembler.xorInsn(dest, dest, src); - } - -+ void xor32(RegisterID op1, RegisterID op2, RegisterID dest) -+ { -+ m_assembler.xorInsn(dest, op1, op2); -+ } -+ - void xor32(TrustedImm32 imm, RegisterID dest) - { - if (imm.m_value == -1) { -@@ -510,6 +592,21 @@ public: - m_assembler.xorInsn(dest, dest, immTempRegister); - } - -+ void xor32(TrustedImm32 imm, RegisterID src, RegisterID dest) -+ { -+ if (imm.m_value == -1) { -+ m_assembler.nor(dest, src, MIPSRegisters::zero); -+ return; -+ } -+ -+ /* -+ li immTemp, imm -+ xor dest, dest, immTemp -+ */ -+ move(imm, immTempRegister); -+ m_assembler.xorInsn(dest, src, immTempRegister); -+ } -+ - void sqrtDouble(FPRegisterID src, FPRegisterID dst) - { - m_assembler.sqrtd(dst, src); -@@ -989,6 +1086,44 @@ public: - } - } - -+ void store32(TrustedImm32 imm, BaseIndex address) -+ { -+ if (address.offset >= -32768 && address.offset <= 32767 && !m_fixedWidth) { -+ /* -+ sll addrTemp, address.index, address.scale -+ addu addrTemp, addrTemp, address.base -+ sw src, address.offset(addrTemp) -+ */ -+ m_assembler.sll(addrTempRegister, address.index, address.scale); -+ m_assembler.addu(addrTempRegister, addrTempRegister, address.base); -+ if (!imm.m_value) -+ m_assembler.sw(MIPSRegisters::zero, addrTempRegister, address.offset); -+ else { -+ move(imm, immTempRegister); -+ m_assembler.sw(immTempRegister, addrTempRegister, address.offset); -+ } -+ } else { -+ /* -+ sll addrTemp, address.index, address.scale -+ addu addrTemp, addrTemp, address.base -+ lui immTemp, (address.offset + 0x8000) >> 16 -+ addu addrTemp, addrTemp, immTemp -+ sw src, (address.offset & 0xffff)(at) -+ */ -+ m_assembler.sll(addrTempRegister, address.index, address.scale); -+ m_assembler.addu(addrTempRegister, addrTempRegister, address.base); -+ m_assembler.lui(immTempRegister, (address.offset + 0x8000) >> 16); -+ m_assembler.addu(addrTempRegister, addrTempRegister, immTempRegister); -+ if (!imm.m_value && !m_fixedWidth) -+ m_assembler.sw(MIPSRegisters::zero, addrTempRegister, address.offset); -+ else { -+ move(imm, immTempRegister); -+ m_assembler.sw(immTempRegister, addrTempRegister, address.offset); -+ } -+ } -+ } -+ -+ - void store32(RegisterID src, const void* address) - { - /* -@@ -1336,6 +1471,15 @@ public: - m_fixedWidth = false; - } - -+ void jump(AbsoluteAddress address) -+ { -+ m_fixedWidth = true; -+ load32(address.m_ptr, MIPSRegisters::t9); -+ m_assembler.jr(MIPSRegisters::t9); -+ m_assembler.nop(); -+ m_fixedWidth = false; -+ } -+ - void moveDoubleToInts(FPRegisterID src, RegisterID dest1, RegisterID dest2) - { - m_assembler.vmov(dest1, dest2, src); -@@ -1404,6 +1548,53 @@ public: - return Jump(); - } - -+ Jump branchAdd32(ResultCondition cond, RegisterID op1, RegisterID op2, RegisterID dest) -+ { -+ ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero)); -+ if (cond == Overflow) { -+ /* -+ move dataTemp, op1 -+ xor cmpTemp, dataTemp, op2 -+ bltz cmpTemp, No_overflow # diff sign bit -> no overflow -+ addu dest, dataTemp, op2 -+ xor cmpTemp, dest, dataTemp -+ bgez cmpTemp, No_overflow # same sign big -> no overflow -+ nop -+ b Overflow -+ nop -+ nop -+ nop -+ nop -+ nop -+ No_overflow: -+ */ -+ move(op1, dataTempRegister); -+ m_assembler.xorInsn(cmpTempRegister, dataTempRegister, op2); -+ m_assembler.bltz(cmpTempRegister, 10); -+ m_assembler.addu(dest, dataTempRegister, op2); -+ m_assembler.xorInsn(cmpTempRegister, dest, dataTempRegister); -+ m_assembler.bgez(cmpTempRegister, 7); -+ m_assembler.nop(); -+ return jump(); -+ } -+ if (cond == Signed) { -+ add32(op1, op2, dest); -+ // Check if dest is negative. -+ m_assembler.slt(cmpTempRegister, dest, MIPSRegisters::zero); -+ return branchNotEqual(cmpTempRegister, MIPSRegisters::zero); -+ } -+ if (cond == Zero) { -+ add32(op1, op2, dest); -+ return branchEqual(dest, MIPSRegisters::zero); -+ } -+ if (cond == NonZero) { -+ add32(op1, op2, dest); -+ return branchNotEqual(dest, MIPSRegisters::zero); -+ } -+ ASSERT(0); -+ return Jump(); -+ } -+ - Jump branchAdd32(ResultCondition cond, TrustedImm32 imm, RegisterID dest) - { - move(imm, immTempRegister); -@@ -1417,6 +1608,111 @@ public: - return branchAdd32(cond, immTempRegister, dest); - } - -+ Jump branchAdd32(ResultCondition cond, TrustedImm32 imm, AbsoluteAddress dest) -+ { -+ ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero)); -+ if (cond == Overflow) { -+ /* -+ move dataTemp, dest -+ xori cmpTemp, dataTemp, imm -+ bltz cmpTemp, No_overflow # diff sign bit -> no overflow -+ addiu dataTemp, dataTemp, imm -+ move dest, dataTemp -+ xori cmpTemp, dataTemp, imm -+ bgez cmpTemp, No_overflow # same sign big -> no overflow -+ nop -+ b Overflow -+ nop -+ nop -+ nop -+ nop -+ nop -+ No_overflow: -+ */ -+ if (imm.m_value >= -32768 && imm.m_value <= 32767 && !m_fixedWidth) { -+ load32(dest.m_ptr, dataTempRegister); -+ m_assembler.xori(cmpTempRegister, dataTempRegister, imm.m_value); -+ m_assembler.bltz(cmpTempRegister, 10); -+ m_assembler.addiu(dataTempRegister, dataTempRegister, imm.m_value); -+ store32(dataTempRegister, dest.m_ptr); -+ m_assembler.xori(cmpTempRegister, dataTempRegister, imm.m_value); -+ m_assembler.bgez(cmpTempRegister, 7); -+ m_assembler.nop(); -+ } else { -+ load32(dest.m_ptr, dataTempRegister); -+ move(imm, immTempRegister); -+ m_assembler.xorInsn(cmpTempRegister, dataTempRegister, immTempRegister); -+ m_assembler.bltz(cmpTempRegister, 10); -+ m_assembler.addiu(dataTempRegister, dataTempRegister, immTempRegister); -+ store32(dataTempRegister, dest.m_ptr); -+ m_assembler.xori(cmpTempRegister, dataTempRegister, immTempRegister); -+ m_assembler.bgez(cmpTempRegister, 7); -+ m_assembler.nop(); -+ } -+ return jump(); -+ } -+ move(imm, immTempRegister); -+ load32(dest.m_ptr, dataTempRegister); -+ add32(immTempRegister, dataTempRegister); -+ store32(dataTempRegister, dest.m_ptr); -+ if (cond == Signed) { -+ // Check if dest is negative. -+ m_assembler.slt(cmpTempRegister, dataTempRegister, MIPSRegisters::zero); -+ return branchNotEqual(cmpTempRegister, MIPSRegisters::zero); -+ } -+ if (cond == Zero) -+ return branchEqual(dataTempRegister, MIPSRegisters::zero); -+ if (cond == NonZero) -+ return branchNotEqual(dataTempRegister, MIPSRegisters::zero); -+ ASSERT(0); -+ return Jump(); -+ } -+ -+ Jump branchMul32(ResultCondition cond, RegisterID src1, RegisterID src2, RegisterID dest) -+ { -+ ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero)); -+ if (cond == Overflow) { -+ /* -+ mult src, dest -+ mfhi dataTemp -+ mflo dest -+ sra addrTemp, dest, 31 -+ beq dataTemp, addrTemp, No_overflow # all sign bits (bit 63 to bit 31) are the same -> no overflow -+ nop -+ b Overflow -+ nop -+ nop -+ nop -+ nop -+ nop -+ No_overflow: -+ */ -+ m_assembler.mult(src1, src2); -+ m_assembler.mfhi(dataTempRegister); -+ m_assembler.mflo(dest); -+ m_assembler.sra(addrTempRegister, dest, 31); -+ m_assembler.beq(dataTempRegister, addrTempRegister, 7); -+ m_assembler.nop(); -+ return jump(); -+ } -+ if (cond == Signed) { -+ mul32(src1, src2, dest); -+ // Check if dest is negative. -+ m_assembler.slt(cmpTempRegister, dest, MIPSRegisters::zero); -+ return branchNotEqual(cmpTempRegister, MIPSRegisters::zero); -+ } -+ if (cond == Zero) { -+ mul32(src1, src2, dest); -+ return branchEqual(dest, MIPSRegisters::zero); -+ } -+ if (cond == NonZero) { -+ mul32(src1, src2, dest); -+ return branchNotEqual(dest, MIPSRegisters::zero); -+ } -+ ASSERT(0); -+ return Jump(); -+ } -+ - Jump branchMul32(ResultCondition cond, RegisterID src, RegisterID dest) - { - ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero)); -@@ -1465,8 +1761,7 @@ public: - Jump branchMul32(ResultCondition cond, TrustedImm32 imm, RegisterID src, RegisterID dest) - { - move(imm, immTempRegister); -- move(src, dest); -- return branchMul32(cond, immTempRegister, dest); -+ return branchMul32(cond, immTempRegister, src, dest); - } - - Jump branchSub32(ResultCondition cond, RegisterID src, RegisterID dest) -@@ -1525,8 +1820,60 @@ public: - Jump branchSub32(ResultCondition cond, RegisterID src, TrustedImm32 imm, RegisterID dest) - { - move(imm, immTempRegister); -- move(src, dest); -- return branchSub32(cond, immTempRegister, dest); -+ return branchSub32(cond, src, immTempRegister, dest); -+ } -+ -+ Jump branchSub32(ResultCondition cond, RegisterID op1, RegisterID op2, RegisterID dest) -+ { -+ ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero)); -+ if (cond == Overflow) { -+ /* -+ move dataTemp, op1 -+ xor cmpTemp, dataTemp, op2 -+ bgez cmpTemp, No_overflow # same sign bit -> no overflow -+ subu dest, dataTemp, op2 -+ xor cmpTemp, dest, dataTemp -+ bgez cmpTemp, No_overflow # same sign bit -> no overflow -+ nop -+ b Overflow -+ nop -+ nop -+ nop -+ nop -+ nop -+ No_overflow: -+ */ -+ move(op1, dataTempRegister); -+ m_assembler.xorInsn(cmpTempRegister, dataTempRegister, op2); -+ m_assembler.bgez(cmpTempRegister, 10); -+ m_assembler.subu(dest, dataTempRegister, op2); -+ m_assembler.xorInsn(cmpTempRegister, dest, dataTempRegister); -+ m_assembler.bgez(cmpTempRegister, 7); -+ m_assembler.nop(); -+ return jump(); -+ } -+ if (cond == Signed) { -+ sub32(op1, op2, dest); -+ // Check if dest is negative. -+ m_assembler.slt(cmpTempRegister, dest, MIPSRegisters::zero); -+ return branchNotEqual(cmpTempRegister, MIPSRegisters::zero); -+ } -+ if (cond == Zero) { -+ sub32(op1, op2, dest); -+ return branchEqual(dest, MIPSRegisters::zero); -+ } -+ if (cond == NonZero) { -+ sub32(op1, op2, dest); -+ return branchNotEqual(dest, MIPSRegisters::zero); -+ } -+ ASSERT(0); -+ return Jump(); -+ } -+ -+ Jump branchNeg32(ResultCondition cond, RegisterID srcDest) -+ { -+ m_assembler.li(dataTempRegister, -1); -+ return branchMul32(cond, dataTempRegister, srcDest); - } - - Jump branchOr32(ResultCondition cond, RegisterID src, RegisterID dest) -@@ -1578,7 +1925,8 @@ public: - - Call call(RegisterID target) - { -- m_assembler.jalr(target); -+ move(target, MIPSRegisters::t9); -+ m_assembler.jalr(MIPSRegisters::t9); - m_assembler.nop(); - return Call(m_assembler.label(), Call::None); - } -@@ -1822,7 +2170,7 @@ public: - lui immTemp, (address.offset + 0x8000) >> 16 - addu addrTemp, addrTemp, immTemp - lwc1 dest, (address.offset & 0xffff)(at) -- lwc1 dest+4, (address.offset & 0xffff + 4)(at) -+ lwc1 dest+1, (address.offset & 0xffff + 4)(at) - */ - m_assembler.sll(addrTempRegister, address.index, address.scale); - m_assembler.addu(addrTempRegister, addrTempRegister, address.base); -@@ -2009,6 +2357,19 @@ public: - #endif - } - -+ void moveDouble(FPRegisterID src, FPRegisterID dest) -+ { -+ if (src != dest || m_fixedWidth) -+ m_assembler.movd(dest, src); -+ } -+ -+ void swapDouble(FPRegisterID fr1, FPRegisterID fr2) -+ { -+ moveDouble(fr1, fpTempRegister); -+ moveDouble(fr2, fr1); -+ moveDouble(fpTempRegister, fr2); -+ } -+ - void addDouble(FPRegisterID src, FPRegisterID dest) - { - m_assembler.addd(dest, dest, src); -@@ -2036,6 +2397,11 @@ public: - m_assembler.subd(dest, dest, src); - } - -+ void subDouble(FPRegisterID op1, FPRegisterID op2, FPRegisterID dest) -+ { -+ m_assembler.subd(dest, op1, op2); -+ } -+ - void subDouble(Address src, FPRegisterID dest) - { - loadDouble(src, fpTempRegister); -@@ -2053,11 +2419,32 @@ public: - m_assembler.muld(dest, dest, fpTempRegister); - } - -+ void mulDouble(FPRegisterID op1, FPRegisterID op2, FPRegisterID dest) -+ { -+ m_assembler.muld(dest, op1, op2); -+ } -+ - void divDouble(FPRegisterID src, FPRegisterID dest) - { - m_assembler.divd(dest, dest, src); - } - -+ void divDouble(FPRegisterID op1, FPRegisterID op2, FPRegisterID dest) -+ { -+ m_assembler.divd(dest, op1, op2); -+ } -+ -+ void divDouble(Address src, FPRegisterID dest) -+ { -+ loadDouble(src, fpTempRegister); -+ m_assembler.divd(dest, dest, fpTempRegister); -+ } -+ -+ void negateDouble(FPRegisterID src, FPRegisterID dest) -+ { -+ m_assembler.negd(dest, src); -+ } -+ - void convertInt32ToDouble(RegisterID src, FPRegisterID dest) - { - m_assembler.mtc1(src, fpTempRegister); -@@ -2117,6 +2504,8 @@ public: - - Jump branchEqual(RegisterID rs, RegisterID rt) - { -+ m_assembler.nop(); -+ m_assembler.nop(); - m_assembler.appendJump(); - m_assembler.beq(rs, rt, 0); - m_assembler.nop(); -@@ -2126,6 +2515,8 @@ public: - - Jump branchNotEqual(RegisterID rs, RegisterID rt) - { -+ m_assembler.nop(); -+ m_assembler.nop(); - m_assembler.appendJump(); - m_assembler.bne(rs, rt, 0); - m_assembler.nop(); -@@ -2192,11 +2583,33 @@ public: - // If the result is not representable as a 32 bit value, branch. - // May also branch for some values that are representable in 32 bits - // (specifically, in this case, INT_MAX 0x7fffffff). -- Jump branchTruncateDoubleToInt32(FPRegisterID src, RegisterID dest) -+ enum BranchTruncateType { BranchIfTruncateFailed, BranchIfTruncateSuccessful }; -+ Jump branchTruncateDoubleToInt32(FPRegisterID src, RegisterID dest, BranchTruncateType branchType = BranchIfTruncateFailed) -+ { -+ m_assembler.truncwd(fpTempRegister, src); -+ m_assembler.mfc1(dest, fpTempRegister); -+ return branch32(branchType == BranchIfTruncateFailed ? Equal : NotEqual, dest, TrustedImm32(0x7fffffff)); -+ } -+ -+ Jump branchTruncateDoubleToUint32(FPRegisterID src, RegisterID dest, BranchTruncateType branchType = BranchIfTruncateFailed) -+ { -+ m_assembler.truncwd(fpTempRegister, src); -+ m_assembler.mfc1(dest, fpTempRegister); -+ return branch32(branchType == BranchIfTruncateFailed ? Equal : NotEqual, dest, TrustedImm32(0)); -+ } -+ -+ // Result is undefined if the value is outside of the integer range. -+ void truncateDoubleToInt32(FPRegisterID src, RegisterID dest) -+ { -+ m_assembler.truncwd(fpTempRegister, src); -+ m_assembler.mfc1(dest, fpTempRegister); -+ } -+ -+ // Result is undefined if src > 2^31 -+ void truncateDoubleToUint32(FPRegisterID src, RegisterID dest) - { - m_assembler.truncwd(fpTempRegister, src); - m_assembler.mfc1(dest, fpTempRegister); -- return branch32(Equal, dest, TrustedImm32(0x7fffffff)); - } - - // Convert 'src' to an integer, and places the resulting 'dest'. -@@ -2218,28 +2631,43 @@ public: - - Jump branchDoubleNonZero(FPRegisterID reg, FPRegisterID scratch) - { --#if WTF_MIPS_ISA_REV(2) && WTF_MIPS_FP64 -- m_assembler.mtc1(MIPSRegisters::zero, scratch); -- m_assembler.mthc1(MIPSRegisters::zero, scratch); --#else -- m_assembler.mtc1(MIPSRegisters::zero, scratch); -- m_assembler.mtc1(MIPSRegisters::zero, FPRegisterID(scratch + 1)); --#endif -+ m_assembler.vmov(scratch, MIPSRegisters::zero, MIPSRegisters::zero); - return branchDouble(DoubleNotEqual, reg, scratch); - } - - Jump branchDoubleZeroOrNaN(FPRegisterID reg, FPRegisterID scratch) - { --#if WTF_MIPS_ISA_REV(2) && WTF_MIPS_FP64 -- m_assembler.mtc1(MIPSRegisters::zero, scratch); -- m_assembler.mthc1(MIPSRegisters::zero, scratch); --#else -- m_assembler.mtc1(MIPSRegisters::zero, scratch); -- m_assembler.mtc1(MIPSRegisters::zero, FPRegisterID(scratch + 1)); --#endif -+ m_assembler.vmov(scratch, MIPSRegisters::zero, MIPSRegisters::zero); - return branchDouble(DoubleEqualOrUnordered, reg, scratch); - } - -+ // Invert a relational condition, e.g. == becomes !=, < becomes >=, etc. -+ static RelationalCondition invert(RelationalCondition cond) -+ { -+ RelationalCondition r; -+ if (cond == Equal) -+ r = NotEqual; -+ else if (cond == NotEqual) -+ r = Equal; -+ else if (cond == Above) -+ r = BelowOrEqual; -+ else if (cond == AboveOrEqual) -+ r = Below; -+ else if (cond == Below) -+ r = AboveOrEqual; -+ else if (cond == BelowOrEqual) -+ r = Above; -+ else if (cond == GreaterThan) -+ r = LessThanOrEqual; -+ else if (cond == GreaterThanOrEqual) -+ r = LessThan; -+ else if (cond == LessThan) -+ r = GreaterThanOrEqual; -+ else if (cond == LessThanOrEqual) -+ r = GreaterThan; -+ return r; -+ } -+ - void nop() - { - m_assembler.nop(); -@@ -2252,12 +2680,12 @@ public: - - static void replaceWithJump(CodeLocationLabel instructionStart, CodeLocationLabel destination) - { -- RELEASE_ASSERT_NOT_REACHED(); -+ MIPSAssembler::replaceWithJump(instructionStart.dataLocation(), destination.dataLocation()); - } - - static ptrdiff_t maxJumpReplacementSize() - { -- RELEASE_ASSERT_NOT_REACHED(); -+ MIPSAssembler::maxJumpReplacementSize(); - return 0; - } - -diff --git a/Source/JavaScriptCore/dfg/DFGAssemblyHelpers.h b/Source/JavaScriptCore/dfg/DFGAssemblyHelpers.h -index fa0f5e0..573d8dc 100644 ---- a/Source/JavaScriptCore/dfg/DFGAssemblyHelpers.h -+++ b/Source/JavaScriptCore/dfg/DFGAssemblyHelpers.h -@@ -93,6 +93,23 @@ public: - } - #endif - -+#if CPU(MIPS) -+ ALWAYS_INLINE void preserveReturnAddressAfterCall(RegisterID reg) -+ { -+ move(returnAddressRegister, reg); -+ } -+ -+ ALWAYS_INLINE void restoreReturnAddressBeforeReturn(RegisterID reg) -+ { -+ move(reg, returnAddressRegister); -+ } -+ -+ ALWAYS_INLINE void restoreReturnAddressBeforeReturn(Address address) -+ { -+ loadPtr(address, returnAddressRegister); -+ } -+#endif -+ - void emitGetFromCallFrameHeaderPtr(JSStack::CallFrameHeaderEntry entry, GPRReg to) - { - loadPtr(Address(GPRInfo::callFrameRegister, entry * sizeof(Register)), to); -@@ -193,7 +210,7 @@ public: - move(TrustedImmPtr(scratchBuffer->activeLengthPtr()), GPRInfo::regT0); - storePtr(TrustedImmPtr(scratchSize), GPRInfo::regT0); - --#if CPU(X86_64) || CPU(ARM) -+#if CPU(X86_64) || CPU(ARM) || CPU(MIPS) - move(TrustedImmPtr(buffer), GPRInfo::argumentGPR2); - move(TrustedImmPtr(argument), GPRInfo::argumentGPR1); - move(GPRInfo::callFrameRegister, GPRInfo::argumentGPR0); -diff --git a/Source/JavaScriptCore/dfg/DFGCCallHelpers.h b/Source/JavaScriptCore/dfg/DFGCCallHelpers.h -index 8adde05..3d99f6f 100644 ---- a/Source/JavaScriptCore/dfg/DFGCCallHelpers.h -+++ b/Source/JavaScriptCore/dfg/DFGCCallHelpers.h -@@ -576,6 +576,39 @@ public: - poke(GPRInfo::nonArgGPR0); - } - #endif // CPU(ARM_HARDFP) -+#elif CPU(MIPS) -+ ALWAYS_INLINE void setupArguments(FPRReg arg1) -+ { -+ moveDouble(arg1, FPRInfo::argumentFPR0); -+ } -+ -+ ALWAYS_INLINE void setupArguments(FPRReg arg1, FPRReg arg2) -+ { -+ if (arg2 != FPRInfo::argumentFPR0) { -+ moveDouble(arg1, FPRInfo::argumentFPR0); -+ moveDouble(arg2, FPRInfo::argumentFPR1); -+ } else if (arg1 != FPRInfo::argumentFPR1) { -+ moveDouble(arg2, FPRInfo::argumentFPR1); -+ moveDouble(arg1, FPRInfo::argumentFPR0); -+ } else { -+ // Swap arg1, arg2. -+ swapDouble(FPRInfo::argumentFPR0, FPRInfo::argumentFPR1); -+ } -+ } -+ -+ ALWAYS_INLINE void setupArgumentsWithExecState(FPRReg arg1, GPRReg arg2) -+ { -+ assembler().vmov(GPRInfo::argumentGPR2, GPRInfo::argumentGPR3, arg1); -+ move(GPRInfo::callFrameRegister, GPRInfo::argumentGPR0); -+ poke(arg2, 4); -+ } -+ -+ ALWAYS_INLINE void setupArgumentsWithExecState(GPRReg arg1, GPRReg arg2, FPRReg arg3) -+ { -+ setupStubArguments(arg1, arg2); -+ move(GPRInfo::callFrameRegister, GPRInfo::argumentGPR0); -+ poke(arg3, 4); -+ } - #else - #error "DFG JIT not supported on this platform." - #endif -@@ -803,119 +836,126 @@ public: - // These methods are suitable for any calling convention that provides for - // exactly 4 argument registers, e.g. ARMv7. - #if NUMBER_OF_ARGUMENT_REGISTERS == 4 -+ -+#if CPU(MIPS) -+#define POKE_ARGUMENT_OFFSET 4 -+#else -+#define POKE_ARGUMENT_OFFSET 0 -+#endif -+ - ALWAYS_INLINE void setupArgumentsWithExecState(GPRReg arg1, GPRReg arg2, GPRReg arg3, GPRReg arg4) - { -- poke(arg4); -+ poke(arg4, POKE_ARGUMENT_OFFSET); - setupArgumentsWithExecState(arg1, arg2, arg3); - } - - ALWAYS_INLINE void setupArgumentsWithExecState(GPRReg arg1, GPRReg arg2, GPRReg arg3, TrustedImm32 arg4) - { -- poke(arg4); -+ poke(arg4, POKE_ARGUMENT_OFFSET); - setupArgumentsWithExecState(arg1, arg2, arg3); - } - - ALWAYS_INLINE void setupArgumentsWithExecState(GPRReg arg1, TrustedImmPtr arg2, TrustedImm32 arg3, GPRReg arg4) - { -- poke(arg4); -+ poke(arg4, POKE_ARGUMENT_OFFSET); - setupArgumentsWithExecState(arg1, arg2, arg3); - } - - ALWAYS_INLINE void setupArgumentsWithExecState(GPRReg arg1, TrustedImmPtr arg2, TrustedImm32 arg3, GPRReg arg4, GPRReg arg5) - { -- poke(arg5, 1); -- poke(arg4); -+ poke(arg5, POKE_ARGUMENT_OFFSET + 1); -+ poke(arg4, POKE_ARGUMENT_OFFSET); - setupArgumentsWithExecState(arg1, arg2, arg3); - } - - ALWAYS_INLINE void setupArgumentsWithExecState(GPRReg arg1, GPRReg arg2, TrustedImm32 arg3, TrustedImm32 arg4) - { -- poke(arg4); -+ poke(arg4, POKE_ARGUMENT_OFFSET); - setupArgumentsWithExecState(arg1, arg2, arg3); - } - - ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImm32 arg1, TrustedImm32 arg2, GPRReg arg3, GPRReg arg4) - { -- poke(arg4); -+ poke(arg4, POKE_ARGUMENT_OFFSET); - setupArgumentsWithExecState(arg1, arg2, arg3); - } - - ALWAYS_INLINE void setupArgumentsWithExecState(GPRReg arg1, GPRReg arg2, GPRReg arg3, TrustedImmPtr arg4) - { -- poke(arg4); -+ poke(arg4, POKE_ARGUMENT_OFFSET); - setupArgumentsWithExecState(arg1, arg2, arg3); - } - - ALWAYS_INLINE void setupArgumentsWithExecState(GPRReg arg1, GPRReg arg2, GPRReg arg3, GPRReg arg4, GPRReg arg5) - { -- poke(arg5, 1); -- poke(arg4); -+ poke(arg5, POKE_ARGUMENT_OFFSET + 1); -+ poke(arg4, POKE_ARGUMENT_OFFSET); - setupArgumentsWithExecState(arg1, arg2, arg3); - } - - ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImm32 arg1, GPRReg arg2, GPRReg arg3, GPRReg arg4) - { -- poke(arg4); -+ poke(arg4, POKE_ARGUMENT_OFFSET); - setupArgumentsWithExecState(arg1, arg2, arg3); - } - - ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImm32 arg1, GPRReg arg2, GPRReg arg3, TrustedImmPtr arg4) - { -- poke(arg4); -+ poke(arg4, POKE_ARGUMENT_OFFSET); - setupArgumentsWithExecState(arg1, arg2, arg3); - } - - ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImm32 arg1, GPRReg arg2, TrustedImm32 arg3, TrustedImmPtr arg4) - { -- poke(arg4); -+ poke(arg4, POKE_ARGUMENT_OFFSET); - setupArgumentsWithExecState(arg1, arg2, arg3); - } - - ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImm32 arg1, GPRReg arg2, TrustedImm32 arg3, GPRReg arg4) - { -- poke(arg4); -+ poke(arg4, POKE_ARGUMENT_OFFSET); - setupArgumentsWithExecState(arg1, arg2, arg3); - } - - ALWAYS_INLINE void setupArgumentsWithExecState(GPRReg arg1, GPRReg arg2, TrustedImm32 arg3, GPRReg arg4, GPRReg arg5) - { -- poke(arg5, 1); -- poke(arg4); -+ poke(arg5, POKE_ARGUMENT_OFFSET + 1); -+ poke(arg4, POKE_ARGUMENT_OFFSET); - setupArgumentsWithExecState(arg1, arg2, arg3); - } - - ALWAYS_INLINE void setupArgumentsWithExecState(GPRReg arg1, GPRReg arg2, TrustedImm32 arg3, GPRReg arg4, TrustedImm32 arg5) - { -- poke(arg5, 1); -- poke(arg4); -+ poke(arg5, POKE_ARGUMENT_OFFSET + 1); -+ poke(arg4, POKE_ARGUMENT_OFFSET); - setupArgumentsWithExecState(arg1, arg2, arg3); - } - - ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImm32 arg1, GPRReg arg2, GPRReg arg3, GPRReg arg4, TrustedImmPtr arg5) - { -- poke(arg5, 1); -- poke(arg4); -+ poke(arg5, POKE_ARGUMENT_OFFSET + 1); -+ poke(arg4, POKE_ARGUMENT_OFFSET); - setupArgumentsWithExecState(arg1, arg2, arg3); - } - - ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImm32 arg1, GPRReg arg2, GPRReg arg3, TrustedImm32 arg4, TrustedImm32 arg5) - { -- poke(arg5, 1); -- poke(arg4); -+ poke(arg5, POKE_ARGUMENT_OFFSET + 1); -+ poke(arg4, POKE_ARGUMENT_OFFSET); - setupArgumentsWithExecState(arg1, arg2, arg3); - } - - ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImm32 arg1, TrustedImm32 arg2, TrustedImm32 arg3, GPRReg arg4, GPRReg arg5) - { -- poke(arg5, 1); -- poke(arg4); -+ poke(arg5, POKE_ARGUMENT_OFFSET + 1); -+ poke(arg4, POKE_ARGUMENT_OFFSET); - setupArgumentsWithExecState(arg1, arg2, arg3); - } - - ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImm32 arg1, GPRReg arg2, GPRReg arg3, GPRReg arg4, GPRReg arg5) - { -- poke(arg5, 1); -- poke(arg4); -+ poke(arg5, POKE_ARGUMENT_OFFSET + 1); -+ poke(arg4, POKE_ARGUMENT_OFFSET); - setupArgumentsWithExecState(arg1, arg2, arg3); - } - -diff --git a/Source/JavaScriptCore/dfg/DFGFPRInfo.h b/Source/JavaScriptCore/dfg/DFGFPRInfo.h -index 17aaa7d..e18ec06 100644 ---- a/Source/JavaScriptCore/dfg/DFGFPRInfo.h -+++ b/Source/JavaScriptCore/dfg/DFGFPRInfo.h -@@ -164,6 +164,74 @@ public: - - #endif - -+#if CPU(MIPS) -+ -+class FPRInfo { -+public: -+ typedef FPRReg RegisterType; -+ static const unsigned numberOfRegisters = 6; -+ -+ // Temporary registers. -+ static const FPRReg fpRegT0 = MIPSRegisters::f0; -+ static const FPRReg fpRegT1 = MIPSRegisters::f4; -+ static const FPRReg fpRegT2 = MIPSRegisters::f6; -+ static const FPRReg fpRegT3 = MIPSRegisters::f8; -+ static const FPRReg fpRegT4 = MIPSRegisters::f10; -+ static const FPRReg fpRegT5 = MIPSRegisters::f18; -+ -+ static const FPRReg returnValueFPR = MIPSRegisters::f0; -+ -+ static const FPRReg argumentFPR0 = MIPSRegisters::f12; -+ static const FPRReg argumentFPR1 = MIPSRegisters::f14; -+ -+ static FPRReg toRegister(unsigned index) -+ { -+ static const FPRReg registerForIndex[numberOfRegisters] = { -+ fpRegT0, fpRegT1, fpRegT2, fpRegT3, fpRegT4, fpRegT5 }; -+ -+ ASSERT(index < numberOfRegisters); -+ return registerForIndex[index]; -+ } -+ -+ static unsigned toIndex(FPRReg reg) -+ { -+ ASSERT(reg != InvalidFPRReg); -+ ASSERT(reg < 20); -+ static const unsigned indexForRegister[20] = { -+ 0, InvalidIndex, InvalidIndex, InvalidIndex, -+ 1, InvalidIndex, 2, InvalidIndex, -+ 3, InvalidIndex, 4, InvalidIndex, -+ InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex, -+ InvalidIndex, InvalidIndex, 5, InvalidIndex, -+ }; -+ unsigned result = indexForRegister[reg]; -+ ASSERT(result != InvalidIndex); -+ return result; -+ } -+ -+ static const char* debugName(FPRReg reg) -+ { -+ ASSERT(reg != InvalidFPRReg); -+ ASSERT(reg < 32); -+ static const char* nameForRegister[32] = { -+ "f0", "f1", "f2", "f3", -+ "f4", "f5", "f6", "f7", -+ "f8", "f9", "f10", "f11", -+ "f12", "f13", "f14", "f15" -+ "f16", "f17", "f18", "f19" -+ "f20", "f21", "f22", "f23" -+ "f24", "f25", "f26", "f27" -+ "f28", "f29", "f30", "f31" -+ }; -+ return nameForRegister[reg]; -+ } -+private: -+ -+ static const unsigned InvalidIndex = 0xffffffff; -+}; -+ -+#endif -+ - typedef RegisterBank::iterator fpr_iterator; - - } } // namespace JSC::DFG -diff --git a/Source/JavaScriptCore/dfg/DFGGPRInfo.h b/Source/JavaScriptCore/dfg/DFGGPRInfo.h -index 3d07556..aa634cd 100644 ---- a/Source/JavaScriptCore/dfg/DFGGPRInfo.h -+++ b/Source/JavaScriptCore/dfg/DFGGPRInfo.h -@@ -461,6 +461,73 @@ private: - - #endif - -+#if CPU(MIPS) -+#define NUMBER_OF_ARGUMENT_REGISTERS 4 -+ -+class GPRInfo { -+public: -+ typedef GPRReg RegisterType; -+ static const unsigned numberOfRegisters = 6; -+ -+ // Temporary registers. -+ static const GPRReg regT0 = MIPSRegisters::v0; -+ static const GPRReg regT1 = MIPSRegisters::v1; -+ static const GPRReg regT2 = MIPSRegisters::t4; -+ static const GPRReg regT3 = MIPSRegisters::t5; -+ static const GPRReg regT4 = MIPSRegisters::t6; -+ static const GPRReg regT5 = MIPSRegisters::t7; -+ // These registers match the baseline JIT. -+ static const GPRReg cachedResultRegister = regT0; -+ static const GPRReg cachedResultRegister2 = regT1; -+ static const GPRReg callFrameRegister = MIPSRegisters::s0; -+ // These constants provide the names for the general purpose argument & return value registers. -+ static const GPRReg argumentGPR0 = MIPSRegisters::a0; -+ static const GPRReg argumentGPR1 = MIPSRegisters::a1; -+ static const GPRReg argumentGPR2 = MIPSRegisters::a2; -+ static const GPRReg argumentGPR3 = MIPSRegisters::a3; -+ static const GPRReg nonArgGPR0 = regT2; -+ static const GPRReg nonArgGPR1 = regT3; -+ static const GPRReg nonArgGPR2 = regT4; -+ static const GPRReg returnValueGPR = regT0; -+ static const GPRReg returnValueGPR2 = regT1; -+ static const GPRReg nonPreservedNonReturnGPR = regT5; -+ -+ static GPRReg toRegister(unsigned index) -+ { -+ ASSERT(index < numberOfRegisters); -+ static const GPRReg registerForIndex[numberOfRegisters] = { regT0, regT1, regT2, regT3, regT4, regT5 }; -+ return registerForIndex[index]; -+ } -+ -+ static unsigned toIndex(GPRReg reg) -+ { -+ ASSERT(reg != InvalidGPRReg); -+ ASSERT(reg < 16); -+ static const unsigned indexForRegister[16] = { InvalidIndex, InvalidIndex, 0, 1, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex, 2, 3, 4, 5 }; -+ unsigned result = indexForRegister[reg]; -+ ASSERT(result != InvalidIndex); -+ return result; -+ } -+ -+ static const char* debugName(GPRReg reg) -+ { -+ ASSERT(reg != InvalidGPRReg); -+ ASSERT(reg < 16); -+ static const char* nameForRegister[16] = { -+ "zero", "at", "v0", "v1", -+ "a0", "a1", "a2", "a3", -+ "t0", "t1", "t2", "t3", -+ "t4", "t5", "t6", "t7" -+ }; -+ return nameForRegister[reg]; -+ } -+private: -+ -+ static const unsigned InvalidIndex = 0xffffffff; -+}; -+ -+#endif -+ - typedef RegisterBank::iterator gpr_iterator; - - } } // namespace JSC::DFG -diff --git a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h -index ea33f38..247274b 100644 ---- a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h -+++ b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h -@@ -1241,7 +1241,7 @@ public: - - // EncodedJSValue in JSVALUE32_64 is a 64-bit integer. When being compiled in ARM EABI, it must be aligned even-numbered register (r0, r2 or [sp]). - // To avoid assemblies from using wrong registers, let's occupy r1 or r3 with a dummy argument when necessary. --#if COMPILER_SUPPORTS(EABI) && CPU(ARM) -+#if (COMPILER_SUPPORTS(EABI) && CPU(ARM)) || CPU(MIPS) - #define EABI_32BIT_DUMMY_ARG TrustedImm32(0), - #else - #define EABI_32BIT_DUMMY_ARG -@@ -1691,7 +1691,7 @@ public: - } - #endif - --#if !defined(NDEBUG) && !CPU(ARM) -+#if !defined(NDEBUG) && !CPU(ARM) && !CPU(MIPS) - void prepareForExternalCall() - { - // We're about to call out to a "native" helper function. The helper -diff --git a/Source/JavaScriptCore/jit/JSInterfaceJIT.h b/Source/JavaScriptCore/jit/JSInterfaceJIT.h -index 7fdeaf0..48ad6b2 100644 ---- a/Source/JavaScriptCore/jit/JSInterfaceJIT.h -+++ b/Source/JavaScriptCore/jit/JSInterfaceJIT.h -@@ -125,6 +125,10 @@ namespace JSC { - static const RegisterID cachedResultRegister = MIPSRegisters::v0; - static const RegisterID firstArgumentRegister = MIPSRegisters::a0; - -+#if ENABLE(VALUE_PROFILER) -+ static const RegisterID bucketCounterRegister = MIPSRegisters::s3; -+#endif -+ - // regT0 must be v0 for returning a 32-bit value. - static const RegisterID regT0 = MIPSRegisters::v0; - -diff --git a/Source/JavaScriptCore/runtime/JSGlobalData.h b/Source/JavaScriptCore/runtime/JSGlobalData.h -index 5d47ab9..c02f336 100644 ---- a/Source/JavaScriptCore/runtime/JSGlobalData.h -+++ b/Source/JavaScriptCore/runtime/JSGlobalData.h -@@ -141,14 +141,18 @@ namespace JSC { - return result; - } - -- static size_t allocationSize(size_t bufferSize) { return sizeof(size_t) + bufferSize; } -+ static size_t allocationSize(size_t bufferSize) { return sizeof(ScratchBuffer) + bufferSize; } - void setActiveLength(size_t activeLength) { m_activeLength = activeLength; } - size_t activeLength() const { return m_activeLength; }; - size_t* activeLengthPtr() { return &m_activeLength; }; - void* dataBuffer() { return m_buffer; } - - size_t m_activeLength; -+#if CPU(MIPS) && (defined WTF_MIPS_ARCH_REV && WTF_MIPS_ARCH_REV == 2) -+ void* m_buffer[0] __attribute__((aligned(8))); -+#else - void* m_buffer[0]; -+#endif - }; - #if COMPILER(MSVC) - #pragma warning(pop) -diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h -index 1698247..2d90359 100644 ---- a/Source/WTF/wtf/Platform.h -+++ b/Source/WTF/wtf/Platform.h -@@ -818,6 +818,10 @@ - #if CPU(ARM_TRADITIONAL) - #define ENABLE_DFG_JIT 1 - #endif -+/* Enable the DFG JIT on MIPS. */ -+#if CPU(MIPS) -+#define ENABLE_DFG_JIT 1 -+#endif - #endif - - /* If the jit is not available, enable the LLInt C Loop: */ --- -1.8.3.2 - diff --git a/package/webkit/webkit-0008-support-bison-3.0.patch b/package/webkit/webkit-0008-support-bison-3.0.patch deleted file mode 100644 index c081b207ee..0000000000 --- a/package/webkit/webkit-0008-support-bison-3.0.patch +++ /dev/null @@ -1,22 +0,0 @@ -ANGLE doesn't build with bison 3.0 - -Author: allan.jensen@digia.com -​https://bugs.webkit.org/show_bug.cgi?id=119798 -Reviewed by Antti Koivisto. -Make glslang.y compatible with bison 3.0, by using %lex-param -to set YYLEX_PARAM and getting rid of useless YYID macro. - -From upstream: http://trac.webkit.org/changeset/154109 -[Arnout: adapted to our older webkit version] -Signed-off-by: Arnout Vandecaeppelle (Essensium/Mind) ---- -Index: trunk/Source/ThirdParty/ANGLE/src/compiler/glslang.y -=================================================================== ---- trunk/Source/ThirdParty/ANGLE/src/compiler/glslang.y (revision 154108) -+++ trunk/Source/ThirdParty/ANGLE/src/compiler/glslang.y (revision 154109) -@@ -48,4 +48,5 @@ - %pure-parser - %parse-param {TParseContext* context} -+%lex-param {YYLEX_PARAM} - - %union { diff --git a/package/wipe/0001-dont-force-lfs.patch b/package/wipe/0001-dont-force-lfs.patch new file mode 100644 index 0000000000..08916e24a8 --- /dev/null +++ b/package/wipe/0001-dont-force-lfs.patch @@ -0,0 +1,16 @@ +LARGEFILE support shouldn't be forced into CFLAGS + +Signed-off-by: Gustavo Zacarias + +diff -Nura wipe-2.3.1/configure.in wipe-2.3.1-lfs/configure.in +--- wipe-2.3.1/configure.in 2009-06-15 22:55:11.000000000 -0300 ++++ wipe-2.3.1-lfs/configure.in 2012-03-05 11:25:30.463221948 -0300 +@@ -91,7 +91,7 @@ + test "$with_efence" = "yes" && temp2CFLAGS="$debugCFLAGS" && LIBS="-lefence" + + DEBUG="$debugCFLAGS $fullCFLAGS" +-fullCFLAGS="$temp2CFLAGS $fullCFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" ++fullCFLAGS="$temp2CFLAGS $fullCFLAGS" + CFLAGS="$checkCFLAGS -D__USE_BSD -D_BSD_SOURCE -D__USE_POSIX -D_POSIX_SOURCE -D_POSIX_MAPPED_FILES" + + dnl Checks for libraries. diff --git a/package/wipe/wipe-dont-force-lfs.patch b/package/wipe/wipe-dont-force-lfs.patch deleted file mode 100644 index 08916e24a8..0000000000 --- a/package/wipe/wipe-dont-force-lfs.patch +++ /dev/null @@ -1,16 +0,0 @@ -LARGEFILE support shouldn't be forced into CFLAGS - -Signed-off-by: Gustavo Zacarias - -diff -Nura wipe-2.3.1/configure.in wipe-2.3.1-lfs/configure.in ---- wipe-2.3.1/configure.in 2009-06-15 22:55:11.000000000 -0300 -+++ wipe-2.3.1-lfs/configure.in 2012-03-05 11:25:30.463221948 -0300 -@@ -91,7 +91,7 @@ - test "$with_efence" = "yes" && temp2CFLAGS="$debugCFLAGS" && LIBS="-lefence" - - DEBUG="$debugCFLAGS $fullCFLAGS" --fullCFLAGS="$temp2CFLAGS $fullCFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" -+fullCFLAGS="$temp2CFLAGS $fullCFLAGS" - CFLAGS="$checkCFLAGS -D__USE_BSD -D_BSD_SOURCE -D__USE_POSIX -D_POSIX_SOURCE -D_POSIX_MAPPED_FILES" - - dnl Checks for libraries. diff --git a/package/wireless_tools/0001-remove-bzero.patch b/package/wireless_tools/0001-remove-bzero.patch new file mode 100644 index 0000000000..53ef588675 --- /dev/null +++ b/package/wireless_tools/0001-remove-bzero.patch @@ -0,0 +1,95 @@ +Switch all instances of deprecated bzero() to memset() equivalent. + +Signed-off-by: Gustavo Zacarias + +diff -Nura wireless_tools.30/ifrename.c wireless_tools.30-bzero/ifrename.c +--- wireless_tools.30/ifrename.c 2007-10-16 20:12:41.000000000 -0300 ++++ wireless_tools.30-bzero/ifrename.c 2014-06-11 09:52:59.623741119 -0300 +@@ -541,7 +541,7 @@ + victimname, autoname); + + /* Prepare request */ +- bzero(&ifr, sizeof(struct ifreq)); ++ memset(&ifr, 0, sizeof(struct ifreq)); + strncpy(ifr.ifr_name, victimname, IFNAMSIZ); + strncpy(ifr.ifr_newname, autoname, IFNAMSIZ); + +@@ -587,7 +587,7 @@ + } + + /* Prepare request */ +- bzero(&ifr, sizeof(struct ifreq)); ++ memset(&ifr, 0, sizeof(struct ifreq)); + strncpy(ifr.ifr_name, oldname, IFNAMSIZ); + strncpy(ifr.ifr_newname, newname, IFNAMSIZ); + +@@ -747,7 +747,7 @@ + int i; + + /* Get MAC address */ +- bzero(&ifr, sizeof(struct ifreq)); ++ memset(&ifr, 0, sizeof(struct ifreq)); + strncpy(ifr.ifr_name, ifname, IFNAMSIZ); + ret = ioctl(skfd, SIOCGIFHWADDR, &ifr); + if(ret < 0) +@@ -1040,8 +1040,8 @@ + return(0); + + /* Prepare request */ +- bzero(&ifr, sizeof(struct ifreq)); +- bzero(&drvinfo, sizeof(struct ethtool_drvinfo)); ++ memset(&ifr, 0, sizeof(struct ifreq)); ++ memset(&drvinfo, 0, sizeof(struct ethtool_drvinfo)); + strncpy(ifr.ifr_name, ifname, IFNAMSIZ); + drvinfo.cmd = ETHTOOL_GDRVINFO; + ifr.ifr_data = (caddr_t) &drvinfo; +@@ -1206,8 +1206,8 @@ + return(0); + + /* Prepare request */ +- bzero(&ifr, sizeof(struct ifreq)); +- bzero(&map, sizeof(struct ifmap)); ++ memset(&ifr, 0, sizeof(struct ifreq)); ++ memset(&map, 0, sizeof(struct ifmap)); + strncpy(ifr.ifr_name, ifname, IFNAMSIZ); + + /* Do it */ +@@ -2050,7 +2050,7 @@ + struct add_extra extrainfo; + + /* Reset the list of filters */ +- bzero(selector_active, sizeof(selector_active)); ++ memset(selector_active, 0, sizeof(selector_active)); + + /* Check filename */ + if(!strcmp(filename, "-")) +diff -Nura wireless_tools.30/iwlib.c wireless_tools.30-bzero/iwlib.c +--- wireless_tools.30/iwlib.c 2009-11-23 23:28:59.000000000 -0300 ++++ wireless_tools.30-bzero/iwlib.c 2014-06-11 09:50:20.611371384 -0300 +@@ -484,7 +484,7 @@ + union iw_range_raw * range_raw; + + /* Cleanup */ +- bzero(buffer, sizeof(buffer)); ++ memset(buffer, 0, sizeof(buffer)); + + wrq.u.data.pointer = (caddr_t) buffer; + wrq.u.data.length = sizeof(buffer); +@@ -513,7 +513,7 @@ + else + { + /* Zero unknown fields */ +- bzero((char *) range, sizeof(struct iw_range)); ++ memset((char *) range, 0, sizeof(struct iw_range)); + + /* Initial part unmoved */ + memcpy((char *) range, +@@ -3064,7 +3064,7 @@ + oldwscan->next = wscan; + + /* Reset it */ +- bzero(wscan, sizeof(struct wireless_scan)); ++ memset(wscan, 0, sizeof(struct wireless_scan)); + + /* Save cell identifier */ + wscan->has_ap_addr = 1; diff --git a/package/wireless_tools/wireless_tools-01-remove-bzero.patch b/package/wireless_tools/wireless_tools-01-remove-bzero.patch deleted file mode 100644 index 53ef588675..0000000000 --- a/package/wireless_tools/wireless_tools-01-remove-bzero.patch +++ /dev/null @@ -1,95 +0,0 @@ -Switch all instances of deprecated bzero() to memset() equivalent. - -Signed-off-by: Gustavo Zacarias - -diff -Nura wireless_tools.30/ifrename.c wireless_tools.30-bzero/ifrename.c ---- wireless_tools.30/ifrename.c 2007-10-16 20:12:41.000000000 -0300 -+++ wireless_tools.30-bzero/ifrename.c 2014-06-11 09:52:59.623741119 -0300 -@@ -541,7 +541,7 @@ - victimname, autoname); - - /* Prepare request */ -- bzero(&ifr, sizeof(struct ifreq)); -+ memset(&ifr, 0, sizeof(struct ifreq)); - strncpy(ifr.ifr_name, victimname, IFNAMSIZ); - strncpy(ifr.ifr_newname, autoname, IFNAMSIZ); - -@@ -587,7 +587,7 @@ - } - - /* Prepare request */ -- bzero(&ifr, sizeof(struct ifreq)); -+ memset(&ifr, 0, sizeof(struct ifreq)); - strncpy(ifr.ifr_name, oldname, IFNAMSIZ); - strncpy(ifr.ifr_newname, newname, IFNAMSIZ); - -@@ -747,7 +747,7 @@ - int i; - - /* Get MAC address */ -- bzero(&ifr, sizeof(struct ifreq)); -+ memset(&ifr, 0, sizeof(struct ifreq)); - strncpy(ifr.ifr_name, ifname, IFNAMSIZ); - ret = ioctl(skfd, SIOCGIFHWADDR, &ifr); - if(ret < 0) -@@ -1040,8 +1040,8 @@ - return(0); - - /* Prepare request */ -- bzero(&ifr, sizeof(struct ifreq)); -- bzero(&drvinfo, sizeof(struct ethtool_drvinfo)); -+ memset(&ifr, 0, sizeof(struct ifreq)); -+ memset(&drvinfo, 0, sizeof(struct ethtool_drvinfo)); - strncpy(ifr.ifr_name, ifname, IFNAMSIZ); - drvinfo.cmd = ETHTOOL_GDRVINFO; - ifr.ifr_data = (caddr_t) &drvinfo; -@@ -1206,8 +1206,8 @@ - return(0); - - /* Prepare request */ -- bzero(&ifr, sizeof(struct ifreq)); -- bzero(&map, sizeof(struct ifmap)); -+ memset(&ifr, 0, sizeof(struct ifreq)); -+ memset(&map, 0, sizeof(struct ifmap)); - strncpy(ifr.ifr_name, ifname, IFNAMSIZ); - - /* Do it */ -@@ -2050,7 +2050,7 @@ - struct add_extra extrainfo; - - /* Reset the list of filters */ -- bzero(selector_active, sizeof(selector_active)); -+ memset(selector_active, 0, sizeof(selector_active)); - - /* Check filename */ - if(!strcmp(filename, "-")) -diff -Nura wireless_tools.30/iwlib.c wireless_tools.30-bzero/iwlib.c ---- wireless_tools.30/iwlib.c 2009-11-23 23:28:59.000000000 -0300 -+++ wireless_tools.30-bzero/iwlib.c 2014-06-11 09:50:20.611371384 -0300 -@@ -484,7 +484,7 @@ - union iw_range_raw * range_raw; - - /* Cleanup */ -- bzero(buffer, sizeof(buffer)); -+ memset(buffer, 0, sizeof(buffer)); - - wrq.u.data.pointer = (caddr_t) buffer; - wrq.u.data.length = sizeof(buffer); -@@ -513,7 +513,7 @@ - else - { - /* Zero unknown fields */ -- bzero((char *) range, sizeof(struct iw_range)); -+ memset((char *) range, 0, sizeof(struct iw_range)); - - /* Initial part unmoved */ - memcpy((char *) range, -@@ -3064,7 +3064,7 @@ - oldwscan->next = wscan; - - /* Reset it */ -- bzero(wscan, sizeof(struct wireless_scan)); -+ memset(wscan, 0, sizeof(struct wireless_scan)); - - /* Save cell identifier */ - wscan->has_ap_addr = 1; diff --git a/package/wireshark/0001-fix-wrong-cflags-for-build-assumption.patch b/package/wireshark/0001-fix-wrong-cflags-for-build-assumption.patch new file mode 100644 index 0000000000..14cb957c37 --- /dev/null +++ b/package/wireshark/0001-fix-wrong-cflags-for-build-assumption.patch @@ -0,0 +1,38 @@ +AC_WIRESHARK_GCC_CFLAGS_CHECK checks for valid CFLAGS against CC and pushes +them into CFLAGS and CFLAGS_FOR_BUILD. +This is wrong since CC_FOR_BUILD might be wildly different and older than CC +leading to build errors. + +Upstream status: reported in tracker +https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9507 + +Patch status: Interim to fix: +http://autobuild.buildroot.net/results/2b1/2b1a0654b649618422d65edf370b82476ba84491/ + +Signed-off-by: Gustavo Zacarias + +diff -Nura wireshark-1.12.0.orig/acinclude.m4 wireshark-1.12.0/acinclude.m4 +--- wireshark-1.12.0.orig/acinclude.m4 2014-09-04 15:45:38.365255309 -0300 ++++ wireshark-1.12.0/acinclude.m4 2014-09-04 15:46:23.349810353 -0300 +@@ -1755,10 +1755,6 @@ + # just the new option. + # + CFLAGS="$CFLAGS_saved $GCC_OPTION" +- # +- # Add it to the flags we use when building build tools. +- # +- CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD $GCC_OPTION" + ], + [ + AC_MSG_RESULT(yes) +@@ -1771,10 +1767,6 @@ + # just the new option. + # + CFLAGS="$CFLAGS_saved $GCC_OPTION" +- # +- # Add it to the flags we use when building build tools. +- # +- CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD $GCC_OPTION" + fi + ], + [ diff --git a/package/wireshark/wireshark-0001-fix-wrong-cflags-for-build-assumption.patch b/package/wireshark/wireshark-0001-fix-wrong-cflags-for-build-assumption.patch deleted file mode 100644 index 14cb957c37..0000000000 --- a/package/wireshark/wireshark-0001-fix-wrong-cflags-for-build-assumption.patch +++ /dev/null @@ -1,38 +0,0 @@ -AC_WIRESHARK_GCC_CFLAGS_CHECK checks for valid CFLAGS against CC and pushes -them into CFLAGS and CFLAGS_FOR_BUILD. -This is wrong since CC_FOR_BUILD might be wildly different and older than CC -leading to build errors. - -Upstream status: reported in tracker -https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9507 - -Patch status: Interim to fix: -http://autobuild.buildroot.net/results/2b1/2b1a0654b649618422d65edf370b82476ba84491/ - -Signed-off-by: Gustavo Zacarias - -diff -Nura wireshark-1.12.0.orig/acinclude.m4 wireshark-1.12.0/acinclude.m4 ---- wireshark-1.12.0.orig/acinclude.m4 2014-09-04 15:45:38.365255309 -0300 -+++ wireshark-1.12.0/acinclude.m4 2014-09-04 15:46:23.349810353 -0300 -@@ -1755,10 +1755,6 @@ - # just the new option. - # - CFLAGS="$CFLAGS_saved $GCC_OPTION" -- # -- # Add it to the flags we use when building build tools. -- # -- CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD $GCC_OPTION" - ], - [ - AC_MSG_RESULT(yes) -@@ -1771,10 +1767,6 @@ - # just the new option. - # - CFLAGS="$CFLAGS_saved $GCC_OPTION" -- # -- # Add it to the flags we use when building build tools. -- # -- CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD $GCC_OPTION" - fi - ], - [ diff --git a/package/wpa_supplicant/0001-fix-musl-build-error.patch b/package/wpa_supplicant/0001-fix-musl-build-error.patch new file mode 100644 index 0000000000..08f63dfc98 --- /dev/null +++ b/package/wpa_supplicant/0001-fix-musl-build-error.patch @@ -0,0 +1,45 @@ +From ccc079dc16e70844bb28e84d00bd26b61ecc755c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Krause?= +Date: Wed, 3 Dec 2014 22:29:29 +0100 +Subject: [PATCH 1/1] fix musl build error +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Building wpa_supplicant with the musl C library fails since musl does not +define type names such as '__uint32_t'. To support building wpa_supplicant +with the musl C library use the integer types declared in the ISO C standard +header file . + +Signed-off-by: Jörg Krause +--- + src/drivers/linux_wext.h | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/drivers/linux_wext.h b/src/drivers/linux_wext.h +index 55cf955..e7c7001 100644 +--- a/src/drivers/linux_wext.h ++++ b/src/drivers/linux_wext.h +@@ -19,13 +19,13 @@ + #define _LINUX_SOCKET_H + #define _LINUX_IF_H + +-#include ++#include + #include +-typedef __uint32_t __u32; +-typedef __int32_t __s32; +-typedef __uint16_t __u16; +-typedef __int16_t __s16; +-typedef __uint8_t __u8; ++typedef uint32_t __u32; ++typedef int32_t __s32; ++typedef uint16_t __u16; ++typedef int16_t __s16; ++typedef uint8_t __u8; + #ifndef __user + #define __user + #endif /* __user */ +-- +2.1.3 + diff --git a/package/wpa_supplicant/wpa_supplicant-0001-fix-musl-build-error.patch b/package/wpa_supplicant/wpa_supplicant-0001-fix-musl-build-error.patch deleted file mode 100644 index 08f63dfc98..0000000000 --- a/package/wpa_supplicant/wpa_supplicant-0001-fix-musl-build-error.patch +++ /dev/null @@ -1,45 +0,0 @@ -From ccc079dc16e70844bb28e84d00bd26b61ecc755c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Krause?= -Date: Wed, 3 Dec 2014 22:29:29 +0100 -Subject: [PATCH 1/1] fix musl build error -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Building wpa_supplicant with the musl C library fails since musl does not -define type names such as '__uint32_t'. To support building wpa_supplicant -with the musl C library use the integer types declared in the ISO C standard -header file . - -Signed-off-by: Jörg Krause ---- - src/drivers/linux_wext.h | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/src/drivers/linux_wext.h b/src/drivers/linux_wext.h -index 55cf955..e7c7001 100644 ---- a/src/drivers/linux_wext.h -+++ b/src/drivers/linux_wext.h -@@ -19,13 +19,13 @@ - #define _LINUX_SOCKET_H - #define _LINUX_IF_H - --#include -+#include - #include --typedef __uint32_t __u32; --typedef __int32_t __s32; --typedef __uint16_t __u16; --typedef __int16_t __s16; --typedef __uint8_t __u8; -+typedef uint32_t __u32; -+typedef int32_t __s32; -+typedef uint16_t __u16; -+typedef int16_t __s16; -+typedef uint8_t __u8; - #ifndef __user - #define __user - #endif /* __user */ --- -2.1.3 - diff --git a/package/wvdial/0001-uClibc-scandir.patch b/package/wvdial/0001-uClibc-scandir.patch new file mode 100644 index 0000000000..b611e94a0b --- /dev/null +++ b/package/wvdial/0001-uClibc-scandir.patch @@ -0,0 +1,23 @@ +Fix wvdial so that it works with scandir as defined in uClibc. + +Signed-off-by: Simon Dawson + +diff -Nurp a/wvmodemscan.cc b/wvmodemscan.cc +--- a/wvmodemscan.cc 2009-09-29 18:27:28.000000000 +0100 ++++ b/wvmodemscan.cc 2012-07-28 14:03:56.359729660 +0100 +@@ -495,13 +495,13 @@ static int fileselect(const struct diren + // (no internal ISDN support) || !strncmp(e->d_name, "ttyI", 4); + } + +-#if defined(__GLIBC__) && __GLIBC_PREREQ(2, 10) ++#if defined(__UCLIBC__) || (defined(__GLIBC__) && __GLIBC_PREREQ(2, 10)) + static int filesort(const dirent **e1, const dirent **e2) + #else + static int filesort(const void *_e1, const void *_e2) + #endif + { +-#if !(defined(__GLIBC__) && __GLIBC_PREREQ(2, 10)) ++#if !(defined(__UCLIBC__) || (defined(__GLIBC__) && __GLIBC_PREREQ(2, 10))) + dirent const * const *e1 = (dirent const * const *)_e1; + dirent const * const *e2 = (dirent const * const *)_e2; + #endif diff --git a/package/wvdial/wvdial-0001-uClibc-scandir.patch b/package/wvdial/wvdial-0001-uClibc-scandir.patch deleted file mode 100644 index b611e94a0b..0000000000 --- a/package/wvdial/wvdial-0001-uClibc-scandir.patch +++ /dev/null @@ -1,23 +0,0 @@ -Fix wvdial so that it works with scandir as defined in uClibc. - -Signed-off-by: Simon Dawson - -diff -Nurp a/wvmodemscan.cc b/wvmodemscan.cc ---- a/wvmodemscan.cc 2009-09-29 18:27:28.000000000 +0100 -+++ b/wvmodemscan.cc 2012-07-28 14:03:56.359729660 +0100 -@@ -495,13 +495,13 @@ static int fileselect(const struct diren - // (no internal ISDN support) || !strncmp(e->d_name, "ttyI", 4); - } - --#if defined(__GLIBC__) && __GLIBC_PREREQ(2, 10) -+#if defined(__UCLIBC__) || (defined(__GLIBC__) && __GLIBC_PREREQ(2, 10)) - static int filesort(const dirent **e1, const dirent **e2) - #else - static int filesort(const void *_e1, const void *_e2) - #endif - { --#if !(defined(__GLIBC__) && __GLIBC_PREREQ(2, 10)) -+#if !(defined(__UCLIBC__) || (defined(__GLIBC__) && __GLIBC_PREREQ(2, 10))) - dirent const * const *e1 = (dirent const * const *)_e1; - dirent const * const *e2 = (dirent const * const *)_e2; - #endif diff --git a/package/wvstreams/0001-fix-uClibc-compile-getcontext.patch b/package/wvstreams/0001-fix-uClibc-compile-getcontext.patch new file mode 100644 index 0000000000..c78cc1893c --- /dev/null +++ b/package/wvstreams/0001-fix-uClibc-compile-getcontext.patch @@ -0,0 +1,273 @@ +Fix wvstreams so that it builds with uClibc, which does not have the +getcontext() and setcontext() functions. + +Signed-off-by: Simon Dawson + +diff -Nurp a/include/wvtask.h b/include/wvtask.h +--- a/include/wvtask.h 2008-07-14 20:11:35.000000000 +0100 ++++ b/include/wvtask.h 2012-07-28 12:29:53.559981240 +0100 +@@ -28,6 +28,13 @@ + + #define WVTASK_MAGIC 0x123678 + ++#undef HAVE_GETCONTEXT ++#ifdef HAVE_GETCONTEXT ++typedef ucontext_t TaskContext; ++#else ++typedef jmp_buf TaskContext; ++#endif ++ + class WvTaskMan; + + /** Represents a single thread of control. */ +@@ -54,8 +61,8 @@ class WvTask + bool running, recycled; + + WvTaskMan &man; +- ucontext_t mystate; // used for resuming the task +- ucontext_t func_call, func_return; ++ TaskContext mystate; // used for resuming the task ++ TaskContext func_call, func_return; + + TaskFunc *func; + void *userdata; +@@ -94,13 +101,13 @@ class WvTaskMan + static void call_func(WvTask *task); + + static char *stacktop; +- static ucontext_t stackmaster_task; ++ static TaskContext stackmaster_task; + + static WvTask *stack_target; +- static ucontext_t get_stack_return; ++ static TaskContext get_stack_return; + + static WvTask *current_task; +- static ucontext_t toplevel; ++ static TaskContext toplevel; + + WvTaskMan(); + virtual ~WvTaskMan(); +diff -Nurp a/utils/wvtask.cc b/utils/wvtask.cc +--- a/utils/wvtask.cc 2009-05-13 22:42:52.000000000 +0100 ++++ b/utils/wvtask.cc 2012-07-28 12:32:23.855974538 +0100 +@@ -60,12 +60,14 @@ int WvTask::taskcount, WvTask::numtasks, + WvTaskMan *WvTaskMan::singleton; + int WvTaskMan::links, WvTaskMan::magic_number; + WvTaskList WvTaskMan::all_tasks, WvTaskMan::free_tasks; +-ucontext_t WvTaskMan::stackmaster_task, WvTaskMan::get_stack_return, ++TaskContext WvTaskMan::stackmaster_task, WvTaskMan::get_stack_return, + WvTaskMan::toplevel; + WvTask *WvTaskMan::current_task, *WvTaskMan::stack_target; + char *WvTaskMan::stacktop; + ++#ifdef HAVE_GETCONTEXT + static int context_return; ++#endif + + + static bool use_shared_stack() +@@ -198,9 +200,13 @@ WvTaskMan::WvTaskMan() + + stacktop = (char *)alloca(0); + ++#ifdef HAVE_GETCONTEXT + context_return = 0; + assert(getcontext(&get_stack_return) == 0); + if (context_return == 0) ++#else ++ if (setjmp(get_stack_return) == 0) ++#endif + { + // initial setup - start the stackmaster() task (never returns!) + stackmaster(); +@@ -257,22 +263,30 @@ int WvTaskMan::run(WvTask &task, int val + + WvTask *old_task = current_task; + current_task = &task; +- ucontext_t *state; ++ TaskContext *state; + + if (!old_task) + state = &toplevel; // top-level call (not in an actual task yet) + else + state = &old_task->mystate; + ++#ifdef HAVE_GETCONTEXT + context_return = 0; + assert(getcontext(state) == 0); + int newval = context_return; ++#else ++ int newval = setjmp(*state); ++#endif + if (newval == 0) + { + // saved the state, now run the task. ++#ifdef HAVE_GETCONTEXT + context_return = val; + setcontext(&task.mystate); + return -1; ++#else ++ longjmp(task.mystate, val); ++#endif + } + else + { +@@ -317,16 +331,24 @@ int WvTaskMan::yield(int val) + (long)current_task->stacksize); + } + #endif +- ++ ++#ifdef HAVE_GETCONTEXT + context_return = 0; + assert(getcontext(¤t_task->mystate) == 0); + int newval = context_return; ++#else ++ int newval = setjmp(current_task->mystate); ++#endif + if (newval == 0) + { + // saved the task state; now yield to the toplevel. ++#ifdef HAVE_GETCONTEXT + context_return = val; + setcontext(&toplevel); + return -1; ++#else ++ longjmp(toplevel, val); ++#endif + } + else + { +@@ -340,9 +362,13 @@ int WvTaskMan::yield(int val) + + void WvTaskMan::get_stack(WvTask &task, size_t size) + { ++#ifdef HAVE_GETCONTEXT + context_return = 0; + assert(getcontext(&get_stack_return) == 0); + if (context_return == 0) ++#else ++ if (setjmp(get_stack_return) == 0) ++#endif + { + assert(magic_number == -WVTASK_MAGIC); + assert(task.magic_number == WVTASK_MAGIC); +@@ -358,6 +384,7 @@ void WvTaskMan::get_stack(WvTask &task, + static char *next_stack_addr = NULL; + #endif + ++#ifndef HAVE_GETCONTEXT + task.stack = mmap(next_stack_addr, task.stacksize, + PROT_READ | PROT_WRITE, + #ifndef MACOS +@@ -366,12 +393,17 @@ void WvTaskMan::get_stack(WvTask &task, + MAP_PRIVATE, + #endif + -1, 0); ++#endif // !HAVE_GETCONTEXT + } + + // initial setup + stack_target = &task; ++#ifdef HAVE_GETCONTEXT + context_return = size/1024 + (size%1024 > 0); + setcontext(&stackmaster_task); ++#else ++ longjmp(stackmaster_task, size/1024 + (size%1024 > 0)); ++#endif + } + else + { +@@ -408,9 +440,13 @@ void WvTaskMan::_stackmaster() + { + assert(magic_number == -WVTASK_MAGIC); + ++#ifdef HAVE_GETCONTEXT + context_return = 0; + assert(getcontext(&stackmaster_task) == 0); + val = context_return; ++#else ++ val = setjmp(stackmaster_task); ++#endif + if (val == 0) + { + assert(magic_number == -WVTASK_MAGIC); +@@ -418,8 +454,12 @@ void WvTaskMan::_stackmaster() + // just did setjmp; save stackmaster's current state (with + // all current stack allocations) and go back to get_stack + // (or the constructor, if that's what called us) ++#ifdef HAVE_GETCONTEXT + context_return = 1; + setcontext(&get_stack_return); ++#else ++ longjmp(get_stack_return, 1); ++#endif + } + else + { +@@ -462,7 +502,9 @@ void WvTaskMan::call_func(WvTask *task) + task->func(task->userdata); + Dprintf("WvTaskMan: returning from task #%d (%s)\n", + task->tid, (const char *)task->name); ++#ifdef HAVE_GETCONTEXT + context_return = 1; ++#endif + } + + +@@ -473,9 +515,13 @@ void WvTaskMan::do_task() + assert(task->magic_number == WVTASK_MAGIC); + + // back here from longjmp; someone wants stack space. ++#ifdef HAVE_GETCONTEXT + context_return = 0; + assert(getcontext(&task->mystate) == 0); + if (context_return == 0) ++#else ++ if (setjmp(task->mystate) == 0) ++#endif + { + // done the setjmp; that means the target task now has + // a working jmp_buf all set up. Leave space on the stack +@@ -510,6 +556,7 @@ void WvTaskMan::do_task() + } + else + { ++#ifdef HAVE_GETCONTEXT + assert(getcontext(&task->func_call) == 0); + task->func_call.uc_stack.ss_size = task->stacksize; + task->func_call.uc_stack.ss_sp = task->stack; +@@ -519,11 +566,19 @@ void WvTaskMan::do_task() + task->tid, (const char *)task->name); + makecontext(&task->func_call, + (void (*)(void))call_func, 1, task); ++#else ++ assert(setjmp(task->func_call) == 0); ++#endif + ++#ifdef HAVE_GETCONTEXT + context_return = 0; + assert(getcontext(&task->func_return) == 0); + if (context_return == 0) + setcontext(&task->func_call); ++#else ++ if (setjmp(task->func_return) == 0) ++ longjmp(task->func_call, 0); ++#endif + } + + // the task's function terminated. +@@ -544,8 +599,12 @@ const void *WvTaskMan::current_top_of_st + if (use_shared_stack() || current_task == NULL) + return __libc_stack_end; + else ++#ifdef HAVE_GETCONTEXT + return (const char *)current_task->stack + current_task->stacksize; + #else ++ return 0; ++#endif ++#else + return 0; + #endif + } diff --git a/package/wvstreams/0002-fix-uClibc-compile-execinfo-backtrace.patch b/package/wvstreams/0002-fix-uClibc-compile-execinfo-backtrace.patch new file mode 100644 index 0000000000..c6317da4dc --- /dev/null +++ b/package/wvstreams/0002-fix-uClibc-compile-execinfo-backtrace.patch @@ -0,0 +1,31 @@ +Fix wvstreams so that it builds with uClibc: we don't have execinfo.h, +so we can't do backtrace() stuff. + +Signed-off-by: Simon Dawson + +diff -Nurp a/utils/wvcrash.cc b/utils/wvcrash.cc +--- a/utils/wvcrash.cc 2008-12-17 12:24:20.000000000 +0000 ++++ b/utils/wvcrash.cc 2012-07-27 22:00:15.456502262 +0100 +@@ -28,7 +28,9 @@ + // FIXME: this file mostly only works in Linux + #ifdef __linux + +-# include ++#ifdef HAVE_EXECINFO_H ++#include ++#endif + #include + + #ifdef __USE_GNU +@@ -267,9 +269,11 @@ static void wvcrash_real(int sig, int fd + } + } + ++#ifdef HAVE_EXECINFO_H + wr(fd, "\nBacktrace:\n"); + backtrace_symbols_fd(trace, + backtrace(trace, sizeof(trace)/sizeof(trace[0])), fd); ++#endif + + if (pid > 0) + { diff --git a/package/wvstreams/0003-fix-uClibc-compile-misc.patch b/package/wvstreams/0003-fix-uClibc-compile-misc.patch new file mode 100644 index 0000000000..690a961c12 --- /dev/null +++ b/package/wvstreams/0003-fix-uClibc-compile-misc.patch @@ -0,0 +1,16 @@ +Fix wvstreams so that it builds with uClibc: const cast problem. + +Signed-off-by: Simon Dawson + +diff -Nurp a/crypto/wvx509.cc b/crypto/wvx509.cc +--- a/crypto/wvx509.cc 2008-10-23 21:23:49.000000000 +0100 ++++ b/crypto/wvx509.cc 2012-06-15 18:45:06.605899292 +0100 +@@ -1157,7 +1157,7 @@ WvString WvX509::get_extension(int nid) + + if (ext) + { +- X509V3_EXT_METHOD *method = X509V3_EXT_get(ext); ++ X509V3_EXT_METHOD *method = const_cast(X509V3_EXT_get(ext)); + if (!method) + { + WvDynBuf buf; diff --git a/package/wvstreams/0004-build-fixes.patch b/package/wvstreams/0004-build-fixes.patch new file mode 100644 index 0000000000..21792d7422 --- /dev/null +++ b/package/wvstreams/0004-build-fixes.patch @@ -0,0 +1,40 @@ +Add missing includes for proper build on Linux/glibc + +The current wvstreams code doesn't build on Linux/glibc, with error +about chmod() not being available (for wvunixdgsocket.cc) or umask() +not being available (for wvatomicfile.cc). Those errors turn out to be +missing includes. Those includes were in fact already done, but +conditionally for MacOS. We make them unconditional (it probably +breaks other platforms, but since Buildroot is Linux only, we don't +care). + +Signed-off-by: Thomas Petazzoni + +Index: b/ipstreams/wvunixdgsocket.cc +=================================================================== +--- a/ipstreams/wvunixdgsocket.cc ++++ b/ipstreams/wvunixdgsocket.cc +@@ -1,8 +1,6 @@ + #include "wvunixdgsocket.h" +-#ifdef MACOS + #include + #include +-#endif + + WvUnixDGSocket::WvUnixDGSocket(WvStringParm filename, bool _server, int perms) + : socketfile(filename) +Index: b/streams/wvatomicfile.cc +=================================================================== +--- a/streams/wvatomicfile.cc ++++ b/streams/wvatomicfile.cc +@@ -10,10 +10,7 @@ + #include "wvatomicfile.h" + #include "wvfileutils.h" + #include "wvstrutils.h" +- +-#ifdef MACOS + #include +-#endif + + WvAtomicFile::WvAtomicFile(WvStringParm filename, int flags, mode_t create_mode) + : tmp_file(WvString::null) diff --git a/package/wvstreams/0005-getuid.patch b/package/wvstreams/0005-getuid.patch new file mode 100644 index 0000000000..60150665ce --- /dev/null +++ b/package/wvstreams/0005-getuid.patch @@ -0,0 +1,25 @@ +[PATCH] wvuid.cc: getuid needs sys/types.h + unistd.h + +Otherwise the build fails with: + +utils/wvuid.cc: In function 'wvuid_t wvgetuid()': +utils/wvuid.cc:63:19: error: 'getuid' was not declared in this scope + +Signed-off-by: Peter Korsgaard +--- + utils/wvuid.cc | 2 ++ + 1 file changed, 2 insertions(+) + +Index: wvstreams-4.6.1/utils/wvuid.cc +=================================================================== +--- wvstreams-4.6.1.orig/utils/wvuid.cc ++++ wvstreams-4.6.1/utils/wvuid.cc +@@ -33,6 +33,8 @@ + + #else // not WIN32 + ++#include ++#include + + WvString wv_username_from_uid(wvuid_t uid) + { diff --git a/package/wvstreams/wvstreams-0001-fix-uClibc-compile-getcontext.patch b/package/wvstreams/wvstreams-0001-fix-uClibc-compile-getcontext.patch deleted file mode 100644 index c78cc1893c..0000000000 --- a/package/wvstreams/wvstreams-0001-fix-uClibc-compile-getcontext.patch +++ /dev/null @@ -1,273 +0,0 @@ -Fix wvstreams so that it builds with uClibc, which does not have the -getcontext() and setcontext() functions. - -Signed-off-by: Simon Dawson - -diff -Nurp a/include/wvtask.h b/include/wvtask.h ---- a/include/wvtask.h 2008-07-14 20:11:35.000000000 +0100 -+++ b/include/wvtask.h 2012-07-28 12:29:53.559981240 +0100 -@@ -28,6 +28,13 @@ - - #define WVTASK_MAGIC 0x123678 - -+#undef HAVE_GETCONTEXT -+#ifdef HAVE_GETCONTEXT -+typedef ucontext_t TaskContext; -+#else -+typedef jmp_buf TaskContext; -+#endif -+ - class WvTaskMan; - - /** Represents a single thread of control. */ -@@ -54,8 +61,8 @@ class WvTask - bool running, recycled; - - WvTaskMan &man; -- ucontext_t mystate; // used for resuming the task -- ucontext_t func_call, func_return; -+ TaskContext mystate; // used for resuming the task -+ TaskContext func_call, func_return; - - TaskFunc *func; - void *userdata; -@@ -94,13 +101,13 @@ class WvTaskMan - static void call_func(WvTask *task); - - static char *stacktop; -- static ucontext_t stackmaster_task; -+ static TaskContext stackmaster_task; - - static WvTask *stack_target; -- static ucontext_t get_stack_return; -+ static TaskContext get_stack_return; - - static WvTask *current_task; -- static ucontext_t toplevel; -+ static TaskContext toplevel; - - WvTaskMan(); - virtual ~WvTaskMan(); -diff -Nurp a/utils/wvtask.cc b/utils/wvtask.cc ---- a/utils/wvtask.cc 2009-05-13 22:42:52.000000000 +0100 -+++ b/utils/wvtask.cc 2012-07-28 12:32:23.855974538 +0100 -@@ -60,12 +60,14 @@ int WvTask::taskcount, WvTask::numtasks, - WvTaskMan *WvTaskMan::singleton; - int WvTaskMan::links, WvTaskMan::magic_number; - WvTaskList WvTaskMan::all_tasks, WvTaskMan::free_tasks; --ucontext_t WvTaskMan::stackmaster_task, WvTaskMan::get_stack_return, -+TaskContext WvTaskMan::stackmaster_task, WvTaskMan::get_stack_return, - WvTaskMan::toplevel; - WvTask *WvTaskMan::current_task, *WvTaskMan::stack_target; - char *WvTaskMan::stacktop; - -+#ifdef HAVE_GETCONTEXT - static int context_return; -+#endif - - - static bool use_shared_stack() -@@ -198,9 +200,13 @@ WvTaskMan::WvTaskMan() - - stacktop = (char *)alloca(0); - -+#ifdef HAVE_GETCONTEXT - context_return = 0; - assert(getcontext(&get_stack_return) == 0); - if (context_return == 0) -+#else -+ if (setjmp(get_stack_return) == 0) -+#endif - { - // initial setup - start the stackmaster() task (never returns!) - stackmaster(); -@@ -257,22 +263,30 @@ int WvTaskMan::run(WvTask &task, int val - - WvTask *old_task = current_task; - current_task = &task; -- ucontext_t *state; -+ TaskContext *state; - - if (!old_task) - state = &toplevel; // top-level call (not in an actual task yet) - else - state = &old_task->mystate; - -+#ifdef HAVE_GETCONTEXT - context_return = 0; - assert(getcontext(state) == 0); - int newval = context_return; -+#else -+ int newval = setjmp(*state); -+#endif - if (newval == 0) - { - // saved the state, now run the task. -+#ifdef HAVE_GETCONTEXT - context_return = val; - setcontext(&task.mystate); - return -1; -+#else -+ longjmp(task.mystate, val); -+#endif - } - else - { -@@ -317,16 +331,24 @@ int WvTaskMan::yield(int val) - (long)current_task->stacksize); - } - #endif -- -+ -+#ifdef HAVE_GETCONTEXT - context_return = 0; - assert(getcontext(¤t_task->mystate) == 0); - int newval = context_return; -+#else -+ int newval = setjmp(current_task->mystate); -+#endif - if (newval == 0) - { - // saved the task state; now yield to the toplevel. -+#ifdef HAVE_GETCONTEXT - context_return = val; - setcontext(&toplevel); - return -1; -+#else -+ longjmp(toplevel, val); -+#endif - } - else - { -@@ -340,9 +362,13 @@ int WvTaskMan::yield(int val) - - void WvTaskMan::get_stack(WvTask &task, size_t size) - { -+#ifdef HAVE_GETCONTEXT - context_return = 0; - assert(getcontext(&get_stack_return) == 0); - if (context_return == 0) -+#else -+ if (setjmp(get_stack_return) == 0) -+#endif - { - assert(magic_number == -WVTASK_MAGIC); - assert(task.magic_number == WVTASK_MAGIC); -@@ -358,6 +384,7 @@ void WvTaskMan::get_stack(WvTask &task, - static char *next_stack_addr = NULL; - #endif - -+#ifndef HAVE_GETCONTEXT - task.stack = mmap(next_stack_addr, task.stacksize, - PROT_READ | PROT_WRITE, - #ifndef MACOS -@@ -366,12 +393,17 @@ void WvTaskMan::get_stack(WvTask &task, - MAP_PRIVATE, - #endif - -1, 0); -+#endif // !HAVE_GETCONTEXT - } - - // initial setup - stack_target = &task; -+#ifdef HAVE_GETCONTEXT - context_return = size/1024 + (size%1024 > 0); - setcontext(&stackmaster_task); -+#else -+ longjmp(stackmaster_task, size/1024 + (size%1024 > 0)); -+#endif - } - else - { -@@ -408,9 +440,13 @@ void WvTaskMan::_stackmaster() - { - assert(magic_number == -WVTASK_MAGIC); - -+#ifdef HAVE_GETCONTEXT - context_return = 0; - assert(getcontext(&stackmaster_task) == 0); - val = context_return; -+#else -+ val = setjmp(stackmaster_task); -+#endif - if (val == 0) - { - assert(magic_number == -WVTASK_MAGIC); -@@ -418,8 +454,12 @@ void WvTaskMan::_stackmaster() - // just did setjmp; save stackmaster's current state (with - // all current stack allocations) and go back to get_stack - // (or the constructor, if that's what called us) -+#ifdef HAVE_GETCONTEXT - context_return = 1; - setcontext(&get_stack_return); -+#else -+ longjmp(get_stack_return, 1); -+#endif - } - else - { -@@ -462,7 +502,9 @@ void WvTaskMan::call_func(WvTask *task) - task->func(task->userdata); - Dprintf("WvTaskMan: returning from task #%d (%s)\n", - task->tid, (const char *)task->name); -+#ifdef HAVE_GETCONTEXT - context_return = 1; -+#endif - } - - -@@ -473,9 +515,13 @@ void WvTaskMan::do_task() - assert(task->magic_number == WVTASK_MAGIC); - - // back here from longjmp; someone wants stack space. -+#ifdef HAVE_GETCONTEXT - context_return = 0; - assert(getcontext(&task->mystate) == 0); - if (context_return == 0) -+#else -+ if (setjmp(task->mystate) == 0) -+#endif - { - // done the setjmp; that means the target task now has - // a working jmp_buf all set up. Leave space on the stack -@@ -510,6 +556,7 @@ void WvTaskMan::do_task() - } - else - { -+#ifdef HAVE_GETCONTEXT - assert(getcontext(&task->func_call) == 0); - task->func_call.uc_stack.ss_size = task->stacksize; - task->func_call.uc_stack.ss_sp = task->stack; -@@ -519,11 +566,19 @@ void WvTaskMan::do_task() - task->tid, (const char *)task->name); - makecontext(&task->func_call, - (void (*)(void))call_func, 1, task); -+#else -+ assert(setjmp(task->func_call) == 0); -+#endif - -+#ifdef HAVE_GETCONTEXT - context_return = 0; - assert(getcontext(&task->func_return) == 0); - if (context_return == 0) - setcontext(&task->func_call); -+#else -+ if (setjmp(task->func_return) == 0) -+ longjmp(task->func_call, 0); -+#endif - } - - // the task's function terminated. -@@ -544,8 +599,12 @@ const void *WvTaskMan::current_top_of_st - if (use_shared_stack() || current_task == NULL) - return __libc_stack_end; - else -+#ifdef HAVE_GETCONTEXT - return (const char *)current_task->stack + current_task->stacksize; - #else -+ return 0; -+#endif -+#else - return 0; - #endif - } diff --git a/package/wvstreams/wvstreams-0002-fix-uClibc-compile-execinfo-backtrace.patch b/package/wvstreams/wvstreams-0002-fix-uClibc-compile-execinfo-backtrace.patch deleted file mode 100644 index c6317da4dc..0000000000 --- a/package/wvstreams/wvstreams-0002-fix-uClibc-compile-execinfo-backtrace.patch +++ /dev/null @@ -1,31 +0,0 @@ -Fix wvstreams so that it builds with uClibc: we don't have execinfo.h, -so we can't do backtrace() stuff. - -Signed-off-by: Simon Dawson - -diff -Nurp a/utils/wvcrash.cc b/utils/wvcrash.cc ---- a/utils/wvcrash.cc 2008-12-17 12:24:20.000000000 +0000 -+++ b/utils/wvcrash.cc 2012-07-27 22:00:15.456502262 +0100 -@@ -28,7 +28,9 @@ - // FIXME: this file mostly only works in Linux - #ifdef __linux - --# include -+#ifdef HAVE_EXECINFO_H -+#include -+#endif - #include - - #ifdef __USE_GNU -@@ -267,9 +269,11 @@ static void wvcrash_real(int sig, int fd - } - } - -+#ifdef HAVE_EXECINFO_H - wr(fd, "\nBacktrace:\n"); - backtrace_symbols_fd(trace, - backtrace(trace, sizeof(trace)/sizeof(trace[0])), fd); -+#endif - - if (pid > 0) - { diff --git a/package/wvstreams/wvstreams-0003-fix-uClibc-compile-misc.patch b/package/wvstreams/wvstreams-0003-fix-uClibc-compile-misc.patch deleted file mode 100644 index 690a961c12..0000000000 --- a/package/wvstreams/wvstreams-0003-fix-uClibc-compile-misc.patch +++ /dev/null @@ -1,16 +0,0 @@ -Fix wvstreams so that it builds with uClibc: const cast problem. - -Signed-off-by: Simon Dawson - -diff -Nurp a/crypto/wvx509.cc b/crypto/wvx509.cc ---- a/crypto/wvx509.cc 2008-10-23 21:23:49.000000000 +0100 -+++ b/crypto/wvx509.cc 2012-06-15 18:45:06.605899292 +0100 -@@ -1157,7 +1157,7 @@ WvString WvX509::get_extension(int nid) - - if (ext) - { -- X509V3_EXT_METHOD *method = X509V3_EXT_get(ext); -+ X509V3_EXT_METHOD *method = const_cast(X509V3_EXT_get(ext)); - if (!method) - { - WvDynBuf buf; diff --git a/package/wvstreams/wvstreams-0004-build-fixes.patch b/package/wvstreams/wvstreams-0004-build-fixes.patch deleted file mode 100644 index 21792d7422..0000000000 --- a/package/wvstreams/wvstreams-0004-build-fixes.patch +++ /dev/null @@ -1,40 +0,0 @@ -Add missing includes for proper build on Linux/glibc - -The current wvstreams code doesn't build on Linux/glibc, with error -about chmod() not being available (for wvunixdgsocket.cc) or umask() -not being available (for wvatomicfile.cc). Those errors turn out to be -missing includes. Those includes were in fact already done, but -conditionally for MacOS. We make them unconditional (it probably -breaks other platforms, but since Buildroot is Linux only, we don't -care). - -Signed-off-by: Thomas Petazzoni - -Index: b/ipstreams/wvunixdgsocket.cc -=================================================================== ---- a/ipstreams/wvunixdgsocket.cc -+++ b/ipstreams/wvunixdgsocket.cc -@@ -1,8 +1,6 @@ - #include "wvunixdgsocket.h" --#ifdef MACOS - #include - #include --#endif - - WvUnixDGSocket::WvUnixDGSocket(WvStringParm filename, bool _server, int perms) - : socketfile(filename) -Index: b/streams/wvatomicfile.cc -=================================================================== ---- a/streams/wvatomicfile.cc -+++ b/streams/wvatomicfile.cc -@@ -10,10 +10,7 @@ - #include "wvatomicfile.h" - #include "wvfileutils.h" - #include "wvstrutils.h" -- --#ifdef MACOS - #include --#endif - - WvAtomicFile::WvAtomicFile(WvStringParm filename, int flags, mode_t create_mode) - : tmp_file(WvString::null) diff --git a/package/wvstreams/wvstreams-0005-getuid.patch b/package/wvstreams/wvstreams-0005-getuid.patch deleted file mode 100644 index 60150665ce..0000000000 --- a/package/wvstreams/wvstreams-0005-getuid.patch +++ /dev/null @@ -1,25 +0,0 @@ -[PATCH] wvuid.cc: getuid needs sys/types.h + unistd.h - -Otherwise the build fails with: - -utils/wvuid.cc: In function 'wvuid_t wvgetuid()': -utils/wvuid.cc:63:19: error: 'getuid' was not declared in this scope - -Signed-off-by: Peter Korsgaard ---- - utils/wvuid.cc | 2 ++ - 1 file changed, 2 insertions(+) - -Index: wvstreams-4.6.1/utils/wvuid.cc -=================================================================== ---- wvstreams-4.6.1.orig/utils/wvuid.cc -+++ wvstreams-4.6.1/utils/wvuid.cc -@@ -33,6 +33,8 @@ - - #else // not WIN32 - -+#include -+#include - - WvString wv_username_from_uid(wvuid_t uid) - { diff --git a/package/x11r7/xapp_luit/0001-posix-openpt.patch b/package/x11r7/xapp_luit/0001-posix-openpt.patch new file mode 100644 index 0000000000..c8ff8e4396 --- /dev/null +++ b/package/x11r7/xapp_luit/0001-posix-openpt.patch @@ -0,0 +1,19 @@ +Suggested workaround to build with recent gcc versions + +Upstream bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47792 + +Signed-off-by: Markos Chandras + +Index: xapp_luit-1.1.1/sys.c +=================================================================== +--- xapp_luit-1.1.1.orig/sys.c ++++ xapp_luit-1.1.1/sys.c +@@ -20,6 +20,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWAR + THE SOFTWARE. + */ + ++#define _XOPEN_SOURCE 600 ++ + #ifdef HAVE_CONFIG_H + # include "config.h" + #endif diff --git a/package/x11r7/xapp_luit/xapp_luit-posix-openpt.patch b/package/x11r7/xapp_luit/xapp_luit-posix-openpt.patch deleted file mode 100644 index c8ff8e4396..0000000000 --- a/package/x11r7/xapp_luit/xapp_luit-posix-openpt.patch +++ /dev/null @@ -1,19 +0,0 @@ -Suggested workaround to build with recent gcc versions - -Upstream bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47792 - -Signed-off-by: Markos Chandras - -Index: xapp_luit-1.1.1/sys.c -=================================================================== ---- xapp_luit-1.1.1.orig/sys.c -+++ xapp_luit-1.1.1/sys.c -@@ -20,6 +20,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWAR - THE SOFTWARE. - */ - -+#define _XOPEN_SOURCE 600 -+ - #ifdef HAVE_CONFIG_H - # include "config.h" - #endif diff --git a/package/x11r7/xcursor-transparent-theme/0001-fix-symlink.patch b/package/x11r7/xcursor-transparent-theme/0001-fix-symlink.patch new file mode 100644 index 0000000000..9cf351f238 --- /dev/null +++ b/package/x11r7/xcursor-transparent-theme/0001-fix-symlink.patch @@ -0,0 +1,37 @@ +Do not symlink to a host directory + +The installation of xcursor-transparent-theme creates many symbolic +links to the 'transp' cursor file, but it does so using an absolute +directory, that happens to point to the installation location, which +is incorrect when cross-compiling. + +Also add the -f option so that the package can be reinstalled even if +it has already been installed. + +Signed-off-by: Thomas Petazzoni + +Index: b/cursors/Makefile.am +=================================================================== +--- a/cursors/Makefile.am ++++ b/cursors/Makefile.am +@@ -91,6 +91,6 @@ + $(INSTALL_DATA) $(CURSOR_REAL) $(DESTDIR)$(CURSOR_DIR)/ + for CURSOR in $(CURSOR_NAMES); do \ + echo '-- Installing cursor '$$CURSOR; \ +- ln -s $(DESTDIR)$(CURSOR_DIR)/transp $(DESTDIR)$(CURSOR_DIR)/$$CURSOR; \ ++ ln -sf transp $(DESTDIR)$(CURSOR_DIR)/$$CURSOR; \ + done + +Index: b/cursors/Makefile.in +=================================================================== +--- a/cursors/Makefile.in ++++ b/cursors/Makefile.in +@@ -177,7 +177,7 @@ + $(INSTALL_DATA) $(CURSOR_REAL) $(DESTDIR)$(CURSOR_DIR)/ + for CURSOR in $(CURSOR_NAMES); do \ + echo '-- Installing cursor '$$CURSOR; \ +- ln -s $(DESTDIR)$(CURSOR_DIR)/transp $(DESTDIR)$(CURSOR_DIR)/$$CURSOR; \ ++ ln -sf transp $(DESTDIR)$(CURSOR_DIR)/$$CURSOR; \ + done + + # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/package/x11r7/xcursor-transparent-theme/xcursor-transparent-theme-0001-fix-symlink.patch b/package/x11r7/xcursor-transparent-theme/xcursor-transparent-theme-0001-fix-symlink.patch deleted file mode 100644 index 9cf351f238..0000000000 --- a/package/x11r7/xcursor-transparent-theme/xcursor-transparent-theme-0001-fix-symlink.patch +++ /dev/null @@ -1,37 +0,0 @@ -Do not symlink to a host directory - -The installation of xcursor-transparent-theme creates many symbolic -links to the 'transp' cursor file, but it does so using an absolute -directory, that happens to point to the installation location, which -is incorrect when cross-compiling. - -Also add the -f option so that the package can be reinstalled even if -it has already been installed. - -Signed-off-by: Thomas Petazzoni - -Index: b/cursors/Makefile.am -=================================================================== ---- a/cursors/Makefile.am -+++ b/cursors/Makefile.am -@@ -91,6 +91,6 @@ - $(INSTALL_DATA) $(CURSOR_REAL) $(DESTDIR)$(CURSOR_DIR)/ - for CURSOR in $(CURSOR_NAMES); do \ - echo '-- Installing cursor '$$CURSOR; \ -- ln -s $(DESTDIR)$(CURSOR_DIR)/transp $(DESTDIR)$(CURSOR_DIR)/$$CURSOR; \ -+ ln -sf transp $(DESTDIR)$(CURSOR_DIR)/$$CURSOR; \ - done - -Index: b/cursors/Makefile.in -=================================================================== ---- a/cursors/Makefile.in -+++ b/cursors/Makefile.in -@@ -177,7 +177,7 @@ - $(INSTALL_DATA) $(CURSOR_REAL) $(DESTDIR)$(CURSOR_DIR)/ - for CURSOR in $(CURSOR_NAMES); do \ - echo '-- Installing cursor '$$CURSOR; \ -- ln -s $(DESTDIR)$(CURSOR_DIR)/transp $(DESTDIR)$(CURSOR_DIR)/$$CURSOR; \ -+ ln -sf transp $(DESTDIR)$(CURSOR_DIR)/$$CURSOR; \ - done - - # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/package/x11r7/xdriver_xf86-input-tslib/0001-fix-segfault.patch b/package/x11r7/xdriver_xf86-input-tslib/0001-fix-segfault.patch new file mode 100644 index 0000000000..adef18b302 --- /dev/null +++ b/package/x11r7/xdriver_xf86-input-tslib/0001-fix-segfault.patch @@ -0,0 +1,34 @@ +Fetch from: https://launchpad.net/ubuntu/+archive/primary/+files/xf86-input-tslib_0.0.6-7build3.debian.tar.gz + +Signed-off-by: Jesper Baekdahl +--- +--- xf86-input-tslib-0.0.6/src/tslib.c 2009-10-19 18:07:18.000000000 +0300 ++++ xf86-input-tslib-0.0.6.new/src/tslib.c 2010-02-12 16:15:05.000000000 +0200 +@@ -103,8 +103,6 @@ + static void + PointerControlProc(DeviceIntPtr dev, PtrCtrl * ctrl) + { +- ErrorF("%s\n", __FUNCTION__); +- return; + } + + static Bool +@@ -406,7 +404,9 @@ + xf86MotionHistoryAllocate(pInfo); + #endif + +- break; ++ if (!InitPtrFeedbackClassDeviceStruct(device, PointerControlProc)) ++ return !Success; ++ break; + + case DEVICE_ON: + AddEnabledDevice(pInfo->fd); +@@ -435,6 +435,7 @@ + xf86TslibControlProc(pInfo->dev, DEVICE_OFF); + ts_close(priv->ts); + xfree(pInfo->private); ++ pInfo->private = NULL; + xf86DeleteInput(pInfo, 0); + } + diff --git a/package/x11r7/xdriver_xf86-input-tslib/0002-port-abi-12.patch b/package/x11r7/xdriver_xf86-input-tslib/0002-port-abi-12.patch new file mode 100644 index 0000000000..eb8fb542fd --- /dev/null +++ b/package/x11r7/xdriver_xf86-input-tslib/0002-port-abi-12.patch @@ -0,0 +1,196 @@ +Fetch from: https://launchpad.net/ubuntu/+archive/primary/+files/xf86-input-tslib_0.0.6-7build3.debian.tar.gz +Fixes build against newer versions of xorg. + +Signed-off-by: Jesper Baekdahl +--- +Index: xf86-input-tslib-trunk/src/tslib.c +=================================================================== +--- xf86-input-tslib-trunk/src/tslib.c (revision 48) ++++ xf86-input-tslib-trunk/src/tslib.c (working copy) +@@ -69,6 +69,13 @@ + #define DEFAULT_HEIGHT 240 + #define DEFAULT_WIDTH 320 + ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 ++#define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options), NULL) ++#else ++#define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options)) ++#endif ++ ++ + enum { TSLIB_ROTATE_NONE=0, TSLIB_ROTATE_CW=270, TSLIB_ROTATE_UD=180, TSLIB_ROTATE_CCW=90 }; + + enum button_state { BUTTON_NOT_PRESSED = 0, BUTTON_1_PRESSED = 1, BUTTON_3_CLICK = 3, BUTTON_3_CLICKED=4, BUTTON_EMULATION_OFF=-1 }; +@@ -106,7 +113,7 @@ + } + + static Bool +-ConvertProc( LocalDevicePtr local, ++ConvertProc( InputInfoPtr local, + int first, + int num, + int v0, +@@ -135,7 +142,7 @@ + return t; + } + +-static void ReadInput (LocalDevicePtr local) ++static void ReadInput (InputInfoPtr local) + { + struct ts_priv *priv = (struct ts_priv *) (local->private); + struct ts_sample samp; +@@ -382,7 +389,11 @@ + axiswidth - 1, /* max val */ + axiswidth, /* resolution */ + 0, /* min_res */ +- axiswidth); /* max_res */ ++ axiswidth /* max_res */ ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 ++ ,Absolute ++#endif ++ ); + + InitValuatorAxisStruct(device, 1, + #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 +@@ -392,7 +403,11 @@ + axisheight - 1, /* max val */ + axisheight, /* resolution */ + 0, /* min_res */ +- axisheight); /* max_res */ ++ axisheight /* max_res */ ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 ++ ,Absolute ++#endif ++ ); + + if (InitProximityClassDeviceStruct (device) == FALSE) { + ErrorF ("Unable to allocate EVTouch touchscreen ProximityClassDeviceStruct\n"); +@@ -434,7 +449,7 @@ + ErrorF("%s\n", __FUNCTION__); + xf86TslibControlProc(pInfo->dev, DEVICE_OFF); + ts_close(priv->ts); +- xfree(pInfo->private); ++ free(pInfo->private); + pInfo->private = NULL; + xf86DeleteInput(pInfo, 0); + } +@@ -444,47 +459,57 @@ + * + * called when the module subsection is found in XF86Config + */ ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 ++static int ++xf86TslibInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags) ++#else + static InputInfoPtr + xf86TslibInit(InputDriverPtr drv, IDevPtr dev, int flags) ++#endif + { + struct ts_priv *priv; + char *s; ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 + InputInfoPtr pInfo; ++#endif + +- priv = xcalloc (1, sizeof (struct ts_priv)); ++ priv = calloc (1, sizeof (struct ts_priv)); + if (!priv) +- return NULL; ++ return BadValue; + ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 + if (!(pInfo = xf86AllocateInput(drv, 0))) { +- xfree(priv); +- return NULL; ++ free(priv); ++ return BadValue; + } + + /* Initialise the InputInfoRec. */ + pInfo->name = dev->identifier; +- pInfo->type_name = XI_TOUCHSCREEN; + pInfo->flags = + XI86_KEYBOARD_CAPABLE | XI86_POINTER_CAPABLE | + XI86_SEND_DRAG_EVENTS; +- pInfo->device_control = xf86TslibControlProc; +- pInfo->read_input = ReadInput; + #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0 + pInfo->motion_history_proc = xf86GetMotionEvents; + pInfo->history_size = 0; + #endif +- pInfo->control_proc = NULL; ++ pInfo->conf_idev = dev; + pInfo->close_proc = NULL; +- pInfo->switch_mode = NULL; + pInfo->conversion_proc = ConvertProc; + pInfo->reverse_conversion_proc = NULL; +- pInfo->dev = NULL; + pInfo->private_flags = 0; + pInfo->always_core_feedback = 0; +- pInfo->conf_idev = dev; ++#endif ++ ++ pInfo->type_name = XI_TOUCHSCREEN; ++ pInfo->control_proc = NULL; ++ pInfo->read_input = ReadInput; ++ pInfo->device_control = xf86TslibControlProc; ++ pInfo->switch_mode = NULL; + pInfo->private = priv; ++ pInfo->dev = NULL; + + /* Collect the options, and process the common options. */ +- xf86CollectInputOptions(pInfo, NULL, NULL); ++ COLLECT_INPUT_OPTIONS(pInfo, NULL); + xf86ProcessCommonOptions(pInfo, pInfo->options); + + priv->screen_num = xf86SetIntOption(pInfo->options, "ScreenNumber", 0 ); +@@ -510,23 +535,31 @@ + priv->rotate = TSLIB_ROTATE_NONE; + } + ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 + s = xf86CheckStrOption(dev->commonOptions, "path", NULL); ++#else ++ s = xf86CheckStrOption(pInfo->options, "path", NULL); ++#endif + if (!s) ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 + s = xf86CheckStrOption(dev->commonOptions, "Device", NULL); ++#else ++ s = xf86CheckStrOption(pInfo->options, "Device", NULL); ++#endif + + priv->ts = ts_open(s, 1); +- xfree(s); ++ free(s); + + if (!priv->ts) { + ErrorF("ts_open failed (device=%s)\n",s); + xf86DeleteInput(pInfo, 0); +- return NULL; ++ return BadValue; + } + + if (ts_config(priv->ts)) { + ErrorF("ts_config failed\n"); + xf86DeleteInput(pInfo, 0); +- return NULL; ++ return BadValue; + } + + pInfo->fd = ts_fd(priv->ts); +@@ -536,11 +569,13 @@ + priv->state = BUTTON_EMULATION_OFF; + } + ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 + /* Mark the device configured */ + pInfo->flags |= XI86_CONFIGURED; ++#endif + + /* Return the configured device */ +- return (pInfo); ++ return Success; + } + + _X_EXPORT InputDriverRec TSLIB = { diff --git a/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib-0001-fix-segfault.patch b/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib-0001-fix-segfault.patch deleted file mode 100644 index adef18b302..0000000000 --- a/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib-0001-fix-segfault.patch +++ /dev/null @@ -1,34 +0,0 @@ -Fetch from: https://launchpad.net/ubuntu/+archive/primary/+files/xf86-input-tslib_0.0.6-7build3.debian.tar.gz - -Signed-off-by: Jesper Baekdahl ---- ---- xf86-input-tslib-0.0.6/src/tslib.c 2009-10-19 18:07:18.000000000 +0300 -+++ xf86-input-tslib-0.0.6.new/src/tslib.c 2010-02-12 16:15:05.000000000 +0200 -@@ -103,8 +103,6 @@ - static void - PointerControlProc(DeviceIntPtr dev, PtrCtrl * ctrl) - { -- ErrorF("%s\n", __FUNCTION__); -- return; - } - - static Bool -@@ -406,7 +404,9 @@ - xf86MotionHistoryAllocate(pInfo); - #endif - -- break; -+ if (!InitPtrFeedbackClassDeviceStruct(device, PointerControlProc)) -+ return !Success; -+ break; - - case DEVICE_ON: - AddEnabledDevice(pInfo->fd); -@@ -435,6 +435,7 @@ - xf86TslibControlProc(pInfo->dev, DEVICE_OFF); - ts_close(priv->ts); - xfree(pInfo->private); -+ pInfo->private = NULL; - xf86DeleteInput(pInfo, 0); - } - diff --git a/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib-0002-port-abi-12.patch b/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib-0002-port-abi-12.patch deleted file mode 100644 index eb8fb542fd..0000000000 --- a/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib-0002-port-abi-12.patch +++ /dev/null @@ -1,196 +0,0 @@ -Fetch from: https://launchpad.net/ubuntu/+archive/primary/+files/xf86-input-tslib_0.0.6-7build3.debian.tar.gz -Fixes build against newer versions of xorg. - -Signed-off-by: Jesper Baekdahl ---- -Index: xf86-input-tslib-trunk/src/tslib.c -=================================================================== ---- xf86-input-tslib-trunk/src/tslib.c (revision 48) -+++ xf86-input-tslib-trunk/src/tslib.c (working copy) -@@ -69,6 +69,13 @@ - #define DEFAULT_HEIGHT 240 - #define DEFAULT_WIDTH 320 - -+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 -+#define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options), NULL) -+#else -+#define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options)) -+#endif -+ -+ - enum { TSLIB_ROTATE_NONE=0, TSLIB_ROTATE_CW=270, TSLIB_ROTATE_UD=180, TSLIB_ROTATE_CCW=90 }; - - enum button_state { BUTTON_NOT_PRESSED = 0, BUTTON_1_PRESSED = 1, BUTTON_3_CLICK = 3, BUTTON_3_CLICKED=4, BUTTON_EMULATION_OFF=-1 }; -@@ -106,7 +113,7 @@ - } - - static Bool --ConvertProc( LocalDevicePtr local, -+ConvertProc( InputInfoPtr local, - int first, - int num, - int v0, -@@ -135,7 +142,7 @@ - return t; - } - --static void ReadInput (LocalDevicePtr local) -+static void ReadInput (InputInfoPtr local) - { - struct ts_priv *priv = (struct ts_priv *) (local->private); - struct ts_sample samp; -@@ -382,7 +389,11 @@ - axiswidth - 1, /* max val */ - axiswidth, /* resolution */ - 0, /* min_res */ -- axiswidth); /* max_res */ -+ axiswidth /* max_res */ -+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 -+ ,Absolute -+#endif -+ ); - - InitValuatorAxisStruct(device, 1, - #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 -@@ -392,7 +403,11 @@ - axisheight - 1, /* max val */ - axisheight, /* resolution */ - 0, /* min_res */ -- axisheight); /* max_res */ -+ axisheight /* max_res */ -+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 -+ ,Absolute -+#endif -+ ); - - if (InitProximityClassDeviceStruct (device) == FALSE) { - ErrorF ("Unable to allocate EVTouch touchscreen ProximityClassDeviceStruct\n"); -@@ -434,7 +449,7 @@ - ErrorF("%s\n", __FUNCTION__); - xf86TslibControlProc(pInfo->dev, DEVICE_OFF); - ts_close(priv->ts); -- xfree(pInfo->private); -+ free(pInfo->private); - pInfo->private = NULL; - xf86DeleteInput(pInfo, 0); - } -@@ -444,47 +459,57 @@ - * - * called when the module subsection is found in XF86Config - */ -+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 -+static int -+xf86TslibInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags) -+#else - static InputInfoPtr - xf86TslibInit(InputDriverPtr drv, IDevPtr dev, int flags) -+#endif - { - struct ts_priv *priv; - char *s; -+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 - InputInfoPtr pInfo; -+#endif - -- priv = xcalloc (1, sizeof (struct ts_priv)); -+ priv = calloc (1, sizeof (struct ts_priv)); - if (!priv) -- return NULL; -+ return BadValue; - -+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 - if (!(pInfo = xf86AllocateInput(drv, 0))) { -- xfree(priv); -- return NULL; -+ free(priv); -+ return BadValue; - } - - /* Initialise the InputInfoRec. */ - pInfo->name = dev->identifier; -- pInfo->type_name = XI_TOUCHSCREEN; - pInfo->flags = - XI86_KEYBOARD_CAPABLE | XI86_POINTER_CAPABLE | - XI86_SEND_DRAG_EVENTS; -- pInfo->device_control = xf86TslibControlProc; -- pInfo->read_input = ReadInput; - #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0 - pInfo->motion_history_proc = xf86GetMotionEvents; - pInfo->history_size = 0; - #endif -- pInfo->control_proc = NULL; -+ pInfo->conf_idev = dev; - pInfo->close_proc = NULL; -- pInfo->switch_mode = NULL; - pInfo->conversion_proc = ConvertProc; - pInfo->reverse_conversion_proc = NULL; -- pInfo->dev = NULL; - pInfo->private_flags = 0; - pInfo->always_core_feedback = 0; -- pInfo->conf_idev = dev; -+#endif -+ -+ pInfo->type_name = XI_TOUCHSCREEN; -+ pInfo->control_proc = NULL; -+ pInfo->read_input = ReadInput; -+ pInfo->device_control = xf86TslibControlProc; -+ pInfo->switch_mode = NULL; - pInfo->private = priv; -+ pInfo->dev = NULL; - - /* Collect the options, and process the common options. */ -- xf86CollectInputOptions(pInfo, NULL, NULL); -+ COLLECT_INPUT_OPTIONS(pInfo, NULL); - xf86ProcessCommonOptions(pInfo, pInfo->options); - - priv->screen_num = xf86SetIntOption(pInfo->options, "ScreenNumber", 0 ); -@@ -510,23 +535,31 @@ - priv->rotate = TSLIB_ROTATE_NONE; - } - -+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 - s = xf86CheckStrOption(dev->commonOptions, "path", NULL); -+#else -+ s = xf86CheckStrOption(pInfo->options, "path", NULL); -+#endif - if (!s) -+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 - s = xf86CheckStrOption(dev->commonOptions, "Device", NULL); -+#else -+ s = xf86CheckStrOption(pInfo->options, "Device", NULL); -+#endif - - priv->ts = ts_open(s, 1); -- xfree(s); -+ free(s); - - if (!priv->ts) { - ErrorF("ts_open failed (device=%s)\n",s); - xf86DeleteInput(pInfo, 0); -- return NULL; -+ return BadValue; - } - - if (ts_config(priv->ts)) { - ErrorF("ts_config failed\n"); - xf86DeleteInput(pInfo, 0); -- return NULL; -+ return BadValue; - } - - pInfo->fd = ts_fd(priv->ts); -@@ -536,11 +569,13 @@ - priv->state = BUTTON_EMULATION_OFF; - } - -+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 - /* Mark the device configured */ - pInfo->flags |= XI86_CONFIGURED; -+#endif - - /* Return the configured device */ -- return (pInfo); -+ return Success; - } - - _X_EXPORT InputDriverRec TSLIB = { diff --git a/package/x11r7/xdriver_xf86-video-ark/0001-mibstore.patch b/package/x11r7/xdriver_xf86-video-ark/0001-mibstore.patch new file mode 100644 index 0000000000..fa3e68596a --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-ark/0001-mibstore.patch @@ -0,0 +1,40 @@ +From 3a3eb72baec46f48e6cf15a834271c3d3386deac Mon Sep 17 00:00:00 2001 +From: Gaetan Nadon +Date: Tue, 17 Sep 2013 19:55:37 +0000 +Subject: Remove usage of mibstore.h (removed from server) + +The module had a compile error for this missing header file. + +Changes similar to vmware commit +23d87c92b7211cc5249eefe4ab3a2c7f370e279e + +Reviewed-by: Alex Deucher +Signed-off-by: Gaetan Nadon +--- +Fetch from: +http://cgit.freedesktop.org/xorg/driver/xf86-video-ark/commit/?id=3a3eb72baec46f48e6cf15a834271c3d3386deac + +Signed-off-by: Bernd Kuhls + +diff --git a/src/ark_driver.c b/src/ark_driver.c +index b7c287c..65cfe84 100644 +--- a/src/ark_driver.c ++++ b/src/ark_driver.c +@@ -39,7 +39,6 @@ + #include "compiler.h" + #include "mipointer.h" + #include "micmap.h" +-#include "mibstore.h" + #include "fb.h" + #include "ark.h" + +@@ -538,7 +537,6 @@ static Bool ARKScreenInit(SCREEN_INIT_ARGS_DECL) + + fbPictureInit (pScreen, 0, 0); + +- miInitializeBackingStore(pScreen); + xf86SetBackingStore(pScreen); + + if (!pARK->NoAccel) { +-- +cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-ark/xdriver_xf86-video-ark-0001-mibstore.patch b/package/x11r7/xdriver_xf86-video-ark/xdriver_xf86-video-ark-0001-mibstore.patch deleted file mode 100644 index fa3e68596a..0000000000 --- a/package/x11r7/xdriver_xf86-video-ark/xdriver_xf86-video-ark-0001-mibstore.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 3a3eb72baec46f48e6cf15a834271c3d3386deac Mon Sep 17 00:00:00 2001 -From: Gaetan Nadon -Date: Tue, 17 Sep 2013 19:55:37 +0000 -Subject: Remove usage of mibstore.h (removed from server) - -The module had a compile error for this missing header file. - -Changes similar to vmware commit -23d87c92b7211cc5249eefe4ab3a2c7f370e279e - -Reviewed-by: Alex Deucher -Signed-off-by: Gaetan Nadon ---- -Fetch from: -http://cgit.freedesktop.org/xorg/driver/xf86-video-ark/commit/?id=3a3eb72baec46f48e6cf15a834271c3d3386deac - -Signed-off-by: Bernd Kuhls - -diff --git a/src/ark_driver.c b/src/ark_driver.c -index b7c287c..65cfe84 100644 ---- a/src/ark_driver.c -+++ b/src/ark_driver.c -@@ -39,7 +39,6 @@ - #include "compiler.h" - #include "mipointer.h" - #include "micmap.h" --#include "mibstore.h" - #include "fb.h" - #include "ark.h" - -@@ -538,7 +537,6 @@ static Bool ARKScreenInit(SCREEN_INIT_ARGS_DECL) - - fbPictureInit (pScreen, 0, 0); - -- miInitializeBackingStore(pScreen); - xf86SetBackingStore(pScreen); - - if (!pARK->NoAccel) { --- -cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-ati/0001-noxaa.patch b/package/x11r7/xdriver_xf86-video-ati/0001-noxaa.patch new file mode 100644 index 0000000000..4e53ea0f40 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-ati/0001-noxaa.patch @@ -0,0 +1,17 @@ +XAA support was removed from xorg xserver +http://cgit.freedesktop.org/xorg/xserver/commit/?id=e191e296e6e7861978ea4a0ae9aa7b780e52732b + +Signed-off-by: Bernd Kuhls + +diff -uNr xf86-video-ati-6.14.6.org/configure.ac xf86-video-ati-6.14.6/configure.ac +--- xf86-video-ati-6.14.6.org/configure.ac 2012-06-29 15:46:11.000000000 +0200 ++++ xf86-video-ati-6.14.6/configure.ac 2014-03-29 17:21:35.805208243 +0100 +@@ -163,8 +163,6 @@ + AM_CONDITIONAL(DRM_MODE, test x$DRM_MODE = xyes) + AM_CONDITIONAL(LIBUDEV, test x$LIBUDEV = xyes) + +-AC_DEFINE(USE_XAA, 1, [Build support for XAA]) +- + # Properly handle EXA. + AC_MSG_CHECKING([whether to enable EXA support]) + if test "x$EXA" = xyes; then diff --git a/package/x11r7/xdriver_xf86-video-ati/0002-mibstore.patch b/package/x11r7/xdriver_xf86-video-ati/0002-mibstore.patch new file mode 100644 index 0000000000..28c72aa969 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-ati/0002-mibstore.patch @@ -0,0 +1,33 @@ +patch adapted from upstream: +http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=e8cb0b721e6ea251f85c799ca0563bfa59a2d37c + +Signed-off-by: Bernd Kuhls + +diff -uNr xf86-video-ati-6.14.6.org/src/radeon_driver.c xf86-video-ati-6.14.6/src/radeon_driver.c +--- xf86-video-ati-6.14.6.org/src/radeon_driver.c 2012-06-25 10:19:41.000000000 +0200 ++++ xf86-video-ati-6.14.6/src/radeon_driver.c 2014-03-29 17:27:54.712440644 +0100 +@@ -3753,10 +3753,6 @@ + RADEONInitMemMapRegisters(pScrn, info->ModeReg, info); + RADEONRestoreMemMapRegisters(pScrn, info->ModeReg); + +- /* Backing store setup */ +- xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG, +- "Initializing backing store\n"); +- miInitializeBackingStore(pScreen); + xf86SetBackingStore(pScreen); + + /* DRI finalisation */ +diff -uNr xf86-video-ati-6.14.6.org/src/radeon_kms.c xf86-video-ati-6.14.6/src/radeon_kms.c +--- xf86-video-ati-6.14.6.org/src/radeon_kms.c 2012-06-29 15:45:35.000000000 +0200 ++++ xf86-video-ati-6.14.6/src/radeon_kms.c 2014-03-29 17:28:02.328340925 +0100 +@@ -1036,10 +1036,6 @@ + #endif + + pScrn->vtSema = TRUE; +- /* Backing store setup */ +- xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG, +- "Initializing backing store\n"); +- miInitializeBackingStore(pScreen); + xf86SetBackingStore(pScreen); + + diff --git a/package/x11r7/xdriver_xf86-video-ati/0003-DamageUnregister.patch b/package/x11r7/xdriver_xf86-video-ati/0003-DamageUnregister.patch new file mode 100644 index 0000000000..e866cfda0e --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-ati/0003-DamageUnregister.patch @@ -0,0 +1,28 @@ +Fix compile error, inspired by +http://cgit.freedesktop.org/xorg/driver/xf86-video-vmware/commit/?id=e26dec8f5278df74a102493bf6d2d8444dab5d6d + +Signed-off-by: Bernd Kuhls + +diff -uNr xf86-video-ati-6.14.6.org/src/radeon_driver.c xf86-video-ati-6.14.6/src/radeon_driver.c +--- xf86-video-ati-6.14.6.org/src/radeon_driver.c 2012-06-25 10:19:41.000000000 +0200 ++++ xf86-video-ati-6.14.6/src/radeon_driver.c 2014-03-29 18:03:47.401381113 +0100 +@@ -99,6 +99,7 @@ + #endif + #include "xf86cmap.h" + #include "vbe.h" ++#include + + #include "shadow.h" + /* vgaHW definitions */ +@@ -6440,7 +6437,11 @@ + if (info->dri && info->dri->pDamage) { + PixmapPtr pPix = pScreen->GetScreenPixmap(pScreen); + ++#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,14,99,2,0) ++ DamageUnregister(info->dri->pDamage); ++#else + DamageUnregister(&pPix->drawable, info->dri->pDamage); ++#endif + DamageDestroy(info->dri->pDamage); + info->dri->pDamage = NULL; + } diff --git a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati-0001-noxaa.patch b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati-0001-noxaa.patch deleted file mode 100644 index 4e53ea0f40..0000000000 --- a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati-0001-noxaa.patch +++ /dev/null @@ -1,17 +0,0 @@ -XAA support was removed from xorg xserver -http://cgit.freedesktop.org/xorg/xserver/commit/?id=e191e296e6e7861978ea4a0ae9aa7b780e52732b - -Signed-off-by: Bernd Kuhls - -diff -uNr xf86-video-ati-6.14.6.org/configure.ac xf86-video-ati-6.14.6/configure.ac ---- xf86-video-ati-6.14.6.org/configure.ac 2012-06-29 15:46:11.000000000 +0200 -+++ xf86-video-ati-6.14.6/configure.ac 2014-03-29 17:21:35.805208243 +0100 -@@ -163,8 +163,6 @@ - AM_CONDITIONAL(DRM_MODE, test x$DRM_MODE = xyes) - AM_CONDITIONAL(LIBUDEV, test x$LIBUDEV = xyes) - --AC_DEFINE(USE_XAA, 1, [Build support for XAA]) -- - # Properly handle EXA. - AC_MSG_CHECKING([whether to enable EXA support]) - if test "x$EXA" = xyes; then diff --git a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati-0002-mibstore.patch b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati-0002-mibstore.patch deleted file mode 100644 index 28c72aa969..0000000000 --- a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati-0002-mibstore.patch +++ /dev/null @@ -1,33 +0,0 @@ -patch adapted from upstream: -http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=e8cb0b721e6ea251f85c799ca0563bfa59a2d37c - -Signed-off-by: Bernd Kuhls - -diff -uNr xf86-video-ati-6.14.6.org/src/radeon_driver.c xf86-video-ati-6.14.6/src/radeon_driver.c ---- xf86-video-ati-6.14.6.org/src/radeon_driver.c 2012-06-25 10:19:41.000000000 +0200 -+++ xf86-video-ati-6.14.6/src/radeon_driver.c 2014-03-29 17:27:54.712440644 +0100 -@@ -3753,10 +3753,6 @@ - RADEONInitMemMapRegisters(pScrn, info->ModeReg, info); - RADEONRestoreMemMapRegisters(pScrn, info->ModeReg); - -- /* Backing store setup */ -- xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG, -- "Initializing backing store\n"); -- miInitializeBackingStore(pScreen); - xf86SetBackingStore(pScreen); - - /* DRI finalisation */ -diff -uNr xf86-video-ati-6.14.6.org/src/radeon_kms.c xf86-video-ati-6.14.6/src/radeon_kms.c ---- xf86-video-ati-6.14.6.org/src/radeon_kms.c 2012-06-29 15:45:35.000000000 +0200 -+++ xf86-video-ati-6.14.6/src/radeon_kms.c 2014-03-29 17:28:02.328340925 +0100 -@@ -1036,10 +1036,6 @@ - #endif - - pScrn->vtSema = TRUE; -- /* Backing store setup */ -- xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG, -- "Initializing backing store\n"); -- miInitializeBackingStore(pScreen); - xf86SetBackingStore(pScreen); - - diff --git a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati-0003-DamageUnregister.patch b/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati-0003-DamageUnregister.patch deleted file mode 100644 index e866cfda0e..0000000000 --- a/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati-0003-DamageUnregister.patch +++ /dev/null @@ -1,28 +0,0 @@ -Fix compile error, inspired by -http://cgit.freedesktop.org/xorg/driver/xf86-video-vmware/commit/?id=e26dec8f5278df74a102493bf6d2d8444dab5d6d - -Signed-off-by: Bernd Kuhls - -diff -uNr xf86-video-ati-6.14.6.org/src/radeon_driver.c xf86-video-ati-6.14.6/src/radeon_driver.c ---- xf86-video-ati-6.14.6.org/src/radeon_driver.c 2012-06-25 10:19:41.000000000 +0200 -+++ xf86-video-ati-6.14.6/src/radeon_driver.c 2014-03-29 18:03:47.401381113 +0100 -@@ -99,6 +99,7 @@ - #endif - #include "xf86cmap.h" - #include "vbe.h" -+#include - - #include "shadow.h" - /* vgaHW definitions */ -@@ -6440,7 +6437,11 @@ - if (info->dri && info->dri->pDamage) { - PixmapPtr pPix = pScreen->GetScreenPixmap(pScreen); - -+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,14,99,2,0) -+ DamageUnregister(info->dri->pDamage); -+#else - DamageUnregister(&pPix->drawable, info->dri->pDamage); -+#endif - DamageDestroy(info->dri->pDamage); - info->dri->pDamage = NULL; - } diff --git a/package/x11r7/xdriver_xf86-video-geode/0001-include.patch b/package/x11r7/xdriver_xf86-video-geode/0001-include.patch new file mode 100644 index 0000000000..e38424a97f --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-geode/0001-include.patch @@ -0,0 +1,17 @@ +taken from upstream to fix FTBFS on xserver 1.15 and up +http://cgit.freedesktop.org/xorg/driver/xf86-video-geode/commit/?id=9707a7a5eac25536a5150fc12d9ace52420b4d36 +http://cgit.freedesktop.org/xorg/driver/xf86-video-geode/commit/?id=70b131d09b7d21df1d1ffcf6a4e50d3086924228 + +Signed-off-by: Bernd Kuhls + +diff -uNr xf86-video-geode-2.11.15.org/src/geode_dcon.c xf86-video-geode-2.11.15/src/geode_dcon.c +--- xf86-video-geode-2.11.15.org/src/geode_dcon.c 2013-10-09 13:47:09.000000000 +0200 ++++ xf86-video-geode-2.11.15/src/geode_dcon.c 2014-03-29 12:33:46.718311451 +0100 +@@ -29,6 +29,7 @@ + + /* Includes that are used by all drivers */ + #include ++#include + #include + #include + diff --git a/package/x11r7/xdriver_xf86-video-geode/xdriver_xf86-video-geode-0001-include.patch b/package/x11r7/xdriver_xf86-video-geode/xdriver_xf86-video-geode-0001-include.patch deleted file mode 100644 index e38424a97f..0000000000 --- a/package/x11r7/xdriver_xf86-video-geode/xdriver_xf86-video-geode-0001-include.patch +++ /dev/null @@ -1,17 +0,0 @@ -taken from upstream to fix FTBFS on xserver 1.15 and up -http://cgit.freedesktop.org/xorg/driver/xf86-video-geode/commit/?id=9707a7a5eac25536a5150fc12d9ace52420b4d36 -http://cgit.freedesktop.org/xorg/driver/xf86-video-geode/commit/?id=70b131d09b7d21df1d1ffcf6a4e50d3086924228 - -Signed-off-by: Bernd Kuhls - -diff -uNr xf86-video-geode-2.11.15.org/src/geode_dcon.c xf86-video-geode-2.11.15/src/geode_dcon.c ---- xf86-video-geode-2.11.15.org/src/geode_dcon.c 2013-10-09 13:47:09.000000000 +0200 -+++ xf86-video-geode-2.11.15/src/geode_dcon.c 2014-03-29 12:33:46.718311451 +0100 -@@ -29,6 +29,7 @@ - - /* Includes that are used by all drivers */ - #include -+#include - #include - #include - diff --git a/package/x11r7/xdriver_xf86-video-glint/0001-mbstring.patch b/package/x11r7/xdriver_xf86-video-glint/0001-mbstring.patch new file mode 100644 index 0000000000..635600abbf --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-glint/0001-mbstring.patch @@ -0,0 +1,35 @@ +From 073d5b0b392781bf4a6aa7f9e2dbe2ae51caed2c Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 25 Sep 2012 12:54:38 +0000 +Subject: Remove mibstore.h + +Signed-off-by: Adam Jackson +--- +Fetch from: +http://cgit.freedesktop.org/xorg/driver/xf86-video-glint/commit/?id=073d5b0b392781bf4a6aa7f9e2dbe2ae51caed2c + +Signed-off-by: Bernd Kuhls + +diff --git a/src/glint_driver.c b/src/glint_driver.c +index b6d20a9..aa78516 100644 +--- a/src/glint_driver.c ++++ b/src/glint_driver.c +@@ -52,8 +52,6 @@ + #include "compiler.h" + #include "mipointer.h" + +-#include "mibstore.h" +- + #include "pm3_regs.h" + #include "glint_regs.h" + #include "IBM.h" +@@ -2904,7 +2902,6 @@ GLINTScreenInit(SCREEN_INIT_ARGS_DECL) + } + } + +- miInitializeBackingStore(pScreen); + xf86SetBackingStore(pScreen); + xf86SetSilkenMouse(pScreen); + +-- +cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-glint/xdriver_xf86-video-glint-0001-mbstring.patch b/package/x11r7/xdriver_xf86-video-glint/xdriver_xf86-video-glint-0001-mbstring.patch deleted file mode 100644 index 635600abbf..0000000000 --- a/package/x11r7/xdriver_xf86-video-glint/xdriver_xf86-video-glint-0001-mbstring.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 073d5b0b392781bf4a6aa7f9e2dbe2ae51caed2c Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Tue, 25 Sep 2012 12:54:38 +0000 -Subject: Remove mibstore.h - -Signed-off-by: Adam Jackson ---- -Fetch from: -http://cgit.freedesktop.org/xorg/driver/xf86-video-glint/commit/?id=073d5b0b392781bf4a6aa7f9e2dbe2ae51caed2c - -Signed-off-by: Bernd Kuhls - -diff --git a/src/glint_driver.c b/src/glint_driver.c -index b6d20a9..aa78516 100644 ---- a/src/glint_driver.c -+++ b/src/glint_driver.c -@@ -52,8 +52,6 @@ - #include "compiler.h" - #include "mipointer.h" - --#include "mibstore.h" -- - #include "pm3_regs.h" - #include "glint_regs.h" - #include "IBM.h" -@@ -2904,7 +2902,6 @@ GLINTScreenInit(SCREEN_INIT_ARGS_DECL) - } - } - -- miInitializeBackingStore(pScreen); - xf86SetBackingStore(pScreen); - xf86SetSilkenMouse(pScreen); - --- -cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-i128/0001-mbstring.patch b/package/x11r7/xdriver_xf86-video-i128/0001-mbstring.patch new file mode 100644 index 0000000000..40bb1ea2bd --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-i128/0001-mbstring.patch @@ -0,0 +1,35 @@ +From c87753733a6e1f85d1d037dced0b47ce0cf41658 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 25 Sep 2012 12:54:40 +0000 +Subject: Remove mibstore.h + +Signed-off-by: Adam Jackson +--- +Fetch from: +http://cgit.freedesktop.org/xorg/driver/xf86-video-i128/commit/?id=c87753733a6e1f85d1d037dced0b47ce0cf41658 + +Signed-off-by: Bernd Kuhls + +diff --git a/src/i128_driver.c b/src/i128_driver.c +index a0f08c0..51a4135 100644 +--- a/src/i128_driver.c ++++ b/src/i128_driver.c +@@ -50,8 +50,6 @@ + /* All drivers initialising the SW cursor need this */ + #include "mipointer.h" + +-/* All drivers implementing backing store need this */ +-#include "mibstore.h" + #include "micmap.h" + + #include "xf86DDC.h" +@@ -1556,7 +1554,6 @@ I128ScreenInit(SCREEN_INIT_ARGS_DECL) + return FALSE; + } + +- miInitializeBackingStore(pScreen); + xf86SetBackingStore(pScreen); + xf86SetSilkenMouse(pScreen); + +-- +cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128-0001-mbstring.patch b/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128-0001-mbstring.patch deleted file mode 100644 index 40bb1ea2bd..0000000000 --- a/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128-0001-mbstring.patch +++ /dev/null @@ -1,35 +0,0 @@ -From c87753733a6e1f85d1d037dced0b47ce0cf41658 Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Tue, 25 Sep 2012 12:54:40 +0000 -Subject: Remove mibstore.h - -Signed-off-by: Adam Jackson ---- -Fetch from: -http://cgit.freedesktop.org/xorg/driver/xf86-video-i128/commit/?id=c87753733a6e1f85d1d037dced0b47ce0cf41658 - -Signed-off-by: Bernd Kuhls - -diff --git a/src/i128_driver.c b/src/i128_driver.c -index a0f08c0..51a4135 100644 ---- a/src/i128_driver.c -+++ b/src/i128_driver.c -@@ -50,8 +50,6 @@ - /* All drivers initialising the SW cursor need this */ - #include "mipointer.h" - --/* All drivers implementing backing store need this */ --#include "mibstore.h" - #include "micmap.h" - - #include "xf86DDC.h" -@@ -1556,7 +1554,6 @@ I128ScreenInit(SCREEN_INIT_ARGS_DECL) - return FALSE; - } - -- miInitializeBackingStore(pScreen); - xf86SetBackingStore(pScreen); - xf86SetSilkenMouse(pScreen); - --- -cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-mach64/0001-cross-compile.patch b/package/x11r7/xdriver_xf86-video-mach64/0001-cross-compile.patch new file mode 100644 index 0000000000..d27617606e --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-mach64/0001-cross-compile.patch @@ -0,0 +1,27 @@ +--- a/configure.ac 2008-06-23 10:39:28.000000000 -0400 ++++ b/configure.ac 2008-06-23 10:40:46.000000000 -0400 +@@ -85,14 +85,20 @@ sdkdir=$(pkg-config --variable=sdkdir xo + AC_HEADER_STDC + + if test "$DRI" != no; then +- AC_CHECK_FILE([${sdkdir}/dri.h], ++ if test "$cross_compiling" = "no" ; then ++ AC_CHECK_FILE([${sdkdir}/dri.h], + [have_dri_h="yes"], [have_dri_h="no"]) +- AC_CHECK_FILE([${sdkdir}/sarea.h], ++ AC_CHECK_FILE([${sdkdir}/sarea.h], + [have_sarea_h="yes"], [have_sarea_h="no"]) +- AC_CHECK_FILE([${sdkdir}/dristruct.h], ++ AC_CHECK_FILE([${sdkdir}/dristruct.h], + [have_dristruct_h="yes"], [have_dristruct_h="no"]) +- AC_CHECK_FILE([${sdkdir}/damage.h], ++ AC_CHECK_FILE([${sdkdir}/damage.h], + [have_damage_h="yes"], [have_damage_h="no"]) ++ else ++ have_dri_h="yes" ++ have_sarea_h="yes" ++ have_dristruct_h="yes" ++ fi + fi + + AC_MSG_CHECKING([whether to include DRI support]) diff --git a/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64-cross-compile.patch b/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64-cross-compile.patch deleted file mode 100644 index d27617606e..0000000000 --- a/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64-cross-compile.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- a/configure.ac 2008-06-23 10:39:28.000000000 -0400 -+++ b/configure.ac 2008-06-23 10:40:46.000000000 -0400 -@@ -85,14 +85,20 @@ sdkdir=$(pkg-config --variable=sdkdir xo - AC_HEADER_STDC - - if test "$DRI" != no; then -- AC_CHECK_FILE([${sdkdir}/dri.h], -+ if test "$cross_compiling" = "no" ; then -+ AC_CHECK_FILE([${sdkdir}/dri.h], - [have_dri_h="yes"], [have_dri_h="no"]) -- AC_CHECK_FILE([${sdkdir}/sarea.h], -+ AC_CHECK_FILE([${sdkdir}/sarea.h], - [have_sarea_h="yes"], [have_sarea_h="no"]) -- AC_CHECK_FILE([${sdkdir}/dristruct.h], -+ AC_CHECK_FILE([${sdkdir}/dristruct.h], - [have_dristruct_h="yes"], [have_dristruct_h="no"]) -- AC_CHECK_FILE([${sdkdir}/damage.h], -+ AC_CHECK_FILE([${sdkdir}/damage.h], - [have_damage_h="yes"], [have_damage_h="no"]) -+ else -+ have_dri_h="yes" -+ have_sarea_h="yes" -+ have_dristruct_h="yes" -+ fi - fi - - AC_MSG_CHECKING([whether to include DRI support]) diff --git a/package/x11r7/xdriver_xf86-video-mga/0001-misc-fixes.patch b/package/x11r7/xdriver_xf86-video-mga/0001-misc-fixes.patch new file mode 100644 index 0000000000..5707bd1b3a --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-mga/0001-misc-fixes.patch @@ -0,0 +1,21 @@ +--- xf86-video-mga-1.4.9/configure.ac.orig 2007-06-10 11:55:24.000000000 +0200 ++++ xf86-video-mga-1.4.9/configure.ac 2007-06-10 12:00:37.000000000 +0200 +@@ -77,12 +77,18 @@ + AC_HEADER_STDC + + if test "x$DRI" != xno; then ++ if test "$cross_compiling" = no; then + AC_CHECK_FILE([${sdkdir}/dri.h], + [have_dri_h="yes"], [have_dri_h="no"]) + AC_CHECK_FILE([${sdkdir}/sarea.h], + [have_sarea_h="yes"], [have_sarea_h="no"]) + AC_CHECK_FILE([${sdkdir}/dristruct.h], + [have_dristruct_h="yes"], [have_dristruct_h="no"]) ++ else ++ have_dri_h="yes" ++ have_sarea_h="yes" ++ have_dristruct_h="yes" ++ fi + fi + + AC_MSG_CHECKING([whether to include DRI support]) diff --git a/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga-1.4.9.patch b/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga-1.4.9.patch deleted file mode 100644 index 5707bd1b3a..0000000000 --- a/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga-1.4.9.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- xf86-video-mga-1.4.9/configure.ac.orig 2007-06-10 11:55:24.000000000 +0200 -+++ xf86-video-mga-1.4.9/configure.ac 2007-06-10 12:00:37.000000000 +0200 -@@ -77,12 +77,18 @@ - AC_HEADER_STDC - - if test "x$DRI" != xno; then -+ if test "$cross_compiling" = no; then - AC_CHECK_FILE([${sdkdir}/dri.h], - [have_dri_h="yes"], [have_dri_h="no"]) - AC_CHECK_FILE([${sdkdir}/sarea.h], - [have_sarea_h="yes"], [have_sarea_h="no"]) - AC_CHECK_FILE([${sdkdir}/dristruct.h], - [have_dristruct_h="yes"], [have_dristruct_h="no"]) -+ else -+ have_dri_h="yes" -+ have_sarea_h="yes" -+ have_dristruct_h="yes" -+ fi - fi - - AC_MSG_CHECKING([whether to include DRI support]) diff --git a/package/x11r7/xdriver_xf86-video-nv/0001-mibstore.patch b/package/x11r7/xdriver_xf86-video-nv/0001-mibstore.patch new file mode 100644 index 0000000000..e71418bc9e --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-nv/0001-mibstore.patch @@ -0,0 +1,86 @@ +From fc78fe98222b0204b8a2872a529763d6fe5048da Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 25 Sep 2012 12:54:49 +0000 +Subject: Remove mibstore.h + +Signed-off-by: Adam Jackson +--- +Fetch from: +http://cgit.freedesktop.org/xorg/driver/xf86-video-nv/commit/?id=fc78fe98222b0204b8a2872a529763d6fe5048da + +Signed-off-by: Bernd Kuhls + +diff --git a/src/g80_driver.c b/src/g80_driver.c +index cc4e197..719b96c 100644 +--- a/src/g80_driver.c ++++ b/src/g80_driver.c +@@ -34,7 +34,6 @@ + #include + #endif + #include +-#include + #include + #include + #include +@@ -833,7 +832,6 @@ G80ScreenInit(SCREEN_INIT_ARGS_DECL) + } + } + +- miInitializeBackingStore(pScreen); + xf86SetBackingStore(pScreen); + xf86SetSilkenMouse(pScreen); + +diff --git a/src/nv_driver.c b/src/nv_driver.c +index 6dad6e5..8f35334 100644 +--- a/src/nv_driver.c ++++ b/src/nv_driver.c +@@ -2550,7 +2550,6 @@ NVScreenInit(SCREEN_INIT_ARGS_DECL) + if (!pNv->NoAccel) + NVAccelInit(pScreen); + +- miInitializeBackingStore(pScreen); + xf86SetBackingStore(pScreen); + xf86SetSilkenMouse(pScreen); + +diff --git a/src/nv_include.h b/src/nv_include.h +index fb190bf..f174eef 100644 +--- a/src/nv_include.h ++++ b/src/nv_include.h +@@ -24,9 +24,6 @@ + /* All drivers initialising the SW cursor need this */ + #include "mipointer.h" + +-/* All drivers implementing backing store need this */ +-#include "mibstore.h" +- + #include "micmap.h" + + #include "xf86DDC.h" +diff --git a/src/riva_driver.c b/src/riva_driver.c +index e0667ef..759501e 100644 +--- a/src/riva_driver.c ++++ b/src/riva_driver.c +@@ -1168,7 +1168,6 @@ RivaScreenInit(SCREEN_INIT_ARGS_DECL) + if (!pRiva->NoAccel) + RivaAccelInit(pScreen); + +- miInitializeBackingStore(pScreen); + xf86SetBackingStore(pScreen); + xf86SetSilkenMouse(pScreen); + +diff --git a/src/riva_include.h b/src/riva_include.h +index f2c5302..c7aeef7 100644 +--- a/src/riva_include.h ++++ b/src/riva_include.h +@@ -22,9 +22,6 @@ + /* All drivers initialising the SW cursor need this */ + #include "mipointer.h" + +-/* All drivers implementing backing store need this */ +-#include "mibstore.h" +- + #include "micmap.h" + + #include "xf86DDC.h" +-- +cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-nv/xdriver_xf86-video-nv-0001-mibstore.patch b/package/x11r7/xdriver_xf86-video-nv/xdriver_xf86-video-nv-0001-mibstore.patch deleted file mode 100644 index e71418bc9e..0000000000 --- a/package/x11r7/xdriver_xf86-video-nv/xdriver_xf86-video-nv-0001-mibstore.patch +++ /dev/null @@ -1,86 +0,0 @@ -From fc78fe98222b0204b8a2872a529763d6fe5048da Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Tue, 25 Sep 2012 12:54:49 +0000 -Subject: Remove mibstore.h - -Signed-off-by: Adam Jackson ---- -Fetch from: -http://cgit.freedesktop.org/xorg/driver/xf86-video-nv/commit/?id=fc78fe98222b0204b8a2872a529763d6fe5048da - -Signed-off-by: Bernd Kuhls - -diff --git a/src/g80_driver.c b/src/g80_driver.c -index cc4e197..719b96c 100644 ---- a/src/g80_driver.c -+++ b/src/g80_driver.c -@@ -34,7 +34,6 @@ - #include - #endif - #include --#include - #include - #include - #include -@@ -833,7 +832,6 @@ G80ScreenInit(SCREEN_INIT_ARGS_DECL) - } - } - -- miInitializeBackingStore(pScreen); - xf86SetBackingStore(pScreen); - xf86SetSilkenMouse(pScreen); - -diff --git a/src/nv_driver.c b/src/nv_driver.c -index 6dad6e5..8f35334 100644 ---- a/src/nv_driver.c -+++ b/src/nv_driver.c -@@ -2550,7 +2550,6 @@ NVScreenInit(SCREEN_INIT_ARGS_DECL) - if (!pNv->NoAccel) - NVAccelInit(pScreen); - -- miInitializeBackingStore(pScreen); - xf86SetBackingStore(pScreen); - xf86SetSilkenMouse(pScreen); - -diff --git a/src/nv_include.h b/src/nv_include.h -index fb190bf..f174eef 100644 ---- a/src/nv_include.h -+++ b/src/nv_include.h -@@ -24,9 +24,6 @@ - /* All drivers initialising the SW cursor need this */ - #include "mipointer.h" - --/* All drivers implementing backing store need this */ --#include "mibstore.h" -- - #include "micmap.h" - - #include "xf86DDC.h" -diff --git a/src/riva_driver.c b/src/riva_driver.c -index e0667ef..759501e 100644 ---- a/src/riva_driver.c -+++ b/src/riva_driver.c -@@ -1168,7 +1168,6 @@ RivaScreenInit(SCREEN_INIT_ARGS_DECL) - if (!pRiva->NoAccel) - RivaAccelInit(pScreen); - -- miInitializeBackingStore(pScreen); - xf86SetBackingStore(pScreen); - xf86SetSilkenMouse(pScreen); - -diff --git a/src/riva_include.h b/src/riva_include.h -index f2c5302..c7aeef7 100644 ---- a/src/riva_include.h -+++ b/src/riva_include.h -@@ -22,9 +22,6 @@ - /* All drivers initialising the SW cursor need this */ - #include "mipointer.h" - --/* All drivers implementing backing store need this */ --#include "mibstore.h" -- - #include "micmap.h" - - #include "xf86DDC.h" --- -cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-r128/0001-cross-compile.patch b/package/x11r7/xdriver_xf86-video-r128/0001-cross-compile.patch new file mode 100644 index 0000000000..d27617606e --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-r128/0001-cross-compile.patch @@ -0,0 +1,27 @@ +--- a/configure.ac 2008-06-23 10:39:28.000000000 -0400 ++++ b/configure.ac 2008-06-23 10:40:46.000000000 -0400 +@@ -85,14 +85,20 @@ sdkdir=$(pkg-config --variable=sdkdir xo + AC_HEADER_STDC + + if test "$DRI" != no; then +- AC_CHECK_FILE([${sdkdir}/dri.h], ++ if test "$cross_compiling" = "no" ; then ++ AC_CHECK_FILE([${sdkdir}/dri.h], + [have_dri_h="yes"], [have_dri_h="no"]) +- AC_CHECK_FILE([${sdkdir}/sarea.h], ++ AC_CHECK_FILE([${sdkdir}/sarea.h], + [have_sarea_h="yes"], [have_sarea_h="no"]) +- AC_CHECK_FILE([${sdkdir}/dristruct.h], ++ AC_CHECK_FILE([${sdkdir}/dristruct.h], + [have_dristruct_h="yes"], [have_dristruct_h="no"]) +- AC_CHECK_FILE([${sdkdir}/damage.h], ++ AC_CHECK_FILE([${sdkdir}/damage.h], + [have_damage_h="yes"], [have_damage_h="no"]) ++ else ++ have_dri_h="yes" ++ have_sarea_h="yes" ++ have_dristruct_h="yes" ++ fi + fi + + AC_MSG_CHECKING([whether to include DRI support]) diff --git a/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128-cross-compile.patch b/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128-cross-compile.patch deleted file mode 100644 index d27617606e..0000000000 --- a/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128-cross-compile.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- a/configure.ac 2008-06-23 10:39:28.000000000 -0400 -+++ b/configure.ac 2008-06-23 10:40:46.000000000 -0400 -@@ -85,14 +85,20 @@ sdkdir=$(pkg-config --variable=sdkdir xo - AC_HEADER_STDC - - if test "$DRI" != no; then -- AC_CHECK_FILE([${sdkdir}/dri.h], -+ if test "$cross_compiling" = "no" ; then -+ AC_CHECK_FILE([${sdkdir}/dri.h], - [have_dri_h="yes"], [have_dri_h="no"]) -- AC_CHECK_FILE([${sdkdir}/sarea.h], -+ AC_CHECK_FILE([${sdkdir}/sarea.h], - [have_sarea_h="yes"], [have_sarea_h="no"]) -- AC_CHECK_FILE([${sdkdir}/dristruct.h], -+ AC_CHECK_FILE([${sdkdir}/dristruct.h], - [have_dristruct_h="yes"], [have_dristruct_h="no"]) -- AC_CHECK_FILE([${sdkdir}/damage.h], -+ AC_CHECK_FILE([${sdkdir}/damage.h], - [have_damage_h="yes"], [have_damage_h="no"]) -+ else -+ have_dri_h="yes" -+ have_sarea_h="yes" -+ have_dristruct_h="yes" -+ fi - fi - - AC_MSG_CHECKING([whether to include DRI support]) diff --git a/package/x11r7/xdriver_xf86-video-savage/0001-cross-compile.patch b/package/x11r7/xdriver_xf86-video-savage/0001-cross-compile.patch new file mode 100644 index 0000000000..b9c296b6b5 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-savage/0001-cross-compile.patch @@ -0,0 +1,27 @@ +--- a/configure.ac 2008-05-21 16:04:23.000000000 -0400 ++++ b/configure.ac 2008-06-23 11:41:50.000000000 -0400 +@@ -68,12 +68,18 @@ sdkdir=$(pkg-config --variable=sdkdir xo + AC_HEADER_STDC + + if test "$DRI" != no; then +- AC_CHECK_FILE([${sdkdir}/dri.h], +- [have_dri_h="yes"], [have_dri_h="no"]) +- AC_CHECK_FILE([${sdkdir}/sarea.h], +- [have_sarea_h="yes"], [have_sarea_h="no"]) +- AC_CHECK_FILE([${sdkdir}/dristruct.h], +- [have_dristruct_h="yes"], [have_dristruct_h="no"]) ++ if test "$cross_compiling" = "no" ; then ++ AC_CHECK_FILE([${sdkdir}/dri.h], ++ [have_dri_h="yes"], [have_dri_h="no"]) ++ AC_CHECK_FILE([${sdkdir}/sarea.h], ++ [have_sarea_h="yes"], [have_sarea_h="no"]) ++ AC_CHECK_FILE([${sdkdir}/dristruct.h], ++ [have_dristruct_h="yes"], [have_dristruct_h="no"]) ++ else ++ have_dri_h="yes" ++ have_sarea_h="yes" ++ have_dristruct_h="yes" ++ fi + fi + + AC_MSG_CHECKING([whether to include DRI support]) diff --git a/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage-2.2.1-cross-compile.patch b/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage-2.2.1-cross-compile.patch deleted file mode 100644 index b9c296b6b5..0000000000 --- a/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage-2.2.1-cross-compile.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- a/configure.ac 2008-05-21 16:04:23.000000000 -0400 -+++ b/configure.ac 2008-06-23 11:41:50.000000000 -0400 -@@ -68,12 +68,18 @@ sdkdir=$(pkg-config --variable=sdkdir xo - AC_HEADER_STDC - - if test "$DRI" != no; then -- AC_CHECK_FILE([${sdkdir}/dri.h], -- [have_dri_h="yes"], [have_dri_h="no"]) -- AC_CHECK_FILE([${sdkdir}/sarea.h], -- [have_sarea_h="yes"], [have_sarea_h="no"]) -- AC_CHECK_FILE([${sdkdir}/dristruct.h], -- [have_dristruct_h="yes"], [have_dristruct_h="no"]) -+ if test "$cross_compiling" = "no" ; then -+ AC_CHECK_FILE([${sdkdir}/dri.h], -+ [have_dri_h="yes"], [have_dri_h="no"]) -+ AC_CHECK_FILE([${sdkdir}/sarea.h], -+ [have_sarea_h="yes"], [have_sarea_h="no"]) -+ AC_CHECK_FILE([${sdkdir}/dristruct.h], -+ [have_dristruct_h="yes"], [have_dristruct_h="no"]) -+ else -+ have_dri_h="yes" -+ have_sarea_h="yes" -+ have_dristruct_h="yes" -+ fi - fi - - AC_MSG_CHECKING([whether to include DRI support]) diff --git a/package/x11r7/xdriver_xf86-video-siliconmotion/0001-smi_driver.patch b/package/x11r7/xdriver_xf86-video-siliconmotion/0001-smi_driver.patch new file mode 100644 index 0000000000..493edbb8bc --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-siliconmotion/0001-smi_driver.patch @@ -0,0 +1,27 @@ +From f19d7e463c30f1364e82e8c9f87b8a8407d53680 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Thu, 10 Jan 2013 03:59:39 +0000 +Subject: Remove miInitializeBackingStore() + +Signed-off-by: Adam Jackson +--- +Fetch from: +http://cgit.freedesktop.org/xorg/driver/xf86-video-siliconmotion/commit/?id=f19d7e463c30f1364e82e8c9f87b8a8407d53680 + +Signed-off-by: Bernd Kuhls + +diff --git a/src/smi_driver.c b/src/smi_driver.c +index 4794571..134db79 100644 +--- a/src/smi_driver.c ++++ b/src/smi_driver.c +@@ -1750,8 +1750,6 @@ SMI_ScreenInit(SCREEN_INIT_ARGS_DECL) + "Done writing mode. Register dump:\n"); + SMI_PrintRegs(pScrn); + +- miInitializeBackingStore(pScreen); +- + #ifdef HAVE_XMODES + xf86DiDGAInit(pScreen, (unsigned long)(pSmi->FBBase + pScrn->fbOffset)); + #endif +-- +cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-siliconmotion/xdriver_xf86-video-siliconmotion-0001-smi_driver.patch b/package/x11r7/xdriver_xf86-video-siliconmotion/xdriver_xf86-video-siliconmotion-0001-smi_driver.patch deleted file mode 100644 index 493edbb8bc..0000000000 --- a/package/x11r7/xdriver_xf86-video-siliconmotion/xdriver_xf86-video-siliconmotion-0001-smi_driver.patch +++ /dev/null @@ -1,27 +0,0 @@ -From f19d7e463c30f1364e82e8c9f87b8a8407d53680 Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Thu, 10 Jan 2013 03:59:39 +0000 -Subject: Remove miInitializeBackingStore() - -Signed-off-by: Adam Jackson ---- -Fetch from: -http://cgit.freedesktop.org/xorg/driver/xf86-video-siliconmotion/commit/?id=f19d7e463c30f1364e82e8c9f87b8a8407d53680 - -Signed-off-by: Bernd Kuhls - -diff --git a/src/smi_driver.c b/src/smi_driver.c -index 4794571..134db79 100644 ---- a/src/smi_driver.c -+++ b/src/smi_driver.c -@@ -1750,8 +1750,6 @@ SMI_ScreenInit(SCREEN_INIT_ARGS_DECL) - "Done writing mode. Register dump:\n"); - SMI_PrintRegs(pScrn); - -- miInitializeBackingStore(pScreen); -- - #ifdef HAVE_XMODES - xf86DiDGAInit(pScreen, (unsigned long)(pSmi->FBBase + pScrn->fbOffset)); - #endif --- -cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-sis/0001-cross.patch b/package/x11r7/xdriver_xf86-video-sis/0001-cross.patch new file mode 100644 index 0000000000..9e06480d40 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-sis/0001-cross.patch @@ -0,0 +1,21 @@ +--- xf86-video-sis-0.9.3/configure.ac.orig 2007-06-10 21:00:29.000000000 +0200 ++++ xf86-video-sis-0.9.3/configure.ac 2007-06-10 21:00:45.000000000 +0200 +@@ -71,12 +71,18 @@ + AC_HEADER_STDC + + if test "$DRI" != no; then ++ if test "$cross_compiling" = "no" ; then + AC_CHECK_FILE([${sdkdir}/dri.h], + [have_dri_h="yes"], [have_dri_h="no"]) + AC_CHECK_FILE([${sdkdir}/sarea.h], + [have_sarea_h="yes"], [have_sarea_h="no"]) + AC_CHECK_FILE([${sdkdir}/dristruct.h], + [have_dristruct_h="yes"], [have_dristruct_h="no"]) ++ else ++ have_dri_h="yes" ++ have_sarea_h="yes" ++ have_dristruct_h="yes" ++ fi + fi + + AC_MSG_CHECKING([whether to include DRI support]) diff --git a/package/x11r7/xdriver_xf86-video-sis/0002-mibstore.patch b/package/x11r7/xdriver_xf86-video-sis/0002-mibstore.patch new file mode 100644 index 0000000000..436e437e0b --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-sis/0002-mibstore.patch @@ -0,0 +1,34 @@ +From 926d4f655c8491b68a338f50c810f6729686ec9f Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 25 Sep 2012 12:54:51 +0000 +Subject: Remove mibstore.h + +Signed-off-by: Adam Jackson +--- +Fetch from: +http://cgit.freedesktop.org/xorg/driver/xf86-video-sis/commit/?id=926d4f655c8491b68a338f50c810f6729686ec9f + +Signed-off-by: Bernd Kuhls + +diff --git a/src/sis_driver.c b/src/sis_driver.c +index 4c9b9cb..46cfefd 100644 +--- a/src/sis_driver.c ++++ b/src/sis_driver.c +@@ -57,7 +57,6 @@ + #include "fb.h" + #include "micmap.h" + #include "mipointer.h" +-#include "mibstore.h" + #include "edid.h" + + #define SIS_NEED_inSISREG +@@ -8883,7 +8882,6 @@ SISScreenInit(SCREEN_INIT_ARGS_DECL) + } + pSiS->SiSFastVidCopyDone = TRUE; + +- miInitializeBackingStore(pScreen); + xf86SetBackingStore(pScreen); + xf86SetSilkenMouse(pScreen); + +-- +cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-sis/0003-xf86UnMapVidMem.patch b/package/x11r7/xdriver_xf86-video-sis/0003-xf86UnMapVidMem.patch new file mode 100644 index 0000000000..6082fb9f0c --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-sis/0003-xf86UnMapVidMem.patch @@ -0,0 +1,86 @@ +From 339fb3bc032b9f35b07b90480ae82a0fd352e078 Mon Sep 17 00:00:00 2001 +From: Jan Lindemann +Date: Thu, 30 Aug 2012 18:09:10 +0000 +Subject: Replace xf86UnMapVidMem with pci_device_unmap_range + +Mixing pci_device_map_range with xf86UnMapVidMem doesn't work too well. + +X.Org bug#18028 + +Bug found by Bryan Henderson + +Signed-off-by: Julien Cristau +--- +Fetch from: +http://cgit.freedesktop.org/xorg/driver/xf86-video-sis/commit/?id=339fb3bc032b9f35b07b90480ae82a0fd352e078 + +Signed-off-by: Bernd Kuhls + +diff --git a/src/sis_driver.c b/src/sis_driver.c +index 61e8075..4c9b9cb 100644 +--- a/src/sis_driver.c ++++ b/src/sis_driver.c +@@ -7344,7 +7344,11 @@ SISUnmapMem(ScrnInfoPtr pScrn) + if(pSiSEnt->MapCountIOBase) { + pSiSEnt->MapCountIOBase--; + if((pSiSEnt->MapCountIOBase == 0) || (pSiSEnt->forceUnmapIOBase)) { ++#ifndef XSERVER_LIBPCIACCESS + xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBase, (pSiS->mmioSize * 1024)); ++#else ++ pci_device_unmap_range(pSiS->PciInfo, pSiSEnt->IOBase, (pSiS->mmioSize * 1024)); ++#endif + pSiSEnt->IOBase = NULL; + pSiSEnt->MapCountIOBase = 0; + pSiSEnt->forceUnmapIOBase = FALSE; +@@ -7355,7 +7359,11 @@ SISUnmapMem(ScrnInfoPtr pScrn) + if(pSiSEnt->MapCountIOBaseDense) { + pSiSEnt->MapCountIOBaseDense--; + if((pSiSEnt->MapCountIOBaseDense == 0) || (pSiSEnt->forceUnmapIOBaseDense)) { ++#ifndef XSERVER_LIBPCIACCESS + xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024)); ++#else ++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024)); ++#endif + pSiSEnt->IOBaseDense = NULL; + pSiSEnt->MapCountIOBaseDense = 0; + pSiSEnt->forceUnmapIOBaseDense = FALSE; +@@ -7366,7 +7374,11 @@ SISUnmapMem(ScrnInfoPtr pScrn) + if(pSiSEnt->MapCountFbBase) { + pSiSEnt->MapCountFbBase--; + if((pSiSEnt->MapCountFbBase == 0) || (pSiSEnt->forceUnmapFbBase)) { ++#ifndef XSERVER_LIBPCIACCESS + xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize); ++#else ++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize); ++#endif + pSiSEnt->FbBase = pSiSEnt->RealFbBase = NULL; + pSiSEnt->MapCountFbBase = 0; + pSiSEnt->forceUnmapFbBase = FALSE; +@@ -7376,13 +7388,25 @@ SISUnmapMem(ScrnInfoPtr pScrn) + } + } else { + #endif ++#ifndef XSERVER_LIBPCIACCESS + xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024)); ++#else ++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024)); ++#endif + pSiS->IOBase = NULL; + #ifdef __alpha__ ++#ifndef XSERVER_LIBPCIACCESS + xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024)); ++#else ++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024)); ++#endif + pSiS->IOBaseDense = NULL; + #endif ++#ifndef XSERVER_LIBPCIACCESS + xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->RealFbBase, pSiS->FbMapSize); ++#else ++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->RealFbBase, pSiS->FbMapSize); ++#endif + pSiS->FbBase = pSiS->RealFbBase = NULL; + #ifdef SISDUALHEAD + } +-- +cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-sis/0004-xf86Priv.patch b/package/x11r7/xdriver_xf86-video-sis/0004-xf86Priv.patch new file mode 100644 index 0000000000..bf36b0d225 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-sis/0004-xf86Priv.patch @@ -0,0 +1,43 @@ +From 7d4402786b758de3e6ce2641e15a39d612d5c518 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Mon, 15 Oct 2012 23:11:30 +0000 +Subject: Stop including xf86Priv.h + +As the name might suggest, it's server-private. + +Signed-off-by: Adam Jackson +--- +Fetch from: +http://cgit.freedesktop.org/xorg/driver/xf86-video-sis/commit/?id=7d4402786b758de3e6ce2641e15a39d612d5c518 + +Signed-off-by: Bernd Kuhls + +diff --git a/src/sis.h b/src/sis.h +index 46fca2a..20e6134 100644 +--- a/src/sis.h ++++ b/src/sis.h +@@ -75,7 +75,6 @@ + + #include "compiler.h" + #include "xf86Pci.h" +-#include "xf86Priv.h" + #include "xf86_OSproc.h" + #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6 + #include "xf86Resources.h" +diff --git a/src/sis_driver.c b/src/sis_driver.c +index 46cfefd..cefe503 100644 +--- a/src/sis_driver.c ++++ b/src/sis_driver.c +@@ -93,6 +93,10 @@ + #include "dri.h" + #endif + ++#ifndef DEFAULT_DPI ++#define DEFAULT_DPI 96 ++#endif ++ + /* + * LookupWindow was removed with video abi 11. + */ +-- +cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-sis/0005-hvdisplay.patch b/package/x11r7/xdriver_xf86-video-sis/0005-hvdisplay.patch new file mode 100644 index 0000000000..584d3f41b9 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-sis/0005-hvdisplay.patch @@ -0,0 +1,46 @@ +From 0a4336efaafac4c34d4287b5df586bbb418f7f76 Mon Sep 17 00:00:00 2001 +From: Alan Coopersmith +Date: Sat, 26 Oct 2013 21:27:17 +0000 +Subject: Fix HDisplay/VDisplay typos + +Found by gcc -Wlogicalops: + +sis_driver.c: In function 'SiS_CheckModeCRT2': +sis_driver.c:13754:5: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op] +sis_driver.c:13755:6: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op] +sis_driver.c:13756:6: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op] +sis_driver.c:13758:5: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op] +sis_driver.c:13759:6: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op] + +Signed-off-by: Alan Coopersmith +Reviewed-by: Gaetan Nadon +--- +Fetch from: +http://cgit.freedesktop.org/xorg/driver/xf86-video-sis/commit/?id=0a4336efaafac4c34d4287b5df586bbb418f7f76 + +Signed-off-by: Bernd Kuhls + +diff --git a/src/sis_driver.c b/src/sis_driver.c +index cefe503..80b8d51 100644 +--- a/src/sis_driver.c ++++ b/src/sis_driver.c +@@ -13751,12 +13751,12 @@ SiS_CheckModeCRT2(ScrnInfoPtr pScrn, DisplayModePtr mode, unsigned int VBFlags, + if( ((mode->HDisplay <= pSiS->LCDwidth) && + (mode->VDisplay <= pSiS->LCDheight)) || + ((pSiS->SiS_Pr->SiS_CustomT == CUT_PANEL848) && +- (((mode->HDisplay == 1360) && (mode->HDisplay == 768)) || +- ((mode->HDisplay == 1024) && (mode->HDisplay == 768)) || +- ((mode->HDisplay == 800) && (mode->HDisplay == 600)))) || ++ (((mode->HDisplay == 1360) && (mode->VDisplay == 768)) || ++ ((mode->HDisplay == 1024) && (mode->VDisplay == 768)) || ++ ((mode->HDisplay == 800) && (mode->VDisplay == 600)))) || + ((pSiS->SiS_Pr->SiS_CustomT == CUT_PANEL856) && +- (((mode->HDisplay == 1024) && (mode->HDisplay == 768)) || +- ((mode->HDisplay == 800) && (mode->HDisplay == 600)))) ) { ++ (((mode->HDisplay == 1024) && (mode->VDisplay == 768)) || ++ ((mode->HDisplay == 800) && (mode->VDisplay == 600)))) ) { + + ModeIndex = SiS_GetModeID_LCD(pSiS->VGAEngine, VBFlags, mode->HDisplay, mode->VDisplay, i, + pSiS->FSTN, pSiS->SiS_Pr->SiS_CustomT, pSiS->LCDwidth, pSiS->LCDheight, +-- +cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-sis/0006-fixwarnings.patch b/package/x11r7/xdriver_xf86-video-sis/0006-fixwarnings.patch new file mode 100644 index 0000000000..3598c9eccf --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-sis/0006-fixwarnings.patch @@ -0,0 +1,67 @@ +From 49796d6a3274adc0250ee07faa6bc63e41c98740 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Thu, 21 Nov 2013 22:21:18 +0000 +Subject: Fix format-security warnings + +sis_driver.c: In function 'SISErrorLog': +sis_driver.c:432:5: error: format not a string literal and no format arguments [-Werror=format-security] + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str); + ^ +sis_driver.c:439:5: error: format not a string literal and no format arguments [-Werror=format-security] + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str); + ^ +sis_driver.c: In function 'SiSUpdateXineramaScreenInfo': +sis_driver.c:1917:4: error: format not a string literal and no format arguments [-Werror=format-security] + xf86DrvMsg(pScrn1->scrnIndex, X_INFO, rectxine); + ^ +sis_driver.c:1924:8: error: format not a string literal and no format arguments [-Werror=format-security] + xf86DrvMsg(pScrn1->scrnIndex, X_INFO, rectxine); + +Signed-off-by: Peter Hutterer +Reviewed-by: Alan Coopersmith +--- +Fetch from: +http://cgit.freedesktop.org/xorg/driver/xf86-video-sis/commit/?id=49796d6a3274adc0250ee07faa6bc63e41c98740 + +Signed-off-by: Bernd Kuhls + +diff --git a/src/sis_driver.c b/src/sis_driver.c +index 80b8d51..bd9c4e1 100644 +--- a/src/sis_driver.c ++++ b/src/sis_driver.c +@@ -429,14 +429,14 @@ SISErrorLog(ScrnInfoPtr pScrn, const char *format, ...) + static const char *str = "**************************************************\n"; + + va_start(ap, format); +- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str); ++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "%s", str); + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + " ERROR:\n"); + xf86VDrvMsgVerb(pScrn->scrnIndex, X_ERROR, 1, format, ap); + va_end(ap); + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + " END OF MESSAGE\n"); +- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str); ++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "%s", str); + } + + static void +@@ -1914,14 +1914,14 @@ SiSUpdateXineramaScreenInfo(ScrnInfoPtr pScrn1) + if(infochanged && !usenonrect) { + xf86DrvMsg(pScrn1->scrnIndex, X_INFO, + "Virtual screen size does not match maximum display modes...\n"); +- xf86DrvMsg(pScrn1->scrnIndex, X_INFO, rectxine); ++ xf86DrvMsg(pScrn1->scrnIndex, X_INFO, "%s", rectxine); + + } + } else if(infochanged && usenonrect) { + usenonrect = FALSE; + xf86DrvMsg(pScrn1->scrnIndex, X_INFO, + "Only clone modes available for this virtual screen size...\n"); +- xf86DrvMsg(pScrn1->scrnIndex, X_INFO, rectxine); ++ xf86DrvMsg(pScrn1->scrnIndex, X_INFO, "%s", rectxine); + } + + if(pSiS->maxCRT1_X1) { /* Means we have at least one non-clone mode */ +-- +cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-sis/0007-xi.patch b/package/x11r7/xdriver_xf86-video-sis/0007-xi.patch new file mode 100644 index 0000000000..7905248163 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-sis/0007-xi.patch @@ -0,0 +1,24 @@ +Fetch from: +https://projects.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/xf86-video-sis&id=7aaa7a9786ce5654df877311909244e0a6c42fd1 + +Signed-off-by: Bernd Kuhls + +--- xf86-video-sis-0.10.7/src/sis_driver.c 2013-03-10 13:57:50.000000000 +0100 ++++ xf86-video-sis-0.10.7/src/sis_driver.c.new 2013-03-10 13:54:48.645203559 +0100 +@@ -9378,7 +9378,15 @@ + } + if(doit) { + sigstate = xf86BlockSIGIO(); +-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15 ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 18 ++ { ++ double dx = x, dy = y; ++ miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy, ++ NULL, NULL); ++ x = (int)dx; ++ y = (int)dy; ++ } ++#elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15 + { + double dx = x, dy = y; + miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy); diff --git a/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis-0001-cross.patch b/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis-0001-cross.patch deleted file mode 100644 index 9e06480d40..0000000000 --- a/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis-0001-cross.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- xf86-video-sis-0.9.3/configure.ac.orig 2007-06-10 21:00:29.000000000 +0200 -+++ xf86-video-sis-0.9.3/configure.ac 2007-06-10 21:00:45.000000000 +0200 -@@ -71,12 +71,18 @@ - AC_HEADER_STDC - - if test "$DRI" != no; then -+ if test "$cross_compiling" = "no" ; then - AC_CHECK_FILE([${sdkdir}/dri.h], - [have_dri_h="yes"], [have_dri_h="no"]) - AC_CHECK_FILE([${sdkdir}/sarea.h], - [have_sarea_h="yes"], [have_sarea_h="no"]) - AC_CHECK_FILE([${sdkdir}/dristruct.h], - [have_dristruct_h="yes"], [have_dristruct_h="no"]) -+ else -+ have_dri_h="yes" -+ have_sarea_h="yes" -+ have_dristruct_h="yes" -+ fi - fi - - AC_MSG_CHECKING([whether to include DRI support]) diff --git a/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis-0002-mibstore.patch b/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis-0002-mibstore.patch deleted file mode 100644 index 436e437e0b..0000000000 --- a/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis-0002-mibstore.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 926d4f655c8491b68a338f50c810f6729686ec9f Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Tue, 25 Sep 2012 12:54:51 +0000 -Subject: Remove mibstore.h - -Signed-off-by: Adam Jackson ---- -Fetch from: -http://cgit.freedesktop.org/xorg/driver/xf86-video-sis/commit/?id=926d4f655c8491b68a338f50c810f6729686ec9f - -Signed-off-by: Bernd Kuhls - -diff --git a/src/sis_driver.c b/src/sis_driver.c -index 4c9b9cb..46cfefd 100644 ---- a/src/sis_driver.c -+++ b/src/sis_driver.c -@@ -57,7 +57,6 @@ - #include "fb.h" - #include "micmap.h" - #include "mipointer.h" --#include "mibstore.h" - #include "edid.h" - - #define SIS_NEED_inSISREG -@@ -8883,7 +8882,6 @@ SISScreenInit(SCREEN_INIT_ARGS_DECL) - } - pSiS->SiSFastVidCopyDone = TRUE; - -- miInitializeBackingStore(pScreen); - xf86SetBackingStore(pScreen); - xf86SetSilkenMouse(pScreen); - --- -cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis-0003-xf86UnMapVidMem.patch b/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis-0003-xf86UnMapVidMem.patch deleted file mode 100644 index 6082fb9f0c..0000000000 --- a/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis-0003-xf86UnMapVidMem.patch +++ /dev/null @@ -1,86 +0,0 @@ -From 339fb3bc032b9f35b07b90480ae82a0fd352e078 Mon Sep 17 00:00:00 2001 -From: Jan Lindemann -Date: Thu, 30 Aug 2012 18:09:10 +0000 -Subject: Replace xf86UnMapVidMem with pci_device_unmap_range - -Mixing pci_device_map_range with xf86UnMapVidMem doesn't work too well. - -X.Org bug#18028 - -Bug found by Bryan Henderson - -Signed-off-by: Julien Cristau ---- -Fetch from: -http://cgit.freedesktop.org/xorg/driver/xf86-video-sis/commit/?id=339fb3bc032b9f35b07b90480ae82a0fd352e078 - -Signed-off-by: Bernd Kuhls - -diff --git a/src/sis_driver.c b/src/sis_driver.c -index 61e8075..4c9b9cb 100644 ---- a/src/sis_driver.c -+++ b/src/sis_driver.c -@@ -7344,7 +7344,11 @@ SISUnmapMem(ScrnInfoPtr pScrn) - if(pSiSEnt->MapCountIOBase) { - pSiSEnt->MapCountIOBase--; - if((pSiSEnt->MapCountIOBase == 0) || (pSiSEnt->forceUnmapIOBase)) { -+#ifndef XSERVER_LIBPCIACCESS - xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBase, (pSiS->mmioSize * 1024)); -+#else -+ pci_device_unmap_range(pSiS->PciInfo, pSiSEnt->IOBase, (pSiS->mmioSize * 1024)); -+#endif - pSiSEnt->IOBase = NULL; - pSiSEnt->MapCountIOBase = 0; - pSiSEnt->forceUnmapIOBase = FALSE; -@@ -7355,7 +7359,11 @@ SISUnmapMem(ScrnInfoPtr pScrn) - if(pSiSEnt->MapCountIOBaseDense) { - pSiSEnt->MapCountIOBaseDense--; - if((pSiSEnt->MapCountIOBaseDense == 0) || (pSiSEnt->forceUnmapIOBaseDense)) { -+#ifndef XSERVER_LIBPCIACCESS - xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024)); -+#else -+ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024)); -+#endif - pSiSEnt->IOBaseDense = NULL; - pSiSEnt->MapCountIOBaseDense = 0; - pSiSEnt->forceUnmapIOBaseDense = FALSE; -@@ -7366,7 +7374,11 @@ SISUnmapMem(ScrnInfoPtr pScrn) - if(pSiSEnt->MapCountFbBase) { - pSiSEnt->MapCountFbBase--; - if((pSiSEnt->MapCountFbBase == 0) || (pSiSEnt->forceUnmapFbBase)) { -+#ifndef XSERVER_LIBPCIACCESS - xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize); -+#else -+ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize); -+#endif - pSiSEnt->FbBase = pSiSEnt->RealFbBase = NULL; - pSiSEnt->MapCountFbBase = 0; - pSiSEnt->forceUnmapFbBase = FALSE; -@@ -7376,13 +7388,25 @@ SISUnmapMem(ScrnInfoPtr pScrn) - } - } else { - #endif -+#ifndef XSERVER_LIBPCIACCESS - xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024)); -+#else -+ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024)); -+#endif - pSiS->IOBase = NULL; - #ifdef __alpha__ -+#ifndef XSERVER_LIBPCIACCESS - xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024)); -+#else -+ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024)); -+#endif - pSiS->IOBaseDense = NULL; - #endif -+#ifndef XSERVER_LIBPCIACCESS - xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->RealFbBase, pSiS->FbMapSize); -+#else -+ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->RealFbBase, pSiS->FbMapSize); -+#endif - pSiS->FbBase = pSiS->RealFbBase = NULL; - #ifdef SISDUALHEAD - } --- -cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis-0004-xf86Priv.patch b/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis-0004-xf86Priv.patch deleted file mode 100644 index bf36b0d225..0000000000 --- a/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis-0004-xf86Priv.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 7d4402786b758de3e6ce2641e15a39d612d5c518 Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Mon, 15 Oct 2012 23:11:30 +0000 -Subject: Stop including xf86Priv.h - -As the name might suggest, it's server-private. - -Signed-off-by: Adam Jackson ---- -Fetch from: -http://cgit.freedesktop.org/xorg/driver/xf86-video-sis/commit/?id=7d4402786b758de3e6ce2641e15a39d612d5c518 - -Signed-off-by: Bernd Kuhls - -diff --git a/src/sis.h b/src/sis.h -index 46fca2a..20e6134 100644 ---- a/src/sis.h -+++ b/src/sis.h -@@ -75,7 +75,6 @@ - - #include "compiler.h" - #include "xf86Pci.h" --#include "xf86Priv.h" - #include "xf86_OSproc.h" - #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6 - #include "xf86Resources.h" -diff --git a/src/sis_driver.c b/src/sis_driver.c -index 46cfefd..cefe503 100644 ---- a/src/sis_driver.c -+++ b/src/sis_driver.c -@@ -93,6 +93,10 @@ - #include "dri.h" - #endif - -+#ifndef DEFAULT_DPI -+#define DEFAULT_DPI 96 -+#endif -+ - /* - * LookupWindow was removed with video abi 11. - */ --- -cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis-0005-hvdisplay.patch b/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis-0005-hvdisplay.patch deleted file mode 100644 index 584d3f41b9..0000000000 --- a/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis-0005-hvdisplay.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 0a4336efaafac4c34d4287b5df586bbb418f7f76 Mon Sep 17 00:00:00 2001 -From: Alan Coopersmith -Date: Sat, 26 Oct 2013 21:27:17 +0000 -Subject: Fix HDisplay/VDisplay typos - -Found by gcc -Wlogicalops: - -sis_driver.c: In function 'SiS_CheckModeCRT2': -sis_driver.c:13754:5: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op] -sis_driver.c:13755:6: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op] -sis_driver.c:13756:6: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op] -sis_driver.c:13758:5: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op] -sis_driver.c:13759:6: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op] - -Signed-off-by: Alan Coopersmith -Reviewed-by: Gaetan Nadon ---- -Fetch from: -http://cgit.freedesktop.org/xorg/driver/xf86-video-sis/commit/?id=0a4336efaafac4c34d4287b5df586bbb418f7f76 - -Signed-off-by: Bernd Kuhls - -diff --git a/src/sis_driver.c b/src/sis_driver.c -index cefe503..80b8d51 100644 ---- a/src/sis_driver.c -+++ b/src/sis_driver.c -@@ -13751,12 +13751,12 @@ SiS_CheckModeCRT2(ScrnInfoPtr pScrn, DisplayModePtr mode, unsigned int VBFlags, - if( ((mode->HDisplay <= pSiS->LCDwidth) && - (mode->VDisplay <= pSiS->LCDheight)) || - ((pSiS->SiS_Pr->SiS_CustomT == CUT_PANEL848) && -- (((mode->HDisplay == 1360) && (mode->HDisplay == 768)) || -- ((mode->HDisplay == 1024) && (mode->HDisplay == 768)) || -- ((mode->HDisplay == 800) && (mode->HDisplay == 600)))) || -+ (((mode->HDisplay == 1360) && (mode->VDisplay == 768)) || -+ ((mode->HDisplay == 1024) && (mode->VDisplay == 768)) || -+ ((mode->HDisplay == 800) && (mode->VDisplay == 600)))) || - ((pSiS->SiS_Pr->SiS_CustomT == CUT_PANEL856) && -- (((mode->HDisplay == 1024) && (mode->HDisplay == 768)) || -- ((mode->HDisplay == 800) && (mode->HDisplay == 600)))) ) { -+ (((mode->HDisplay == 1024) && (mode->VDisplay == 768)) || -+ ((mode->HDisplay == 800) && (mode->VDisplay == 600)))) ) { - - ModeIndex = SiS_GetModeID_LCD(pSiS->VGAEngine, VBFlags, mode->HDisplay, mode->VDisplay, i, - pSiS->FSTN, pSiS->SiS_Pr->SiS_CustomT, pSiS->LCDwidth, pSiS->LCDheight, --- -cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis-0006-fixwarnings.patch b/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis-0006-fixwarnings.patch deleted file mode 100644 index 3598c9eccf..0000000000 --- a/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis-0006-fixwarnings.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 49796d6a3274adc0250ee07faa6bc63e41c98740 Mon Sep 17 00:00:00 2001 -From: Peter Hutterer -Date: Thu, 21 Nov 2013 22:21:18 +0000 -Subject: Fix format-security warnings - -sis_driver.c: In function 'SISErrorLog': -sis_driver.c:432:5: error: format not a string literal and no format arguments [-Werror=format-security] - xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str); - ^ -sis_driver.c:439:5: error: format not a string literal and no format arguments [-Werror=format-security] - xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str); - ^ -sis_driver.c: In function 'SiSUpdateXineramaScreenInfo': -sis_driver.c:1917:4: error: format not a string literal and no format arguments [-Werror=format-security] - xf86DrvMsg(pScrn1->scrnIndex, X_INFO, rectxine); - ^ -sis_driver.c:1924:8: error: format not a string literal and no format arguments [-Werror=format-security] - xf86DrvMsg(pScrn1->scrnIndex, X_INFO, rectxine); - -Signed-off-by: Peter Hutterer -Reviewed-by: Alan Coopersmith ---- -Fetch from: -http://cgit.freedesktop.org/xorg/driver/xf86-video-sis/commit/?id=49796d6a3274adc0250ee07faa6bc63e41c98740 - -Signed-off-by: Bernd Kuhls - -diff --git a/src/sis_driver.c b/src/sis_driver.c -index 80b8d51..bd9c4e1 100644 ---- a/src/sis_driver.c -+++ b/src/sis_driver.c -@@ -429,14 +429,14 @@ SISErrorLog(ScrnInfoPtr pScrn, const char *format, ...) - static const char *str = "**************************************************\n"; - - va_start(ap, format); -- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str); -+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "%s", str); - xf86DrvMsg(pScrn->scrnIndex, X_ERROR, - " ERROR:\n"); - xf86VDrvMsgVerb(pScrn->scrnIndex, X_ERROR, 1, format, ap); - va_end(ap); - xf86DrvMsg(pScrn->scrnIndex, X_ERROR, - " END OF MESSAGE\n"); -- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str); -+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "%s", str); - } - - static void -@@ -1914,14 +1914,14 @@ SiSUpdateXineramaScreenInfo(ScrnInfoPtr pScrn1) - if(infochanged && !usenonrect) { - xf86DrvMsg(pScrn1->scrnIndex, X_INFO, - "Virtual screen size does not match maximum display modes...\n"); -- xf86DrvMsg(pScrn1->scrnIndex, X_INFO, rectxine); -+ xf86DrvMsg(pScrn1->scrnIndex, X_INFO, "%s", rectxine); - - } - } else if(infochanged && usenonrect) { - usenonrect = FALSE; - xf86DrvMsg(pScrn1->scrnIndex, X_INFO, - "Only clone modes available for this virtual screen size...\n"); -- xf86DrvMsg(pScrn1->scrnIndex, X_INFO, rectxine); -+ xf86DrvMsg(pScrn1->scrnIndex, X_INFO, "%s", rectxine); - } - - if(pSiS->maxCRT1_X1) { /* Means we have at least one non-clone mode */ --- -cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis-0007-xi.patch b/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis-0007-xi.patch deleted file mode 100644 index 7905248163..0000000000 --- a/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis-0007-xi.patch +++ /dev/null @@ -1,24 +0,0 @@ -Fetch from: -https://projects.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/xf86-video-sis&id=7aaa7a9786ce5654df877311909244e0a6c42fd1 - -Signed-off-by: Bernd Kuhls - ---- xf86-video-sis-0.10.7/src/sis_driver.c 2013-03-10 13:57:50.000000000 +0100 -+++ xf86-video-sis-0.10.7/src/sis_driver.c.new 2013-03-10 13:54:48.645203559 +0100 -@@ -9378,7 +9378,15 @@ - } - if(doit) { - sigstate = xf86BlockSIGIO(); --#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15 -+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 18 -+ { -+ double dx = x, dy = y; -+ miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy, -+ NULL, NULL); -+ x = (int)dx; -+ y = (int)dy; -+ } -+#elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15 - { - double dx = x, dy = y; - miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy); diff --git a/package/x11r7/xdriver_xf86-video-tdfx/0001-cross.patch b/package/x11r7/xdriver_xf86-video-tdfx/0001-cross.patch new file mode 100644 index 0000000000..e53591bb0b --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-tdfx/0001-cross.patch @@ -0,0 +1,24 @@ +--- xf86-video-tdfx-1.3.0/configure.ac.orig 2007-06-10 21:01:54.000000000 +0200 ++++ xf86-video-tdfx-1.3.0/configure.ac 2007-06-10 21:02:06.000000000 +0200 +@@ -67,13 +67,20 @@ + # Checks for header files. + AC_HEADER_STDC + +-if test "$DRI" != no; then ++if test "x$DRI" != xno; then ++ if test "$cross_compiling" = "no" ; then + AC_CHECK_FILE([${sdkdir}/dri.h], + [have_dri_h="yes"], [have_dri_h="no"]) + AC_CHECK_FILE([${sdkdir}/sarea.h], + [have_sarea_h="yes"], [have_sarea_h="no"]) + AC_CHECK_FILE([${sdkdir}/dristruct.h], + [have_dristruct_h="yes"], [have_dristruct_h="no"]) ++ AC_CHECK_HEADER ++ else ++ have_dri_h="yes" ++ have_sarea_h="yes" ++ have_dristruct_h="yes" ++ fi + fi + + AC_MSG_CHECKING([whether to include DRI support]) diff --git a/package/x11r7/xdriver_xf86-video-tdfx/0002-mibstore.patch b/package/x11r7/xdriver_xf86-video-tdfx/0002-mibstore.patch new file mode 100644 index 0000000000..f156ea7be3 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-tdfx/0002-mibstore.patch @@ -0,0 +1,36 @@ +From 10498d2730c651eb7a1890eb9e728269732e9dad Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 25 Sep 2012 12:54:59 +0000 +Subject: Remove mibstore.h + +Signed-off-by: Adam Jackson +--- +Fetch from: +http://cgit.freedesktop.org/xorg/driver/xf86-video-tdfx/commit/?id=10498d2730c651eb7a1890eb9e728269732e9dad + +Signed-off-by: Bernd Kuhls +diff --git a/src/tdfx_driver.c b/src/tdfx_driver.c +index ddd5431..412da07 100644 +--- a/src/tdfx_driver.c ++++ b/src/tdfx_driver.c +@@ -62,10 +62,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + #include "compiler.h" + +-/* Drivers using the mi implementation of backing store need: */ +- +-#include "mibstore.h" +- + /* All drivers using the vgahw module need this */ + /* This driver needs to be modified to not use vgaHW for multihead operation */ + #include "vgaHW.h" +@@ -2373,7 +2369,6 @@ TDFXScreenInit(SCREEN_INIT_ARGS_DECL) { + } + } + +- miInitializeBackingStore(pScreen); + xf86SetBackingStore(pScreen); + xf86SetSilkenMouse(pScreen); + +-- +cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-tdfx/xdriver_xf86-video-tdfx-0001-cross.patch b/package/x11r7/xdriver_xf86-video-tdfx/xdriver_xf86-video-tdfx-0001-cross.patch deleted file mode 100644 index e53591bb0b..0000000000 --- a/package/x11r7/xdriver_xf86-video-tdfx/xdriver_xf86-video-tdfx-0001-cross.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- xf86-video-tdfx-1.3.0/configure.ac.orig 2007-06-10 21:01:54.000000000 +0200 -+++ xf86-video-tdfx-1.3.0/configure.ac 2007-06-10 21:02:06.000000000 +0200 -@@ -67,13 +67,20 @@ - # Checks for header files. - AC_HEADER_STDC - --if test "$DRI" != no; then -+if test "x$DRI" != xno; then -+ if test "$cross_compiling" = "no" ; then - AC_CHECK_FILE([${sdkdir}/dri.h], - [have_dri_h="yes"], [have_dri_h="no"]) - AC_CHECK_FILE([${sdkdir}/sarea.h], - [have_sarea_h="yes"], [have_sarea_h="no"]) - AC_CHECK_FILE([${sdkdir}/dristruct.h], - [have_dristruct_h="yes"], [have_dristruct_h="no"]) -+ AC_CHECK_HEADER -+ else -+ have_dri_h="yes" -+ have_sarea_h="yes" -+ have_dristruct_h="yes" -+ fi - fi - - AC_MSG_CHECKING([whether to include DRI support]) diff --git a/package/x11r7/xdriver_xf86-video-tdfx/xdriver_xf86-video-tdfx-0002-mibstore.patch b/package/x11r7/xdriver_xf86-video-tdfx/xdriver_xf86-video-tdfx-0002-mibstore.patch deleted file mode 100644 index f156ea7be3..0000000000 --- a/package/x11r7/xdriver_xf86-video-tdfx/xdriver_xf86-video-tdfx-0002-mibstore.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 10498d2730c651eb7a1890eb9e728269732e9dad Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Tue, 25 Sep 2012 12:54:59 +0000 -Subject: Remove mibstore.h - -Signed-off-by: Adam Jackson ---- -Fetch from: -http://cgit.freedesktop.org/xorg/driver/xf86-video-tdfx/commit/?id=10498d2730c651eb7a1890eb9e728269732e9dad - -Signed-off-by: Bernd Kuhls -diff --git a/src/tdfx_driver.c b/src/tdfx_driver.c -index ddd5431..412da07 100644 ---- a/src/tdfx_driver.c -+++ b/src/tdfx_driver.c -@@ -62,10 +62,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - #include "compiler.h" - --/* Drivers using the mi implementation of backing store need: */ -- --#include "mibstore.h" -- - /* All drivers using the vgahw module need this */ - /* This driver needs to be modified to not use vgaHW for multihead operation */ - #include "vgaHW.h" -@@ -2373,7 +2369,6 @@ TDFXScreenInit(SCREEN_INIT_ARGS_DECL) { - } - } - -- miInitializeBackingStore(pScreen); - xf86SetBackingStore(pScreen); - xf86SetSilkenMouse(pScreen); - --- -cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-tga/0001-mibstore.patch b/package/x11r7/xdriver_xf86-video-tga/0001-mibstore.patch new file mode 100644 index 0000000000..07bcd04f25 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-tga/0001-mibstore.patch @@ -0,0 +1,47 @@ +From b7022db0559cd1b6cd3eb6b5abf6896a607b478d Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 25 Sep 2012 12:55:00 +0000 +Subject: Remove mibstore.h + +Signed-off-by: Adam Jackson +--- +Fetch from: +http://cgit.freedesktop.org/xorg/driver/xf86-video-tga/commit/?id=b7022db0559cd1b6cd3eb6b5abf6896a607b478d + +Signed-off-by: Bernd Kuhls + +diff --git a/src/tga_accel.c b/src/tga_accel.c +index 35af1a4..b414df5 100644 +--- a/src/tga_accel.c ++++ b/src/tga_accel.c +@@ -37,7 +37,6 @@ + #include "xf86cmap.h" + #include "mipointer.h" + +-#include "mibstore.h" + #include "miline.h" + + #include "tga_regs.h" +diff --git a/src/tga_driver.c b/src/tga_driver.c +index dd4f3e6..90d2660 100644 +--- a/src/tga_driver.c ++++ b/src/tga_driver.c +@@ -46,8 +46,6 @@ + + /* software cursor */ + #include "mipointer.h" +-/* backing store */ +-#include "mibstore.h" + + /* #include "mibank.h" */ + /* colormap manipulation */ +@@ -1451,7 +1449,6 @@ TGAScreenInit(SCREEN_INIT_ARGS_DECL) + + fbPictureInit (pScreen, 0, 0); + +- miInitializeBackingStore(pScreen); + xf86SetBackingStore(pScreen); + xf86SetSilkenMouse(pScreen); + +-- +cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-tga/xdriver_xf86-video-tga-0001-mibstore.patch b/package/x11r7/xdriver_xf86-video-tga/xdriver_xf86-video-tga-0001-mibstore.patch deleted file mode 100644 index 07bcd04f25..0000000000 --- a/package/x11r7/xdriver_xf86-video-tga/xdriver_xf86-video-tga-0001-mibstore.patch +++ /dev/null @@ -1,47 +0,0 @@ -From b7022db0559cd1b6cd3eb6b5abf6896a607b478d Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Tue, 25 Sep 2012 12:55:00 +0000 -Subject: Remove mibstore.h - -Signed-off-by: Adam Jackson ---- -Fetch from: -http://cgit.freedesktop.org/xorg/driver/xf86-video-tga/commit/?id=b7022db0559cd1b6cd3eb6b5abf6896a607b478d - -Signed-off-by: Bernd Kuhls - -diff --git a/src/tga_accel.c b/src/tga_accel.c -index 35af1a4..b414df5 100644 ---- a/src/tga_accel.c -+++ b/src/tga_accel.c -@@ -37,7 +37,6 @@ - #include "xf86cmap.h" - #include "mipointer.h" - --#include "mibstore.h" - #include "miline.h" - - #include "tga_regs.h" -diff --git a/src/tga_driver.c b/src/tga_driver.c -index dd4f3e6..90d2660 100644 ---- a/src/tga_driver.c -+++ b/src/tga_driver.c -@@ -46,8 +46,6 @@ - - /* software cursor */ - #include "mipointer.h" --/* backing store */ --#include "mibstore.h" - - /* #include "mibank.h" */ - /* colormap manipulation */ -@@ -1451,7 +1449,6 @@ TGAScreenInit(SCREEN_INIT_ARGS_DECL) - - fbPictureInit (pScreen, 0, 0); - -- miInitializeBackingStore(pScreen); - xf86SetBackingStore(pScreen); - xf86SetSilkenMouse(pScreen); - --- -cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-trident/0001-mibstore.patch b/package/x11r7/xdriver_xf86-video-trident/0001-mibstore.patch new file mode 100644 index 0000000000..efdd6aca6a --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-trident/0001-mibstore.patch @@ -0,0 +1,34 @@ +From 30787294c837aefa8820b6f76f00fe30d4e54181 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 25 Sep 2012 12:55:01 +0000 +Subject: Remove mibstore.h + +Signed-off-by: Adam Jackson +--- +Fetch from: +http://cgit.freedesktop.org/xorg/driver/xf86-video-trident/commit/?id=30787294c837aefa8820b6f76f00fe30d4e54181 + +Signed-off-by: Bernd Kuhls + +diff --git a/src/trident_driver.c b/src/trident_driver.c +index dc12b76..408c870 100644 +--- a/src/trident_driver.c ++++ b/src/trident_driver.c +@@ -56,7 +56,6 @@ + + #include "mipointer.h" + +-#include "mibstore.h" + #include "shadow.h" + #include "trident.h" + #include "trident_regs.h" +@@ -3037,7 +3036,6 @@ TRIDENTScreenInit(SCREEN_INIT_ARGS_DECL) + TridentAccelInit(pScreen); + } + +- miInitializeBackingStore(pScreen); + xf86SetBackingStore(pScreen); + + /* Initialise cursor functions */ +-- +cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-trident/0002-xaa.patch b/package/x11r7/xdriver_xf86-video-trident/0002-xaa.patch new file mode 100644 index 0000000000..0750002977 --- /dev/null +++ b/package/x11r7/xdriver_xf86-video-trident/0002-xaa.patch @@ -0,0 +1,39 @@ +From 48c15909691e28ad2c188a2978b1c8ef3d9d8760 Mon Sep 17 00:00:00 2001 +From: Timo Aaltonen +Date: Wed, 26 Sep 2012 08:01:26 +0000 +Subject: Fix loading the driver without XAA + +--- +Fetch from: +http://cgit.freedesktop.org/xorg/driver/xf86-video-trident/commit/?id=48c15909691e28ad2c188a2978b1c8ef3d9d8760 + +Signed-off-by: Bernd Kuhls + +diff --git a/src/trident_dga.c b/src/trident_dga.c +index 0263aa7..c4b5b9a 100644 +--- a/src/trident_dga.c ++++ b/src/trident_dga.c +@@ -37,10 +37,10 @@ + static Bool TRIDENT_OpenFramebuffer(ScrnInfoPtr, char **, unsigned char **, + int *, int *, int *); + static Bool TRIDENT_SetMode(ScrnInfoPtr, DGAModePtr); +-static void TRIDENT_Sync(ScrnInfoPtr); + static int TRIDENT_GetViewport(ScrnInfoPtr); + static void TRIDENT_SetViewport(ScrnInfoPtr, int, int, int); + #ifdef HAVE_XAA_H ++static void TRIDENT_Sync(ScrnInfoPtr); + static void TRIDENT_FillRect(ScrnInfoPtr, int, int, int, int, unsigned long); + static void TRIDENT_BlitRect(ScrnInfoPtr, int, int, int, int, int, int); + #if 0 +@@ -56,8 +56,8 @@ DGAFunctionRec TRIDENTDGAFuncs = { + TRIDENT_SetMode, + TRIDENT_SetViewport, + TRIDENT_GetViewport, +- TRIDENT_Sync, + #ifdef HAVE_XAA_H ++ TRIDENT_Sync, + TRIDENT_FillRect, + TRIDENT_BlitRect, + #if 0 +-- +cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident-0001-mibstore.patch b/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident-0001-mibstore.patch deleted file mode 100644 index efdd6aca6a..0000000000 --- a/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident-0001-mibstore.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 30787294c837aefa8820b6f76f00fe30d4e54181 Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Tue, 25 Sep 2012 12:55:01 +0000 -Subject: Remove mibstore.h - -Signed-off-by: Adam Jackson ---- -Fetch from: -http://cgit.freedesktop.org/xorg/driver/xf86-video-trident/commit/?id=30787294c837aefa8820b6f76f00fe30d4e54181 - -Signed-off-by: Bernd Kuhls - -diff --git a/src/trident_driver.c b/src/trident_driver.c -index dc12b76..408c870 100644 ---- a/src/trident_driver.c -+++ b/src/trident_driver.c -@@ -56,7 +56,6 @@ - - #include "mipointer.h" - --#include "mibstore.h" - #include "shadow.h" - #include "trident.h" - #include "trident_regs.h" -@@ -3037,7 +3036,6 @@ TRIDENTScreenInit(SCREEN_INIT_ARGS_DECL) - TridentAccelInit(pScreen); - } - -- miInitializeBackingStore(pScreen); - xf86SetBackingStore(pScreen); - - /* Initialise cursor functions */ --- -cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident-0002-xaa.patch b/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident-0002-xaa.patch deleted file mode 100644 index 0750002977..0000000000 --- a/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident-0002-xaa.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 48c15909691e28ad2c188a2978b1c8ef3d9d8760 Mon Sep 17 00:00:00 2001 -From: Timo Aaltonen -Date: Wed, 26 Sep 2012 08:01:26 +0000 -Subject: Fix loading the driver without XAA - ---- -Fetch from: -http://cgit.freedesktop.org/xorg/driver/xf86-video-trident/commit/?id=48c15909691e28ad2c188a2978b1c8ef3d9d8760 - -Signed-off-by: Bernd Kuhls - -diff --git a/src/trident_dga.c b/src/trident_dga.c -index 0263aa7..c4b5b9a 100644 ---- a/src/trident_dga.c -+++ b/src/trident_dga.c -@@ -37,10 +37,10 @@ - static Bool TRIDENT_OpenFramebuffer(ScrnInfoPtr, char **, unsigned char **, - int *, int *, int *); - static Bool TRIDENT_SetMode(ScrnInfoPtr, DGAModePtr); --static void TRIDENT_Sync(ScrnInfoPtr); - static int TRIDENT_GetViewport(ScrnInfoPtr); - static void TRIDENT_SetViewport(ScrnInfoPtr, int, int, int); - #ifdef HAVE_XAA_H -+static void TRIDENT_Sync(ScrnInfoPtr); - static void TRIDENT_FillRect(ScrnInfoPtr, int, int, int, int, unsigned long); - static void TRIDENT_BlitRect(ScrnInfoPtr, int, int, int, int, int, int); - #if 0 -@@ -56,8 +56,8 @@ DGAFunctionRec TRIDENTDGAFuncs = { - TRIDENT_SetMode, - TRIDENT_SetViewport, - TRIDENT_GetViewport, -- TRIDENT_Sync, - #ifdef HAVE_XAA_H -+ TRIDENT_Sync, - TRIDENT_FillRect, - TRIDENT_BlitRect, - #if 0 --- -cgit v0.9.0.2-2-gbebe diff --git a/package/x11r7/xlib_libXpm/0001-fork-check.patch b/package/x11r7/xlib_libXpm/0001-fork-check.patch new file mode 100644 index 0000000000..fb4fb7d133 --- /dev/null +++ b/package/x11r7/xlib_libXpm/0001-fork-check.patch @@ -0,0 +1,21 @@ +Allow usage when fork() is not available + +When fork() is not available, we need to define NO_ZPIPE so that +libXpm doesn't try to fork/exec to use a pipe to uncompress compressed +.xpm files. There is obviously a loss of functionality, but loading +uncompressed .xpm files should continue to work. + +Signed-off-by: Thomas Petazzoni + +Index: b/configure.ac +=================================================================== +--- a/configure.ac ++++ b/configure.ac +@@ -22,6 +22,7 @@ + + # Checks for library functions + AC_CHECK_FUNCS([strlcat]) ++AC_CHECK_FUNC([fork],[], AC_DEFINE(NO_ZPIPE)) + + # Obtain compiler/linker options for dependencies + PKG_CHECK_MODULES(XPM, xproto x11) diff --git a/package/x11r7/xlib_libXpm/xlib_libXpm-01-fork-check.patch b/package/x11r7/xlib_libXpm/xlib_libXpm-01-fork-check.patch deleted file mode 100644 index fb4fb7d133..0000000000 --- a/package/x11r7/xlib_libXpm/xlib_libXpm-01-fork-check.patch +++ /dev/null @@ -1,21 +0,0 @@ -Allow usage when fork() is not available - -When fork() is not available, we need to define NO_ZPIPE so that -libXpm doesn't try to fork/exec to use a pipe to uncompress compressed -.xpm files. There is obviously a loss of functionality, but loading -uncompressed .xpm files should continue to work. - -Signed-off-by: Thomas Petazzoni - -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -22,6 +22,7 @@ - - # Checks for library functions - AC_CHECK_FUNCS([strlcat]) -+AC_CHECK_FUNC([fork],[], AC_DEFINE(NO_ZPIPE)) - - # Obtain compiler/linker options for dependencies - PKG_CHECK_MODULES(XPM, xproto x11) diff --git a/package/x11r7/xlib_libXt/0001-util-don-t-link-makestrs-with-target-cflags.patch b/package/x11r7/xlib_libXt/0001-util-don-t-link-makestrs-with-target-cflags.patch new file mode 100644 index 0000000000..692d03b31f --- /dev/null +++ b/package/x11r7/xlib_libXt/0001-util-don-t-link-makestrs-with-target-cflags.patch @@ -0,0 +1,50 @@ +From 3f064076c783914cafdff028db303681dae4291d Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 15 Nov 2012 18:31:53 +0100 +Subject: [PATCH] libXt: util: don't link makestrs with target cflags + +The line: + +AM_CFLAGS = $(XT_CFLAGS) + +in util/Makefile.am is wrong because it adds target cflags to the +compilation of makestrs, which is built for the build machine, which +leads to build failures when cross-compiling. + +We also remove the inclusion of from makestrs.c, because +it was the only non-standard header being included (and therefore +possibly requiring special cflags), but it was in reality not useful +at all to build makestrs.c. + +Signed-off-by: Thomas Petazzoni +--- + util/Makefile.am | 1 - + util/makestrs.c | 1 - + 2 files changed, 2 deletions(-) + +diff --git a/util/Makefile.am b/util/Makefile.am +index dedfa6b..cc6f3fc 100644 +--- a/util/Makefile.am ++++ b/util/Makefile.am +@@ -10,7 +10,6 @@ EXTRA_DIST = \ + StrDefs.ht \ + string.list + +-AM_CFLAGS = $(XT_CFLAGS) + makestrs_SOURCES = makestrs.c + + +diff --git a/util/makestrs.c b/util/makestrs.c +index a52866a..00c861f 100644 +--- a/util/makestrs.c ++++ b/util/makestrs.c +@@ -27,7 +27,6 @@ in this Software without prior written authorization from The Open Group. + /* Constructs string definitions */ + + #include +-#include + #include + #include + +-- +1.7.9.5 diff --git a/package/x11r7/xlib_libXt/xlib_libXt-0001-util-don-t-link-makestrs-with-target-cflags.patch b/package/x11r7/xlib_libXt/xlib_libXt-0001-util-don-t-link-makestrs-with-target-cflags.patch deleted file mode 100644 index 692d03b31f..0000000000 --- a/package/x11r7/xlib_libXt/xlib_libXt-0001-util-don-t-link-makestrs-with-target-cflags.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 3f064076c783914cafdff028db303681dae4291d Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 15 Nov 2012 18:31:53 +0100 -Subject: [PATCH] libXt: util: don't link makestrs with target cflags - -The line: - -AM_CFLAGS = $(XT_CFLAGS) - -in util/Makefile.am is wrong because it adds target cflags to the -compilation of makestrs, which is built for the build machine, which -leads to build failures when cross-compiling. - -We also remove the inclusion of from makestrs.c, because -it was the only non-standard header being included (and therefore -possibly requiring special cflags), but it was in reality not useful -at all to build makestrs.c. - -Signed-off-by: Thomas Petazzoni ---- - util/Makefile.am | 1 - - util/makestrs.c | 1 - - 2 files changed, 2 deletions(-) - -diff --git a/util/Makefile.am b/util/Makefile.am -index dedfa6b..cc6f3fc 100644 ---- a/util/Makefile.am -+++ b/util/Makefile.am -@@ -10,7 +10,6 @@ EXTRA_DIST = \ - StrDefs.ht \ - string.list - --AM_CFLAGS = $(XT_CFLAGS) - makestrs_SOURCES = makestrs.c - - -diff --git a/util/makestrs.c b/util/makestrs.c -index a52866a..00c861f 100644 ---- a/util/makestrs.c -+++ b/util/makestrs.c -@@ -27,7 +27,6 @@ in this Software without prior written authorization from The Open Group. - /* Constructs string definitions */ - - #include --#include - #include - #include - --- -1.7.9.5 diff --git a/package/x11vnc/0001-ipv6.patch b/package/x11vnc/0001-ipv6.patch new file mode 100644 index 0000000000..89c28357a1 --- /dev/null +++ b/package/x11vnc/0001-ipv6.patch @@ -0,0 +1,25 @@ +[PATCH] fix build on uClibc without IPv6 support + +Some systems (like uClibc) defines AF_INET6 even when configured without +IPv6 support, so don't use that to decide if IPv6 support should be enabled. + +Instead use the X11VNC_IPV6 define like elsewhere in the code. + +Signed-off-by: Peter Korsgaard +--- + x11vnc/enc.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: x11vnc-0.9.13/x11vnc/enc.h +=================================================================== +--- x11vnc-0.9.13.orig/x11vnc/enc.h ++++ x11vnc-0.9.13/x11vnc/enc.h +@@ -1733,7 +1733,7 @@ + } + + try6: +-#ifdef AF_INET6 ++#if X11VNC_IPV6 + if (!getenv("ULTRAVNC_DSM_HELPER_NOIPV6")) { + struct sockaddr_in6 sin; + int one = 1, sock = -1; diff --git a/package/x11vnc/x11vnc-ipv6.patch b/package/x11vnc/x11vnc-ipv6.patch deleted file mode 100644 index 89c28357a1..0000000000 --- a/package/x11vnc/x11vnc-ipv6.patch +++ /dev/null @@ -1,25 +0,0 @@ -[PATCH] fix build on uClibc without IPv6 support - -Some systems (like uClibc) defines AF_INET6 even when configured without -IPv6 support, so don't use that to decide if IPv6 support should be enabled. - -Instead use the X11VNC_IPV6 define like elsewhere in the code. - -Signed-off-by: Peter Korsgaard ---- - x11vnc/enc.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: x11vnc-0.9.13/x11vnc/enc.h -=================================================================== ---- x11vnc-0.9.13.orig/x11vnc/enc.h -+++ x11vnc-0.9.13/x11vnc/enc.h -@@ -1733,7 +1733,7 @@ - } - - try6: --#ifdef AF_INET6 -+#if X11VNC_IPV6 - if (!getenv("ULTRAVNC_DSM_HELPER_NOIPV6")) { - struct sockaddr_in6 sin; - int one = 1, sock = -1; diff --git a/package/xinetd/0001-ar.patch b/package/xinetd/0001-ar.patch new file mode 100644 index 0000000000..566f2f75ee --- /dev/null +++ b/package/xinetd/0001-ar.patch @@ -0,0 +1,74 @@ +This patch changes all of the hard-coded invocations of "ar" to $(AR), to +support a cross-compilation toolchain. + +The content of this patch was copied from the OpenWrt project: +https://dev.openwrt.org/browser/packages/net/xinetd/patches/001-ar.patch + +Signed-off-by: Danomi Manchego + +--- a/libs/src/misc/Makefile.in ++++ b/libs/src/misc/Makefile.in +@@ -62,7 +62,7 @@ + + + $(LIBNAME): $(OBJECTS) +- ar r $@ $? ++ $(AR) r $@ $? + $(RANLIB) $@ + + install: $(LIBNAME) +--- a/libs/src/portable/Makefile.in ++++ b/libs/src/portable/Makefile.in +@@ -57,7 +57,7 @@ + + + $(LIBNAME): $(OBJECTS) +- ar r $@ $? ++ $(AR) r $@ $? + $(RANLIB) $@ + + install: $(LIBNAME) +--- a/libs/src/pset/Makefile.in ++++ b/libs/src/pset/Makefile.in +@@ -53,7 +53,7 @@ + mv $(LIBNAME) $(LIBDIR)/optimized + + $(LIBNAME): $(OBJECTS) +- ar r $@ $? ++ $(AR) r $@ $? + $(RANLIB) $@ + + install: $(LIBNAME) +--- a/libs/src/sio/Makefile.in ++++ b/libs/src/sio/Makefile.in +@@ -52,7 +52,7 @@ + $(INSTALL) $(FMODE) $(LIBNAME) $(LIBDIR)/optimized + + $(LIBNAME): $(OBJECTS) +- ar r $@ $? ++ $(AR) r $@ $? + $(RANLIB) $@ + + install: $(LIBNAME) +--- a/libs/src/str/Makefile.in ++++ b/libs/src/str/Makefile.in +@@ -63,7 +63,7 @@ + $(INSTALL) $(FMODE) $(LIBNAME) $(LIBDIR)-O + + $(LIBNAME): $(OBJECTS) +- ar r $@ $? ++ $(AR) r $@ $? + $(RANLIB) $@ + + LINT_IGNORE=possible pointer alignment|RCSid unused +--- a/libs/src/xlog/Makefile.in ++++ b/libs/src/xlog/Makefile.in +@@ -58,7 +58,7 @@ + $(INSTALL) $(FMODE) $(LIBNAME) $(LIBDIR)/optimized + + $(LIBNAME): $(OBJECTS) +- ar r $@ $? ++ $(AR) r $@ $? + $(RANLIB) $@ + + install: $(LIBNAME) diff --git a/package/xinetd/0002-destdir.patch b/package/xinetd/0002-destdir.patch new file mode 100644 index 0000000000..7a323eb68a --- /dev/null +++ b/package/xinetd/0002-destdir.patch @@ -0,0 +1,55 @@ +This patch adds $(DESTDIR) to xinetd's installation paths, to support +installation to a cross-compiled RFS area. + +The content of this patch was inspired by the OpenWrt project: +https://dev.openwrt.org/browser/packages/net/xinetd/patches/002-destdir.patch + +Signed-off-by: Danomi Manchego + +diff -urN xinetd-2.3.15.ORIG/Makefile.in xinetd-2.3.15/Makefile.in +--- xinetd-2.3.15.ORIG/Makefile.in 2007-09-20 13:01:52.000000000 -0400 ++++ xinetd-2.3.15/Makefile.in 2012-06-18 10:20:00.540864388 -0400 +@@ -75,27 +75,27 @@ + + install: build + for i in $(DAEMONDIR) $(BINDIR) $(MANDIR)/man5 $(MANDIR)/man8 ; do \ +- test -d $$i || mkdir -p $$i ; done +- $(INSTALL_CMD) -m 755 xinetd/xinetd $(DAEMONDIR) +- $(INSTALL_CMD) -m 755 xinetd/itox $(DAEMONDIR) +- $(INSTALL_CMD) -m 755 $(SRCDIR)/xinetd/xconv.pl $(DAEMONDIR) +- $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.conf.man $(MANDIR)/man5/xinetd.conf.5 +- $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.log.man $(MANDIR)/man8/xinetd.log.8 +- $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.man $(MANDIR)/man8/xinetd.8 +- $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/itox.8 $(MANDIR)/man8/itox.8 +- $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xconv.pl.8 $(MANDIR)/man8/xconv.pl.8 ++ test -d $(DESTDIR)$$i || mkdir -p $(DESTDIR)$$i ; done ++ $(INSTALL_CMD) -m 755 xinetd/xinetd $(DESTDIR)$(DAEMONDIR) ++ $(INSTALL_CMD) -m 755 xinetd/itox $(DESTDIR)$(DAEMONDIR) ++ $(INSTALL_CMD) -m 755 $(SRCDIR)/xinetd/xconv.pl $(DESTDIR)$(DAEMONDIR) ++ $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.conf.man $(DESTDIR)$(MANDIR)/man5/xinetd.conf.5 ++ $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.log.man $(DESTDIR)$(MANDIR)/man8/xinetd.log.8 ++ $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.man $(DESTDIR)$(MANDIR)/man8/xinetd.8 ++ $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/itox.8 $(DESTDIR)$(MANDIR)/man8/itox.8 ++ $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xconv.pl.8 $(DESTDIR)$(MANDIR)/man8/xconv.pl.8 + @echo "You must put your xinetd.conf in /etc/xinetd.conf" + @echo "There is a sample config file in xinetd/sample.conf and you can" + @echo "use xconv.pl to convert your old inetd.conf file to an xinetd format" + + uninstall: +- rm -f $(DAEMONDIR)/xinetd +- rm -f $(DAEMONDIR)/itox +- rm -f $(DAEMONDIR)/xconv.pl +- rm -f $(MANDIR)/man5/xinetd.conf.5 +- rm -f $(MANDIR)/man8/xinetd.log.8 +- rm -f $(MANDIR)/man8/xinetd.8 +- rm -f $(MANDIR)/man8/itox.8 ++ rm -f $(DESTDIR)$(DAEMONDIR)/xinetd ++ rm -f $(DESTDIR)$(DAEMONDIR)/itox ++ rm -f $(DESTDIR)$(DAEMONDIR)/xconv.pl ++ rm -f $(DESTDIR)$(MANDIR)/man5/xinetd.conf.5 ++ rm -f $(DESTDIR)$(MANDIR)/man8/xinetd.log.8 ++ rm -f $(DESTDIR)$(MANDIR)/man8/xinetd.8 ++ rm -f $(DESTDIR)$(MANDIR)/man8/itox.8 + + distclean: clean + rm -f config.cache config.log Makefile config.status xinetd/itox diff --git a/package/xinetd/0003-rpc-fix.patch b/package/xinetd/0003-rpc-fix.patch new file mode 100644 index 0000000000..6c32b7291e --- /dev/null +++ b/package/xinetd/0003-rpc-fix.patch @@ -0,0 +1,26 @@ +This patch fixes compiling xinetd without RPC support. + +The content of this patch was copied from the OpenWrt project: +https://dev.openwrt.org/browser/packages/net/xinetd/patches/003-rpc_fix.patch + +Signed-off-by: Danomi Manchego + +--- a/xinetd/confparse.c ++++ b/xinetd/confparse.c +@@ -745,7 +745,7 @@ static status_e check_entry( struct serv + } + } + +-/* #ifndef NO_RPC */ ++#ifndef NO_RPC + #if defined(HAVE_RPC_RPCENT_H) || defined(HAVE_NETDB_H) + if ( SC_IS_RPC( scp ) && !SC_IS_UNLISTED( scp ) ) + { +@@ -759,6 +759,7 @@ static status_e check_entry( struct serv + SC_RPCDATA( scp )->rd_program_number = rep->r_number ; + } + else ++#endif + #endif /* ! NO_RPC */ + { + if ( !SC_IS_UNLISTED( scp ) ) diff --git a/package/xinetd/0004-configure-rlim_t.patch b/package/xinetd/0004-configure-rlim_t.patch new file mode 100644 index 0000000000..e1cb48ac6a --- /dev/null +++ b/package/xinetd/0004-configure-rlim_t.patch @@ -0,0 +1,18 @@ +Have the configure script look for rlim_t in + +That's where POSIX says it should be. Some libcs will include its +definition via as well, but musl doesn't. + +Signed-off-by: Maarten ter Huurne + +--- xinetd-2.3.15.orig/configure 2007-09-20 16:58:27.000000000 +0200 ++++ xinetd-2.3.15/configure 2014-09-16 17:20:22.787665449 +0200 +@@ -7909,7 +7909,7 @@ + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ +-#include ++#include + #if STDC_HEADERS + #include + #endif diff --git a/package/xinetd/xinetd-001-ar.patch b/package/xinetd/xinetd-001-ar.patch deleted file mode 100644 index 566f2f75ee..0000000000 --- a/package/xinetd/xinetd-001-ar.patch +++ /dev/null @@ -1,74 +0,0 @@ -This patch changes all of the hard-coded invocations of "ar" to $(AR), to -support a cross-compilation toolchain. - -The content of this patch was copied from the OpenWrt project: -https://dev.openwrt.org/browser/packages/net/xinetd/patches/001-ar.patch - -Signed-off-by: Danomi Manchego - ---- a/libs/src/misc/Makefile.in -+++ b/libs/src/misc/Makefile.in -@@ -62,7 +62,7 @@ - - - $(LIBNAME): $(OBJECTS) -- ar r $@ $? -+ $(AR) r $@ $? - $(RANLIB) $@ - - install: $(LIBNAME) ---- a/libs/src/portable/Makefile.in -+++ b/libs/src/portable/Makefile.in -@@ -57,7 +57,7 @@ - - - $(LIBNAME): $(OBJECTS) -- ar r $@ $? -+ $(AR) r $@ $? - $(RANLIB) $@ - - install: $(LIBNAME) ---- a/libs/src/pset/Makefile.in -+++ b/libs/src/pset/Makefile.in -@@ -53,7 +53,7 @@ - mv $(LIBNAME) $(LIBDIR)/optimized - - $(LIBNAME): $(OBJECTS) -- ar r $@ $? -+ $(AR) r $@ $? - $(RANLIB) $@ - - install: $(LIBNAME) ---- a/libs/src/sio/Makefile.in -+++ b/libs/src/sio/Makefile.in -@@ -52,7 +52,7 @@ - $(INSTALL) $(FMODE) $(LIBNAME) $(LIBDIR)/optimized - - $(LIBNAME): $(OBJECTS) -- ar r $@ $? -+ $(AR) r $@ $? - $(RANLIB) $@ - - install: $(LIBNAME) ---- a/libs/src/str/Makefile.in -+++ b/libs/src/str/Makefile.in -@@ -63,7 +63,7 @@ - $(INSTALL) $(FMODE) $(LIBNAME) $(LIBDIR)-O - - $(LIBNAME): $(OBJECTS) -- ar r $@ $? -+ $(AR) r $@ $? - $(RANLIB) $@ - - LINT_IGNORE=possible pointer alignment|RCSid unused ---- a/libs/src/xlog/Makefile.in -+++ b/libs/src/xlog/Makefile.in -@@ -58,7 +58,7 @@ - $(INSTALL) $(FMODE) $(LIBNAME) $(LIBDIR)/optimized - - $(LIBNAME): $(OBJECTS) -- ar r $@ $? -+ $(AR) r $@ $? - $(RANLIB) $@ - - install: $(LIBNAME) diff --git a/package/xinetd/xinetd-002-destdir.patch b/package/xinetd/xinetd-002-destdir.patch deleted file mode 100644 index 7a323eb68a..0000000000 --- a/package/xinetd/xinetd-002-destdir.patch +++ /dev/null @@ -1,55 +0,0 @@ -This patch adds $(DESTDIR) to xinetd's installation paths, to support -installation to a cross-compiled RFS area. - -The content of this patch was inspired by the OpenWrt project: -https://dev.openwrt.org/browser/packages/net/xinetd/patches/002-destdir.patch - -Signed-off-by: Danomi Manchego - -diff -urN xinetd-2.3.15.ORIG/Makefile.in xinetd-2.3.15/Makefile.in ---- xinetd-2.3.15.ORIG/Makefile.in 2007-09-20 13:01:52.000000000 -0400 -+++ xinetd-2.3.15/Makefile.in 2012-06-18 10:20:00.540864388 -0400 -@@ -75,27 +75,27 @@ - - install: build - for i in $(DAEMONDIR) $(BINDIR) $(MANDIR)/man5 $(MANDIR)/man8 ; do \ -- test -d $$i || mkdir -p $$i ; done -- $(INSTALL_CMD) -m 755 xinetd/xinetd $(DAEMONDIR) -- $(INSTALL_CMD) -m 755 xinetd/itox $(DAEMONDIR) -- $(INSTALL_CMD) -m 755 $(SRCDIR)/xinetd/xconv.pl $(DAEMONDIR) -- $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.conf.man $(MANDIR)/man5/xinetd.conf.5 -- $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.log.man $(MANDIR)/man8/xinetd.log.8 -- $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.man $(MANDIR)/man8/xinetd.8 -- $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/itox.8 $(MANDIR)/man8/itox.8 -- $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xconv.pl.8 $(MANDIR)/man8/xconv.pl.8 -+ test -d $(DESTDIR)$$i || mkdir -p $(DESTDIR)$$i ; done -+ $(INSTALL_CMD) -m 755 xinetd/xinetd $(DESTDIR)$(DAEMONDIR) -+ $(INSTALL_CMD) -m 755 xinetd/itox $(DESTDIR)$(DAEMONDIR) -+ $(INSTALL_CMD) -m 755 $(SRCDIR)/xinetd/xconv.pl $(DESTDIR)$(DAEMONDIR) -+ $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.conf.man $(DESTDIR)$(MANDIR)/man5/xinetd.conf.5 -+ $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.log.man $(DESTDIR)$(MANDIR)/man8/xinetd.log.8 -+ $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.man $(DESTDIR)$(MANDIR)/man8/xinetd.8 -+ $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/itox.8 $(DESTDIR)$(MANDIR)/man8/itox.8 -+ $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xconv.pl.8 $(DESTDIR)$(MANDIR)/man8/xconv.pl.8 - @echo "You must put your xinetd.conf in /etc/xinetd.conf" - @echo "There is a sample config file in xinetd/sample.conf and you can" - @echo "use xconv.pl to convert your old inetd.conf file to an xinetd format" - - uninstall: -- rm -f $(DAEMONDIR)/xinetd -- rm -f $(DAEMONDIR)/itox -- rm -f $(DAEMONDIR)/xconv.pl -- rm -f $(MANDIR)/man5/xinetd.conf.5 -- rm -f $(MANDIR)/man8/xinetd.log.8 -- rm -f $(MANDIR)/man8/xinetd.8 -- rm -f $(MANDIR)/man8/itox.8 -+ rm -f $(DESTDIR)$(DAEMONDIR)/xinetd -+ rm -f $(DESTDIR)$(DAEMONDIR)/itox -+ rm -f $(DESTDIR)$(DAEMONDIR)/xconv.pl -+ rm -f $(DESTDIR)$(MANDIR)/man5/xinetd.conf.5 -+ rm -f $(DESTDIR)$(MANDIR)/man8/xinetd.log.8 -+ rm -f $(DESTDIR)$(MANDIR)/man8/xinetd.8 -+ rm -f $(DESTDIR)$(MANDIR)/man8/itox.8 - - distclean: clean - rm -f config.cache config.log Makefile config.status xinetd/itox diff --git a/package/xinetd/xinetd-003-rpc-fix.patch b/package/xinetd/xinetd-003-rpc-fix.patch deleted file mode 100644 index 6c32b7291e..0000000000 --- a/package/xinetd/xinetd-003-rpc-fix.patch +++ /dev/null @@ -1,26 +0,0 @@ -This patch fixes compiling xinetd without RPC support. - -The content of this patch was copied from the OpenWrt project: -https://dev.openwrt.org/browser/packages/net/xinetd/patches/003-rpc_fix.patch - -Signed-off-by: Danomi Manchego - ---- a/xinetd/confparse.c -+++ b/xinetd/confparse.c -@@ -745,7 +745,7 @@ static status_e check_entry( struct serv - } - } - --/* #ifndef NO_RPC */ -+#ifndef NO_RPC - #if defined(HAVE_RPC_RPCENT_H) || defined(HAVE_NETDB_H) - if ( SC_IS_RPC( scp ) && !SC_IS_UNLISTED( scp ) ) - { -@@ -759,6 +759,7 @@ static status_e check_entry( struct serv - SC_RPCDATA( scp )->rd_program_number = rep->r_number ; - } - else -+#endif - #endif /* ! NO_RPC */ - { - if ( !SC_IS_UNLISTED( scp ) ) diff --git a/package/xinetd/xinetd-004-configure-rlim_t.patch b/package/xinetd/xinetd-004-configure-rlim_t.patch deleted file mode 100644 index e1cb48ac6a..0000000000 --- a/package/xinetd/xinetd-004-configure-rlim_t.patch +++ /dev/null @@ -1,18 +0,0 @@ -Have the configure script look for rlim_t in - -That's where POSIX says it should be. Some libcs will include its -definition via as well, but musl doesn't. - -Signed-off-by: Maarten ter Huurne - ---- xinetd-2.3.15.orig/configure 2007-09-20 16:58:27.000000000 +0200 -+++ xinetd-2.3.15/configure 2014-09-16 17:20:22.787665449 +0200 -@@ -7909,7 +7909,7 @@ - cat confdefs.h >>conftest.$ac_ext - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ --#include -+#include - #if STDC_HEADERS - #include - #endif diff --git a/package/xl2tp/0001-legacy.patch b/package/xl2tp/0001-legacy.patch new file mode 100644 index 0000000000..5279fd7079 --- /dev/null +++ b/package/xl2tp/0001-legacy.patch @@ -0,0 +1,17 @@ +Replace SUSV3-specific functions index, bcopy, bzero and bcmp by their +POSIX variants. + +--- l2tpd-0.70-pre20031121.oorig/osport.h 2004-07-08 22:47:52.000000000 +0200 ++++ l2tpd-0.70-pre20031121/osport.h 2006-12-28 15:32:50.000000000 +0100 +@@ -37,4 +37,11 @@ + + #endif /* defined(SOLARIS) */ + ++#if defined __UCLIBC__ && !defined UCLIBC_SUSV3_LEGACY_MACROS ++# define index(x, y) strchr(x, y) ++# define bcopy(S1, S2, LEN) ((void)memmove(S2, S1, LEN)) ++# define bzero(S1, LEN) ((void)memset(S1, 0, LEN)) ++# define bcmp(S1,S2,LEN) ((memcmp(S2, S1, LEN)==0)?0:1) ++#endif /* defined __UCLIBC__ && !defined UCLIBC_SUSV3_LEGACY_MACROS */ ++ + #endif /* _OSPORT_H_ */ diff --git a/package/xl2tp/xl2tp-legacy.patch b/package/xl2tp/xl2tp-legacy.patch deleted file mode 100644 index 5279fd7079..0000000000 --- a/package/xl2tp/xl2tp-legacy.patch +++ /dev/null @@ -1,17 +0,0 @@ -Replace SUSV3-specific functions index, bcopy, bzero and bcmp by their -POSIX variants. - ---- l2tpd-0.70-pre20031121.oorig/osport.h 2004-07-08 22:47:52.000000000 +0200 -+++ l2tpd-0.70-pre20031121/osport.h 2006-12-28 15:32:50.000000000 +0100 -@@ -37,4 +37,11 @@ - - #endif /* defined(SOLARIS) */ - -+#if defined __UCLIBC__ && !defined UCLIBC_SUSV3_LEGACY_MACROS -+# define index(x, y) strchr(x, y) -+# define bcopy(S1, S2, LEN) ((void)memmove(S2, S1, LEN)) -+# define bzero(S1, LEN) ((void)memset(S1, 0, LEN)) -+# define bcmp(S1,S2,LEN) ((memcmp(S2, S1, LEN)==0)?0:1) -+#endif /* defined __UCLIBC__ && !defined UCLIBC_SUSV3_LEGACY_MACROS */ -+ - #endif /* _OSPORT_H_ */ diff --git a/package/xscreensaver/0001-fix-cross-compile-ansi-c-bailout.patch b/package/xscreensaver/0001-fix-cross-compile-ansi-c-bailout.patch new file mode 100644 index 0000000000..4d05f03614 --- /dev/null +++ b/package/xscreensaver/0001-fix-cross-compile-ansi-c-bailout.patch @@ -0,0 +1,29 @@ +The configure bails out when cross-compiling, because it is over-cautious +about ANSI support in the C compiler. Work around this by disabling the +bail-out code. + +Signed-off-by: Simon Dawson + +diff -Nurp a/configure b/configure +--- a/configure 2013-07-16 10:23:32.000000000 +0100 ++++ b/configure 2013-09-22 14:50:07.186953454 +0100 +@@ -3537,9 +3537,7 @@ $as_echo "Solaris: adding -D__EXTENSIONS + { $as_echo "$as_me:$LINENO: checking whether the compiler works on ANSI C" >&5 + $as_echo_n "checking whether the compiler works on ANSI C... " >&6; } + if test "$cross_compiling" = yes; then +- { { $as_echo "$as_me:$LINENO: error: Couldn't build even a trivial ANSI C program: check CC." >&5 +-$as_echo "$as_me: error: Couldn't build even a trivial ANSI C program: check CC." >&2;} +- { (exit 1); exit 1; }; } ++ : + else + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ +@@ -8616,7 +8614,7 @@ fi + $as_echo "$ac_cv_xpointer" >&6; } + if test "$ac_cv_xpointer" != yes; then + cat >>confdefs.h <<\_ACEOF +-#define XPointer char* ++/* #define XPointer char* */ + _ACEOF + + fi diff --git a/package/xscreensaver/0002-fix-minixpm-build-problem.patch b/package/xscreensaver/0002-fix-minixpm-build-problem.patch new file mode 100644 index 0000000000..842fb205bf --- /dev/null +++ b/package/xscreensaver/0002-fix-minixpm-build-problem.patch @@ -0,0 +1,134 @@ +Fix compile and link errors related to the minixpm code. + +Signed-off-by: Simon Dawson + +diff -Nurp a/hacks/Makefile.in b/hacks/Makefile.in +--- a/hacks/Makefile.in 2013-07-16 10:23:32.000000000 +0100 ++++ b/hacks/Makefile.in 2013-09-22 18:47:56.389238980 +0100 +@@ -73,17 +73,22 @@ UTIL_SRCS = $(UTILS_SRC)/alpha.c $(UTILS + $(UTILS_SRC)/minixpm.c \ + $(UTILS_SRC)/yarandom.c $(UTILS_SRC)/erase.c \ + $(UTILS_SRC)/xshm.c $(UTILS_SRC)/xdbe.c \ +- $(UTILS_SRC)/textclient.c ++ $(UTILS_SRC)/colorbars.c \ ++ $(UTILS_SRC)/fade.c \ ++ $(UTILS_SRC)/textclient.c \ ++ $(UTILS_SRC)/overlay.c + UTIL_OBJS = $(UTILS_BIN)/alpha.o $(UTILS_BIN)/colors.o \ + $(UTILS_BIN)/grabclient.o \ + $(UTILS_BIN)/hsv.o $(UTILS_BIN)/resources.o \ + $(UTILS_BIN)/spline.o $(UTILS_BIN)/usleep.o \ + $(UTILS_BIN)/visual.o $(UTILS_BIN)/logo.o \ +- $(UTILS_SRC)/minixpm.c \ ++ $(UTILS_BIN)/minixpm.o \ + $(UTILS_BIN)/yarandom.o $(UTILS_BIN)/erase.o \ + $(UTILS_BIN)/xshm.o $(UTILS_BIN)/xdbe.o \ + $(UTILS_BIN)/colorbars.o \ +- $(UTILS_SRC)/textclient.o ++ $(UTILS_BIN)/fade.o \ ++ $(UTILS_BIN)/textclient.o \ ++ $(UTILS_BIN)/overlay.o + + SRCS = attraction.c blitspin.c bouboule.c braid.c bubbles.c \ + bubbles-default.c decayscreen.c deco.c drift.c flag.c \ +@@ -559,11 +564,11 @@ xscreensaver-sgigl: xscreensaver-sgigl.c + attraction: attraction.o $(HACK_OBJS) $(COL) $(SPL) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS) + +-blitspin: blitspin.o $(HACK_OBJS) $(GRAB) $(XPM) +- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(XPM) $(XPM_LIBS) ++blitspin: blitspin.o $(HACK_OBJS) $(GRAB) $(XPM) $(MINIXPM) ++ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(XPM) $(MINIXPM) $(XPM_LIBS) + +-bubbles: bubbles.o $(HACK_OBJS) bubbles-default.o $(XPM) +- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) bubbles-default.o $(XPM) $(XPM_LIBS) ++bubbles: bubbles.o $(HACK_OBJS) bubbles-default.o $(XPM) $(MINIXPM) ++ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) bubbles-default.o $(XPM) $(MINIXPM) $(XPM_LIBS) + + decayscreen: decayscreen.o $(HACK_OBJS) $(GRAB) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(HACK_LIBS) +@@ -604,8 +609,8 @@ moire: moire.o $(HACK_OBJS) $(COL) $(S + moire2: moire2.o $(HACK_OBJS) $(COL) $(DBE) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(DBE) $(HACK_LIBS) + +-noseguy: noseguy.o $(HACK_OBJS) $(XPM) $(TEXT) +- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(XPM) $(TEXT) $(XPM_LIBS) $(TEXT_LIBS) ++noseguy: noseguy.o $(HACK_OBJS) $(XPM) $(TEXT) $(MINIXPM) ++ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(XPM) $(TEXT) $(MINIXPM) $(XPM_LIBS) $(TEXT_LIBS) + + pedal: pedal.o $(HACK_OBJS) $(HSV) $(ERASE) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HSV) $(ERASE) $(HACK_LIBS) +@@ -658,14 +663,14 @@ interference: interference.o $(HACK_OBJ + truchet: truchet.o $(HACK_OBJS) $(COL) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS) + +-bsod: bsod.o $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM) +- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM) $(XPM_LIBS) ++bsod: bsod.o $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM) $(MINIXPM) ++ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM) $(MINIXPM) $(XPM_LIBS) + + apple2: apple2.o apple2-main.o $(HACK_OBJS) $(ATV) $(GRAB) $(TEXT) + $(CC_HACK) -o $@ $@.o apple2-main.o $(HACK_OBJS) $(ATV) $(GRAB) $(TEXT) $(XPM_LIBS) $(TEXT_LIBS) + +-xanalogtv: xanalogtv.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) +- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(XPM_LIBS) $(HACK_LIBS) ++xanalogtv: xanalogtv.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(MINIXPM) ++ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(MINIXPM) $(XPM_LIBS) $(HACK_LIBS) + + distort: distort.o $(HACK_OBJS) $(GRAB) $(SHM) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(SHM) $(HACK_LIBS) +@@ -688,8 +693,8 @@ compass: compass.o $(HACK_OBJS) $(DBE) + squiral: squiral.o $(HACK_OBJS) $(COL) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS) + +-xflame: xflame.o $(HACK_OBJS) $(SHM) $(XPM) +- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(SHM) $(XPM) $(XPM_LIBS) ++xflame: xflame.o $(HACK_OBJS) $(SHM) $(XPM) $(MINIXPM) ++ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(SHM) $(XPM) $(MINIXPM) $(XPM_LIBS) + + wander: wander.o $(HACK_OBJS) $(COL) $(ERASE) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS) +@@ -703,8 +708,8 @@ critical: critical.o $(HACK_OBJS) $(COL) + phosphor: phosphor.o $(HACK_OBJS) $(TEXT) $(COL) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(TEXT) $(COL) $(HACK_LIBS) $(TEXT_LIBS) + +-xmatrix: xmatrix.o $(HACK_OBJS) $(TEXT) $(XPM) +- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(TEXT) $(XPM) $(XPM_LIBS) $(TEXT_LIBS) ++xmatrix: xmatrix.o $(HACK_OBJS) $(TEXT) $(XPM) $(MINIXPM) ++ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(TEXT) $(XPM) $(MINIXPM) $(XPM_LIBS) $(TEXT_LIBS) + + petri: petri.o $(HACK_OBJS) $(COL) $(SPL) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS) +@@ -787,8 +792,8 @@ cloudlife: cloudlife.o $(HACK_OBJS) $(CO + fontglide: fontglide.o $(HACK_OBJS) $(DBE) $(TEXT) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(DBE) $(TEXT) $(HACK_LIBS) $(TEXT_LIBS) + +-pong: pong.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) +- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(XPM_LIBS) $(HACK_LIBS) ++pong: pong.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(MINIXPM) ++ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(MINIXPM) $(XPM_LIBS) $(HACK_LIBS) + + wormhole: wormhole.o $(HACK_OBJS) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS) +@@ -856,8 +861,8 @@ braid: braid.o $(XLOCK_OBJS) $(ERASE) + drift: drift.o $(XLOCK_OBJS) $(ERASE) + $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS) + +-flag: flag.o $(XLOCK_OBJS) $(XPM) +- $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(XPM) $(XPM_LIBS) ++flag: flag.o $(XLOCK_OBJS) $(XPM) $(MINIXPM) ++ $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(XPM) $(MINIXPM) $(XPM_LIBS) + + forest: forest.o $(XLOCK_OBJS) $(ERASE) + $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS) +@@ -959,8 +964,8 @@ thornbird: thornbird.o $(XLOCK_OBJS) + $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS) + + PACOBJS=pacman_ai.o pacman_level.o +-pacman: pacman.o $(PACOBJS) $(XLOCK_OBJS) $(XPM) +- $(CC_HACK) -o $@ $@.o $(PACOBJS) $(XLOCK_OBJS) $(XPM) $(XPM_LIBS) ++pacman: pacman.o $(PACOBJS) $(XLOCK_OBJS) $(XPM) $(MINIXPM) ++ $(CC_HACK) -o $@ $@.o $(PACOBJS) $(XLOCK_OBJS) $(XPM) $(MINIXPM) $(XPM_LIBS) + + fiberlamp: fiberlamp.o $(XLOCK_OBJS) + $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS) diff --git a/package/xscreensaver/0003-driver-fix-linking-with-lintl.patch b/package/xscreensaver/0003-driver-fix-linking-with-lintl.patch new file mode 100644 index 0000000000..51551c65e7 --- /dev/null +++ b/package/xscreensaver/0003-driver-fix-linking-with-lintl.patch @@ -0,0 +1,35 @@ +From 2336fa7901733a434c38637bf39f3e282e78e1c1 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Wed, 27 Aug 2014 22:44:21 +0200 +Subject: [PATCH 1/1] driver: fix linking with lintl + +The libintl is missing during xscreensaver build if +glib2 was build with gettext. + +xscreensaver.o: In function `main': +undefined reference to `libintl_bindtextdomain' +undefined reference to `libintl_textdomain' + +Backport a patch applied in 5.28 + +Signed-off-by: Romain Naour +--- + driver/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/driver/Makefile.in b/driver/Makefile.in +index af077ca..ce7055c 100644 +--- a/driver/Makefile.in ++++ b/driver/Makefile.in +@@ -776,7 +776,7 @@ XScreenSaver_Xm_ad.h: XScreenSaver-Xm.ad + # The executables linked in this directory. + # + xscreensaver: $(SAVER_OBJS) +- $(CC) $(LDFLAGS) -o $@ $(SAVER_OBJS) $(SAVER_LIBS) ++ $(CC) $(LDFLAGS) -o $@ $(SAVER_OBJS) $(SAVER_LIBS) $(INTL_LIBS) + + xscreensaver-command: $(CMD_OBJS) + $(CC) $(LDFLAGS) -o $@ $(CMD_OBJS) $(CMD_LIBS) +-- +1.9.3 + diff --git a/package/xscreensaver/xscreensaver-0001-fix-cross-compile-ansi-c-bailout.patch b/package/xscreensaver/xscreensaver-0001-fix-cross-compile-ansi-c-bailout.patch deleted file mode 100644 index 4d05f03614..0000000000 --- a/package/xscreensaver/xscreensaver-0001-fix-cross-compile-ansi-c-bailout.patch +++ /dev/null @@ -1,29 +0,0 @@ -The configure bails out when cross-compiling, because it is over-cautious -about ANSI support in the C compiler. Work around this by disabling the -bail-out code. - -Signed-off-by: Simon Dawson - -diff -Nurp a/configure b/configure ---- a/configure 2013-07-16 10:23:32.000000000 +0100 -+++ b/configure 2013-09-22 14:50:07.186953454 +0100 -@@ -3537,9 +3537,7 @@ $as_echo "Solaris: adding -D__EXTENSIONS - { $as_echo "$as_me:$LINENO: checking whether the compiler works on ANSI C" >&5 - $as_echo_n "checking whether the compiler works on ANSI C... " >&6; } - if test "$cross_compiling" = yes; then -- { { $as_echo "$as_me:$LINENO: error: Couldn't build even a trivial ANSI C program: check CC." >&5 --$as_echo "$as_me: error: Couldn't build even a trivial ANSI C program: check CC." >&2;} -- { (exit 1); exit 1; }; } -+ : - else - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -@@ -8616,7 +8614,7 @@ fi - $as_echo "$ac_cv_xpointer" >&6; } - if test "$ac_cv_xpointer" != yes; then - cat >>confdefs.h <<\_ACEOF --#define XPointer char* -+/* #define XPointer char* */ - _ACEOF - - fi diff --git a/package/xscreensaver/xscreensaver-0002-fix-minixpm-build-problem.patch b/package/xscreensaver/xscreensaver-0002-fix-minixpm-build-problem.patch deleted file mode 100644 index 842fb205bf..0000000000 --- a/package/xscreensaver/xscreensaver-0002-fix-minixpm-build-problem.patch +++ /dev/null @@ -1,134 +0,0 @@ -Fix compile and link errors related to the minixpm code. - -Signed-off-by: Simon Dawson - -diff -Nurp a/hacks/Makefile.in b/hacks/Makefile.in ---- a/hacks/Makefile.in 2013-07-16 10:23:32.000000000 +0100 -+++ b/hacks/Makefile.in 2013-09-22 18:47:56.389238980 +0100 -@@ -73,17 +73,22 @@ UTIL_SRCS = $(UTILS_SRC)/alpha.c $(UTILS - $(UTILS_SRC)/minixpm.c \ - $(UTILS_SRC)/yarandom.c $(UTILS_SRC)/erase.c \ - $(UTILS_SRC)/xshm.c $(UTILS_SRC)/xdbe.c \ -- $(UTILS_SRC)/textclient.c -+ $(UTILS_SRC)/colorbars.c \ -+ $(UTILS_SRC)/fade.c \ -+ $(UTILS_SRC)/textclient.c \ -+ $(UTILS_SRC)/overlay.c - UTIL_OBJS = $(UTILS_BIN)/alpha.o $(UTILS_BIN)/colors.o \ - $(UTILS_BIN)/grabclient.o \ - $(UTILS_BIN)/hsv.o $(UTILS_BIN)/resources.o \ - $(UTILS_BIN)/spline.o $(UTILS_BIN)/usleep.o \ - $(UTILS_BIN)/visual.o $(UTILS_BIN)/logo.o \ -- $(UTILS_SRC)/minixpm.c \ -+ $(UTILS_BIN)/minixpm.o \ - $(UTILS_BIN)/yarandom.o $(UTILS_BIN)/erase.o \ - $(UTILS_BIN)/xshm.o $(UTILS_BIN)/xdbe.o \ - $(UTILS_BIN)/colorbars.o \ -- $(UTILS_SRC)/textclient.o -+ $(UTILS_BIN)/fade.o \ -+ $(UTILS_BIN)/textclient.o \ -+ $(UTILS_BIN)/overlay.o - - SRCS = attraction.c blitspin.c bouboule.c braid.c bubbles.c \ - bubbles-default.c decayscreen.c deco.c drift.c flag.c \ -@@ -559,11 +564,11 @@ xscreensaver-sgigl: xscreensaver-sgigl.c - attraction: attraction.o $(HACK_OBJS) $(COL) $(SPL) - $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS) - --blitspin: blitspin.o $(HACK_OBJS) $(GRAB) $(XPM) -- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(XPM) $(XPM_LIBS) -+blitspin: blitspin.o $(HACK_OBJS) $(GRAB) $(XPM) $(MINIXPM) -+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(XPM) $(MINIXPM) $(XPM_LIBS) - --bubbles: bubbles.o $(HACK_OBJS) bubbles-default.o $(XPM) -- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) bubbles-default.o $(XPM) $(XPM_LIBS) -+bubbles: bubbles.o $(HACK_OBJS) bubbles-default.o $(XPM) $(MINIXPM) -+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) bubbles-default.o $(XPM) $(MINIXPM) $(XPM_LIBS) - - decayscreen: decayscreen.o $(HACK_OBJS) $(GRAB) - $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(HACK_LIBS) -@@ -604,8 +609,8 @@ moire: moire.o $(HACK_OBJS) $(COL) $(S - moire2: moire2.o $(HACK_OBJS) $(COL) $(DBE) - $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(DBE) $(HACK_LIBS) - --noseguy: noseguy.o $(HACK_OBJS) $(XPM) $(TEXT) -- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(XPM) $(TEXT) $(XPM_LIBS) $(TEXT_LIBS) -+noseguy: noseguy.o $(HACK_OBJS) $(XPM) $(TEXT) $(MINIXPM) -+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(XPM) $(TEXT) $(MINIXPM) $(XPM_LIBS) $(TEXT_LIBS) - - pedal: pedal.o $(HACK_OBJS) $(HSV) $(ERASE) - $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HSV) $(ERASE) $(HACK_LIBS) -@@ -658,14 +663,14 @@ interference: interference.o $(HACK_OBJ - truchet: truchet.o $(HACK_OBJS) $(COL) - $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS) - --bsod: bsod.o $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM) -- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM) $(XPM_LIBS) -+bsod: bsod.o $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM) $(MINIXPM) -+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM) $(MINIXPM) $(XPM_LIBS) - - apple2: apple2.o apple2-main.o $(HACK_OBJS) $(ATV) $(GRAB) $(TEXT) - $(CC_HACK) -o $@ $@.o apple2-main.o $(HACK_OBJS) $(ATV) $(GRAB) $(TEXT) $(XPM_LIBS) $(TEXT_LIBS) - --xanalogtv: xanalogtv.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) -- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(XPM_LIBS) $(HACK_LIBS) -+xanalogtv: xanalogtv.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(MINIXPM) -+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(MINIXPM) $(XPM_LIBS) $(HACK_LIBS) - - distort: distort.o $(HACK_OBJS) $(GRAB) $(SHM) - $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(SHM) $(HACK_LIBS) -@@ -688,8 +693,8 @@ compass: compass.o $(HACK_OBJS) $(DBE) - squiral: squiral.o $(HACK_OBJS) $(COL) - $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS) - --xflame: xflame.o $(HACK_OBJS) $(SHM) $(XPM) -- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(SHM) $(XPM) $(XPM_LIBS) -+xflame: xflame.o $(HACK_OBJS) $(SHM) $(XPM) $(MINIXPM) -+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(SHM) $(XPM) $(MINIXPM) $(XPM_LIBS) - - wander: wander.o $(HACK_OBJS) $(COL) $(ERASE) - $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS) -@@ -703,8 +708,8 @@ critical: critical.o $(HACK_OBJS) $(COL) - phosphor: phosphor.o $(HACK_OBJS) $(TEXT) $(COL) - $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(TEXT) $(COL) $(HACK_LIBS) $(TEXT_LIBS) - --xmatrix: xmatrix.o $(HACK_OBJS) $(TEXT) $(XPM) -- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(TEXT) $(XPM) $(XPM_LIBS) $(TEXT_LIBS) -+xmatrix: xmatrix.o $(HACK_OBJS) $(TEXT) $(XPM) $(MINIXPM) -+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(TEXT) $(XPM) $(MINIXPM) $(XPM_LIBS) $(TEXT_LIBS) - - petri: petri.o $(HACK_OBJS) $(COL) $(SPL) - $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS) -@@ -787,8 +792,8 @@ cloudlife: cloudlife.o $(HACK_OBJS) $(CO - fontglide: fontglide.o $(HACK_OBJS) $(DBE) $(TEXT) - $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(DBE) $(TEXT) $(HACK_LIBS) $(TEXT_LIBS) - --pong: pong.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) -- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(XPM_LIBS) $(HACK_LIBS) -+pong: pong.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(MINIXPM) -+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(MINIXPM) $(XPM_LIBS) $(HACK_LIBS) - - wormhole: wormhole.o $(HACK_OBJS) - $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS) -@@ -856,8 +861,8 @@ braid: braid.o $(XLOCK_OBJS) $(ERASE) - drift: drift.o $(XLOCK_OBJS) $(ERASE) - $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS) - --flag: flag.o $(XLOCK_OBJS) $(XPM) -- $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(XPM) $(XPM_LIBS) -+flag: flag.o $(XLOCK_OBJS) $(XPM) $(MINIXPM) -+ $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(XPM) $(MINIXPM) $(XPM_LIBS) - - forest: forest.o $(XLOCK_OBJS) $(ERASE) - $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS) -@@ -959,8 +964,8 @@ thornbird: thornbird.o $(XLOCK_OBJS) - $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS) - - PACOBJS=pacman_ai.o pacman_level.o --pacman: pacman.o $(PACOBJS) $(XLOCK_OBJS) $(XPM) -- $(CC_HACK) -o $@ $@.o $(PACOBJS) $(XLOCK_OBJS) $(XPM) $(XPM_LIBS) -+pacman: pacman.o $(PACOBJS) $(XLOCK_OBJS) $(XPM) $(MINIXPM) -+ $(CC_HACK) -o $@ $@.o $(PACOBJS) $(XLOCK_OBJS) $(XPM) $(MINIXPM) $(XPM_LIBS) - - fiberlamp: fiberlamp.o $(XLOCK_OBJS) - $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS) diff --git a/package/xscreensaver/xscreensaver-0003-driver-fix-linking-with-lintl.patch b/package/xscreensaver/xscreensaver-0003-driver-fix-linking-with-lintl.patch deleted file mode 100644 index 51551c65e7..0000000000 --- a/package/xscreensaver/xscreensaver-0003-driver-fix-linking-with-lintl.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 2336fa7901733a434c38637bf39f3e282e78e1c1 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Wed, 27 Aug 2014 22:44:21 +0200 -Subject: [PATCH 1/1] driver: fix linking with lintl - -The libintl is missing during xscreensaver build if -glib2 was build with gettext. - -xscreensaver.o: In function `main': -undefined reference to `libintl_bindtextdomain' -undefined reference to `libintl_textdomain' - -Backport a patch applied in 5.28 - -Signed-off-by: Romain Naour ---- - driver/Makefile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/driver/Makefile.in b/driver/Makefile.in -index af077ca..ce7055c 100644 ---- a/driver/Makefile.in -+++ b/driver/Makefile.in -@@ -776,7 +776,7 @@ XScreenSaver_Xm_ad.h: XScreenSaver-Xm.ad - # The executables linked in this directory. - # - xscreensaver: $(SAVER_OBJS) -- $(CC) $(LDFLAGS) -o $@ $(SAVER_OBJS) $(SAVER_LIBS) -+ $(CC) $(LDFLAGS) -o $@ $(SAVER_OBJS) $(SAVER_LIBS) $(INTL_LIBS) - - xscreensaver-command: $(CMD_OBJS) - $(CC) $(LDFLAGS) -o $@ $(CMD_OBJS) $(CMD_LIBS) --- -1.9.3 - diff --git a/package/xvkbd/0001-makefile.patch b/package/xvkbd/0001-makefile.patch new file mode 100644 index 0000000000..a8f6577387 --- /dev/null +++ b/package/xvkbd/0001-makefile.patch @@ -0,0 +1,2400 @@ +--- a/Makefile 2008-03-04 06:14:55.425005441 -0500 ++++ b/Makefile 2008-03-05 08:40:50.000000000 -0500 +@@ -0,0 +1,2397 @@ ++# Makefile generated by imake - do not edit! ++# $Xorg: imake.c,v 1.6 2001/02/09 02:03:15 xorgcvs Exp $ ++ ++# ---------------------------------------------------------------------- ++# Makefile generated from "Imake.tmpl" and ++# $Xorg: Imake.tmpl,v 1.4 2000/08/17 19:41:46 cpqbld Exp $ ++# $XdotOrg: util/cf/Imake.tmpl,v 1.17 2006/04/15 15:55:25 herrb Exp $ ++# ++# ++# ++# ++# $XFree86: xc/config/cf/Imake.tmpl,v 3.155 2003/12/24 18:58:41 dickey Exp $ ++# ---------------------------------------------------------------------- ++ ++all:: ++ ++.SUFFIXES: .i ++ ++# $XdotOrg: util/cf/Imake.cf,v 1.12 2005/11/08 06:33:24 jkj Exp $ ++# $Xorg: Imake.cf,v 1.4 2000/08/17 19:41:45 cpqbld Exp $ ++ ++# $XFree86: xc/config/cf/Imake.cf,v 3.88 2003/12/16 21:30:21 herrb Exp $ ++ ++# Keep cpp from replacing path elements containing i486/i586/i686 ++ ++# ----------------------------------------------------------------------- ++# site-specific configuration parameters that need to come before ++# the platform-specific parameters - edit site.def to change ++ ++# site: $TOG: site.sample /main/r64_final/1 1998/02/05 16:28:49 kaleb $ ++ ++# site: $XFree86: xc/config/cf/site.def,v 3.24 2000/06/25 20:17:29 dawes Exp $ ++ ++# $XFree86: xc/config/cf/xf86site.def,v 3.186 2003/06/25 18:06:22 eich Exp $ ++ ++# ---------------------------------------------------------------------- ++# platform-specific configuration parameters - edit linux.cf to change ++ ++# $XdotOrg: util/cf/linux.cf,v 1.31 2005/10/21 19:10:27 ajax Exp $ ++# platform: $Xorg: linux.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $ ++ ++# platform: $XFree86: xc/config/cf/linux.cf,v 3.220 2003/12/30 22:38:33 tsi Exp $ ++ ++# operating system: Linux 2.6.23.8-63.fc8 i686 [ELF] (2.6.23) ++# libc: (6.7.0) ++# binutils: (217) ++ ++# $Xorg: lnxLib.rules,v 1.3 2000/08/17 19:41:47 cpqbld Exp $ ++# $XFree86: xc/config/cf/lnxLib.rules,v 3.52 2003/10/31 20:49:03 herrb Exp $ ++ ++# $XdotOrg: util/cf/xorg.cf,v 1.53 2005/10/03 16:08:44 alanc Exp $ ++ ++# $Xorg: xfree86.cf,v 1.4 2000/08/17 19:41:49 cpqbld Exp $ ++ ++XORG_VERSION_CURRENT = (((6) * 10000000) + ((8) * 100000) + ((99) * 1000) + 903) ++RELEASE_VERSION = RELEASE-1 ++ ++AFB_DEFS = -DUSE_AFB ++ ++DRIVERSDKDIR = $(USRLIBDIR)/Server ++DRIVERSDKMODULEDIR = $(USRLIBDIR)/Server/modules ++DRIVERSDKINCLUDEDIR = $(USRLIBDIR)/Server/include ++ ++ XF86SRC = $(SERVERSRC)/hw/xfree86 ++ XF86COMSRC = $(XF86SRC)/common ++ XF86PARSERSRC = $(XF86SRC)/parser ++ XF86OSSRC = $(XF86SRC)/os-support ++ XF86DRIVERSRC = $(XF86SRC)/drivers ++ DRIVERSRC = $(XF86DRIVERSRC) ++ ++ XFREE86DOCDIR = $(DOCDIR) ++ XFREE86PSDOCDIR = $(DOCPSDIR) ++ XFREE86PDFDOCDIR = $(DOCPDFDIR) ++ XFREE86HTMLDOCDIR = $(DOCHTMLDIR) ++XFREE86JAPANESEDOCDIR = $(DOCDIR)/Japanese ++ ++# $Xorg: xf86.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $ ++ ++# $XFree86: xc/config/cf/xf86.rules,v 3.34tsi Exp $ ++ ++# ---------------------------------------------------------------------- ++# site-specific configuration parameters that go after ++# the platform-specific parameters - edit site.def to change ++ ++# site: $TOG: site.sample /main/r64_final/1 1998/02/05 16:28:49 kaleb $ ++ ++# site: $XFree86: xc/config/cf/site.def,v 3.24 2000/06/25 20:17:29 dawes Exp $ ++ ++# --------------------------------------------------------------------- ++# Imake rules for building libraries, programs, scripts, and data files ++# rules: $Xorg: Imake.rules,v 1.3 2000/08/17 19:41:46 cpqbld Exp $ ++# rules: $XdotOrg: util/cf/Imake.rules,v 1.11 2005/11/08 06:33:24 jkj Exp $ ++# ++# ++# ++# ++# rules: $XFree86: xc/config/cf/Imake.rules,v 3.128 2003/11/15 03:25:17 dawes Exp $ ++ ++.PHONY: all interfaces install install.man install.lib install.sdk depend includes cleandir ++ ++ _NULLCMD_ = @ echo -n ++ ++X_BYTE_ORDER = X_LITTLE_ENDIAN ++ ++GLIDE2INCDIR = ++ ++GLIDE3INCDIR = ++ ++GLIDE3LIBNAME = ++ ++TKLIBNAME = ++ ++TKLIBDIR = ++ ++TCLLIBNAME = ++ ++TCLIBDIR = ++ ++ PATHSEP = / ++ SHELL = /bin/sh -e ++ ++ TOP = . ++ CURRENT_DIR = . ++ ++ IMAKE = imake ++ DEPEND = gccmakedep ++ MKDIRHIER = mkdir -p ++ REVPATH = revpath ++ EXPORTLISTGEN = ++ RMAN = RmanCmd ++ RMANBASENAME = rman ++ RMANOPTIONS = RmanOptions ++ CONFIGSRC = $(TOP)/config ++ IMAKESRC = $(CONFIGSRC)/imake ++ DEPENDSRC = $(CONFIGSRC)/util ++ ++ INCROOT = /usr/include ++ USRLIBDIR = /usr/lib ++ VARDIR = /var ++ VARLIBDIR = $(VARDIR)/lib ++ SYSTEMUSRLIBDIR = /usr/lib ++ SYSTEMUSRINCDIR = /usr/include ++ SHLIBDIR = /usr/lib ++ LINTLIBDIR = $(USRLIBDIR)/lint ++ MANPATH = /usr/share/man ++ MANSOURCEPATH = $(MANPATH)/man ++ MANDIR = $(MANSOURCEPATH)1 ++ LIBMANDIR = $(MANSOURCEPATH)3 ++ FILEMANDIR = $(MANSOURCEPATH)5 ++ MISCMANDIR = $(MANSOURCEPATH)$(MISCMANSUFFIX) ++ DRIVERMANDIR = $(MANSOURCEPATH)$(DRIVERMANSUFFIX) ++ LOGDIRECTORY = $(VARDIR)/log ++ ++ VARRUNDIR = $(VARDIR)/run ++ ++ VARDBDIR = $(VARDIR)/lib ++ ++ AR = ar clq ++ ++# Nice try but useless: make will inherit BOOTSTRAPCFLAGS ++# from top Makefile ++ BOOTSTRAPCFLAGS = ++ ++ CC = gcc -m32 ++ AS = gcc -m32 -c -x assembler ++ ++.SUFFIXES: .cc ++ ++ CXX = c++ -m32 ++ ++ CXXFILT = c++filt ++ ++ CXXLIB = -lstdc++ ++ ++ CXXDEBUGFLAGS = -O2 -fno-strength-reduce -fno-strict-aliasing ++CXXDEPENDINCLUDES = ++ CXXEXTRA_DEFINES = ++CXXEXTRA_INCLUDES = ++ CXXSTD_DEFINES = -Dlinux -D__i386__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(CXXPROJECT_DEFINES) ++ CXXOPTIONS = ++ CXXINCLUDES = $(INCLUDES) $(TOP_INCLUDES) $(CXXEXTRA_INCLUDES) ++ CXXDEFINES = $(CXXINCLUDES) $(CXXSTD_DEFINES) $(THREADS_CXXDEFINES) $(DEFINES) $(CXXEXTRA_DEFINES) ++ CXXFLAGS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(THREADS_CXXFLAGS) $(CXXDEFINES) ++ ++ COMPRESS = compress ++ GZIPCMD = gzip ++ ++ CPP = cpp $(STD_CPP_DEFINES) ++ RAWCPP = cpp -undef $(STD_CPP_OPTIONS) ++ PREPROCESSCMD = gcc -m32 -E $(STD_CPP_DEFINES) ++ ++ INSTALL = install ++ INSTALLFLAGS = -c ++ ++ LD = gcc -m32 -nostdlib ++ ++ LEX = flex -l ++ M4 = m4 ++ M4FLAGS = ++ LEXLIB = -lfl ++ YACC = bison -y ++ CCYACC = bison -y ++ ++ LINT = lint ++ ++ LINTLIBFLAG = -C ++ LINTOPTS = -axz ++ LN = ln -s ++ MAKE = make ++ MV = mv -f ++ CP = cp ++ ++ RANLIB = ranlib ++ ++ RANLIBINSTFLAGS = ++ ++ RM = rm -f ++ PERL = perl ++ PERLOPTS = ++ PERLENVSETUP = env LC_ALL=C ++ MANSUFFIX = 1x ++ LIBMANSUFFIX = 3x ++ FILEMANSUFFIX = 5x ++ MISCMANSUFFIX = 7 ++ DRIVERMANSUFFIX = 4 ++ ADMINMANSUFFIX = 8 ++ MANSRCSUFFIX = man ++ MANNEWSUFFIX = _man ++ MANDEFS = -D__apploaddir__=$(XAPPLOADDIR) -D__appmansuffix__=$(MANSUFFIX) -D__filemansuffix__=$(FILEMANSUFFIX) -D__libmansuffix__=$(LIBMANSUFFIX) -D__miscmansuffix__=$(MISCMANSUFFIX) -D__drivermansuffix__=$(DRIVERMANSUFFIX) -D__adminmansuffix__=$(ADMINMANSUFFIX) -D__projectroot__=$(PROJECTROOT) -D__xconfigfile__=$(XCONFIGFILE) -D__xconfigdir__=$(XCONFIGDIR) -D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME) $(XORGMANDEFS) $(VENDORMANDEFS) ++ ++ COMPRESSMANCMD = gzip -n ++ ++ TROFF = groff -Tps ++ NROFF = nroff ++ ++ MSMACROS = -ms ++ MANMACROS = -man ++ TBL = tbl ++ EQN = eqn ++ NEQN = neqn ++ COL = col ++ COLFLAGS = -b ++ ++ MODCC = gcc -m32 ++ ++ MODCPP = cpp ++ MODCFLAGS = $(CFLAGS) ++ MODAS = gcc -m32 -c -x assembler ++ MODASFLAGS = ++ ++ MODLD = gcc -m32 -nostdlib ++ ++ MODLDFLAGS = ++MODLDCOMBINEFLAGS = -r ++ MODAR = ar clq ++ ++ MODRANLIB = ranlib ++ ++ STD_INCLUDES = ++ STD_CPP_OPTIONS = -traditional ++ STD_CPP_DEFINES = -traditional -Dlinux -D__i386__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(PROJECT_DEFINES) ++ STD_DEFINES = -Dlinux -D__i386__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(PROJECT_DEFINES) ++ EXTRA_LOAD_FLAGS = ++ EXTRA_LDOPTIONS = ++ EXTRA_LIBRARIES = ++ TAGS = ctags ++ ++ PARALLELMFLAGS = ++ ++ SHAREDCODEDEF = ++ SHLIBDEF = ++ ++ SHLIBLDFLAGS = -shared $(SHLIBGLOBALSFLAGS) ++ ++ NOSTDLIB = -nostdlib ++ POSTNOSTDLIB = -Wl,-Bstatic -lgcc -Wl,-Bdynamic ++ ++ PICFLAGS = -fPIC ++ ++ CXXPICFLAGS = -fPIC ++ ++ PROTO_DEFINES = -DFUNCPROTO=15 -DNARROWPROTO ++ ++ INSTPGMFLAGS = ++ ++ INSTBINFLAGS = -m 0755 ++ INSTUIDFLAGS = -m 4711 ++ INSTLIBFLAGS = -m 0644 ++ INSTINCFLAGS = -m 0444 ++ INSTMANFLAGS = -m 0444 ++ INSTDATFLAGS = -m 0444 ++ INSTKMEMFLAGS = -m 4711 ++ ++ PROJECTROOT = /usr ++ ++ CDEBUGFLAGS = -O2 -fno-strength-reduce -fno-strict-aliasing ++ CCOPTIONS = ++ ++ ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(INSTALLED_INCLUDES) $(STD_INCLUDES) ++ ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(MODULE_DEFINES) $(DEFINES) $(EXTRA_DEFINES) ++ CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(MODULE_CFLAGS) $(ALLDEFINES) ++ LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) $(DEPEND_DEFINES) ++ LDPRELIB = -L$(USRLIBDIR) $(INSTALLED_LIBS) ++ LDPOSTLIB = ++ LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_LDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS) ++ CXXLDOPTIONS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_CXXLDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS) ++ ++ LDLIBS = $(LDPOSTLIBS) $(THREADS_LIBS) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES) ++ ++ CCLINK = $(CC) ++ ++ CXXLINK = $(CXX) ++ ++ LDSTRIPFLAGS = -x ++ LDCOMBINEFLAGS = -r ++ DEPENDFLAGS = ++ DEPEND_DEFINES = ++ ++# Not sure this belongs here ++ TKLIBDIR = ++ TKINCDIR = ++ TKLIBNAME = ++ TKLIBRARY = -L$(TKLIBDIR) -l$(TKLIBNAME) ++ TCLLIBDIR = ++ TCLINCDIR = ++ TCLLIBNAME = ++ TCLLIBRARY = -L$(TCLLIBDIR) -l$(TCLLIBNAME) ++ ++ MACROFILE = linux.cf ++ RM_CMD = $(RM) ++ ++ IMAKE_DEFINES = ++ IMAKE_WARNINGS = -Wundef ++ ++ IRULESRC = $(CONFIGDIR) ++ IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES) $(IMAKE_WARNINGS) ++ ++ ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/X11.tmpl $(IRULESRC)/site.def $(IRULESRC)/$(MACROFILE) $(IRULESRC)/xfree86.cf $(IRULESRC)/xf86.rules $(IRULESRC)/xorgsite.def $(IRULESRC)/host.def $(EXTRA_ICONFIGFILES) ++ ++# $Xorg: X11.rules,v 1.4 2000/08/17 19:41:46 cpqbld Exp $ ++ ++# $XFree86: xc/config/cf/X11.rules,v 1.6 2001/01/17 16:22:31 dawes Exp $ ++ ++# ---------------------------------------------------------------------- ++# X Window System Build Parameters and Rules ++# $XdotOrg: util/cf/X11.tmpl,v 1.54 2006/04/15 15:55:25 herrb Exp $ ++# $Xorg: X11.tmpl,v 1.6 2000/08/17 19:41:46 cpqbld Exp $ ++# ++# ++# ++# ++# $XFree86: xc/config/cf/X11.tmpl,v 1.248 2004/02/16 04:07:37 dawes Exp $ ++ ++XORGRELSTRING = `echo 6 8 99 903 | sed -e 's/ /./g' -e 's/^/Version\\\ /'` ++ XORGMANNAME = X Version 11 ++ ++STICKY_DEFINES = -DHAS_STICKY_DIR_BIT ++ ++FCHOWN_DEFINES = -DHAS_FCHOWN ++ ++# ----------------------------------------------------------------------- ++# X Window System make variables; these need to be coordinated with rules ++ ++ XTOP = $(TOP) ++ BINDIR = /usr/bin ++ BUILDINCROOT = $(TOP)/exports ++ BUILDINCDIR = $(BUILDINCROOT)/include ++ BUILDINCTOP = ../.. ++ BUILDLIBDIR = $(TOP)/exports/lib ++ BUILDLIBTOP = ../.. ++ BUILDBINDIR = $(TOP)/exports/bin ++ BUILDBINTOP = ../.. ++ BUILDMODULEDIR = $(BUILDLIBDIR)/modules ++ BUILDI18NDIR = $(BUILDLIBDIR)/locale ++ BUILDMODULETOP = $(BUILDLIBTOP)/.. ++ XBUILDINCROOT = $(XTOP)/exports ++ XBUILDINCDIR = $(XBUILDINCROOT)/include/X11 ++ XBUILDINCTOP = ../../.. ++ XBUILDBINDIR = $(XBUILDINCROOT)/bin ++ INCDIR = $(INCROOT) ++ ADMDIR = /usr/adm ++ LIBDIR = /usr/lib/X11 ++ SHAREDIR = /usr/share/X11 ++ LIBEXECDIR = /usr/libexec ++ MODULEDIR = $(USRLIBDIR)/modules ++ TOP_X_INCLUDES = ++ XBINDIR = $(PROJECTROOT)/bin ++ ++ INSTSRCDIR = /usr/src ++ ++ ETCX11DIR = /etc/X11 ++ ++ CONFDIR = $(ETCX11DIR) ++ ++ DOCDIR = $(LIBDIR)/doc ++ DOCHTMLDIR = $(DOCDIR)/html ++ DOCPSDIR = $(DOCDIR)/PostScript ++ DOCPDFDIR = $(DOCDIR)/PDF ++ FONTDIR = $(LIBDIR)/fonts ++ ENCODINGSDIR = $(LIBDIR)/fonts/encodings ++ XINITDIR = $(LIBDIR)/xinit ++ XDMDIR = $(LIBDIR)/xdm ++ XDMVARDIR = $(VARLIBDIR)/xdm ++ TWMDIR = $(LIBDIR)/twm ++ XSMDIR = $(LIBDIR)/xsm ++ NLSDIR = $(LIBDIR)/nls ++ XLOCALEDIR = $(LIBDIR)/locale ++ LBXPROXYDIR = $(LIBDIR)/lbxproxy ++ PROXYMANAGERDIR = $(LIBDIR)/proxymngr ++ XPRINTDIR = $(LIBDIR)/xserver ++ XAPPLOADDIR = /usr/share/X11/app-defaults ++ FONTCFLAGS = -t ++ ++ INSTAPPFLAGS = $(INSTDATFLAGS) ++ ++ RGB = $(XBINDIR)/rgb ++ FONTC = $(XBINDIR)/bdftopcf ++ MKFONTSCALE = $(XBINDIR)/mkfontscale ++ MKFONTDIR = $(XBINDIR)/mkfontdir ++ MKHTMLINDEX = $(XBINDIR)/mkhtmlindex ++ UCS2ANY = $(XBINDIR)/ucs2any ++ BDFTRUNCATE = $(XBINDIR)/bdftruncate ++ UCSMAPPREFIX = $(FONTDIR)/util/map- ++ XCURSORGEN = $(XBINDIR)/xcursorgen ++ ++ HTMLINDEXCMD = HtmlIndexCmd ++ ++ DOCUTILSRC = $(XTOP)/doc/util ++ CLIENTSRC = $(TOP)/clients ++ DEMOSRC = $(TOP)/demos ++ XDOCMACROS = $(DOCUTILSRC)/macros.t ++ XIDXMACROS = $(DOCUTILSRC)/indexmacros.t ++ PROGRAMSRC = $(TOP)/programs ++ LIBSRC = $(XTOP)/lib ++ FONTSRC = $(XTOP)/fonts ++ ENCODINGSSRC = $(FONTSRC)/encodings ++ INCLUDESRC = $(BUILDINCROOT)/include ++ XINCLUDESRC = $(INCLUDESRC)/X11 ++ SERVERSRC = $(XTOP)/programs/Xserver ++ CONTRIBSRC = $(XTOP)/../contrib ++ UNSUPPORTEDSRC = $(XTOP)/unsupported ++ DOCSRC = $(XTOP)/doc ++ RGBSRC = $(XTOP)/programs/rgb ++ BDFTOPCFSRC = $(PROGRAMSRC)/bdftopcf ++ MKFONTDIRSRC = $(PROGRAMSRC)/mkfontdir ++ FONTSERVERSRC = $(PROGRAMSRC)/xfs ++ FONTINCSRC = $(XTOP)/include/fonts ++ EXTINCSRC = $(XTOP)/include/extensions ++ FTSOURCEDIR = FreeTypeSrcDir ++ DRMSRCDIR = $(TOP)/extras/drm ++ MESASRCDIR = $(TOP)/extras/Mesa ++ OGLSAMPLESRCDIR = $(TOP)/extras/ogl-sample ++ PSWRAPSRC = $(XTOP)/config/pswrap ++ TRANSCOMMSRC = $(LIBSRC)/xtrans ++ TRANS_INCLUDES = -I$(TRANSCOMMSRC) ++ CONNECTION_FLAGS = -DUNIXCONN -DTCPCONN $(STICKY_DEFINES) $(FCHOWN_DEFINES) -DIPv6 ++XTRANS_FAILDEFINES = -DFAIL_HARD ++ ++ VENDORMANNAME = X.Org ++ VENDORMANVERSION = `echo 6 8 99 903 | sed -e 's/ /./g' -e 's/^/Version\\\ /'` ++ XORGMANDEFS = -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" ++ VENDORMANDEFS = -D__vendorversion__="$(VENDORMANVERSION) $(VENDORMANNAME)" ++ VENDORNAME = The X.Org Foundation ++ VENDORNAMESHORT = X.Org ++ ++ VENDORWEBSUPPORT = http://wiki.X.Org ++ ++VENDORSUPPORTDEFS = -D__VENDORDWEBSUPPORT__='"$(VENDORWEBSUPPORT)"' ++ ++ XKBDEFRULES = xorg ++ XKBDEFRULESDEFS = -D__XKBDEFRULES__='"$(XKBDEFRULES)"' ++ ++ XCONFIGFILE = xorg.conf ++ XCONFIGDIR = $(LIBDIR) ++ XLOGFILE = Xorg ++ XSERVERNAME = Xorg ++ ++ XENVLIBDIR = $(USRLIBDIR) ++ CLIENTENVSETUP = LD_LIBRARY_PATH=$(XENVLIBDIR) XLOCALEDIR=$(BUILDLIBDIR)/locale ++ ++# $Xorg: lnxLib.tmpl,v 1.3 2000/08/17 19:41:47 cpqbld Exp $ ++# $XFree86: xc/config/cf/lnxLib.tmpl,v 3.19 2003/10/15 22:47:48 herrb Exp $ ++ ++ XLIBSRC = $(LIBSRC)/X11 ++ ++SOXLIBREV = 6.2 ++DEPXONLYLIB = ++XONLYLIB = -lX11 ++ ++LINTXONLY = $(LINTLIBDIR)/llib-lX11.ln ++ ++ DEPXLIBONLY = $(DEPXONLYLIB) ++ XLIBONLY = $(XONLYLIB) ++ LINTXONLYLIB = $(LINTXONLY) ++ ++ XEXTLIBSRC = $(LIBSRC)/Xext ++ ++SOXEXTREV = 6.4 ++DEPEXTENSIONLIB = ++EXTENSIONLIB = -lXext ++ ++LINTEXTENSION = $(LINTLIBDIR)/llib-lXext.ln ++ ++LINTEXTENSIONLIB = $(LINTEXTENSION) ++ DEPXLIB = $(DEPEXTENSIONLIB) $(DEPXONLYLIB) ++ XLIB = $(EXTENSIONLIB) $(XONLYLIB) ++ LINTXLIB = $(LINTXONLYLIB) ++ ++ XSSLIBSRC = $(LIBSRC)/Xss ++ ++SOXSSREV = 1.0 ++DEPXSSLIB = ++XSSLIB = -lXss ++ ++LINTXSS = $(LINTLIBDIR)/llib-lXss.ln ++ ++ XXF86MISCLIBSRC = $(LIBSRC)/Xxf86misc ++ ++SOXXF86MISCREV = 1.1 ++DEPXXF86MISCLIB = ++XXF86MISCLIB = -lXxf86misc ++ ++LINTXXF86MISC = $(LINTLIBDIR)/llib-lXxf86misc.ln ++ ++ XXF86VMLIBSRC = $(LIBSRC)/Xxf86vm ++ ++SOXXF86VMREV = 1.0 ++DEPXXF86VMLIB = ++XXF86VMLIB = -lXxf86vm ++ ++LINTXXF86VM = $(LINTLIBDIR)/llib-lXxf86vm.ln ++ ++ XXF86DGALIBSRC = $(LIBSRC)/Xxf86dga ++ ++SOXXF86DGAREV = 1.0 ++DEPXXF86DGALIB = ++XXF86DGALIB = -lXxf86dga ++ ++LINTXXF86DGA = $(LINTLIBDIR)/llib-lXxf86dga.ln ++ ++ XXF86RUSHLIBSRC = $(LIBSRC)/Xxf86rush ++ ++SOXXF86RUSHREV = 1.0 ++DEPXXF86RUSHLIB = ++XXF86RUSHLIB = -lXxf86rush ++ ++LINTXXF86RUSH = $(LINTLIBDIR)/llib-lXxf86rush.ln ++ ++ XVLIBSRC = $(LIBSRC)/Xv ++ ++SOXVREV = 1.0 ++DEPXVLIB = ++XVLIB = -lXv ++ ++LINTXV = $(LINTLIBDIR)/llib-lXv.ln ++ ++ XVMCLIBSRC = $(LIBSRC)/XvMC ++ ++SOXVMCREV = 1.0 ++DEPXVMCLIB = ++XVMCLIB = -lXvMC ++ ++LINTXVMC = $(LINTLIBDIR)/llib-lXvMC.ln ++ ++ XINERAMALIBSRC = $(LIBSRC)/Xinerama ++ ++SOXINERAMAREV = 1.0 ++DEPXINERAMALIB = ++XINERAMALIB = -lXinerama ++ ++LINTXINERAMA = $(LINTLIBDIR)/llib-lXinerama.ln ++ ++ XRESLIBSRC = $(LIBSRC)/XRes ++ ++SOXRESREV = 1.0 ++DEPXRESLIB = ++XRESLIB = -lXRes ++ ++LINTXRES = $(LINTLIBDIR)/llib-lXRes.ln ++ ++ DMXLIBSRC = $(LIBSRC)/dmx ++ ++DEPDMXLIB = $(USRLIBDIR)/libdmx.a ++DMXLIB = -ldmx ++ ++LINTDMX = $(LINTLIBDIR)/llib-ldmx.ln ++ ++ DPSLIBSRC = $(LIBSRC)/dps ++ ++DEPDPSLIB = $(USRLIBDIR)/libdps.a ++DPSLIB = -ldps ++ ++LINTDPS = $(LINTLIBDIR)/llib-ldps.ln ++ ++ DPSTKLIBSRC = $(LIBSRC)/dpstk ++ ++DEPDPSTKLIB = $(USRLIBDIR)/libdpstk.a ++DPSTKLIB = -ldpstk ++ ++LINTDPSTK = $(LINTLIBDIR)/llib-ldpstk.ln ++ ++ PSRESLIBSRC = $(LIBSRC)/psres ++ ++DEPPSRESLIB = $(USRLIBDIR)/libpsres.a ++PSRESLIB = -lpsres ++ ++LINTPSRES = $(LINTLIBDIR)/llib-lpsres.ln ++ ++ GLULIBSRC = $(LIBSRC)/GLU ++ ++SOGLUREV = 1.3 ++DEPGLULIB = ++GLULIB = -lGLU ++ ++LINTGLU = $(LINTLIBDIR)/llib-lGLU.ln ++ ++ GLXLIBSRC = $(LIBSRC)/GL ++ ++SOGLREV = 1.2 ++DEPGLXLIB = ++GLXLIB = -lGL ++ ++LINTGLX = $(LINTLIBDIR)/llib-lGL.ln ++ ++ GLWIDGETSRC = $(LIBSRC)/GLw ++ ++SOGLWREV = 1.0 ++DEPGLWLIB = ++GLWLIB = -lGLw ++ ++LINTGLW = $(LINTLIBDIR)/llib-lGLw.ln ++ ++ XRENDERLIBSRC = $(LIBSRC)/Xrender ++ ++SOXRENDERREV = 1.2.2 ++DEPXRENDERLIB = ++XRENDERLIB = -lXrender ++ ++LINTXRENDER = $(LINTLIBDIR)/llib-lXrender.ln ++ ++ XRANDRLIBSRC = $(LIBSRC)/Xrandr ++ ++SOXRANDRREV = 2.0 ++DEPXRANDRLIB = ++XRANDRLIB = -lXrandr ++ ++LINTXRANDR = $(LINTLIBDIR)/llib-lXrandr.ln ++ ++ XFIXESLIBSRC = $(LIBSRC)/Xfixes ++ ++SOXFIXESREV = 3.0 ++DEPXFIXESLIB = ++XFIXESLIB = -lXfixes ++ ++LINTXFIXES = $(LINTLIBDIR)/llib-lXfixes.ln ++ ++ XDAMAGELIBSRC = $(LIBSRC)/Xdamage ++ ++SOXDAMAGEREV = 1.0 ++DEPXDAMAGELIB = ++XDAMAGELIB = -lXdamage ++ ++LINTXDAMAGE = $(LINTLIBDIR)/llib-lXdamage.ln ++ ++XCOMPOSITELIBSRC = $(LIBSRC)/Xcomposite ++ ++SOXCOMPOSITEREV = 1.0 ++DEPXCOMPOSITELIB = ++XCOMPOSITELIB = -lXcomposite ++ ++LINTXCOMPOSITE = $(LINTLIBDIR)/llib-lXcomposite.ln ++ ++XEVIELIBSRC = $(LIBSRC)/Xevie ++ ++SOXEVIEREV = 1.0 ++DEPXEVIELIB = ++XEVIELIB = -lXevie ++ ++LINTXEVIE = $(LINTLIBDIR)/llib-lXevie.ln ++ ++ XCURSORLIBSRC = $(LIBSRC)/Xcursor ++ ++SOXCURSORREV = 1.0.2 ++DEPXCURSORLIB = ++XCURSORLIB = -lXcursor ++ ++LINTXCURSOR = $(LINTLIBDIR)/llib-lXcursor.ln ++ ++ APPLEWMLIBSRC = $(LIBSRC)/apple ++ ++DEPAPPLEWMLIB = $(USRLIBDIR)/libAppleWM.a ++APPLEWMLIB = -lAppleWM ++ ++LINTAPPLEWM = $(LINTLIBDIR)/llib-lAppleWM.ln ++ ++ WINDOWSWMLIBSRC = $(LIBSRC)/windows ++ ++DEPWINDOWSWMLIB = $(USRLIBDIR)/libWindowsWM.a ++WINDOWSWMLIB = -lWindowsWM ++ ++LINTWINDOWSWM = $(LINTLIBDIR)/llib-lWindowsWM.ln ++ ++ XFONTCACHELIBSRC = $(LIBSRC)/Xfontcache ++ ++SOXFONTCACHEREV = 1.2 ++DEPXFONTCACHELIB = ++XFONTCACHELIB = -lXfontcache ++ ++LINTXFONTCACHE = $(LINTLIBDIR)/llib-lXfontcache.ln ++ ++ XAUTHSRC = $(LIBSRC)/Xau ++ ++SOXAUTHREV = 6.0 ++DEPXAUTHLIB = ++XAUTHLIB = -lXau ++ ++LINTXAUTH = $(LINTLIBDIR)/llib-lXau.ln ++ ++ XDMCPLIBSRC = $(LIBSRC)/Xdmcp ++ ++SOXDMCPREV = 6.0 ++DEPXDMCPLIB = ++XDMCPLIB = -lXdmcp ++ ++LINTXDMCP = $(LINTLIBDIR)/llib-lXdmcp.ln ++ ++ XMUSRC = $(LIBSRC)/Xmu ++ ++SOXMUREV = 6.2 ++DEPXMULIB = ++XMULIB = -lXmu ++ ++LINTXMU = $(LINTLIBDIR)/llib-lXmu.ln ++ ++ XMUUSRC = $(LIBSRC)/Xmuu ++ ++SOXMUUREV = 1.0 ++DEPXMUULIB = ++XMUULIB = -lXmuu ++ ++LINTXMUU = $(LINTLIBDIR)/llib-lXmuu.ln ++ ++ OLDXLIBSRC = $(LIBSRC)/oldX ++ ++DEPOLDXLIB = $(USRLIBDIR)/liboldX.a ++OLDXLIB = -loldX ++ ++LINTOLDX = $(LINTLIBDIR)/llib-loldX.ln ++ ++ XPLIBSRC = $(LIBSRC)/Xp ++ ++SOXPREV = 6.2 ++DEPXPLIB = ++XPLIB = -lXp ++ ++LINTXP = $(LINTLIBDIR)/llib-lXp.ln ++ ++ TOOLKITSRC = $(LIBSRC)/Xt ++ ++SOXTREV = 6.0 ++DEPXTOOLONLYLIB = ++XTOOLONLYLIB = -lXt ++ ++LINTXTOOLONLY = $(LINTLIBDIR)/llib-lXt.ln ++ ++ DEPXTOOLLIB = $(DEPXTOOLONLYLIB) $(DEPSMLIB) $(DEPICELIB) ++ XTOOLLIB = $(XTOOLONLYLIB) $(SMLIB) $(ICELIB) ++ LINTXTOOLLIB = $(LINTXTOOLONLYLIB) ++ ++ XALIBSRC = $(LIBSRC)/Xa ++ ++SOXAREV = 1.0 ++DEPXALIB = ++XALIB = -lXa ++ ++LINTXA = $(LINTLIBDIR)/llib-lXa.ln ++ ++ AWIDGETSRC = $(LIBSRC)/Xaw ++ ++SOXAWREV = 8.0 ++DEPXAWLIB = ++XAWLIB = -lXaw ++ ++LINTXAW = $(LINTLIBDIR)/llib-lXaw.ln ++ ++ AWIDGET7SRC = $(LIBSRC)/Xaw7 ++ ++SOXAW7REV = 7.0 ++DEPXAW7LIB = ++XAW7LIB = -lXaw ++ ++LINTXAW7 = $(LINTLIBDIR)/llib-lXaw.ln ++ ++ AWIDGET6SRC = $(LIBSRC)/Xaw6 ++ ++SOXAW6REV = 6.1 ++DEPXAW6LIB = ++XAW6LIB = -lXaw ++ ++LINTXAW6 = $(LINTLIBDIR)/llib-lXaw.ln ++ ++ XILIBSRC = $(LIBSRC)/Xi ++ ++SOXINPUTREV = 6.0 ++DEPXILIB = ++XILIB = -lXi ++ ++LINTXI = $(LINTLIBDIR)/llib-lXi.ln ++ ++ XTESTLIBSRC = $(LIBSRC)/Xtst ++ ++SOXTESTREV = 6.1 ++DEPXTESTLIB = ++XTESTLIB = -lXtst ++ ++LINTXTEST = $(LINTLIBDIR)/llib-lXtst.ln ++ ++DEPXBSDLIB = $(USRLIBDIR)/libXbsd.a ++XBSDLIB = -lXbsd ++ ++LINTXBSD = $(LINTLIBDIR)/llib-lXbsd.ln ++ ++ ICESRC = $(LIBSRC)/ICE ++ ++SOICEREV = 6.4 ++DEPICELIB = ++ICELIB = -lICE ++ ++LINTICE = $(LINTLIBDIR)/llib-lICE.ln ++ ++ SMSRC = $(LIBSRC)/SM ++ ++SOSMREV = 6.0 ++DEPSMLIB = ++SMLIB = -lSM ++ ++LINTSM = $(LINTLIBDIR)/llib-lSM.ln ++ ++ XKEYSRC = $(LIBSRC)/Xkey ++ ++SOXKEYREV = 6.0 ++DEPXKEYLIB = ++XKEYLIB = -lXkey ++ ++LINTXKEY = $(LINTLIBDIR)/llib-lXkey.ln ++ ++ FSLIBSRC = $(LIBSRC)/FS ++ ++SOFSREV = 6.0 ++DEPFSLIB = ++FSLIB = -lFS ++ ++LINTFS = $(LINTLIBDIR)/llib-lFS.ln ++ ++ FONTLIBSRC = $(LIBSRC)/font ++ ++SOFONTREV = 1.5 ++DEPFONTLIB = ++FONTLIB = -L$(FREETYPELIBDIR) -L$(FONTLIBSRC) -lXfont ++ ++LINTXFONT = $(LINTLIBDIR)/llib-lXfont.ln ++# ++SOFONTREV = 1.5 ++DEPXFONTLIB = ++XFONTLIB = -lXfont ++ ++LINTXFONT = $(LINTLIBDIR)/llib-lXfont.ln ++ ++ FONTSTUBLIBSRC = $(FONTLIBSRC)/stubs ++ ++DEPFONTSTUBLIB = $(USRLIBDIR)/libfntstubs.a ++FONTSTUBLIB = -lfntstubs ++ ++LINTFONTSTUB = $(LINTLIBDIR)/llib-lfntstubs.ln ++ DEPFONTLIB = $(DEPXFONTLIB) $(DEPFONTSTUBLIB) ++ FONTLIB = $(XFONTLIB) $(FONTSTUBLIB) $(FREETYPE2LIB) ++ ++ FONTENCLIBSRC = $(LIBSRC)/fontenc ++ ++SOFONTENCREV = 1.0 ++DEPXFONTENCLIB = ++XFONTENCLIB = -lfontenc ++ ++LINTXFONTENC = $(LINTLIBDIR)/llib-lfontenc.ln ++ ++ XPMLIBSRC = $(LIBSRC)/Xpm ++ ++SOXPMREV = 4.11 ++DEPXPMLIB = ++XPMLIB = -lXpm ++ ++LINTXPM = $(LINTLIBDIR)/llib-lXpm.ln ++ ++FREETYPE2DIR = /usr ++FREETYPE2LIBDIR = /usr/lib ++FREETYPE2INCDIR = /usr/include ++ ++FREETYPE2LIB = -lfreetype ++ ++FREETYPE2INCLUDES = -I$(FREETYPE2INCDIR)/freetype2 -I$(FREETYPE2INCDIR)/freetype2/config ++ ++FREETYPE2DEFINES = -DFREETYPE2 ++ ++ EXPATLIBSRC = $(LIBSRC)/expat ++ ++SOEXPATREV = 0.4 ++DEPEXPATLIB = ++EXPATLIB = -lexpat ++ ++LINTEXPAT = $(LINTLIBDIR)/llib-lexpat.ln ++ ++EXPATDIR = /usr ++EXPATLIBDIR = /usr/lib ++EXPATINCDIR = /usr/include ++ ++EXPATINCLUDES = ++ ++EXPATLIB = -lexpat ++ ++EXPATDEFINES = -DEXPAT ++ ++ XFT1LIBSRC = $(LIBSRC)/Xft1 ++ ++SOXFT1REV = 1.1 ++DEPXFT1LIB = ++XFT1LIB = -lXft ++ ++LINTXFT1 = $(LINTLIBDIR)/llib-lXft.ln ++ ++ XFTLIBSRC = $(LIBSRC)/Xft ++ ++SOXFTREV = 2.1.2 ++DEPXFTLIB = ++XFTLIB = -lXft ++ ++LINTXFT = $(LINTLIBDIR)/llib-lXft.ln ++ ++ FONTCONFIGLIBSRC = $(LIBSRC)/fontconfig ++ ++SOFONTCONFIGREV = 1.0.4 ++DEPFONTCONFIGLIB = ++FONTCONFIGLIB = -lfontconfig ++ ++LINTFONTCONFIG = $(LINTLIBDIR)/llib-lfontconfig.ln ++ ++FONTCONFIGINCDIR=$(INCDIR) ++ ++FONTCONFIGINCLUDES = -I$(FONTCONFIGINCDIR) ++ ++FCCACHE = $(BINDIR)/fc-cache ++ ++FONTCONFIGDEFINES = -DFONTCONFIG ++ ++XFTINCLUDES=$(FONTCONFIGINCLUDES) $(FREETYPE2INCLUDES) ++ ++LIBPNGINCDIR = /usr/include ++ ++LIBPNGINC= ++ ++LIBPNGDIR = /usr ++LIBPNGLIBDIR = /usr/lib ++LIBPNGINCDIR = /usr/include ++ ++LIBPNGLIB = -lpng ++ ++ XKBFILELIBSRC = $(LIBSRC)/xkbfile ++ ++SOXKBFILEREV = 1.0 ++DEPXKBFILELIB = ++XKBFILELIB = -lxkbfile ++ ++LINTXKBFILE = $(LINTLIBDIR)/llib-lxkbfile.ln ++ ++ XKBCOMPCMD = $(XBINDIR)/xkbcomp ++ ++ XKBUILIBSRC = $(LIBSRC)/xkbui ++ ++SOXKBUIREV = 1.0 ++DEPXKBUILIB = ++XKBUILIB = -lxkbui ++ ++LINTXKBUI = $(LINTLIBDIR)/llib-lxkbui.ln ++ ++EXTRAXAWREQS = ++ ++EXTRAXAWCLIENTDEPLIBS = ++ ++EXTRAXAWCLIENTLIBS = ++ ++ XTRAPLIBSRC = $(LIBSRC)/XTrap ++ ++SOXTRAPREV = 6.4 ++DEPXTRAPLIB = ++XTRAPLIB = -lXTrap ++ ++LINTXTRAP = $(LINTLIBDIR)/llib-lXTrap.ln ++ ++ DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB) ++ ++ DEPLIBS1 = $(DEPLIBS) ++ DEPLIBS2 = $(DEPLIBS) ++ DEPLIBS3 = $(DEPLIBS) ++ DEPLIBS4 = $(DEPLIBS) ++ DEPLIBS5 = $(DEPLIBS) ++ DEPLIBS6 = $(DEPLIBS) ++ DEPLIBS7 = $(DEPLIBS) ++ DEPLIBS8 = $(DEPLIBS) ++ DEPLIBS9 = $(DEPLIBS) ++ DEPLIBS10 = $(DEPLIBS) ++ ++ FCPRELOADPATTERN = libfontconfig.so.? ++ ++ XFTPRELOADPATTERN = libXft.so.? ++ XRENDERPRELOADPATTERN = libXrender.so.? ++ XFONTPRELOADPATTERN = libXfont*.so.? ++ ++XMULIBONLY = -lXmu ++XMULIB = $(XMULIBONLY) $(XTOOLLIB) $(XLIB) ++ ++ CONFIGDIR = /usr/share/X11/config ++ ++ USRLIBDIRPATH = $(USRLIBDIR) ++ LDPRELIBS = -L$(USRLIBDIR) $(INSTALLED_LIBS) ++ LDPOSTLIBS = ++ TOP_INCLUDES = -I$(INCROOT) $(TOP_X_INCLUDES) ++ PROJECT_DEFINES = ++ VENDOR_DEFINES = -DXVENDORNAME='"$(VENDORNAME)"' -DXVENDORNAMESHORT='"$(VENDORNAMESHORT)"' ++ ++CXXPROJECT_DEFINES = ++ ++# ---------------------------------------------------------------------- ++# start of Imakefile ++ ++# Remove the next line if you want genuine Xaw instead of Xaw3d ++ ++# Remove the next line if you don't want to enable XTEST support ++ ++# Remove the next line if you want to disable internationalization ++ ++SRCS = xvkbd.c findwidget.c ++OBJS = xvkbd.o findwidget.o ++DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXPMLIB) $(EXTRAXAWCLIENTDEPLIBS) $(DEPXLIB) ++SYS_LIBRARIES = $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWCLIENTLIBS) $(XLIB) ++ ++D_XTEST = -DUSE_XTEST ++SYS_LIBRARIES = $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWCLIENTLIBS) $(XLIB) -lXtst ++ ++D_I18N = -DUSE_I18N ++ ++DEFINES = $(D_XAW3D) $(D_XTEST) $(D_I18N) ++ ++xvkbd.o: xvkbd.c resources.h XVkbd-common.h ++ $(RM) $@ ++ $(CC) -c $(CFLAGS) $*.c ++ ++ PROGRAM = xvkbd ++ ++all:: xvkbd ++ ++xvkbd: $(OBJS) $(DEPLIBS) ++ $(RM) $@ ++ $(CCLINK) -o $@ $(LDOPTIONS) $(OBJS) $(LOCAL_LIBRARIES) $(LDLIBS) $(EXTRA_LOAD_FLAGS) ++ ++install:: xvkbd ++ @if [ -d $(DESTDIR)$(BINDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(BINDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(BINDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(BINDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTPGMFLAGS) xvkbd $(DESTDIR)$(BINDIR)/xvkbd ++ ++all:: xvkbd.$(MANNEWSUFFIX) ++ ++xvkbd.$(MANNEWSUFFIX): xvkbd.$(MANSRCSUFFIX) ++ $(RM) $@ ++ if test -z "$(PREPROCESSMANPAGES)" ; then \ ++ cd `dirname xvkbd` && \ ++ $(LN) `basename xvkbd.$(MANSRCSUFFIX)` `basename $@`; \ ++ else \ ++ $(RAWCPP) $(MANDEFS) $(EXTRAMANDEFS) \ ++ < xvkbd.$(MANSRCSUFFIX) | sed -e '/^# *[0-9][0-9]* *.*$$/d' -e '/^#line *[0-9][0-9]* *.*$$/d' -e '/^[ ]*XCOMM$$/s/XCOMM/#/' -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/#/' -e '/^[ ]*XHASH/s/XHASH/#/' -e '/\@\@$$/s/\@\@$$/\\/' >$@; \ ++ fi ++ ++cleandir:: ++ $(RM) xvkbd.$(MANNEWSUFFIX) ++ ++install.man:: xvkbd.$(MANNEWSUFFIX) ++ @if [ -d $(DESTDIR)$(MANDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(MANDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(MANDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(MANDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTMANFLAGS) xvkbd.$(MANNEWSUFFIX) $(DESTDIR)$(MANDIR)/xvkbd.$(MANSUFFIX) ++ ++depend:: ++ $(DEPEND) $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- $(SRCS) ++ ++lint: ++ $(LINT) $(LINTFLAGS) $(SRCS) $(LINTLIBS) ++lint1: ++ $(LINT) $(LINTFLAGS) $(FILE) $(LINTLIBS) ++ ++cleandir:: ++ $(RM) xvkbd ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-belgian.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-belgian.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-belgian ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-common.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-common.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-common ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-danish.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-danish.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-danish ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-fitaly.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-fitaly.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-fitaly ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-french.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-french.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-french ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-french2.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-french2.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-french2 ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-german.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-german.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-german ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-greek.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-greek.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-greek ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-hebrew.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-hebrew.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-hebrew ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-icelandic.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-icelandic.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-icelandic ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-italian.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-italian.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-italian ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-jisx6002.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-jisx6002.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-jisx6002 ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-jisx6004.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-jisx6004.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-jisx6004 ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-korean.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-korean.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-korean ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-latin1.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-latin1.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-latin1 ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-norwegian.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-norwegian.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-norwegian ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-portuguese.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-portuguese.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-portuguese ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-slovene.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-slovene.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-slovene ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-small.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-small.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-small ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-spanish.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-spanish.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-spanish ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-swedish.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-swedish.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-swedish ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-swissgerman.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-swissgerman.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-swissgerman ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-turkish.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-turkish.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-turkish ++ ++install:: ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ fi ++ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ ++ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ ++ fi ++ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ ++ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ ++ fi ++ @for flag in ${MAKEFLAGS} ''; do \ ++ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ ++ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ ++ RELPATH=`echo $(LIBDIR)/. | \ ++ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ ++ cd $(DESTDIR)$(LIBDIR)/.; \ ++ if [ -d app-defaults -a ! -h app-defaults ]; then \ ++ (cd app-defaults; tar cf - . | \ ++ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ ++ tar xf -; exit 0); exit 0); \ ++ fi; \ ++ $(RM) -r app-defaults; \ ++ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ ++ fi ++ ++install:: XVkbd-uk.ad ++ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ set +x; \ ++ else \ ++ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ ++ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi; \ ++ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ ++ fi ++ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-uk.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-uk ++ ++# ============================ ++# These rules are only for me ++ ++_distclean: cleandir ++ -rm Makefile ++ ++XVkbd-common.h: XVkbd-common.ad ++ -which ad2c > /dev/null && ad2c XVkbd-common.ad > XVkbd-common.h ++ ++HTML = $(HOME)/public_html/homepage3.nifty.com/xvkbd/index.html ++_readme: ++ -[ -f $(HTML) ] && html2man $(HTML) > xvkbd.man ++ ( echo ".pl 10000"; echo ".ll 75"; echo ".hy 0"; echo ".ad l" ) | cat - xvkbd.man | groff -Tascii -man | sed 's/.//g' | head -9000 | cat -s | tail +3 > README ++ ++# ============================ ++ ++# ---------------------------------------------------------------------- ++# common rules for all Makefiles - do not edit ++ ++.c.i: ++ $(RM) $@ ++ $(CC) -E $(CFLAGS) $(_NOOP_) $*.c > $@ ++ ++.SUFFIXES: .ii ++ ++.cc.ii: ++ $(RM) $@ ++ $(CC) -E $(CFLAGS) $(_NOOP_) $*.cc > $@ ++ ++.SUFFIXES: .s ++ ++.c.s: ++ $(RM) $@ ++ $(CC) -S $(CFLAGS) $(_NOOP_) $*.c ++ ++.cc.s: ++ $(RM) $@ ++ $(CC) -S $(CFLAGS) $(_NOOP_) $*.cc ++ ++emptyrule:: ++ ++cleandir:: ++ $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut "#"* ++ ++Makefile:: ++ -@if [ -f Makefile ]; then set -x; \ ++ $(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \ ++ else exit 0; fi ++ $(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR) ++ ++tags:: ++ $(TAGS) -w *.[ch] ++ $(TAGS) -xw *.[ch] > TAGS ++ ++man_keywords:: ++ ++html_index:: ++ ++clean:: cleandir ++ ++distclean:: cleandir ++ ++# ---------------------------------------------------------------------- ++# empty rules for directories that do not have SUBDIRS - do not edit ++ ++install:: ++ @echo "install in $(CURRENT_DIR) done" ++ ++install.man:: ++ @echo "install.man in $(CURRENT_DIR) done" ++ ++install.sdk:: ++ @echo "install.sdk in $(CURRENT_DIR) done" ++ ++Makefiles:: ++ ++includes:: ++ ++depend:: ++ ++distclean:: ++ $(RM) Makefile Makefile.dep ++ ++# ---------------------------------------------------------------------- ++# dependencies generated by makedepend ++ diff --git a/package/xvkbd/xvkbd-makefile.patch b/package/xvkbd/xvkbd-makefile.patch deleted file mode 100644 index a8f6577387..0000000000 --- a/package/xvkbd/xvkbd-makefile.patch +++ /dev/null @@ -1,2400 +0,0 @@ ---- a/Makefile 2008-03-04 06:14:55.425005441 -0500 -+++ b/Makefile 2008-03-05 08:40:50.000000000 -0500 -@@ -0,0 +1,2397 @@ -+# Makefile generated by imake - do not edit! -+# $Xorg: imake.c,v 1.6 2001/02/09 02:03:15 xorgcvs Exp $ -+ -+# ---------------------------------------------------------------------- -+# Makefile generated from "Imake.tmpl" and -+# $Xorg: Imake.tmpl,v 1.4 2000/08/17 19:41:46 cpqbld Exp $ -+# $XdotOrg: util/cf/Imake.tmpl,v 1.17 2006/04/15 15:55:25 herrb Exp $ -+# -+# -+# -+# -+# $XFree86: xc/config/cf/Imake.tmpl,v 3.155 2003/12/24 18:58:41 dickey Exp $ -+# ---------------------------------------------------------------------- -+ -+all:: -+ -+.SUFFIXES: .i -+ -+# $XdotOrg: util/cf/Imake.cf,v 1.12 2005/11/08 06:33:24 jkj Exp $ -+# $Xorg: Imake.cf,v 1.4 2000/08/17 19:41:45 cpqbld Exp $ -+ -+# $XFree86: xc/config/cf/Imake.cf,v 3.88 2003/12/16 21:30:21 herrb Exp $ -+ -+# Keep cpp from replacing path elements containing i486/i586/i686 -+ -+# ----------------------------------------------------------------------- -+# site-specific configuration parameters that need to come before -+# the platform-specific parameters - edit site.def to change -+ -+# site: $TOG: site.sample /main/r64_final/1 1998/02/05 16:28:49 kaleb $ -+ -+# site: $XFree86: xc/config/cf/site.def,v 3.24 2000/06/25 20:17:29 dawes Exp $ -+ -+# $XFree86: xc/config/cf/xf86site.def,v 3.186 2003/06/25 18:06:22 eich Exp $ -+ -+# ---------------------------------------------------------------------- -+# platform-specific configuration parameters - edit linux.cf to change -+ -+# $XdotOrg: util/cf/linux.cf,v 1.31 2005/10/21 19:10:27 ajax Exp $ -+# platform: $Xorg: linux.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $ -+ -+# platform: $XFree86: xc/config/cf/linux.cf,v 3.220 2003/12/30 22:38:33 tsi Exp $ -+ -+# operating system: Linux 2.6.23.8-63.fc8 i686 [ELF] (2.6.23) -+# libc: (6.7.0) -+# binutils: (217) -+ -+# $Xorg: lnxLib.rules,v 1.3 2000/08/17 19:41:47 cpqbld Exp $ -+# $XFree86: xc/config/cf/lnxLib.rules,v 3.52 2003/10/31 20:49:03 herrb Exp $ -+ -+# $XdotOrg: util/cf/xorg.cf,v 1.53 2005/10/03 16:08:44 alanc Exp $ -+ -+# $Xorg: xfree86.cf,v 1.4 2000/08/17 19:41:49 cpqbld Exp $ -+ -+XORG_VERSION_CURRENT = (((6) * 10000000) + ((8) * 100000) + ((99) * 1000) + 903) -+RELEASE_VERSION = RELEASE-1 -+ -+AFB_DEFS = -DUSE_AFB -+ -+DRIVERSDKDIR = $(USRLIBDIR)/Server -+DRIVERSDKMODULEDIR = $(USRLIBDIR)/Server/modules -+DRIVERSDKINCLUDEDIR = $(USRLIBDIR)/Server/include -+ -+ XF86SRC = $(SERVERSRC)/hw/xfree86 -+ XF86COMSRC = $(XF86SRC)/common -+ XF86PARSERSRC = $(XF86SRC)/parser -+ XF86OSSRC = $(XF86SRC)/os-support -+ XF86DRIVERSRC = $(XF86SRC)/drivers -+ DRIVERSRC = $(XF86DRIVERSRC) -+ -+ XFREE86DOCDIR = $(DOCDIR) -+ XFREE86PSDOCDIR = $(DOCPSDIR) -+ XFREE86PDFDOCDIR = $(DOCPDFDIR) -+ XFREE86HTMLDOCDIR = $(DOCHTMLDIR) -+XFREE86JAPANESEDOCDIR = $(DOCDIR)/Japanese -+ -+# $Xorg: xf86.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $ -+ -+# $XFree86: xc/config/cf/xf86.rules,v 3.34tsi Exp $ -+ -+# ---------------------------------------------------------------------- -+# site-specific configuration parameters that go after -+# the platform-specific parameters - edit site.def to change -+ -+# site: $TOG: site.sample /main/r64_final/1 1998/02/05 16:28:49 kaleb $ -+ -+# site: $XFree86: xc/config/cf/site.def,v 3.24 2000/06/25 20:17:29 dawes Exp $ -+ -+# --------------------------------------------------------------------- -+# Imake rules for building libraries, programs, scripts, and data files -+# rules: $Xorg: Imake.rules,v 1.3 2000/08/17 19:41:46 cpqbld Exp $ -+# rules: $XdotOrg: util/cf/Imake.rules,v 1.11 2005/11/08 06:33:24 jkj Exp $ -+# -+# -+# -+# -+# rules: $XFree86: xc/config/cf/Imake.rules,v 3.128 2003/11/15 03:25:17 dawes Exp $ -+ -+.PHONY: all interfaces install install.man install.lib install.sdk depend includes cleandir -+ -+ _NULLCMD_ = @ echo -n -+ -+X_BYTE_ORDER = X_LITTLE_ENDIAN -+ -+GLIDE2INCDIR = -+ -+GLIDE3INCDIR = -+ -+GLIDE3LIBNAME = -+ -+TKLIBNAME = -+ -+TKLIBDIR = -+ -+TCLLIBNAME = -+ -+TCLIBDIR = -+ -+ PATHSEP = / -+ SHELL = /bin/sh -e -+ -+ TOP = . -+ CURRENT_DIR = . -+ -+ IMAKE = imake -+ DEPEND = gccmakedep -+ MKDIRHIER = mkdir -p -+ REVPATH = revpath -+ EXPORTLISTGEN = -+ RMAN = RmanCmd -+ RMANBASENAME = rman -+ RMANOPTIONS = RmanOptions -+ CONFIGSRC = $(TOP)/config -+ IMAKESRC = $(CONFIGSRC)/imake -+ DEPENDSRC = $(CONFIGSRC)/util -+ -+ INCROOT = /usr/include -+ USRLIBDIR = /usr/lib -+ VARDIR = /var -+ VARLIBDIR = $(VARDIR)/lib -+ SYSTEMUSRLIBDIR = /usr/lib -+ SYSTEMUSRINCDIR = /usr/include -+ SHLIBDIR = /usr/lib -+ LINTLIBDIR = $(USRLIBDIR)/lint -+ MANPATH = /usr/share/man -+ MANSOURCEPATH = $(MANPATH)/man -+ MANDIR = $(MANSOURCEPATH)1 -+ LIBMANDIR = $(MANSOURCEPATH)3 -+ FILEMANDIR = $(MANSOURCEPATH)5 -+ MISCMANDIR = $(MANSOURCEPATH)$(MISCMANSUFFIX) -+ DRIVERMANDIR = $(MANSOURCEPATH)$(DRIVERMANSUFFIX) -+ LOGDIRECTORY = $(VARDIR)/log -+ -+ VARRUNDIR = $(VARDIR)/run -+ -+ VARDBDIR = $(VARDIR)/lib -+ -+ AR = ar clq -+ -+# Nice try but useless: make will inherit BOOTSTRAPCFLAGS -+# from top Makefile -+ BOOTSTRAPCFLAGS = -+ -+ CC = gcc -m32 -+ AS = gcc -m32 -c -x assembler -+ -+.SUFFIXES: .cc -+ -+ CXX = c++ -m32 -+ -+ CXXFILT = c++filt -+ -+ CXXLIB = -lstdc++ -+ -+ CXXDEBUGFLAGS = -O2 -fno-strength-reduce -fno-strict-aliasing -+CXXDEPENDINCLUDES = -+ CXXEXTRA_DEFINES = -+CXXEXTRA_INCLUDES = -+ CXXSTD_DEFINES = -Dlinux -D__i386__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(CXXPROJECT_DEFINES) -+ CXXOPTIONS = -+ CXXINCLUDES = $(INCLUDES) $(TOP_INCLUDES) $(CXXEXTRA_INCLUDES) -+ CXXDEFINES = $(CXXINCLUDES) $(CXXSTD_DEFINES) $(THREADS_CXXDEFINES) $(DEFINES) $(CXXEXTRA_DEFINES) -+ CXXFLAGS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(THREADS_CXXFLAGS) $(CXXDEFINES) -+ -+ COMPRESS = compress -+ GZIPCMD = gzip -+ -+ CPP = cpp $(STD_CPP_DEFINES) -+ RAWCPP = cpp -undef $(STD_CPP_OPTIONS) -+ PREPROCESSCMD = gcc -m32 -E $(STD_CPP_DEFINES) -+ -+ INSTALL = install -+ INSTALLFLAGS = -c -+ -+ LD = gcc -m32 -nostdlib -+ -+ LEX = flex -l -+ M4 = m4 -+ M4FLAGS = -+ LEXLIB = -lfl -+ YACC = bison -y -+ CCYACC = bison -y -+ -+ LINT = lint -+ -+ LINTLIBFLAG = -C -+ LINTOPTS = -axz -+ LN = ln -s -+ MAKE = make -+ MV = mv -f -+ CP = cp -+ -+ RANLIB = ranlib -+ -+ RANLIBINSTFLAGS = -+ -+ RM = rm -f -+ PERL = perl -+ PERLOPTS = -+ PERLENVSETUP = env LC_ALL=C -+ MANSUFFIX = 1x -+ LIBMANSUFFIX = 3x -+ FILEMANSUFFIX = 5x -+ MISCMANSUFFIX = 7 -+ DRIVERMANSUFFIX = 4 -+ ADMINMANSUFFIX = 8 -+ MANSRCSUFFIX = man -+ MANNEWSUFFIX = _man -+ MANDEFS = -D__apploaddir__=$(XAPPLOADDIR) -D__appmansuffix__=$(MANSUFFIX) -D__filemansuffix__=$(FILEMANSUFFIX) -D__libmansuffix__=$(LIBMANSUFFIX) -D__miscmansuffix__=$(MISCMANSUFFIX) -D__drivermansuffix__=$(DRIVERMANSUFFIX) -D__adminmansuffix__=$(ADMINMANSUFFIX) -D__projectroot__=$(PROJECTROOT) -D__xconfigfile__=$(XCONFIGFILE) -D__xconfigdir__=$(XCONFIGDIR) -D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME) $(XORGMANDEFS) $(VENDORMANDEFS) -+ -+ COMPRESSMANCMD = gzip -n -+ -+ TROFF = groff -Tps -+ NROFF = nroff -+ -+ MSMACROS = -ms -+ MANMACROS = -man -+ TBL = tbl -+ EQN = eqn -+ NEQN = neqn -+ COL = col -+ COLFLAGS = -b -+ -+ MODCC = gcc -m32 -+ -+ MODCPP = cpp -+ MODCFLAGS = $(CFLAGS) -+ MODAS = gcc -m32 -c -x assembler -+ MODASFLAGS = -+ -+ MODLD = gcc -m32 -nostdlib -+ -+ MODLDFLAGS = -+MODLDCOMBINEFLAGS = -r -+ MODAR = ar clq -+ -+ MODRANLIB = ranlib -+ -+ STD_INCLUDES = -+ STD_CPP_OPTIONS = -traditional -+ STD_CPP_DEFINES = -traditional -Dlinux -D__i386__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(PROJECT_DEFINES) -+ STD_DEFINES = -Dlinux -D__i386__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(PROJECT_DEFINES) -+ EXTRA_LOAD_FLAGS = -+ EXTRA_LDOPTIONS = -+ EXTRA_LIBRARIES = -+ TAGS = ctags -+ -+ PARALLELMFLAGS = -+ -+ SHAREDCODEDEF = -+ SHLIBDEF = -+ -+ SHLIBLDFLAGS = -shared $(SHLIBGLOBALSFLAGS) -+ -+ NOSTDLIB = -nostdlib -+ POSTNOSTDLIB = -Wl,-Bstatic -lgcc -Wl,-Bdynamic -+ -+ PICFLAGS = -fPIC -+ -+ CXXPICFLAGS = -fPIC -+ -+ PROTO_DEFINES = -DFUNCPROTO=15 -DNARROWPROTO -+ -+ INSTPGMFLAGS = -+ -+ INSTBINFLAGS = -m 0755 -+ INSTUIDFLAGS = -m 4711 -+ INSTLIBFLAGS = -m 0644 -+ INSTINCFLAGS = -m 0444 -+ INSTMANFLAGS = -m 0444 -+ INSTDATFLAGS = -m 0444 -+ INSTKMEMFLAGS = -m 4711 -+ -+ PROJECTROOT = /usr -+ -+ CDEBUGFLAGS = -O2 -fno-strength-reduce -fno-strict-aliasing -+ CCOPTIONS = -+ -+ ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(INSTALLED_INCLUDES) $(STD_INCLUDES) -+ ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(MODULE_DEFINES) $(DEFINES) $(EXTRA_DEFINES) -+ CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(MODULE_CFLAGS) $(ALLDEFINES) -+ LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) $(DEPEND_DEFINES) -+ LDPRELIB = -L$(USRLIBDIR) $(INSTALLED_LIBS) -+ LDPOSTLIB = -+ LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_LDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS) -+ CXXLDOPTIONS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_CXXLDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS) -+ -+ LDLIBS = $(LDPOSTLIBS) $(THREADS_LIBS) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES) -+ -+ CCLINK = $(CC) -+ -+ CXXLINK = $(CXX) -+ -+ LDSTRIPFLAGS = -x -+ LDCOMBINEFLAGS = -r -+ DEPENDFLAGS = -+ DEPEND_DEFINES = -+ -+# Not sure this belongs here -+ TKLIBDIR = -+ TKINCDIR = -+ TKLIBNAME = -+ TKLIBRARY = -L$(TKLIBDIR) -l$(TKLIBNAME) -+ TCLLIBDIR = -+ TCLINCDIR = -+ TCLLIBNAME = -+ TCLLIBRARY = -L$(TCLLIBDIR) -l$(TCLLIBNAME) -+ -+ MACROFILE = linux.cf -+ RM_CMD = $(RM) -+ -+ IMAKE_DEFINES = -+ IMAKE_WARNINGS = -Wundef -+ -+ IRULESRC = $(CONFIGDIR) -+ IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES) $(IMAKE_WARNINGS) -+ -+ ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/X11.tmpl $(IRULESRC)/site.def $(IRULESRC)/$(MACROFILE) $(IRULESRC)/xfree86.cf $(IRULESRC)/xf86.rules $(IRULESRC)/xorgsite.def $(IRULESRC)/host.def $(EXTRA_ICONFIGFILES) -+ -+# $Xorg: X11.rules,v 1.4 2000/08/17 19:41:46 cpqbld Exp $ -+ -+# $XFree86: xc/config/cf/X11.rules,v 1.6 2001/01/17 16:22:31 dawes Exp $ -+ -+# ---------------------------------------------------------------------- -+# X Window System Build Parameters and Rules -+# $XdotOrg: util/cf/X11.tmpl,v 1.54 2006/04/15 15:55:25 herrb Exp $ -+# $Xorg: X11.tmpl,v 1.6 2000/08/17 19:41:46 cpqbld Exp $ -+# -+# -+# -+# -+# $XFree86: xc/config/cf/X11.tmpl,v 1.248 2004/02/16 04:07:37 dawes Exp $ -+ -+XORGRELSTRING = `echo 6 8 99 903 | sed -e 's/ /./g' -e 's/^/Version\\\ /'` -+ XORGMANNAME = X Version 11 -+ -+STICKY_DEFINES = -DHAS_STICKY_DIR_BIT -+ -+FCHOWN_DEFINES = -DHAS_FCHOWN -+ -+# ----------------------------------------------------------------------- -+# X Window System make variables; these need to be coordinated with rules -+ -+ XTOP = $(TOP) -+ BINDIR = /usr/bin -+ BUILDINCROOT = $(TOP)/exports -+ BUILDINCDIR = $(BUILDINCROOT)/include -+ BUILDINCTOP = ../.. -+ BUILDLIBDIR = $(TOP)/exports/lib -+ BUILDLIBTOP = ../.. -+ BUILDBINDIR = $(TOP)/exports/bin -+ BUILDBINTOP = ../.. -+ BUILDMODULEDIR = $(BUILDLIBDIR)/modules -+ BUILDI18NDIR = $(BUILDLIBDIR)/locale -+ BUILDMODULETOP = $(BUILDLIBTOP)/.. -+ XBUILDINCROOT = $(XTOP)/exports -+ XBUILDINCDIR = $(XBUILDINCROOT)/include/X11 -+ XBUILDINCTOP = ../../.. -+ XBUILDBINDIR = $(XBUILDINCROOT)/bin -+ INCDIR = $(INCROOT) -+ ADMDIR = /usr/adm -+ LIBDIR = /usr/lib/X11 -+ SHAREDIR = /usr/share/X11 -+ LIBEXECDIR = /usr/libexec -+ MODULEDIR = $(USRLIBDIR)/modules -+ TOP_X_INCLUDES = -+ XBINDIR = $(PROJECTROOT)/bin -+ -+ INSTSRCDIR = /usr/src -+ -+ ETCX11DIR = /etc/X11 -+ -+ CONFDIR = $(ETCX11DIR) -+ -+ DOCDIR = $(LIBDIR)/doc -+ DOCHTMLDIR = $(DOCDIR)/html -+ DOCPSDIR = $(DOCDIR)/PostScript -+ DOCPDFDIR = $(DOCDIR)/PDF -+ FONTDIR = $(LIBDIR)/fonts -+ ENCODINGSDIR = $(LIBDIR)/fonts/encodings -+ XINITDIR = $(LIBDIR)/xinit -+ XDMDIR = $(LIBDIR)/xdm -+ XDMVARDIR = $(VARLIBDIR)/xdm -+ TWMDIR = $(LIBDIR)/twm -+ XSMDIR = $(LIBDIR)/xsm -+ NLSDIR = $(LIBDIR)/nls -+ XLOCALEDIR = $(LIBDIR)/locale -+ LBXPROXYDIR = $(LIBDIR)/lbxproxy -+ PROXYMANAGERDIR = $(LIBDIR)/proxymngr -+ XPRINTDIR = $(LIBDIR)/xserver -+ XAPPLOADDIR = /usr/share/X11/app-defaults -+ FONTCFLAGS = -t -+ -+ INSTAPPFLAGS = $(INSTDATFLAGS) -+ -+ RGB = $(XBINDIR)/rgb -+ FONTC = $(XBINDIR)/bdftopcf -+ MKFONTSCALE = $(XBINDIR)/mkfontscale -+ MKFONTDIR = $(XBINDIR)/mkfontdir -+ MKHTMLINDEX = $(XBINDIR)/mkhtmlindex -+ UCS2ANY = $(XBINDIR)/ucs2any -+ BDFTRUNCATE = $(XBINDIR)/bdftruncate -+ UCSMAPPREFIX = $(FONTDIR)/util/map- -+ XCURSORGEN = $(XBINDIR)/xcursorgen -+ -+ HTMLINDEXCMD = HtmlIndexCmd -+ -+ DOCUTILSRC = $(XTOP)/doc/util -+ CLIENTSRC = $(TOP)/clients -+ DEMOSRC = $(TOP)/demos -+ XDOCMACROS = $(DOCUTILSRC)/macros.t -+ XIDXMACROS = $(DOCUTILSRC)/indexmacros.t -+ PROGRAMSRC = $(TOP)/programs -+ LIBSRC = $(XTOP)/lib -+ FONTSRC = $(XTOP)/fonts -+ ENCODINGSSRC = $(FONTSRC)/encodings -+ INCLUDESRC = $(BUILDINCROOT)/include -+ XINCLUDESRC = $(INCLUDESRC)/X11 -+ SERVERSRC = $(XTOP)/programs/Xserver -+ CONTRIBSRC = $(XTOP)/../contrib -+ UNSUPPORTEDSRC = $(XTOP)/unsupported -+ DOCSRC = $(XTOP)/doc -+ RGBSRC = $(XTOP)/programs/rgb -+ BDFTOPCFSRC = $(PROGRAMSRC)/bdftopcf -+ MKFONTDIRSRC = $(PROGRAMSRC)/mkfontdir -+ FONTSERVERSRC = $(PROGRAMSRC)/xfs -+ FONTINCSRC = $(XTOP)/include/fonts -+ EXTINCSRC = $(XTOP)/include/extensions -+ FTSOURCEDIR = FreeTypeSrcDir -+ DRMSRCDIR = $(TOP)/extras/drm -+ MESASRCDIR = $(TOP)/extras/Mesa -+ OGLSAMPLESRCDIR = $(TOP)/extras/ogl-sample -+ PSWRAPSRC = $(XTOP)/config/pswrap -+ TRANSCOMMSRC = $(LIBSRC)/xtrans -+ TRANS_INCLUDES = -I$(TRANSCOMMSRC) -+ CONNECTION_FLAGS = -DUNIXCONN -DTCPCONN $(STICKY_DEFINES) $(FCHOWN_DEFINES) -DIPv6 -+XTRANS_FAILDEFINES = -DFAIL_HARD -+ -+ VENDORMANNAME = X.Org -+ VENDORMANVERSION = `echo 6 8 99 903 | sed -e 's/ /./g' -e 's/^/Version\\\ /'` -+ XORGMANDEFS = -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" -+ VENDORMANDEFS = -D__vendorversion__="$(VENDORMANVERSION) $(VENDORMANNAME)" -+ VENDORNAME = The X.Org Foundation -+ VENDORNAMESHORT = X.Org -+ -+ VENDORWEBSUPPORT = http://wiki.X.Org -+ -+VENDORSUPPORTDEFS = -D__VENDORDWEBSUPPORT__='"$(VENDORWEBSUPPORT)"' -+ -+ XKBDEFRULES = xorg -+ XKBDEFRULESDEFS = -D__XKBDEFRULES__='"$(XKBDEFRULES)"' -+ -+ XCONFIGFILE = xorg.conf -+ XCONFIGDIR = $(LIBDIR) -+ XLOGFILE = Xorg -+ XSERVERNAME = Xorg -+ -+ XENVLIBDIR = $(USRLIBDIR) -+ CLIENTENVSETUP = LD_LIBRARY_PATH=$(XENVLIBDIR) XLOCALEDIR=$(BUILDLIBDIR)/locale -+ -+# $Xorg: lnxLib.tmpl,v 1.3 2000/08/17 19:41:47 cpqbld Exp $ -+# $XFree86: xc/config/cf/lnxLib.tmpl,v 3.19 2003/10/15 22:47:48 herrb Exp $ -+ -+ XLIBSRC = $(LIBSRC)/X11 -+ -+SOXLIBREV = 6.2 -+DEPXONLYLIB = -+XONLYLIB = -lX11 -+ -+LINTXONLY = $(LINTLIBDIR)/llib-lX11.ln -+ -+ DEPXLIBONLY = $(DEPXONLYLIB) -+ XLIBONLY = $(XONLYLIB) -+ LINTXONLYLIB = $(LINTXONLY) -+ -+ XEXTLIBSRC = $(LIBSRC)/Xext -+ -+SOXEXTREV = 6.4 -+DEPEXTENSIONLIB = -+EXTENSIONLIB = -lXext -+ -+LINTEXTENSION = $(LINTLIBDIR)/llib-lXext.ln -+ -+LINTEXTENSIONLIB = $(LINTEXTENSION) -+ DEPXLIB = $(DEPEXTENSIONLIB) $(DEPXONLYLIB) -+ XLIB = $(EXTENSIONLIB) $(XONLYLIB) -+ LINTXLIB = $(LINTXONLYLIB) -+ -+ XSSLIBSRC = $(LIBSRC)/Xss -+ -+SOXSSREV = 1.0 -+DEPXSSLIB = -+XSSLIB = -lXss -+ -+LINTXSS = $(LINTLIBDIR)/llib-lXss.ln -+ -+ XXF86MISCLIBSRC = $(LIBSRC)/Xxf86misc -+ -+SOXXF86MISCREV = 1.1 -+DEPXXF86MISCLIB = -+XXF86MISCLIB = -lXxf86misc -+ -+LINTXXF86MISC = $(LINTLIBDIR)/llib-lXxf86misc.ln -+ -+ XXF86VMLIBSRC = $(LIBSRC)/Xxf86vm -+ -+SOXXF86VMREV = 1.0 -+DEPXXF86VMLIB = -+XXF86VMLIB = -lXxf86vm -+ -+LINTXXF86VM = $(LINTLIBDIR)/llib-lXxf86vm.ln -+ -+ XXF86DGALIBSRC = $(LIBSRC)/Xxf86dga -+ -+SOXXF86DGAREV = 1.0 -+DEPXXF86DGALIB = -+XXF86DGALIB = -lXxf86dga -+ -+LINTXXF86DGA = $(LINTLIBDIR)/llib-lXxf86dga.ln -+ -+ XXF86RUSHLIBSRC = $(LIBSRC)/Xxf86rush -+ -+SOXXF86RUSHREV = 1.0 -+DEPXXF86RUSHLIB = -+XXF86RUSHLIB = -lXxf86rush -+ -+LINTXXF86RUSH = $(LINTLIBDIR)/llib-lXxf86rush.ln -+ -+ XVLIBSRC = $(LIBSRC)/Xv -+ -+SOXVREV = 1.0 -+DEPXVLIB = -+XVLIB = -lXv -+ -+LINTXV = $(LINTLIBDIR)/llib-lXv.ln -+ -+ XVMCLIBSRC = $(LIBSRC)/XvMC -+ -+SOXVMCREV = 1.0 -+DEPXVMCLIB = -+XVMCLIB = -lXvMC -+ -+LINTXVMC = $(LINTLIBDIR)/llib-lXvMC.ln -+ -+ XINERAMALIBSRC = $(LIBSRC)/Xinerama -+ -+SOXINERAMAREV = 1.0 -+DEPXINERAMALIB = -+XINERAMALIB = -lXinerama -+ -+LINTXINERAMA = $(LINTLIBDIR)/llib-lXinerama.ln -+ -+ XRESLIBSRC = $(LIBSRC)/XRes -+ -+SOXRESREV = 1.0 -+DEPXRESLIB = -+XRESLIB = -lXRes -+ -+LINTXRES = $(LINTLIBDIR)/llib-lXRes.ln -+ -+ DMXLIBSRC = $(LIBSRC)/dmx -+ -+DEPDMXLIB = $(USRLIBDIR)/libdmx.a -+DMXLIB = -ldmx -+ -+LINTDMX = $(LINTLIBDIR)/llib-ldmx.ln -+ -+ DPSLIBSRC = $(LIBSRC)/dps -+ -+DEPDPSLIB = $(USRLIBDIR)/libdps.a -+DPSLIB = -ldps -+ -+LINTDPS = $(LINTLIBDIR)/llib-ldps.ln -+ -+ DPSTKLIBSRC = $(LIBSRC)/dpstk -+ -+DEPDPSTKLIB = $(USRLIBDIR)/libdpstk.a -+DPSTKLIB = -ldpstk -+ -+LINTDPSTK = $(LINTLIBDIR)/llib-ldpstk.ln -+ -+ PSRESLIBSRC = $(LIBSRC)/psres -+ -+DEPPSRESLIB = $(USRLIBDIR)/libpsres.a -+PSRESLIB = -lpsres -+ -+LINTPSRES = $(LINTLIBDIR)/llib-lpsres.ln -+ -+ GLULIBSRC = $(LIBSRC)/GLU -+ -+SOGLUREV = 1.3 -+DEPGLULIB = -+GLULIB = -lGLU -+ -+LINTGLU = $(LINTLIBDIR)/llib-lGLU.ln -+ -+ GLXLIBSRC = $(LIBSRC)/GL -+ -+SOGLREV = 1.2 -+DEPGLXLIB = -+GLXLIB = -lGL -+ -+LINTGLX = $(LINTLIBDIR)/llib-lGL.ln -+ -+ GLWIDGETSRC = $(LIBSRC)/GLw -+ -+SOGLWREV = 1.0 -+DEPGLWLIB = -+GLWLIB = -lGLw -+ -+LINTGLW = $(LINTLIBDIR)/llib-lGLw.ln -+ -+ XRENDERLIBSRC = $(LIBSRC)/Xrender -+ -+SOXRENDERREV = 1.2.2 -+DEPXRENDERLIB = -+XRENDERLIB = -lXrender -+ -+LINTXRENDER = $(LINTLIBDIR)/llib-lXrender.ln -+ -+ XRANDRLIBSRC = $(LIBSRC)/Xrandr -+ -+SOXRANDRREV = 2.0 -+DEPXRANDRLIB = -+XRANDRLIB = -lXrandr -+ -+LINTXRANDR = $(LINTLIBDIR)/llib-lXrandr.ln -+ -+ XFIXESLIBSRC = $(LIBSRC)/Xfixes -+ -+SOXFIXESREV = 3.0 -+DEPXFIXESLIB = -+XFIXESLIB = -lXfixes -+ -+LINTXFIXES = $(LINTLIBDIR)/llib-lXfixes.ln -+ -+ XDAMAGELIBSRC = $(LIBSRC)/Xdamage -+ -+SOXDAMAGEREV = 1.0 -+DEPXDAMAGELIB = -+XDAMAGELIB = -lXdamage -+ -+LINTXDAMAGE = $(LINTLIBDIR)/llib-lXdamage.ln -+ -+XCOMPOSITELIBSRC = $(LIBSRC)/Xcomposite -+ -+SOXCOMPOSITEREV = 1.0 -+DEPXCOMPOSITELIB = -+XCOMPOSITELIB = -lXcomposite -+ -+LINTXCOMPOSITE = $(LINTLIBDIR)/llib-lXcomposite.ln -+ -+XEVIELIBSRC = $(LIBSRC)/Xevie -+ -+SOXEVIEREV = 1.0 -+DEPXEVIELIB = -+XEVIELIB = -lXevie -+ -+LINTXEVIE = $(LINTLIBDIR)/llib-lXevie.ln -+ -+ XCURSORLIBSRC = $(LIBSRC)/Xcursor -+ -+SOXCURSORREV = 1.0.2 -+DEPXCURSORLIB = -+XCURSORLIB = -lXcursor -+ -+LINTXCURSOR = $(LINTLIBDIR)/llib-lXcursor.ln -+ -+ APPLEWMLIBSRC = $(LIBSRC)/apple -+ -+DEPAPPLEWMLIB = $(USRLIBDIR)/libAppleWM.a -+APPLEWMLIB = -lAppleWM -+ -+LINTAPPLEWM = $(LINTLIBDIR)/llib-lAppleWM.ln -+ -+ WINDOWSWMLIBSRC = $(LIBSRC)/windows -+ -+DEPWINDOWSWMLIB = $(USRLIBDIR)/libWindowsWM.a -+WINDOWSWMLIB = -lWindowsWM -+ -+LINTWINDOWSWM = $(LINTLIBDIR)/llib-lWindowsWM.ln -+ -+ XFONTCACHELIBSRC = $(LIBSRC)/Xfontcache -+ -+SOXFONTCACHEREV = 1.2 -+DEPXFONTCACHELIB = -+XFONTCACHELIB = -lXfontcache -+ -+LINTXFONTCACHE = $(LINTLIBDIR)/llib-lXfontcache.ln -+ -+ XAUTHSRC = $(LIBSRC)/Xau -+ -+SOXAUTHREV = 6.0 -+DEPXAUTHLIB = -+XAUTHLIB = -lXau -+ -+LINTXAUTH = $(LINTLIBDIR)/llib-lXau.ln -+ -+ XDMCPLIBSRC = $(LIBSRC)/Xdmcp -+ -+SOXDMCPREV = 6.0 -+DEPXDMCPLIB = -+XDMCPLIB = -lXdmcp -+ -+LINTXDMCP = $(LINTLIBDIR)/llib-lXdmcp.ln -+ -+ XMUSRC = $(LIBSRC)/Xmu -+ -+SOXMUREV = 6.2 -+DEPXMULIB = -+XMULIB = -lXmu -+ -+LINTXMU = $(LINTLIBDIR)/llib-lXmu.ln -+ -+ XMUUSRC = $(LIBSRC)/Xmuu -+ -+SOXMUUREV = 1.0 -+DEPXMUULIB = -+XMUULIB = -lXmuu -+ -+LINTXMUU = $(LINTLIBDIR)/llib-lXmuu.ln -+ -+ OLDXLIBSRC = $(LIBSRC)/oldX -+ -+DEPOLDXLIB = $(USRLIBDIR)/liboldX.a -+OLDXLIB = -loldX -+ -+LINTOLDX = $(LINTLIBDIR)/llib-loldX.ln -+ -+ XPLIBSRC = $(LIBSRC)/Xp -+ -+SOXPREV = 6.2 -+DEPXPLIB = -+XPLIB = -lXp -+ -+LINTXP = $(LINTLIBDIR)/llib-lXp.ln -+ -+ TOOLKITSRC = $(LIBSRC)/Xt -+ -+SOXTREV = 6.0 -+DEPXTOOLONLYLIB = -+XTOOLONLYLIB = -lXt -+ -+LINTXTOOLONLY = $(LINTLIBDIR)/llib-lXt.ln -+ -+ DEPXTOOLLIB = $(DEPXTOOLONLYLIB) $(DEPSMLIB) $(DEPICELIB) -+ XTOOLLIB = $(XTOOLONLYLIB) $(SMLIB) $(ICELIB) -+ LINTXTOOLLIB = $(LINTXTOOLONLYLIB) -+ -+ XALIBSRC = $(LIBSRC)/Xa -+ -+SOXAREV = 1.0 -+DEPXALIB = -+XALIB = -lXa -+ -+LINTXA = $(LINTLIBDIR)/llib-lXa.ln -+ -+ AWIDGETSRC = $(LIBSRC)/Xaw -+ -+SOXAWREV = 8.0 -+DEPXAWLIB = -+XAWLIB = -lXaw -+ -+LINTXAW = $(LINTLIBDIR)/llib-lXaw.ln -+ -+ AWIDGET7SRC = $(LIBSRC)/Xaw7 -+ -+SOXAW7REV = 7.0 -+DEPXAW7LIB = -+XAW7LIB = -lXaw -+ -+LINTXAW7 = $(LINTLIBDIR)/llib-lXaw.ln -+ -+ AWIDGET6SRC = $(LIBSRC)/Xaw6 -+ -+SOXAW6REV = 6.1 -+DEPXAW6LIB = -+XAW6LIB = -lXaw -+ -+LINTXAW6 = $(LINTLIBDIR)/llib-lXaw.ln -+ -+ XILIBSRC = $(LIBSRC)/Xi -+ -+SOXINPUTREV = 6.0 -+DEPXILIB = -+XILIB = -lXi -+ -+LINTXI = $(LINTLIBDIR)/llib-lXi.ln -+ -+ XTESTLIBSRC = $(LIBSRC)/Xtst -+ -+SOXTESTREV = 6.1 -+DEPXTESTLIB = -+XTESTLIB = -lXtst -+ -+LINTXTEST = $(LINTLIBDIR)/llib-lXtst.ln -+ -+DEPXBSDLIB = $(USRLIBDIR)/libXbsd.a -+XBSDLIB = -lXbsd -+ -+LINTXBSD = $(LINTLIBDIR)/llib-lXbsd.ln -+ -+ ICESRC = $(LIBSRC)/ICE -+ -+SOICEREV = 6.4 -+DEPICELIB = -+ICELIB = -lICE -+ -+LINTICE = $(LINTLIBDIR)/llib-lICE.ln -+ -+ SMSRC = $(LIBSRC)/SM -+ -+SOSMREV = 6.0 -+DEPSMLIB = -+SMLIB = -lSM -+ -+LINTSM = $(LINTLIBDIR)/llib-lSM.ln -+ -+ XKEYSRC = $(LIBSRC)/Xkey -+ -+SOXKEYREV = 6.0 -+DEPXKEYLIB = -+XKEYLIB = -lXkey -+ -+LINTXKEY = $(LINTLIBDIR)/llib-lXkey.ln -+ -+ FSLIBSRC = $(LIBSRC)/FS -+ -+SOFSREV = 6.0 -+DEPFSLIB = -+FSLIB = -lFS -+ -+LINTFS = $(LINTLIBDIR)/llib-lFS.ln -+ -+ FONTLIBSRC = $(LIBSRC)/font -+ -+SOFONTREV = 1.5 -+DEPFONTLIB = -+FONTLIB = -L$(FREETYPELIBDIR) -L$(FONTLIBSRC) -lXfont -+ -+LINTXFONT = $(LINTLIBDIR)/llib-lXfont.ln -+# -+SOFONTREV = 1.5 -+DEPXFONTLIB = -+XFONTLIB = -lXfont -+ -+LINTXFONT = $(LINTLIBDIR)/llib-lXfont.ln -+ -+ FONTSTUBLIBSRC = $(FONTLIBSRC)/stubs -+ -+DEPFONTSTUBLIB = $(USRLIBDIR)/libfntstubs.a -+FONTSTUBLIB = -lfntstubs -+ -+LINTFONTSTUB = $(LINTLIBDIR)/llib-lfntstubs.ln -+ DEPFONTLIB = $(DEPXFONTLIB) $(DEPFONTSTUBLIB) -+ FONTLIB = $(XFONTLIB) $(FONTSTUBLIB) $(FREETYPE2LIB) -+ -+ FONTENCLIBSRC = $(LIBSRC)/fontenc -+ -+SOFONTENCREV = 1.0 -+DEPXFONTENCLIB = -+XFONTENCLIB = -lfontenc -+ -+LINTXFONTENC = $(LINTLIBDIR)/llib-lfontenc.ln -+ -+ XPMLIBSRC = $(LIBSRC)/Xpm -+ -+SOXPMREV = 4.11 -+DEPXPMLIB = -+XPMLIB = -lXpm -+ -+LINTXPM = $(LINTLIBDIR)/llib-lXpm.ln -+ -+FREETYPE2DIR = /usr -+FREETYPE2LIBDIR = /usr/lib -+FREETYPE2INCDIR = /usr/include -+ -+FREETYPE2LIB = -lfreetype -+ -+FREETYPE2INCLUDES = -I$(FREETYPE2INCDIR)/freetype2 -I$(FREETYPE2INCDIR)/freetype2/config -+ -+FREETYPE2DEFINES = -DFREETYPE2 -+ -+ EXPATLIBSRC = $(LIBSRC)/expat -+ -+SOEXPATREV = 0.4 -+DEPEXPATLIB = -+EXPATLIB = -lexpat -+ -+LINTEXPAT = $(LINTLIBDIR)/llib-lexpat.ln -+ -+EXPATDIR = /usr -+EXPATLIBDIR = /usr/lib -+EXPATINCDIR = /usr/include -+ -+EXPATINCLUDES = -+ -+EXPATLIB = -lexpat -+ -+EXPATDEFINES = -DEXPAT -+ -+ XFT1LIBSRC = $(LIBSRC)/Xft1 -+ -+SOXFT1REV = 1.1 -+DEPXFT1LIB = -+XFT1LIB = -lXft -+ -+LINTXFT1 = $(LINTLIBDIR)/llib-lXft.ln -+ -+ XFTLIBSRC = $(LIBSRC)/Xft -+ -+SOXFTREV = 2.1.2 -+DEPXFTLIB = -+XFTLIB = -lXft -+ -+LINTXFT = $(LINTLIBDIR)/llib-lXft.ln -+ -+ FONTCONFIGLIBSRC = $(LIBSRC)/fontconfig -+ -+SOFONTCONFIGREV = 1.0.4 -+DEPFONTCONFIGLIB = -+FONTCONFIGLIB = -lfontconfig -+ -+LINTFONTCONFIG = $(LINTLIBDIR)/llib-lfontconfig.ln -+ -+FONTCONFIGINCDIR=$(INCDIR) -+ -+FONTCONFIGINCLUDES = -I$(FONTCONFIGINCDIR) -+ -+FCCACHE = $(BINDIR)/fc-cache -+ -+FONTCONFIGDEFINES = -DFONTCONFIG -+ -+XFTINCLUDES=$(FONTCONFIGINCLUDES) $(FREETYPE2INCLUDES) -+ -+LIBPNGINCDIR = /usr/include -+ -+LIBPNGINC= -+ -+LIBPNGDIR = /usr -+LIBPNGLIBDIR = /usr/lib -+LIBPNGINCDIR = /usr/include -+ -+LIBPNGLIB = -lpng -+ -+ XKBFILELIBSRC = $(LIBSRC)/xkbfile -+ -+SOXKBFILEREV = 1.0 -+DEPXKBFILELIB = -+XKBFILELIB = -lxkbfile -+ -+LINTXKBFILE = $(LINTLIBDIR)/llib-lxkbfile.ln -+ -+ XKBCOMPCMD = $(XBINDIR)/xkbcomp -+ -+ XKBUILIBSRC = $(LIBSRC)/xkbui -+ -+SOXKBUIREV = 1.0 -+DEPXKBUILIB = -+XKBUILIB = -lxkbui -+ -+LINTXKBUI = $(LINTLIBDIR)/llib-lxkbui.ln -+ -+EXTRAXAWREQS = -+ -+EXTRAXAWCLIENTDEPLIBS = -+ -+EXTRAXAWCLIENTLIBS = -+ -+ XTRAPLIBSRC = $(LIBSRC)/XTrap -+ -+SOXTRAPREV = 6.4 -+DEPXTRAPLIB = -+XTRAPLIB = -lXTrap -+ -+LINTXTRAP = $(LINTLIBDIR)/llib-lXTrap.ln -+ -+ DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB) -+ -+ DEPLIBS1 = $(DEPLIBS) -+ DEPLIBS2 = $(DEPLIBS) -+ DEPLIBS3 = $(DEPLIBS) -+ DEPLIBS4 = $(DEPLIBS) -+ DEPLIBS5 = $(DEPLIBS) -+ DEPLIBS6 = $(DEPLIBS) -+ DEPLIBS7 = $(DEPLIBS) -+ DEPLIBS8 = $(DEPLIBS) -+ DEPLIBS9 = $(DEPLIBS) -+ DEPLIBS10 = $(DEPLIBS) -+ -+ FCPRELOADPATTERN = libfontconfig.so.? -+ -+ XFTPRELOADPATTERN = libXft.so.? -+ XRENDERPRELOADPATTERN = libXrender.so.? -+ XFONTPRELOADPATTERN = libXfont*.so.? -+ -+XMULIBONLY = -lXmu -+XMULIB = $(XMULIBONLY) $(XTOOLLIB) $(XLIB) -+ -+ CONFIGDIR = /usr/share/X11/config -+ -+ USRLIBDIRPATH = $(USRLIBDIR) -+ LDPRELIBS = -L$(USRLIBDIR) $(INSTALLED_LIBS) -+ LDPOSTLIBS = -+ TOP_INCLUDES = -I$(INCROOT) $(TOP_X_INCLUDES) -+ PROJECT_DEFINES = -+ VENDOR_DEFINES = -DXVENDORNAME='"$(VENDORNAME)"' -DXVENDORNAMESHORT='"$(VENDORNAMESHORT)"' -+ -+CXXPROJECT_DEFINES = -+ -+# ---------------------------------------------------------------------- -+# start of Imakefile -+ -+# Remove the next line if you want genuine Xaw instead of Xaw3d -+ -+# Remove the next line if you don't want to enable XTEST support -+ -+# Remove the next line if you want to disable internationalization -+ -+SRCS = xvkbd.c findwidget.c -+OBJS = xvkbd.o findwidget.o -+DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXPMLIB) $(EXTRAXAWCLIENTDEPLIBS) $(DEPXLIB) -+SYS_LIBRARIES = $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWCLIENTLIBS) $(XLIB) -+ -+D_XTEST = -DUSE_XTEST -+SYS_LIBRARIES = $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWCLIENTLIBS) $(XLIB) -lXtst -+ -+D_I18N = -DUSE_I18N -+ -+DEFINES = $(D_XAW3D) $(D_XTEST) $(D_I18N) -+ -+xvkbd.o: xvkbd.c resources.h XVkbd-common.h -+ $(RM) $@ -+ $(CC) -c $(CFLAGS) $*.c -+ -+ PROGRAM = xvkbd -+ -+all:: xvkbd -+ -+xvkbd: $(OBJS) $(DEPLIBS) -+ $(RM) $@ -+ $(CCLINK) -o $@ $(LDOPTIONS) $(OBJS) $(LOCAL_LIBRARIES) $(LDLIBS) $(EXTRA_LOAD_FLAGS) -+ -+install:: xvkbd -+ @if [ -d $(DESTDIR)$(BINDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(BINDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(BINDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(BINDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTPGMFLAGS) xvkbd $(DESTDIR)$(BINDIR)/xvkbd -+ -+all:: xvkbd.$(MANNEWSUFFIX) -+ -+xvkbd.$(MANNEWSUFFIX): xvkbd.$(MANSRCSUFFIX) -+ $(RM) $@ -+ if test -z "$(PREPROCESSMANPAGES)" ; then \ -+ cd `dirname xvkbd` && \ -+ $(LN) `basename xvkbd.$(MANSRCSUFFIX)` `basename $@`; \ -+ else \ -+ $(RAWCPP) $(MANDEFS) $(EXTRAMANDEFS) \ -+ < xvkbd.$(MANSRCSUFFIX) | sed -e '/^# *[0-9][0-9]* *.*$$/d' -e '/^#line *[0-9][0-9]* *.*$$/d' -e '/^[ ]*XCOMM$$/s/XCOMM/#/' -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/#/' -e '/^[ ]*XHASH/s/XHASH/#/' -e '/\@\@$$/s/\@\@$$/\\/' >$@; \ -+ fi -+ -+cleandir:: -+ $(RM) xvkbd.$(MANNEWSUFFIX) -+ -+install.man:: xvkbd.$(MANNEWSUFFIX) -+ @if [ -d $(DESTDIR)$(MANDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(MANDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(MANDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(MANDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTMANFLAGS) xvkbd.$(MANNEWSUFFIX) $(DESTDIR)$(MANDIR)/xvkbd.$(MANSUFFIX) -+ -+depend:: -+ $(DEPEND) $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- $(SRCS) -+ -+lint: -+ $(LINT) $(LINTFLAGS) $(SRCS) $(LINTLIBS) -+lint1: -+ $(LINT) $(LINTFLAGS) $(FILE) $(LINTLIBS) -+ -+cleandir:: -+ $(RM) xvkbd -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-belgian.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-belgian.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-belgian -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-common.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-common.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-common -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-danish.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-danish.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-danish -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-fitaly.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-fitaly.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-fitaly -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-french.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-french.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-french -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-french2.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-french2.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-french2 -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-german.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-german.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-german -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-greek.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-greek.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-greek -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-hebrew.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-hebrew.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-hebrew -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-icelandic.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-icelandic.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-icelandic -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-italian.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-italian.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-italian -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-jisx6002.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-jisx6002.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-jisx6002 -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-jisx6004.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-jisx6004.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-jisx6004 -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-korean.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-korean.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-korean -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-latin1.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-latin1.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-latin1 -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-norwegian.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-norwegian.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-norwegian -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-portuguese.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-portuguese.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-portuguese -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-slovene.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-slovene.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-slovene -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-small.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-small.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-small -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-spanish.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-spanish.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-spanish -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-swedish.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-swedish.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-swedish -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-swissgerman.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-swissgerman.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-swissgerman -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-turkish.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-turkish.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-turkish -+ -+install:: -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ $(RM) $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ fi -+ @if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(LIBDIR)/. ]; then \ -+ (set -x; rm -f $(DESTDIR)$(LIBDIR)/.); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(LIBDIR)/.); \ -+ fi -+ @if [ -d $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(CONFDIR)/app-defaults ]; then \ -+ (set -x; rm -f $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(CONFDIR)/app-defaults); \ -+ fi -+ @for flag in ${MAKEFLAGS} ''; do \ -+ case "$$flag" in *=*) ;; --*) ;; *[i]*) set +e;; esac; done; \ -+ if [ -d $(DESTDIR)$(LIBDIR)/. ]; then \ -+ RELPATH=`echo $(LIBDIR)/. | \ -+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ -+ cd $(DESTDIR)$(LIBDIR)/.; \ -+ if [ -d app-defaults -a ! -h app-defaults ]; then \ -+ (cd app-defaults; tar cf - . | \ -+ (cd $(DESTDIR)$(CONFDIR)/app-defaults; \ -+ tar xf -; exit 0); exit 0); \ -+ fi; \ -+ $(RM) -r app-defaults; \ -+ $(LN) $${RELPATH}$(CONFDIR)/app-defaults .; \ -+ fi -+ -+install:: XVkbd-uk.ad -+ @if [ -d $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ set +x; \ -+ else \ -+ if [ -h $(DESTDIR)$(XAPPLOADDIR) ]; then \ -+ (set -x; rm -f $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi; \ -+ (set -x; $(MKDIRHIER) $(DESTDIR)$(XAPPLOADDIR)); \ -+ fi -+ $(INSTALL) $(INSTALLFLAGS) $(INSTAPPFLAGS) XVkbd-uk.ad $(DESTDIR)$(XAPPLOADDIR)/XVkbd-uk -+ -+# ============================ -+# These rules are only for me -+ -+_distclean: cleandir -+ -rm Makefile -+ -+XVkbd-common.h: XVkbd-common.ad -+ -which ad2c > /dev/null && ad2c XVkbd-common.ad > XVkbd-common.h -+ -+HTML = $(HOME)/public_html/homepage3.nifty.com/xvkbd/index.html -+_readme: -+ -[ -f $(HTML) ] && html2man $(HTML) > xvkbd.man -+ ( echo ".pl 10000"; echo ".ll 75"; echo ".hy 0"; echo ".ad l" ) | cat - xvkbd.man | groff -Tascii -man | sed 's/.//g' | head -9000 | cat -s | tail +3 > README -+ -+# ============================ -+ -+# ---------------------------------------------------------------------- -+# common rules for all Makefiles - do not edit -+ -+.c.i: -+ $(RM) $@ -+ $(CC) -E $(CFLAGS) $(_NOOP_) $*.c > $@ -+ -+.SUFFIXES: .ii -+ -+.cc.ii: -+ $(RM) $@ -+ $(CC) -E $(CFLAGS) $(_NOOP_) $*.cc > $@ -+ -+.SUFFIXES: .s -+ -+.c.s: -+ $(RM) $@ -+ $(CC) -S $(CFLAGS) $(_NOOP_) $*.c -+ -+.cc.s: -+ $(RM) $@ -+ $(CC) -S $(CFLAGS) $(_NOOP_) $*.cc -+ -+emptyrule:: -+ -+cleandir:: -+ $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut "#"* -+ -+Makefile:: -+ -@if [ -f Makefile ]; then set -x; \ -+ $(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \ -+ else exit 0; fi -+ $(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR) -+ -+tags:: -+ $(TAGS) -w *.[ch] -+ $(TAGS) -xw *.[ch] > TAGS -+ -+man_keywords:: -+ -+html_index:: -+ -+clean:: cleandir -+ -+distclean:: cleandir -+ -+# ---------------------------------------------------------------------- -+# empty rules for directories that do not have SUBDIRS - do not edit -+ -+install:: -+ @echo "install in $(CURRENT_DIR) done" -+ -+install.man:: -+ @echo "install.man in $(CURRENT_DIR) done" -+ -+install.sdk:: -+ @echo "install.sdk in $(CURRENT_DIR) done" -+ -+Makefiles:: -+ -+includes:: -+ -+depend:: -+ -+distclean:: -+ $(RM) Makefile Makefile.dep -+ -+# ---------------------------------------------------------------------- -+# dependencies generated by makedepend -+ diff --git a/package/yajl/0001-math-link.patch b/package/yajl/0001-math-link.patch new file mode 100644 index 0000000000..355a24856f --- /dev/null +++ b/package/yajl/0001-math-link.patch @@ -0,0 +1,24 @@ +[PATCH] fix json_reformat linking on uClibc + +json_reformat calls yajl_gen_* functions, which internally use isnan() / +isinf(). On Glibc, these are provided by libc, but on uClibc you need to +link with -lm (like the spec says), so ensure we do so. + +Signed-off-by: Peter Korsgaard +--- + reformatter/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: yajl-2.0.2/reformatter/CMakeLists.txt +=================================================================== +--- yajl-2.0.2.orig/reformatter/CMakeLists.txt ++++ yajl-2.0.2/reformatter/CMakeLists.txt +@@ -26,7 +26,7 @@ + + ADD_EXECUTABLE(json_reformat ${SRCS}) + +-TARGET_LINK_LIBRARIES(json_reformat yajl_s) ++TARGET_LINK_LIBRARIES(json_reformat yajl_s m) + + # copy the binary into the output directory + GET_TARGET_PROPERTY(binPath json_reformat LOCATION) diff --git a/package/yajl/0002-cmake-disable-shared-library-build-when-BUILD_SHARED.patch b/package/yajl/0002-cmake-disable-shared-library-build-when-BUILD_SHARED.patch new file mode 100644 index 0000000000..261c486657 --- /dev/null +++ b/package/yajl/0002-cmake-disable-shared-library-build-when-BUILD_SHARED.patch @@ -0,0 +1,44 @@ +From bb4fb7ff71fd6cadd9c1bf8716845a91e5998c0c Mon Sep 17 00:00:00 2001 +From: Samuel Martin +Date: Sun, 31 Aug 2014 00:39:11 +0200 +Subject: [PATCH 2/2] cmake: disable shared library build when + BUILD_SHARED_LIBS is off + +Signed-off-by: Samuel Martin +--- + src/CMakeLists.txt | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index e36b736..6a24424 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -37,6 +37,7 @@ SET(LIBRARY_OUTPUT_PATH ${libDir}) + + ADD_LIBRARY(yajl_s STATIC ${SRCS} ${HDRS} ${PUB_HDRS}) + ++IF(BUILD_SHARED_LIBS) + ADD_LIBRARY(yajl SHARED ${SRCS} ${HDRS} ${PUB_HDRS}) + + #### setup shared library version number +@@ -51,6 +52,7 @@ IF(APPLE) + SET_TARGET_PROPERTIES(yajl PROPERTIES + INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") + ENDIF(APPLE) ++ENDIF(BUILD_SHARED_LIBS) + + #### build up an sdk as a post build step + +@@ -78,7 +80,9 @@ INCLUDE_DIRECTORIES(${incDir}/..) + IF(NOT WIN32) + # at build time you may specify the cmake variable LIB_SUFFIX to handle + # 64-bit systems which use 'lib64' ++ IF(BUILD_SHARED_LIBS) + INSTALL(TARGETS yajl LIBRARY DESTINATION lib${LIB_SUFFIX}) ++ ENDIF(BUILD_SHARED_LIBS) + INSTALL(TARGETS yajl_s ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(FILES ${PUB_HDRS} DESTINATION include/yajl) + INSTALL(FILES ${incDir}/yajl_version.h DESTINATION include/yajl) +-- +2.1.0 + diff --git a/package/yajl/yajl-0001-math-link.patch b/package/yajl/yajl-0001-math-link.patch deleted file mode 100644 index 355a24856f..0000000000 --- a/package/yajl/yajl-0001-math-link.patch +++ /dev/null @@ -1,24 +0,0 @@ -[PATCH] fix json_reformat linking on uClibc - -json_reformat calls yajl_gen_* functions, which internally use isnan() / -isinf(). On Glibc, these are provided by libc, but on uClibc you need to -link with -lm (like the spec says), so ensure we do so. - -Signed-off-by: Peter Korsgaard ---- - reformatter/CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: yajl-2.0.2/reformatter/CMakeLists.txt -=================================================================== ---- yajl-2.0.2.orig/reformatter/CMakeLists.txt -+++ yajl-2.0.2/reformatter/CMakeLists.txt -@@ -26,7 +26,7 @@ - - ADD_EXECUTABLE(json_reformat ${SRCS}) - --TARGET_LINK_LIBRARIES(json_reformat yajl_s) -+TARGET_LINK_LIBRARIES(json_reformat yajl_s m) - - # copy the binary into the output directory - GET_TARGET_PROPERTY(binPath json_reformat LOCATION) diff --git a/package/yajl/yajl-0002-cmake-disable-shared-library-build-when-BUILD_SHARED.patch b/package/yajl/yajl-0002-cmake-disable-shared-library-build-when-BUILD_SHARED.patch deleted file mode 100644 index 261c486657..0000000000 --- a/package/yajl/yajl-0002-cmake-disable-shared-library-build-when-BUILD_SHARED.patch +++ /dev/null @@ -1,44 +0,0 @@ -From bb4fb7ff71fd6cadd9c1bf8716845a91e5998c0c Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sun, 31 Aug 2014 00:39:11 +0200 -Subject: [PATCH 2/2] cmake: disable shared library build when - BUILD_SHARED_LIBS is off - -Signed-off-by: Samuel Martin ---- - src/CMakeLists.txt | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index e36b736..6a24424 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -37,6 +37,7 @@ SET(LIBRARY_OUTPUT_PATH ${libDir}) - - ADD_LIBRARY(yajl_s STATIC ${SRCS} ${HDRS} ${PUB_HDRS}) - -+IF(BUILD_SHARED_LIBS) - ADD_LIBRARY(yajl SHARED ${SRCS} ${HDRS} ${PUB_HDRS}) - - #### setup shared library version number -@@ -51,6 +52,7 @@ IF(APPLE) - SET_TARGET_PROPERTIES(yajl PROPERTIES - INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") - ENDIF(APPLE) -+ENDIF(BUILD_SHARED_LIBS) - - #### build up an sdk as a post build step - -@@ -78,7 +80,9 @@ INCLUDE_DIRECTORIES(${incDir}/..) - IF(NOT WIN32) - # at build time you may specify the cmake variable LIB_SUFFIX to handle - # 64-bit systems which use 'lib64' -+ IF(BUILD_SHARED_LIBS) - INSTALL(TARGETS yajl LIBRARY DESTINATION lib${LIB_SUFFIX}) -+ ENDIF(BUILD_SHARED_LIBS) - INSTALL(TARGETS yajl_s ARCHIVE DESTINATION lib${LIB_SUFFIX}) - INSTALL(FILES ${PUB_HDRS} DESTINATION include/yajl) - INSTALL(FILES ${incDir}/yajl_version.h DESTINATION include/yajl) --- -2.1.0 - diff --git a/package/ympd/0002-only-c-language.patch b/package/ympd/0002-only-c-language.patch new file mode 100644 index 0000000000..df5734c35e --- /dev/null +++ b/package/ympd/0002-only-c-language.patch @@ -0,0 +1,21 @@ +ympd is implemented only in C + +By default, CMake assumes that the project is using both C and C++. By +explicitly passing 'C' as argument of the project() macro, we tell +CMake that only C is used, which prevents CMake from checking if a C++ +compiler exists. + +Signed-off-by: Thomas Petazzoni + +Index: b/CMakeLists.txt +=================================================================== +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,6 +1,6 @@ + cmake_minimum_required(VERSION 2.6) + +-project (ympd) ++project (ympd C) + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/") + set(CPACK_PACKAGE_VERSION_MAJOR "1") + set(CPACK_PACKAGE_VERSION_MINOR "2") diff --git a/package/ympd/ympd-0002-only-c-language.patch b/package/ympd/ympd-0002-only-c-language.patch deleted file mode 100644 index df5734c35e..0000000000 --- a/package/ympd/ympd-0002-only-c-language.patch +++ /dev/null @@ -1,21 +0,0 @@ -ympd is implemented only in C - -By default, CMake assumes that the project is using both C and C++. By -explicitly passing 'C' as argument of the project() macro, we tell -CMake that only C is used, which prevents CMake from checking if a C++ -compiler exists. - -Signed-off-by: Thomas Petazzoni - -Index: b/CMakeLists.txt -=================================================================== ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,6 +1,6 @@ - cmake_minimum_required(VERSION 2.6) - --project (ympd) -+project (ympd C) - set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/") - set(CPACK_PACKAGE_VERSION_MAJOR "1") - set(CPACK_PACKAGE_VERSION_MINOR "2") diff --git a/package/zic/0001-fix-dependencies.patch b/package/zic/0001-fix-dependencies.patch new file mode 100644 index 0000000000..e1cbc12f0d --- /dev/null +++ b/package/zic/0001-fix-dependencies.patch @@ -0,0 +1,27 @@ +From 4a2a55a640dd9316dac5f31832064f28f59ab0ae Mon Sep 17 00:00:00 2001 +From: Richard Braun +Date: Fri, 4 Jan 2013 10:57:24 +0100 +Subject: [PATCH] zic: fix dependencies + +The yearistype script is provided by the tzdata package, and is required +at runtime only. +--- + Makefile | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/Makefile b/Makefile +index d76a81e..30df7dc 100644 +--- a/Makefile ++++ b/Makefile +@@ -349,7 +349,7 @@ version.h: + zdump: $(TZDOBJS) + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZDOBJS) $(LDLIBS) + +-zic: $(TZCOBJS) yearistype ++zic: $(TZCOBJS) + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZCOBJS) $(LDLIBS) + + yearistype: yearistype.sh +-- +1.7.2.5 + diff --git a/package/zic/zic-fix-dependencies.patch b/package/zic/zic-fix-dependencies.patch deleted file mode 100644 index e1cbc12f0d..0000000000 --- a/package/zic/zic-fix-dependencies.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 4a2a55a640dd9316dac5f31832064f28f59ab0ae Mon Sep 17 00:00:00 2001 -From: Richard Braun -Date: Fri, 4 Jan 2013 10:57:24 +0100 -Subject: [PATCH] zic: fix dependencies - -The yearistype script is provided by the tzdata package, and is required -at runtime only. ---- - Makefile | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/Makefile b/Makefile -index d76a81e..30df7dc 100644 ---- a/Makefile -+++ b/Makefile -@@ -349,7 +349,7 @@ version.h: - zdump: $(TZDOBJS) - $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZDOBJS) $(LDLIBS) - --zic: $(TZCOBJS) yearistype -+zic: $(TZCOBJS) - $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZCOBJS) $(LDLIBS) - - yearistype: yearistype.sh --- -1.7.2.5 - diff --git a/package/zlog/0001-fix-compiling-on-Buildroot.patch b/package/zlog/0001-fix-compiling-on-Buildroot.patch new file mode 100644 index 0000000000..32aa7d6db7 --- /dev/null +++ b/package/zlog/0001-fix-compiling-on-Buildroot.patch @@ -0,0 +1,32 @@ +From a9f6a55bdb29a2bebc96a68ab53077906c25a9df Mon Sep 17 00:00:00 2001 +From: Yegor Yefremov +Date: Wed, 22 Jan 2014 15:04:42 +0100 +Subject: [PATCH] Fix compiling on Buildroot + +Buildroot always specifies -D_LARGEFILE_SOURCE, -D_LARGEFILE64_SOURCE, +-D_FILE_OFFSET_BITS=64, so define them only if they are not already +defined. + +Signed-off-by: Yegor Yefremov +--- + src/fmacros.h | 4 ++++ + 1 files changed, 4 insertions(+), 0 deletions(-) + +diff --git a/src/fmacros.h b/src/fmacros.h +index fa37948..059dfeb 100644 +--- a/src/fmacros.h ++++ b/src/fmacros.h +@@ -14,7 +14,11 @@ + #define _XOPEN_SOURCE + #endif + ++#ifndef _LARGEFILE_SOURCE + #define _LARGEFILE_SOURCE ++#endif ++#ifndef _FILE_OFFSET_BITS + #define _FILE_OFFSET_BITS 64 ++#endif + + #endif +-- +1.7.7 diff --git a/package/zlog/0002-compile-Remove-Werror-and-avoid-build-failures-becau.patch b/package/zlog/0002-compile-Remove-Werror-and-avoid-build-failures-becau.patch new file mode 100644 index 0000000000..0f1b912387 --- /dev/null +++ b/package/zlog/0002-compile-Remove-Werror-and-avoid-build-failures-becau.patch @@ -0,0 +1,38 @@ +From 4a08c9e07fa8b7a1d6a76b927ea97e3eaa784845 Mon Sep 17 00:00:00 2001 +From: Ezequiel Garcia +Date: Sun, 26 Oct 2014 16:16:25 -0300 +Subject: [PATCH] compile: Remove -Werror and avoid build failures because of + warnings + +Using -Werror on production is a bad idea, as otherwise harmless warnings +get treated as errors breaking builds. This is currently the case with +Nios-II architecture toolchain, warning about a deprecated macro: + +../usr/nios2-buildroot-linux-gnu/sysroot/usr/include/features.h:148:3: +error: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Werror=cpp] + # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" + +Instead of trying to fix the macro, let's fix the real issue here, +and remove -Werror. + +Signed-off-by: Ezequiel Garcia +--- + src/makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/makefile b/src/makefile +index 294dc08..4ac4c43 100644 +--- a/src/makefile ++++ b/src/makefile +@@ -32,7 +32,7 @@ ZLOG_MINOR=2 + # Fallback to gcc when $CC is not in $PATH. + CC:=$(shell sh -c 'type $(CC) >/dev/null 2>/dev/null && echo $(CC) || echo gcc') + OPTIMIZATION?=-O2 +-WARNINGS=-Wall -Werror -Wstrict-prototypes -fwrapv ++WARNINGS=-Wall -Wstrict-prototypes -fwrapv + DEBUG?= -g -ggdb + REAL_CFLAGS=$(OPTIMIZATION) -fPIC -pthread $(CFLAGS) $(WARNINGS) $(DEBUG) + REAL_LDFLAGS=$(LDFLAGS) -pthread +-- +2.1.0 + diff --git a/package/zlog/zlog-01-fix-compiling-on-Buildroot.patch b/package/zlog/zlog-01-fix-compiling-on-Buildroot.patch deleted file mode 100644 index 32aa7d6db7..0000000000 --- a/package/zlog/zlog-01-fix-compiling-on-Buildroot.patch +++ /dev/null @@ -1,32 +0,0 @@ -From a9f6a55bdb29a2bebc96a68ab53077906c25a9df Mon Sep 17 00:00:00 2001 -From: Yegor Yefremov -Date: Wed, 22 Jan 2014 15:04:42 +0100 -Subject: [PATCH] Fix compiling on Buildroot - -Buildroot always specifies -D_LARGEFILE_SOURCE, -D_LARGEFILE64_SOURCE, --D_FILE_OFFSET_BITS=64, so define them only if they are not already -defined. - -Signed-off-by: Yegor Yefremov ---- - src/fmacros.h | 4 ++++ - 1 files changed, 4 insertions(+), 0 deletions(-) - -diff --git a/src/fmacros.h b/src/fmacros.h -index fa37948..059dfeb 100644 ---- a/src/fmacros.h -+++ b/src/fmacros.h -@@ -14,7 +14,11 @@ - #define _XOPEN_SOURCE - #endif - -+#ifndef _LARGEFILE_SOURCE - #define _LARGEFILE_SOURCE -+#endif -+#ifndef _FILE_OFFSET_BITS - #define _FILE_OFFSET_BITS 64 -+#endif - - #endif --- -1.7.7 diff --git a/package/zlog/zlog-02-compile-Remove-Werror-and-avoid-build-failures-becau.patch b/package/zlog/zlog-02-compile-Remove-Werror-and-avoid-build-failures-becau.patch deleted file mode 100644 index 0f1b912387..0000000000 --- a/package/zlog/zlog-02-compile-Remove-Werror-and-avoid-build-failures-becau.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 4a08c9e07fa8b7a1d6a76b927ea97e3eaa784845 Mon Sep 17 00:00:00 2001 -From: Ezequiel Garcia -Date: Sun, 26 Oct 2014 16:16:25 -0300 -Subject: [PATCH] compile: Remove -Werror and avoid build failures because of - warnings - -Using -Werror on production is a bad idea, as otherwise harmless warnings -get treated as errors breaking builds. This is currently the case with -Nios-II architecture toolchain, warning about a deprecated macro: - -../usr/nios2-buildroot-linux-gnu/sysroot/usr/include/features.h:148:3: -error: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Werror=cpp] - # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" - -Instead of trying to fix the macro, let's fix the real issue here, -and remove -Werror. - -Signed-off-by: Ezequiel Garcia ---- - src/makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/makefile b/src/makefile -index 294dc08..4ac4c43 100644 ---- a/src/makefile -+++ b/src/makefile -@@ -32,7 +32,7 @@ ZLOG_MINOR=2 - # Fallback to gcc when $CC is not in $PATH. - CC:=$(shell sh -c 'type $(CC) >/dev/null 2>/dev/null && echo $(CC) || echo gcc') - OPTIMIZATION?=-O2 --WARNINGS=-Wall -Werror -Wstrict-prototypes -fwrapv -+WARNINGS=-Wall -Wstrict-prototypes -fwrapv - DEBUG?= -g -ggdb - REAL_CFLAGS=$(OPTIMIZATION) -fPIC -pthread $(CFLAGS) $(WARNINGS) $(DEBUG) - REAL_LDFLAGS=$(LDFLAGS) -pthread --- -2.1.0 - diff --git a/package/znc/0001-time.patch b/package/znc/0001-time.patch new file mode 100644 index 0000000000..38661398a1 --- /dev/null +++ b/package/znc/0001-time.patch @@ -0,0 +1,303 @@ +From 18d6daf4793fb7e9750175bd46b17fe1965b78dd Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 6 May 2014 22:00:11 +0200 +Subject: [PATCH] Add missing includes + +Submitted upstream at https://github.com/znc/znc/pull/569. + +Signed-off-by: Thomas Petazzoni +--- + modules/adminlog.cpp | 1 + + modules/awaystore.cpp | 2 ++ + modules/crypt.cpp | 2 ++ + modules/ctcpflood.cpp | 2 ++ + modules/flooddetach.cpp | 2 ++ + modules/lastseen.cpp | 2 ++ + modules/log.cpp | 2 ++ + modules/savebuff.cpp | 2 ++ + modules/schat.cpp | 2 ++ + modules/simple_away.cpp | 2 ++ + src/Buffer.cpp | 2 ++ + src/Csocket.cpp | 2 ++ + src/FileUtils.cpp | 2 ++ + src/HTTPSock.cpp | 1 + + src/IRCSock.cpp | 2 ++ + src/User.cpp | 1 + + src/Utils.cpp | 2 ++ + src/WebModules.cpp | 2 ++ + src/ZNCDebug.cpp | 1 + + src/main.cpp | 1 + + src/znc.cpp | 2 ++ + 21 files changed, 37 insertions(+) + +diff --git a/modules/adminlog.cpp b/modules/adminlog.cpp +index 77577b1..16dd665 100644 +--- a/modules/adminlog.cpp ++++ b/modules/adminlog.cpp +@@ -20,6 +20,7 @@ + #include + + #include ++#include + + class CAdminLogMod : public CModule { + public: +diff --git a/modules/awaystore.cpp b/modules/awaystore.cpp +index da75260..56349df 100644 +--- a/modules/awaystore.cpp ++++ b/modules/awaystore.cpp +@@ -30,6 +30,8 @@ + #include + #include + ++#include ++ + using std::vector; + using std::map; + +diff --git a/modules/crypt.cpp b/modules/crypt.cpp +index fcc664b..8f9018f 100644 +--- a/modules/crypt.cpp ++++ b/modules/crypt.cpp +@@ -34,6 +34,8 @@ + #include + #include + ++#include ++ + #define REQUIRESSL 1 + #define NICK_PREFIX_KEY "[nick-prefix]" + +diff --git a/modules/ctcpflood.cpp b/modules/ctcpflood.cpp +index ac154e2..f2ce27f 100644 +--- a/modules/ctcpflood.cpp ++++ b/modules/ctcpflood.cpp +@@ -17,6 +17,8 @@ + #include + #include + ++#include ++ + class CCtcpFloodMod : public CModule { + public: + MODCONSTRUCTOR(CCtcpFloodMod) { +diff --git a/modules/flooddetach.cpp b/modules/flooddetach.cpp +index f4ed892..0ffb651 100644 +--- a/modules/flooddetach.cpp ++++ b/modules/flooddetach.cpp +@@ -17,6 +17,8 @@ + #include + #include + ++#include ++ + using std::map; + + class CFloodDetachMod : public CModule { +diff --git a/modules/lastseen.cpp b/modules/lastseen.cpp +index bd6eb9b..b3b209f 100644 +--- a/modules/lastseen.cpp ++++ b/modules/lastseen.cpp +@@ -17,6 +17,8 @@ + #include + #include + ++#include ++ + using std::map; + using std::pair; + using std::multimap; +diff --git a/modules/log.cpp b/modules/log.cpp +index 260b577..e718d76 100644 +--- a/modules/log.cpp ++++ b/modules/log.cpp +@@ -21,6 +21,8 @@ + #include + #include + ++#include ++ + using std::vector; + + class CLogMod: public CModule { +diff --git a/modules/savebuff.cpp b/modules/savebuff.cpp +index 8a85153..2e0ed5c 100644 +--- a/modules/savebuff.cpp ++++ b/modules/savebuff.cpp +@@ -29,6 +29,8 @@ + #include + #include + ++#include ++ + using std::vector; + + #define CRYPT_VERIFICATION_TOKEN "::__:SAVEBUFF:__::" +diff --git a/modules/schat.cpp b/modules/schat.cpp +index 98d03b4..5a7f1a0 100644 +--- a/modules/schat.cpp ++++ b/modules/schat.cpp +@@ -25,6 +25,8 @@ + #include + #include + ++#include ++ + using std::pair; + using std::stringstream; + using std::map; +diff --git a/modules/simple_away.cpp b/modules/simple_away.cpp +index a1e5927..67faeea 100644 +--- a/modules/simple_away.cpp ++++ b/modules/simple_away.cpp +@@ -17,6 +17,8 @@ + #include + #include + ++#include ++ + #define SIMPLE_AWAY_DEFAULT_REASON "Auto away at %s" + #define SIMPLE_AWAY_DEFAULT_TIME 60 + +diff --git a/src/Buffer.cpp b/src/Buffer.cpp +index eefbb29..55ecd72 100644 +--- a/src/Buffer.cpp ++++ b/src/Buffer.cpp +@@ -17,6 +17,8 @@ + #include + #include + ++#include ++ + CBufLine::CBufLine(const CString& sFormat, const CString& sText, const timeval* ts) { + m_sFormat = sFormat; + m_sText = sText; +diff --git a/src/Csocket.cpp b/src/Csocket.cpp +index 2e4cb14..ca6ed38 100644 +--- a/src/Csocket.cpp ++++ b/src/Csocket.cpp +@@ -53,6 +53,8 @@ + #include + #endif /* HAVE_ICU */ + ++#include ++ + #include + + #define CS_SRANDBUFFER 128 +diff --git a/src/FileUtils.cpp b/src/FileUtils.cpp +index 7224a49..4c8f1d3 100644 +--- a/src/FileUtils.cpp ++++ b/src/FileUtils.cpp +@@ -23,6 +23,8 @@ + #include + #include + ++#include ++ + #ifndef HAVE_LSTAT + # define lstat(a, b) stat(a, b) + #endif +diff --git a/src/HTTPSock.cpp b/src/HTTPSock.cpp +index ab03130..36bf52b 100644 +--- a/src/HTTPSock.cpp ++++ b/src/HTTPSock.cpp +@@ -18,6 +18,7 @@ + #include + #include + ++#include + + #ifdef HAVE_ZLIB + #include +diff --git a/src/IRCSock.cpp b/src/IRCSock.cpp +index 2ef12f6..d0c56a7 100644 +--- a/src/IRCSock.cpp ++++ b/src/IRCSock.cpp +@@ -20,6 +20,8 @@ + #include + #include + ++#include ++ + using std::set; + using std::vector; + using std::map; +diff --git a/src/User.cpp b/src/User.cpp +index cf664f1..4a64f83 100644 +--- a/src/User.cpp ++++ b/src/User.cpp +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + + using std::vector; + using std::set; +diff --git a/src/Utils.cpp b/src/Utils.cpp +index 33c83de..e0862dd 100644 +--- a/src/Utils.cpp ++++ b/src/Utils.cpp +@@ -26,6 +26,8 @@ + #include + #include + ++#include ++ + using std::map; + using std::stringstream; + using std::vector; +diff --git a/src/WebModules.cpp b/src/WebModules.cpp +index d61ba23..ddd88e0 100644 +--- a/src/WebModules.cpp ++++ b/src/WebModules.cpp +@@ -22,6 +22,8 @@ + #include + #include + ++#include ++ + using std::pair; + using std::vector; + +diff --git a/src/ZNCDebug.cpp b/src/ZNCDebug.cpp +index 01d06b4..cc83298 100644 +--- a/src/ZNCDebug.cpp ++++ b/src/ZNCDebug.cpp +@@ -18,6 +18,7 @@ + #include + #include + #include ++#include + + bool CDebug::stdoutIsTTY = true; + bool CDebug::debug = +diff --git a/src/main.cpp b/src/main.cpp +index ac9d691..7d74f8e 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -16,6 +16,7 @@ + + #include + #include ++#include + + using std::cout; + using std::endl; +diff --git a/src/znc.cpp b/src/znc.cpp +index 9e66f3d..dce1372 100644 +--- a/src/znc.cpp ++++ b/src/znc.cpp +@@ -21,6 +21,8 @@ + #include + #include + ++#include ++ + using std::endl; + using std::cout; + using std::map; +-- +1.9.2 + diff --git a/package/znc/znc-01-time.patch b/package/znc/znc-01-time.patch deleted file mode 100644 index 38661398a1..0000000000 --- a/package/znc/znc-01-time.patch +++ /dev/null @@ -1,303 +0,0 @@ -From 18d6daf4793fb7e9750175bd46b17fe1965b78dd Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 6 May 2014 22:00:11 +0200 -Subject: [PATCH] Add missing includes - -Submitted upstream at https://github.com/znc/znc/pull/569. - -Signed-off-by: Thomas Petazzoni ---- - modules/adminlog.cpp | 1 + - modules/awaystore.cpp | 2 ++ - modules/crypt.cpp | 2 ++ - modules/ctcpflood.cpp | 2 ++ - modules/flooddetach.cpp | 2 ++ - modules/lastseen.cpp | 2 ++ - modules/log.cpp | 2 ++ - modules/savebuff.cpp | 2 ++ - modules/schat.cpp | 2 ++ - modules/simple_away.cpp | 2 ++ - src/Buffer.cpp | 2 ++ - src/Csocket.cpp | 2 ++ - src/FileUtils.cpp | 2 ++ - src/HTTPSock.cpp | 1 + - src/IRCSock.cpp | 2 ++ - src/User.cpp | 1 + - src/Utils.cpp | 2 ++ - src/WebModules.cpp | 2 ++ - src/ZNCDebug.cpp | 1 + - src/main.cpp | 1 + - src/znc.cpp | 2 ++ - 21 files changed, 37 insertions(+) - -diff --git a/modules/adminlog.cpp b/modules/adminlog.cpp -index 77577b1..16dd665 100644 ---- a/modules/adminlog.cpp -+++ b/modules/adminlog.cpp -@@ -20,6 +20,7 @@ - #include - - #include -+#include - - class CAdminLogMod : public CModule { - public: -diff --git a/modules/awaystore.cpp b/modules/awaystore.cpp -index da75260..56349df 100644 ---- a/modules/awaystore.cpp -+++ b/modules/awaystore.cpp -@@ -30,6 +30,8 @@ - #include - #include - -+#include -+ - using std::vector; - using std::map; - -diff --git a/modules/crypt.cpp b/modules/crypt.cpp -index fcc664b..8f9018f 100644 ---- a/modules/crypt.cpp -+++ b/modules/crypt.cpp -@@ -34,6 +34,8 @@ - #include - #include - -+#include -+ - #define REQUIRESSL 1 - #define NICK_PREFIX_KEY "[nick-prefix]" - -diff --git a/modules/ctcpflood.cpp b/modules/ctcpflood.cpp -index ac154e2..f2ce27f 100644 ---- a/modules/ctcpflood.cpp -+++ b/modules/ctcpflood.cpp -@@ -17,6 +17,8 @@ - #include - #include - -+#include -+ - class CCtcpFloodMod : public CModule { - public: - MODCONSTRUCTOR(CCtcpFloodMod) { -diff --git a/modules/flooddetach.cpp b/modules/flooddetach.cpp -index f4ed892..0ffb651 100644 ---- a/modules/flooddetach.cpp -+++ b/modules/flooddetach.cpp -@@ -17,6 +17,8 @@ - #include - #include - -+#include -+ - using std::map; - - class CFloodDetachMod : public CModule { -diff --git a/modules/lastseen.cpp b/modules/lastseen.cpp -index bd6eb9b..b3b209f 100644 ---- a/modules/lastseen.cpp -+++ b/modules/lastseen.cpp -@@ -17,6 +17,8 @@ - #include - #include - -+#include -+ - using std::map; - using std::pair; - using std::multimap; -diff --git a/modules/log.cpp b/modules/log.cpp -index 260b577..e718d76 100644 ---- a/modules/log.cpp -+++ b/modules/log.cpp -@@ -21,6 +21,8 @@ - #include - #include - -+#include -+ - using std::vector; - - class CLogMod: public CModule { -diff --git a/modules/savebuff.cpp b/modules/savebuff.cpp -index 8a85153..2e0ed5c 100644 ---- a/modules/savebuff.cpp -+++ b/modules/savebuff.cpp -@@ -29,6 +29,8 @@ - #include - #include - -+#include -+ - using std::vector; - - #define CRYPT_VERIFICATION_TOKEN "::__:SAVEBUFF:__::" -diff --git a/modules/schat.cpp b/modules/schat.cpp -index 98d03b4..5a7f1a0 100644 ---- a/modules/schat.cpp -+++ b/modules/schat.cpp -@@ -25,6 +25,8 @@ - #include - #include - -+#include -+ - using std::pair; - using std::stringstream; - using std::map; -diff --git a/modules/simple_away.cpp b/modules/simple_away.cpp -index a1e5927..67faeea 100644 ---- a/modules/simple_away.cpp -+++ b/modules/simple_away.cpp -@@ -17,6 +17,8 @@ - #include - #include - -+#include -+ - #define SIMPLE_AWAY_DEFAULT_REASON "Auto away at %s" - #define SIMPLE_AWAY_DEFAULT_TIME 60 - -diff --git a/src/Buffer.cpp b/src/Buffer.cpp -index eefbb29..55ecd72 100644 ---- a/src/Buffer.cpp -+++ b/src/Buffer.cpp -@@ -17,6 +17,8 @@ - #include - #include - -+#include -+ - CBufLine::CBufLine(const CString& sFormat, const CString& sText, const timeval* ts) { - m_sFormat = sFormat; - m_sText = sText; -diff --git a/src/Csocket.cpp b/src/Csocket.cpp -index 2e4cb14..ca6ed38 100644 ---- a/src/Csocket.cpp -+++ b/src/Csocket.cpp -@@ -53,6 +53,8 @@ - #include - #endif /* HAVE_ICU */ - -+#include -+ - #include - - #define CS_SRANDBUFFER 128 -diff --git a/src/FileUtils.cpp b/src/FileUtils.cpp -index 7224a49..4c8f1d3 100644 ---- a/src/FileUtils.cpp -+++ b/src/FileUtils.cpp -@@ -23,6 +23,8 @@ - #include - #include - -+#include -+ - #ifndef HAVE_LSTAT - # define lstat(a, b) stat(a, b) - #endif -diff --git a/src/HTTPSock.cpp b/src/HTTPSock.cpp -index ab03130..36bf52b 100644 ---- a/src/HTTPSock.cpp -+++ b/src/HTTPSock.cpp -@@ -18,6 +18,7 @@ - #include - #include - -+#include - - #ifdef HAVE_ZLIB - #include -diff --git a/src/IRCSock.cpp b/src/IRCSock.cpp -index 2ef12f6..d0c56a7 100644 ---- a/src/IRCSock.cpp -+++ b/src/IRCSock.cpp -@@ -20,6 +20,8 @@ - #include - #include - -+#include -+ - using std::set; - using std::vector; - using std::map; -diff --git a/src/User.cpp b/src/User.cpp -index cf664f1..4a64f83 100644 ---- a/src/User.cpp -+++ b/src/User.cpp -@@ -20,6 +20,7 @@ - #include - #include - #include -+#include - - using std::vector; - using std::set; -diff --git a/src/Utils.cpp b/src/Utils.cpp -index 33c83de..e0862dd 100644 ---- a/src/Utils.cpp -+++ b/src/Utils.cpp -@@ -26,6 +26,8 @@ - #include - #include - -+#include -+ - using std::map; - using std::stringstream; - using std::vector; -diff --git a/src/WebModules.cpp b/src/WebModules.cpp -index d61ba23..ddd88e0 100644 ---- a/src/WebModules.cpp -+++ b/src/WebModules.cpp -@@ -22,6 +22,8 @@ - #include - #include - -+#include -+ - using std::pair; - using std::vector; - -diff --git a/src/ZNCDebug.cpp b/src/ZNCDebug.cpp -index 01d06b4..cc83298 100644 ---- a/src/ZNCDebug.cpp -+++ b/src/ZNCDebug.cpp -@@ -18,6 +18,7 @@ - #include - #include - #include -+#include - - bool CDebug::stdoutIsTTY = true; - bool CDebug::debug = -diff --git a/src/main.cpp b/src/main.cpp -index ac9d691..7d74f8e 100644 ---- a/src/main.cpp -+++ b/src/main.cpp -@@ -16,6 +16,7 @@ - - #include - #include -+#include - - using std::cout; - using std::endl; -diff --git a/src/znc.cpp b/src/znc.cpp -index 9e66f3d..dce1372 100644 ---- a/src/znc.cpp -+++ b/src/znc.cpp -@@ -21,6 +21,8 @@ - #include - #include - -+#include -+ - using std::endl; - using std::cout; - using std::map; --- -1.9.2 - diff --git a/package/zxing/0001-makefile.patch b/package/zxing/0001-makefile.patch new file mode 100644 index 0000000000..66896bf327 --- /dev/null +++ b/package/zxing/0001-makefile.patch @@ -0,0 +1,30 @@ +[PATCH] add Makefile + +The scons based build system doesn't handle cross compilation, special +compiler flags or (un)installation, so add a simple makefile instead +which does. + +Signed-off-by: Peter Korsgaard +--- + cpp/core/src/Makefile | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +Index: zxing-2.0/cpp/core/src/Makefile +=================================================================== +--- /dev/null ++++ zxing-2.0/cpp/core/src/Makefile +@@ -0,0 +1,14 @@ ++override CXXFLAGS += -I. ++SRCS := $(shell find -name '*.cpp') ++ ++libzxing.a: $(SRCS:.cpp=.o) ++ $(AR) $(ARFLAGS) $@ $^ ++ ++install: libzxing.a ++ install -D -m 0644 $^ $(DESTDIR)/usr/lib/$^ ++ find -name '*.h' -exec install -m 0644 -D "{}" \ ++ "$(DESTDIR)/usr/include/{}" ";" ++ ++uninstall: ++ rm -f $(DESTDIR)/usr/lib/libzxing.a ++ rm -rf $(DESTDIR)/usr/include/zxing diff --git a/package/zxing/zxing-makefile.patch b/package/zxing/zxing-makefile.patch deleted file mode 100644 index 66896bf327..0000000000 --- a/package/zxing/zxing-makefile.patch +++ /dev/null @@ -1,30 +0,0 @@ -[PATCH] add Makefile - -The scons based build system doesn't handle cross compilation, special -compiler flags or (un)installation, so add a simple makefile instead -which does. - -Signed-off-by: Peter Korsgaard ---- - cpp/core/src/Makefile | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -Index: zxing-2.0/cpp/core/src/Makefile -=================================================================== ---- /dev/null -+++ zxing-2.0/cpp/core/src/Makefile -@@ -0,0 +1,14 @@ -+override CXXFLAGS += -I. -+SRCS := $(shell find -name '*.cpp') -+ -+libzxing.a: $(SRCS:.cpp=.o) -+ $(AR) $(ARFLAGS) $@ $^ -+ -+install: libzxing.a -+ install -D -m 0644 $^ $(DESTDIR)/usr/lib/$^ -+ find -name '*.h' -exec install -m 0644 -D "{}" \ -+ "$(DESTDIR)/usr/include/{}" ";" -+ -+uninstall: -+ rm -f $(DESTDIR)/usr/lib/libzxing.a -+ rm -rf $(DESTDIR)/usr/include/zxing