Gentoo Archives: gentoo-commits

From: David Seifert <soap@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/hercules/files/, app-emulation/hercules/
Date: Fri, 28 Feb 2020 20:22:38
Message-Id: 1582921327.fdfa6d51218b7690f423c4cba8c4173e770ac522.soap@gentoo
1 commit: fdfa6d51218b7690f423c4cba8c4173e770ac522
2 Author: David Seifert <soap <AT> gentoo <DOT> org>
3 AuthorDate: Fri Feb 28 20:22:07 2020 +0000
4 Commit: David Seifert <soap <AT> gentoo <DOT> org>
5 CommitDate: Fri Feb 28 20:22:07 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fdfa6d51
7
8 app-emulation/hercules: Bump to 3.13
9
10 Bug: https://bugs.gentoo.org/252716
11 Bug: https://bugs.gentoo.org/521032
12 Package-Manager: Portage-2.3.89, Repoman-2.3.20
13 Signed-off-by: David Seifert <soap <AT> gentoo.org>
14
15 app-emulation/hercules/Manifest | 1 +
16 .../hercules/files/hercules-3.13-htmldir.patch | 25 ++
17 .../files/hercules-3.13-unbundle-libltdl.patch | 347 +++++++++++++++++++++
18 app-emulation/hercules/hercules-3.13.ebuild | 57 ++++
19 4 files changed, 430 insertions(+)
20
21 diff --git a/app-emulation/hercules/Manifest b/app-emulation/hercules/Manifest
22 index 773ff82ff9d..a21a461a541 100644
23 --- a/app-emulation/hercules/Manifest
24 +++ b/app-emulation/hercules/Manifest
25 @@ -1,2 +1,3 @@
26 DIST hercules-3.10.tar.gz 2608321 BLAKE2B df6dd9c93531ee3d68efbfad5b0152ef984e1804e211861e86ea5f7b271081abbd29664d4e97d0e887af10315549bdd7e890ec741baa7b69336f1f08be63c6cf SHA512 de8b3e2e90fdb745dea9c8ce4dbe506de2aba3bf08b3e937605798e6a8020576a949d6ea3496b7c42bd23d617fc96648d2d8ec05a66e8ed174ce46a3bc31c5d1
27 DIST hercules-3.12.tar.gz 2569617 BLAKE2B e6b6dc2406bc198e25ddcbdc5dbf141e52cd15ddd690711fdd4ed69ca5baaddd582c437e28aa7793ac667c03f7617adb3bdf3a00cc7c3a28e3f28984f665eb9a SHA512 81d6e151c1c8534753f2db532a0a7bd36fb3806c1ffbab5d6e4a9af3eecea46b95105c37574910714dcfc0fe9b74a72140d573099c24fd44021159ce697414ef
28 +DIST hercules-3.13.tar.gz 2640742 BLAKE2B 1a84ceab346a591c494fb133d1654ffa73e44f73183564167a74f68eb3e5f3f187cc2f66cef444b951645fa85c111da261b9dd8907594ccb770f5b743f891649 SHA512 76f75ef3f1eb10c0fac0d6fa1ab9809b8d1dfe3deccbcd69366b05ee58f1ecb8ea0f387f7201ab4722b121478676f00e707ad27b6ecf1980fb09e900de63d718
29
30 diff --git a/app-emulation/hercules/files/hercules-3.13-htmldir.patch b/app-emulation/hercules/files/hercules-3.13-htmldir.patch
31 new file mode 100644
32 index 00000000000..962611b87ed
33 --- /dev/null
34 +++ b/app-emulation/hercules/files/hercules-3.13-htmldir.patch
35 @@ -0,0 +1,25 @@
36 +--- a/html/Makefile.am
37 ++++ b/html/Makefile.am
38 +@@ -1,4 +1,4 @@
39 +-dist_pkgdata_DATA = cckddasd.html fishgui.html hercconf.html hercfaq.html \
40 ++dist_html_DATA = cckddasd.html fishgui.html hercconf.html hercfaq.html \
41 + hercinst.html herclic.html hercload.html hercmsca.html hercmscf.html \
42 + hercmscp.html hercmsct.html hercmscu.html hercmsda.html hercmsdc.html \
43 + hercmsdg.html hercmsdi.html hercmsdl.html hercmsds.html hercmsdt.html \
44 +@@ -12,7 +12,7 @@
45 +
46 + include_sources = include/header.htmlpart include/footer.htmlpart
47 +
48 +-include_pkgdatadir = $(pkgdatadir)/include
49 ++include_pkgdatadir = $(htmldir)/include
50 +
51 + dist_include_pkgdata_DATA = $(include_sources)
52 +
53 +@@ -33,6 +33,6 @@
54 + images/interruptu.gif images/redu.gif images/waitonu.gif \
55 + images/loadd.gif images/restartd.gif
56 +
57 +-images_pkgdatadir = $(pkgdatadir)/images
58 ++images_pkgdatadir = $(htmldir)/images
59 +
60 + dist_images_pkgdata_DATA = $(images_sources)
61
62 diff --git a/app-emulation/hercules/files/hercules-3.13-unbundle-libltdl.patch b/app-emulation/hercules/files/hercules-3.13-unbundle-libltdl.patch
63 new file mode 100644
64 index 00000000000..7aec7f602de
65 --- /dev/null
66 +++ b/app-emulation/hercules/files/hercules-3.13-unbundle-libltdl.patch
67 @@ -0,0 +1,347 @@
68 +--- a/bootstrap.c
69 ++++ b/bootstrap.c
70 +@@ -11,7 +11,7 @@
71 + #include "hstdinc.h"
72 + #include "hercules.h"
73 + #if defined(HDL_USE_LIBTOOL)
74 +-#include "ltdl.h"
75 ++#include <ltdl.h>
76 + #endif
77 +
78 + #if !defined( _MSVC_ )
79 +--- a/configure.ac
80 ++++ b/configure.ac
81 +@@ -12,7 +12,7 @@
82 + AC_REVISION($Revision$) # (the version of this configure.ac)
83 + AC_CONFIG_AUX_DIR(autoconf) # (directory containing auxillary build tools)
84 + AM_INIT_AUTOMAKE(hercules,3.13) # (the version of our software package)
85 +-AM_CONFIG_HEADER(config.h) # (the file the resulting configure script will produce)
86 ++AC_CONFIG_HEADERS(config.h) # (the file the resulting configure script will produce)
87 + AM_MAINTAINER_MODE()
88 + AC_CANONICAL_HOST() # (sets $host_cpu, $host_vendor, and $host_os)
89 + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
90 +@@ -38,154 +38,8 @@
91 + modexecdir='$(libdir)/$(PACKAGE)'
92 + AC_SUBST(modexecdir)
93 +
94 +-
95 +-# -----------------------------------------------------------------------------
96 +-#
97 +-# AC_LIBTOOL_DLOPEN
98 +-#
99 +-# Enable checking for dlopen support. This macro should be used if the
100 +-# package makes use of the '-dlopen' and '-dlpreopen' flags, otherwise
101 +-# libtool will assume that the system does not support dlopening. The
102 +-# macro must be called before AC_PROG_LIBTOOL.
103 +-#
104 +-# -----------------------------------------------------------------------------
105 +-
106 +-AC_LIBTOOL_DLOPEN() # (we need libtool's dlopen support)
107 +-
108 +-
109 +-# -----------------------------------------------------------------------------
110 +-#
111 +-# AC_LIBTOOL_WIN32_DLL
112 +-#
113 +-# This macro should be used if the package has been ported to build
114 +-# clean dlls on win32 platforms. Usually this means that any library
115 +-# data items are exported with __declspec(dllexport) and imported with
116 +-# __declspec(dllimport). If this macro is not used, libtool will assume
117 +-# that the package libraries are not dll clean and will build only static
118 +-# libraries on win32 hosts.
119 +-#
120 +-# This macro must be called before AC_PROG_LIBTOOL, and provision must
121 +-# be made to pass '-no-undefined' to libtool in link mode from the package
122 +-# Makefile. Naturally, if you pass '-no-undefined', you must ensure that
123 +-# all the library symbols really are defined at link time!
124 +-#
125 +-# -----------------------------------------------------------------------------
126 +-
127 +-AC_LIBTOOL_WIN32_DLL() # (we need Win32 support in libtool)
128 +-
129 +-
130 +-# -----------------------------------------------------------------------------
131 +-# See: 'AC_PROG_LIBTOOL' below.
132 +-# -----------------------------------------------------------------------------
133 +-
134 +-AC_DISABLE_STATIC() # (forces libtool to build shared
135 +-
136 +- # libraries instead of static ones)
137 +-# -----------------------------------------------------------------------------
138 +-# AC_PROG_LIBTOOL
139 +-#
140 +-# Add support for the '--enable-shared' and '--disable-shared'
141 +-# configure flags. By default, this macro turns on shared libraries
142 +-# if they are available, and also enables static libraries if they
143 +-# don't conflict with the shared libraries. You can modify these
144 +-# defaults by calling either the AC_DISABLE_SHARED or AC_DISABLE_STATIC
145 +-# macros.
146 +-#
147 +-# Hercules REQUIRES shared libraries (i.e. DLLs), so we do indeed use
148 +-# the AC_DISABLE_STATIC macro above.
149 +-#
150 +-# -----------------------------------------------------------------------------
151 +-
152 +-AC_PROG_LIBTOOL() # (we build libtool for ourselves)
153 +-
154 +-
155 +-# -----------------------------------------------------------------------------
156 +-#
157 +-# AC_LIB_LTDL
158 +-#
159 +-# Even though libltdl is installed together with libtool, you may wish
160 +-# to include libltdl in the distribution of your package, for the convenience
161 +-# of users of your package that don't have libtool or libltdl installed.
162 +-#
163 +-# The most simplistic way to add libltdl to your package is to copy the
164 +-# source files, 'ltdl.c' and 'ltdl.h', to a source directory withing your
165 +-# package and to build and link them along with the rest of your sources.
166 +-#
167 +-# To do this, you must add a call to the 'AC_LIB_LTDL' macro to your package's
168 +-# 'configure.in' to perform the required configure time checks in order that
169 +-# 'ltdl.o' is built correctly.
170 +-#
171 +-# This method does have its problems though: if you try to link the package
172 +-# binaries with an installed libltdl, or a library which depends on libltdl,
173 +-# you may have problems with duplicate symbol definitions.
174 +-#
175 +-# In order to enable this flavor of libltdl, you should add the line
176 +-# 'AC_LIBLTDL_CONVENIENCE' to your `configure.in', before 'AC_PROG_LIBTOOL'.
177 +-#
178 +-# In order to select the installable version of libltdl, you should add a
179 +-# call of the macro 'AC_LIBLTDL_INSTALLABLE' to your 'configure.in' before
180 +-# 'AC_PROG_LIBTOOL'. This macro will check whether libltdl is already
181 +-# installed and, if not, request the libltdl embedded in your package to be
182 +-# built and installed.
183 +-#
184 +-# Whatever macro you use, it is up to you to ensure that your 'configure.in'
185 +-# will configure libltdl, using 'AC_CONFIG_SUBDIRS', and that your 'Makefile's
186 +-# will start sub-makes within libltdl's directory, using automake's SUBDIRS,
187 +-# for example. Both macros define the shell variables LIBLTDL, to the link flag
188 +-# that you should use to link with libltdl, and LTDLINCL, to the preprocessor
189 +-# flag that you should use to compile with programs that include 'ltdl.h'. It
190 +-# is up to you to use 'AC_SUBST' to ensure that this variable will be available
191 +-# in 'Makefile's, or add them to variables that are 'AC_SUBST'ed by default,
192 +-# such as LIBS and CPPFLAGS.
193 +-#
194 +-# So, when you want to link a program with libltdl, be it a convenience,
195 +-# installed or installable library, just compile with '$(LTDLINCL)' and link
196 +-# it with '$(LIBLTDL)', using libtool.
197 +-#
198 +-# You should probably also add 'AC_LIBTOOL_DLOPEN' to your 'configure.in' before
199 +-# 'AC_PROG_LIBTOOL', otherwise libtool will assume no dlopening mechanism is
200 +-# supported, and revert to dlpreopening, which is probably not what you want.
201 +-#
202 +-# The following example shows you how to embed the convenience libltdl
203 +-# in your package. In order to use the installable variant just replace
204 +-# 'AC_LIBLTDL_CONVENIENCE' with 'AC_LIBLTDL_INSTALLABLE'. We assume that libltdl
205 +-# was embedded using 'libtoolize --ltdl':
206 +-#
207 +-# configure.in:
208 +-#
209 +-# ...
210 +-# dnl Enable building of the convenience library
211 +-# dnl and set LIBLTDL accordingly
212 +-# AC_LIBLTDL_CONVENIENCE
213 +-# dnl Substitute LTDLINCL and LIBLTDL in the Makefiles
214 +-# AC_SUBST(LTDLINCL)
215 +-# AC_SUBST(LIBLTDL)
216 +-# dnl Check for dlopen support
217 +-# AC_LIBTOOL_DLOPEN
218 +-# dnl Configure libtool
219 +-# AC_PROG_LIBTOOL
220 +-# dnl Configure libltdl
221 +-# AC_CONFIG_SUBDIRS(libltdl)
222 +-# ...
223 +-#
224 +-# Makefile.am:
225 +-#
226 +-# ...
227 +-# SUBDIRS = libltdl
228 +-#
229 +-# INCLUDES = $(LTDLINCL)
230 +-#
231 +-# myprog_LDFLAGS = -export-dynamic
232 +-# # The quotes around -dlopen below fool automake <= 1.4 into accepting it
233 +-# myprog_LDADD = $(LIBLTDL) "-dlopen" self "-dlopen" foo1.la
234 +-# myprog_DEPENDENCIES = $(LIBLTDL) foo1.la
235 +-# ...
236 +-#
237 +-# -----------------------------------------------------------------------------
238 +-
239 +-AC_LIB_LTDL() # (we need the ltdl libtool library)
240 +-AC_SUBST([LIBTOOL_DEPS]) # (see PROGRAMMING NOTE above)
241 +-
242 ++LT_PREREQ([2.2.6])
243 ++LT_INIT([dlopen win32-dll disable-static])
244 +
245 + # -----------------------------------------------------------------------------
246 + # (See comments in the 'AC_CHECK_LIB' Libraries section further below)
247 +--- a/crypto/Makefile.am
248 ++++ b/crypto/Makefile.am
249 +@@ -23,7 +23,6 @@
250 +
251 + if OPTION_DYNAMIC_LOAD
252 + DYNSRC =
253 +- LTDL = ../ltdl.c
254 +
255 + DYNMOD_LD_FLAGS = -module \
256 + -no-undefined \
257 +@@ -31,7 +30,7 @@
258 + -export-dynamic \
259 + -avoid-version
260 +
261 +- DYNMOD_LD_ADD = $(LDADD)
262 ++ DYNMOD_LD_ADD = $(LDADD) -lltdl
263 +
264 + LIB_LD_FLAGS = -export-dynamic \
265 + $(XSTATIC) \
266 +@@ -39,7 +38,6 @@
267 + -avoid-version
268 + else
269 + DYNSRC = $(dyndev_SRC)
270 +- LTDL =
271 + DYNMOD_LD_FLAGS =
272 + DYNMOD_LD_ADD =
273 + LIB_LD_FLAGS = $(XSTATIC) \
274 +--- a/decNumber/Makefile.am
275 ++++ b/decNumber/Makefile.am
276 +@@ -37,13 +37,13 @@
277 + endif
278 +
279 + if OPTION_DYNAMIC_LOAD
280 +- LTDL = ../ltdl.c
281 ++ LIB_LD_ADD = -lltdl
282 + LIB_LD_FLAGS = -export-dynamic \
283 + $(XSTATIC) \
284 + -no-undefined \
285 + -avoid-version
286 + else
287 +- LTDL =
288 ++ LIB_LD_ADD =
289 + LIB_LD_FLAGS = $(XSTATIC) \
290 + -no-undefined \
291 + -avoid-version
292 +@@ -56,7 +56,7 @@
293 +
294 + libdecNumber_la_SOURCES = $(decNumber_SRC)
295 + libdecNumber_la_LDFLAGS = $(LIB_LD_FLAGS)
296 +- libdecNumber_la_LIBADD = $(LDADD)
297 ++ libdecNumber_la_LIBADD = $(LDADD) $(LIB_LD_ADD)
298 +
299 + noinst_HEADERS = decContext.h \
300 + decDPD.h \
301 +--- a/fillfnam.c
302 ++++ b/fillfnam.c
303 +@@ -5,6 +5,8 @@
304 + #include "hercules.h"
305 + #include "fillfnam.h"
306 +
307 ++#include <dirent.h>
308 ++
309 + /* On Solaris 2.9 (SunOS 5.9) and earlier, there is no scandir
310 + and alphasort function. In this case fillfnam does nothing
311 + and the tab command is effectively a no-operation */
312 +--- a/herclin.c
313 ++++ b/herclin.c
314 +@@ -26,7 +26,7 @@
315 + /* This must be included if HDL uses the */
316 + /* libtool ltdl convenience library */
317 +
318 +-#include "ltdl.h"
319 ++#include <ltdl.h>
320 + #endif
321 +
322 +
323 +--- a/Makefile.am
324 ++++ b/Makefile.am
325 +@@ -98,7 +98,7 @@
326 +
327 + if OPTION_DYNAMIC_LOAD
328 + DYNSRC =
329 +- LTDL = ltdl.c
330 ++ LIB_LD_ADD = -lltdl
331 +
332 + DYNMOD_LD_FLAGS = -module \
333 + -no-undefined \
334 +@@ -109,7 +109,8 @@
335 + DYNMOD_LD_ADD = libherc.la \
336 + libhercs.la \
337 + libhercu.la \
338 +- $(LDADD)
339 ++ $(LDADD) \
340 ++ $(LIB_LD_ADD)
341 +
342 + LIB_LD_FLAGS = -export-dynamic \
343 + $(XSTATIC) \
344 +@@ -117,7 +118,6 @@
345 + -avoid-version
346 + else
347 + DYNSRC = $(dyndev_SRC)
348 +- LTDL =
349 + DYNMOD_LD_FLAGS =
350 + DYNMOD_LD_ADD =
351 + LIB_LD_FLAGS = $(XSTATIC) \
352 +@@ -295,8 +295,7 @@
353 + memrchr.c \
354 + parser.c \
355 + pttrace.c \
356 +- $(FTHREADS) \
357 +- $(LTDL)
358 ++ $(FTHREADS)
359 +
360 + libhercu_la_LDFLAGS = $(LIB_LD_FLAGS)
361 +
362 +@@ -372,8 +371,7 @@
363 + memrchr.c \
364 + $(dynamic_SRC) \
365 + $(extra_SRC) \
366 +- $(dyndev_SRC) \
367 +- ltdl.c
368 ++ $(dyndev_SRC)
369 +
370 + libherc_la_LDFLAGS = $(LIB_LD_FLAGS)
371 +
372 +@@ -383,7 +381,8 @@
373 + libhercd.la \
374 + decNumber/libdecNumber.la \
375 + softfloat/libsoftfloat.la \
376 +- $(LDADD)
377 ++ $(LDADD) \
378 ++ $(LIB_LD_ADD)
379 +
380 + #
381 + # THIS is the hercules executable.
382 +@@ -440,7 +439,7 @@
383 + hercules_SOURCES = bootstrap.c \
384 + hdlmain.c
385 +
386 +- hercules_LDADD = libherc.la libhercs.la $(LDADD)
387 ++ hercules_LDADD = libherc.la libhercs.la $(LDADD) $(LIB_LD_ADD)
388 +
389 + hercules_LDFLAGS = $(HLDFLAGS)
390 +
391 +@@ -656,7 +655,6 @@
392 + hdl.h \
393 + crypto.h \
394 + sockdev.h \
395 +- ltdl.h \
396 + herc_getopt.h \
397 + service.h \
398 + chsc.h \
399 +--- a/softfloat/Makefile.am
400 ++++ b/softfloat/Makefile.am
401 +@@ -22,13 +22,11 @@
402 + endif
403 +
404 + if OPTION_DYNAMIC_LOAD
405 +- LTDL = ../ltdl.c
406 + LIB_LD_FLAGS = -export-dynamic \
407 + $(XSTATIC) \
408 + -no-undefined \
409 + -avoid-version
410 + else
411 +- LTDL =
412 + LIB_LD_FLAGS = $(XSTATIC) \
413 + -no-undefined \
414 + -avoid-version
415
416 diff --git a/app-emulation/hercules/hercules-3.13.ebuild b/app-emulation/hercules/hercules-3.13.ebuild
417 new file mode 100644
418 index 00000000000..90fb943156a
419 --- /dev/null
420 +++ b/app-emulation/hercules/hercules-3.13.ebuild
421 @@ -0,0 +1,57 @@
422 +# Copyright 1999-2020 Gentoo Authors
423 +# Distributed under the terms of the GNU General Public License v2
424 +
425 +EAPI=7
426 +
427 +inherit autotools flag-o-matic
428 +
429 +DESCRIPTION="Hercules System/370, ESA/390 and zArchitecture Mainframe Emulator"
430 +HOMEPAGE="http://www.hercules-390.eu/"
431 +SRC_URI="http://downloads.hercules-390.eu/${P}.tar.gz"
432 +
433 +LICENSE="QPL-1.0"
434 +SLOT="0"
435 +KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86 ~x64-macos ~x86-macos"
436 +IUSE="bzip2 custom-cflags +suid"
437 +
438 +RDEPEND="
439 + dev-libs/libltdl
440 + net-libs/libnsl:0=
441 + sys-libs/zlib
442 + bzip2? ( app-arch/bzip2 )"
443 +DEPEND="${RDEPEND}"
444 +
445 +PATCHES=(
446 + "${FILESDIR}"/${PN}-3.13-htmldir.patch
447 + "${FILESDIR}"/${PN}-3.13-unbundle-libltdl.patch
448 +)
449 +
450 +src_prepare() {
451 + default
452 +
453 + # delete bundled libltdl, #252716
454 + rm ltdl.{c,h} || die
455 + eautoreconf
456 +}
457 +
458 +src_configure() {
459 + use custom-cflags || strip-flags
460 + local -x ac_cv_lib_bz2_BZ2_bzBuffToBuffDecompress=$(usex bzip2)
461 + econf \
462 + $(use_enable bzip2 cckd-bzip2) \
463 + $(use_enable bzip2 het-bzip2) \
464 + $(use_enable suid setuid-hercifc) \
465 + --enable-custom="Gentoo ${PF}.ebuild" \
466 + --disable-optimization
467 +}
468 +
469 +src_install() {
470 + default
471 + dodoc RELEASE.NOTES
472 +
473 + insinto /usr/share/hercules
474 + doins hercules.cnf
475 +
476 + # no static archives
477 + find "${D}" -name '*.la' -delete || die
478 +}