summaryrefslogtreecommitdiffstats
path: root/package/perl-net-ssleay
diff options
context:
space:
mode:
Diffstat (limited to 'package/perl-net-ssleay')
-rw-r--r--package/perl-net-ssleay/perl-net-ssleay-0000-fix-build-system.patch36
-rw-r--r--package/perl-net-ssleay/perl-net-ssleay.mk4
2 files changed, 40 insertions, 0 deletions
diff --git a/package/perl-net-ssleay/perl-net-ssleay-0000-fix-build-system.patch b/package/perl-net-ssleay/perl-net-ssleay-0000-fix-build-system.patch
new file mode 100644
index 0000000000..a6cd0f9ceb
--- /dev/null
+++ b/package/perl-net-ssleay/perl-net-ssleay-0000-fix-build-system.patch
@@ -0,0 +1,36 @@
+buildsystem: fix for cross-compilation
+
+Avoid running the openssl binary, since it would break for
+cross-compilation. Buildroot has a supported version, anyway.
+
+Also, avoid adding hard-coded includes and libraries search
+paths, since they are missing the destdir; Buildroot compilers
+and linkers already know where to search, anyway.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -durN perl-net-ssleay-1.64.orig/inc/Module/Install/PRIVATE/Net/SSLeay.pm perl-net-ssleay-1.64/inc/Module/Install/PRIVATE/Net/SSLeay.pm
+--- perl-net-ssleay-1.64.orig/inc/Module/Install/PRIVATE/Net/SSLeay.pm 2014-04-01 08:08:37.000000000 +0200
++++ perl-net-ssleay-1.64/inc/Module/Install/PRIVATE/Net/SSLeay.pm 2014-07-13 00:38:46.281380282 +0200
+@@ -37,14 +37,18 @@
+ exit 0; # according http://wiki.cpantesters.org/wiki/CPANAuthorNotes this is best-practice when "missing library"
+ }
+
+- $self->check_openssl_version($prefix, $exec);
++# Does not work for cross-compilation.
++# In Buildroot, we do have a supported version.
++# $self->check_openssl_version($prefix, $exec);
+ my $opts = $self->ssleay_get_build_opts($prefix, $exec);
+
+ $self->makemaker_args(
+ CCCDLFLAGS => $opts->{cccdlflags},
+ OPTIMIZE => $opts->{optimize},
+- INC => join(' ', map {"-I$_"} @{$opts->{inc_paths}}),
+- LIBS => join(' ', (map {"-L$_"} @{$opts->{lib_paths}}), (map {"-l$_"} @{$opts->{lib_links}})),
++# Buildroot already has the correct include and library search paths.
++# INC => join(' ', map {"-I$_"} @{$opts->{inc_paths}}),
++# LIBS => join(' ', (map {"-L$_"} @{$opts->{lib_paths}}), (map {"-l$_"} @{$opts->{lib_links}})),
++ LIBS => join(' ', (map {"-l$_"} @{$opts->{lib_links}})),
+ );
+
+ if ( $self->prompt(
diff --git a/package/perl-net-ssleay/perl-net-ssleay.mk b/package/perl-net-ssleay/perl-net-ssleay.mk
index 413fdf0a21..4a362fb975 100644
--- a/package/perl-net-ssleay/perl-net-ssleay.mk
+++ b/package/perl-net-ssleay/perl-net-ssleay.mk
@@ -11,4 +11,8 @@ PERL_NET_SSLEAY_DEPENDENCIES = perl openssl
PERL_NET_SSLEAY_LICENSE = OpenSSL
PERL_NET_SSLEAY_LICENSE_FILES = LICENSE
+# Try as hard as possible to remedy to the brain-damage their build-system
+# suffers from: don't search for openssl, they pick the host-system one.
+PERL_NET_SSLEAY_CONF_ENV = OPENSSL_PREFIX=$(STAGING_DIR)/usr
+
$(eval $(perl-package))
OpenPOWER on IntegriCloud