commit:     1772772b7973e844b580481f4912f949b75890f4
Author:     Mark Wright <gienah <AT> gentoo <DOT> org>
AuthorDate: Mon Jan  2 23:00:36 2017 +0000
Commit:     Mark Wright <gienah <AT> gentoo <DOT> org>
CommitDate: Mon Jan  2 23:02:02 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1772772b

sci-mathematics/sha1-polyml: Bump to 5.6-1. Fix
get_libdir called in global scope, thanks to mgorny for reporting.

Gentoo-bug: 593380

Package-Manager: portage-2.3.3

 sci-mathematics/sha1-polyml/Manifest               |  1 +
 .../files/sha1-polyml-5.6_p1-build.patch           | 60 +++++++++++++++++++++
 .../sha1-polyml/sha1-polyml-5.6_p1.ebuild          | 62 ++++++++++++++++++++++
 3 files changed, 123 insertions(+)

diff --git a/sci-mathematics/sha1-polyml/Manifest 
b/sci-mathematics/sha1-polyml/Manifest
index 480d96f..11d31b3 100644
--- a/sci-mathematics/sha1-polyml/Manifest
+++ b/sci-mathematics/sha1-polyml/Manifest
@@ -1 +1,2 @@
 DIST polyml-5.5.0.tar.gz 12776783 SHA256 
1ada41fba3f3cd5bb9b3e3dd1585e8576284e9a74ad7c4ddf88c020f716ec7dc SHA512 
4d8accc7083e12a0117fb4e34367e9b22c500d31094d8f0e381b91e91a3e8122cb5ca760ecc86bdcf7ff50a460848a181747bafc068b4a300b01de54e55fbad7
 WHIRLPOOL 
2bc658af92f0b85ae8ba63d3f07caced91a335a3d5541e3988fa78147ef6f6c8713e479cde0ed41077621ead4b3d6eaca466a05d6d87d2f27d427299513d7033
+DIST polyml-5.6-1.tar.gz 22041657 SHA256 
6091bbdbad437b6a0293e8091642bf204ff1d71f8d262de46ae200357d98f113 SHA512 
3107f4a5b17283dc3873b0ecf7eb1c607c42e14e859b50345b666f19412a2592e359ea29f03e56d390491e9104a71e0bf80eb39884f51d8724b37f8f935fa7d2
 WHIRLPOOL 
13e8d61c0271855b8034426b6e41aacb1ff694f3fa0ce5c5b4806487567bded7230c5ff64390f163e07da8d78a08f19780ac84d3931e033e8496079a9f18f523

diff --git a/sci-mathematics/sha1-polyml/files/sha1-polyml-5.6_p1-build.patch 
b/sci-mathematics/sha1-polyml/files/sha1-polyml-5.6_p1-build.patch
new file mode 100644
index 00000000..86645b9
--- /dev/null
+++ b/sci-mathematics/sha1-polyml/files/sha1-polyml-5.6_p1-build.patch
@@ -0,0 +1,60 @@
+--- polyml-5.6-1-orig/sha1/build       2015-09-09 03:05:54.000000000 +1000
++++ polyml-5.6-1/sha1/build    2016-12-28 19:10:36.148579115 +1100
+@@ -32,34 +32,34 @@
+ 
+ case "$target" in
+   x86-linux)
+-    CFLAGS="-fPIC -I. -m32"
+-    LDFLAGS="-fPIC -m32 -shared"
++    CFLAGS="-O2 -march=native -ggdb -fvar-tracking-assignments -fvar-tracking 
-pipe -fPIC -I. -m32"
++    LDFLAGS="-Wl,-O1 -Wl,--as-needed -fPIC -m32 -shared"
+     library="$target/libsha1.so"
+     test_sha1="test_sha1"
+     ;;
+   x86_64-linux)
+-    CFLAGS="-fPIC -I. -m64"
+-    LDFLAGS="-fPIC -m64 -shared"
++    CFLAGS="-O2 -march=native -ggdb -fvar-tracking-assignments -fvar-tracking 
-pipe -fPIC -I. -m64"
++    LDFLAGS="-Wl,-O1 -Wl,--as-needed -fPIC -m64 -shared"
+     library="$target/libsha1.so"
+     test_sha1="test_sha1"
+     ;;
+   x86-darwin)
+     LD=libtool
+-    CFLAGS="-fPIC -I. -m32"
+-    LDFLAGS="-dynamic -lc"
++    CFLAGS="-O2 -march=native -ggdb -fvar-tracking-assignments -fvar-tracking 
-pipe -fPIC -I. -m32"
++    LDFLAGS="-Wl,-O1 -Wl,--as-needed -dynamic -lc"
+     library="$target/libsha1.so"
+     test_sha1="test_sha1"
+     ;;
+   x86_64-darwin)
+     LD=libtool
+-    CFLAGS="-fPIC -I. -m64"
+-    LDFLAGS="-dynamic -lc"
++    CFLAGS="-O2 -march=native -ggdb -fvar-tracking-assignments -fvar-tracking 
-pipe -fPIC -I. -m64"
++    LDFLAGS="-Wl,-O1 -Wl,--as-needed -dynamic -lc"
+     library="$target/libsha1.so"
+     test_sha1="test_sha1"
+     ;;
+   x86-cygwin)
+-    CFLAGS="-I. -m32"
+-    LDFLAGS="-shared"
++    CFLAGS="-O2 -march=native -ggdb -fvar-tracking-assignments -fvar-tracking 
-pipe -I. -m32"
++    LDFLAGS="-Wl,-O1 -Wl,--as-needed -shared"
+     library="$target/sha1.dll"
+     test_sha1="test_sha1.exe"
+     ;;
+@@ -105,10 +105,6 @@
+ $CC $CFLAGS -o $test_sha1 test_sha1.c -ldl
+ [ "$?" -ne 0 ] && { exit 1; }
+ 
+-echo "Running tests ..."
+-./$test_sha1 $library
+-[ "$?" -ne 0 ] && { exit 1; }
+-
+-rm test_sha1 sha1.o
++exit 0
+ 
+ fi
+\ No newline at end of file

diff --git a/sci-mathematics/sha1-polyml/sha1-polyml-5.6_p1.ebuild 
b/sci-mathematics/sha1-polyml/sha1-polyml-5.6_p1.ebuild
new file mode 100644
index 00000000..7349cf9
--- /dev/null
+++ b/sci-mathematics/sha1-polyml/sha1-polyml-5.6_p1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="6"
+
+inherit multilib toolchain-funcs
+
+MY_PN="polyml"
+MY_PV="5.6-1"
+MY_P="${MY_PN}-${MY_PV}"
+
+DESCRIPTION="implementation of SHA1 is taken from the GNU coreutils package"
+HOMEPAGE="http://isabelle.in.tum.de/";
+SRC_URI="http://isabelle.in.tum.de/components/${MY_P}.tar.gz";
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}/sha1"
+
+# sci-mathematics/isabelle requires sci-mathematics/sha1-polyml, to avoid
+# this warning:
+# ### load_lib </usr/bin/libsha1.so> : /usr/bin/libsha1.so: cannot open shared
+#  object file: No such file or directory
+# ### Using slow ML implementation of SHA1.digest
+# sci-mathematics/sha1-polyml supplies the library libsha1.so.  Which
+# is the implementation of SHA1 taken from the GNU coreutils package
+# as described in the sci-mathematics/sha1-polyml README.  Isabelle
+# builds libsha1.so in the contrib/polyml/$ML_PLATFORM directory.
+# isabelle dynamically loads libsha1.so as a plugin.  The Isabelle-2012
+# linux binary bundle places libsha1.so in the contrib/polyml directory, which
+# is referred to as ML_HOME in the Isabelle Pure/General/sha1_polyml.ML source 
file.
+# ML_HOME is /usr/bin on Gentoo, and we want isabelle to depend o sha1-polyml.
+# For these reasons isabelle is patched to load it from
+# /usr/$(get_libdir)/sha1-polyml/libsha1.so
+
+src_compile() {
+       $(tc-getCC) \
+               ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -I. -fPIC -shared \
+               -o libsha1.so sha1.c || die "compile libsha1.so failed"
+       $(tc-getCC) \
+               ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -I. \
+               -o test_sha1 test_sha1.c -ldl || die "compile test_sha1 failed"
+}
+
+src_test() {
+       ./test_sha1 ./libsha1.so || die "tests failed"
+}
+
+src_install() {
+       dodoc README
+       local ld="${ROOT}usr/"$(get_libdir)"/${PN}"
+       dodir ${ld}
+       exeinto ${ld}
+       doexe libsha1.so
+}

Reply via email to