summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/hercules')
-rw-r--r--app-emulation/hercules/Manifest2
-rw-r--r--app-emulation/hercules/files/hercules-3.09-aliasing.patch41
-rw-r--r--app-emulation/hercules/files/hercules-3.13-posix-test.patch29
-rw-r--r--app-emulation/hercules/files/hercules-3.13-unbundle-libltdl.patch34
-rw-r--r--app-emulation/hercules/files/hercules-3.13-user-install.patch21
-rw-r--r--app-emulation/hercules/hercules-3.12.ebuild53
-rw-r--r--app-emulation/hercules/hercules-3.13-r1.ebuild (renamed from app-emulation/hercules/hercules-3.10.ebuild)31
-rw-r--r--app-emulation/hercules/hercules-3.13.ebuild57
-rw-r--r--app-emulation/hercules/metadata.xml2
9 files changed, 106 insertions, 164 deletions
diff --git a/app-emulation/hercules/Manifest b/app-emulation/hercules/Manifest
index a21a461a5411..9d2aef8825b5 100644
--- a/app-emulation/hercules/Manifest
+++ b/app-emulation/hercules/Manifest
@@ -1,3 +1 @@
-DIST hercules-3.10.tar.gz 2608321 BLAKE2B df6dd9c93531ee3d68efbfad5b0152ef984e1804e211861e86ea5f7b271081abbd29664d4e97d0e887af10315549bdd7e890ec741baa7b69336f1f08be63c6cf SHA512 de8b3e2e90fdb745dea9c8ce4dbe506de2aba3bf08b3e937605798e6a8020576a949d6ea3496b7c42bd23d617fc96648d2d8ec05a66e8ed174ce46a3bc31c5d1
-DIST hercules-3.12.tar.gz 2569617 BLAKE2B e6b6dc2406bc198e25ddcbdc5dbf141e52cd15ddd690711fdd4ed69ca5baaddd582c437e28aa7793ac667c03f7617adb3bdf3a00cc7c3a28e3f28984f665eb9a SHA512 81d6e151c1c8534753f2db532a0a7bd36fb3806c1ffbab5d6e4a9af3eecea46b95105c37574910714dcfc0fe9b74a72140d573099c24fd44021159ce697414ef
DIST hercules-3.13.tar.gz 2640742 BLAKE2B 1a84ceab346a591c494fb133d1654ffa73e44f73183564167a74f68eb3e5f3f187cc2f66cef444b951645fa85c111da261b9dd8907594ccb770f5b743f891649 SHA512 76f75ef3f1eb10c0fac0d6fa1ab9809b8d1dfe3deccbcd69366b05ee58f1ecb8ea0f387f7201ab4722b121478676f00e707ad27b6ecf1980fb09e900de63d718
diff --git a/app-emulation/hercules/files/hercules-3.09-aliasing.patch b/app-emulation/hercules/files/hercules-3.09-aliasing.patch
deleted file mode 100644
index 3d03e9b6dc1b..000000000000
--- a/app-emulation/hercules/files/hercules-3.09-aliasing.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 7d3255a18ad845953cc8083371e8623e771ad4f5 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Tue, 27 Aug 2013 12:25:49 -0400
-Subject: [PATCH] sha: fix strict aliasing warnings
-
-sha256.c:492:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
-sha256.c:784:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
-sha256.c:785:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
-
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
----
- crypto/sha256.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/crypto/sha256.c b/crypto/sha256.c
-index 1a6a243..b1e90b4 100644
---- a/crypto/sha256.c
-+++ b/crypto/sha256.c
-@@ -489,7 +489,7 @@ SHA256_Final(u_int8_t digest[], SHA256_CTX *context)
- *context->buffer = 0x80;
- }
- /* Set the bit count: */
-- *(u_int64_t *)&context->buffer[SHA256_SHORT_BLOCK_LENGTH] = context->bitcount;
-+ memcpy (&context->buffer[SHA256_SHORT_BLOCK_LENGTH], &context->bitcount, 8);
-
- /* Final transform: */
- SHA256_Transform(context, context->buffer);
-@@ -781,8 +781,8 @@ SHA512_Last(SHA512_CTX *context)
- *context->buffer = 0x80;
- }
- /* Store the length of input data (in bits): */
-- *(u_int64_t *)&context->buffer[SHA512_SHORT_BLOCK_LENGTH] = context->bitcount[1];
-- *(u_int64_t *)&context->buffer[SHA512_SHORT_BLOCK_LENGTH+8] = context->bitcount[0];
-+ memcpy (&context->buffer[SHA512_SHORT_BLOCK_LENGTH], &context->bitcount[1], 8);
-+ memcpy (&context->buffer[SHA512_SHORT_BLOCK_LENGTH+8], &context->bitcount[0], 8);
-
- /* Final transform: */
- SHA512_Transform(context, context->buffer);
---
-1.8.3.2
-
diff --git a/app-emulation/hercules/files/hercules-3.13-posix-test.patch b/app-emulation/hercules/files/hercules-3.13-posix-test.patch
new file mode 100644
index 000000000000..abee4b0cc5ed
--- /dev/null
+++ b/app-emulation/hercules/files/hercules-3.13-posix-test.patch
@@ -0,0 +1,29 @@
+https://github.com/rbowler/spinhawk/pull/106
+
+From 9a9f7182069b8fe0483383c177882218244bad16 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Thu, 18 Nov 2021 02:32:02 -0500
+Subject: [PATCH] avoid bashism in test call
+
+POSIX test only supports =, not ==.
+---
+ autoconf/hercules.m4 | 2 +-
+ configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index f12d47058562..8dd420af8d13 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -562,7 +562,7 @@ AC_CHECK_DECLS( SIOCADDRT, [hc_cv_have_siocaddrt=yes], [hc_
+ AC_CHECK_DECLS( SIOCDELRT, [hc_cv_have_siocdelrt=yes], [hc_cv_have_siocdelrt=no], [#include <linux/sockios.h>] )
+ AC_CHECK_DECLS( SIOCDIFADDR, [hc_cv_have_siocdifaddr=yes], [hc_cv_have_siocdifaddr=no], [#include <linux/sockios.h>] )
+
+-if test "$hc_cv_have_sys_mtio_h" == "yes"; then
++if test "$hc_cv_have_sys_mtio_h" = "yes"; then
+ AC_CHECK_DECLS( MTEWARN, [hc_cv_have_mtewarn=yes], [hc_cv_have_mtewarn=no], [#include <sys/mtio.h>] )
+ else
+ hc_cv_have_mtewarn=no
+--
+2.33.0
+
diff --git a/app-emulation/hercules/files/hercules-3.13-unbundle-libltdl.patch b/app-emulation/hercules/files/hercules-3.13-unbundle-libltdl.patch
index 7aec7f602de4..c96831d96ad2 100644
--- a/app-emulation/hercules/files/hercules-3.13-unbundle-libltdl.patch
+++ b/app-emulation/hercules/files/hercules-3.13-unbundle-libltdl.patch
@@ -282,7 +282,7 @@
DYNMOD_LD_FLAGS =
DYNMOD_LD_ADD =
LIB_LD_FLAGS = $(XSTATIC) \
-@@ -295,8 +295,7 @@
+@@ -295,12 +295,11 @@
memrchr.c \
parser.c \
pttrace.c \
@@ -292,6 +292,11 @@
libhercu_la_LDFLAGS = $(LIB_LD_FLAGS)
+- libhercu_la_LIBADD = $(LDADD) libhercs.la
++ libhercu_la_LIBADD = $(LDADD) libhercs.la $(LIB_LD_ADD)
+
+ #
+ # Core Hercules (shared) library
@@ -372,8 +371,7 @@
memrchr.c \
$(dynamic_SRC) \
@@ -345,3 +350,30 @@
LIB_LD_FLAGS = $(XSTATIC) \
-no-undefined \
-avoid-version
+--- a/autoconf/hercules.m4
++++ b/autoconf/hercules.m4
+@@ -270,7 +270,7 @@
+
+ else
+
+- if test $(./libtool --features | fgrep "enable shared libraries" | wc -l) -ne 1; then
++ if test "$enable_shared" != "yes"; then
+
+ # Libtool doesn't support shared libraries,
+ # and thus our wrapper kludge is not needed.
+@@ -280,11 +280,11 @@
+ }
+ DUPGETOPT2
+
+- ./libtool --mode=compile ${CC-cc} conftest1.c -c -o conftest1.lo > /dev/null 2>&1
+- ./libtool --mode=compile ${CC-cc} conftest2.c -c -o conftest2.lo > /dev/null 2>&1
++ libtool --mode=compile ${CC-cc} conftest1.c -c -o conftest1.lo > /dev/null 2>&1
++ libtool --mode=compile ${CC-cc} conftest2.c -c -o conftest2.lo > /dev/null 2>&1
+
+- ./libtool --mode=link ${CC-cc} -shared -rpath /lib -no-undefined conftest1.lo -o libconftest1.la > /dev/null 2>&1
+- ./libtool --mode=link ${CC-cc} -shared -rpath /lib -no-undefined conftest2.lo libconftest1.la -o libconftest2.la > /dev/null 2>&1
++ libtool --mode=link ${CC-cc} -shared -rpath /lib -no-undefined conftest1.lo -o libconftest1.la > /dev/null 2>&1
++ libtool --mode=link ${CC-cc} -shared -rpath /lib -no-undefined conftest2.lo libconftest1.la -o libconftest2.la > /dev/null 2>&1
+
+ if test $? = 0; then
+
diff --git a/app-emulation/hercules/files/hercules-3.13-user-install.patch b/app-emulation/hercules/files/hercules-3.13-user-install.patch
new file mode 100644
index 000000000000..bcde1181e873
--- /dev/null
+++ b/app-emulation/hercules/files/hercules-3.13-user-install.patch
@@ -0,0 +1,21 @@
+the ebuild will handle these, so no need to do it directly which will fail when
+building as non-root.
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -730,15 +730,6 @@ endif
+ (cd $(DESTDIR)$(bindir); @LN_S@ ./dasdcopy$(EXEEXT) cfba2fba$(EXEEXT))
+ rm -f $(DESTDIR)$(bindir)/cckd2ckd$(EXEEXT)
+ (cd $(DESTDIR)$(bindir); @LN_S@ ./dasdcopy$(EXEEXT) cckd2ckd$(EXEEXT))
+-if SETUID_HERCIFC
+- chown root $(DESTDIR)$(bindir)/hercifc
+-if HERCIFC_GROUPSET
+- chgrp $(HERCIFC_GROUPNAME) $(DESTDIR)$(bindir)/hercifc
+-endif
+- chmod 0750 $(DESTDIR)$(bindir)/hercifc
+- chmod +s $(DESTDIR)$(bindir)/hercifc
+- rm hercifc
+-endif
+
+ uninstall-local:
+
diff --git a/app-emulation/hercules/hercules-3.12.ebuild b/app-emulation/hercules/hercules-3.12.ebuild
deleted file mode 100644
index ea0d3fecd24e..000000000000
--- a/app-emulation/hercules/hercules-3.12.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic
-
-DESCRIPTION="Hercules System/370, ESA/390 and zArchitecture Mainframe Emulator"
-HOMEPAGE="http://www.hercules-390.eu/"
-SRC_URI="http://downloads.hercules-390.eu/${P}.tar.gz"
-
-LICENSE="QPL-1.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86 ~x64-macos"
-IUSE="bzip2 custom-cflags +suid"
-
-RDEPEND="bzip2? ( app-arch/bzip2 )
- net-libs/libnsl:0=
- sys-libs/zlib"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.09-aliasing.patch
-)
-
-src_prepare() {
- default
-
- # The local modules need local libs, so when doing a parallel install
- # of the modules and libs breaks during relinking. Force the libs to
- # install first, and then the modules that use those libs. #488126
- echo "install-modexecLTLIBRARIES: install-libLTLIBRARIES" >> Makefile.in || die
-}
-
-src_configure() {
- use custom-cflags || strip-flags
- ac_cv_lib_bz2_BZ2_bzBuffToBuffDecompress=$(usex bzip2) \
- econf \
- $(use_enable bzip2 cckd-bzip2) \
- $(use_enable bzip2 het-bzip2) \
- $(use_enable suid setuid-hercifc) \
- --enable-custom="Gentoo ${PF}.ebuild" \
- --disable-optimization
-}
-
-src_install() {
- default
- insinto /usr/share/hercules
- doins hercules.cnf
- dodoc README.* RELEASE.NOTES
- docinto html
- dodoc -r html
-}
diff --git a/app-emulation/hercules/hercules-3.10.ebuild b/app-emulation/hercules/hercules-3.13-r1.ebuild
index 2759a92bd42b..608739f4b314 100644
--- a/app-emulation/hercules/hercules-3.10.ebuild
+++ b/app-emulation/hercules/hercules-3.13-r1.ebuild
@@ -1,9 +1,9 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI="7"
-inherit flag-o-matic
+inherit autotools flag-o-matic
DESCRIPTION="Hercules System/370, ESA/390 and zArchitecture Mainframe Emulator"
HOMEPAGE="http://www.hercules-390.eu/"
@@ -14,18 +14,27 @@ SLOT="0"
KEYWORDS="~alpha amd64 ppc sparc x86 ~x64-macos"
IUSE="bzip2 custom-cflags +suid"
-RDEPEND="bzip2? ( app-arch/bzip2 )
+RDEPEND="
+ dev-libs/libltdl:=
net-libs/libnsl:0=
- sys-libs/zlib"
+ sys-libs/zlib:=
+ bzip2? ( app-arch/bzip2:= )"
DEPEND="${RDEPEND}"
PATCHES=(
- "${FILESDIR}"/${PN}-3.09-aliasing.patch
+ "${FILESDIR}"/${PN}-3.13-htmldir.patch
+ "${FILESDIR}"/${PN}-3.13-posix-test.patch
+ "${FILESDIR}"/${PN}-3.13-unbundle-libltdl.patch
+ "${FILESDIR}"/${PN}-3.13-user-install.patch
)
src_prepare() {
default
+ # delete bundled libltdl, #252716
+ rm ltdl.{c,h} || die
+ eautoreconf
+
# The local modules need local libs, so when doing a parallel install
# of the modules and libs breaks during relinking. Force the libs to
# install first, and then the modules that use those libs. #488126
@@ -34,7 +43,7 @@ src_prepare() {
src_configure() {
use custom-cflags || strip-flags
- ac_cv_lib_bz2_BZ2_bzBuffToBuffDecompress=$(usex bzip2) \
+ local -x ac_cv_lib_bz2_BZ2_bzBuffToBuffDecompress=$(usex bzip2)
econf \
$(use_enable bzip2 cckd-bzip2) \
$(use_enable bzip2 het-bzip2) \
@@ -45,9 +54,13 @@ src_configure() {
src_install() {
default
+ dodoc RELEASE.NOTES
+
+ use suid && fperms 4711 /usr/bin/hercifc
+
insinto /usr/share/hercules
doins hercules.cnf
- dodoc README.* RELEASE.NOTES
- docinto html
- dodoc -r html
+
+ # No static archives. Have to leave .la files for modules. #720342
+ rm "${ED}/usr/$(get_libdir)/"*.la || die
}
diff --git a/app-emulation/hercules/hercules-3.13.ebuild b/app-emulation/hercules/hercules-3.13.ebuild
deleted file mode 100644
index 1131976ea5ea..000000000000
--- a/app-emulation/hercules/hercules-3.13.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic
-
-DESCRIPTION="Hercules System/370, ESA/390 and zArchitecture Mainframe Emulator"
-HOMEPAGE="http://www.hercules-390.eu/"
-SRC_URI="http://downloads.hercules-390.eu/${P}.tar.gz"
-
-LICENSE="QPL-1.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86 ~x64-macos"
-IUSE="bzip2 custom-cflags +suid"
-
-RDEPEND="
- dev-libs/libltdl
- net-libs/libnsl:0=
- sys-libs/zlib
- bzip2? ( app-arch/bzip2 )"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.13-htmldir.patch
- "${FILESDIR}"/${PN}-3.13-unbundle-libltdl.patch
-)
-
-src_prepare() {
- default
-
- # delete bundled libltdl, #252716
- rm ltdl.{c,h} || die
- eautoreconf
-}
-
-src_configure() {
- use custom-cflags || strip-flags
- local -x ac_cv_lib_bz2_BZ2_bzBuffToBuffDecompress=$(usex bzip2)
- econf \
- $(use_enable bzip2 cckd-bzip2) \
- $(use_enable bzip2 het-bzip2) \
- $(use_enable suid setuid-hercifc) \
- --enable-custom="Gentoo ${PF}.ebuild" \
- --disable-optimization
-}
-
-src_install() {
- default
- dodoc RELEASE.NOTES
-
- insinto /usr/share/hercules
- doins hercules.cnf
-
- # no static archives
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/app-emulation/hercules/metadata.xml b/app-emulation/hercules/metadata.xml
index a707c32dbb17..d03df75ce618 100644
--- a/app-emulation/hercules/metadata.xml
+++ b/app-emulation/hercules/metadata.xml
@@ -3,7 +3,7 @@
<pkgmetadata>
<maintainer type="project">
<email>s390@gentoo.org</email>
- <name>Gentoo Linux s390 Development</name>
+ <name>s390 architecture team</name>
</maintainer>
<longdescription>
Hercules is an emulator for the IBM System/360, System/370, ESA/390, and