diff --git a/hercules-configure-c99.patch b/hercules-configure-c99.patch new file mode 100644 index 0000000..076453e --- /dev/null +++ b/hercules-configure-c99.patch @@ -0,0 +1,47 @@ +Avoid implicit function declarations in the configure script, for C99 +compatibility. Future compilers are likely not to accept implicit +function declarations by default. + +Submitted upstream: + +diff --git a/autoconf/hercules.m4 b/autoconf/hercules.m4 +index 52e211ac0c875df0..db4fa6fd5d87c6a5 100644 +--- a/autoconf/hercules.m4 ++++ b/autoconf/hercules.m4 +@@ -237,6 +237,7 @@ AC_DEFUN([_HC_CHECK_NEED_GETOPT_WRAPPER], + Will the linker complain about duplicate + symbols for getopt? We'll soon find out! + */ ++ int getopt(int, char *const[], const char *); + extern char *optarg; + extern int optind; + +@@ -261,6 +262,7 @@ DUPGETOPT1 + needs getopt. Will linker complain about + duplicate symbols for getopt? Let's see. + */ ++ int getopt(int, char *const[], const char *); + extern char *optarg; + extern int optind; + extern int test2(); +@@ -331,7 +333,7 @@ AC_DEFUN([HC_CHECK_NEED_GETOPT_OPTRESET], + [hc_cv_need_getopt_optreset], + [ + AC_TRY_LINK( +- [], ++ [int getopt(int, char *const[], const char *);], + [ + extern int optreset; + optreset=1; +diff --git a/configure.ac b/configure.ac +index 0558c902fec58379..71b2843a1efdfff0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -871,6 +871,7 @@ if test "$GCC" = "yes"; then + + -g -O2 -fomit-frame-pointer + */ ++ #include + + int foo () + { diff --git a/hercules.spec b/hercules.spec index 68b6251..a0ef2dc 100644 --- a/hercules.spec +++ b/hercules.spec @@ -1,23 +1,28 @@ Summary: Hercules S/370, ESA/390, and z/Architecture emulator Name: hercules Version: 3.13 -Release: 2%{?dist} -License: QPL -Group: Applications/Emulators +Release: 21%{?dist} +# Automatically converted from old format: QPL - review is highly recommended. +License: QPL-1.0 URL: http://www.hercules-390.eu/ Source0: http://downloads.hercules-390.eu/%{name}-%{version}.tar.gz -#Source0: https://github.com/rbowler/spinhawk/archive/%{version}.tar.gz Source1: hercules.cnf Source2: hercules-run Source3: README-rpm Source4: generic.prm Patch0: %{name}-3.10-fedora.patch +Patch1: hercules-configure-c99.patch BuildRequires: zlib-devel BuildRequires: bzip2-devel BuildRequires: libcap-devel BuildRequires: libtool BuildRequires: libtool-ltdl-devel +BuildRequires: make +Conflicts: sdl-hercules +Conflicts: sdl-hercules-data +# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +ExcludeArch: %{ix86} %description Hercules is an emulator for the IBM System/370, ESA/390, and z/Architecture @@ -29,10 +34,10 @@ printer-keyboard, 3270 terminal, and 3287 printer devices. %prep -#%setup -q -n spinhawk-%{version} %setup -q -%patch0 -p1 -b .fedora +%patch -P0 -p1 -b .fedora +%patch -P1 -p1 rm autoconf/libtool.m4 autoreconf -f -i @@ -49,7 +54,7 @@ rm util/Makefile* %build %configure \ --enable-external-gui \ - --enable-optimization="%{optflags}" + --enable-optimization="%{optflags} -std=gnu17" make %{?_smp_mflags} V=1 @@ -86,17 +91,85 @@ rm %{buildroot}%{_libdir}/*.la %dir %{_sysconfdir}/hercules/ %attr(0644, root, root) %config(noreplace) %{_sysconfdir}/hercules/hercules.cnf %attr(0644, root, root) %config(noreplace) %{_sysconfdir}/hercules/generic.prm -%{_bindir}/* -%{_sbindir}/* +%{_bindir}/cckd* +%{_bindir}/cfba* +%{_bindir}/ckd* +%{_bindir}/dasd* +%{_bindir}/dmap* +%{_bindir}/fba* +%{_bindir}/herc* +%{_bindir}/het* +%{_bindir}/tape* %{_datadir}/hercules/ %dir %{_libdir}/hercules/ %{_libdir}/hercules/*.so -%{_libdir}/*.so +%{_libdir}/libherc*.so +%{_libdir}/libdecNumber.so +%{_libdir}/libsoftfloat.so %{_mandir}/man?/* %dir %{_sharedstatedir}/hercules/ %changelog +* Thu Jul 24 2025 Fedora Release Engineering - 3.13-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Mon Jan 20 2025 Fedora Release Engineering - 3.13-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Jan 01 2025 Davide Cavalca - 3.13-19 +- Conflict with the sdl-hercules packages +- Drop old comments that trigger a FTBFS due to macro expansion + Fixes: RHBZ#2300839 + +* Wed Aug 07 2024 Miroslav Suchý - 3.13-18 +- convert license to SPDX + +* Thu Jul 18 2024 Fedora Release Engineering - 3.13-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Jan 24 2024 Fedora Release Engineering - 3.13-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jan 20 2024 Fedora Release Engineering - 3.13-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jul 20 2023 Fedora Release Engineering - 3.13-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Mar 17 2023 Florian Weimer - 3.13-13 +- Port configure script to C99 + +* Thu Jan 19 2023 Fedora Release Engineering - 3.13-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jul 21 2022 Fedora Release Engineering - 3.13-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jan 20 2022 Fedora Release Engineering - 3.13-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 3.13-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 3.13-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 3.13-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jan 29 2020 Fedora Release Engineering - 3.13-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 3.13-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 3.13-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 3.13-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Wed Feb 07 2018 Fedora Release Engineering - 3.13-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild