From 4144fe346bb5c8a233b73f99ac88d5a6afb597a1 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Tue, 12 Jul 2011 04:10:48 +0000 Subject: Add more mingw support -- respect RC/WINDRES settings, check ming64 hosts, and only use --noexecstack if the toolchain supports it #373743 by Bertrand Jacquin. (Portage version: 2.2.0_alpha43/cvs/Linux x86_64) --- dev-libs/openssl/ChangeLog | 8 ++- dev-libs/openssl/files/gentoo.config-1.0.0 | 23 ++++---- .../openssl/files/openssl-1.0.0d-windres.patch | 69 ++++++++++++++++++++++ dev-libs/openssl/openssl-1.0.0d.ebuild | 7 ++- 4 files changed, 92 insertions(+), 15 deletions(-) create mode 100644 dev-libs/openssl/files/openssl-1.0.0d-windres.patch (limited to 'dev-libs/openssl') diff --git a/dev-libs/openssl/ChangeLog b/dev-libs/openssl/ChangeLog index fff541c8c1f4..5c1cd5b3040b 100644 --- a/dev-libs/openssl/ChangeLog +++ b/dev-libs/openssl/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-libs/openssl # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/ChangeLog,v 1.398 2011/07/07 23:50:26 aballier Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/ChangeLog,v 1.399 2011/07/12 04:10:48 vapier Exp $ + + 12 Jul 2011; Mike Frysinger files/gentoo.config-1.0.0, + openssl-1.0.0d.ebuild, +files/openssl-1.0.0d-windres.patch: + Add more mingw support -- respect RC/WINDRES settings, check ming64 hosts, + and only use --noexecstack if the toolchain supports it #373743 by Bertrand + Jacquin. 07 Jul 2011; Alexis Ballier openssl-1.0.0d.ebuild, +files/openssl-1.0.0d-fbsd-amd64.patch: diff --git a/dev-libs/openssl/files/gentoo.config-1.0.0 b/dev-libs/openssl/files/gentoo.config-1.0.0 index e7dd012f7ed2..61cf89d84c1a 100755 --- a/dev-libs/openssl/files/gentoo.config-1.0.0 +++ b/dev-libs/openssl/files/gentoo.config-1.0.0 @@ -1,7 +1,7 @@ #!/usr/bin/env bash # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/files/gentoo.config-1.0.0,v 1.2 2011/07/05 07:01:04 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/files/gentoo.config-1.0.0,v 1.3 2011/07/12 04:10:48 vapier Exp $ # # Openssl doesn't play along nicely with cross-compiling # like autotools based projects, so let's teach it new tricks. @@ -54,15 +54,16 @@ fi # Detect the operating system case ${CHOST} in - *-aix*) system="aix";; - *-darwin*) system="darwin";; - *-freebsd*) system="BSD";; - *-hpux*) system="hpux";; - *-linux*) system="linux";; - *-solaris*) system="solaris";; - *-winnt*) system="winnt";; - *mingw*) system="mingw";; - *) exit 0;; + *-aix*) system="aix";; + *-darwin*) system="darwin";; + *-freebsd*) system="BSD";; + *-hpux*) system="hpux";; + *-linux*) system="linux";; + *-solaris*) system="solaris";; + *-winnt*) system="winnt";; + x86_64-*-mingw*) system="mingw64";; + *mingw*) system="mingw";; + *) exit 0;; esac @@ -145,7 +146,7 @@ solaris) winnt) machine=parity ;; -mingw) +mingw*) # special case ... no xxx-yyy style name echo ${system} ;; diff --git a/dev-libs/openssl/files/openssl-1.0.0d-windres.patch b/dev-libs/openssl/files/openssl-1.0.0d-windres.patch new file mode 100644 index 000000000000..2fdd3305319b --- /dev/null +++ b/dev-libs/openssl/files/openssl-1.0.0d-windres.patch @@ -0,0 +1,69 @@ +Index: Configure +=================================================================== +RCS file: /usr/local/src/openssl/CVSROOT/openssl/Configure,v +retrieving revision 1.621.2.40 +diff -u -p -r1.621.2.40 Configure +--- Configure 30 Nov 2010 22:19:26 -0000 1.621.2.40 ++++ Configure 4 Jul 2011 23:12:32 -0000 +@@ -1094,6 +1094,7 @@ my $shared_extension = $fields[$idx_shar + my $ranlib = $ENV{'RANLIB'} || $fields[$idx_ranlib]; + my $ar = $ENV{'AR'} || "ar"; + my $arflags = $fields[$idx_arflags]; ++my $windres = $ENV{'RC'} || $ENV{'WINDRES'} || "windres"; + my $multilib = $fields[$idx_multilib]; + + # if $prefix/lib$multilib is not an existing directory, then +@@ -1511,12 +1512,14 @@ while () + s/^AR=\s*/AR= \$\(CROSS_COMPILE\)/; + s/^NM=\s*/NM= \$\(CROSS_COMPILE\)/; + s/^RANLIB=\s*/RANLIB= \$\(CROSS_COMPILE\)/; ++ s/^WINDRES=\s*/WINDRES= \$\(CROSS_COMPILE\)/; + s/^MAKEDEPPROG=.*$/MAKEDEPPROG= \$\(CROSS_COMPILE\)$cc/ if $cc eq "gcc"; + } + else { + s/^CC=.*$/CC= $cc/; + s/^AR=\s*ar/AR= $ar/; + s/^RANLIB=.*/RANLIB= $ranlib/; ++ s/^WINDRES=.*/WINDRES= $windres/; + s/^MAKEDEPPROG=.*$/MAKEDEPPROG= $cc/ if $cc eq "gcc"; + } + s/^CFLAG=.*$/CFLAG= $cflags/; +Index: Makefile.org +=================================================================== +RCS file: /usr/local/src/openssl/CVSROOT/openssl/Makefile.org,v +retrieving revision 1.295.2.10 +diff -u -p -r1.295.2.10 Makefile.org +--- Makefile.org 27 Jan 2010 16:06:58 -0000 1.295.2.10 ++++ Makefile.org 4 Jul 2011 23:13:08 -0000 +@@ -66,6 +66,7 @@ EXE_EXT= + ARFLAGS= + AR=ar $(ARFLAGS) r + RANLIB= ranlib ++WINDRES= windres + NM= nm + PERL= perl + TAR= tar +@@ -180,6 +181,7 @@ BUILDENV= PLATFORM='$(PLATFORM)' PROCESS + CC='$(CC)' CFLAG='$(CFLAG)' \ + AS='$(CC)' ASFLAG='$(CFLAG) -c' \ + AR='$(AR)' NM='$(NM)' RANLIB='$(RANLIB)' \ ++ WINDRES='$(WINDRES)' \ + CROSS_COMPILE='$(CROSS_COMPILE)' \ + PERL='$(PERL)' ENGDIRS='$(ENGDIRS)' \ + SDIRS='$(SDIRS)' LIBRPATH='$(INSTALLTOP)/$(LIBDIR)' \ +Index: Makefile.shared +=================================================================== +RCS file: /usr/local/src/openssl/CVSROOT/openssl/Makefile.shared,v +retrieving revision 1.72.2.4 +diff -u -p -r1.72.2.4 Makefile.shared +--- Makefile.shared 21 Aug 2010 11:36:49 -0000 1.72.2.4 ++++ Makefile.shared 4 Jul 2011 23:13:52 -0000 +@@ -293,7 +293,7 @@ link_a.cygwin: + fi; \ + dll_name=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX; \ + $(PERL) util/mkrc.pl $$dll_name | \ +- $(CROSS_COMPILE)windres -o rc.o; \ ++ $(WINDRES) -o rc.o; \ + extras="$$extras rc.o"; \ + ALLSYMSFLAGS='-Wl,--whole-archive'; \ + NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \ diff --git a/dev-libs/openssl/openssl-1.0.0d.ebuild b/dev-libs/openssl/openssl-1.0.0d.ebuild index bb9ea84b915f..ad384aceadc8 100644 --- a/dev-libs/openssl/openssl-1.0.0d.ebuild +++ b/dev-libs/openssl/openssl-1.0.0d.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/openssl-1.0.0d.ebuild,v 1.12 2011/07/07 23:50:26 aballier Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/openssl-1.0.0d.ebuild,v 1.13 2011/07/12 04:10:48 vapier Exp $ EAPI="2" @@ -36,6 +36,7 @@ src_prepare() { epatch "${FILESDIR}"/${PN}-1.0.0a-ldflags.patch #327421 epatch "${FILESDIR}"/${PN}-1.0.0d-alpha-typo.patch #364699 epatch "${FILESDIR}"/${PN}-1.0.0d-fbsd-amd64.patch #363089 + epatch "${FILESDIR}"/${PN}-1.0.0d-windres.patch #373743 epatch_user #332661 # disable fips in the build @@ -58,7 +59,7 @@ src_prepare() { chmod a+rx gentoo.config append-flags -fno-strict-aliasing - append-flags -Wa,--noexecstack + append-flags $(test-flags-CC -Wa,--noexecstack) sed -i '1s,^:$,#!/usr/bin/perl,' Configure #141906 ./config --test-sanity || die "I AM NOT SANE" @@ -68,7 +69,7 @@ src_configure() { unset APPS #197996 unset SCRIPTS #312551 - tc-export CC AR RANLIB + tc-export CC AR RANLIB RC # Clean out patent-or-otherwise-encumbered code # Camellia: Royalty Free http://en.wikipedia.org/wiki/Camellia_(cipher) -- cgit v1.2.3-65-gdbad