diff --git a/package/nettle/0001-fix-shared-only-build.patch b/package/nettle/0001-fix-shared-only-build.patch new file mode 100644 index 0000000000..3c9b186fb9 --- /dev/null +++ b/package/nettle/0001-fix-shared-only-build.patch @@ -0,0 +1,75 @@ +static/shared: use available libraries when linking our tools/examples/testsuite + +For a shared-only build, static libraries do not exist, so the build fails as +soon as we try to link either of our tools, examples or testsuite utils. + +Use whatever libraries are available, with a preference toward using shared +libraries. + +Signed-off-by: "Yann E. MORIN" + +diff -durN nettle-2.7.1.orig/config.make.in nettle-2.7.1/config.make.in +--- nettle-2.7.1.orig/config.make.in 2013-05-28 16:21:53.000000000 +0200 ++++ nettle-2.7.1/config.make.in 2014-12-12 19:56:07.031292752 +0100 +@@ -30,6 +30,8 @@ + PACKAGE_VERSION = @PACKAGE_VERSION@ + + SHLIBCFLAGS = @SHLIBCFLAGS@ ++@IF_STATIC@LIBS_EXT = .a ++@IF_SHARED@LIBS_EXT = .so + + LIBNETTLE_MAJOR = @LIBNETTLE_MAJOR@ + LIBNETTLE_MINOR = @LIBNETTLE_MINOR@ +diff -durN nettle-2.7.1.orig/tools/Makefile.in nettle-2.7.1/tools/Makefile.in +--- nettle-2.7.1.orig/tools/Makefile.in 2013-05-28 16:21:54.000000000 +0200 ++++ nettle-2.7.1/tools/Makefile.in 2014-12-12 19:57:12.499805574 +0100 +@@ -34,19 +34,19 @@ + DISTFILES = $(SOURCES) Makefile.in input.h misc.h output.h parse.h + + sexp_conv_OBJS = $(sexp_conv_SOURCES:.c=.$(OBJEXT)) $(getopt_OBJS) +-sexp-conv$(EXEEXT): $(sexp_conv_OBJS) ../libnettle.a ++sexp-conv$(EXEEXT): $(sexp_conv_OBJS) ../libnettle$(LIBS_EXT) + $(LINK) $(sexp_conv_OBJS) -lnettle $(LIBS) -o $@ + +-nettle-lfib-stream$(EXEEXT): nettle-lfib-stream.$(OBJEXT) ../libnettle.a ++nettle-lfib-stream$(EXEEXT): nettle-lfib-stream.$(OBJEXT) ../libnettle$(LIBS_EXT) + $(LINK) nettle-lfib-stream.$(OBJEXT) -lnettle $(LIBS) -o $@ + + pkcs1_conv_OBJS = $(pkcs1_conv_SOURCES:.c=.$(OBJEXT)) $(getopt_OBJS) +-pkcs1-conv$(EXEEXT): $(pkcs1_conv_OBJS) ../libnettle.a ../libhogweed.a ++pkcs1-conv$(EXEEXT): $(pkcs1_conv_OBJS) ../libnettle$(LIBS_EXT) ../libhogweed$(LIBS_EXT) + $(LINK) $(pkcs1_conv_OBJS) -lhogweed -lnettle $(LIBS) -o $@ + + # FIXME: Avoid linking with gmp + nettle_hash_OBJS = $(nettle_hash_SOURCES:.c=.$(OBJEXT)) $(getopt_OBJS) +-nettle-hash$(EXEEXT): $(nettle_hash_OBJS) ../libnettle.a ++nettle-hash$(EXEEXT): $(nettle_hash_OBJS) ../libnettle$(LIBS_EXT) + $(LINK) $(nettle_hash_OBJS) -lnettle $(LIBS) -o $@ + + +diff -durN nettle-2.7.1.orig/examples/Makefile.in nettle-2.7.1/examples/Makefile.in +--- nettle-2.7.1.orig/examples/Makefile.in 2013-05-28 16:21:54.000000000 +0200 ++++ nettle-2.7.1/examples/Makefile.in 2014-12-12 21:54:48.286251022 +0100 +@@ -117,8 +117,8 @@ + -lhogweed -lnettle $(BENCH_LIBS) $(LIBS) $(OPENSSL_LIBFLAGS) \ + -o hogweed-benchmark$(EXEEXT) + +-$(TARGETS) : io.$(OBJEXT) ../libnettle.a +-$(HOGWEED_TARGETS): ../libhogweed.a ++$(TARGETS) : io.$(OBJEXT) ../libnettle$(LIBS_EXT) ++$(HOGWEED_TARGETS): ../libhogweed$(LIBS_EXT) + + check: $(TS_ALL) + LD_LIBRARY_PATH=../.lib PATH="../.lib:$$PATH" srcdir="$(srcdir)" \ +diff -durN nettle-2.7.1.orig/testsuite/Makefile.in nettle-2.7.1/testsuite/Makefile.in +--- nettle-2.7.1.orig/testsuite/Makefile.in 2013-05-28 16:21:54.000000000 +0200 ++++ nettle-2.7.1/testsuite/Makefile.in 2014-12-12 21:55:30.414814549 +0100 +@@ -96,7 +96,7 @@ + include $(srcdir)/.test-rules.make + + $(TARGETS) $(EXTRA_TARGETS): testutils.$(OBJEXT) ../nettle-internal.$(OBJEXT) \ +- ../libnettle.a @IF_HOGWEED@ ../libhogweed.a ++ ../libnettle$(LIBS_EXT) @IF_HOGWEED@ ../libhogweed$(LIBS_EXT) + + # For use as, e.g., + # diff --git a/package/nettle/0002-disable-testsuite-examples.patch b/package/nettle/0002-disable-testsuite-examples.patch new file mode 100644 index 0000000000..82d97d5d21 --- /dev/null +++ b/package/nettle/0002-disable-testsuite-examples.patch @@ -0,0 +1,20 @@ +Makefile: disable testsuite and example + +We do not need them in the context of Buildroot. + +Also, they break for a shared-only build (but it's fixed in patch 0001). + +Signed-off-by: "Yann E. MORIN" + +diff -durN nettle-2.7.1.orig/Makefile.in nettle-2.7.1/Makefile.in +--- nettle-2.7.1.orig/Makefile.in 2013-05-28 16:21:54.000000000 +0200 ++++ nettle-2.7.1/Makefile.in 2014-12-12 19:57:12.499805574 +0100 +@@ -16,7 +16,7 @@ + + OPT_ASM_SOURCES = @OPT_ASM_SOURCES@ + +-SUBDIRS = tools testsuite examples ++SUBDIRS = tools + + include config.make +