forked from pool/crosstool-ng
Accepting request 499580 from home:Heinervdm:branches:electronics
Add Patch to build with gperf >= 3.1 OBS-URL: https://build.opensuse.org/request/show/499580 OBS-URL: https://build.opensuse.org/package/show/electronics/crosstool-ng?expand=0&rev=12
This commit is contained in:
parent
caaf4604a5
commit
71e0a1789c
101
crosstool-ng-gperf-fix.patch
Normal file
101
crosstool-ng-gperf-fix.patch
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
diff -urd crosstool-ng.orig/configure crosstool-ng.new/configure
|
||||||
|
--- crosstool-ng.orig/configure 2015-11-20 14:03:36.000000000 +0100
|
||||||
|
+++ crosstool-ng.new/configure 2017-05-27 10:12:40.383087059 +0200
|
||||||
|
@@ -635,6 +635,7 @@
|
||||||
|
lzma
|
||||||
|
xz
|
||||||
|
kconfig_options
|
||||||
|
+GPERF_LEN_TYPE
|
||||||
|
automake
|
||||||
|
LIBTOOLIZE
|
||||||
|
LIBTOOL
|
||||||
|
@@ -5331,6 +5332,27 @@
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_automake" >&5
|
||||||
|
$as_echo "$ac_cv_path_automake" >&6; }
|
||||||
|
automake=$ac_cv_path_automake
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+#----------------------------------------
|
||||||
|
+# Gperf 3.1 started generating functions with size_t rather than unsigned int
|
||||||
|
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the type used in gperf declarations" >&5
|
||||||
|
+$as_echo_n "checking for the type used in gperf declarations... " >&6; }
|
||||||
|
+echo "#include <string.h>" > conftest.gperf.c
|
||||||
|
+echo "const char * in_word_set(const char *, GPERF_LEN_TYPE);" >> conftest.gperf.c
|
||||||
|
+echo foo,bar | ${GPERF} -L ANSI-C >> conftest.gperf.c
|
||||||
|
+if ${CC} -c -o /dev/null conftest.gperf.c -DGPERF_LEN_TYPE='size_t' >/dev/null 2>&1; then :
|
||||||
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: size_t" >&5
|
||||||
|
+$as_echo "size_t" >&6; }
|
||||||
|
+ GPERF_LEN_TYPE='size_t'
|
||||||
|
+elif ${CC} -c -o /dev/null conftest.gperf.c -DGPERF_LEN_TYPE='unsigned int' >/dev/null 2>&1; then :
|
||||||
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsigned int" >&5
|
||||||
|
+$as_echo "unsigned int" >&6; }
|
||||||
|
+ GPERF_LEN_TYPE='unsigned int'
|
||||||
|
+else
|
||||||
|
+ as_fn_error $? "unable to determine gperf len type" "$LINENO" 5
|
||||||
|
+fi
|
||||||
|
+rm -f conftest.gperf.c
|
||||||
|
|
||||||
|
|
||||||
|
#--------------------------------------------------------------------
|
||||||
|
diff -urd crosstool-ng.orig/configure.ac crosstool-ng.new/configure.ac
|
||||||
|
--- crosstool-ng.orig/configure.ac 2015-11-18 06:29:15.000000000 +0100
|
||||||
|
+++ crosstool-ng.new/configure.ac 2017-05-27 10:00:57.411342197 +0200
|
||||||
|
@@ -290,6 +290,22 @@
|
||||||
|
AC_MSG_ERROR([could not find GNU automake >= 1.10])])])
|
||||||
|
AC_SUBST([automake], [$ac_cv_path_automake])
|
||||||
|
|
||||||
|
+#----------------------------------------
|
||||||
|
+# Gperf 3.1 started generating functions with size_t rather than unsigned int
|
||||||
|
+AC_MSG_CHECKING([for the type used in gperf declarations])
|
||||||
|
+echo "#include <string.h>" > conftest.gperf.c
|
||||||
|
+echo "const char * in_word_set(const char *, GPERF_LEN_TYPE);" >> conftest.gperf.c
|
||||||
|
+echo foo,bar | ${GPERF} -L ANSI-C >> conftest.gperf.c
|
||||||
|
+AS_IF([${CC} -c -o /dev/null conftest.gperf.c -DGPERF_LEN_TYPE='size_t' >/dev/null 2>&1],
|
||||||
|
+ [AC_MSG_RESULT([size_t])
|
||||||
|
+ GPERF_LEN_TYPE='size_t'],
|
||||||
|
+ [${CC} -c -o /dev/null conftest.gperf.c -DGPERF_LEN_TYPE='unsigned int' >/dev/null 2>&1],
|
||||||
|
+ [AC_MSG_RESULT([unsigned int])
|
||||||
|
+ GPERF_LEN_TYPE='unsigned int'],
|
||||||
|
+ [AC_MSG_ERROR([unable to determine gperf len type])])
|
||||||
|
+rm -f conftest.gperf.c
|
||||||
|
+AC_SUBST([GPERF_LEN_TYPE])
|
||||||
|
+
|
||||||
|
#--------------------------------------------------------------------
|
||||||
|
# Boring again... But still a bit of work to do...
|
||||||
|
#--------------------------------------------------------------------
|
||||||
|
diff -urd crosstool-ng.orig/kconfig/Makefile crosstool-ng.new/kconfig/Makefile
|
||||||
|
--- crosstool-ng.orig/kconfig/Makefile 2015-11-18 06:29:15.000000000 +0100
|
||||||
|
+++ crosstool-ng.new/kconfig/Makefile 2017-05-27 10:00:57.411342197 +0200
|
||||||
|
@@ -6,7 +6,8 @@
|
||||||
|
@true # Just be silent, you fscking son of a fscking beach...
|
||||||
|
|
||||||
|
# Build flags
|
||||||
|
-CFLAGS = -DCONFIG_=\"CT_\" -DPACKAGE="\"crosstool-NG $(VERSION)\""
|
||||||
|
+CFLAGS = -DCONFIG_=\"CT_\" -DPACKAGE="\"crosstool-NG $(VERSION)\"" \
|
||||||
|
+ -DGPERF_LEN_TYPE="$(gperf_len_type)"
|
||||||
|
LDFLAGS = $(INTL_LIBS)
|
||||||
|
|
||||||
|
# Compiler flags to use gettext
|
||||||
|
diff -urd crosstool-ng.orig/kconfig/zconf.gperf crosstool-ng.new/kconfig/zconf.gperf
|
||||||
|
--- crosstool-ng.orig/kconfig/zconf.gperf 2015-11-18 06:29:15.000000000 +0100
|
||||||
|
+++ crosstool-ng.new/kconfig/zconf.gperf 2017-05-27 10:00:57.411342197 +0200
|
||||||
|
@@ -9,7 +9,7 @@
|
||||||
|
|
||||||
|
struct kconf_id;
|
||||||
|
|
||||||
|
-static const struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len);
|
||||||
|
+static const struct kconf_id *kconf_id_lookup(register const char *str, register GPERF_LEN_TYPE len);
|
||||||
|
|
||||||
|
%%
|
||||||
|
mainmenu, T_MAINMENU, TF_COMMAND
|
||||||
|
diff -urd crosstool-ng.orig/Makefile.in crosstool-ng.new/Makefile.in
|
||||||
|
--- crosstool-ng.orig/Makefile.in 2015-11-19 23:43:15.000000000 +0100
|
||||||
|
+++ crosstool-ng.new/Makefile.in 2017-05-27 10:00:57.411342197 +0200
|
||||||
|
@@ -69,6 +69,7 @@
|
||||||
|
export readelf := @READELF@
|
||||||
|
export patch := @PATCH@
|
||||||
|
export gperf := @GPERF@
|
||||||
|
+export gperf_len_type := @GPERF_LEN_TYPE@
|
||||||
|
export CC := @CC@
|
||||||
|
export CPP := @CPP@
|
||||||
|
export CPPFLAGS := @CPPFLAGS@
|
@ -1,3 +1,11 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri May 26 19:27:55 UTC 2017 - bugs@vdm-design.de
|
||||||
|
|
||||||
|
- Add patch (crosstool-ng-gperf-fix.patch) to fix build
|
||||||
|
with gpref version >= 3.1, based on upstream commit
|
||||||
|
https://github.com/crosstool-ng/crosstool-ng/commit/3bb2bcd2a328fb56332398783e91899ce3bc3556
|
||||||
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sun Jan 1 00:02:42 UTC 2017 - bwiedemann@suse.com
|
Sun Jan 1 00:02:42 UTC 2017 - bwiedemann@suse.com
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package crosstool-ng
|
# spec file for package crosstool-ng
|
||||||
#
|
#
|
||||||
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
|
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -26,6 +26,8 @@ Url: http://crosstool-ng.org
|
|||||||
Source0: http://crosstool-ng.org/download/crosstool-ng/%{name}-%{version}.tar.bz2
|
Source0: http://crosstool-ng.org/download/crosstool-ng/%{name}-%{version}.tar.bz2
|
||||||
# PATCH-FIX-TO-UPSTREAM -- bmwiedemann
|
# PATCH-FIX-TO-UPSTREAM -- bmwiedemann
|
||||||
Patch0: reproducible.patch
|
Patch0: reproducible.patch
|
||||||
|
# PATCH-FIX-UPSTREAM crosstool-ng-gperf-fix.patch bugs@vdm-design.de -- fixes build with gperf >= 3.1
|
||||||
|
Patch1: crosstool-ng-gperf-fix.patch
|
||||||
BuildRequires: bison
|
BuildRequires: bison
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: flex
|
BuildRequires: flex
|
||||||
@ -54,6 +56,7 @@ in the resulting binary/ies: static libraries are but an example.
|
|||||||
%prep
|
%prep
|
||||||
%setup -qn %{name}
|
%setup -qn %{name}
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
# from legal team
|
# from legal team
|
||||||
# "Distribution and use is free, also for commercial purposes" (no modification permission)
|
# "Distribution and use is free, also for commercial purposes" (no modification permission)
|
||||||
find patches/ -name '*-new-valencian-locale.patch' -type f -delete -print
|
find patches/ -name '*-new-valencian-locale.patch' -type f -delete -print
|
||||||
|
Loading…
Reference in New Issue
Block a user