diff options
96 files changed, 1834 insertions, 272 deletions
@@ -208,6 +208,7 @@ unexport CXXFLAGS unexport GREP_OPTIONS unexport CONFIG_SITE unexport QMAKESPEC +unexport TERMINFO GNU_HOST_NAME:=$(shell support/gnuconfig/config.guess) diff --git a/boot/syslinux/syslinux-build-fix-for-uuid.patch b/boot/syslinux/syslinux-build-fix-for-uuid.patch deleted file mode 100644 index 04ff56235..000000000 --- a/boot/syslinux/syslinux-build-fix-for-uuid.patch +++ /dev/null @@ -1,15 +0,0 @@ -Author: Micah Gersten <micahg@ubuntu.com> -Description: Fix build failure with --as-needed (Closes: #654838). - -diff -Naurp syslinux.orig/utils/Makefile syslinux/utils/Makefile ---- syslinux.orig/utils/Makefile 2011-12-23 14:53:26.653571511 +0100 -+++ syslinux/utils/Makefile 2012-01-22 18:55:03.849466924 +0100 -@@ -51,7 +51,7 @@ isohdpfx.c: $(ISOHDPFX) isohdpfxarray.pl - $(PERL) isohdpfxarray.pl $(ISOHDPFX) > $@ - - isohybrid: isohybrid.o isohdpfx.o -- $(CC) $(LDFLAGS) -luuid -o $@ $^ -+ $(CC) $(LDFLAGS) -o $@ $^ -luuid - - gethostip: gethostip.o - $(CC) $(LDFLAGS) -o $@ $^ diff --git a/boot/syslinux/syslinux.mk b/boot/syslinux/syslinux.mk index f63f2e06c..046bdc352 100644 --- a/boot/syslinux/syslinux.mk +++ b/boot/syslinux/syslinux.mk @@ -4,7 +4,7 @@ # ############################################################# -SYSLINUX_VERSION = 4.05 +SYSLINUX_VERSION = 4.06 SYSLINUX_SOURCE = syslinux-$(SYSLINUX_VERSION).tar.bz2 SYSLINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/boot/syslinux/4.xx/ diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in index d22e23bd7..bc5ce19da 100644 --- a/boot/uboot/Config.in +++ b/boot/uboot/Config.in @@ -212,4 +212,27 @@ config BR2_TARGET_UBOOT_SPL_NAME u-boot build. For most platform it is u-boot-spl.bin but not always. It is MLO on OMAP for example. +menuconfig BR2_TARGET_UBOOT_ENVIMAGE + bool "Environment image" + help + Generate a valid binary environment image from a text file + describing the key=value pairs of the environment. + + The environment image will be called uboot-env.bin. + +if BR2_TARGET_UBOOT_ENVIMAGE + +config BR2_TARGET_UBOOT_ENVIMAGE_SOURCE + string "Source file for environment" + help + Text file describing the environment. + +config BR2_TARGET_UBOOT_ENVIMAGE_SIZE + string "Size of environment" + help + Size of envronment, can be prefixed with 0x for hexadecimal + values. + +endif # BR2_TARGET_UBOOT_ENVIMAGE + endif # BR2_TARGET_UBOOT diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk index ea77259d1..c337e7552 100644 --- a/boot/uboot/uboot.mk +++ b/boot/uboot/uboot.mk @@ -104,6 +104,9 @@ define UBOOT_INSTALL_IMAGES_CMDS cp -dpf $(@D)/$(UBOOT_BIN) $(BINARIES_DIR)/ $(if $(BR2_TARGET_UBOOT_SPL), cp -dpf $(@D)/$(BR2_TARGET_UBOOT_SPL_NAME) $(BINARIES_DIR)/) + $(if $(BR2_TARGET_UBOOT_ENVIMAGE), + $(HOST_DIR)/usr/bin/mkenvimage -s $(BR2_TARGET_UBOOT_ENVIMAGE_SIZE) \ + -o $(BINARIES_DIR)/uboot-env.bin $(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)) endef define UBOOT_INSTALL_OMAP_IFT_IMAGE @@ -125,6 +128,19 @@ UBOOT_POST_BUILD_HOOKS += UBOOT_BUILD_OMAP_IFT UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_INSTALL_OMAP_IFT_IMAGE endif +ifeq ($(BR2_TARGET_UBOOT_ENVIMAGE),y) +# we NEED a environment settings unless we're at make source +ifeq ($(filter source,$(MAKECMDGOALS)),) +ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)),) +$(error Please define a source file for Uboot environment (BR2_TARGET_UBOOT_ENVIMAGE_SOURCE setting)) +endif +ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SIZE)),) +$(error Please provide Uboot environment size (BR2_TARGET_UBOOT_ENVIMAGE_SIZE setting)) +endif +endif +UBOOT_DEPENDENCIES += host-uboot-tools +endif + $(eval $(generic-package)) ifeq ($(BR2_TARGET_UBOOT),y) diff --git a/docs/manual/prerequisite.txt b/docs/manual/prerequisite.txt index 5a9d049e0..9d3640204 100644 --- a/docs/manual/prerequisite.txt +++ b/docs/manual/prerequisite.txt @@ -30,10 +30,6 @@ Mandatory packages ** +gcc+ (version 2.95 or any later) ** `g++` (version 2.95 or any later) ** +bash+ -** +gawk+ -** +bison+ -** +flex+ -** +gettext+ ** +patch+ ** +gzip+ ** +bzip2+ @@ -43,7 +39,6 @@ Mandatory packages ** +python+ (version 2.6 or 2.7) ** +unzip+ ** +rsync+ -** +texinfo+ (required for internal Buildroot toolchain backend) * Source fetching tools: ** +wget+ diff --git a/linux/Config.in b/linux/Config.in index 438140c4b..e37a97105 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -21,7 +21,7 @@ choice prompt "Kernel version" config BR2_LINUX_KERNEL_3_8 - bool "3.8.3" + bool "3.8.4" config BR2_LINUX_KERNEL_SAME_AS_HEADERS bool "Same as toolchain kernel headers" @@ -76,7 +76,7 @@ config BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION config BR2_LINUX_KERNEL_VERSION string - default "3.8.3" if BR2_LINUX_KERNEL_3_8 + default "3.8.4" if BR2_LINUX_KERNEL_3_8 default BR2_DEFAULT_KERNEL_HEADERS if BR2_LINUX_KERNEL_SAME_AS_HEADERS default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE if BR2_LINUX_KERNEL_CUSTOM_VERSION default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL diff --git a/package/Config.in b/package/Config.in index 94e279b3a..be1aa9967 100644 --- a/package/Config.in +++ b/package/Config.in @@ -106,6 +106,7 @@ endmenu menu "Graphic libraries and applications (graphic/text)" comment "Graphic applications" +source "package/gnuplot/Config.in" source "package/rrdtool/Config.in" comment "graphic libraries" @@ -561,12 +562,14 @@ source "package/libglib2/Config.in" source "package/libical/Config.in" source "package/libnspr/Config.in" source "package/libpfm4/Config.in" +source "package/libpthsem/Config.in" source "package/libsigc/Config.in" source "package/libtasn1/Config.in" source "package/libtpl/Config.in" source "package/libseccomp/Config.in" source "package/liburcu/Config.in" source "package/linux-pam/Config.in" +source "package/log4cxx/Config.in" source "package/lttng-libust/Config.in" source "package/mpc/Config.in" source "package/mpfr/Config.in" @@ -630,6 +633,7 @@ source "package/argus/Config.in" source "package/arptables/Config.in" source "package/avahi/Config.in" source "package/axel/Config.in" +source "package/bcusdk/Config.in" source "package/bluez_utils/Config.in" source "package/boa/Config.in" source "package/bind/Config.in" @@ -774,6 +778,7 @@ source "package/bash/Config.in" source "package/dash/Config.in" endif source "package/dialog/Config.in" +source "package/dtach/Config.in" source "package/file/Config.in" source "package/gnupg/Config.in" source "package/inotify-tools/Config.in" diff --git a/package/apr-util/apr-util.mk b/package/apr-util/apr-util.mk index b9ff904c7..94b181724 100644 --- a/package/apr-util/apr-util.mk +++ b/package/apr-util/apr-util.mk @@ -5,9 +5,16 @@ ############################################################# APR_UTIL_VERSION = 1.4.1 APR_UTIL_SITE = http://archive.apache.org/dist/apr +APR_UTIL_LICENSE = Apache-2.0 +APR_UTIL_LICENSE_FILES = LICENSE APR_UTIL_INSTALL_STAGING = YES APR_UTIL_DEPENDENCIES = apr sqlite neon zlib APR_UTIL_CONF_OPT = \ - --with-apr=$(BUILD_DIR)/apr-$(APR_VERSION) \ + --with-apr=$(STAGING_DIR)/usr/bin/apr-1-config +APR_UTIL_CONFIG_SCRIPTS = apu-1-config + +# When iconv is available, then use it to provide charset conversion +# features. +APR_UTIL_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) $(eval $(autotools-package)) diff --git a/package/apr/apr.mk b/package/apr/apr.mk index e502490ea..a9dcb4020 100644 --- a/package/apr/apr.mk +++ b/package/apr/apr.mk @@ -5,6 +5,8 @@ ############################################################# APR_VERSION = 1.4.6 APR_SITE = http://archive.apache.org/dist/apr +APR_LICENSE = Apache-2.0 +APR_LICENSE_FILES = LICENSE APR_INSTALL_STAGING = YES APR_CONF_ENV = \ ac_cv_file__dev_zero=yes \ @@ -14,5 +16,21 @@ APR_CONF_ENV = \ apr_cv_tcp_nodelay_with_cork=yes \ ac_cv_sizeof_struct_iovec=8 \ apr_cv_mutex_recursive=yes +APR_CONFIG_SCRIPTS = apr-1-config + +define APR_CLEANUP_UNNEEDED_FILES + $(RM) -rf $(TARGET_DIR)/usr/build-1/ +endef + +APR_POST_INSTALL_TARGET_HOOKS += APR_CLEANUP_UNNEEDED_FILES + +define APR_FIXUP_RULES_MK + $(SED) 's%apr_builddir=%apr_builddir=$(STAGING_DIR)%' \ + $(STAGING_DIR)/usr/build-1/apr_rules.mk + $(SED) 's%apr_builders=%apr_builders=$(STAGING_DIR)%' \ + $(STAGING_DIR)/usr/build-1/apr_rules.mk +endef + +APR_POST_INSTALL_STAGING_HOOKS += APR_FIXUP_RULES_MK $(eval $(autotools-package)) diff --git a/package/argp-standalone/argp-standalone.mk b/package/argp-standalone/argp-standalone.mk index ba7f7576c..4fc4321b4 100644 --- a/package/argp-standalone/argp-standalone.mk +++ b/package/argp-standalone/argp-standalone.mk @@ -7,6 +7,7 @@ ARGP_STANDALONE_VERSION = 1.3 ARGP_STANDALONE_SITE = http://www.lysator.liu.se/~nisse/archive ARGP_STANDALONE_INSTALL_STAGING = YES +ARGP_STANDALONE_LICENSE = LGPLv2+ ARGP_STANDALONE_CONF_ENV = \ CFLAGS="$(TARGET_CFLAGS) -fPIC" diff --git a/package/at/at.mk b/package/at/at.mk index 1cea39bdc..6432ae31c 100644 --- a/package/at/at.mk +++ b/package/at/at.mk @@ -9,7 +9,7 @@ AT_SITE = $(BR2_DEBIAN_MIRROR)/debian/pool/main/a/at # missing deps for parsetime.l AT_MAKE = $(MAKE1) AT_AUTORECONF = YES -AT_DEPENDENCIES = $(if $(BR2_PACKAGE_FLEX),flex) +AT_DEPENDENCIES = $(if $(BR2_PACKAGE_FLEX),flex) host-bison host-flex AT_CONF_OPT = \ --with-jobdir=/var/spool/cron/atjobs \ diff --git a/package/bcusdk/Config.in b/package/bcusdk/Config.in new file mode 100644 index 000000000..cf082e7dc --- /dev/null +++ b/package/bcusdk/Config.in @@ -0,0 +1,22 @@ +config BR2_PACKAGE_BCUSDK + bool "bcusdk" + depends on BR2_INSTALL_LIBSTDCPP + select BR2_PACKAGE_LIBPTHSEM + help + A free development environment for the Bus Coupling Units of + the European Installation Bus. + + The European Installation Bus EIB is a home and building + automation bus system. It is optimized for low-speed control + applications like lighting and blinds control. + + BCUs (Bus Coupling Units) are standardized, generic + platforms for embedded EIB devices. They include the entire + physical layer network interface, power supply and a + microcontroller with an implementation of the EIB protocol + stack stored in the ROM. + + http://www.auto.tuwien.ac.at/~mkoegler/eib/ + +comment "bcusdk requires a toolchain with C++ support" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/bcusdk/bcusdk.mk b/package/bcusdk/bcusdk.mk new file mode 100644 index 000000000..3e0714313 --- /dev/null +++ b/package/bcusdk/bcusdk.mk @@ -0,0 +1,26 @@ +############################################################# +# +# bcusck +# +############################################################# + +BCUSDK_VERSION = 0.0.5 +BCUSDK_SOURCE = bcusdk_$(BCUSDK_VERSION).tar.gz +BCUSDK_SITE = http://www.auto.tuwien.ac.at/~mkoegler/eib/ +BCUSDK_LICENSE = GPLv2+ +BCUSDK_LICENSE_FILES = COPYING +BCUSDK_INSTALL_STAGING = YES +BCUSDK_CONF_OPT = --enable-onlyeibd --enable-ft12 --enable-pei16 \ + --enable-eibnetip --enable-eibnetipserver \ + --enable-eibnetiptunnel --without-pth-test \ + --with-pth=$(STAGING_DIR)/usr + +BCUSDK_DEPENDENCIES = libpthsem + +define BCUSDK_REMOVE_EXAMPLES + $(RM) -rf $(TARGET_DIR)/usr/share/bcusdk +endef + +BCUSDK_POST_INSTALL_TARGET_HOOKS += BCUSDK_REMOVE_EXAMPLES + +$(eval $(autotools-package)) diff --git a/package/bridge-utils/bridge-utils.patch b/package/bridge-utils/bridge-utils-000-build-system.patch index f44737750..f44737750 100644 --- a/package/bridge-utils/bridge-utils.patch +++ b/package/bridge-utils/bridge-utils-000-build-system.patch 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 new file mode 100644 index 000000000..0455a9085 --- /dev/null +++ b/package/bridge-utils/bridge-utils-001-fix-for-kernel-headers-3.8+.patch @@ -0,0 +1,30 @@ +commit 5eebb7f9288b7881ffb929b1fd494fe3ac3be27d +Author: Russell Senior <russell@personaltelco.net> +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 <russell@personaltelco.net> + +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 <sys/socket.h> ++#include <netinet/in.h> + #include <linux/if.h> + #include <linux/if_bridge.h> + diff --git a/package/connman/connman-uclibc-backtrace.patch b/package/connman/connman-000-uclibc-backtrace.patch index 4b806c6dd..4b806c6dd 100644 --- a/package/connman/connman-uclibc-backtrace.patch +++ b/package/connman/connman-000-uclibc-backtrace.patch diff --git a/package/connman/connman-001-fix-for-latest-headers-3.8+.patch b/package/connman/connman-001-fix-for-latest-headers-3.8+.patch new file mode 100644 index 000000000..ef1fabcc7 --- /dev/null +++ b/package/connman/connman-001-fix-for-latest-headers-3.8+.patch @@ -0,0 +1,19 @@ +tethering: fix build with kernel headers 3.8+ + +Highly inspired by: + package/bridge-utils/bridge-utils-001-fix-for-kernel-headers-3.8+.patch + http://www.redhat.com/archives/libvir-list/2013-January/msg01253.html + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> + +diff -durN connman-1.11.orig/src/tethering.c connman-1.11/src/tethering.c +--- connman-1.11.orig/src/tethering.c 2012-12-22 22:52:47.000000000 +0100 ++++ connman-1.11/src/tethering.c 2013-03-21 19:39:17.036029270 +0100 +@@ -35,6 +35,7 @@ + #include <string.h> + #include <fcntl.h> + #include <linux/if_tun.h> ++#include <netinet/in.h> + #include <linux/if_bridge.h> + + #include "connman.h" diff --git a/package/connman/connman.mk b/package/connman/connman.mk index bb528b4a9..f29ff3b83 100644 --- a/package/connman/connman.mk +++ b/package/connman/connman.mk @@ -4,7 +4,7 @@ # ####################################################### -CONNMAN_VERSION = 1.11 +CONNMAN_VERSION = 1.12 CONNMAN_SITE = $(BR2_KERNEL_MIRROR)/linux/network/connman/ CONNMAN_DEPENDENCIES = libglib2 dbus iptables gnutls CONNMAN_INSTALL_STAGING = YES diff --git a/package/crosstool-ng/crosstool-ng.mk b/package/crosstool-ng/crosstool-ng.mk index 3b207a24e..2d93f90f8 100644 --- a/package/crosstool-ng/crosstool-ng.mk +++ b/package/crosstool-ng/crosstool-ng.mk @@ -3,6 +3,10 @@ CROSSTOOL_NG_SOURCE = crosstool-ng-$(CROSSTOOL_NG_VERSION).tar.bz2 CROSSTOOL_NG_SITE = http://crosstool-ng.org/download/crosstool-ng/ CROSSTOOL_NG_INSTALL_TARGET = NO CROSSTOOL_NG_MAKE = $(MAKE1) -HOST_CROSSTOOL_NG_DEPENDENCIES = $(if $(BR2_CCACHE),host-ccache) host-gawk host-automake host-gperf + +HOST_CROSSTOOL_NG_DEPENDENCIES = \ + $(if $(BR2_CCACHE),host-ccache) host-gawk \ + host-automake host-gperf host-bison host-flex \ + host-texinfo $(eval $(host-autotools-package)) diff --git a/package/dosfstools/dosfstools.mk b/package/dosfstools/dosfstools.mk index 332f2eef3..79d1c7acf 100644 --- a/package/dosfstools/dosfstools.mk +++ b/package/dosfstools/dosfstools.mk @@ -10,6 +10,9 @@ DOSFSTOOLS_LICENSE = GPLv3+ DOSFSTOOLS_LICENSE_FILES = COPYING DOSFSTOOLS_LDFLAGS = $(TARGET_LDFLAGS) +# Avoid target dosfstools dependencies, no host-libiconv +HOST_DOSFSTOOLS_DEPENDENCIES = + ifneq ($(BR2_ENABLE_LOCALE),y) DOSFSTOOLS_DEPENDENCIES += libiconv DOSFSTOOLS_LDFLAGS += -liconv diff --git a/package/dropbear/dropbear.mk b/package/dropbear/dropbear.mk index bd4522189..cec57dbeb 100644 --- a/package/dropbear/dropbear.mk +++ b/package/dropbear/dropbear.mk @@ -4,8 +4,9 @@ # ############################################################# -DROPBEAR_VERSION = 2012.55 +DROPBEAR_VERSION = 2013.56 DROPBEAR_SITE = http://matt.ucc.asn.au/dropbear/releases +DROPBEAR_SOURCE = dropbear-$(DROPBEAR_VERSION).tar.bz2 DROPBEAR_TARGET_BINS = dbclient dropbearkey dropbearconvert scp ssh DROPBEAR_MAKE = $(MAKE) MULTI=1 SCPPROGRESS=1 \ PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" @@ -24,16 +25,18 @@ endef DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_FIX_XAUTH define DROPBEAR_DISABLE_REVERSE_DNS - $(SED) 's,^#define DO_HOST_LOOKUP.*,/* #define DO_HOST_LOOKUP */,' $(@D)/options.h + $(SED) 's:\(#define DO_HOST_LOOKUP\):/*\1 */:' $(@D)/options.h endef define DROPBEAR_BUILD_SMALL - echo "#define DROPBEAR_SMALL_CODE" >>$(@D)/options.h - echo "#define NO_FAST_EXPTMOD" >>$(@D)/options.h + $(SED) 's:.*\(#define DROPBEAR_SMALL_CODE\).*:\1:' $(@D)/options.h + $(SED) 's:.*\(#define NO_FAST_EXPTMOD\).*:\1:' $(@D)/options.h endef define DROPBEAR_BUILD_FEATURED - echo "#define DROPBEAR_BLOWFISH" >>$(@D)/options.h + $(SED) 's:.*\(#define DROPBEAR_BLOWFISH\).*:\1:' $(@D)/options.h + $(SED) 's:.*\(#define DROPBEAR_SHA2_256_HMAC\).*:\1:' $(@D)/options.h + $(SED) 's:.*\(#define DROPBEAR_SHA2_512_HMAC\).*:\1:' $(@D)/options.h endef ifeq ($(BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS),y) diff --git a/package/dtach/Config.in b/package/dtach/Config.in new file mode 100644 index 000000000..033536bdb --- /dev/null +++ b/package/dtach/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_DTACH + bool "dtach" + help + dtach is a tiny program that emulates the detach feature of screen, + allowing you to run a program in an environment that is protected + from the controlling terminal and attach to it later. + + http://dtach.sourceforge.net/ diff --git a/package/dtach/dtach.mk b/package/dtach/dtach.mk new file mode 100644 index 000000000..77ad7c027 --- /dev/null +++ b/package/dtach/dtach.mk @@ -0,0 +1,17 @@ +############################################################# +# +# dtach +# +############################################################# + +DTACH_VERSION = 0.8 +DTACH_SITE = http://downloads.sourceforge.net/project/dtach/dtach/$(DTACH_VERSION) +DTACH_LICENSE = GPLv2+ +DTACH_LICENSE_FILES = COPYING + +# The Makefile does not have an install target. +define DTACH_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/dtach $(TARGET_DIR)/usr/bin/dtach +endef + +$(eval $(autotools-package)) diff --git a/package/file/file.mk b/package/file/file.mk index 720670511..5422e2f98 100644 --- a/package/file/file.mk +++ b/package/file/file.mk @@ -4,7 +4,7 @@ # ############################################################# -FILE_VERSION = 5.13 +FILE_VERSION = 5.14 FILE_SITE = ftp://ftp.astron.com/pub/file FILE_DEPENDENCIES = host-file zlib FILE_INSTALL_STAGING = YES diff --git a/package/flex/flex.mk b/package/flex/flex.mk index 834f0b548..59551f22b 100644 --- a/package/flex/flex.mk +++ b/package/flex/flex.mk @@ -10,9 +10,9 @@ FLEX_INSTALL_STAGING = YES FLEX_LICENSE = FLEX FLEX_LICENSE_FILES = COPYING FLEX_DEPENDENCIES = \ - $(if $(BR2_PACKAGE_GETTEXT),gettext) + $(if $(BR2_PACKAGE_GETTEXT),gettext) host-m4 # we don't have a host-gettext/libintl -HOST_FLEX_DEPENDENCIES = +HOST_FLEX_DEPENDENCIES = host-m4 ifeq ($(BR2_PACKAGE_FLEX_BINARY),y) # lex -> flex diff --git a/package/gd/gd-gdlib-config.patch b/package/gd/gd-gdlib-config.patch new file mode 100644 index 000000000..bfff88bbc --- /dev/null +++ b/package/gd/gd-gdlib-config.patch @@ -0,0 +1,32 @@ +Fix gdlib-config + +Since the @LIBICONV@ macro doesn't get replaced at compile time, we +end up installing an invalid gdlib-config: the gdlib-config --libs +says that one should link against @LIBICONV@ which obviously doesn't +work. + +Use the OpenWRT patch from +https://dev.openwrt.org/browser/packages/libs/gd/patches/101-gdlib-config.patch + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +--- a/config/gdlib-config.in ++++ b/config/gdlib-config.in +@@ -71,7 +71,7 @@ while test $# -gt 0; do + echo @LDFLAGS@ + ;; + --libs) +- echo @LIBS@ @LIBICONV@ ++ echo @LIBS@ + ;; + --cflags|--includes) + echo -I@includedir@ +@@ -84,7 +84,7 @@ while test $# -gt 0; do + echo "includedir: $includedir" + echo "cflags: -I@includedir@" + echo "ldflags: @LDFLAGS@" +- echo "libs: @LIBS@ @LIBICONV@" ++ echo "libs: @LIBS@" + echo "libdir: $libdir" + echo "features: @FEATURES@" + ;; diff --git a/package/gettext/gettext-fix_rpl_gettimeofday.patch b/package/gettext/gettext-fix_rpl_gettimeofday.patch new file mode 100644 index 000000000..e97ceb248 --- /dev/null +++ b/package/gettext/gettext-fix_rpl_gettimeofday.patch @@ -0,0 +1,282 @@ +Newer sys_time.in.h from gnulib breaks on uClibc with C++ so roll back +to a previous version that's known to work. + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> + +diff -Nura gettext-0.18.2.1.orig/gettext-tools/gnulib-lib/sys_time.in.h gettext-0.18.2.1/gettext-tools/gnulib-lib/sys_time.in.h +--- gettext-0.18.2.1.orig/gettext-tools/gnulib-lib/sys_time.in.h 2013-03-12 09:17:10.530475932 -0300 ++++ gettext-0.18.2.1/gettext-tools/gnulib-lib/sys_time.in.h 2013-03-19 12:00:17.557958255 -0300 +@@ -1,6 +1,6 @@ + /* Provide a more complete sys/time.h. + +- Copyright (C) 2007-2013 Free Software Foundation, Inc. ++ Copyright (C) 2007-2012 Free Software Foundation, 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 +@@ -17,34 +17,37 @@ + + /* Written by Paul Eggert. */ + +-#ifndef _@GUARD_PREFIX@_SYS_TIME_H +- + #if __GNUC__ >= 3 + @PRAGMA_SYSTEM_HEADER@ + #endif + @PRAGMA_COLUMNS@ + +-/* The include_next requires a split double-inclusion guard. */ +-#if @HAVE_SYS_TIME_H@ +-# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@ +-#endif ++#if defined _@GUARD_PREFIX@_SYS_TIME_H + +-#ifndef _@GUARD_PREFIX@_SYS_TIME_H +-#define _@GUARD_PREFIX@_SYS_TIME_H ++/* Simply delegate to the system's header, without adding anything. */ ++# if @HAVE_SYS_TIME_H@ ++# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@ ++# endif + +-#if ! @HAVE_SYS_TIME_H@ +-# include <time.h> +-#endif ++#else ++ ++# define _@GUARD_PREFIX@_SYS_TIME_H ++ ++# if @HAVE_SYS_TIME_H@ ++# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@ ++# else ++# include <time.h> ++# endif + + /* On native Windows with MSVC, get the 'struct timeval' type. + Also, on native Windows with a 64-bit time_t, where we are overriding the + 'struct timeval' type, get all declarations of system functions whose + signature contains 'struct timeval'. */ +-#if (defined _MSC_VER || @REPLACE_STRUCT_TIMEVAL@) && @HAVE_WINSOCK2_H@ && !defined _GL_INCLUDING_WINSOCK2_H +-# define _GL_INCLUDING_WINSOCK2_H +-# include <winsock2.h> +-# undef _GL_INCLUDING_WINSOCK2_H +-#endif ++# if (defined _MSC_VER || @REPLACE_STRUCT_TIMEVAL@) && @HAVE_WINSOCK2_H@ && !defined _GL_INCLUDING_WINSOCK2_H ++# define _GL_INCLUDING_WINSOCK2_H ++# include <winsock2.h> ++# undef _GL_INCLUDING_WINSOCK2_H ++# endif + + /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ + +@@ -52,112 +55,112 @@ + + /* The definition of _GL_WARN_ON_USE is copied here. */ + +-#ifdef __cplusplus ++# ifdef __cplusplus + extern "C" { +-#endif ++# endif + +-#if !@HAVE_STRUCT_TIMEVAL@ || @REPLACE_STRUCT_TIMEVAL@ ++# if !@HAVE_STRUCT_TIMEVAL@ || @REPLACE_STRUCT_TIMEVAL@ + +-# if @REPLACE_STRUCT_TIMEVAL@ +-# define timeval rpl_timeval +-# endif ++# if @REPLACE_STRUCT_TIMEVAL@ ++# define timeval rpl_timeval ++# endif + +-# if !GNULIB_defined_struct_timeval ++# if !GNULIB_defined_struct_timeval + struct timeval + { + time_t tv_sec; + long int tv_usec; + }; +-# define GNULIB_defined_struct_timeval 1 +-# endif ++# define GNULIB_defined_struct_timeval 1 ++# endif + +-#endif ++# endif + +-#ifdef __cplusplus ++# ifdef __cplusplus + } +-#endif ++# endif + +-#if @GNULIB_GETTIMEOFDAY@ +-# if @REPLACE_GETTIMEOFDAY@ +-# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +-# undef gettimeofday +-# define gettimeofday rpl_gettimeofday +-# endif ++# if @GNULIB_GETTIMEOFDAY@ ++# if @REPLACE_GETTIMEOFDAY@ ++# if !(defined __cplusplus && defined GNULIB_NAMESPACE) ++# undef gettimeofday ++# define gettimeofday rpl_gettimeofday ++# endif + _GL_FUNCDECL_RPL (gettimeofday, int, +- (struct timeval *restrict, void *restrict) ++ (struct timeval *__restrict, void *__restrict) + _GL_ARG_NONNULL ((1))); + _GL_CXXALIAS_RPL (gettimeofday, int, +- (struct timeval *restrict, void *restrict)); +-# else +-# if !@HAVE_GETTIMEOFDAY@ ++ (struct timeval *__restrict, void *__restrict)); ++# else ++# if !@HAVE_GETTIMEOFDAY@ + _GL_FUNCDECL_SYS (gettimeofday, int, +- (struct timeval *restrict, void *restrict) ++ (struct timeval *__restrict, void *__restrict) + _GL_ARG_NONNULL ((1))); +-# endif ++# endif + /* Need to cast, because on glibc systems, by default, the second argument is + struct timezone *. */ + _GL_CXXALIAS_SYS_CAST (gettimeofday, int, +- (struct timeval *restrict, void *restrict)); +-# endif ++ (struct timeval *__restrict, void *__restrict)); ++# endif + _GL_CXXALIASWARN (gettimeofday); +-#elif defined GNULIB_POSIXCHECK +-# undef gettimeofday +-# if HAVE_RAW_DECL_GETTIMEOFDAY ++# elif defined GNULIB_POSIXCHECK ++# undef gettimeofday ++# if HAVE_RAW_DECL_GETTIMEOFDAY + _GL_WARN_ON_USE (gettimeofday, "gettimeofday is unportable - " + "use gnulib module gettimeofday for portability"); ++# endif + # endif +-#endif + + /* Hide some function declarations from <winsock2.h>. */ + +-#if defined _MSC_VER && @HAVE_WINSOCK2_H@ +-# if !defined _@GUARD_PREFIX@_UNISTD_H +-# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +-# undef close +-# define close close_used_without_including_unistd_h +-# else ++# if defined _MSC_VER && @HAVE_WINSOCK2_H@ ++# if !defined _@GUARD_PREFIX@_UNISTD_H ++# if !(defined __cplusplus && defined GNULIB_NAMESPACE) ++# undef close ++# define close close_used_without_including_unistd_h ++# else + _GL_WARN_ON_USE (close, + "close() used without including <unistd.h>"); +-# endif +-# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +-# undef gethostname +-# define gethostname gethostname_used_without_including_unistd_h +-# else ++# endif ++# if !(defined __cplusplus && defined GNULIB_NAMESPACE) ++# undef gethostname ++# define gethostname gethostname_used_without_including_unistd_h ++# else + _GL_WARN_ON_USE (gethostname, + "gethostname() used without including <unistd.h>"); ++# endif + # endif +-# endif +-# if !defined _@GUARD_PREFIX@_SYS_SOCKET_H +-# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +-# undef socket +-# define socket socket_used_without_including_sys_socket_h +-# undef connect +-# define connect connect_used_without_including_sys_socket_h +-# undef accept +-# define accept accept_used_without_including_sys_socket_h +-# undef bind +-# define bind bind_used_without_including_sys_socket_h +-# undef getpeername +-# define getpeername getpeername_used_without_including_sys_socket_h +-# undef getsockname +-# define getsockname getsockname_used_without_including_sys_socket_h +-# undef getsockopt +-# define getsockopt getsockopt_used_without_including_sys_socket_h +-# undef listen +-# define listen listen_used_without_including_sys_socket_h +-# undef recv +-# define recv recv_used_without_including_sys_socket_h +-# undef send +-# define send send_used_without_including_sys_socket_h +-# undef recvfrom +-# define recvfrom recvfrom_used_without_including_sys_socket_h +-# undef sendto +-# define sendto sendto_used_without_including_sys_socket_h +-# undef setsockopt +-# define setsockopt setsockopt_used_without_including_sys_socket_h +-# undef shutdown +-# define shutdown shutdown_used_without_including_sys_socket_h +-# else ++# if !defined _@GUARD_PREFIX@_SYS_SOCKET_H ++# if !(defined __cplusplus && defined GNULIB_NAMESPACE) ++# undef socket ++# define socket socket_used_without_including_sys_socket_h ++# undef connect ++# define connect connect_used_without_including_sys_socket_h ++# undef accept ++# define accept accept_used_without_including_sys_socket_h ++# undef bind ++# define bind bind_used_without_including_sys_socket_h ++# undef getpeername ++# define getpeername getpeername_used_without_including_sys_socket_h ++# undef getsockname ++# define getsockname getsockname_used_without_including_sys_socket_h ++# undef getsockopt ++# define getsockopt getsockopt_used_without_including_sys_socket_h ++# undef listen ++# define listen listen_used_without_including_sys_socket_h ++# undef recv ++# define recv recv_used_without_including_sys_socket_h ++# undef send ++# define send send_used_without_including_sys_socket_h ++# undef recvfrom ++# define recvfrom recvfrom_used_without_including_sys_socket_h ++# undef sendto ++# define sendto sendto_used_without_including_sys_socket_h ++# undef setsockopt ++# define setsockopt setsockopt_used_without_including_sys_socket_h ++# undef shutdown ++# define shutdown shutdown_used_without_including_sys_socket_h ++# else + _GL_WARN_ON_USE (socket, + "socket() used without including <sys/socket.h>"); + _GL_WARN_ON_USE (connect, +@@ -186,18 +189,17 @@ + "setsockopt() used without including <sys/socket.h>"); + _GL_WARN_ON_USE (shutdown, + "shutdown() used without including <sys/socket.h>"); ++# endif + # endif +-# endif +-# if !defined _@GUARD_PREFIX@_SYS_SELECT_H +-# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +-# undef select +-# define select select_used_without_including_sys_select_h +-# else ++# if !defined _@GUARD_PREFIX@_SYS_SELECT_H ++# if !(defined __cplusplus && defined GNULIB_NAMESPACE) ++# undef select ++# define select select_used_without_including_sys_select_h ++# else + _GL_WARN_ON_USE (select, + "select() used without including <sys/select.h>"); ++# endif + # endif + # endif +-#endif + + #endif /* _@GUARD_PREFIX@_SYS_TIME_H */ +-#endif /* _@GUARD_PREFIX@_SYS_TIME_H */ diff --git a/package/gettext/gettext.mk b/package/gettext/gettext.mk index d374050ed..8dc701e04 100644 --- a/package/gettext/gettext.mk +++ b/package/gettext/gettext.mk @@ -11,6 +11,7 @@ GETTEXT_LICENSE = GPLv2+ GETTEXT_LICENSE_FILES = COPYING GETTEXT_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) +HOST_GETTEXT_DEPENDENCIES = # we don't want the libiconv dependency GETTEXT_CONF_OPT += \ --disable-libasprintf \ @@ -56,3 +57,4 @@ GETTEXT_POST_PATCH_HOOKS += GETTEXT_DISABLE_TOOLS GETTEXT_POST_PATCH_HOOKS += GETTEXT_DISABLE_TESTS $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/package/gmp/gmp.mk b/package/gmp/gmp.mk index 093d60caf..24fbb3db6 100644 --- a/package/gmp/gmp.mk +++ b/package/gmp/gmp.mk @@ -11,6 +11,8 @@ GMP_INSTALL_STAGING = YES GMP_LICENSE = LGPLv3+ GMP_LICENSE_FILES = COPYING.LIB +GMP_DEPENDENCIES = host-m4 + # Bad ARM assembly breaks on pure thumb ifeq ($(ARCH),arm) GMP_MAKE_OPT += CFLAGS="$(TARGET_CFLAGS) -marm" diff --git a/package/gnuplot/Config.in b/package/gnuplot/Config.in new file mode 100644 index 000000000..603c194fe --- /dev/null +++ b/package/gnuplot/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_GNUPLOT + bool "gnuplot" + help + A portable command-line driven graphing utility. + + http://www.gnuplot.info/ diff --git a/package/gnuplot/gnuplot-0001-configure-add-without-demo-option.patch b/package/gnuplot/gnuplot-0001-configure-add-without-demo-option.patch new file mode 100644 index 000000000..ccca4e3aa --- /dev/null +++ b/package/gnuplot/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 +<viallard@syscom-instruments.com>. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +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 new file mode 100644 index 000000000..690a82652 --- /dev/null +++ b/package/gnuplot/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 <thomas.petazzoni@free-electrons.com> + +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.mk b/package/gnuplot/gnuplot.mk new file mode 100644 index 000000000..a68c7ae39 --- /dev/null +++ b/package/gnuplot/gnuplot.mk @@ -0,0 +1,50 @@ +############################################################# +# +# gnuplot +# +############################################################# + +GNUPLOT_VERSION = 4.6.2 +GNUPLOT_SITE = http://downloads.sourceforge.net/project/gnuplot/gnuplot/$(GNUPLOT_VERSION) +GNUPLOT_LICENSE = gnuplot license (open source) +GNUPLOT_LICENSE_FILES = Copyright + +GNUPLOT_AUTORECONF = YES + +GNUPLOT_CONF_OPT = --without-x \ + --disable-raise-console \ + --disable-mouse \ + --without-tutorial \ + --disable-demo \ + --without-row-help \ + --disable-history-file \ + --without-lisp-files \ + --disable-wxwidgets \ + --without-lua \ + --without-latex \ + --without-cairo + +ifeq ($(BR2_PACKAGE_GD),y) +GNUPLOT_CONF_OPT += --with-gd +GNUPLOT_DEPENDENCIES += gd +GNUPLOT_CONF_ENV += \ + ac_cv_path_GDLIB_CONFIG=$(STAGING_DIR)/usr/bin/gdlib-config +else +GNUPLOT_CONF_OPT += --without-gd +endif + +ifeq ($(BR2_PACKAGE_READLINE),y) +GNUPLOT_CONF_OPT += --with-readline=gnu +GNUPLOT_DEPENDENCIES += readline +else +GNUPLOT_CONF_OPT += --without-readline +endif + +# Remove Javascript scripts, lua scripts, PostScript files +define GNUPLOT_REMOVE_UNNEEDED_FILES + $(RM) -rf $(TARGET_DIR)/usr/share/gnuplot +endef + +GNUPLOT_POST_INSTALL_TARGET_HOOKS += GNUPLOT_REMOVE_UNNEEDED_FILES + +$(eval $(autotools-package)) diff --git a/package/hplip/Config.in b/package/hplip/Config.in index 5bcd63bbf..d8a1580e3 100644 --- a/package/hplip/Config.in +++ b/package/hplip/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_HPLIP bool "hplip" + depends on BR2_INSTALL_LIBSTDCPP depends on BR2_PACKAGE_CUPS select BR2_PACKAGE_LIBUSB select BR2_PACKAGE_JPEG diff --git a/package/iproute2/iproute2.mk b/package/iproute2/iproute2.mk index 7766ab870..a83133b31 100644 --- a/package/iproute2/iproute2.mk +++ b/package/iproute2/iproute2.mk @@ -10,6 +10,8 @@ IPROUTE2_TARGET_SBINS = ctstat genl ifstat ip lnstat nstat routef routel rtacct IPROUTE2_LICENSE = GPLv2 IPROUTE2_LICENSE_FILES = COPYING +IPROUTE2_DEPENDENCIES += host-bison host-flex + # If both iproute2 and busybox are selected, make certain we win # the fight over who gets to have their utils actually installed. ifeq ($(BR2_PACKAGE_BUSYBOX),y) @@ -42,11 +44,12 @@ endef define IPROUTE2_BUILD_CMDS $(SED) 's/$$(CCOPTS)//' $(@D)/netem/Makefile - $(MAKE) CC="$(TARGET_CC)" CCOPTS="$(TARGET_CFLAGS) -D_GNU_SOURCE" -C $(@D) + $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" CCOPTS="$(TARGET_CFLAGS) -D_GNU_SOURCE" -C $(@D) endef define IPROUTE2_INSTALL_TARGET_CMDS - $(MAKE) -C $(@D) DESTDIR="$(TARGET_DIR)" SBINDIR=/sbin \ + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(TARGET_DIR)" \ + SBINDIR=/sbin \ DOCDIR=/usr/share/doc/iproute2-$(IPROUTE2_VERSION) \ MANDIR=/usr/share/man install # Wants bash diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk index 4ca6ca3cb..d78e8ec0f 100644 --- a/package/libglib2/libglib2.mk +++ b/package/libglib2/libglib2.mk @@ -68,9 +68,9 @@ HOST_LIBGLIB2_CONF_OPT = \ LIBGLIB2_CONF_OPT += --disable-tests -LIBGLIB2_DEPENDENCIES = host-pkgconf host-libglib2 libffi zlib $(if $(BR2_NEEDS_GETTEXT),gettext) +LIBGLIB2_DEPENDENCIES = host-pkgconf host-libglib2 libffi zlib $(if $(BR2_NEEDS_GETTEXT),gettext) host-gettext -HOST_LIBGLIB2_DEPENDENCIES = host-pkgconf host-libffi host-zlib +HOST_LIBGLIB2_DEPENDENCIES = host-pkgconf host-libffi host-zlib host-gettext ifneq ($(BR2_ENABLE_LOCALE),y) LIBGLIB2_DEPENDENCIES += libiconv diff --git a/package/libgtk2/host-libgtk2-reduce-dependencies.patch b/package/libgtk2/host-libgtk2-reduce-dependencies.patch deleted file mode 100644 index 091eeb0e5..000000000 --- a/package/libgtk2/host-libgtk2-reduce-dependencies.patch +++ /dev/null @@ -1,168 +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. - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> ---- - configure.in | 101 ++--------------------------------------------------------- - 1 file changed, 4 insertions(+), 97 deletions(-) - -Index: gtk+-2.24.8/configure.in -=================================================================== ---- gtk+-2.24.8.orig/configure.in -+++ gtk+-2.24.8/configure.in -@@ -259,12 +259,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 - -@@ -374,9 +374,6 @@ - ## 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]) - - ## In addition to checking that cairo is present, we also need to -@@ -389,8 +386,6 @@ - if test "x$cairo_backend" = "xx11"; then - cairo_backend=xlib - fi --PKG_CHECK_MODULES(CAIRO_BACKEND, -- [cairo-$cairo_backend >= cairo_required_version]) - - if test "$os_win32" != yes; then - # libtool option to control which symbols are exported -@@ -1280,50 +1275,6 @@ - fi - - --# Check for Pango flags -- --if test "x$gdktarget" = "xwin32"; then -- PANGO_PACKAGES="pangowin32 pangocairo" --else -- PANGO_PACKAGES="pango pangocairo" --fi -- --AC_MSG_CHECKING(Pango flags) --if $PKG_CONFIG --exists $PANGO_PACKAGES ; then -- PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES` -- PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES` -- -- AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS) --else -- AC_MSG_ERROR([ --*** Pango not found. Pango built with Cairo support is required --*** to build GTK+. See http://www.pango.org for Pango information. --]) --fi -- --CFLAGS="$CFLAGS $PANGO_CFLAGS" -- --if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then -- : --else -- gtk_save_LIBS="$LIBS" -- LIBS="$PANGO_LIBS $LIBS" -- AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([ --*** Can't link to Pango. Pango is required to build --*** GTK+. For more information see http://www.pango.org])) -- LIBS="$gtk_save_LIBS" --fi -- --CFLAGS="$saved_cflags" --LDFLAGS="$saved_ldflags" -- --# Pull in gio-unix for GDesktopAppInfo usage, see at least gdkapplaunchcontext-x11.c --if test "x$gdktarget" = "xx11"; then -- GDK_PACKAGES="$PANGO_PACKAGES gio-unix-2.0 $X_PACKAGES gdk-pixbuf-2.0 cairo-$cairo_backend" --else -- GDK_PACKAGES="$PANGO_PACKAGES gio-2.0 gdk-pixbuf-2.0 cairo-$cairo_backend" --fi -- - 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" - # -@@ -1331,7 +1282,7 @@ - # into the pkg-config files - # - if test $enable_explicit_deps != yes ; then -- GDK_PACKAGES="$PANGO_PACKAGES gdk-pixbuf-2.0" -+ GDK_PACKAGES="gdk-pixbuf-2.0" - GDK_EXTRA_LIBS= - fi - -@@ -1341,37 +1292,7 @@ - AC_SUBST(GDK_DEP_LIBS) - AC_SUBST(GDK_DEP_CFLAGS) - -- --######################################## --# Check for Accessibility Toolkit flags --######################################## -- --ATK_PACKAGES=atk --AC_MSG_CHECKING(ATK flags) --if $PKG_CONFIG --exists $ATK_PACKAGES ; then -- ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES` -- ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES` -- -- AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS) --else -- AC_MSG_ERROR([ --*** Accessibility Toolkit not found. Accessibility Toolkit is required --*** to build GTK+. --]) --fi -- --if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then -- : --else -- gtk_save_LIBS="$LIBS" -- LIBS="$ATK_LIBS $LIBS" -- AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([ -- *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required -- *** to build GTK+])) -- LIBS="$gtk_save_LIBS" --fi -- --GTK_PACKAGES="atk cairo gdk-pixbuf-2.0 gio-2.0" -+GTK_PACKAGES="gdk-pixbuf-2.0" - if test "x$gdktarget" = "xx11"; then - GTK_PACKAGES="$GTK_PACKAGES pangoft2" - fi -@@ -1527,20 +1448,6 @@ - gtk_save_cppflags="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS $GDK_DEP_CFLAGS" - --AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([ --*** Can't find cairo-pdf.h. You must build Cairo with the pdf --*** backend enabled.])) -- --if test "$os_win32" != "yes"; then -- AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([ --*** Can't find cairo-ps.h. You must build Cairo with the --*** postscript backend enabled.])) -- -- AC_CHECK_HEADER(cairo-svg.h,,AC_MSG_ERROR([ --*** Can't find cairo-svg.h. You must build Cairo with the --*** svg backend enabled.])) --fi -- - CPPFLAGS="$gtk_save_cppflags" - - diff --git a/package/libgtk2/libgtk2-reduce-dependencies.patch b/package/libgtk2/libgtk2-reduce-dependencies.patch new file mode 100644 index 000000000..5bb9db9a0 --- /dev/null +++ b/package/libgtk2/libgtk2-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. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + configure.in | 34 +++++++++++++++++++++++++++------- + 1 file changed, 27 insertions(+), 7 deletions(-) + +Index: b/configure.in +=================================================================== +--- a/configure.in ++++ b/configure.in +@@ -259,12 +259,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 + +@@ -374,11 +374,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. +@@ -389,8 +393,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]) + +@@ -1281,6 +1288,7 @@ + AM_CONDITIONAL(USE_DIRECTFB, false) + fi + ++if test "x$gdktarget" != "xnone"; then + + # Check for Pango flags + +@@ -1326,6 +1334,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" + # +@@ -1344,6 +1354,8 @@ + AC_SUBST(GDK_DEP_CFLAGS) + + ++if test "x$gdktarget" != "xnone"; then ++ + ######################################## + # Check for Accessibility Toolkit flags + ######################################## +@@ -1374,6 +1386,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 +@@ -1529,6 +1545,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.])) +@@ -1543,6 +1561,8 @@ + *** svg backend enabled.])) + fi + ++fi # gdktarget != none ++ + CPPFLAGS="$gtk_save_cppflags" + + diff --git a/package/libgtk2/libgtk2.mk b/package/libgtk2/libgtk2.mk index e6a9d84c0..b1ce99ae1 100644 --- a/package/libgtk2/libgtk2.mk +++ b/package/libgtk2/libgtk2.mk @@ -12,6 +12,8 @@ LIBGTK2_SITE = http://ftp.gnome.org/pub/gnome/sources/gtk+/$(LIBGTK2_VERSION_MAJ LIBGTK2_INSTALL_STAGING = YES LIBGTK2_INSTALL_TARGET = YES +LIBGTK2_AUTORECONF = YES + LIBGTK2_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \ glib_cv_uscore=no \ ac_cv_func_strtod=yes \ diff --git a/package/libnl/libnl.mk b/package/libnl/libnl.mk index 7620cf721..2a9f5a9a7 100644 --- a/package/libnl/libnl.mk +++ b/package/libnl/libnl.mk @@ -9,7 +9,7 @@ LIBNL_SITE = http://www.infradead.org/~tgr/libnl/files LIBNL_LICENSE = LGPLv2.1+ LIBNL_LICENSE_FILES = COPYING LIBNL_INSTALL_STAGING = YES -LIBNL_DEPENDENCIES = host-bison +LIBNL_DEPENDENCIES = host-bison host-flex LIBNL_MAKE = $(MAKE1) LIBNL_BINARIES = class-add class-delete class-list classid-lookup cls-add \ cls-delete cls-list link-list pktloc-lookup qdisc-add qdisc-delete \ diff --git a/package/libpcap/libpcap.mk b/package/libpcap/libpcap.mk index 06aec0f4d..5e077a271 100644 --- a/package/libpcap/libpcap.mk +++ b/package/libpcap/libpcap.mk @@ -20,7 +20,7 @@ LIBPCAP_INSTALL_STAGING = YES # configure script correctly handles --enable-shared/--disable-shared. LIBPCAP_AUTORECONF = YES -LIBPCAP_DEPENDENCIES = zlib +LIBPCAP_DEPENDENCIES = zlib host-flex host-bison LIBPCAP_CONF_ENV = ac_cv_linux_vers=2 \ ac_cv_header_linux_wireless_h=yes # configure misdetects this LIBPCAP_CONF_OPT = --disable-yydebug --with-pcap=linux diff --git a/package/libpthsem/Config.in b/package/libpthsem/Config.in new file mode 100644 index 000000000..9ab13c3ed --- /dev/null +++ b/package/libpthsem/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_LIBPTHSEM + bool "libpthsem" + select BR2_PACKAGE_ARGP_STANDALONE + help + GNU pth is a user mode multi threading library. pthsem is an extend + version, with support for semaphores added. + + http://www.auto.tuwien.ac.at/~mkoegler/pth/ 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 new file mode 100644 index 000000000..21fff4e7c --- /dev/null +++ b/package/libpthsem/libpthsem-2.0.8-fix-build-on-linux-3.x-host.patch @@ -0,0 +1,28 @@ +From 2d0450bfa3fb7003098da1a7fe24c3ae140912dc Mon Sep 17 00:00:00 2001 +From: Gregory Hermant <gregory.hermant@calao-systems.com> +Date: Mon, 22 Oct 2012 15:11:53 +0200 +Subject: [PATCH] pthsem build on Linux 3.x host + + +Signed-off-by: Michael Markstaller <mm@elabnet.de> +Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com> +--- + 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.mk b/package/libpthsem/libpthsem.mk new file mode 100644 index 000000000..2c6e239c9 --- /dev/null +++ b/package/libpthsem/libpthsem.mk @@ -0,0 +1,17 @@ +############################################################# +# +# libpthsem +# +############################################################# + +LIBPTHSEM_VERSION = 2.0.8 +LIBPTHSEM_SOURCE = pthsem_$(LIBPTHSEM_VERSION).tar.gz +LIBPTHSEM_SITE = http://www.auto.tuwien.ac.at/~mkoegler/pth/ +LIBPTHSEM_LICENSE = LGPLv2.1+ +LIBPTHSEM_LICENSE_FILES = COPYING +LIBPTHSEM_AUTORECONF = YES +LIBPTHSEM_INSTALL_STAGING = YES +LIBPTHSEM_DEPENDENCIES = argp-standalone +LIBPTHSEM_CONFIG_SCRIPTS = pthsem-config + +$(eval $(autotools-package)) diff --git a/package/log4cxx/Config.in b/package/log4cxx/Config.in new file mode 100644 index 000000000..e98aedc46 --- /dev/null +++ b/package/log4cxx/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_LOG4CXX + bool "log4cxx" + select BR2_PACKAGE_APR + select BR2_PACKAGE_APR_UTIL + # apr really needs shared library support + depends on !BR2_PREFER_STATIC_LIB + depends on BR2_INSTALL_LIBSTDCPP + help + Apache log4cxx is a logging framework for C++ patterned + after Apache log4j. + + http://apache.linux-mirror.org/logging/log4cxx/0.10.0 + +comment "log4cxx requires C++ support in toolchain" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/log4cxx/log4cxx-0001-charset-fixes.patch b/package/log4cxx/log4cxx-0001-charset-fixes.patch new file mode 100644 index 000000000..75567fdad --- /dev/null +++ b/package/log4cxx/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 <thomas.petazzoni@free-electrons.com> + +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 new file mode 100644 index 000000000..dd4da1161 --- /dev/null +++ b/package/log4cxx/log4cxx-0002-missing-includes.patch @@ -0,0 +1,44 @@ +commit bcaf1f8a682d641cee325142099c371464fd5946 +Author: Curtis William Arnold <carnold@apache.org> +Date: Tue May 20 16:05:37 2008 +0000 + + LOGCXX-286: gcc 4.3 requires #include <cstring> + + 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 <log4cxx/logmanager.h> + #include <iostream> + #include <locale.h> ++#include <cstring> + + 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 <log4cxx/helpers/exception.h> + #include <log4cxx/helpers/pool.h> + #include <log4cxx/helpers/bytebuffer.h> ++#include <cstring> + + 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 <log4cxx/helpers/socketoutputstream.h> + #include <log4cxx/helpers/socket.h> + #include <log4cxx/helpers/bytebuffer.h> ++#include <cstring> + + 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 new file mode 100644 index 000000000..cd21bbab3 --- /dev/null +++ b/package/log4cxx/log4cxx-0003-missing-includes.patch @@ -0,0 +1,21 @@ +commit ce62c00ea5f9bf2f0740ecde5b245c9b7edc80ff +Author: Curtis William Arnold <carnold@apache.org> +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 <iostream> + #include <locale.h> + #include <cstring> ++#include <cstdio> ++#include <stdint.h> + + using namespace log4cxx; + using namespace log4cxx::helpers; diff --git a/package/log4cxx/log4cxx.mk b/package/log4cxx/log4cxx.mk new file mode 100644 index 000000000..83afded9c --- /dev/null +++ b/package/log4cxx/log4cxx.mk @@ -0,0 +1,20 @@ +############################################################# +# +# log4cxx +# +############################################################# + +LOG4CXX_VERSION = 0.10.0 +LOG4CXX_SITE = http://archive.apache.org/dist/logging/log4cxx/$(LOG4CXX_VERSION) +LOG4CXX_SOURCE = apache-log4cxx-$(LOG4CXX_VERSION).tar.gz +LOG4CXX_INSTALL_STAGING = YES +LOG4CXX_LICENSE = Apache-2.0 +LOG4CXX_LICENSE_FILES = LICENSE + +LOG4CXX_CONF_OPT = \ + --with-apr=$(STAGING_DIR)/usr/bin/apr-1-config \ + --with-apr-util=$(STAGING_DIR)/usr/bin/apu-1-config + +LOG4CXX_DEPENDENCIES = apr apr-util + +$(eval $(autotools-package)) diff --git a/package/ncurses/ncurses.mk b/package/ncurses/ncurses.mk index c01dfbc36..eb47c3695 100644 --- a/package/ncurses/ncurses.mk +++ b/package/ncurses/ncurses.mk @@ -116,7 +116,7 @@ define HOST_NCURSES_BUILD_CMDS endef HOST_NCURSES_CONF_OPT = \ - --without-shared --without-gpm \ + --with-shared --without-gpm \ --without-manpages \ --without-cxx \ --without-cxx-binding \ diff --git a/package/neon/neon.mk b/package/neon/neon.mk index cec72f89b..58e01e1ff 100644 --- a/package/neon/neon.mk +++ b/package/neon/neon.mk @@ -5,6 +5,8 @@ ############################################################# NEON_VERSION = 0.29.6 NEON_SITE = http://www.webdav.org/neon/ +NEON_LICENSE = LGPLv2+ (library), GPLv2+ (manual and tests) +NEON_LICENSE_FILES = src/COPYING.LIB src/COPYING README NEON_INSTALL_STAGING = YES NEON_CONF_OPT = --without-gssapi --disable-rpath NEON_CONFIG_SCRIPTS = neon-config diff --git a/package/netsnmp/Config.in b/package/netsnmp/Config.in index 108ab8393..d5056f928 100644 --- a/package/netsnmp/Config.in +++ b/package/netsnmp/Config.in @@ -15,6 +15,20 @@ config BR2_PACKAGE_NETSNMP_ENABLE_MIBS Say yes if you want those MIB files installed on the target and enable the code that parses the MIB files. +config BR2_PACKAGE_NETSNMP_WITH_MIB_MODULES + string "Build with these MIB modules" + default "host ucd-snmp/dlmod" + depends on BR2_PACKAGE_NETSNMP + help + Specify which MIB modules to include. + +config BR2_PACKAGE_NETSNMP_WITHOUT_MIB_MODULES + string "Build without these MIB modules" + default "disman/event disman/schedule utilities" + depends on BR2_PACKAGE_NETSNMP + help + Specify which MIB modules to exclude. + config BR2_PACKAGE_NETSNMP_ENABLE_DEBUGGING bool "Enable debugging code" depends on BR2_PACKAGE_NETSNMP diff --git a/package/netsnmp/netsnmp.mk b/package/netsnmp/netsnmp.mk index 2670cf33b..a6912e5c9 100644 --- a/package/netsnmp/netsnmp.mk +++ b/package/netsnmp/netsnmp.mk @@ -20,8 +20,8 @@ NETSNMP_CONF_OPT = --with-persistent-directory=/var/lib/snmp --disable-static \ --enable-silent-libtool --enable-mfd-rewrites \ --with-sys-contact="root@localhost" \ --with-sys-location="Unknown" \ - --with-mib-modules="host ucd-snmp/dlmod" \ - --with-out-mib-modules="disman/event disman/schedule utilities" \ + --with-mib-modules="$(call qstrip,$(BR2_PACKAGE_NETSNMP_WITH_MIB_MODULES))" \ + --with-out-mib-modules="$(call qstrip,$(BR2_PACKAGE_NETSNMP_WITHOUT_MIB_MODULES))" \ --with-out-transports="Unix" NETSNMP_MAKE = $(MAKE1) NETSNMP_BLOAT_MIBS = BRIDGE DISMAN-EVENT DISMAN-SCHEDULE DISMAN-SCRIPT EtherLike RFC-1215 RFC1155-SMI RFC1213 SCTP SMUX diff --git a/package/openssh/openssh-fix-pam-uclibc-pthreads-clash.patch b/package/openssh/openssh-fix-pam-uclibc-pthreads-clash.patch new file mode 100644 index 000000000..d9bc6e5d0 --- /dev/null +++ b/package/openssh/openssh-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 <danomimanchego123@gmail.com> + +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.mk b/package/openssh/openssh.mk index 81a28a199..03ea73d73 100644 --- a/package/openssh/openssh.mk +++ b/package/openssh/openssh.mk @@ -12,6 +12,11 @@ OPENSSH_CONF_OPT = --libexecdir=/usr/lib --disable-lastlog --disable-utmp \ OPENSSH_DEPENDENCIES = zlib openssl +ifeq ($(BR2_PACKAGE_LINUX_PAM),y) +OPENSSH_DEPENDENCIES += linux-pam +OPENSSH_CONF_OPT += --with-pam +endif + define OPENSSH_INSTALL_INITSCRIPT $(INSTALL) -D -m 755 package/openssh/S50sshd $(TARGET_DIR)/etc/init.d/S50sshd endef diff --git a/package/oprofile/Config.in b/package/oprofile/Config.in index 8c881d15e..0fbc87c4f 100644 --- a/package/oprofile/Config.in +++ b/package/oprofile/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_OPROFILE bool "oprofile" select BR2_PACKAGE_POPT select BR2_PACKAGE_BINUTILS + select BR2_PACKAGE_LIBPFM4 if BR2_powerpc depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_aarch64 # binutils help diff --git a/package/oprofile/oprofile-003-oprofile-ppc32-build-fix.patch b/package/oprofile/oprofile-003-oprofile-ppc32-build-fix.patch new file mode 100644 index 000000000..0f609df0e --- /dev/null +++ b/package/oprofile/oprofile-003-oprofile-ppc32-build-fix.patch @@ -0,0 +1,32 @@ +Upstream-Status: Backport + +From fa889ea74b6b931e241a8cd57e90edc23cd7ab03 Mon Sep 17 00:00:00 2001 +From: William Cohen <wcohen@redhat.com> +Date: Mon, 15 Oct 2012 15:09:55 -0500 +Subject: [PATCH] OProfile doesn't build for 32-bit ppc; the operf_utils.cpp + compile fails. Need to be able to build the 32-bit ppc + version of oprofile to provide the 32-bit ppc java support + libraries. The configure only handles the case of ppc64 + with perf support. + +Signed-off-by: William Cohen <wcohen@redhat.com> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index b739133..7449854 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -104,7 +104,7 @@ AC_DEFINE_UNQUOTED(HAVE_PERF_EVENTS, $HAVE_PERF_EVENTS, [Kernel support for perf + if test "$HAVE_PERF_EVENTS" = "1"; then + PFM_LIB= + arch="`uname -m`" +- if test "$arch" = "ppc64"; then ++ if test "$arch" = "ppc64" || test "$arch" = "ppc"; then + AC_CHECK_HEADER(perfmon/pfmlib.h,,[AC_MSG_ERROR([pfmlib.h not found; usually provided in papi devel package])]) + AC_CHECK_LIB(pfm,pfm_get_event_name, HAVE_LIBPFM3='1'; HAVE_LIBPFM='1', [ + AC_CHECK_LIB(pfm,pfm_get_os_event_encoding, HAVE_LIBPFM3='0'; HAVE_LIBPFM='1', +-- +1.7.9.7 + diff --git a/package/oprofile/oprofile-004-fix-ppc64-specific-libpfm-usage.patch b/package/oprofile/oprofile-004-fix-ppc64-specific-libpfm-usage.patch new file mode 100644 index 000000000..d8a43de08 --- /dev/null +++ b/package/oprofile/oprofile-004-fix-ppc64-specific-libpfm-usage.patch @@ -0,0 +1,105 @@ +From 8e36ad01ceb1257d05773b684dbe9358aecd3f71 Mon Sep 17 00:00:00 2001 +From: Maynard Johnson <maynardj@us.ibm.com> +Date: Tue, 26 Feb 2013 13:41:27 -0600 +Subject: [PATCH] Fix PPC64-specific libpfm usage so it doesn't break ppc32 + architecture + +The configure check to determine whether we should use libpfm or not +is intended only for the ppc64 architecture, but was incorrectly +hitting on the ppc32 architecture, too. Not only that, but it was using +'uname' which is not a good idea in cross-compile situtations. + +Then, aside from that, we had several instances in the source code +of the following: + #if (defined(__powerpc__) || defined(__powerpc64__)) +which incorrectly included ppc32 architecutre also, when it was intended +for use as PPC64 architecture. + +This patch fixes both errors. + +Signed-off-by: Maynard Johnson <maynardj@us.ibm.com +--- + configure.ac | 5 ++--- + libperf_events/operf_utils.cpp | 4 ++-- + libperf_events/operf_utils.h | 6 ++++++ + pe_profiling/operf.cpp | 10 +++++----- + 4 files changed, 15 insertions(+), 10 deletions(-) + +diff --git a/configure.ac b/configure.ac +--- a/configure.ac ++++ b/configure.ac +@@ -100,11 +100,10 @@ else + HAVE_PERF_EVENTS='0' + fi + AC_DEFINE_UNQUOTED(HAVE_PERF_EVENTS, $HAVE_PERF_EVENTS, [Kernel support for perf_events exists]) +- ++AC_CANONICAL_HOST + if test "$HAVE_PERF_EVENTS" = "1"; then + PFM_LIB= +- arch="`uname -m`" +- if test "$arch" = "ppc64" || test "$arch" = "ppc"; then ++ if test "$host_cpu" = "powerpc64"; then + AC_CHECK_HEADER(perfmon/pfmlib.h,,[AC_MSG_ERROR([pfmlib.h not found; usually provided in papi devel package])]) + AC_CHECK_LIB(pfm,pfm_get_event_name, HAVE_LIBPFM3='1'; HAVE_LIBPFM='1', [ + AC_CHECK_LIB(pfm,pfm_get_os_event_encoding, HAVE_LIBPFM3='0'; HAVE_LIBPFM='1', +diff --git a/libperf_events/operf_utils.cpp b/libperf_events/operf_utils.cpp +--- a/libperf_events/operf_utils.cpp ++++ b/libperf_events/operf_utils.cpp +@@ -82,7 +82,7 @@ static event_t comm_event; + * the following method is to map the operf-record event value to a value that + * opreport can understand. + */ +-#if (defined(__powerpc__) || defined(__powerpc64__)) ++#if PPC64_ARCH + #define NIL_CODE ~0U + + #if HAVE_LIBPFM3 +@@ -708,7 +708,7 @@ static void __handle_sample_event(event_ + } else if (event->header.misc == PERF_RECORD_MISC_USER) { + in_kernel = false; + } +-#if (defined(__powerpc__) || defined(__powerpc64__)) ++#if PPC64_ARCH + else if (event->header.misc == PERF_RECORD_MISC_HYPERVISOR) { + #define MAX_HYPERVISOR_ADDRESS 0xfffffffULL + if (data.ip > MAX_HYPERVISOR_ADDRESS) { +diff --git a/libperf_events/operf_utils.h b/libperf_events/operf_utils.h +--- a/libperf_events/operf_utils.h ++++ b/libperf_events/operf_utils.h +@@ -45,6 +45,12 @@ extern bool throttled; + #define MMAP_WINDOW_SZ (32 * 1024 * 1024ULL) + #endif + ++/* A macro to be used for ppc64 architecture-specific code. The '__powerpc__' macro ++ * is defined for both ppc64 and ppc32 architectures, so we must further qualify by ++ * including the 'HAVE_LIBPFM' macro, since that macro will be defined only for ppc64. ++ */ ++#define PPC64_ARCH (HAVE_LIBPFM) && ((defined(__powerpc__) || defined(__powerpc64__))) ++ + extern unsigned int op_nr_counters; + + static inline size_t align_64bit(u64 x) +diff --git a/pe_profiling/operf.cpp b/pe_profiling/operf.cpp +--- a/pe_profiling/operf.cpp ++++ b/pe_profiling/operf.cpp +@@ -1197,9 +1197,9 @@ static void _process_events_list(void) + _get_event_code(&event); + events.push_back(event); + } +-#if (defined(__powerpc__) || defined(__powerpc64__)) ++#if PPC64_ARCH + { +- /* This section of code is for architectures such as ppc[64] for which ++ /* This section of code is soley for the ppc64 architecture for which + * the oprofile event code needs to be converted to the appropriate event + * code to pass to the perf_event_open syscall. + */ +@@ -1244,7 +1244,7 @@ static void get_default_event(void) + _get_event_code(&dft_evt); + events.push_back(dft_evt); + +-#if (defined(__powerpc__) || defined(__powerpc64__)) ++#if PPC64_ARCH + { + /* This section of code is for architectures such as ppc[64] for which + * the oprofile event code needs to be converted to the appropriate event diff --git a/package/oprofile/oprofile-005-fix-up-configure-to-handle-architectures-that-do-not.patch b/package/oprofile/oprofile-005-fix-up-configure-to-handle-architectures-that-do-not.patch new file mode 100644 index 000000000..6d7a6ef64 --- /dev/null +++ b/package/oprofile/oprofile-005-fix-up-configure-to-handle-architectures-that-do-not.patch @@ -0,0 +1,154 @@ +Upstream-Status: Backport + +From ca6d916a6f8f0f8abbb4c9b6a97dd1a1615bb124 Mon Sep 17 00:00:00 2001 +From: Maynard Johnson <maynardj@us.ibm.com> +Date: Wed, 5 Dec 2012 10:16:35 -0600 +Subject: [PATCH] Fix up configure to handle architectures that do not + implement perf_event_open + +This patch fixes the following problems: + +1) The configure script allows the user to pass a location to kernel +headers (via --with-kernel option) such that, even if the running +kernel does not have perf_events support, it may be possible to +build operf (e.g., in cross-compile environments). But the message +'This kernel does not have perf_events support; falling back to legacy +oprofile' was being displayed inappropriately in such cases. This +patch changes the configure script so that the "falling back to +legacy oprofile" message will only be displayed if we're running +on a kernel that does not have perf_events support AND the user +did not pass specify the "--with-kernel" option. + +2) Some architectures don't even implement the perf_event_open syscall, so the +configure script must do more than checking kernel version and whether or not +perf_event.h is present in order to decide if perf_events is supported. +This patch provides that extra capability. + +These problems were reported by Tony Jones <tonyj@suse.com>. + +Signed-off-by: Maynard Johnson <maynardj@us.ibm.com> +--- + configure.ac | 74 +++++++++++++++++++++++++++++----------- + utils/op_perf_events_checker.c | 6 ++-- + 2 files changed, 58 insertions(+), 22 deletions(-) + +diff --git a/configure.ac b/configure.ac +--- a/configure.ac ++++ b/configure.ac +@@ -70,35 +70,70 @@ KERNELDIR=$withval) + + + dnl Check kernel version for perf_events supported +-AC_MSG_CHECKING([kernel version supports perf_events]) + if test "$KERNELDIR" != ""; then + KINC="$KERNELDIR/include" ++ PERF_EVENT_FLAGS=" -I$KERNELDIR/include" ++ AC_SUBST(PERF_EVENT_FLAGS) ++ PERF_EVENT_H="$KERNELDIR/include/linux/perf_event.h" ++else ++ PERF_EVENT_H="/usr/include/linux/perf_event.h" + fi +-AX_KERNEL_VERSION(2, 6, 31, <=, kernel_has_perf_events_support="yes", ++ ++PERF_EVENT_H_EXISTS="no" ++kernel_may_have_perf_events_support="no" ++AX_KERNEL_VERSION(2, 6, 31, <=, kernel_may_have_perf_events_support="yes", + kernel_has_perf_events_support="no") + +-if test "$kernel_has_perf_events_support" = "no"; then +- AC_MSG_RESULT([This kernel does not have perf_events support; falling back to legacy oprofile]) ++dnl The AX_KERNEL_VERSION macro may return kernel_may_have_perf_events_support="yes", ++dnl indicating a partial answer. Some architectures do not implement the Performance ++dnl Events Kernel Subsystem even with kernel versions > 2.6.31 -- i.e., not even ++dnl implementing the perf_event_open syscall to return ENOSYS. So the check below ++dnl will identify and handle such situations. ++ ++if test "$kernel_may_have_perf_events_support" = "yes"; then ++ AC_CHECK_HEADER($PERF_EVENT_H,PERF_EVENT_H_EXISTS="yes") ++ AC_MSG_CHECKING([kernel supports perf_events]) ++ if test "$PERF_EVENT_H_EXISTS" = "yes"; then ++ rm -f test-for-PERF_EVENT_OPEN ++ AC_LANG_CONFTEST( ++ [AC_LANG_PROGRAM([[#include <linux/perf_event.h> ++ #include <asm/unistd.h> ++ #include <sys/types.h> ++ #include <string.h> ++ ]], ++ [[struct perf_event_attr attr; ++ pid_t pid; ++ memset(&attr, 0, sizeof(attr)); ++ attr.size = sizeof(attr); ++ attr.sample_type = PERF_SAMPLE_IP; ++ pid = getpid(); ++ syscall(__NR_perf_event_open, &attr, pid, 0, -1, 0); ++ ]]) ++ ]) ++ $CC conftest.$ac_ext $CFLAGS $LDFLAGS $LIBS $PERF_EVENT_FLAGS -o test-for-PERF_EVENT_OPEN > /dev/null 2>&1 ++ if test -f test-for-PERF_EVENT_OPEN; then ++ kernel_has_perf_events_support="yes" ++ AC_MSG_RESULT(yes) ++ else ++ AC_MSG_RESULT(no) ++ kernel_has_perf_events_support="no" ++ fi ++ else ++ AC_MSG_RESULT(unknown -- perf_event.h not found) ++ fi + else +- AC_MSG_RESULT([This kernel has perf_events support]) ++ AC_MSG_RESULT(kernel supports perf_events... no) ++ kernel_has_perf_events_support="no" ++fi ++AM_CONDITIONAL(BUILD_FOR_PERF_EVENT, test "$kernel_has_perf_events_support" = "yes") ++ ++if test "$kernel_has_perf_events_support" = "yes"; then ++ HAVE_PERF_EVENTS='1' ++else ++ HAVE_PERF_EVENTS='0' ++ AC_MSG_RESULT([No perf_events support available; falling back to legacy oprofile]) + fi + +-if test "$KERNELDIR" == ""; then +- PERF_EVENT_H="/usr/include/linux/perf_event.h" +-else +- PERF_EVENT_H="$KERNELDIR/include/linux/perf_event.h" +-fi +-AC_CHECK_HEADER($PERF_EVENT_H,PERF_EVENT_H_EXISTS="yes") +-AM_CONDITIONAL(BUILD_FOR_PERF_EVENT, test -n "$PERF_EVENT_H_EXISTS") +-if test "$PERF_EVENT_H_EXISTS" = "yes"; then +- HAVE_PERF_EVENTS='1' +- if test "$KERNELDIR" != ""; then +- PERF_EVENT_FLAGS=" -I$KERNELDIR/include" +- AC_SUBST(PERF_EVENT_FLAGS) +- fi +-else +- HAVE_PERF_EVENTS='0' +-fi + AC_DEFINE_UNQUOTED(HAVE_PERF_EVENTS, $HAVE_PERF_EVENTS, [Kernel support for perf_events exists]) + AC_CANONICAL_HOST + if test "$HAVE_PERF_EVENTS" = "1"; then +@@ -414,7 +449,7 @@ elif test "`getent passwd oprofile 2>/de + fi + fi + +-if test "$PERF_EVENT_H_EXISTS" != "yes" && test "$kernel_has_perf_events_support" = "yes"; then ++if test "$PERF_EVENT_H_EXISTS" != "yes" && test "$kernel_may_have_perf_events_support" = "yes"; then + echo "Warning: perf_event.h not found. Please install the kernel headers package if you" + echo " want non-root support built into OProfile." + fi +diff --git a/utils/op_perf_events_checker.c b/utils/op_perf_events_checker.c +--- a/utils/op_perf_events_checker.c ++++ b/utils/op_perf_events_checker.c +@@ -49,8 +49,10 @@ int main(int argc, char **argv) + } + + #if HAVE_PERF_EVENTS +- /* If perf_events syscall is not implemented, the syscall below will fail +- * with ENOSYS (38). If implemented, but the processor type on which this ++ /* Even if the perf_event_open syscall is implemented, the architecture may still ++ * not provide a full implementation of the perf_events subsystem, in which case, ++ * the syscall below will fail with ENOSYS (38). If the perf_events subsystem is ++ * implemented for the architecture, but the processor type on which this + * program is running is not supported by perf_events, the syscall returns + * ENOENT (2). + */ diff --git a/package/oprofile/oprofile.mk b/package/oprofile/oprofile.mk index f3ea23f92..6c397020c 100644 --- a/package/oprofile/oprofile.mk +++ b/package/oprofile/oprofile.mk @@ -8,7 +8,12 @@ OPROFILE_VERSION = 0.9.8 OPROFILE_SITE = http://downloads.sourceforge.net/project/oprofile/oprofile/oprofile-$(OPROFILE_VERSION) OPROFILE_LICENSE = GPLv2+ OPROFILE_LICENSE_FILES = COPYING -OPROFILE_CONF_OPT = --localstatedir=/var --with-kernel-support +OPROFILE_CONF_OPT = \ + --localstatedir=/var \ + --disable-account-check \ + --enable-gui=no \ + --with-kernel=$(STAGING_DIR)/usr +OPROFILE_AUTORECONF = YES OPROFILE_BINARIES = utils/ophelp pp/opannotate pp/oparchive pp/opgprof OPROFILE_BINARIES += pp/opreport opjitconv/opjitconv daemon/oprofiled OPROFILE_BINARIES += utils/op-check-perfevents pe_profiling/operf libabi/opimport @@ -29,7 +34,17 @@ ifeq ($(OPROFILE_ARCH),) OPROFILE_ARCH = $(BR2_ARCH) endif -OPROFILE_DEPENDENCIES = popt binutils +OPROFILE_DEPENDENCIES = popt binutils host-pkgconf + +ifeq ($(BR2_PACKAGE_LIBPFM4),y) +OPROFILE_DEPENDENCIES += libpfm4 +endif + +define OPROFILE_CREATE_FILES + touch $(@D)/NEWS $(@D)/AUTHORS $(@D)/ChangeLog +endef + +OPROFILE_POST_PATCH_HOOKS += OPROFILE_CREATE_FILES define OPROFILE_INSTALL_TARGET_CMDS $(INSTALL) -d -m 755 $(TARGET_DIR)/usr/bin diff --git a/package/php/php.mk b/package/php/php.mk index a4179396c..692ceb8d8 100644 --- a/package/php/php.mk +++ b/package/php/php.mk @@ -4,7 +4,7 @@ # ############################################################# -PHP_VERSION = 5.3.22 +PHP_VERSION = 5.3.23 PHP_SOURCE = php-$(PHP_VERSION).tar.bz2 PHP_SITE = http://www.php.net/distributions PHP_INSTALL_STAGING = YES diff --git a/package/pkg-autotools.mk b/package/pkg-autotools.mk index 995c68596..d8d7e6d47 100644 --- a/package/pkg-autotools.mk +++ b/package/pkg-autotools.mk @@ -185,7 +185,8 @@ define AUTORECONF_HOOK $(Q)cd $$($$(PKG)_SRCDIR) && $(AUTORECONF) $$($$(PKG)_AUTORECONF_OPT) $(Q)if test "$$($$(PKG)_LIBTOOL_PATCH)" = "YES"; then \ for i in `find $$($$(PKG)_SRCDIR) -name ltmain.sh`; do \ - ltmain_version=`sed -n '/^[ ]*VERSION=/{s/^[ ]*VERSION=//;p;q;}' $$$$i | sed 's/\([0-9].[0-9]*\).*/\1/'`; \ + ltmain_version=`sed -n '/^[ ]*VERSION=/{s/^[ ]*VERSION=//;p;q;}' $$$$i | \ + sed -e 's/\([0-9].[0-9]*\).*/\1/' -e 's/\"//'`; \ if test $$$${ltmain_version} = "1.5"; then \ support/scripts/apply-patches.sh $$$${i%/*} support/libtool buildroot-libtool-v1.5.patch; \ elif test $$$${ltmain_version} = "2.2"; then\ diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk index afb90bf79..901bcf7ba 100644 --- a/package/pkg-generic.mk +++ b/package/pkg-generic.mk @@ -62,7 +62,7 @@ $(BUILD_DIR)/%/.stamp_extracted: $(BUILD_DIR)/%/.stamp_rsynced: @$(call MESSAGE,"Syncing from source dir $(SRCDIR)") @test -d $(SRCDIR) || (echo "ERROR: $(SRCDIR) does not exist" ; exit 1) - rsync -au --cvs-exclude $(SRCDIR)/ $(@D) + rsync -au --cvs-exclude --include core $(SRCDIR)/ $(@D) $(Q)touch $@ # Handle the SOURCE_CHECK and SHOW_EXTERNAL_DEPS cases for rsynced diff --git a/package/qt5/qt5.mk b/package/qt5/qt5.mk index f22050876..83cc0e108 100644 --- a/package/qt5/qt5.mk +++ b/package/qt5/qt5.mk @@ -1,3 +1,4 @@ +QT5_VERSION = 5.0.1 include package/qt5/*/*.mk define QT5_LA_PRL_FILES_FIXUP diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk index 83ce9998c..d22ab66f3 100644 --- a/package/qt5/qt5base/qt5base.mk +++ b/package/qt5/qt5base/qt5base.mk @@ -4,7 +4,7 @@ # ############################################################# -QT5BASE_VERSION = 5.0.1 +QT5BASE_VERSION = $(QT5_VERSION) QT5BASE_SITE = http://releases.qt-project.org/qt5/$(QT5BASE_VERSION)/submodules_tar/ QT5BASE_SOURCE = qtbase-opensource-src-$(QT5BASE_VERSION).tar.xz diff --git a/package/quota/Config.in b/package/quota/Config.in index f6341d319..5127a9a9c 100644 --- a/package/quota/Config.in +++ b/package/quota/Config.in @@ -3,7 +3,9 @@ config BR2_PACKAGE_QUOTA depends on BR2_LARGEFILE depends on BR2_USE_WCHAR depends on BR2_USE_MMU # fork() + depends on !(BR2_microblazeel || BR2_microblazebe) # util-linux select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_BINARIES select BR2_PACKAGE_UTIL_LINUX_MOUNT select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC diff --git a/package/rt-tests/Config.in b/package/rt-tests/Config.in index 0999ebfbc..a04013957 100644 --- a/package/rt-tests/Config.in +++ b/package/rt-tests/Config.in @@ -14,6 +14,12 @@ config BR2_PACKAGE_RT_TESTS installed if a Python interpreter has been selected in the Buildroot configuration. + Note that this package requires a toolchain built with the + NPTL implementation of the pthread API (this is always the + case with glibc/eglibc toolchains, but may not necessarily + be the case with uClibc toolchains, since the thread + implementation is configurable). + http://rt.wiki.kernel.org comment "rt-tests requires a toolchain with threads support" diff --git a/package/squid/squid.mk b/package/squid/squid.mk index a4093f435..5832aa7da 100644 --- a/package/squid/squid.mk +++ b/package/squid/squid.mk @@ -4,7 +4,7 @@ # ############################################################# -SQUID_VERSION = 3.3.2 +SQUID_VERSION = 3.3.3 SQUID_SITE = http://www.squid-cache.org/Versions/v3/3.3 SQUID_LICENSE = GPLv2+ SQUID_LICENSE_FILES = COPYING diff --git a/package/tcl/tcl.mk b/package/tcl/tcl.mk index 606042e4e..ec089eed4 100644 --- a/package/tcl/tcl.mk +++ b/package/tcl/tcl.mk @@ -8,6 +8,8 @@ TCL_VERSION_MINOR = 19 TCL_VERSION = $(TCL_VERSION_MAJOR).$(TCL_VERSION_MINOR) TCL_SOURCE = tcl$(TCL_VERSION)-src.tar.gz TCL_SITE = http://downloads.sourceforge.net/project/tcl/Tcl/$(TCL_VERSION_MAJOR).$(TCL_VERSION_MINOR) +TCL_LICENSE = tcl license +TCL_LICENSE_FILE = license.terms TCL_SUBDIR = unix TCL_CONF_OPT = \ --disable-symbols \ diff --git a/package/texinfo/texinfo.mk b/package/texinfo/texinfo.mk new file mode 100644 index 000000000..54d18b68a --- /dev/null +++ b/package/texinfo/texinfo.mk @@ -0,0 +1,14 @@ +############################################################# +# +# texinfo +# +############################################################# + +# We are intentionally not using the latest version 5.x, because it +# causes issues with the documentation building process when creating +# a toolchain with the Crosstool-NG backend. + +TEXINFO_VERSION = 4.13a +TEXINFO_SITE = $(BR2_GNU_MIRROR)/texinfo + +$(eval $(host-autotools-package)) diff --git a/package/uboot-tools/Config.in b/package/uboot-tools/Config.in index 9cc837c93..7c8f17ce6 100644 --- a/package/uboot-tools/Config.in +++ b/package/uboot-tools/Config.in @@ -13,6 +13,13 @@ config BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE The mkimage tool from Das U-Boot bootloader, which allows generation of U-Boot images in various formats. +config BR2_PACKAGE_UBOOT_TOOLS_MKENVIMAGE + bool "mkenvimage" + help + The mkenvimage tool from Das U-Boot bootloader, which allows + generation of a valid binary environment image from a text file + describing the key=value pairs of the environment. + config BR2_PACKAGE_UBOOT_TOOLS_FWPRINTENV bool "fw_printenv" default y diff --git a/package/uboot-tools/uboot-tools.mk b/package/uboot-tools/uboot-tools.mk index 9d7596a70..f03ff9147 100644 --- a/package/uboot-tools/uboot-tools.mk +++ b/package/uboot-tools/uboot-tools.mk @@ -24,6 +24,12 @@ define UBOOT_TOOLS_INSTALL_MKIMAGE endef endif +ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_MKENVIMAGE),y) +define UBOOT_TOOLS_INSTALL_MKENVIMAGE + $(INSTALL) -m 0755 -D $(@D)/tools/mkenvimage $(TARGET_DIR)/usr/bin/mkenvimage +endef +endif + ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_FWPRINTENV),y) define UBOOT_TOOLS_INSTALL_FWPRINTENV $(INSTALL) -m 0755 -D $(@D)/tools/env/fw_printenv $(TARGET_DIR)/usr/sbin/fw_printenv @@ -33,6 +39,7 @@ endif define UBOOT_TOOLS_INSTALL_TARGET_CMDS $(UBOOT_TOOLS_INSTALL_MKIMAGE) + $(UBOOT_TOOLS_INSTALL_MKENVIMAGE) $(UBOOT_TOOLS_INSTALL_FWPRINTENV) endef @@ -51,6 +58,7 @@ endef define HOST_UBOOT_TOOLS_INSTALL_CMDS $(INSTALL) -m 0755 -D $(@D)/tools/mkimage $(HOST_DIR)/usr/bin/mkimage + $(INSTALL) -m 0755 -D $(@D)/tools/mkenvimage $(HOST_DIR)/usr/bin/mkenvimage endef $(eval $(generic-package)) diff --git a/package/x11r7/Config.in b/package/x11r7/Config.in index fba49b353..971ef377a 100644 --- a/package/x11r7/Config.in +++ b/package/x11r7/Config.in @@ -256,6 +256,7 @@ if BR2_PACKAGE_XORG7 menu "X11R7 Other data" source package/x11r7/xdata_xbitmaps/Config.in source package/x11r7/xdata_xcursor-themes/Config.in + source package/x11r7/xcursor-transparent-theme/Config.in source package/x11r7/xkeyboard-config/Config.in endmenu endif diff --git a/package/x11r7/xcursor-transparent-theme/Config.in b/package/x11r7/xcursor-transparent-theme/Config.in new file mode 100644 index 000000000..8282db897 --- /dev/null +++ b/package/x11r7/xcursor-transparent-theme/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_XCURSOR_TRANSPARENT_THEME + bool "xcursor-transparent-theme" + select BR2_PACKAGE_XLIB_LIBXCURSOR + help + Completely transparent theme for hiding the X11 cursor. + + No upstream site. diff --git a/package/x11r7/xcursor-transparent-theme/index.theme b/package/x11r7/xcursor-transparent-theme/index.theme new file mode 100644 index 000000000..5300850fb --- /dev/null +++ b/package/x11r7/xcursor-transparent-theme/index.theme @@ -0,0 +1,2 @@ +[Icon Theme] +Inherits=xcursor-transparent 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 new file mode 100644 index 000000000..9cf351f23 --- /dev/null +++ b/package/x11r7/xcursor-transparent-theme/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 <thomas.petazzoni@free-electrons.com> + +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.mk b/package/x11r7/xcursor-transparent-theme/xcursor-transparent-theme.mk new file mode 100644 index 000000000..3ad985bf6 --- /dev/null +++ b/package/x11r7/xcursor-transparent-theme/xcursor-transparent-theme.mk @@ -0,0 +1,18 @@ +############################################################# +# +# xcursor-transparent-theme - No description available +# +############################################################# + +XCURSOR_TRANSPARENT_THEME_VERSION = 0.1.1 +XCURSOR_TRANSPARENT_THEME_SITE = http://downloads.yoctoproject.org/releases/matchbox/utils/ +XCURSOR_TRANSPARENT_THEME_DEPENDENCIES = xlib_libXcursor host-xapp_xcursorgen + +define ICONS_DEFAULT_CONFIG_INSTALL + $(INSTALL) -m 0755 -D package/x11r7/xcursor-transparent-theme/index.theme \ + $(TARGET_DIR)/usr/share/icons/default/index.theme +endef + +XCURSOR_TRANSPARENT_THEME_POST_INSTALL_TARGET_HOOKS += ICONS_DEFAULT_CONFIG_INSTALL + +$(eval $(autotools-package)) diff --git a/package/xinetd/xinetd-2.3.15/001-ar.patch b/package/xinetd/xinetd-001-ar.patch index 566f2f75e..566f2f75e 100644 --- a/package/xinetd/xinetd-2.3.15/001-ar.patch +++ b/package/xinetd/xinetd-001-ar.patch diff --git a/package/xinetd/xinetd-2.3.15/002-destdir.patch b/package/xinetd/xinetd-002-destdir.patch index 7a323eb68..7a323eb68 100644 --- a/package/xinetd/xinetd-2.3.15/002-destdir.patch +++ b/package/xinetd/xinetd-002-destdir.patch diff --git a/package/xinetd/xinetd-2.3.15/003-rpc_fix.patch b/package/xinetd/xinetd-003-rpc-fix.patch index 6c32b7291..6c32b7291 100644 --- a/package/xinetd/xinetd-2.3.15/003-rpc_fix.patch +++ b/package/xinetd/xinetd-003-rpc-fix.patch diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh index acba57c92..ce4d9e17b 100755 --- a/support/dependencies/dependencies.sh +++ b/support/dependencies/dependencies.sh @@ -131,22 +131,27 @@ if ! $SHELL --version 2>&1 | grep -q '^GNU bash'; then fi; # Check that a few mandatory programs are installed -for prog in awk bison flex msgfmt makeinfo patch gzip bzip2 perl tar wget cpio python unzip rsync ${DL_TOOLS} ; do +missing_progs="no" +for prog in patch perl tar wget cpio python unzip rsync ${DL_TOOLS} ; do if ! which $prog > /dev/null ; then - /bin/echo -e "\nYou must install '$prog' on your build machine"; - if test $prog = "makeinfo" ; then - /bin/echo -e "makeinfo is usually part of the texinfo package in your distribution\n" - elif test $prog = "msgfmt" ; then - /bin/echo -e "msgfmt is usually part of the gettext package in your distribution\n" - elif test $prog = "svn" ; then - /bin/echo -e "svn is usually part of the subversion package in your distribution\n" - else - /bin/echo -e "\n" + /bin/echo -e "You must install '$prog' on your build machine"; + missing_progs="yes" + if test $prog = "svn" ; then + /bin/echo -e " svn is usually part of the subversion package in your distribution" + elif test $prog = "hg" ; then + /bin/echo -e " hg is usually part of the mercurial package in your distribution" + elif test $prog = "zcat" ; then + /bin/echo -e " zcat is usually part of the gzip package in your distribution" + elif test $prog = "bzcat" ; then + /bin/echo -e " bzcat is usually part of the bzip2 package in your distribution" fi - exit 1; fi done +if test "${missing_progs}" = "yes" ; then + exit 1 +fi + if grep ^BR2_TOOLCHAIN_BUILDROOT=y $BUILDROOT_CONFIG > /dev/null && \ grep ^BR2_ENABLE_LOCALE=y $BUILDROOT_CONFIG > /dev/null ; then if ! which locale > /dev/null ; then @@ -187,3 +192,20 @@ if grep -q ^BR2_HOSTARCH_NEEDS_IA32_LIBS=y $BUILDROOT_CONFIG ; then exit 1 fi fi + +# Check that the Perl installation is complete enough to build +# host-autoconf. +if ! perl -e "require Data::Dumper" > /dev/null 2>&1 ; then + /bin/echo -e "Your Perl installation is not complete enough, at least Data::Dumper is missing." + /bin/echo -e "On Debian/Ubuntu distributions, install the 'perl' package." + exit 1 +fi + +# Check that we have the SSL certificates to make https:// downloads +# work. +if ! test -d /etc/ssl/certs; then + /bin/echo -e "Your system lacks Common CA certificates for SSL." + /bin/echo -e "This prevents https:// downloads from succeeding." + /bin/echo -e "On Debian/Ubuntu distributions, install 'ca-certificates' package." + exit 1 +fi diff --git a/toolchain/Config.in b/toolchain/Config.in index 7edf82b36..f1cca144f 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -28,7 +28,7 @@ config BR2_TOOLCHAIN_CTNG select BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED help Say 'y' if you want to generate the toolchain with crosstool-NG - ( http://ymorin.is-a-geek.org/projects/crosstool ) + (http://crosstool-ng.org). This is considered experimental, and you can expect some breakage. diff --git a/toolchain/gcc/4.8.0/100-uclibc-conf.patch b/toolchain/gcc/4.8.0/100-uclibc-conf.patch new file mode 100644 index 000000000..d855b30ee --- /dev/null +++ b/toolchain/gcc/4.8.0/100-uclibc-conf.patch @@ -0,0 +1,37 @@ +Index: gcc-4.8.0/contrib/regression/objs-gcc.sh +=================================================================== +--- gcc-4.8.0.orig/contrib/regression/objs-gcc.sh 2009-04-09 17:00:19.000000000 +0200 ++++ gcc-4.8.0/contrib/regression/objs-gcc.sh 2013-03-23 17:39:04.000000000 +0100 +@@ -106,6 +106,10 @@ + then + make all-gdb all-dejagnu all-ld || exit 1 + make install-gdb install-dejagnu install-ld || exit 1 ++elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] ++ then ++ make all-gdb all-dejagnu all-ld || exit 1 ++ make install-gdb install-dejagnu install-ld || exit 1 + elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then + make bootstrap || exit 1 + make install || exit 1 +Index: gcc-4.8.0/libjava/classpath/ltconfig +=================================================================== +--- gcc-4.8.0.orig/libjava/classpath/ltconfig 2011-02-13 12:45:53.000000000 +0100 ++++ gcc-4.8.0/libjava/classpath/ltconfig 2013-03-23 17:39:04.000000000 +0100 +@@ -603,7 +603,7 @@ + + # Transform linux* to *-*-linux-gnu*, to support old configure scripts. + case $host_os in +-linux-gnu*) ;; ++linux-gnu*|linux-uclibc*) ;; + linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` + esac + +@@ -1247,7 +1247,7 @@ + ;; + + # This must be Linux ELF. +-linux-gnu*) ++linux*) + version_type=linux + need_lib_prefix=no + need_version=no diff --git a/toolchain/gcc/4.8.0/301-missing-execinfo_h.patch b/toolchain/gcc/4.8.0/301-missing-execinfo_h.patch new file mode 100644 index 000000000..00efda24a --- /dev/null +++ b/toolchain/gcc/4.8.0/301-missing-execinfo_h.patch @@ -0,0 +1,13 @@ +Index: gcc-4.8.0/boehm-gc/include/gc.h +=================================================================== +--- gcc-4.8.0.orig/boehm-gc/include/gc.h 2007-04-23 23:10:09.000000000 +0200 ++++ gcc-4.8.0/boehm-gc/include/gc.h 2013-03-23 17:39:20.000000000 +0100 +@@ -503,7 +503,7 @@ + #if defined(__linux__) || defined(__GLIBC__) + # include <features.h> + # 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/toolchain/gcc/4.8.0/302-c99-snprintf.patch b/toolchain/gcc/4.8.0/302-c99-snprintf.patch new file mode 100644 index 000000000..cd4d2ccfb --- /dev/null +++ b/toolchain/gcc/4.8.0/302-c99-snprintf.patch @@ -0,0 +1,13 @@ +Index: gcc-4.8.0/libstdc++-v3/include/c_global/cstdio +=================================================================== +--- gcc-4.8.0.orig/libstdc++-v3/include/c_global/cstdio 2013-02-03 18:54:05.000000000 +0100 ++++ gcc-4.8.0/libstdc++-v3/include/c_global/cstdio 2013-03-23 17:39:32.000000000 +0100 +@@ -138,7 +138,7 @@ + using ::vsprintf; + } // namespace + +-#if _GLIBCXX_USE_C99 ++#if _GLIBCXX_USE_C99 || defined __UCLIBC__ + + #undef snprintf + #undef vfscanf diff --git a/toolchain/gcc/4.8.0/305-libmudflap-susv3-legacy.patch b/toolchain/gcc/4.8.0/305-libmudflap-susv3-legacy.patch new file mode 100644 index 000000000..35d5f5020 --- /dev/null +++ b/toolchain/gcc/4.8.0/305-libmudflap-susv3-legacy.patch @@ -0,0 +1,49 @@ +Index: gcc-4.8.0/libmudflap/mf-hooks2.c +=================================================================== +--- gcc-4.8.0.orig/libmudflap/mf-hooks2.c 2013-02-03 18:48:05.000000000 +0100 ++++ gcc-4.8.0/libmudflap/mf-hooks2.c 2013-03-23 17:39:43.000000000 +0100 +@@ -424,7 +424,7 @@ + { + TRACE ("%s\n", __PRETTY_FUNCTION__); + MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region"); +- bzero (s, n); ++ memset (s, 0, n); + } + + +@@ -434,7 +434,7 @@ + TRACE ("%s\n", __PRETTY_FUNCTION__); + MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src"); + MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest"); +- bcopy (src, dest, n); ++ memmove (dest, src, n); + } + + +@@ -444,7 +444,7 @@ + TRACE ("%s\n", __PRETTY_FUNCTION__); + MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg"); + MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg"); +- return bcmp (s1, s2, n); ++ return n == 0 ? 0 : memcmp (s1, s2, n); + } + + +@@ -453,7 +453,7 @@ + size_t n = strlen (s); + TRACE ("%s\n", __PRETTY_FUNCTION__); + MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region"); +- return index (s, c); ++ return strchr (s, c); + } + + +@@ -462,7 +462,7 @@ + size_t n = strlen (s); + TRACE ("%s\n", __PRETTY_FUNCTION__); + MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region"); +- return rindex (s, c); ++ return strrchr (s, c); + } + + /* XXX: stpcpy, memccpy */ diff --git a/toolchain/gcc/4.8.0/810-arm-softfloat-libgcc.patch b/toolchain/gcc/4.8.0/810-arm-softfloat-libgcc.patch new file mode 100644 index 000000000..c8cb377d5 --- /dev/null +++ b/toolchain/gcc/4.8.0/810-arm-softfloat-libgcc.patch @@ -0,0 +1,30 @@ +Index: gcc-4.8.0/gcc/config/arm/linux-elf.h +=================================================================== +--- gcc-4.8.0.orig/gcc/config/arm/linux-elf.h 2013-01-10 21:38:27.000000000 +0100 ++++ gcc-4.8.0/gcc/config/arm/linux-elf.h 2013-03-23 17:40:00.000000000 +0100 +@@ -55,7 +55,7 @@ + %{shared:-lc} \ + %{!shared:%{profile:-lc_p}%{!profile:-lc}}" + +-#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" ++#define LIBGCC_SPEC "-lgcc" + + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" + +Index: gcc-4.8.0/libgcc/config/arm/t-linux +=================================================================== +--- gcc-4.8.0.orig/libgcc/config/arm/t-linux 2012-03-22 16:14:46.000000000 +0100 ++++ gcc-4.8.0/libgcc/config/arm/t-linux 2013-03-23 17:40:54.000000000 +0100 +@@ -1,6 +1,11 @@ + LIB1ASMSRC = arm/lib1funcs.S + LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ +- _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 ++ _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \ ++ _arm_addsubdf3 _arm_addsubsf3 \ ++ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \ ++ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \ ++ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \ ++ _arm_fixsfsi _arm_fixunssfsi + + # Just for these, we omit the frame pointer since it makes such a big + # difference. diff --git a/toolchain/gcc/4.8.0/830-arm_unbreak_armv4t.patch b/toolchain/gcc/4.8.0/830-arm_unbreak_armv4t.patch new file mode 100644 index 000000000..37f8f2a54 --- /dev/null +++ b/toolchain/gcc/4.8.0/830-arm_unbreak_armv4t.patch @@ -0,0 +1,13 @@ +http://sourceware.org/ml/crossgcc/2008-05/msg00009.html + +--- a/gcc/config/arm/linux-eabi.h ++++ b/gcc/config/arm/linux-eabi.h +@@ -45,7 +45,7 @@ + The ARM10TDMI core is the default for armv5t, so set + SUBTARGET_CPU_DEFAULT to achieve this. */ + #undef SUBTARGET_CPU_DEFAULT +-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi ++#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi + + /* TARGET_BIG_ENDIAN_DEFAULT is set in + config.gcc for big endian configurations. */ diff --git a/toolchain/gcc/4.8.0/powerpc-link-with-math-lib.patch.conditional b/toolchain/gcc/4.8.0/powerpc-link-with-math-lib.patch.conditional new file mode 100644 index 000000000..b7094fe65 --- /dev/null +++ b/toolchain/gcc/4.8.0/powerpc-link-with-math-lib.patch.conditional @@ -0,0 +1,122 @@ +http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00269.html + +On glibc the libc.so carries a copy of the math function copysignl() but +on uClibc math functions like copysignl() live in libm. Since libgcc_s +contains unresolved symbols, any attempt to link against libgcc_s +without explicitely specifying -lm fails, resulting in a broken +bootstrap of the compiler. + +Forward port to gcc 4.5.1 by Gustavo Zacarias <gustavo@zacarias.com.ar> + +--- + libgcc/Makefile.in | 4 +++- + libgcc/configure | 32 ++++++++++++++++++++++++++++++++ + libgcc/configure.ac | 21 +++++++++++++++++++++ + 3 files changed, 56 insertions(+), 1 deletion(-) + +Index: gcc-4.8.0/libgcc/Makefile.in +=================================================================== +--- gcc-4.8.0.orig/libgcc/Makefile.in 2013-02-04 20:06:20.000000000 +0100 ++++ gcc-4.8.0/libgcc/Makefile.in 2013-03-24 09:12:43.000000000 +0100 +@@ -41,6 +41,7 @@ + decimal_float = @decimal_float@ + enable_decimal_float = @enable_decimal_float@ + fixed_point = @fixed_point@ ++LIBGCC_LIBM = @LIBGCC_LIBM@ + + host_noncanonical = @host_noncanonical@ + target_noncanonical = @target_noncanonical@ +@@ -927,9 +928,10 @@ + @multilib_dir@,$(MULTIDIR),$(subst \ + @shlib_objs@,$(objects) libgcc.a,$(subst \ + @shlib_base_name@,libgcc_s,$(subst \ ++ @libgcc_libm@,$(LIBGCC_LIBM),$(subst \ + @shlib_map_file@,$(mapfile),$(subst \ + @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \ +- @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK)))))))) ++ @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK))))))))) + + libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts) + # @multilib_flags@ is still needed because this may use +Index: gcc-4.8.0/libgcc/configure +=================================================================== +--- gcc-4.8.0.orig/libgcc/configure 2012-11-05 00:08:42.000000000 +0100 ++++ gcc-4.8.0/libgcc/configure 2013-03-24 09:12:43.000000000 +0100 +@@ -564,6 +564,7 @@ + tmake_file + sfp_machine_header + set_use_emutls ++LIBGCC_LIBM + set_have_cc_tls + vis_hide + fixed_point +@@ -4481,6 +4482,37 @@ + fi + fi + ++# On powerpc libgcc_s references copysignl which is a libm function but ++# glibc apparently also provides it via libc as opposed to uClibc where ++# it lives in libm. ++echo "$as_me:$LINENO: checking for library containing copysignl" >&5 ++echo $ECHO_N "checking for library containing copysignl... $ECHO_C" >&6 ++if test "${libgcc_cv_copysignl_lib+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ++ echo '#include <features.h>' > conftest.c ++ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c ++ libgcc_cv_copysignl_lib="-lc" ++ if { ac_try='${CC-cc} -S conftest.c -o conftest.s 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } ++ then ++ libgcc_cv_copysignl_lib="-lm" ++ fi ++ rm -f conftest.* ++ ++fi ++echo "$as_me:$LINENO: result: $libgcc_cv_copysignl_lib" >&5 ++echo "${ECHO_T}$libgcc_cv_copysignl_lib" >&6 ++ ++case /${libgcc_cv_copysignl_lib}/ in ++ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; ++ *) LIBGCC_LIBM= ;; ++esac + + # Conditionalize the makefile for this target machine. + tmake_file_= +Index: gcc-4.8.0/libgcc/configure.ac +=================================================================== +--- gcc-4.8.0.orig/libgcc/configure.ac 2012-10-15 15:10:30.000000000 +0200 ++++ gcc-4.8.0/libgcc/configure.ac 2013-03-24 09:12:43.000000000 +0100 +@@ -326,6 +326,27 @@ + fi + AC_SUBST(set_have_cc_tls) + ++# On powerpc libgcc_s references copysignl which is a libm function but ++# glibc apparently also provides it via libc as opposed to uClibc where ++# it lives in libm. ++AC_CACHE_CHECK ++ libgcc_cv_copysignl_lib, ++ echo '#include <features.h>' > conftest.c ++ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c ++ libgcc_cv_copysignl_lib="-lc" ++ if AC_TRY_COMMAND(${CC-cc} -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD) ++ then ++ libgcc_cv_copysignl_lib="-lm" ++ fi ++ rm -f conftest.* ++ ]) ++ ++case /${libgcc_cv_copysignl_lib}/ in ++ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; ++ *) LIBGCC_LIBM= ;; ++esac ++AC_SUBST(LIBGCC_LIBM) ++ + # See if we have emulated thread-local storage. + GCC_CHECK_EMUTLS + set_use_emutls= diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in index d16e7b05b..87d9cc192 100644 --- a/toolchain/gcc/Config.in +++ b/toolchain/gcc/Config.in @@ -2,6 +2,9 @@ comment "GCC Options" +config BR2_GCC_NEEDS_MPC + bool + choice prompt "GCC compiler Version" default BR2_GCC_VERSION_4_6_X if !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 @@ -24,18 +27,27 @@ choice config BR2_GCC_VERSION_4_5_X depends on !BR2_avr32 && !BR2_cortex_a15 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 + select BR2_GCC_NEEDS_MPC bool "gcc 4.5.x" config BR2_GCC_VERSION_4_6_X depends on !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 + select BR2_GCC_NEEDS_MPC bool "gcc 4.6.x" config BR2_GCC_VERSION_4_7_X depends on !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 + select BR2_GCC_NEEDS_MPC bool "gcc 4.7.x" + config BR2_GCC_VERSION_4_8_X + depends on !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 + select BR2_GCC_NEEDS_MPC + bool "gcc 4.8.x" + config BR2_GCC_VERSION_SNAP depends on !BR2_avr32 && !BR2_sparc_sparchfleon && !BR2_sparc_sparchfleonv8 && !BR2_sparc_sparcsfleon && !BR2_sparc_sparcsfleonv8 + select BR2_GCC_NEEDS_MPC bool "gcc snapshot" endchoice @@ -65,6 +77,7 @@ config BR2_GCC_VERSION default "4.5.4" if BR2_GCC_VERSION_4_5_X default "4.6.3" if BR2_GCC_VERSION_4_6_X default "4.7.2" if BR2_GCC_VERSION_4_7_X + default "4.8.0" if BR2_GCC_VERSION_4_8_X default $BR2_GCC_SNAP_DATE if BR2_GCC_VERSION_SNAP config BR2_EXTRA_GCC_CONFIG_OPTIONS diff --git a/toolchain/gcc/gcc-uclibc-4.x.mk b/toolchain/gcc/gcc-uclibc-4.x.mk index bdc38cd6e..9d131d557 100644 --- a/toolchain/gcc/gcc-uclibc-4.x.mk +++ b/toolchain/gcc/gcc-uclibc-4.x.mk @@ -26,7 +26,7 @@ GCC_SNAP_DATE:= endif ifneq ($(GCC_SNAP_DATE),) - GCC_SITE:=ftp://sources.redhat.com/pub/gcc/snapshots/$(GCC_VERSION) + GCC_SITE:=ftp://gcc.gnu.org/pub/gcc/snapshots/$(GCC_SNAP_DATE)/ else ifeq ($(findstring avr32,$(GCC_VERSION)),avr32) GCC_SITE:=ftp://www.at91.com/pub/buildroot/ else @@ -161,39 +161,7 @@ endif GCC_HOST_PREREQ = host-gmp host-mpfr GCC_TARGET_PREREQ += mpfr gmp -# GCC 4.5.x prerequisites -ifeq ($(findstring x4.5.,x$(GCC_VERSION)),x4.5.) -GCC_WITH_HOST_MPC = --with-mpc=$(HOST_DIR)/usr -GCC_TARGET_PREREQ += mpc -ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y) -HOST_SOURCE += host-mpc-source -endif -GCC_HOST_PREREQ += host-mpc -endif - -# GCC 4.6.x prerequisites -ifeq ($(findstring x4.6.,x$(GCC_VERSION)),x4.6.) -GCC_WITH_HOST_MPC = --with-mpc=$(HOST_DIR)/usr -GCC_TARGET_PREREQ += mpc -ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y) -HOST_SOURCE += host-mpc-source -endif -GCC_HOST_PREREQ += host-mpc -endif - -# GCC 4.7.x prerequisites -ifeq ($(findstring x4.7.,x$(GCC_VERSION)),x4.7.) -GCC_WITH_HOST_MPC = --with-mpc=$(HOST_DIR)/usr -GCC_TARGET_PREREQ += mpc -ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y) -HOST_SOURCE += host-mpc-source -endif -GCC_HOST_PREREQ += host-mpc -endif - -# GCC snapshot prerequisites -# Since we don't know and it can be quite new just ask for everything known -ifneq ($(GCC_SNAP_DATE),) +ifeq ($(BR2_GCC_NEEDS_MPC),y) GCC_WITH_HOST_MPC = --with-mpc=$(HOST_DIR)/usr GCC_TARGET_PREREQ += mpc ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y) @@ -243,7 +211,7 @@ endif $(DL_DIR)/$(GCC_SOURCE): mkdir -p $(DL_DIR) - $(call MESSAGE,"Downloading gcc") + $(Q)$(call MESSAGE,"Downloading gcc") $(call DOWNLOAD,$(GCC_SITE)/$(GCC_SOURCE)) gcc-unpacked: $(GCC_DIR)/.patched @@ -286,6 +254,7 @@ $(GCC_BUILD_DIR1)/.configured: $(GCC_DIR)/.patched mkdir -p $(GCC_BUILD_DIR1) (cd $(GCC_BUILD_DIR1); rm -rf config.cache; \ $(HOST_CONFIGURE_OPTS) \ + MAKEINFO=missing \ $(GCC_DIR)/configure $(QUIET) \ --prefix=$(HOST_DIR)/usr \ --build=$(GNU_HOST_NAME) \ @@ -356,6 +325,7 @@ $(GCC_BUILD_DIR2)/.configured: $(GCC_DIR)/.patched mkdir -p $(GCC_BUILD_DIR2) (cd $(GCC_BUILD_DIR2); rm -rf config.cache; \ $(HOST_CONFIGURE_OPTS) \ + MAKEINFO=missing \ $(GCC_DIR)/configure $(QUIET) \ --prefix=$(HOST_DIR)/usr \ --build=$(GNU_HOST_NAME) \ @@ -436,6 +406,7 @@ $(GCC_BUILD_DIR3)/.configured: $(GCC_SRC_DIR)/.patched $(GCC_STAGING_PREREQ) ln -snf ../include/ $(HOST_DIR)/usr/$(GNU_TARGET_NAME)/sys-include (cd $(GCC_BUILD_DIR3); rm -rf config.cache; \ $(HOST_CONFIGURE_OPTS) \ + MAKEINFO=missing \ $(GCC_SRC_DIR)/configure $(QUIET) \ --prefix=$(HOST_DIR)/usr \ --build=$(GNU_HOST_NAME) \ diff --git a/toolchain/kernel-headers/Config.in b/toolchain/kernel-headers/Config.in index 91d3b2370..4900aef90 100644 --- a/toolchain/kernel-headers/Config.in +++ b/toolchain/kernel-headers/Config.in @@ -62,14 +62,14 @@ config BR2_DEFAULT_KERNEL_VERSION config BR2_DEFAULT_KERNEL_HEADERS string - default "3.0.69" if BR2_KERNEL_HEADERS_3_0 + default "3.0.70" if BR2_KERNEL_HEADERS_3_0 default "3.1.10" if BR2_KERNEL_HEADERS_3_1 - default "3.2.40" if BR2_KERNEL_HEADERS_3_2 + default "3.2.41" if BR2_KERNEL_HEADERS_3_2 default "3.3.8" if BR2_KERNEL_HEADERS_3_3 - default "3.4.36" if BR2_KERNEL_HEADERS_3_4 + default "3.4.37" if BR2_KERNEL_HEADERS_3_4 default "3.5.7" if BR2_KERNEL_HEADERS_3_5 default "3.6.11" if BR2_KERNEL_HEADERS_3_6 default "3.7.10" if BR2_KERNEL_HEADERS_3_7 - default "3.8.3" if BR2_KERNEL_HEADERS_3_8 + default "3.8.4" if BR2_KERNEL_HEADERS_3_8 default "2.6" if BR2_KERNEL_HEADERS_SNAP default $BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION diff --git a/toolchain/kernel-headers/kernel-headers.mk b/toolchain/kernel-headers/kernel-headers.mk index 073d609e1..7ce626493 100644 --- a/toolchain/kernel-headers/kernel-headers.mk +++ b/toolchain/kernel-headers/kernel-headers.mk @@ -70,7 +70,7 @@ $(DL_DIR)/$(LINUX_HEADERS_SOURCE): ifeq ($(BR2_KERNEL_HEADERS_SNAP),y) $(error No local $@ found, cannot continue. Are you sure you wanted to enable BR2_KERNEL_HEADERS_SNAP?) endif - $(call MESSAGE,"Downloading kernel headers") + $(Q)$(call MESSAGE,"Downloading kernel headers") $(call DOWNLOAD,$(LINUX_HEADERS_SITE)/$(LINUX_HEADERS_SOURCE)) kernel-headers: $(LINUX_HEADERS_DIR)/.configured diff --git a/toolchain/kernel-headers/linux-3.0.69-headers_install-fix-__packed-in-exported-kernel-head.patch b/toolchain/kernel-headers/linux-3.0.70-headers_install-fix-__packed-in-exported-kernel-head.patch index 8777b7163..8777b7163 100644 --- a/toolchain/kernel-headers/linux-3.0.69-headers_install-fix-__packed-in-exported-kernel-head.patch +++ b/toolchain/kernel-headers/linux-3.0.70-headers_install-fix-__packed-in-exported-kernel-head.patch diff --git a/toolchain/uClibc/uclibc.mk b/toolchain/uClibc/uclibc.mk index 1b49a8d3a..e8b2bb494 100644 --- a/toolchain/uClibc/uclibc.mk +++ b/toolchain/uClibc/uclibc.mk @@ -62,7 +62,7 @@ UCLIBC_LOCALES = $(foreach locale,$(GENERATE_LOCALE),\ endif $(DL_DIR)/$(UCLIBC_SOURCE): - $(call MESSAGE,"Downloading uClibc") + $(Q)$(call MESSAGE,"Downloading uClibc") $(call DOWNLOAD,$(UCLIBC_SITE)/$(UCLIBC_SOURCE)) uclibc-unpacked: $(UCLIBC_DIR)/.unpacked |