From a232dfa1014133591025119bca4abe9342a1fc8b Mon Sep 17 00:00:00 2001 From: Jerry James Date: Tue, 16 Jan 2024 14:16:20 -0700 Subject: [PATCH 01/31] Update License tags --- pl.spec | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/pl.spec b/pl.spec index fce9bca..eab7ff7 100644 --- a/pl.spec +++ b/pl.spec @@ -22,7 +22,7 @@ Summary: SWI-Prolog - Edinburgh compatible Prolog compiler # SWI-Prolog extra clause or Artistic-2.0) #library/unicode/blocks.pl BSD-2-Clause AND Unicode-DFS-2016 #man/main.doc CC-BY-SA-3.0 -#man/swipl.cls LPPL-1.2 +#man/swipl.cls LPPL-1.3a #packages/bdb/bdb4pl.doc Sleepycat (due to linking with libdb) #packages/clib/bsd-crypt.c BSD-3-Clause #packages/clib/clib.doc (BSD-3-Clause OR GPL-1.0-or-later) AND @@ -30,18 +30,18 @@ Summary: SWI-Prolog - Edinburgh compatible Prolog compiler #packages/clib/md5.c Zlib #packages/clib/md5.h Zlib #packages/clib/md5passwd.c Beerware -#packages/clib/sha1/brg_endian.h BSD-like (?) OR GPL-1.0-or-later -#packages/clib/sha1/brg_types.h BSD-like (?) OR GPL-1.0-or-later -#packages/clib/sha1/hmac.c BSD-like (?) OR GPL-1.0-or-later -#packages/clib/sha1/hmac.h BSD-like (?) OR GPL-1.0-or-later -#packages/clib/sha1/pwd2key.c BSD-like (?) OR GPL-1.0-or-later -#packages/clib/sha1/pwd2key.h BSD-like (?) OR GPL-1.0-or-later -#packages/clib/sha1/sha1.c BSD-like (?) OR GPL-1.0-or-later -#packages/clib/sha1/sha1.h BSD-like (?) OR GPL-1.0-or-later -#packages/clib/sha1/sha1b.c BSD-like (?) OR GPL-1.0-or-later -#packages/clib/sha1/sha2.c BSD-like (?) OR GPL-1.0-or-later -#packages/clib/sha1/sha2.h BSD-like (?) OR GPL-1.0-or-later -#packages/clib/sha1/sha2b.c BSD-like (?) OR GPL-1.0-or-later +#packages/clib/sha1/brg_endian.h Brian-Gladman-3-Clause OR GPL-1.0+ +#packages/clib/sha1/brg_types.h Brian-Gladman-3-Clause OR GPL-1.0+ +#packages/clib/sha1/hmac.c Brian-Gladman-3-Clause OR GPL-1.0+ +#packages/clib/sha1/hmac.h Brian-Gladman-3-Clause OR GPL-1.0+ +#packages/clib/sha1/pwd2key.c Brian-Gladman-3-Clause OR GPL-1.0+ +#packages/clib/sha1/pwd2key.h Brian-Gladman-3-Clause OR GPL-1.0+ +#packages/clib/sha1/sha1.c Brian-Gladman-3-Clause OR GPL-1.0+ +#packages/clib/sha1/sha1.h Brian-Gladman-3-Clause OR GPL-1.0+ +#packages/clib/sha1/sha1b.c Brian-Gladman-3-Clause OR GPL-1.0+ +#packages/clib/sha1/sha2.c Brian-Gladman-3-Clause OR GPL-1.0+ +#packages/clib/sha1/sha2.h Brian-Gladman-3-Clause OR GPL-1.0+ +#packages/clib/sha1/sha2b.c Brian-Gladman-3-Clause OR GPL-1.0+ #packages/clpqr/clpq.pl GPL-2.0-or-later with SWI exception #packages/clpqr/clpq/bb_q.pl GPL-2.0-or-later with SWI exception #packages/clpqr/clpq/bv_q.pl GPL-2.0-or-later with SWI exception @@ -88,12 +88,12 @@ Summary: SWI-Prolog - Edinburgh compatible Prolog compiler #packages/xpce/src/gnu/getdate.c LicenseRef-Fedora-Public-Domain AND # GPL-2.0-or-later WITH Bison-exception-2.2 #packages/xpce/src/gnu/y.tab LicenseRef-Fedora-Public-Domain -#packages/xpce/src/img/gifwrite.c Part is free for any purpose (?) +#packages/xpce/src/img/gifwrite.c Part is FBM #packages/xpce/src/rgx/ Spencer-99 AND TCL #packages/xpce/src/x11/xdnd.h GPL-2.0-or-later #scripts/swipl-bt LicenseRef-Fedora-Public-Domain #src/minizip/ Zlib -#src/os/dtoa.c MIT-like (?) +#src/os/dtoa.c dtoa #src/pl-hash.c LicenseRef-Fedora-Public-Domain #src/pl-hash.h LicenseRef-Fedora-Public-Domain #src/swipl-ld.1 LGPL-2.0-or-later @@ -141,7 +141,7 @@ Summary: SWI-Prolog - Edinburgh compatible Prolog compiler # : #bench/unify.pl Free for non-commercial #bench/simple_analyzer.pl Free for non-commercial -License: BSD-2-Clause AND BSD-3-Clause AND (BSD-3-Clause OR GPL-1.0-or-later) AND Beerware AND CC-BY-SA-3.0 AND (GPL-1.0-or-later OR Artistic-1.0-Perl) AND GPL-2.0-or-later AND GPL-2.0-or-later WITH SWI-Exception AND (GPL-2.0-or-later WITH SWI-Exception OR Artistic-2.0) AND LGPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain AND LPPL-1.2 AND MIT AND Sleepycat AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND Zlib +License: BSD-2-Clause AND BSD-3-Clause AND (Brian-Gladman-3-Clause OR GPL-1.0-or-later) AND Beerware AND CC-BY-SA-3.0 AND (GPL-1.0-or-later OR Artistic-1.0-Perl) AND GPL-2.0-or-later AND GPL-2.0-or-later WITH SWI-Exception AND (GPL-2.0-or-later WITH SWI-Exception OR Artistic-2.0) AND LGPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain AND LPPL-1.3a AND MIT AND Sleepycat AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND Zlib AND dtoa URL: https://www.swi-prolog.org/ # Source0: %%{url}download/stable/src/swipl-%%{version}.tar.gz # To create the repackaged archive, use ./repackage.sh %%{version} @@ -265,13 +265,13 @@ Development files for SWI Prolog. %package compat-yap-devel -Summary: Development files building YAP application against SWI Prolog +Summary: Development files for building YAP applications against SWI Prolog License: BSD-2-Clause Requires: %{name}-devel%{?_isa} = %{version}-%{release} %description compat-yap-devel -This package allows to build Yet Annother Prolog applications against SWI -Prolog implementation. +This package enables building YAP (Yet Another Prolog) applications +against the SWI Prolog implementation. %package doc @@ -308,7 +308,7 @@ given the RDMS independency constraint. %if %{separate_xpce} %package xpce -License: BSD-2-Clause AND AND GPL-2.0-or-later AND GPL-2.0-or-later WITH Bison-exception-2.2 AND LicenseRef-Fedora-Public-Domain AND Spencer-99 AND TCL +License: BSD-2-Clause AND AND GPL-2.0-or-later AND GPL-2.0-or-later WITH Bison-exception-2.2 AND LicenseRef-Fedora-Public-Domain AND Spencer-99 AND TCL AND FBM Summary: A toolkit for developing graphical applications in Prolog Requires: %{name}%{?_isa} = %{version}-%{release} @@ -602,6 +602,9 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl %changelog +* Tue Jan 16 2024 Jerry James - 9.0.4-3 +- Update License tags + * Fri Jul 21 2023 Fedora Release Engineering - 9.0.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From 934c3dda7e5a9c12ddab0ddf5ba48a604019fa6d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 21 Jan 2024 21:48:47 +0000 Subject: [PATCH 02/31] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- pl.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pl.spec b/pl.spec index eab7ff7..5603905 100644 --- a/pl.spec +++ b/pl.spec @@ -13,7 +13,7 @@ Name: pl Version: 9.0.4 -Release: 3%{?dist} +Release: 4%{?dist} Summary: SWI-Prolog - Edinburgh compatible Prolog compiler #LICENSE: BSD-2-Clause #library/dialect/iso/iso_predicates.pl BSD-2-Clause AND (GPL-2.0-or-later WITH @@ -602,6 +602,9 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl %changelog +* Sun Jan 21 2024 Fedora Release Engineering - 9.0.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Tue Jan 16 2024 Jerry James - 9.0.4-3 - Update License tags From 4e2047c0c43dfa1eade8e40d0459a9878c22727f Mon Sep 17 00:00:00 2001 From: Jerry James Date: Mon, 22 Jan 2024 15:42:20 -0700 Subject: [PATCH 03/31] Add patch for zlib-ng --- pl.spec | 5 +++++ swipl-9.0.4-zlib.patch | 11 +++++++++++ 2 files changed, 16 insertions(+) create mode 100644 swipl-9.0.4-zlib.patch diff --git a/pl.spec b/pl.spec index 5603905..4deebbc 100644 --- a/pl.spec +++ b/pl.spec @@ -155,6 +155,8 @@ Patch0: swipl-8.2.1-Fix-JNI.patch Patch1: swipl-8.2.0-Remove-files-locations-from-swipl-1-manual.patch # Unbundle libstemmer Patch2: swipl-8.2.0-unbundle-libstemmer.patch +# Fix the bundled minizip for zlib-ng +Patch3: swipl-9.0.4-zlib.patch BuildRequires: cmake BuildRequires: findutils @@ -602,6 +604,9 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl %changelog +* Mon Jan 22 2024 Jerry James - 9.0.4-4 +- Add patch for zlib-ng + * Sun Jan 21 2024 Fedora Release Engineering - 9.0.4-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild diff --git a/swipl-9.0.4-zlib.patch b/swipl-9.0.4-zlib.patch new file mode 100644 index 0000000..ab12486 --- /dev/null +++ b/swipl-9.0.4-zlib.patch @@ -0,0 +1,11 @@ +--- swipl-9.0.4/src/minizip/zip.c.orig 2023-01-27 02:16:21.000000000 -0700 ++++ swipl-9.0.4/src/minizip/zip.c 2024-01-22 15:34:30.720495136 -0700 +@@ -46,7 +46,7 @@ + #ifdef Z_U4 + typedef Z_U4 z_crc_t; + #else +-typedef unsigned long z_crc_t; ++typedef unsigned int z_crc_t; + #endif + #endif + #endif From fad5c8c4b17421726cc6ae6634aeb4d02972afee Mon Sep 17 00:00:00 2001 From: Jerry James Date: Thu, 1 Feb 2024 14:34:28 -0700 Subject: [PATCH 04/31] Version 9.2.0 Add patch to fix an LTO type mismatch --- pl.spec | 40 +++++++++++++++++++--------------- repackage.sh | 4 ++-- sources | 2 +- swipl-9.2.0-lto-mismatch.patch | 11 ++++++++++ 4 files changed, 37 insertions(+), 20 deletions(-) create mode 100644 swipl-9.2.0-lto-mismatch.patch diff --git a/pl.spec b/pl.spec index 4deebbc..aaf9417 100644 --- a/pl.spec +++ b/pl.spec @@ -12,8 +12,8 @@ %global swipl_arch %{_target_cpu}-linux Name: pl -Version: 9.0.4 -Release: 4%{?dist} +Version: 9.2.0 +Release: 1%{?dist} Summary: SWI-Prolog - Edinburgh compatible Prolog compiler #LICENSE: BSD-2-Clause #library/dialect/iso/iso_predicates.pl BSD-2-Clause AND (GPL-2.0-or-later WITH @@ -157,6 +157,8 @@ Patch1: swipl-8.2.0-Remove-files-locations-from-swipl-1-manual.patch Patch2: swipl-8.2.0-unbundle-libstemmer.patch # Fix the bundled minizip for zlib-ng Patch3: swipl-9.0.4-zlib.patch +# Fix an LTO type mismatch +Patch4: swipl-9.2.0-lto-mismatch.patch BuildRequires: cmake BuildRequires: findutils @@ -350,10 +352,9 @@ in Prolog. In both setups it provides a re-entrant bidirectional interface. # Fix the installation path on 64-bit systems if [ "%{_lib}" = "lib64" ]; then - sed -e 's,\${CMAKE_INSTALL_PREFIX}/lib,&64,' \ - -e 's,lib\(/\${SWIPL_INSTALL_DIR}\),lib64\1,' \ + sed -e 's,lib\(/\${SWIPL_INSTALL_DIR}\),lib64\1,' \ -e '/SWIPL_INSTALL_CMAKE_CONFIG_DIR/s/lib/&64/' \ - -i CMakeLists.txt + -i cmake/LocationsPostPorts.cmake fi # Unpack the XPCE user guide @@ -403,14 +404,12 @@ export DISABLE_PKGS="jpl" # Configure %cmake \ -%if 0%{?fedora} - -DBUILD_PDF_DOCUMENTATION:BOOL=ON \ -%else - -DBUILD_PDF_DOCUMENTATION:BOOL=OFF \ -%endif + -DBUILD_PDF_DOCUMENTATION:BOOL=%{?fedora:ON}%{!?fedora:OFF} \ + -DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} \ -DCPACK_GENERATOR:STRING=RPM \ -DGET0SIG_CONST_T:STRING=const \ - -DJQUERYDIR:STRING=%{_datadir}/javascript/jquery/latest \ + -DJQUERYDIR:PATH=%{_datadir}/javascript/jquery/latest \ + -DSWIPL_INSTALL_IN_LIB:BOOL=ON \ -DSWIPL_VERSIONED_DIR:BOOL=ON \ -G Ninja @@ -482,6 +481,7 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl %{_mandir}/man1/swipl* %{_bindir}/swipl %{_bindir}/swipl-ld +%{_libdir}/libswipl.so.9* %dir %{_libdir}/swipl-%{version}/ %dir %{_libdir}/swipl-%{version}/bin/ %{_libdir}/swipl-%{version}/bin/latex2html @@ -489,6 +489,7 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl %dir %{_libdir}/swipl-%{version}/bin/%{swipl_arch}/ %{_libdir}/swipl-%{version}/bin/%{swipl_arch}/swipl %{_libdir}/swipl-%{version}/bin/%{swipl_arch}/swipl-ld +%{_libdir}/swipl-%{version}/app/ %{_libdir}/swipl-%{version}/boot* %{_libdir}/swipl-%{version}/customize/ %{_libdir}/swipl-%{version}/demo/ @@ -505,9 +506,9 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl %{_libdir}/swipl-%{version}/lib/%{swipl_arch}/http_stream.so %{_libdir}/swipl-%{version}/lib/%{swipl_arch}/inclpr.so %{_libdir}/swipl-%{version}/lib/%{swipl_arch}/isub.so +%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/janus.so %{_libdir}/swipl-%{version}/lib/%{swipl_arch}/json.so %{_libdir}/swipl-%{version}/lib/%{swipl_arch}/libedit4pl.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/libswipl.so.* %{_libdir}/swipl-%{version}/lib/%{swipl_arch}/mallocinfo.so %{_libdir}/swipl-%{version}/lib/%{swipl_arch}/md54pl.so %{_libdir}/swipl-%{version}/lib/%{swipl_arch}/memfile.so @@ -530,6 +531,7 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl %{_libdir}/swipl-%{version}/lib/%{swipl_arch}/socket.so %{_libdir}/swipl-%{version}/lib/%{swipl_arch}/ssl4pl.so %{_libdir}/swipl-%{version}/lib/%{swipl_arch}/streaminfo.so +%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/sweep-module.so %{_libdir}/swipl-%{version}/lib/%{swipl_arch}/syslog.so %{_libdir}/swipl-%{version}/lib/%{swipl_arch}/table.so %{_libdir}/swipl-%{version}/lib/%{swipl_arch}/tex.so @@ -551,10 +553,10 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl # Exclude the files that are in the sub-packages %ifarch %{java_arches} # JPL -%exclude %{_libdir}/swipl-%{version}/library/jpl.pl +%exclude %{_libdir}/swipl-%{version}/library/ext/jpl %endif # ODBC -%exclude %{_libdir}/swipl-%{version}/library/odbc.pl +%exclude %{_libdir}/swipl-%{version}/library/ext/odbc %if %{separate_xpce} %files xpce @@ -569,11 +571,11 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl %endif %files devel +%{_libdir}/libswipl.so %{_libdir}/swipl-%{version}/cmake/ %dir %{_libdir}/swipl-%{version}/include/ %{_libdir}/swipl-%{version}/include/sicstus/ %{_libdir}/swipl-%{version}/include/SWI* -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/libswipl.so %{_libdir}/cmake/swipl/ %{_datadir}/pkgconfig/swipl.pc @@ -589,7 +591,7 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl %files odbc %{_libdir}/swipl-%{version}/lib/%{swipl_arch}/odbc4pl.so -%{_libdir}/swipl-%{version}/library/odbc.pl +%{_libdir}/swipl-%{version}/library/ext/odbc %doc packages/odbc/{demo,ChangeLog,README} %ifarch %{java_arches} @@ -598,12 +600,16 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl %{_jnidir}/jpl.jar %{_libdir}/swipl-%{version}/lib/jpl*jar %{_libdir}/swipl-%{version}/lib/%{swipl_arch}/libjpl.so -%{_libdir}/swipl-%{version}/library/jpl.pl +%{_libdir}/swipl-%{version}/library/ext/jpl/ %{_libdir}/swipl-jpl/ %endif %changelog +* Thu Feb 1 2024 Jerry James - 9.2.0-1 +- Version 9.2.0 +- Add patch to fix an LTO type mismatch + * Mon Jan 22 2024 Jerry James - 9.0.4-4 - Add patch for zlib-ng diff --git a/repackage.sh b/repackage.sh index b3e9cd8..6da09e5 100755 --- a/repackage.sh +++ b/repackage.sh @@ -25,8 +25,8 @@ version=$1 # files to be removed without the main pl-/ prefix declare -a REMOVE # Bad license: -REMOVE[${#REMOVE[*]}]="bench/unify.pl" -REMOVE[${#REMOVE[*]}]="bench/simple_analyzer.pl" +REMOVE[${#REMOVE[*]}]="bench/programs/unify.pl" +REMOVE[${#REMOVE[*]}]="bench/programs/simple_analyzer.pl" # no changes below this line should be needed diff --git a/sources b/sources index 085140c..0c7acaa 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (userguide.html.tgz) = baa16d8f06a666e77ef45aaf7708e877710bfcb8fc0fb519bc70c54619c45def2d2ab4feaa0f1a1875b2a2270e8907551b63582da1b4beaa5b50f013a41d7ab9 -SHA512 (swipl-9.0.4_repackaged.tar.gz) = fa439faa8c2a43a8beb5d7c2eef99e61f89f0f0579bdee3ed33b5d3cde707235d41d2cb32d1db7342ebc504df649eb2feb2ab424fbb9c1bbb5fc05e86ff2d3d0 +SHA512 (swipl-9.2.0_repackaged.tar.gz) = e268ee2f6465aaac65263aaaf9d1ef7cf4b77fd8ebbe7975ca8a4bbc0aacdab7e0fcf9177f1de68a8bee4e951fb7d205a79229bd1e9dfe0b04f885c6d4f46ad0 diff --git a/swipl-9.2.0-lto-mismatch.patch b/swipl-9.2.0-lto-mismatch.patch new file mode 100644 index 0000000..44bfe95 --- /dev/null +++ b/swipl-9.2.0-lto-mismatch.patch @@ -0,0 +1,11 @@ +--- swipl-9.2.0/packages/semweb/murmur.h.orig 2023-11-30 14:04:16.000000000 -0700 ++++ swipl-9.2.0/packages/semweb/murmur.h 2024-02-01 10:15:16.810339516 -0700 +@@ -16,7 +16,7 @@ + #define OBJ_MURMUR_SEED (0x14e86b12) + #define GRAPH_MURMUR_SEED (0x78a64d55) + +-COMMON(unsigned int) rdf_murmer_hash(const void *key, size_t len, unsigned int seed); ++COMMON(unsigned int) rdf_murmer_hash(const void *key, int len, unsigned int seed); + + static inline unsigned int + atom_hash(atom_t a, unsigned int seed) From 545727fc483b1f35bb712c11dabcc7422d5a0995 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Wed, 14 Feb 2024 16:32:58 -0700 Subject: [PATCH 05/31] Version 9.2.1 --- pl.spec | 8 +++++++- sources | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pl.spec b/pl.spec index aaf9417..5213fc3 100644 --- a/pl.spec +++ b/pl.spec @@ -12,7 +12,7 @@ %global swipl_arch %{_target_cpu}-linux Name: pl -Version: 9.2.0 +Version: 9.2.1 Release: 1%{?dist} Summary: SWI-Prolog - Edinburgh compatible Prolog compiler #LICENSE: BSD-2-Clause @@ -160,6 +160,9 @@ Patch3: swipl-9.0.4-zlib.patch # Fix an LTO type mismatch Patch4: swipl-9.2.0-lto-mismatch.patch +# See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +ExcludeArch: %{ix86} + BuildRequires: cmake BuildRequires: findutils BuildRequires: gcc-c++ @@ -606,6 +609,9 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl %changelog +* Wed Feb 14 2024 Jerry James - 9.2.1-1 +- Version 9.2.1 + * Thu Feb 1 2024 Jerry James - 9.2.0-1 - Version 9.2.0 - Add patch to fix an LTO type mismatch diff --git a/sources b/sources index 0c7acaa..7b7f93e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (userguide.html.tgz) = baa16d8f06a666e77ef45aaf7708e877710bfcb8fc0fb519bc70c54619c45def2d2ab4feaa0f1a1875b2a2270e8907551b63582da1b4beaa5b50f013a41d7ab9 -SHA512 (swipl-9.2.0_repackaged.tar.gz) = e268ee2f6465aaac65263aaaf9d1ef7cf4b77fd8ebbe7975ca8a4bbc0aacdab7e0fcf9177f1de68a8bee4e951fb7d205a79229bd1e9dfe0b04f885c6d4f46ad0 +SHA512 (swipl-9.2.1_repackaged.tar.gz) = 9bc2ae5590161225b3ec4e2c0349f91940150114aacb7ae49db6d00efbafc796d40b17f8a4d8d4575b69b9296aa1acea1c9dc9b5174b17eacc74cbf5dbe8f9e4 From 29f1da9860b144998d27d804ad619819d956efcc Mon Sep 17 00:00:00 2001 From: Jerry James Date: Sun, 3 Mar 2024 09:45:43 -0700 Subject: [PATCH 06/31] Version 9.2.2 --- pl.spec | 10 ++++++++-- sources | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/pl.spec b/pl.spec index 5213fc3..9f7a0b4 100644 --- a/pl.spec +++ b/pl.spec @@ -12,7 +12,7 @@ %global swipl_arch %{_target_cpu}-linux Name: pl -Version: 9.2.1 +Version: 9.2.2 Release: 1%{?dist} Summary: SWI-Prolog - Edinburgh compatible Prolog compiler #LICENSE: BSD-2-Clause @@ -143,7 +143,8 @@ Summary: SWI-Prolog - Edinburgh compatible Prolog compiler #bench/simple_analyzer.pl Free for non-commercial License: BSD-2-Clause AND BSD-3-Clause AND (Brian-Gladman-3-Clause OR GPL-1.0-or-later) AND Beerware AND CC-BY-SA-3.0 AND (GPL-1.0-or-later OR Artistic-1.0-Perl) AND GPL-2.0-or-later AND GPL-2.0-or-later WITH SWI-Exception AND (GPL-2.0-or-later WITH SWI-Exception OR Artistic-2.0) AND LGPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain AND LPPL-1.3a AND MIT AND Sleepycat AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND Zlib AND dtoa URL: https://www.swi-prolog.org/ -# Source0: %%{url}download/stable/src/swipl-%%{version}.tar.gz +VCS: https://github.com/SWI-Prolog/swipl +# Source0: %%{url}/download/stable/src/swipl-%%{version}.tar.gz # To create the repackaged archive, use ./repackage.sh %%{version} Source0: swipl-%{version}_repackaged.tar.gz Source1: %{url}download/xpce/doc/userguide/userguide.html.tgz @@ -216,6 +217,8 @@ BuildRequires: junit %endif # nlp BuildRequires: libstemmer-devel +# sweep +BuildRequires: emacs-devel # uuid BuildRequires: pkgconfig(ossp-uuid) # win @@ -609,6 +612,9 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl %changelog +* Sun Mar 3 2024 Jerry James - 9.2.2-1 +- Version 9.2.2 + * Wed Feb 14 2024 Jerry James - 9.2.1-1 - Version 9.2.1 diff --git a/sources b/sources index 7b7f93e..6e7734d 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (userguide.html.tgz) = baa16d8f06a666e77ef45aaf7708e877710bfcb8fc0fb519bc70c54619c45def2d2ab4feaa0f1a1875b2a2270e8907551b63582da1b4beaa5b50f013a41d7ab9 -SHA512 (swipl-9.2.1_repackaged.tar.gz) = 9bc2ae5590161225b3ec4e2c0349f91940150114aacb7ae49db6d00efbafc796d40b17f8a4d8d4575b69b9296aa1acea1c9dc9b5174b17eacc74cbf5dbe8f9e4 +SHA512 (swipl-9.2.2_repackaged.tar.gz) = ae5ed472ba6f04a96dc9dcfbdeb444a116fc35c35f151050b8a4357c10ac9164ecca134edaebb345c8ad0a4148a30c5dc66dd7f96cefa4f09ed1ac116aa077b5 From 6cece3691c231d5f031ab183b4a4ba6117ecd91e Mon Sep 17 00:00:00 2001 From: Jerry James Date: Fri, 5 Apr 2024 09:43:06 -0600 Subject: [PATCH 07/31] Convert to %autorelease and %autochangelog [skip changelog] --- changelog | 602 +++++++++++++++++++++++++++++++++++++++++++++++++++++ pl.spec | 605 +----------------------------------------------------- 2 files changed, 604 insertions(+), 603 deletions(-) create mode 100644 changelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..bf6ce08 --- /dev/null +++ b/changelog @@ -0,0 +1,602 @@ +* Sun Mar 3 2024 Jerry James - 9.2.2-1 +- Version 9.2.2 + +* Wed Feb 14 2024 Jerry James - 9.2.1-1 +- Version 9.2.1 + +* Thu Feb 1 2024 Jerry James - 9.2.0-1 +- Version 9.2.0 +- Add patch to fix an LTO type mismatch + +* Mon Jan 22 2024 Jerry James - 9.0.4-4 +- Add patch for zlib-ng + +* Sun Jan 21 2024 Fedora Release Engineering - 9.0.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Jan 16 2024 Jerry James - 9.0.4-3 +- Update License tags + +* Fri Jul 21 2023 Fedora Release Engineering - 9.0.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Jul 14 2023 Jerry James - 9.0.4-2 +- Update deprecated %%patchN usage +- Update License tag with names recently added to Fedora +- Drop 32-bit ARM support + +* Mon Feb 27 2023 Jerry James - 9.0.4-2 +- Dynamically generate python BuildRequires + +* Tue Jan 31 2023 Tom Callaway - 9.0.4-2 +- enable docs on aarch64 + +* Fri Jan 27 2023 Jerry James - 9.0.4-1 +- Version 9.0.4 +- Drop upstreamed C99 patch +- Use a Unicode locale while testing to avoid a failed test +- Disable tests on ppc64le until we can diagnose 1 failed test +- Disable docs on aarch until bz 2165146 is fixed + +* Fri Jan 20 2023 Fedora Release Engineering - 9.0.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Jan 10 2023 Florian Weimer - 9.0.3-2 +- Fix C99 compatibility issues in CMake checks + +* Sun Dec 18 2022 Jerry James - 9.0.3-1 +- Version 9.0.3 + +* Thu Dec 15 2022 Jerry James - 9.0.2-1 +- Version 9.0.2 +- Convert License tag to SPDX (with some licenses pending review) +- Add %%check script for 64-bit architectures + +* Wed Aug 24 2022 Davide Cavalca - 8.4.3-4 +- Make it buildable for EPEL + +* Fri Jul 22 2022 Fedora Release Engineering - 8.4.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Tue Jul 5 2022 Jerry James - 8.4.3-2 +- Do not build pl-jpl for i686 (rhbz#2104088) + +* Tue Jun 21 2022 Jerry James - 8.4.3-1 +- Version 8.4.3 + +* Fri Mar 4 2022 Jerry James - 8.4.2-2 +- Remove . from %%cmake to fix FTBFS + +* Mon Feb 14 2022 Jerry James - 8.4.2-1 +- Version 8.4.2 + +* Sat Feb 05 2022 Jiri Vanek - 8.4.1-3 +- Rebuilt for java-17-openjdk as system jdk + +* Fri Jan 21 2022 Fedora Release Engineering - 8.4.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Nov 16 2021 Jerry James - 8.4.1-1 +- Version 8.4.1 +- Drop upstreamed -pclose patch + +* Sat Oct 2 2021 Jerry James - 8.4.0-1 +- Version 8.4.0 +- Drop upstreamed -qt-deprecated and -openssl3 patches +- Add -pclose patch to avoid zombie processes + +* Thu Sep 16 2021 Jerry James - 8.2.4-3 +- Add -openssl3 patch to fix FTBFS with OpenSSL 3.0.0 + +* Tue Sep 14 2021 Sahana Prasad - 8.2.4-3 +- Rebuilt with OpenSSL 3.0.0 + +* Tue Jul 27 2021 Fedora Release Engineering - 8.2.4-2 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jan 27 2021 Jerry James - 8.2.4-1 +- Version 8.2.4 +- Drop upstreamed swipl-8.2.2-underscore.patch + +* Wed Jan 27 2021 Fedora Release Engineering - 8.2.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Nov 26 2020 Jerry James - 8.2.3-1 +- Version 8.2.3 +- Add swipl-8.2.3-qt-deprecated.patch to silence Qt deprecation warnings + +* Tue Oct 27 2020 Jerry James - 8.2.2-1 +- Version 8.2.2 +- Remove upstreamed -bad-bibtex-entry patch +- Add -underscore patch to work around LaTeX errors + +* Tue Jul 28 2020 Fedora Release Engineering - 8.2.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jul 23 2020 Jerry James - 8.2.1-3 +- Update for cmake changes in Rawhide + +* Sat Jul 11 2020 Jiri Vanek - 8.2.1-2 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Mon Jun 29 2020 Jerry James - 8.2.1-1 +- 8.2.1 bump +- Add -bad-bibtex-entry patch + +* Tue Jun 16 2020 Jerry James - 8.2.0-2 +- Fix broken symlinks in the jpl subpackage (bz 1847510) + +* Thu May 28 2020 Jerry James - 8.2.0-1 +- 8.2.0 bump + +* Thu Jan 30 2020 Fedora Release Engineering - 8.0.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Jul 26 2019 Fedora Release Engineering - 8.0.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Jun 19 2019 Jerry James - 8.0.3-1 +- 8.0.3 bump (bz 1722172) + +* Fri Mar 22 2019 Jerry James - 8.0.2-1 +- 8.0.2 bump (bz 1669571) +- Drop the -static subpackage +- Drop the -jpl-configure, -pc, and -Use-system-js-query patches +- Add -unbundle-libstemmer patch +- Add a check script +- Build the PDF instead of using the one provided by upstream + +* Sun Feb 17 2019 Igor Gnatenko - 7.6.4-9 +- Rebuild for readline 8.0 + +* Sat Feb 02 2019 Fedora Release Engineering - 7.6.4-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Jan 14 2019 Björn Esser - 7.6.4-7 +- Rebuilt for libcrypt.so.2 (#1666033) + +* Sun Nov 18 2018 Zbigniew Jędrzejewski-Szmek - 7.6.4-6 +- Use C.UTF-8 locale + See https://fedoraproject.org/wiki/Changes/Remove_glibc-langpacks-all_from_buildroot + +* Tue Aug 28 2018 Petr Pisar - 7.6.4-5 +- Use latest jquery from js-jquery package + +* Fri Jul 13 2018 Fedora Release Engineering - 7.6.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Fedora Release Engineering - 7.6.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Jan 20 2018 Björn Esser - 7.6.4-2 +- Rebuilt for switch to libxcrypt + +* Mon Jan 15 2018 Petr Pisar - 7.6.4-1 +- 7.6.4 bump + +* Wed Nov 08 2017 Petr Pisar - 7.6.1-1 +- 7.6.1 bump +- License changed from ((BSD and (GPLv2+ with exceptions or Artistic 2.0)) and + (GPL+ or Artistic) and (BSD or GPL) and LGPLv2+ and TCL and UCD and MIT and + BSD and Public Domain) to ((BSD and (GPLv2+ with exceptions or Artistic 2.0)) + and (GPL+ or Artistic) and (BSD or GPL) and TCL and UCD and MIT and BSD and + Public Domain) + +* Fri Oct 20 2017 Jitka Plesnikova - 7.6.0-1 +- 7.6.0 bump + +* Thu Aug 03 2017 Fedora Release Engineering - 7.4.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 7.4.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Thu Apr 20 2017 Petr Pisar - 7.4.2-1 +- 7.4.2 bump + +* Mon Mar 06 2017 Petr Pisar - 7.4.1-1 +- 7.4.1 bump +- License changed from ((GPLv2+ with exceptions or Artistic 2.0) and (GPLv2+ + with exceptions) and (GPLv2 with exception) and (GPL+ or Artistic) and + LGPLv2+ and LGPLv2 and UCD and (UCD and MIT) and BSD and Public Domain and + EPL and GPLv2 and GPLv2+ and GPLv3+) to ((BSD and (GPLv2+ with exceptions or + Artistic 2.0)) and (GPL+ or Artistic) and (BSD or GPL) and LGPLv2+ and TCL + and UCD and MIT and BSD and Public Domain) + +* Sat Feb 11 2017 Fedora Release Engineering - 7.2.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Jan 12 2017 Igor Gnatenko - 7.2.3-4 +- Rebuild for readline 7.x +- Adapt Java library path to java-1.8.0-openjdk-aarch32 (bug #1412771) + +* Wed Apr 13 2016 Petr Pisar - 7.2.3-3 +- Correct swipl-ld tool to handle 268-byte long compiler flags (bug #1326581) + +* Thu Feb 04 2016 Fedora Release Engineering - 7.2.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Aug 27 2015 Petr Pisar - 7.2.3-1 +- 7.2.3 bump + +* Thu Jun 25 2015 Petr Pisar - 7.2.2-1 +- 7.2.2 bump +- License changed from ((GPLv2+ with exceptions or Artistic 2.0) and (GPLv2+ + with exceptions) and (GPLv2 with exception) and (GPL+ or Artistic) and + LGPLv2+ and LGPLv2 and UCD and (UCD and MIT) and BSD and Public Domain and + EPL and GPLv2 and GPLv3+) to ((GPLv2+ with exceptions or Artistic 2.0) and + (GPLv2+ with exceptions) and (GPLv2 with exception) and (GPL+ or Artistic) + and LGPLv2+ and LGPLv2 and UCD and (UCD and MIT) and BSD and Public Domain + and EPL and GPLv2 and GPLv2+ and GPLv3+) + +* Mon Jun 22 2015 Petr Pisar - 7.2.1-3 +- Depend on javapackages-tools instead of jpackage-utils to conform to new Java + guidelines + +* Thu Jun 18 2015 Fedora Release Engineering - 7.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Jun 15 2015 Petr Pisar - 7.2.1-1 +- 7.2.1 bump +- Depend on gcc because glibc-headers package will be removed (bug #1230490) +- Unbundle jquery-1 + +* Fri Jun 05 2015 Petr Pisar - 7.2.0-1 +- 7.2.0 bump +- License changed from ((GPLv2+ with exceptions or Artistic 2.0) and (GPLv2+ + with exceptions) and LGPLv2+ and LGPLv2 and UCD and BSD and Public Domain + and EPL and GPLv2 and GPLv3+) to ((GPLv2+ with exceptions or Artistic 2.0) + and (GPLv2+ with exceptions) and (GPLv2 with exception) and (GPL+ or + Artistic) and LGPLv2+ and LGPLv2 and UCD and (UCD and MIT) and BSD and Public + Domain and EPL and GPLv2 and GPLv3+) + +* Wed Apr 22 2015 Petr Pisar - 6.6.6-6 +- Describe XPCE is in pl-xpce (bug #1204623) + +* Fri Feb 27 2015 Petr Pisar - 6.6.6-5 +- Build binding for libarchive (bug #1195960) + +* Sun Aug 17 2014 Fedora Release Engineering - 6.6.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Wed Jun 25 2014 Yaakov Selkowitz - 6.6.6-3 +- Fix detection of libjvm on aarch64 (#1112012) + +* Sat Jun 07 2014 Fedora Release Engineering - 6.6.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon Jun 02 2014 Petr Pisar - 6.6.6-1 +- 6.6.6 bump + +* Mon Apr 28 2014 Petr Pisar - 6.6.5-1 +- 6.6.5 bump + +* Mon Mar 24 2014 Petr Pisar - 6.6.4-1 +- 6.6.4 bump + +* Thu Mar 20 2014 Petr Pisar - 6.6.3-1 +- 6.6.3 bump + +* Wed Mar 05 2014 Petr Pisar - 6.6.2-1 +- 6.6.2 bump +- License changed from ((GPLv2+ with exceptions or Artistic 2.0) and (GPLv2+ + with exceptions) and LGPLv2+ and LGPLv2 and UCD and BSD and Public Domain + and GPLv2 and GPLv3+) to ((GPLv2+ with exceptions or Artistic 2.0) and (GPLv2+ + with exceptions) and LGPLv2+ and LGPLv2 and UCD and BSD and Public Domain and + EPL and GPLv2 and GPLv3+) + +* Tue Feb 25 2014 Petr Pisar - 6.6.1-2 +- Require headless JRE only (bug #1068485) + +* Mon Dec 16 2013 Petr Pisar - 6.6.1-1 +- 6.6.1 bump + +* Mon Dec 02 2013 Petr Pisar - 6.6.0-1 +- 6.6.0 bump +- Inhibit format-security compiler warning on custom sscanf() parser + (bug #1037250) + +* Tue Sep 03 2013 Petr Pisar - 6.4.1-1 +- 6.4.1 bump +- License changed from ((GPLv2+ or Artistic 2.0) and LGPLv2+ and LGPLv2 and + GPLv2 and GPLv2+ and UCD and Public Domain and GPLv3+) to ((GPLv2+ with + exceptions or Artistic 2.0) and (GPLv2+ with exceptions) and LGPLv2+ and + LGPLv2 and UCD and Public Domain and GPLv3+ and CC-BY-SA) + +* Sun Aug 04 2013 Fedora Release Engineering - 6.2.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 6.2.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Mon Jan 21 2013 Adam Tkac - 6.2.6-2 +- rebuild due to "jpeg8-ABI" feature drop + +* Mon Jan 14 2013 Petr Pisar - 6.2.6-1 +- 6.2.6 bump + +* Thu Jan 03 2013 Petr Pisar - 6.2.5-1 +- 6.2.5 bump + +* Thu Dec 13 2012 Petr Pisar - 6.2.4-1 +- 6.2.4 bump + +* Mon Dec 03 2012 Petr Pisar - 6.2.3-2 +- Sub-package YAP compatibility headers because they are not compatible with + real YAP + +* Thu Nov 22 2012 Petr Pisar - 6.2.3-1 +- 6.2.3 bump + +* Tue Oct 02 2012 Petr Pisar - 6.2.2-1 +- 6.2.2 bump + +* Mon Sep 10 2012 Petr Pisar - 6.2.1-1 +- 6.2.1 bump + +* Thu Aug 23 2012 Petr Pisar - 6.2.0-1 +- 6.2.0 bump + +* Fri Jul 27 2012 Fedora Release Engineering - 6.0.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Mar 22 2012 Petr Pisar - 6.0.2-3 +- Remove JDK version constrain by hacking JDK paths (bug #740897) + +* Fri Mar 09 2012 Petr Pisar - 6.0.2-2 +- Own jpl.jar file by jpl sub-package only + +* Mon Mar 05 2012 Petr Pisar - 6.0.2-1 +- 6.0.2 bump +- Artistic licensed code dual-lincensed under GPLv2+ or Artistic 2.0 now +- Keep executables as symlinks because interpreter uses the symlink value to + locate standard library +- xpce is run as swipl now +- Move documentation into separate sub-package +- Move XPCE into separate sub-package +- Move ODBC interface into separate sub-package +- Fix JPL interface (bug #590499) + +* Thu Mar 01 2012 Petr Pisar - 6.0.1-1 +- 6.0.1 bump +- Clean spec file + +* Sat Jan 14 2012 Fedora Release Engineering - 5.10.5-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Oct 26 2011 Fedora Release Engineering - 5.10.5-6 +- Rebuilt for glibc bug#747377 + +* Wed Oct 26 2011 Marcela Mašláňová - 5.10.5-5 +- rebuild with new gmp + +* Tue Sep 27 2011 Petr Pisar - 5.10.5-4 +- Unify java path search (bug #740897) + +* Fri Sep 23 2011 Petr Pisar - 5.10.5-3 +- Correct Java paths on ARM (thanks to David A. Marlin) + +* Wed Aug 24 2011 Petr Pisar - 5.10.5-2 +- Fix segfault in PutImagePixels32() while displaying malformed GIF + (bug #732952) + +* Mon Aug 22 2011 Petr Pisar - 5.10.5-1 +- 5.10.5 bump +- Adjust patches and remove merged ones + +* Fri Aug 19 2011 Petr Pisar - 5.10.2-4 +- Fix CVE-2011-2896 (David Koblas' GIF decoder LZW decoder buffer overflow) + (bug #727800) +- Fix other GIF decoder bug + (http://www.swi-prolog.org/bugzilla/show_bug.cgi?id=7#c4) + +* Thu Feb 10 2011 Petr Pisar - 5.10.2-3 +- Pass -export-dynamic to linker properly + +* Wed Feb 09 2011 Fedora Release Engineering - 5.10.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Thu Dec 16 2010 Petr Pisar - 5.10.2-1 +- 5.10.2 bump +- Use DT_RUNPATH instead of pl-5.7.11-rpath.patch +- Adjust jpl-configure.patch to 5.10.2 +- Adjust man-files.patch to 5.10.2 +- Adjust jni.patch to 5.10.2 +- Adjust pc.patch to 5.10.2 +- Use make install method for installation +- Adjust license tag to 5.10.2 version (LGPLv2+ added) +- Add executable permission to some files to be properly packaged +- Re-add XPCE user guide + +* Wed Dec 8 2010 Petr Pisar - 5.7.11-6 +- Inhibit XPCE by macro to silent rpmlint +- Define implicit attributes for jpl files +- Expand tabs to spaces to silent rpmlint +- Remove executable bit from jpl documentation files +- Fix spelling in package descriptions +- Strip debuginfo from libpl.so by setting executable bit +- Change license to reflect reality (yes, Artistic1) +- Make java part optional + +* Fri Aug 21 2009 Tomas Mraz - 5.7.11-5 +- rebuilt with new openssl + +* Fri Aug 14 2009 Gerard Milmeister - 5.7.11-4 +- move include files to expected place + +* Sun Jul 26 2009 Fedora Release Engineering - 5.7.11-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Tue Jul 7 2009 Mary Ellen Foster - 5.7.11-2 +- Really fix issue with compiling "maildrop" packages + +* Mon Jul 6 2009 Mary Ellen Foster - 5.7.11-1 +- Move binaries into /usr/bin directly to fix multilib issues +- Update to latest upstream release +- Use officially-distributed PDF documentation instead of HTML +- Unify Java patches +- Remove strndup package; they fixed it upstream +- Fix compilation of "maildrop" packages +- Give the xpce documentation directory a clearer name +- Removed the FILES section of the man page because it also caused + multilib conflicts (and was inaccurate anyway) + +* Fri Jun 12 2009 Dennis Gilmore 5.7.6-5 +-dont use a static definition for strndup + +* Mon Mar 02 2009 Dennis Gilmore 5.7.6-4 +- fix JAVA_HOME and JAVA_LIB for sparc arches + +* Sun Mar 01 2009 Karsten Hopp 5.7.6-3 +- fix java LIBDIRS for mainframe, similar to alpha + +* Wed Feb 25 2009 Mary Ellen Foster - 5.7.6-2 +- Unify all changes: + - Fix java LIBDIRS on alpha (Oliver Falk) + +* Wed Feb 25 2009 Mary Ellen Foster - 5.7.6-1 +- Update to version 5.7 + - Cleaned up virtual machine and compiler + - Increased performance + +* Sat Jan 17 2009 Tomas Mraz - 5.6.60-3 +- rebuild with new openssl + +* Fri Sep 19 2008 Tom "spot" Callaway - 5.6.60-2 +- forgot to remove ANNOUNCE from doc list + +* Fri Sep 19 2008 Tom "spot" Callaway - 5.6.60-1 +- update to 5.6.60 +- use openjdk (FIXME: there may be a way to make this more generic) + +* Wed Jul 2 2008 Mary Ellen Foster - 5.6.57-2 +- Build using any Java +- Include patch from SWI for Turkish locale (thanks to Keri Harris) + +* Wed Jun 25 2008 Mary Ellen Foster - 5.6.57-1 +- Another update, after vacation + +* Mon May 19 2008 Mary Ellen Foster - 5.6.55-1 +- Update to 5.6.55 (wow, fast updates!) +- Un-split xpce for now +- Conditionally build jpl (on Fedora 9 with openjdk, and on + Fedora 8 non-ppc with icedtea) + +* Wed May 07 2008 Mary Ellen Foster - 5.6.54-1 +- Update to 5.6.54 and prepare to actually push this +- Try splitting xpce into own package + +* Tue Apr 15 2008 Mary Ellen Foster - 5.6.53-1 +- Update to 5.6.53 -- fixes ppc64 problems, yay! + +* Wed Apr 09 2008 Mary Ellen Foster - 5.6.52-2 +- Put JPL stuff where the new Java packaging guidelines say it should be + and make all of the necessary adjustments in other files +- Split out "-devel" and "-static" packages per guidelines + +* Mon Mar 31 2008 Mary Ellen Foster - 5.6.52-1 +- Switch jpl requirement from IcedTea to OpenJDK and enable it everywhere +- Upgrade to 5.6.52 +- Patch jpl configure script to find Java libraries on ppc{64} +- NB: Still broken on ppc64, still trying to figure out why + +* Mon Feb 25 2008 Mary Ellen Foster - 5.6.51-1 +- Upgrade to 5.6.51 + +* Fri Feb 22 2008 Mary Ellen Foster - 5.6.50-1 +- Update to 5.6.50 +- Enable JPL (as a sub-package) -- NB: it only builds with icedtea for now, + so we disable that sub-package on ppc64 and ppc for the moment + +* Mon Feb 18 2008 Fedora Release Engineering - 5.6.47-9 +- Autorebuild for GCC 4.3 + +* Thu Dec 6 2007 Gerard Milmeister - 5.6.47-8 +- compile with -fno-strict-aliasing + +* Wed Dec 5 2007 Gerard Milmeister - 5.6.47-5 +- disable jpl for now + +* Wed Dec 5 2007 Gerard Milmeister - 5.6.47-4 +- enable shared library building + +* Wed Dec 5 2007 Gerard Milmeister - 5.6.47-1 +- new release 5.6.47 + +* Fri Jun 8 2007 Gerard Milmeister - 5.6.35-1 +- new version 5.6.35 +- add requires readline-devel + +* Mon Apr 23 2007 Gerard Milmeister - 5.6.34-1 +- new version 5.6.34 + +* Fri Feb 23 2007 Gerard Milmeister - 5.6.28-1 +- new version 5.6.28 + +* Fri Dec 1 2006 Gerard Milmeister - 5.6.24-1 +- new version 5.6.24 + +* Sun Oct 1 2006 Gerard Milmeister - 5.6.20-1 +- new version 5.6.20 + +* Sat Sep 2 2006 Gerard Milmeister - 5.6.18-1 +- updated to 5.6.18 + +* Mon Aug 28 2006 Gerard Milmeister - 5.6.16-3 +- Rebuild for FE6 + +* Tue Jul 11 2006 Gerard Milmeister - 5.6.16-1 +- new version 5.6.16 + +* Mon May 1 2006 Gerard Milmeister - 5.6.12-3 +- added buildreq for libXinerama-devel + +* Mon May 1 2006 Gerard Milmeister - 5.6.12-2 +- added patch to compile with xft + +* Sun Apr 30 2006 Gerard Milmeister - 5.6.12-1 +- new version 5.6.12 + +* Wed Mar 8 2006 Gerard Milmeister - 5.6.7-1 +- new version 5.6.7 + +* Sat Jan 28 2006 Gerard Milmeister - 5.6.3-1 +- new version 5.6.3 + +* Mon Jan 2 2006 Gerard Milmeister - 5.6.0-1 +- new version 5.6.0 + +* Wed Jun 22 2005 Gerard Milmeister - 5.4.7-1 +- new version 5.4.7 + +* Sun May 22 2005 Jeremy Katz - 5.4.6-9 +- rebuild on all arches + +* Wed Apr 6 2005 Michael Schwendt +- rebuilt + +* Wed Feb 23 2005 David Woodhouse - 5.4.6-7 +- Fix visibility abuse. This may well fix x86_64 too, so re-enable that. + +* Mon Feb 21 2005 Gerard Milmeister - 5.4.6-6 +- Exclude x86_64 for now (bugzilla 149038) + +* Sun Feb 20 2005 Michael Schwendt - 5.4.6-5 +- Added patch1 for a few multilib Makefile/configure fixes. +- Use %%makeinstall and set libdir in install section. + +* Sat Feb 12 2005 Warren Togami - 5.4.6-4 +- remove duplicate RPATH patch +- remove Epoch +- remove redundant unixODBC from BR + +* Sat Feb 12 2005 Gerard Milmeister - 5.4.6-2 +- Added BuildRequires: unixODBC, unixODBC-devel +- Removed rpath from shared libs: pl-rpath.patch + +* Sat Feb 12 2005 Gerard Milmeister - 5.4.6-1 +- New Version 5.4.6 + +* Thu Jan 13 2005 Gerard Milmeister - 5.4.5-0.fdr.1 +- New Version 5.4.5 diff --git a/pl.spec b/pl.spec index 9f7a0b4..e04bb37 100644 --- a/pl.spec +++ b/pl.spec @@ -13,7 +13,7 @@ Name: pl Version: 9.2.2 -Release: 1%{?dist} +Release: %autorelease Summary: SWI-Prolog - Edinburgh compatible Prolog compiler #LICENSE: BSD-2-Clause #library/dialect/iso/iso_predicates.pl BSD-2-Clause AND (GPL-2.0-or-later WITH @@ -612,605 +612,4 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl %changelog -* Sun Mar 3 2024 Jerry James - 9.2.2-1 -- Version 9.2.2 - -* Wed Feb 14 2024 Jerry James - 9.2.1-1 -- Version 9.2.1 - -* Thu Feb 1 2024 Jerry James - 9.2.0-1 -- Version 9.2.0 -- Add patch to fix an LTO type mismatch - -* Mon Jan 22 2024 Jerry James - 9.0.4-4 -- Add patch for zlib-ng - -* Sun Jan 21 2024 Fedora Release Engineering - 9.0.4-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Tue Jan 16 2024 Jerry James - 9.0.4-3 -- Update License tags - -* Fri Jul 21 2023 Fedora Release Engineering - 9.0.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Fri Jul 14 2023 Jerry James - 9.0.4-2 -- Update deprecated %%patchN usage -- Update License tag with names recently added to Fedora -- Drop 32-bit ARM support - -* Mon Feb 27 2023 Jerry James - 9.0.4-2 -- Dynamically generate python BuildRequires - -* Tue Jan 31 2023 Tom Callaway - 9.0.4-2 -- enable docs on aarch64 - -* Fri Jan 27 2023 Jerry James - 9.0.4-1 -- Version 9.0.4 -- Drop upstreamed C99 patch -- Use a Unicode locale while testing to avoid a failed test -- Disable tests on ppc64le until we can diagnose 1 failed test -- Disable docs on aarch until bz 2165146 is fixed - -* Fri Jan 20 2023 Fedora Release Engineering - 9.0.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Tue Jan 10 2023 Florian Weimer - 9.0.3-2 -- Fix C99 compatibility issues in CMake checks - -* Sun Dec 18 2022 Jerry James - 9.0.3-1 -- Version 9.0.3 - -* Thu Dec 15 2022 Jerry James - 9.0.2-1 -- Version 9.0.2 -- Convert License tag to SPDX (with some licenses pending review) -- Add %%check script for 64-bit architectures - -* Wed Aug 24 2022 Davide Cavalca - 8.4.3-4 -- Make it buildable for EPEL - -* Fri Jul 22 2022 Fedora Release Engineering - 8.4.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Tue Jul 5 2022 Jerry James - 8.4.3-2 -- Do not build pl-jpl for i686 (rhbz#2104088) - -* Tue Jun 21 2022 Jerry James - 8.4.3-1 -- Version 8.4.3 - -* Fri Mar 4 2022 Jerry James - 8.4.2-2 -- Remove . from %%cmake to fix FTBFS - -* Mon Feb 14 2022 Jerry James - 8.4.2-1 -- Version 8.4.2 - -* Sat Feb 05 2022 Jiri Vanek - 8.4.1-3 -- Rebuilt for java-17-openjdk as system jdk - -* Fri Jan 21 2022 Fedora Release Engineering - 8.4.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Tue Nov 16 2021 Jerry James - 8.4.1-1 -- Version 8.4.1 -- Drop upstreamed -pclose patch - -* Sat Oct 2 2021 Jerry James - 8.4.0-1 -- Version 8.4.0 -- Drop upstreamed -qt-deprecated and -openssl3 patches -- Add -pclose patch to avoid zombie processes - -* Thu Sep 16 2021 Jerry James - 8.2.4-3 -- Add -openssl3 patch to fix FTBFS with OpenSSL 3.0.0 - -* Tue Sep 14 2021 Sahana Prasad - 8.2.4-3 -- Rebuilt with OpenSSL 3.0.0 - -* Tue Jul 27 2021 Fedora Release Engineering - 8.2.4-2 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Wed Jan 27 2021 Jerry James - 8.2.4-1 -- Version 8.2.4 -- Drop upstreamed swipl-8.2.2-underscore.patch - -* Wed Jan 27 2021 Fedora Release Engineering - 8.2.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Thu Nov 26 2020 Jerry James - 8.2.3-1 -- Version 8.2.3 -- Add swipl-8.2.3-qt-deprecated.patch to silence Qt deprecation warnings - -* Tue Oct 27 2020 Jerry James - 8.2.2-1 -- Version 8.2.2 -- Remove upstreamed -bad-bibtex-entry patch -- Add -underscore patch to work around LaTeX errors - -* Tue Jul 28 2020 Fedora Release Engineering - 8.2.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Thu Jul 23 2020 Jerry James - 8.2.1-3 -- Update for cmake changes in Rawhide - -* Sat Jul 11 2020 Jiri Vanek - 8.2.1-2 -- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 - -* Mon Jun 29 2020 Jerry James - 8.2.1-1 -- 8.2.1 bump -- Add -bad-bibtex-entry patch - -* Tue Jun 16 2020 Jerry James - 8.2.0-2 -- Fix broken symlinks in the jpl subpackage (bz 1847510) - -* Thu May 28 2020 Jerry James - 8.2.0-1 -- 8.2.0 bump - -* Thu Jan 30 2020 Fedora Release Engineering - 8.0.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Fri Jul 26 2019 Fedora Release Engineering - 8.0.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Wed Jun 19 2019 Jerry James - 8.0.3-1 -- 8.0.3 bump (bz 1722172) - -* Fri Mar 22 2019 Jerry James - 8.0.2-1 -- 8.0.2 bump (bz 1669571) -- Drop the -static subpackage -- Drop the -jpl-configure, -pc, and -Use-system-js-query patches -- Add -unbundle-libstemmer patch -- Add a check script -- Build the PDF instead of using the one provided by upstream - -* Sun Feb 17 2019 Igor Gnatenko - 7.6.4-9 -- Rebuild for readline 8.0 - -* Sat Feb 02 2019 Fedora Release Engineering - 7.6.4-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Mon Jan 14 2019 Björn Esser - 7.6.4-7 -- Rebuilt for libcrypt.so.2 (#1666033) - -* Sun Nov 18 2018 Zbigniew Jędrzejewski-Szmek - 7.6.4-6 -- Use C.UTF-8 locale - See https://fedoraproject.org/wiki/Changes/Remove_glibc-langpacks-all_from_buildroot - -* Tue Aug 28 2018 Petr Pisar - 7.6.4-5 -- Use latest jquery from js-jquery package - -* Fri Jul 13 2018 Fedora Release Engineering - 7.6.4-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Fri Feb 09 2018 Fedora Release Engineering - 7.6.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Sat Jan 20 2018 Björn Esser - 7.6.4-2 -- Rebuilt for switch to libxcrypt - -* Mon Jan 15 2018 Petr Pisar - 7.6.4-1 -- 7.6.4 bump - -* Wed Nov 08 2017 Petr Pisar - 7.6.1-1 -- 7.6.1 bump -- License changed from ((BSD and (GPLv2+ with exceptions or Artistic 2.0)) and - (GPL+ or Artistic) and (BSD or GPL) and LGPLv2+ and TCL and UCD and MIT and - BSD and Public Domain) to ((BSD and (GPLv2+ with exceptions or Artistic 2.0)) - and (GPL+ or Artistic) and (BSD or GPL) and TCL and UCD and MIT and BSD and - Public Domain) - -* Fri Oct 20 2017 Jitka Plesnikova - 7.6.0-1 -- 7.6.0 bump - -* Thu Aug 03 2017 Fedora Release Engineering - 7.4.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 7.4.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Thu Apr 20 2017 Petr Pisar - 7.4.2-1 -- 7.4.2 bump - -* Mon Mar 06 2017 Petr Pisar - 7.4.1-1 -- 7.4.1 bump -- License changed from ((GPLv2+ with exceptions or Artistic 2.0) and (GPLv2+ - with exceptions) and (GPLv2 with exception) and (GPL+ or Artistic) and - LGPLv2+ and LGPLv2 and UCD and (UCD and MIT) and BSD and Public Domain and - EPL and GPLv2 and GPLv2+ and GPLv3+) to ((BSD and (GPLv2+ with exceptions or - Artistic 2.0)) and (GPL+ or Artistic) and (BSD or GPL) and LGPLv2+ and TCL - and UCD and MIT and BSD and Public Domain) - -* Sat Feb 11 2017 Fedora Release Engineering - 7.2.3-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Thu Jan 12 2017 Igor Gnatenko - 7.2.3-4 -- Rebuild for readline 7.x -- Adapt Java library path to java-1.8.0-openjdk-aarch32 (bug #1412771) - -* Wed Apr 13 2016 Petr Pisar - 7.2.3-3 -- Correct swipl-ld tool to handle 268-byte long compiler flags (bug #1326581) - -* Thu Feb 04 2016 Fedora Release Engineering - 7.2.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Thu Aug 27 2015 Petr Pisar - 7.2.3-1 -- 7.2.3 bump - -* Thu Jun 25 2015 Petr Pisar - 7.2.2-1 -- 7.2.2 bump -- License changed from ((GPLv2+ with exceptions or Artistic 2.0) and (GPLv2+ - with exceptions) and (GPLv2 with exception) and (GPL+ or Artistic) and - LGPLv2+ and LGPLv2 and UCD and (UCD and MIT) and BSD and Public Domain and - EPL and GPLv2 and GPLv3+) to ((GPLv2+ with exceptions or Artistic 2.0) and - (GPLv2+ with exceptions) and (GPLv2 with exception) and (GPL+ or Artistic) - and LGPLv2+ and LGPLv2 and UCD and (UCD and MIT) and BSD and Public Domain - and EPL and GPLv2 and GPLv2+ and GPLv3+) - -* Mon Jun 22 2015 Petr Pisar - 7.2.1-3 -- Depend on javapackages-tools instead of jpackage-utils to conform to new Java - guidelines - -* Thu Jun 18 2015 Fedora Release Engineering - 7.2.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Mon Jun 15 2015 Petr Pisar - 7.2.1-1 -- 7.2.1 bump -- Depend on gcc because glibc-headers package will be removed (bug #1230490) -- Unbundle jquery-1 - -* Fri Jun 05 2015 Petr Pisar - 7.2.0-1 -- 7.2.0 bump -- License changed from ((GPLv2+ with exceptions or Artistic 2.0) and (GPLv2+ - with exceptions) and LGPLv2+ and LGPLv2 and UCD and BSD and Public Domain - and EPL and GPLv2 and GPLv3+) to ((GPLv2+ with exceptions or Artistic 2.0) - and (GPLv2+ with exceptions) and (GPLv2 with exception) and (GPL+ or - Artistic) and LGPLv2+ and LGPLv2 and UCD and (UCD and MIT) and BSD and Public - Domain and EPL and GPLv2 and GPLv3+) - -* Wed Apr 22 2015 Petr Pisar - 6.6.6-6 -- Describe XPCE is in pl-xpce (bug #1204623) - -* Fri Feb 27 2015 Petr Pisar - 6.6.6-5 -- Build binding for libarchive (bug #1195960) - -* Sun Aug 17 2014 Fedora Release Engineering - 6.6.6-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Wed Jun 25 2014 Yaakov Selkowitz - 6.6.6-3 -- Fix detection of libjvm on aarch64 (#1112012) - -* Sat Jun 07 2014 Fedora Release Engineering - 6.6.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Mon Jun 02 2014 Petr Pisar - 6.6.6-1 -- 6.6.6 bump - -* Mon Apr 28 2014 Petr Pisar - 6.6.5-1 -- 6.6.5 bump - -* Mon Mar 24 2014 Petr Pisar - 6.6.4-1 -- 6.6.4 bump - -* Thu Mar 20 2014 Petr Pisar - 6.6.3-1 -- 6.6.3 bump - -* Wed Mar 05 2014 Petr Pisar - 6.6.2-1 -- 6.6.2 bump -- License changed from ((GPLv2+ with exceptions or Artistic 2.0) and (GPLv2+ - with exceptions) and LGPLv2+ and LGPLv2 and UCD and BSD and Public Domain - and GPLv2 and GPLv3+) to ((GPLv2+ with exceptions or Artistic 2.0) and (GPLv2+ - with exceptions) and LGPLv2+ and LGPLv2 and UCD and BSD and Public Domain and - EPL and GPLv2 and GPLv3+) - -* Tue Feb 25 2014 Petr Pisar - 6.6.1-2 -- Require headless JRE only (bug #1068485) - -* Mon Dec 16 2013 Petr Pisar - 6.6.1-1 -- 6.6.1 bump - -* Mon Dec 02 2013 Petr Pisar - 6.6.0-1 -- 6.6.0 bump -- Inhibit format-security compiler warning on custom sscanf() parser - (bug #1037250) - -* Tue Sep 03 2013 Petr Pisar - 6.4.1-1 -- 6.4.1 bump -- License changed from ((GPLv2+ or Artistic 2.0) and LGPLv2+ and LGPLv2 and - GPLv2 and GPLv2+ and UCD and Public Domain and GPLv3+) to ((GPLv2+ with - exceptions or Artistic 2.0) and (GPLv2+ with exceptions) and LGPLv2+ and - LGPLv2 and UCD and Public Domain and GPLv3+ and CC-BY-SA) - -* Sun Aug 04 2013 Fedora Release Engineering - 6.2.6-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Thu Feb 14 2013 Fedora Release Engineering - 6.2.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Mon Jan 21 2013 Adam Tkac - 6.2.6-2 -- rebuild due to "jpeg8-ABI" feature drop - -* Mon Jan 14 2013 Petr Pisar - 6.2.6-1 -- 6.2.6 bump - -* Thu Jan 03 2013 Petr Pisar - 6.2.5-1 -- 6.2.5 bump - -* Thu Dec 13 2012 Petr Pisar - 6.2.4-1 -- 6.2.4 bump - -* Mon Dec 03 2012 Petr Pisar - 6.2.3-2 -- Sub-package YAP compatibility headers because they are not compatible with - real YAP - -* Thu Nov 22 2012 Petr Pisar - 6.2.3-1 -- 6.2.3 bump - -* Tue Oct 02 2012 Petr Pisar - 6.2.2-1 -- 6.2.2 bump - -* Mon Sep 10 2012 Petr Pisar - 6.2.1-1 -- 6.2.1 bump - -* Thu Aug 23 2012 Petr Pisar - 6.2.0-1 -- 6.2.0 bump - -* Fri Jul 27 2012 Fedora Release Engineering - 6.0.2-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Thu Mar 22 2012 Petr Pisar - 6.0.2-3 -- Remove JDK version constrain by hacking JDK paths (bug #740897) - -* Fri Mar 09 2012 Petr Pisar - 6.0.2-2 -- Own jpl.jar file by jpl sub-package only - -* Mon Mar 05 2012 Petr Pisar - 6.0.2-1 -- 6.0.2 bump -- Artistic licensed code dual-lincensed under GPLv2+ or Artistic 2.0 now -- Keep executables as symlinks because interpreter uses the symlink value to - locate standard library -- xpce is run as swipl now -- Move documentation into separate sub-package -- Move XPCE into separate sub-package -- Move ODBC interface into separate sub-package -- Fix JPL interface (bug #590499) - -* Thu Mar 01 2012 Petr Pisar - 6.0.1-1 -- 6.0.1 bump -- Clean spec file - -* Sat Jan 14 2012 Fedora Release Engineering - 5.10.5-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Wed Oct 26 2011 Fedora Release Engineering - 5.10.5-6 -- Rebuilt for glibc bug#747377 - -* Wed Oct 26 2011 Marcela Mašláňová - 5.10.5-5 -- rebuild with new gmp - -* Tue Sep 27 2011 Petr Pisar - 5.10.5-4 -- Unify java path search (bug #740897) - -* Fri Sep 23 2011 Petr Pisar - 5.10.5-3 -- Correct Java paths on ARM (thanks to David A. Marlin) - -* Wed Aug 24 2011 Petr Pisar - 5.10.5-2 -- Fix segfault in PutImagePixels32() while displaying malformed GIF - (bug #732952) - -* Mon Aug 22 2011 Petr Pisar - 5.10.5-1 -- 5.10.5 bump -- Adjust patches and remove merged ones - -* Fri Aug 19 2011 Petr Pisar - 5.10.2-4 -- Fix CVE-2011-2896 (David Koblas' GIF decoder LZW decoder buffer overflow) - (bug #727800) -- Fix other GIF decoder bug - (http://www.swi-prolog.org/bugzilla/show_bug.cgi?id=7#c4) - -* Thu Feb 10 2011 Petr Pisar - 5.10.2-3 -- Pass -export-dynamic to linker properly - -* Wed Feb 09 2011 Fedora Release Engineering - 5.10.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Thu Dec 16 2010 Petr Pisar - 5.10.2-1 -- 5.10.2 bump -- Use DT_RUNPATH instead of pl-5.7.11-rpath.patch -- Adjust jpl-configure.patch to 5.10.2 -- Adjust man-files.patch to 5.10.2 -- Adjust jni.patch to 5.10.2 -- Adjust pc.patch to 5.10.2 -- Use make install method for installation -- Adjust license tag to 5.10.2 version (LGPLv2+ added) -- Add executable permission to some files to be properly packaged -- Re-add XPCE user guide - -* Wed Dec 8 2010 Petr Pisar - 5.7.11-6 -- Inhibit XPCE by macro to silent rpmlint -- Define implicit attributes for jpl files -- Expand tabs to spaces to silent rpmlint -- Remove executable bit from jpl documentation files -- Fix spelling in package descriptions -- Strip debuginfo from libpl.so by setting executable bit -- Change license to reflect reality (yes, Artistic1) -- Make java part optional - -* Fri Aug 21 2009 Tomas Mraz - 5.7.11-5 -- rebuilt with new openssl - -* Fri Aug 14 2009 Gerard Milmeister - 5.7.11-4 -- move include files to expected place - -* Sun Jul 26 2009 Fedora Release Engineering - 5.7.11-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Tue Jul 7 2009 Mary Ellen Foster - 5.7.11-2 -- Really fix issue with compiling "maildrop" packages - -* Mon Jul 6 2009 Mary Ellen Foster - 5.7.11-1 -- Move binaries into /usr/bin directly to fix multilib issues -- Update to latest upstream release -- Use officially-distributed PDF documentation instead of HTML -- Unify Java patches -- Remove strndup package; they fixed it upstream -- Fix compilation of "maildrop" packages -- Give the xpce documentation directory a clearer name -- Removed the FILES section of the man page because it also caused - multilib conflicts (and was inaccurate anyway) - -* Fri Jun 12 2009 Dennis Gilmore 5.7.6-5 --dont use a static definition for strndup - -* Mon Mar 02 2009 Dennis Gilmore 5.7.6-4 -- fix JAVA_HOME and JAVA_LIB for sparc arches - -* Sun Mar 01 2009 Karsten Hopp 5.7.6-3 -- fix java LIBDIRS for mainframe, similar to alpha - -* Wed Feb 25 2009 Mary Ellen Foster - 5.7.6-2 -- Unify all changes: - - Fix java LIBDIRS on alpha (Oliver Falk) - -* Wed Feb 25 2009 Mary Ellen Foster - 5.7.6-1 -- Update to version 5.7 - - Cleaned up virtual machine and compiler - - Increased performance - -* Sat Jan 17 2009 Tomas Mraz - 5.6.60-3 -- rebuild with new openssl - -* Fri Sep 19 2008 Tom "spot" Callaway - 5.6.60-2 -- forgot to remove ANNOUNCE from doc list - -* Fri Sep 19 2008 Tom "spot" Callaway - 5.6.60-1 -- update to 5.6.60 -- use openjdk (FIXME: there may be a way to make this more generic) - -* Wed Jul 2 2008 Mary Ellen Foster - 5.6.57-2 -- Build using any Java -- Include patch from SWI for Turkish locale (thanks to Keri Harris) - -* Wed Jun 25 2008 Mary Ellen Foster - 5.6.57-1 -- Another update, after vacation - -* Mon May 19 2008 Mary Ellen Foster - 5.6.55-1 -- Update to 5.6.55 (wow, fast updates!) -- Un-split xpce for now -- Conditionally build jpl (on Fedora 9 with openjdk, and on - Fedora 8 non-ppc with icedtea) - -* Wed May 07 2008 Mary Ellen Foster - 5.6.54-1 -- Update to 5.6.54 and prepare to actually push this -- Try splitting xpce into own package - -* Tue Apr 15 2008 Mary Ellen Foster - 5.6.53-1 -- Update to 5.6.53 -- fixes ppc64 problems, yay! - -* Wed Apr 09 2008 Mary Ellen Foster - 5.6.52-2 -- Put JPL stuff where the new Java packaging guidelines say it should be - and make all of the necessary adjustments in other files -- Split out "-devel" and "-static" packages per guidelines - -* Mon Mar 31 2008 Mary Ellen Foster - 5.6.52-1 -- Switch jpl requirement from IcedTea to OpenJDK and enable it everywhere -- Upgrade to 5.6.52 -- Patch jpl configure script to find Java libraries on ppc{64} -- NB: Still broken on ppc64, still trying to figure out why - -* Mon Feb 25 2008 Mary Ellen Foster - 5.6.51-1 -- Upgrade to 5.6.51 - -* Fri Feb 22 2008 Mary Ellen Foster - 5.6.50-1 -- Update to 5.6.50 -- Enable JPL (as a sub-package) -- NB: it only builds with icedtea for now, - so we disable that sub-package on ppc64 and ppc for the moment - -* Mon Feb 18 2008 Fedora Release Engineering - 5.6.47-9 -- Autorebuild for GCC 4.3 - -* Thu Dec 6 2007 Gerard Milmeister - 5.6.47-8 -- compile with -fno-strict-aliasing - -* Wed Dec 5 2007 Gerard Milmeister - 5.6.47-5 -- disable jpl for now - -* Wed Dec 5 2007 Gerard Milmeister - 5.6.47-4 -- enable shared library building - -* Wed Dec 5 2007 Gerard Milmeister - 5.6.47-1 -- new release 5.6.47 - -* Fri Jun 8 2007 Gerard Milmeister - 5.6.35-1 -- new version 5.6.35 -- add requires readline-devel - -* Mon Apr 23 2007 Gerard Milmeister - 5.6.34-1 -- new version 5.6.34 - -* Fri Feb 23 2007 Gerard Milmeister - 5.6.28-1 -- new version 5.6.28 - -* Fri Dec 1 2006 Gerard Milmeister - 5.6.24-1 -- new version 5.6.24 - -* Sun Oct 1 2006 Gerard Milmeister - 5.6.20-1 -- new version 5.6.20 - -* Sat Sep 2 2006 Gerard Milmeister - 5.6.18-1 -- updated to 5.6.18 - -* Mon Aug 28 2006 Gerard Milmeister - 5.6.16-3 -- Rebuild for FE6 - -* Tue Jul 11 2006 Gerard Milmeister - 5.6.16-1 -- new version 5.6.16 - -* Mon May 1 2006 Gerard Milmeister - 5.6.12-3 -- added buildreq for libXinerama-devel - -* Mon May 1 2006 Gerard Milmeister - 5.6.12-2 -- added patch to compile with xft - -* Sun Apr 30 2006 Gerard Milmeister - 5.6.12-1 -- new version 5.6.12 - -* Wed Mar 8 2006 Gerard Milmeister - 5.6.7-1 -- new version 5.6.7 - -* Sat Jan 28 2006 Gerard Milmeister - 5.6.3-1 -- new version 5.6.3 - -* Mon Jan 2 2006 Gerard Milmeister - 5.6.0-1 -- new version 5.6.0 - -* Wed Jun 22 2005 Gerard Milmeister - 5.4.7-1 -- new version 5.4.7 - -* Sun May 22 2005 Jeremy Katz - 5.4.6-9 -- rebuild on all arches - -* Wed Apr 6 2005 Michael Schwendt -- rebuilt - -* Wed Feb 23 2005 David Woodhouse - 5.4.6-7 -- Fix visibility abuse. This may well fix x86_64 too, so re-enable that. - -* Mon Feb 21 2005 Gerard Milmeister - 5.4.6-6 -- Exclude x86_64 for now (bugzilla 149038) - -* Sun Feb 20 2005 Michael Schwendt - 5.4.6-5 -- Added patch1 for a few multilib Makefile/configure fixes. -- Use %%makeinstall and set libdir in install section. - -* Sat Feb 12 2005 Warren Togami - 5.4.6-4 -- remove duplicate RPATH patch -- remove Epoch -- remove redundant unixODBC from BR - -* Sat Feb 12 2005 Gerard Milmeister - 5.4.6-2 -- Added BuildRequires: unixODBC, unixODBC-devel -- Removed rpath from shared libs: pl-rpath.patch - -* Sat Feb 12 2005 Gerard Milmeister - 5.4.6-1 -- New Version 5.4.6 - -* Thu Jan 13 2005 Gerard Milmeister - 5.4.5-0.fdr.1 -- New Version 5.4.5 +%autochangelog From d4a8468b1c60cd75a098f64daaa0ebd8784c5811 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Fri, 5 Apr 2024 11:00:09 -0600 Subject: [PATCH 08/31] Version 9.2.3 - Add template-id patch for C++20 compatibility --- pl.spec | 9 +++-- sources | 2 +- swipl-9.2.0-lto-mismatch.patch | 11 ------ swipl-9.2.3-lto-mismatch.patch | 11 ++++++ swipl-9.2.3-template-id.patch | 66 ++++++++++++++++++++++++++++++++++ 5 files changed, 85 insertions(+), 14 deletions(-) delete mode 100644 swipl-9.2.0-lto-mismatch.patch create mode 100644 swipl-9.2.3-lto-mismatch.patch create mode 100644 swipl-9.2.3-template-id.patch diff --git a/pl.spec b/pl.spec index e04bb37..32628b6 100644 --- a/pl.spec +++ b/pl.spec @@ -12,7 +12,7 @@ %global swipl_arch %{_target_cpu}-linux Name: pl -Version: 9.2.2 +Version: 9.2.3 Release: %autorelease Summary: SWI-Prolog - Edinburgh compatible Prolog compiler #LICENSE: BSD-2-Clause @@ -66,6 +66,7 @@ Summary: SWI-Prolog - Edinburgh compatible Prolog compiler #packages/clpqr/clpr/itf_r.pl GPL-2.0-or-later with SWI exception #packages/clpqr/clpr/nf_r.pl GPL-2.0-or-later with SWI exception #packages/clpqr/clpr/store_r.pl GPL-2.0-or-later with SWI exception +#packages/http/http_server_health.pl GPL-2.0-or-later with SWI exception #packages/mqi/python/ MIT #packages/nlp/double_metaphone.c GPL-1.0-or-later OR Artistic-1.0-Perl #packages/nlp/isub.c LGPL-2.0-or-later @@ -159,7 +160,11 @@ Patch2: swipl-8.2.0-unbundle-libstemmer.patch # Fix the bundled minizip for zlib-ng Patch3: swipl-9.0.4-zlib.patch # Fix an LTO type mismatch -Patch4: swipl-9.2.0-lto-mismatch.patch +# https://github.com/SWI-Prolog/packages-semweb/pull/113 +Patch4: swipl-9.2.3-lto-mismatch.patch +# Fix warnings about template IDs +# https://github.com/SWI-Prolog/packages-cpp/pull/80 +Patch5: swipl-9.2.3-template-id.patch # See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} diff --git a/sources b/sources index 6e7734d..fb4526e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (userguide.html.tgz) = baa16d8f06a666e77ef45aaf7708e877710bfcb8fc0fb519bc70c54619c45def2d2ab4feaa0f1a1875b2a2270e8907551b63582da1b4beaa5b50f013a41d7ab9 -SHA512 (swipl-9.2.2_repackaged.tar.gz) = ae5ed472ba6f04a96dc9dcfbdeb444a116fc35c35f151050b8a4357c10ac9164ecca134edaebb345c8ad0a4148a30c5dc66dd7f96cefa4f09ed1ac116aa077b5 +SHA512 (swipl-9.2.3_repackaged.tar.gz) = 6285ae08a47613fc4895ffd807e1fb0e10be210895f0bb9db3860ceaa24b9bf2df02bec99d21a9b647127d7c52851a0fea2d78811ab83cc51e2d8bbae1a07d1d diff --git a/swipl-9.2.0-lto-mismatch.patch b/swipl-9.2.0-lto-mismatch.patch deleted file mode 100644 index 44bfe95..0000000 --- a/swipl-9.2.0-lto-mismatch.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- swipl-9.2.0/packages/semweb/murmur.h.orig 2023-11-30 14:04:16.000000000 -0700 -+++ swipl-9.2.0/packages/semweb/murmur.h 2024-02-01 10:15:16.810339516 -0700 -@@ -16,7 +16,7 @@ - #define OBJ_MURMUR_SEED (0x14e86b12) - #define GRAPH_MURMUR_SEED (0x78a64d55) - --COMMON(unsigned int) rdf_murmer_hash(const void *key, size_t len, unsigned int seed); -+COMMON(unsigned int) rdf_murmer_hash(const void *key, int len, unsigned int seed); - - static inline unsigned int - atom_hash(atom_t a, unsigned int seed) diff --git a/swipl-9.2.3-lto-mismatch.patch b/swipl-9.2.3-lto-mismatch.patch new file mode 100644 index 0000000..ac00bdf --- /dev/null +++ b/swipl-9.2.3-lto-mismatch.patch @@ -0,0 +1,11 @@ +--- swipl-9.2.3/packages/semweb/murmur.c.orig 2024-03-28 13:45:03.000000000 -0600 ++++ swipl-9.2.3/packages/semweb/murmur.c 2024-04-05 10:09:30.257172942 -0600 +@@ -67,7 +67,7 @@ rdf_murmer_hash(const void * key, size_t + #define MIX(h,k,m) { k *= m; k ^= k >> r; k *= m; h *= m; h ^= k; } + + unsigned int +-rdf_murmer_hash(const void *key, int len, unsigned int seed) ++rdf_murmer_hash(const void *key, size_t len, unsigned int seed) + { const unsigned int m = 0x5bd1e995; + const int r = 24; + const unsigned char * data = (const unsigned char *)key; diff --git a/swipl-9.2.3-template-id.patch b/swipl-9.2.3-template-id.patch new file mode 100644 index 0000000..517c6be --- /dev/null +++ b/swipl-9.2.3-template-id.patch @@ -0,0 +1,66 @@ +Fixes these warnings: + +In file included from /builddir/build/BUILD/swipl-9.2.3/packages/cpp/test_cpp.cpp:63: +/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:182:26: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] + 182 | explicit WrappedC(C_t v) + | ^~~ +/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:182:26: note: remove the ‘< >’ +/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:185:16: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] + 185 | WrappedC( const WrappedC&) = default; + | ^ +/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:185:16: note: remove the ‘< >’ +/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:190:3: warning: template-id not allowed for destructor in C++20 [-Wtemplate-id-cdtor] + 190 | ~WrappedC() { } + | ^ +/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:190:3: note: remove the ‘< >’ +/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:1670:45: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] + 1670 | explicit PlForeignContextPtr(PlControl handle) + | ^~~~~~~~~ +/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:1670:45: note: remove the ‘< >’ +/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:1674:35: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] + 1674 | PlForeignContextPtr(const PlForeignContextPtr&) = delete; + | ^ +/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:1674:35: note: remove the ‘< >’ +/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:1675:36: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] + 1675 | PlForeignContextPtr(PlForeignContextPtr&&) = delete; + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:1675:36: note: remove the ‘< >’ + +--- swipl-9.2.3/packages/cpp/SWI-cpp2.h.orig 2024-03-26 01:39:06.000000000 -0600 ++++ swipl-9.2.3/packages/cpp/SWI-cpp2.h 2024-04-05 10:26:48.084014514 -0600 +@@ -179,15 +179,15 @@ public: + + friend C_t *PlUnwrapAsPtr(WrappedC* obj) { return obj ? obj->unwrap_as_ptr() : nullptr; } + +- explicit WrappedC(C_t v) ++ explicit WrappedC(C_t v) + : C_(v) { } + +- WrappedC( const WrappedC&) = default; +- WrappedC& operator =(const WrappedC&) = default; ++ WrappedC( const WrappedC&) = default; ++ WrappedC& operator =(const WrappedC&) = default; + // This simple wrapper class doesn't need a move constructor or + // move operator =. + +- ~WrappedC() { } ++ ~WrappedC() { } + + operator bool() const = delete; // Use not_null(), is_null() instead + bool operator ==(WrappedC o) const { return C_ == o.C_; } +@@ -1667,12 +1667,12 @@ class PlForeignContextPtr + { + public: + [[deprecated("Use PlControl::context_unique_ptr")]] +- explicit PlForeignContextPtr(PlControl handle) ++ explicit PlForeignContextPtr(PlControl handle) + { ptr_.reset(static_cast(handle.foreign_context_address())); + } + +- PlForeignContextPtr(const PlForeignContextPtr&) = delete; +- PlForeignContextPtr(PlForeignContextPtr&&) = delete; ++ PlForeignContextPtr(const PlForeignContextPtr&) = delete; ++ PlForeignContextPtr(PlForeignContextPtr&&) = delete; + PlForeignContextPtr& operator =(const PlForeignContextPtr&) = delete; + PlForeignContextPtr& operator =(PlForeignContextPtr&&) = delete; + From 77024420cb2cd188662f966b5bf25b72e126ace1 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Fri, 5 Apr 2024 12:17:05 -0600 Subject: [PATCH 09/31] Fix use-after-free scenario in swipy --- pl.spec | 3 +++ swipl-9.2.3-janus-ref.patch | 25 +++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 swipl-9.2.3-janus-ref.patch diff --git a/pl.spec b/pl.spec index 32628b6..7a9e591 100644 --- a/pl.spec +++ b/pl.spec @@ -165,6 +165,9 @@ Patch4: swipl-9.2.3-lto-mismatch.patch # Fix warnings about template IDs # https://github.com/SWI-Prolog/packages-cpp/pull/80 Patch5: swipl-9.2.3-template-id.patch +# Avoid a use-after-free scenario in swipy +# https://github.com/SWI-Prolog/packages-swipy/pull/8 +Patch6: swipl-9.2.3-janus-ref.patch # See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} diff --git a/swipl-9.2.3-janus-ref.patch b/swipl-9.2.3-janus-ref.patch new file mode 100644 index 0000000..0cfc557 --- /dev/null +++ b/swipl-9.2.3-janus-ref.patch @@ -0,0 +1,25 @@ +--- swipl-9.2.3/packages/swipy/janus/janus.c.orig 2024-04-04 08:11:51.000000000 -0600 ++++ swipl-9.2.3/packages/swipy/janus/janus.c 2024-04-05 12:02:46.639224747 -0600 +@@ -426,7 +426,6 @@ py_register_module(term_t name, term_t o + goto out; + + m = check_error(PyImport_Import(idobj)); +- Py_DECREF(idobj); + if ( m ) + { PyObject *old = NULL; + if ( mod ) +@@ -434,12 +433,11 @@ py_register_module(term_t name, term_t o + rc = py_add_hashmap(py_module_table, as, m, &old); + if ( old ) + Py_DECREF(old); +- return rc; + } ++out: ++ Py_DECREF(idobj); + } + +-out: +- Py_CLEAR(idobj); + return rc; + } + From c6d9d577df11f3a88d3b0df2cdc35d39e4a2f755 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Sun, 7 Apr 2024 06:42:19 +0000 Subject: [PATCH 10/31] Correct typo in SPDX license --- pl.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pl.spec b/pl.spec index 7a9e591..fd63520 100644 --- a/pl.spec +++ b/pl.spec @@ -326,7 +326,7 @@ given the RDMS independency constraint. %if %{separate_xpce} %package xpce -License: BSD-2-Clause AND AND GPL-2.0-or-later AND GPL-2.0-or-later WITH Bison-exception-2.2 AND LicenseRef-Fedora-Public-Domain AND Spencer-99 AND TCL AND FBM +License: BSD-2-Clause AND GPL-2.0-or-later AND GPL-2.0-or-later WITH Bison-exception-2.2 AND LicenseRef-Fedora-Public-Domain AND Spencer-99 AND TCL AND FBM Summary: A toolkit for developing graphical applications in Prolog Requires: %{name}%{?_isa} = %{version}-%{release} From 916b13d5a65834fabd255e94a2483a31d28caa94 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Fri, 26 Apr 2024 13:06:51 -0600 Subject: [PATCH 11/31] Version 9.2.4 - Drop upstreamed template-id and janus-ref patches --- pl.spec | 8 +---- sources | 2 +- swipl-9.2.3-janus-ref.patch | 25 ------------- swipl-9.2.3-template-id.patch | 66 ----------------------------------- 4 files changed, 2 insertions(+), 99 deletions(-) delete mode 100644 swipl-9.2.3-janus-ref.patch delete mode 100644 swipl-9.2.3-template-id.patch diff --git a/pl.spec b/pl.spec index fd63520..9c73a6c 100644 --- a/pl.spec +++ b/pl.spec @@ -12,7 +12,7 @@ %global swipl_arch %{_target_cpu}-linux Name: pl -Version: 9.2.3 +Version: 9.2.4 Release: %autorelease Summary: SWI-Prolog - Edinburgh compatible Prolog compiler #LICENSE: BSD-2-Clause @@ -162,12 +162,6 @@ Patch3: swipl-9.0.4-zlib.patch # Fix an LTO type mismatch # https://github.com/SWI-Prolog/packages-semweb/pull/113 Patch4: swipl-9.2.3-lto-mismatch.patch -# Fix warnings about template IDs -# https://github.com/SWI-Prolog/packages-cpp/pull/80 -Patch5: swipl-9.2.3-template-id.patch -# Avoid a use-after-free scenario in swipy -# https://github.com/SWI-Prolog/packages-swipy/pull/8 -Patch6: swipl-9.2.3-janus-ref.patch # See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} diff --git a/sources b/sources index fb4526e..ef10868 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (userguide.html.tgz) = baa16d8f06a666e77ef45aaf7708e877710bfcb8fc0fb519bc70c54619c45def2d2ab4feaa0f1a1875b2a2270e8907551b63582da1b4beaa5b50f013a41d7ab9 -SHA512 (swipl-9.2.3_repackaged.tar.gz) = 6285ae08a47613fc4895ffd807e1fb0e10be210895f0bb9db3860ceaa24b9bf2df02bec99d21a9b647127d7c52851a0fea2d78811ab83cc51e2d8bbae1a07d1d +SHA512 (swipl-9.2.4_repackaged.tar.gz) = b0de421011c117e6ccb85212398f7cb84c3f1d8e97986c5d05ac6d31d0375c32c410d5cc73749a0f727a27f36284345cb96472a69dac9d1eaffc85b38678c268 diff --git a/swipl-9.2.3-janus-ref.patch b/swipl-9.2.3-janus-ref.patch deleted file mode 100644 index 0cfc557..0000000 --- a/swipl-9.2.3-janus-ref.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- swipl-9.2.3/packages/swipy/janus/janus.c.orig 2024-04-04 08:11:51.000000000 -0600 -+++ swipl-9.2.3/packages/swipy/janus/janus.c 2024-04-05 12:02:46.639224747 -0600 -@@ -426,7 +426,6 @@ py_register_module(term_t name, term_t o - goto out; - - m = check_error(PyImport_Import(idobj)); -- Py_DECREF(idobj); - if ( m ) - { PyObject *old = NULL; - if ( mod ) -@@ -434,12 +433,11 @@ py_register_module(term_t name, term_t o - rc = py_add_hashmap(py_module_table, as, m, &old); - if ( old ) - Py_DECREF(old); -- return rc; - } -+out: -+ Py_DECREF(idobj); - } - --out: -- Py_CLEAR(idobj); - return rc; - } - diff --git a/swipl-9.2.3-template-id.patch b/swipl-9.2.3-template-id.patch deleted file mode 100644 index 517c6be..0000000 --- a/swipl-9.2.3-template-id.patch +++ /dev/null @@ -1,66 +0,0 @@ -Fixes these warnings: - -In file included from /builddir/build/BUILD/swipl-9.2.3/packages/cpp/test_cpp.cpp:63: -/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:182:26: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] - 182 | explicit WrappedC(C_t v) - | ^~~ -/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:182:26: note: remove the ‘< >’ -/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:185:16: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] - 185 | WrappedC( const WrappedC&) = default; - | ^ -/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:185:16: note: remove the ‘< >’ -/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:190:3: warning: template-id not allowed for destructor in C++20 [-Wtemplate-id-cdtor] - 190 | ~WrappedC() { } - | ^ -/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:190:3: note: remove the ‘< >’ -/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:1670:45: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] - 1670 | explicit PlForeignContextPtr(PlControl handle) - | ^~~~~~~~~ -/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:1670:45: note: remove the ‘< >’ -/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:1674:35: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] - 1674 | PlForeignContextPtr(const PlForeignContextPtr&) = delete; - | ^ -/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:1674:35: note: remove the ‘< >’ -/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:1675:36: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] - 1675 | PlForeignContextPtr(PlForeignContextPtr&&) = delete; - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/builddir/build/BUILD/swipl-9.2.3/packages/cpp/SWI-cpp2.h:1675:36: note: remove the ‘< >’ - ---- swipl-9.2.3/packages/cpp/SWI-cpp2.h.orig 2024-03-26 01:39:06.000000000 -0600 -+++ swipl-9.2.3/packages/cpp/SWI-cpp2.h 2024-04-05 10:26:48.084014514 -0600 -@@ -179,15 +179,15 @@ public: - - friend C_t *PlUnwrapAsPtr(WrappedC* obj) { return obj ? obj->unwrap_as_ptr() : nullptr; } - -- explicit WrappedC(C_t v) -+ explicit WrappedC(C_t v) - : C_(v) { } - -- WrappedC( const WrappedC&) = default; -- WrappedC& operator =(const WrappedC&) = default; -+ WrappedC( const WrappedC&) = default; -+ WrappedC& operator =(const WrappedC&) = default; - // This simple wrapper class doesn't need a move constructor or - // move operator =. - -- ~WrappedC() { } -+ ~WrappedC() { } - - operator bool() const = delete; // Use not_null(), is_null() instead - bool operator ==(WrappedC o) const { return C_ == o.C_; } -@@ -1667,12 +1667,12 @@ class PlForeignContextPtr - { - public: - [[deprecated("Use PlControl::context_unique_ptr")]] -- explicit PlForeignContextPtr(PlControl handle) -+ explicit PlForeignContextPtr(PlControl handle) - { ptr_.reset(static_cast(handle.foreign_context_address())); - } - -- PlForeignContextPtr(const PlForeignContextPtr&) = delete; -- PlForeignContextPtr(PlForeignContextPtr&&) = delete; -+ PlForeignContextPtr(const PlForeignContextPtr&) = delete; -+ PlForeignContextPtr(PlForeignContextPtr&&) = delete; - PlForeignContextPtr& operator =(const PlForeignContextPtr&) = delete; - PlForeignContextPtr& operator =(PlForeignContextPtr&&) = delete; - From eb26a3284b0e868d72f3e0aa2c1ecf3c6e1ff6c7 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Wed, 22 May 2024 08:39:55 -0600 Subject: [PATCH 12/31] Version 9.2.5 - Drop upstreamed zlib patch - Drop junit.jar workaround, now fixed upstream --- pl.spec | 13 ++----------- sources | 2 +- swipl-9.0.4-zlib.patch | 11 ----------- 3 files changed, 3 insertions(+), 23 deletions(-) delete mode 100644 swipl-9.0.4-zlib.patch diff --git a/pl.spec b/pl.spec index 9c73a6c..fc6d90e 100644 --- a/pl.spec +++ b/pl.spec @@ -12,7 +12,7 @@ %global swipl_arch %{_target_cpu}-linux Name: pl -Version: 9.2.4 +Version: 9.2.5 Release: %autorelease Summary: SWI-Prolog - Edinburgh compatible Prolog compiler #LICENSE: BSD-2-Clause @@ -157,11 +157,9 @@ Patch0: swipl-8.2.1-Fix-JNI.patch Patch1: swipl-8.2.0-Remove-files-locations-from-swipl-1-manual.patch # Unbundle libstemmer Patch2: swipl-8.2.0-unbundle-libstemmer.patch -# Fix the bundled minizip for zlib-ng -Patch3: swipl-9.0.4-zlib.patch # Fix an LTO type mismatch # https://github.com/SWI-Prolog/packages-semweb/pull/113 -Patch4: swipl-9.2.3-lto-mismatch.patch +Patch3: swipl-9.2.3-lto-mismatch.patch # See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} @@ -379,10 +377,6 @@ cp -p %{SOURCE2} . sed -i 's#LIBDIR#%{_libdir}#g' packages/jpl/jpl.pl sed -i.jni -e 's#LIBDIR#"%{_libdir}/swipl-jpl"#g' packages/jpl/src/main/java/org/jpl7/JPL.java -# Find junit.jar -sed --in-place 's,\(%{_datadir}/java/junit\)4\.jar,\1.jar,' \ - packages/jpl/cmake/JUnit.cmake - # Build documentation with the original jpl.pl, since the new version refers # to install paths that don't exist yet; then switch before installing. cp -p packages/jpl/jpl.pl packages/jpl/jpl.pl.install @@ -470,8 +464,6 @@ rm %{buildroot}%{_libdir}/swipl-%{version}/{LICENSE,README.md} rm %{buildroot}%{_libdir}/swipl-%{version}/customize/README.md rm %{buildroot}%{_libdir}/swipl-%{version}/lib/swiplserver/LICENSE -# FIXME: src/Tests/transaction/test_transaction_constraints.pl fails on 32-bit -%if 0%{?__isa_bits} == 64 %ifnarch ppc64le %check export LC_ALL=C.UTF-8 @@ -481,7 +473,6 @@ cp -p packages/jpl/jpl.pl.jni packages/jpl/jpl.pl %ctest cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl %endif -%endif %files %license LICENSE diff --git a/sources b/sources index ef10868..52cc74e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (userguide.html.tgz) = baa16d8f06a666e77ef45aaf7708e877710bfcb8fc0fb519bc70c54619c45def2d2ab4feaa0f1a1875b2a2270e8907551b63582da1b4beaa5b50f013a41d7ab9 -SHA512 (swipl-9.2.4_repackaged.tar.gz) = b0de421011c117e6ccb85212398f7cb84c3f1d8e97986c5d05ac6d31d0375c32c410d5cc73749a0f727a27f36284345cb96472a69dac9d1eaffc85b38678c268 +SHA512 (swipl-9.2.5_repackaged.tar.gz) = 14e58a0510959bb9840042203081f5d3014ef2e3345d850e838e152498d5ae4c9cffc99f699f17fe1f8910909c02d8b014f6a408f344d401828687533973cc38 diff --git a/swipl-9.0.4-zlib.patch b/swipl-9.0.4-zlib.patch deleted file mode 100644 index ab12486..0000000 --- a/swipl-9.0.4-zlib.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- swipl-9.0.4/src/minizip/zip.c.orig 2023-01-27 02:16:21.000000000 -0700 -+++ swipl-9.0.4/src/minizip/zip.c 2024-01-22 15:34:30.720495136 -0700 -@@ -46,7 +46,7 @@ - #ifdef Z_U4 - typedef Z_U4 z_crc_t; - #else --typedef unsigned long z_crc_t; -+typedef unsigned int z_crc_t; - #endif - #endif - #endif From b735ea4972ba9f5957780de8da39792748d523dc Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 7 Jun 2024 10:32:13 +0200 Subject: [PATCH 13/31] Rebuilt for Python 3.13 From c277295e8da4b74eaf91d37633e39292c52b0edc Mon Sep 17 00:00:00 2001 From: Jerry James Date: Wed, 17 Jul 2024 14:40:55 -0600 Subject: [PATCH 14/31] Fix VCS field --- pl.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pl.spec b/pl.spec index fc6d90e..0c59b24 100644 --- a/pl.spec +++ b/pl.spec @@ -144,7 +144,7 @@ Summary: SWI-Prolog - Edinburgh compatible Prolog compiler #bench/simple_analyzer.pl Free for non-commercial License: BSD-2-Clause AND BSD-3-Clause AND (Brian-Gladman-3-Clause OR GPL-1.0-or-later) AND Beerware AND CC-BY-SA-3.0 AND (GPL-1.0-or-later OR Artistic-1.0-Perl) AND GPL-2.0-or-later AND GPL-2.0-or-later WITH SWI-Exception AND (GPL-2.0-or-later WITH SWI-Exception OR Artistic-2.0) AND LGPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain AND LPPL-1.3a AND MIT AND Sleepycat AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND Zlib AND dtoa URL: https://www.swi-prolog.org/ -VCS: https://github.com/SWI-Prolog/swipl +VCS: git:https://github.com/SWI-Prolog/swipl.git # Source0: %%{url}/download/stable/src/swipl-%%{version}.tar.gz # To create the repackaged archive, use ./repackage.sh %%{version} Source0: swipl-%{version}_repackaged.tar.gz From 3cdc4365769c74e44ddaf2e8253c4b50e78c1a30 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jul 2024 07:53:28 +0000 Subject: [PATCH 15/31] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 36d15d8e519caaa68ca5043f09bfd0fa78a602f8 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Thu, 25 Jul 2024 15:44:40 -0600 Subject: [PATCH 16/31] Version 9.2.6 - Build with Qt6 instead of Qt5 --- pl.spec | 7 ++++--- sources | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pl.spec b/pl.spec index 0c59b24..8790887 100644 --- a/pl.spec +++ b/pl.spec @@ -12,7 +12,7 @@ %global swipl_arch %{_target_cpu}-linux Name: pl -Version: 9.2.5 +Version: 9.2.6 Release: %autorelease Summary: SWI-Prolog - Edinburgh compatible Prolog compiler #LICENSE: BSD-2-Clause @@ -213,7 +213,8 @@ BuildRequires: pkgconfig(openssl) # jpl %ifarch %{java_arches} BuildRequires: java-devel -BuildRequires: junit +BuildRequires: mvn(junit:junit) +BuildRequires: mvn(org.hamcrest:hamcrest) %endif # nlp BuildRequires: libstemmer-devel @@ -222,7 +223,7 @@ BuildRequires: emacs-devel # uuid BuildRequires: pkgconfig(ossp-uuid) # win -BuildRequires: pkgconfig(Qt5) +BuildRequires: pkgconfig(Qt6) # yaml BuildRequires: pkgconfig(yaml-0.1) # zlib diff --git a/sources b/sources index 52cc74e..b886e0d 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (userguide.html.tgz) = baa16d8f06a666e77ef45aaf7708e877710bfcb8fc0fb519bc70c54619c45def2d2ab4feaa0f1a1875b2a2270e8907551b63582da1b4beaa5b50f013a41d7ab9 -SHA512 (swipl-9.2.5_repackaged.tar.gz) = 14e58a0510959bb9840042203081f5d3014ef2e3345d850e838e152498d5ae4c9cffc99f699f17fe1f8910909c02d8b014f6a408f344d401828687533973cc38 +SHA512 (swipl-9.2.6_repackaged.tar.gz) = 7ec4baa8af64c8c4f5ea5c076ebf6e5369ff4581dd94f4785a628f7264bbb0ba15fb4d1fc7f0cf3046ee729ea7d68d900c8e7e9eff148f6809ce1b612f292063 From da8e17267b40032d4c6909e29a588bf5d13473bd Mon Sep 17 00:00:00 2001 From: Jerry James Date: Tue, 17 Sep 2024 13:09:51 -0600 Subject: [PATCH 17/31] Version 9.2.7 - Change subpackage names to match Debian at upstream's request - Build with tcmalloc support - Unbundle texinfo.tex - Setting LC_ALL is no longer necessary - Drop JavaConfig.java in favor of %%{java_home} - Tests now pass on all architectures - Numerous spec file cleanups and simplifications --- JavaConfig.java | 153 --- pl.spec | 912 ++++++++++-------- sources | 2 +- ...-files-locations-from-swipl-1-manual.patch | 4 +- swipl-8.2.1-Fix-JNI.patch | 4 +- swipl-9.2.3-lto-mismatch.patch | 11 - swipl-9.2.7-gettid.patch | 93 ++ 7 files changed, 615 insertions(+), 564 deletions(-) delete mode 100644 JavaConfig.java delete mode 100644 swipl-9.2.3-lto-mismatch.patch create mode 100644 swipl-9.2.7-gettid.patch diff --git a/JavaConfig.java b/JavaConfig.java deleted file mode 100644 index c5d0f02..0000000 --- a/JavaConfig.java +++ /dev/null @@ -1,153 +0,0 @@ -/* JavaConfig - tool for getting paths for current java environment. - * © 2011, 2012, 2014, 2017 Petr Písař - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -class JavaConfig { - private static String output = ""; - - - /* - * Append text to output with proper padding or terminates if text is null. - * @param text String to append. - */ - private static void concatenate(String text) { - if (text == null) { - System.exit(2); - } - output = (output.equals("") ? "" : output + " " ) + text; - } - - - /* - * Show usage message and terminates program with given @exit_code. - * @param exit_code code to return - * */ - private static void usage(int exitCode) { - System.out.print( - "JavaConfig [OPTIONS]\n" + - " --home Output path to Java home\n" + - " --libs-only-L Output -L linker flags\n" + - " --version Output Java version on first separate line\n" - ); - System.exit(exitCode); - } - - - /* - * @Return path to Java home or null in case of error. - */ - public static String home() { - return System.getProperty("java.home"); - } - - - /* - * @Return formated libary search path as -L compiler flag, - * null if error occured. - * */ - public static String libsOnlyL() { - String value; - String architecture = System.getProperty("os.arch"); - String home = home(); - String filesep = System.getProperty("file.separator"); - String paths[]; - - /* The java.library.path works up to JDK 1.6. */ - if (null == (value = System.getProperty("java.library.path"))) { - return null; - } - - /* The java.library.path does not work since JDK 1.7. See - * . - * The "client" subdirectory is need on AArch64 since JDK 1.8. See - * . */ - if (null == architecture || null == home || null == filesep) { - return null; - } - - /* Experimental 32-bit ARM openjdk variant uses lib/aarch32. See - * . */ - if (architecture.contentEquals("arm") && home.contains("aarch32")) { - architecture = "aarch32"; - } - - value = value + ":" + - home + filesep + "lib" + filesep + architecture + ":" + - home + filesep + "lib" + filesep + architecture + filesep + "server" + - ":" + - home + filesep + "lib" + filesep + architecture + filesep + "client"; - - - /* Convert the colon-delimited paths to LDFLAGS format */ - paths = value.split(":"); - - for (int i = 0; i < paths.length; i++) { - if (paths[i].equals("")) { - continue; - } - - if (i == 0) { - value = "-L" + paths[i]; - } else { - value = value + " -L" + paths[i]; - } - } - value = value + " -Wl,-rpath," + home + filesep + "lib" + architecture + - filesep + "server"; - - return value; - } - - - /* - * @Return version of Java home or null in case of error. - */ - public static String version() { - return System.getProperty("java.version"); - } - - - /* - * Entry point to this class. - */ - public static void main(String argv[]) { - if (argv.length < 1) { - usage(1); - } - - for (int i = 0; i < argv.length; i++) { - if (argv[i].equals("--home")) { - concatenate(home()); - } else if (argv[i].equals("--libs-only-L")) { - concatenate(libsOnlyL()); - } else if (argv[i].equals("--version")) { - /* pkg-config prints version on first line */ - String version = version(); - if (null == version) { - System.exit(2); - } - System.out.println(version); - } else { - usage(1); - } - } - - if (!output.equals("")) { - System.out.println(output); - } - System.exit(0); - } -} diff --git a/pl.spec b/pl.spec index 8790887..9ab904e 100644 --- a/pl.spec +++ b/pl.spec @@ -1,165 +1,27 @@ -# TESTING NOTE: The tests can be run by executing ctest in the build directory. -# However, some tests are guaranteed to fail when built by koji: -# - Those that require a network: http:http, semweb:load, ssl:ssl -# - Those that require JNI: jpl:prolog_in_java, jpl:java_in_prolog -# Also, the zlib:zlib test requires a Unicode locale (via the LC_ALL or LANG -# environment variables). For example: -# export LC_ALL=C.UTF-8 - -%global separate_xpce 1 - # Name of the architecture-specific lib directory %global swipl_arch %{_target_cpu}-linux -Name: pl -Version: 9.2.6 -Release: %autorelease -Summary: SWI-Prolog - Edinburgh compatible Prolog compiler -#LICENSE: BSD-2-Clause -#library/dialect/iso/iso_predicates.pl BSD-2-Clause AND (GPL-2.0-or-later WITH -# SWI-Prolog extra clause or Artistic-2.0) -#library/ugraphs.pl BSD-2-Clause AND (GPL-2.0-or-later WITH -# SWI-Prolog extra clause or Artistic-2.0) -#library/unicode/blocks.pl BSD-2-Clause AND Unicode-DFS-2016 -#man/main.doc CC-BY-SA-3.0 -#man/swipl.cls LPPL-1.3a -#packages/bdb/bdb4pl.doc Sleepycat (due to linking with libdb) -#packages/clib/bsd-crypt.c BSD-3-Clause -#packages/clib/clib.doc (BSD-3-Clause OR GPL-1.0-or-later) AND -# BSD-3-Clause -#packages/clib/md5.c Zlib -#packages/clib/md5.h Zlib -#packages/clib/md5passwd.c Beerware -#packages/clib/sha1/brg_endian.h Brian-Gladman-3-Clause OR GPL-1.0+ -#packages/clib/sha1/brg_types.h Brian-Gladman-3-Clause OR GPL-1.0+ -#packages/clib/sha1/hmac.c Brian-Gladman-3-Clause OR GPL-1.0+ -#packages/clib/sha1/hmac.h Brian-Gladman-3-Clause OR GPL-1.0+ -#packages/clib/sha1/pwd2key.c Brian-Gladman-3-Clause OR GPL-1.0+ -#packages/clib/sha1/pwd2key.h Brian-Gladman-3-Clause OR GPL-1.0+ -#packages/clib/sha1/sha1.c Brian-Gladman-3-Clause OR GPL-1.0+ -#packages/clib/sha1/sha1.h Brian-Gladman-3-Clause OR GPL-1.0+ -#packages/clib/sha1/sha1b.c Brian-Gladman-3-Clause OR GPL-1.0+ -#packages/clib/sha1/sha2.c Brian-Gladman-3-Clause OR GPL-1.0+ -#packages/clib/sha1/sha2.h Brian-Gladman-3-Clause OR GPL-1.0+ -#packages/clib/sha1/sha2b.c Brian-Gladman-3-Clause OR GPL-1.0+ -#packages/clpqr/clpq.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpq/bb_q.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpq/bv_q.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpq/fourmotz_q.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpq/ineq_q.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpq/itf_q.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpq/nf_q.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpq/store_q.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpqr/class.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpqr/clpq.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpqr/dump.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpqr/geler.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpqr/itf.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpqr/ordering.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpqr/project.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpqr/redund.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpr.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpr/bb_r.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpr/bv_r.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpr/fourmotz_r.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpr/ineq_r.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpr/itf_r.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpr/nf_r.pl GPL-2.0-or-later with SWI exception -#packages/clpqr/clpr/store_r.pl GPL-2.0-or-later with SWI exception -#packages/http/http_server_health.pl GPL-2.0-or-later with SWI exception -#packages/mqi/python/ MIT -#packages/nlp/double_metaphone.c GPL-1.0-or-later OR Artistic-1.0-Perl -#packages/nlp/isub.c LGPL-2.0-or-later -#packages/plunit/swi.pl BSD-2-Clause and (GPL-2.0-or-later WITH -# SWI-Prolog extra clause OR Artistic-2.0) -#packages/protobufs/interop/google/ BSD-3-Clause -#packages/semweb/md5.c Zlib -#packages/semweb/md5.h Zlib -#packages/semweb/murmur.c LicenseRef-Fedora-Public-Domain -#packages/semweb/murmur.h LicenseRef-Fedora-Public-Domain -#packages/tipc/tipcutils/tipc-config.c BSD-3-Clause -#packages/utf8proc/pgsql/utf8proc_pgsql.c MIT -#packages/utf8proc/ruby/utf8proc_native.c MIT -#packages/utf8proc/ruby/utf8proc_rb.c MIT -#packages/utf8proc/utf8proc.c MIT -#packages/utf8proc/utf8proc.doc MIT AND Unicode-DFS-2015 -#packages/utf8proc/utf8proc.h MIT -#packages/utf8proc/utf8proc_data.c Unicode-DFS-2015 -#packages/xpce/src/gnu/getdate-source.y LicenseRef-Fedora-Public-Domain -#packages/xpce/src/gnu/getdate.c LicenseRef-Fedora-Public-Domain AND -# GPL-2.0-or-later WITH Bison-exception-2.2 -#packages/xpce/src/gnu/y.tab LicenseRef-Fedora-Public-Domain -#packages/xpce/src/img/gifwrite.c Part is FBM -#packages/xpce/src/rgx/ Spencer-99 AND TCL -#packages/xpce/src/x11/xdnd.h GPL-2.0-or-later -#scripts/swipl-bt LicenseRef-Fedora-Public-Domain -#src/minizip/ Zlib -#src/os/dtoa.c dtoa -#src/pl-hash.c LicenseRef-Fedora-Public-Domain -#src/pl-hash.h LicenseRef-Fedora-Public-Domain -#src/swipl-ld.1 LGPL-2.0-or-later -#src/tools/functions.pm LicenseRef-Fedora-Public-Domain +Name: pl +Version: 9.2.7 +Release: %autorelease +Summary: ISO/Edinburgh-style Prolog interpreter -# Not compiled into a binary package: -#External: JavaConfig.java GPL-3.0-or-later -#External: repackage.sh GPL-2.0-or-later -#bench/chat_parser.pl MIT -#packages/RDF/configure FSFUL -#packages/clib/configure FSFUL -#packages/clpqr/.fileheader GPL-2.0-or-later with SWI exception -#packages/clpqr/configure FSFUL -#packages/cpp/configure FSFUL -#packages/http/examples/calc.pl LicenseRef-Fedora-Public-Domain -#packages/http/web/js/jquery* MIT -#packages/nlp/configure FSFUL -#packages/pcre/cmake/FindPCRE.cmake MIT -#packages/protobufs/configure FSFUL -#packages/sgml/configure FSFUL -#packages/ssl/configure FSFUL -#packages/stomp/examples/ping.pl LicenseRef-Fedora-Public-Domain -#packages/stomp/examples/pong.pl LicenseRef-Fedora-Public-Domain -#packages/stomp/examples/simple.pl LicenseRef-Fedora-Public-Domain -#packages/swipl-win/README.md LGPL-2.1-only -#packages/utf8proc/LICENSE MIT AND Unicode-DFS-2015 -#packages/utf8proc/data_generator.rb MIT AND Unicode-DFS-2015 -#packages/utf8proc/ruby/gem/LICENSE MIT AND Unicode-DFS-2015 -#packages/xpce/TeX/name.bst LicenseRef-Bibtex -#packages/xpce/man/info/texinfo.tex GPL-2.0-or-later -#packages/xpce/src/configure FSFUL -#packages/xpce/src/msw/simx.h SGI-B-2.0 -#packages/xpce/src/msw/xpm.h SGI-B-2.0 -#packages/zlib/configure FSFUL -#src/libbf/cutils.c MIT -#src/libbf/cutils.h MIT -#src/libbf/libbf.c MIT -#src/libbf/libbf.h MIT -#src/libbf/mersenne-twister.c BSD-3-Clause -#src/libbf/mersenne-twister.h BSD-3-Clause -#src/Tests/ BSD-2-Clause AND GPL-2.0-or-later WITH -# SWI-Prolog extra clause -#src/tools/update-deps LicenseRef-Fedora-Public-Domain -# Removed from repackaged tar ball, see -# : -#bench/unify.pl Free for non-commercial -#bench/simple_analyzer.pl Free for non-commercial -License: BSD-2-Clause AND BSD-3-Clause AND (Brian-Gladman-3-Clause OR GPL-1.0-or-later) AND Beerware AND CC-BY-SA-3.0 AND (GPL-1.0-or-later OR Artistic-1.0-Perl) AND GPL-2.0-or-later AND GPL-2.0-or-later WITH SWI-Exception AND (GPL-2.0-or-later WITH SWI-Exception OR Artistic-2.0) AND LGPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain AND LPPL-1.3a AND MIT AND Sleepycat AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND Zlib AND dtoa -URL: https://www.swi-prolog.org/ -VCS: git:https://github.com/SWI-Prolog/swipl.git -# Source0: %%{url}/download/stable/src/swipl-%%{version}.tar.gz +License: BSD-2-Clause +URL: https://www.swi-prolog.org/ +VCS: git:https://github.com/SWI-Prolog/swipl.git +# Source0: %%{url}download/stable/src/%%{name}-%%{version}.tar.gz # To create the repackaged archive, use ./repackage.sh %%{version} -Source0: swipl-%{version}_repackaged.tar.gz -Source1: %{url}download/xpce/doc/userguide/userguide.html.tgz -Source2: JavaConfig.java -Source3: repackage.sh +Source0: swipl-%{version}_repackaged.tar.gz +Source1: %{url}download/xpce/doc/userguide/userguide.html.tgz +Source2: repackage.sh # Use JNI for Java binding -Patch0: swipl-8.2.1-Fix-JNI.patch +Patch0: swipl-8.2.1-Fix-JNI.patch # Upstream installation paths differ from distribution ones -Patch1: swipl-8.2.0-Remove-files-locations-from-swipl-1-manual.patch +Patch1: swipl-8.2.0-Remove-files-locations-from-swipl-1-manual.patch # Unbundle libstemmer -Patch2: swipl-8.2.0-unbundle-libstemmer.patch -# Fix an LTO type mismatch -# https://github.com/SWI-Prolog/packages-semweb/pull/113 -Patch3: swipl-9.2.3-lto-mismatch.patch +Patch2: swipl-8.2.0-unbundle-libstemmer.patch +# Use the glibc wrapper for gettid +Patch3: swipl-9.2.7-gettid.patch # See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} @@ -170,37 +32,29 @@ BuildRequires: gcc-c++ BuildRequires: ninja-build # Base BuildRequires: gmp-devel +BuildRequires: libatomic BuildRequires: pkgconfig BuildRequires: pkgconfig(libedit) BuildRequires: pkgconfig(libpcre2-posix) BuildRequires: pkgconfig(libtcmalloc) BuildRequires: pkgconfig(ncurses) -%if 0%{?el8} -# on el8 readline isn't picked up by pkgconfig -BuildRequires: readline-devel -%else BuildRequires: pkgconfig(readline) -%endif # archive BuildRequires: pkgconfig(libarchive) # http BuildRequires: js-jquery # XPCE -BuildRequires: pkgconfig(ice) +BuildRequires: pkgconfig(fontconfig) +BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(libjpeg) -BuildRequires: pkgconfig(sm) BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xft) BuildRequires: pkgconfig(xinerama) BuildRequires: pkgconfig(xpm) +BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(xt) -# Freetype support in XPCE -BuildRequires: pkgconfig(fontconfig) -BuildRequires: pkgconfig(freetype2) -BuildRequires: pkgconfig(xaw7) -BuildRequires: pkgconfig(xext) -BuildRequires: pkgconfig(xmu) -BuildRequires: pkgconfig(xrender) +BuildRequires: texinfo-tex # bdb BuildRequires: libdb-devel # mqi / swiplserver @@ -235,121 +89,316 @@ BuildRequires: tex(latex) BuildRequires: tex(a4wide.sty) BuildRequires: tex(tabulary.sty) %endif -# http -Requires: js-jquery + +%global _desc %{expand: +SWI-Prolog is a fast and powerful ISO/Edinburgh-style Prolog compiler with a +rich set of built-in predicates. It offers a fast, robust and small +environment which enables substantial applications to be developed with it. + +SWI-Prolog additionally offers: + +* A powerful module system +* Garbage collection +* Unicode character set handling +* Unbounted integer and rational number arithmetic +* Multithreading support +* A powerful C/C++ interface +* GNU Readline interface +} + +%description %_desc + +# Not compiled into a binary package: +#External: repackage.sh GPL-2.0-or-later +#bench/ Various licenses +#packages/RDF/configure FSFUL +#packages/clib/configure FSFUL +#packagfes/clib/demo/ Public Domain +#packages/clpqr/.fileheader GPL-2.0-or-later with SWI exception +#packages/clpqr/configure FSFUL +#packages/cpp/configure FSFUL +#packages/http/examples/ LicenseRef-Fedora-Public-Domain +#packages/http/web/js/jquery* MIT +#packages/nlp/configure FSFUL +#packages/pcre/cmake/FindPCRE.cmake MIT +#packages/protobufs/configure FSFUL +#packages/sgml/configure FSFUL +#packages/ssl/configure FSFUL +#packages/ssl/https.pl LicenseRef-Fedora-Public-Domain +#packages/stomp/examples/ LicenseRef-Fedora-Public-Domain +#packages/swipy/tests/ LicenseRef-Fedora-Public-Domain +#packages/utf8proc/LICENSE MIT AND Unicode-DFS-2015 +#packages/utf8proc/data_generator.rb MIT AND Unicode-DFS-2015 +#packages/utf8proc/ruby/gem/LICENSE MIT AND Unicode-DFS-2015 +#packages/xpce/TeX/name.bst LicenseRef-Bibtex +#packages/xpce/deps/xpm/ X11 +#packages/xpce/src/configure FSFUL +#packages/xpce/src/msw/simx.h SGI-B-2.0 +#packages/xpce/src/msw/xpm.h SGI-B-2.0 +#packages/zlib/configure FSFUL +#scripts/swipl-bt LicenseRef-Fedora-Public-Domain +#src/libbf/cutils.c MIT +#src/libbf/cutils.h MIT +#src/libbf/libbf.c MIT +#src/libbf/libbf.h MIT +#src/tools/functions.pm LicenseRef-Fedora-Public-Domain +#src/Tests/ BSD-2-Clause AND GPL-2.0-or-later WITH +# SWI-Prolog extra clause +#src/tools/update-deps LicenseRef-Fedora-Public-Domain +# Removed from repackaged tar ball, see +# : +#bench/unify.pl Free for non-commercial +#bench/simple_analyzer.pl Free for non-commercial +#License: BSD-2-Clause AND BSD-3-Clause AND (Brian-Gladman-3-Clause OR GPL-1.0-or-later) AND Beerware AND CC-BY-SA-3.0 AND (GPL-1.0-or-later OR Artistic-1.0-Perl) AND GPL-2.0-or-later AND GPL-2.0-or-later WITH SWI-Exception AND (GPL-2.0-or-later WITH SWI-Exception OR Artistic-2.0) AND LGPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain AND LPPL-1.3a AND MIT AND Sleepycat AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND Zlib AND dtoa + +%package -n swi-prolog +Summary: ISO/Edinburgh-style Prolog interpreter +BuildArch: noarch +Requires: swi-prolog-doc = %{version}-%{release} +Requires: swi-prolog-nox = %{version}-%{release} +Requires: swi-prolog-x = %{version}-%{release} + +# This can be removed when F45 reaches EOL +Obsoletes: pl < 9.2.7-2 +Provides: pl = %{version}-%{release} +Obsoletes: pl-devel < 9.2.7-2 +Provides: pl-devel = %{version}-%{release} +Obsoletes: pl-compat-yap-devel < 9.2.7-2 +Provides: pl-compat-yap-devel = %{version}-%{release} + +%description -n swi-prolog %_desc +This is a metapackage, which installs the SWI-Prolog suite, except Java, ODBC, +Berkeley DB support and tests. + +%package -n swi-prolog-full +Summary: ISO/Edinburgh-style Prolog interpreter - full suite +BuildArch: noarch +Requires: swi-prolog = %{version}-%{release} +Requires: swi-prolog-bdb = %{version}-%{release} +Requires: swi-prolog-java = %{version}-%{release} +Requires: swi-prolog-odbc = %{version}-%{release} +Requires: swi-prolog-win = %{version}-%{release} + +%description -n swi-prolog-full %_desc +This is a metapackage, which installs the full SWI-Prolog suite, except tests. + +%package -n swi-prolog-core +# NOTE: There is no swi-prolog-core-devel package. Instead, the header files +# and other development files are included in this package. It is a Prolog +# compiler, and therefore is a development package itself. +# +# The project as a whole is distributed under the BSD-2-Clause license. +# These files carry different licenses: +# library/aggregate.pl BSD-2-Clause AND LicenseRef-Fedora-Public-Domain +# library/dialect/bim.pl LicenseRef-Fedora-Public-Domain +# library/dialect/iso/iso_predicates.pl BSD-2-Clause AND (GPL-2.0-or-later +# WITH SWI-Exception OR Artistic-2.0) +# library/unicode/blocks.pl BSD-2-Clause AND Unicode-TOU +# src/libbf/mersenne-twister.c BSD-3-Clause +# src/libbf/mersenne-twister.h BSD-3-Clause +# src/libtai/ LicenseRef-Fedora-Public-Domain +# src/minizip/ Zlib +# src/os/dtoa.c dtoa +# src/pl-hash.{c,h} LicenseRef-Fedora-Public-Domain +License: BSD-2-Clause AND BSD-3-Clause AND (GPL-2.0-or-later WITH SWI-Exception OR Artistic-2.0) AND LicenseRef-Fedora-Public-Domain AND Unicode-TOU AND Zlib AND dtoa +Summary: ISO/Edinburgh-style Prolog interpreter - core system +Recommends: swi-prolog-bdb%{?_isa} = %{version}-%{release} +Recommends: swi-prolog-core-packages%{?_isa} = %{version}-%{release} +Recommends: swi-prolog-doc = %{version}-%{release} +Recommends: swi-prolog-java%{?_isa} = %{version}-%{release} +Recommends: swi-prolog-odbc%{?_isa} = %{version}-%{release} # Old version of minizip is bundled -Provides: bundled(minizip) = 1.2.11 +Provides: bundled(minizip) = 1.3.1 +%description -n swi-prolog-core %_desc +This package contains the core SWI-Prolog system. + +%package -n swi-prolog-core-packages +# The project as a whole is distributed under the BSD-2-Clause license. +# These files carry different licenses: +# library/ugraphs.pl BSD-2-Clause OR Artistic-2.0 +# packages/clib/bsd-crypt.c BSD-3-Clause +# packages/clib/md5.{c,h} Zlib +# packages/clib/md5passwd.c Beerware +# packages/clib/sha1/ Brian-Gladman-3-Clause OR GPL-1.0+ +# packages/clpqr/ GPL-2.0-or-later with SWI-exception +# packages/http/http_server_health.pl GPL-2.0-or-later with SWI-exception +# packages/http/http_stream.pl BSD-2-Clause AND MIT +# packages/http/multipart.c BSD-2-Clause AND MIT +# packages/mqi/python/ MIT +# packages/nlp/double_metaphone.c GPL-1.0-or-later OR Artistic-1.0-Perl +# packages/nlp/isub.c LGPL-2.0-or-later +# packages/protobufs/interop/google/ BSD-3-Clause +# packages/semweb/md5.{c,h} Zlib +# packages/semweb/murmur.{c,h} LicenseRef-Fedora-Public-Domain +# packages/sgml/DTD/ W3C +# packages/sweep/emacs-module.h GPL-3.0-or-later +# packages/sweep/sweep.texi GFDL-1.3-no-invariants-or-later +# packages/utf8proc/ MIT AND Unicode-DFS-2015 +# +# Note that packages/redis/redis.pl was relicensed. It contains a note about +# the former license (MIT), but is no longer distributed under that license. +License: BSD-2-Clause AND (Brian-Gladman-3-Clause OR GPL-1.0-or-later) AND (BSD-2-Clause OR Artistic-2.0) AND BSD-3-Clause AND Beerware AND GFDL-1.3-no-invariants-or-later AND (GPL-1.0-or-later OR Artistic-1.0-Perl) AND GPL-2.0-or-later with SWI-exception AND GPL-3.0-or-later AND LGPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain AND MIT AND Unicode-DFS-2015 AND W3C AND Zlib +Summary: ISO/Edinburgh-style Prolog interpreter - core packages +Requires: swi-prolog-core%{?_isa} = %{version}-%{release} +Requires: js-jquery +Requires: texlive-base +Recommends: swi-prolog-bdb%{?_isa} = %{version}-%{release} +Recommends: swi-prolog-doc = %{version}-%{release} +Recommends: swi-prolog-java%{?_isa} = %{version}-%{release} +Recommends: swi-prolog-odbc%{?_isa} = %{version}-%{release} + +# packages/clib and packages/semweb both contain an MD5 implementation # See https://fedoraproject.org/wiki/Bundled_Libraries_Virtual_Provides Provides: bundled(md5-deutsch) -# This can be removed when F40 reaches EOL -%ifnarch %{java_arches} -Obsoletes: pl-java < 8.4.3-2 -%endif +%description -n swi-prolog-core-packages %_desc +This package contains the core SWI-Prolog packages. -%description -ISO/Edinburgh-style Prolog compiler including modules, auto-load, -libraries, Garbage-collector, stack-expandor, C/C++-interface, -GNU-readline interface, very fast compiler. Including packages clib -(Unix process control and sockets), cpp (C++ interface), sgml (reading -XML/SGML), sgml/RDF (reading RDF into triples). -%if %{separate_xpce} -XPCE (Graphics UI toolkit, integrated editor (Emacs-clone) and source-level -debugger) is available in %{name}-xpce package. -%else -Also XPCE (Graphics UI toolkit, integrated editor (Emacs-clone) and -source-level debugger) is included. -%endif +%package -n swi-prolog-nox +# The project as a whole is distributed under the BSD-2-Clause license. +# These files carry different licenses: +# packages/ssl/crypt_blowfish.{c,h} bcrypt-Solar-Designer +# packages/tipc/tipcutils/tipc-config.c BSD-3-Clause +License: BSD-2-Clause AND BSD-3-Clause AND bcrypt-Solar-Designer +Summary: ISO/Edinburgh-style Prolog interpreter - without X support +Requires: swi-prolog-core%{?_isa} = %{version}-%{release} +Requires: swi-prolog-core-packages%{?_isa} = %{version}-%{release} +Recommends: swi-prolog-bdb%{?_isa} = %{version}-%{release} +Recommends: swi-prolog-doc = %{version}-%{release} +Recommends: swi-prolog-java%{?_isa} = %{version}-%{release} +Recommends: swi-prolog-odbc%{?_isa} = %{version}-%{release} +%description -n swi-prolog-nox %_desc +This package contains a SWI-Prolog installation without GUI components. -%package devel -Summary: Development files for SWI Prolog -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: gcc -Requires: pkgconfig%{?_isa} -Requires: readline-devel%{?_isa} +%package -n swi-prolog-x +# The project as a whole is distributed under the BSD-2-Clause license. +# These files carry different licenses: +# packages/xpce/man/course CC-BY-SA-3.0 +# packages/xpce/man/info CC-BY-SA-3.0 +# packages/xpce/src/gnu/getdate.c LicenseRef-Fedora-Public-Domain AND +# GPL-2.0-or-later WITH Bison-exception-2.2 +# packages/xpce/src/gnu/getdate-source.y LicenseRef-Fedora-Public-Domain +# packages/xpce/src/gnu/y.tab LicenseRef-Fedora-Public-Domain +# packages/xpce/src/img/gifwrite.c BSD-2-Clause AND FBM AND HPND-Pbmplus +# packages/xpce/src/img/jdatadst.c BSD-2-Clause AND IJG +# packages/xpce/src/rgx/ Spencer-99 AND TCL AND PostgreSQL +# packages/xpce/src/x11/xdnd.{c,h} LGPL-2.0-or-later +License: BSD-2-Clause AND CC-BY-SA-3.0 AND FBM AND GPL-2.0-or-later WITH Bison-exception-2.2 AND HPND-Pbmplus AND IJG AND LGPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain AND PostgreSQL AND Spencer-99 AND TCL +Summary: ISO/Edinburgh-style Prolog interpreter - with X support +Requires: swi-prolog-nox%{?_isa} = %{version}-%{release} -%description devel -Development files for SWI Prolog. +# This can be removed when F45 reaches EOL +Obsoletes: pl-xpce < 9.2.7-2 +Provides: pl-xpce = %{version}-%{release} - -%package compat-yap-devel -Summary: Development files for building YAP applications against SWI Prolog -License: BSD-2-Clause -Requires: %{name}-devel%{?_isa} = %{version}-%{release} - -%description compat-yap-devel -This package enables building YAP (Yet Another Prolog) applications -against the SWI Prolog implementation. - - -%package doc -Summary: Documentation for SWI Prolog -License: BSD-2-Clause -# This must be architecture dependent because some files live in %%{_libdir} -# because they are used by built-in documentation system. -Requires: %{name}%{?_isa} = %{version}-%{release} - -%description doc -%{summary}. - - -%package odbc -Summary: SWI-Prolog ODBC interface -License: BSD-2-Clause -Requires: %{name}%{?_isa} = %{version}-%{release} - -%description odbc -The value of RDMS for Prolog is often over-estimated, as Prolog itself can -manage substantial amounts of data. Nevertheless a Prolog/RDMS interface -provides advantages if data is already provided in an RDMS, data must be -shared with other applications, there are strong persistency requirements -or there is too much data to fit in memory. - -The popularity of ODBC makes it possible to design a single -foreign-language module that provides RDMS access for a wide variety of -databases on a wide variety of platforms. The SWI-Prolog RDMS interface is -closely modeled after the ODBC API. This API is rather low-level, but -defaults and dynamic typing provided by Prolog give the user quite simple -access to RDMS, while the interface provides the best possible performance -given the RDMS independency constraint. - - -%if %{separate_xpce} -%package xpce -License: BSD-2-Clause AND GPL-2.0-or-later AND GPL-2.0-or-later WITH Bison-exception-2.2 AND LicenseRef-Fedora-Public-Domain AND Spencer-99 AND TCL AND FBM -Summary: A toolkit for developing graphical applications in Prolog -Requires: %{name}%{?_isa} = %{version}-%{release} - -%description xpce -XPCE is a toolkit for developing graphical applications in Prolog and other -interactive and dynamically typed languages. XPCE follows a rather unique -approach of for developing GUI applications, as follows: +%description -n swi-prolog-x %_desc +This package contains XPCE, an object-oriented symbolic programming +environment for user interfaces. Although XPCE was designed to be +language-independent, it has gained the most popularity with Prolog. XPCE +follows a rather unique approach for developing GUI applications, as follows: - Add object layer to Prolog - High level of abstraction - Exploit rapid Prolog development cycle - Platform independent programs -%endif - %ifarch %{java_arches} -%package jpl -License: BSD-2-Clause -Summary: A bidirectional Prolog/Java interface for SWI Prolog -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: java-headless -Requires: javapackages-tools +%package -n swi-prolog-java +Summary: Bidirectional interface between SWI-Prolog and Java +Requires: swi-prolog%{?_isa} = %{version}-%{release} +Requires: java-headless +Requires: javapackages-tools -%description jpl -JPL is a library using the SWI-Prolog foreign interface and the Java Native -Interface providing a bidirectional interface between Java and Prolog -that can be used to embed Prolog in Java as well as for embedding Java -in Prolog. In both setups it provides a re-entrant bidirectional interface. +# This can be removed when F45 reaches EOL +Obsoletes: pl-jpl < 9.2.7-2 +Provides: pl-jpl = %{version}-%{release} + +%description -n swi-prolog-java %_desc +This package provides JPL, a library using the SWI-Prolog foreign interface +and the Java Native Interface to provide a bidirectional interface between +Java and Prolog. Prolog can be embedded in Java, and Java can be embedded in +Prolog. It provides a reentrant bidirectional interface in both cases. %endif +%package -n swi-prolog-odbc +Summary: SWI-Prolog ODBC interface +Requires: swi-prolog-nox%{?_isa} = %{version}-%{release} + +# This can be removed when F45 reaches EOL +Obsoletes: pl-odbc < 9.2.7-2 +Provides: pl-odbc = %{version}-%{release} + +%description -n swi-prolog-odbc %_desc +The value of RDMS for Prolog is often overestimated, as Prolog itself can +manage substantial amounts of data. Nevertheless a Prolog/RDMS interface +provides advantages if data is already provided in an RDMS, data must be +shared with other applications, there are strong persistence requirements or +there is too much data to fit in memory. + +The popularity of ODBC makes it possible to design a single foreign-language +module that provides RDMS access for a wide variety of databases on a wide +variety of platforms. The SWI-Prolog RDMS interface is closely modeled after +the ODBC API. This API is rather low-level, but defaults and dynamic typing +provided by Prolog give the user quite simple access to RDMS, while the +interface provides the best possible performance given the RDMS independence +constraint. + +%package -n swi-prolog-bdb +Summary: SWI-Prolog Berkeley DB interface +Requires: swi-prolog-nox%{?_isa} = %{version}-%{release} + +%description -n swi-prolog-bdb %_desc +This package provides a foreign language extension to the Berkeley DB (libdb) +embedded database. + +%package -n swi-prolog-doc +# The project as a whole is distributed under the BSD-2-Clause license. +# These files carry different licenses: +# man/bk9.co LPPL-1.3a+ +# man/main.doc CC-BY-SA-3.0 +# man/name.bst Knuth-CTAN +# man/swipl.cls LPPL-1.3a+ +# The PDF of the manual contains embedded fonts with these licenses: +# CM: Knuth-CTAN +# Nimbus: AGPL-3.0-only +License: BSD-2-Clause AND CC-BY-SA-3.0 AND Knuth-CTAN AND LPPL-1.3a+ AND AGPL-3.0-only +Summary: Documentation and examples for SWI-Prolog +BuildArch: noarch +Requires: swi-prolog-core%{?_isa} = %{version}-%{release} + +# This can be removed when F45 reaches EOL +Obsoletes: pl-doc < 9.2.7-2 +Provides: pl-doc = %{version}-%{release} + +%description -n swi-prolog-doc %_desc +This package provides documentation and examples. + +%package -n swi-prolog-test +# The project as a whole is distributed under the BSD-2-Clause license. +# These files carry different licenses: +# src/Tests/compile/test_autoload.pl GPL-2.0-or-later WITH SWI-exception +# src/Tests/core/test_arith.pl LGPL-2.1-or-later +# src/Tests/core/test_coroutining.pl BSD-2-Clause AND GPL-2.0-or-later +# src/Tests/xsb/**/*.P LGPL-2.0-only +License: BSD-2-Clause AND GPL-2.0-or-later AND GPL-2.0-or-later WITH SWI-exception AND LGPL-2.0-only AND LGPL-2.1-or-later +Summary: Tests and checks for SWI-Prolog +Requires: swi-prolog-nox%{?_isa} = %{version}-%{release} + +%description -n swi-prolog-test %_desc +This package provides a set of prepared tests and checks for installed +SWI-Prolog systems. This package is intended for SWI-Prolog development and +is of no use for ordinary users. If you are not sure if you need this +package, you do not. + +%package -n swi-prolog-win +Summary: SWI-Prolog GUI interface +Requires: swi-prolog-core%{?_isa} = %{version}-%{release} + +%description -n swi-prolog-win %_desc +This package provides a Qt-based GUI for SWI-Prolog. %prep %global docdir doc-install @@ -386,6 +435,10 @@ cp -p packages/jpl/jpl.pl.jni packages/jpl/jpl.pl # Do not use the bundled libstemmer rm -fr packages/nlp/libstemmer_c +# Do not use the bundled texinfo.tex +rm packages/xpce/man/info/texinfo.tex +ln -s %{_texmf}/tex/texinfo/texinfo.tex packages/xpce/man/info + # Avoid a clash on doc names cp -p customize/README.md README-customize.md @@ -394,12 +447,9 @@ cd packages/mqi/python %pyproject_buildrequires %build -export LC_ALL=C.UTF-8 %ifarch %{java_arches} -javac JavaConfig.java -JAVA_HOME=$(java JavaConfig --home) -JAVA_LIBS=$(java JavaConfig --libs-only-L) -export LD_LIBRARY_PATH=$JAVA_HOME/lib/server +export JAVA_HOME=%{java_home} +export LD_LIBRARY_PATH=%{java_home}/lib/server %else # Processed by packages/configure export DISABLE_PKGS="jpl" @@ -410,10 +460,13 @@ export DISABLE_PKGS="jpl" -DBUILD_PDF_DOCUMENTATION:BOOL=%{?fedora:ON}%{!?fedora:OFF} \ -DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} \ -DCPACK_GENERATOR:STRING=RPM \ - -DGET0SIG_CONST_T:STRING=const \ + -DINSTALL_TESTS:BOOL=ON \ -DJQUERYDIR:PATH=%{_datadir}/javascript/jquery/latest \ + -DSKIP_SSL_TESTS:BOOL=ON \ -DSWIPL_INSTALL_IN_LIB:BOOL=ON \ - -DSWIPL_VERSIONED_DIR:BOOL=ON \ + -DSWIPL_INSTALL_IN_SHARE:BOOL=ON \ + -DSWIPL_VERSIONED_DIR:BOOL=OFF \ + -DUSE_TCMALLOC:BOOL=ON \ -G Ninja # Help latex2html find the bibliographies @@ -434,11 +487,27 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl %cmake_install # Script with shebang should be executable -chmod 0755 %{buildroot}%{_libdir}/swipl-%{version}/library/dialect/sicstus/swipl-lfr.pl -chmod 0755 %{buildroot}%{_libdir}/swipl-%{version}/customize/edit +chmod 0755 %{buildroot}%{_libdir}/swipl/library/dialect/sicstus/swipl-lfr.pl +chmod 0755 %{buildroot}%{_libdir}/swipl/customize/edit # Some XPCE files do not get installed cp -p packages/xpce/man/*.1 %{buildroot}%{_mandir}/man1 +cp -a packages/xpce/man/course %{buildroot}%{_libdir}/swipl/xpce/man + +# Let LaTeX know about the style file +mkdir -p %{buildroot}%{_texmf}/tex/latex/swi-prolog +ln %{buildroot}%{_libdir}/swipl/library/ext/pldoc/pldoc/pldoc.sty \ + %{buildroot}%{_texmf}/tex/latex/swi-prolog/pldoc.sty + +# Install the sweep info file +mkdir -p %{buildroot}%{_infodir} +cd packages/sweep +makeinfo sweep.texi +cp -p sweep.info %{buildroot}%{_infodir} +cd - + +# Fix the pkgconfig file +sed -i 's,/usr//usr,/usr,' %{buildroot}%{_datadir}/pkgconfig/swipl.pc %ifarch %{java_arches} # Move the JPL JNI stuff to where the Java packaging guidelines @@ -446,164 +515,217 @@ cp -p packages/xpce/man/*.1 %{buildroot}%{_mandir}/man1 jpl_ver=$(sed -n 's/.*JPL_VERSION \([.[:digit:]]*\).*/\1/p' packages/jpl/CMakeLists.txt) mkdir -p %{buildroot}%{_libdir}/swipl-jpl -mv %{buildroot}%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/libjpl.so \ +mv %{buildroot}%{_libdir}/swipl/lib/%{swipl_arch}/libjpl.so \ %{buildroot}%{_libdir}/swipl-jpl mkdir -p %{buildroot}%{_jnidir} -mv %{buildroot}%{_libdir}/swipl-%{version}/lib/jpl.jar %{buildroot}%{_jnidir} +mv %{buildroot}%{_libdir}/swipl/lib/jpl.jar %{buildroot}%{_jnidir} ln -s ../lib/jpl.jar %{buildroot}%{_libdir}/swipl-jpl # Original locations are referenced by internal libraries and examples cd %{buildroot}%{_libdir} -ln -s ../../../swipl-jpl/libjpl.so swipl-%{version}/lib/%{swipl_arch}/libjpl.so -ln -s ../../swipl-jpl/jpl.jar swipl-%{version}/lib/jpl.jar +ln -s ../../../swipl-jpl/libjpl.so swipl/lib/%{swipl_arch}/libjpl.so +ln -s ../../swipl-jpl/jpl.jar swipl/lib/jpl.jar cd - %endif # Remove stuff we do not want to package -rm %{buildroot}%{_libdir}/swipl-%{version}/{LICENSE,README.md} -rm %{buildroot}%{_libdir}/swipl-%{version}/customize/README.md -rm %{buildroot}%{_libdir}/swipl-%{version}/lib/swiplserver/LICENSE +rm %{buildroot}%{_libdir}/swipl/{LICENSE,README.md} +rm %{buildroot}%{_libdir}/swipl/customize/README.md +rm %{buildroot}%{_libdir}/swipl/lib/swiplserver/LICENSE -%ifnarch ppc64le %check -export LC_ALL=C.UTF-8 # Test with the original jpl.pl, since the new version refers to paths that # don't exist; then switch back. cp -p packages/jpl/jpl.pl.jni packages/jpl/jpl.pl %ctest cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl -%endif -%files +%files -n swi-prolog + +%files -n swi-prolog-full + +%files -n swi-prolog-core %license LICENSE %doc README.md README-customize.md -%{_mandir}/man1/swipl* %{_bindir}/swipl %{_bindir}/swipl-ld -%{_libdir}/libswipl.so.9* -%dir %{_libdir}/swipl-%{version}/ -%dir %{_libdir}/swipl-%{version}/bin/ -%{_libdir}/swipl-%{version}/bin/latex2html -%{_libdir}/swipl-%{version}/bin/swipl.home -%dir %{_libdir}/swipl-%{version}/bin/%{swipl_arch}/ -%{_libdir}/swipl-%{version}/bin/%{swipl_arch}/swipl -%{_libdir}/swipl-%{version}/bin/%{swipl_arch}/swipl-ld -%{_libdir}/swipl-%{version}/app/ -%{_libdir}/swipl-%{version}/boot* -%{_libdir}/swipl-%{version}/customize/ -%{_libdir}/swipl-%{version}/demo/ -%dir %{_libdir}/swipl-%{version}/lib/ -%dir %{_libdir}/swipl-%{version}/lib/%{swipl_arch} -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/archive4pl.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/bdb4pl.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/cgi.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/crypto4pl.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/crypt.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/double_metaphone.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/files.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/hashstream.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/http_stream.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/inclpr.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/isub.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/janus.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/json.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/libedit4pl.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/mallocinfo.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/md54pl.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/memfile.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/ntriples.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/pcre4pl.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/pdt_console.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/porter_stem.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/process.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/prolog_stream.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/protobufs.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/rdf_db.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/readline4pl.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/readutil.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/redis4pl.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/rlimit.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/sched.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/sgml2pl.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/sha4pl.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/snowball.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/socket.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/ssl4pl.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/streaminfo.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/sweep-module.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/syslog.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/table.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/tex.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/time.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/tipc.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/turtle.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/uid.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/unicode4pl.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/unix.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/uri.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/uuid.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/websocket.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/yaml4pl.so -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/zlib4pl.so -%{_libdir}/swipl-%{version}/lib/swiplserver/ -%{_libdir}/swipl-%{version}/library/ -%{_libdir}/swipl-%{version}/swipl.home - -# Exclude the files that are in the sub-packages -%ifarch %{java_arches} -# JPL -%exclude %{_libdir}/swipl-%{version}/library/ext/jpl -%endif -# ODBC -%exclude %{_libdir}/swipl-%{version}/library/ext/odbc - -%if %{separate_xpce} -%files xpce -%doc packages/xpce/CUSTOMISE.md packages/xpce/README.md -%{_bindir}/swipl-win -%{_libdir}/swipl-%{version}/bin/%{swipl_arch}/swipl-win -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/pl2xpce.so -%{_libdir}/swipl-%{version}/swipl.rc -%{_libdir}/swipl-%{version}/swipl-win.rc -%{_libdir}/swipl-%{version}/xpce/ -%{_mandir}/man1/xpce* -%endif - -%files devel -%{_libdir}/libswipl.so -%{_libdir}/swipl-%{version}/cmake/ -%dir %{_libdir}/swipl-%{version}/include/ -%{_libdir}/swipl-%{version}/include/sicstus/ -%{_libdir}/swipl-%{version}/include/SWI* %{_libdir}/cmake/swipl/ +%dir %{_libdir}/swipl/ +%dir %{_libdir}/swipl/bin/ +%{_libdir}/swipl/bin/swipl.home +%dir %{_libdir}/swipl/bin/%{swipl_arch}/ +%{_libdir}/swipl/bin/%{swipl_arch}/swipl +%{_libdir}/swipl/bin/%{swipl_arch}/swipl-ld +%{_libdir}/swipl/boot/ +%{_libdir}/swipl/boot.prc +%{_libdir}/swipl/cmake/ +%{_libdir}/swipl/customize/ +%{_libdir}/swipl/demo/ +%dir %{_libdir}/swipl/include/ +%{_libdir}/swipl/include/SWI-Prolog.h +%{_libdir}/swipl/include/SWI-Stream.h +%{_libdir}/swipl/include/Yap/ +%{_libdir}/swipl/include/sicstus/ +%dir %{_libdir}/swipl/library/ +%{_libdir}/swipl/library/*.pl +%{_libdir}/swipl/library/*.qlf +%{_libdir}/swipl/library/build/ +%{_libdir}/swipl/library/clp/ +%{_libdir}/swipl/library/dcg/ +%{_libdir}/swipl/library/dialect/ +%{_libdir}/swipl/library/iri_scheme/ +%{_libdir}/swipl/library/lynx/ +%{_libdir}/swipl/library/theme/ +%{_libdir}/swipl/library/unicode/ +%{_libdir}/swipl/swipl.home +%{_libdir}/libswipl.so.9* +%{_libdir}/libswipl.so +%{_mandir}/man1/swipl* %{_datadir}/pkgconfig/swipl.pc +%{_infodir}/sweep.info* -%files compat-yap-devel -%{_libdir}/swipl-%{version}/include/Yap/ +%files -n swi-prolog-core-packages +%{_libdir}/swipl/bin/latex2html +%{_libdir}/swipl/include/SWI-cpp.h +%{_libdir}/swipl/include/SWI-cpp2* +%dir %{_libdir}/swipl/lib/ +%{_libdir}/swipl/lib/swiplserver/ +%dir %{_libdir}/swipl/lib/%{swipl_arch}/ +%{_libdir}/swipl/lib/%{swipl_arch}/cgi.so +%{_libdir}/swipl/lib/%{swipl_arch}/crypt.so +%{_libdir}/swipl/lib/%{swipl_arch}/double_metaphone.so +%{_libdir}/swipl/lib/%{swipl_arch}/files.so +%{_libdir}/swipl/lib/%{swipl_arch}/hashstream.so +%{_libdir}/swipl/lib/%{swipl_arch}/http_stream.so +%{_libdir}/swipl/lib/%{swipl_arch}/inclpr.so +%{_libdir}/swipl/lib/%{swipl_arch}/isub.so +%{_libdir}/swipl/lib/%{swipl_arch}/janus.so +%{_libdir}/swipl/lib/%{swipl_arch}/json.so +%{_libdir}/swipl/lib/%{swipl_arch}/mallocinfo.so +%{_libdir}/swipl/lib/%{swipl_arch}/md54pl.so +%{_libdir}/swipl/lib/%{swipl_arch}/memfile.so +%{_libdir}/swipl/lib/%{swipl_arch}/ntriples.so +%{_libdir}/swipl/lib/%{swipl_arch}/pdt_console.so +%{_libdir}/swipl/lib/%{swipl_arch}/porter_stem.so +%{_libdir}/swipl/lib/%{swipl_arch}/process.so +%{_libdir}/swipl/lib/%{swipl_arch}/prolog_stream.so +%{_libdir}/swipl/lib/%{swipl_arch}/protobufs.so +%{_libdir}/swipl/lib/%{swipl_arch}/rdf_db.so +%{_libdir}/swipl/lib/%{swipl_arch}/readutil.so +%{_libdir}/swipl/lib/%{swipl_arch}/redis4pl.so +%{_libdir}/swipl/lib/%{swipl_arch}/rlimit.so +%{_libdir}/swipl/lib/%{swipl_arch}/sched.so +%{_libdir}/swipl/lib/%{swipl_arch}/sgml2pl.so +%{_libdir}/swipl/lib/%{swipl_arch}/sha4pl.so +%{_libdir}/swipl/lib/%{swipl_arch}/snowball.so +%{_libdir}/swipl/lib/%{swipl_arch}/socket.so +%{_libdir}/swipl/lib/%{swipl_arch}/streaminfo.so +%{_libdir}/swipl/lib/%{swipl_arch}/sweep-module.so +%{_libdir}/swipl/lib/%{swipl_arch}/syslog.so +%{_libdir}/swipl/lib/%{swipl_arch}/table.so +%{_libdir}/swipl/lib/%{swipl_arch}/test_cpp.so +%{_libdir}/swipl/lib/%{swipl_arch}/test_ffi.so +%{_libdir}/swipl/lib/%{swipl_arch}/tex.so +%{_libdir}/swipl/lib/%{swipl_arch}/time.so +%{_libdir}/swipl/lib/%{swipl_arch}/turtle.so +%{_libdir}/swipl/lib/%{swipl_arch}/uid.so +%{_libdir}/swipl/lib/%{swipl_arch}/unicode4pl.so +%{_libdir}/swipl/lib/%{swipl_arch}/unix.so +%{_libdir}/swipl/lib/%{swipl_arch}/uri.so +%{_libdir}/swipl/lib/%{swipl_arch}/uuid.so +%{_libdir}/swipl/lib/%{swipl_arch}/websocket.so +%{_libdir}/swipl/lib/%{swipl_arch}/zlib4pl.so +%dir %{_libdir}/swipl/library/ext/ +%{_libdir}/swipl/library/ext/PDT/ +%{_libdir}/swipl/library/ext/RDF/ +%{_libdir}/swipl/library/ext/chr/ +%{_libdir}/swipl/library/ext/clib/ +%{_libdir}/swipl/library/ext/clpqr +%{_libdir}/swipl/library/ext/http/ +%{_libdir}/swipl/library/ext/inclpr/ +%{_libdir}/swipl/library/ext/ltx2htm/ +%{_libdir}/swipl/library/ext/mqi/ +%{_libdir}/swipl/library/ext/nlp/ +%{_libdir}/swipl/library/ext/paxos/ +%{_libdir}/swipl/library/ext/pengines/ +%{_libdir}/swipl/library/ext/pldoc/ +%{_libdir}/swipl/library/ext/plunit/ +%{_libdir}/swipl/library/ext/protobufs/ +%{_libdir}/swipl/library/ext/redis/ +%{_libdir}/swipl/library/ext/semweb/ +%{_libdir}/swipl/library/ext/sgml/ +%{_libdir}/swipl/library/ext/stomp/ +%{_libdir}/swipl/library/ext/sweep/ +%{_libdir}/swipl/library/ext/swipy/ +%{_libdir}/swipl/library/ext/table/ +%{_libdir}/swipl/library/ext/utf8proc/ +%{_libdir}/swipl/library/ext/zlib/ +%{_libdir}/swipl/library/http/ +%{_libdir}/swipl/library/protobufs/ +%{_libdir}/swipl/library/semweb/ +%{_texmf}/tex/latex/swi-prolog/ -%files doc -%{_libdir}/swipl-%{version}/doc/ -%if 0%{?fedora} -%doc %{_vpath_builddir}/man/SWI-Prolog-%{version}.pdf -%endif -%doc %{docdir}-xpce/* +%files -n swi-prolog-nox +%{_libdir}/swipl/app/ +%{_libdir}/swipl/lib/%{swipl_arch}/archive4pl.so +%{_libdir}/swipl/lib/%{swipl_arch}/crypto4pl.so +%{_libdir}/swipl/lib/%{swipl_arch}/libedit4pl.so +%{_libdir}/swipl/lib/%{swipl_arch}/pcre4pl.so +%{_libdir}/swipl/lib/%{swipl_arch}/readline4pl.so +%{_libdir}/swipl/lib/%{swipl_arch}/ssl4pl.so +%{_libdir}/swipl/lib/%{swipl_arch}/tipc.so +%{_libdir}/swipl/lib/%{swipl_arch}/yaml4pl.so +%{_libdir}/swipl/library/ext/archive/ +%{_libdir}/swipl/library/ext/libedit/ +%{_libdir}/swipl/library/ext/pcre/ +%{_libdir}/swipl/library/ext/readline/ +%{_libdir}/swipl/library/ext/ssl/ +%{_libdir}/swipl/library/ext/tipc/ +%{_libdir}/swipl/library/ext/yaml/ -%files odbc -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/odbc4pl.so -%{_libdir}/swipl-%{version}/library/ext/odbc -%doc packages/odbc/{demo,ChangeLog,README} +%files -n swi-prolog-x +%doc packages/xpce/{CUSTOMISE,EXTENDING,README}.md +%{_libdir}/swipl/lib/%{swipl_arch}/pl2xpce.so +%{_libdir}/swipl/swipl.rc +%{_libdir}/swipl/xpce/ +%{_mandir}/man1/xpce-client.1* %ifarch %{java_arches} -%files jpl -%doc packages/jpl/docs/* packages/jpl/src/examples +%files -n swi-prolog-java +%doc packages/jpl/README.md %{_jnidir}/jpl.jar -%{_libdir}/swipl-%{version}/lib/jpl*jar -%{_libdir}/swipl-%{version}/lib/%{swipl_arch}/libjpl.so -%{_libdir}/swipl-%{version}/library/ext/jpl/ +%{_libdir}/swipl/lib/jpl*jar +%{_libdir}/swipl/lib/%{swipl_arch}/libjpl.so +%{_libdir}/swipl/library/ext/jpl/ %{_libdir}/swipl-jpl/ %endif +%files -n swi-prolog-odbc +%doc packages/odbc/README +%{_libdir}/swipl/lib/%{swipl_arch}/odbc4pl.so +%{_libdir}/swipl/library/ext/cql/ +%{_libdir}/swipl/library/ext/odbc/ + +%files -n swi-prolog-bdb +%doc packages/bdb/README.md +%{_libdir}/swipl/lib/%{swipl_arch}/bdb4pl.so +%{_libdir}/swipl/library/ext/bdb/ + +%files -n swi-prolog-doc +%if 0%{?fedora} +%doc %{_vpath_builddir}/man/SWI-Prolog-%{version}.pdf +%endif +%{_datadir}/swipl/ + +%files -n swi-prolog-test +%{_libdir}/swipl/test/ + +%files -n swi-prolog-win +%doc packages/swipl-win/README.md +%{_bindir}/swipl-win +%{_libdir}/swipl/bin/%{swipl_arch}/swipl-win +%{_libdir}/swipl/swipl-win.rc %changelog %autochangelog diff --git a/sources b/sources index b886e0d..3431dcb 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (userguide.html.tgz) = baa16d8f06a666e77ef45aaf7708e877710bfcb8fc0fb519bc70c54619c45def2d2ab4feaa0f1a1875b2a2270e8907551b63582da1b4beaa5b50f013a41d7ab9 -SHA512 (swipl-9.2.6_repackaged.tar.gz) = 7ec4baa8af64c8c4f5ea5c076ebf6e5369ff4581dd94f4785a628f7264bbb0ba15fb4d1fc7f0cf3046ee729ea7d68d900c8e7e9eff148f6809ce1b612f292063 +SHA512 (swipl-9.2.7_repackaged.tar.gz) = 1e3fd963f4a6b4ed261dfcb7d79b680fc081bd92189c68c1cc3e2d80154e1866ad3c20a2ff96d4cffd6b2b462b8d855b55ff9152d7fad02143ce7e510a26d3c5 diff --git a/swipl-8.2.0-Remove-files-locations-from-swipl-1-manual.patch b/swipl-8.2.0-Remove-files-locations-from-swipl-1-manual.patch index 49d5dc0..4c40729 100644 --- a/swipl-8.2.0-Remove-files-locations-from-swipl-1-manual.patch +++ b/swipl-8.2.0-Remove-files-locations-from-swipl-1-manual.patch @@ -17,7 +17,7 @@ diff --git a/src/swipl.1.in b/src/swipl.1.in index e6eeda5..81c5abb 100644 --- a/src/swipl.1.in +++ b/src/swipl.1.in -@@ -396,38 +396,6 @@ to find the local installation directory +@@ -449,38 +449,6 @@ to find the local installation directory .I ~/.config/swi-prolog/init.pl Personal initialisation files consulted by SWI-Prolog on startup. The exact location depends on the OS. @@ -56,7 +56,7 @@ index e6eeda5..81c5abb 100644 .SH SEE ALSO .PP The SWI-Prolog web-home at -@@ -437,9 +405,6 @@ Jan\ Wielemaker +@@ -490,9 +458,6 @@ Jan\ Wielemaker .IR "SWI-Prolog Reference Manual" " at" .I http://www.swi-prolog.org/pldoc/index.html .PP diff --git a/swipl-8.2.1-Fix-JNI.patch b/swipl-8.2.1-Fix-JNI.patch index 08b105c..23f6749 100644 --- a/swipl-8.2.1-Fix-JNI.patch +++ b/swipl-8.2.1-Fix-JNI.patch @@ -18,7 +18,7 @@ diff --git a/packages/jpl/jpl.pl b/packages/jpl/jpl.pl index 024dd79..ffeccd9 100644 --- a/packages/jpl/jpl.pl +++ b/packages/jpl/jpl.pl -@@ -3960,7 +3960,8 @@ prolog:error_message(java_exception(Ex)) +@@ -3823,7 +3823,8 @@ prolog:error_message(java_exception(Ex)) :- multifile user:file_search_path/2. :- dynamic user:file_search_path/2. @@ -28,7 +28,7 @@ index 024dd79..ffeccd9 100644 classpath(DirOrJar) :- getenv('CLASSPATH', ClassPath), -@@ -4140,7 +4141,7 @@ add_jpl_to_classpath :- +@@ -3992,7 +3993,7 @@ add_jpl_to_classpath :- libjpl(File) :- ( current_prolog_flag(unix, true) diff --git a/swipl-9.2.3-lto-mismatch.patch b/swipl-9.2.3-lto-mismatch.patch deleted file mode 100644 index ac00bdf..0000000 --- a/swipl-9.2.3-lto-mismatch.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- swipl-9.2.3/packages/semweb/murmur.c.orig 2024-03-28 13:45:03.000000000 -0600 -+++ swipl-9.2.3/packages/semweb/murmur.c 2024-04-05 10:09:30.257172942 -0600 -@@ -67,7 +67,7 @@ rdf_murmer_hash(const void * key, size_t - #define MIX(h,k,m) { k *= m; k ^= k >> r; k *= m; h *= m; h ^= k; } - - unsigned int --rdf_murmer_hash(const void *key, int len, unsigned int seed) -+rdf_murmer_hash(const void *key, size_t len, unsigned int seed) - { const unsigned int m = 0x5bd1e995; - const int r = 24; - const unsigned char * data = (const unsigned char *)key; diff --git a/swipl-9.2.7-gettid.patch b/swipl-9.2.7-gettid.patch new file mode 100644 index 0000000..d5fc874 --- /dev/null +++ b/swipl-9.2.7-gettid.patch @@ -0,0 +1,93 @@ +From 94409d713398ca49f429ebda5eb32273e9cc9e5d Mon Sep 17 00:00:00 2001 +From: Jerry James +Date: Tue, 17 Sep 2024 10:50:03 -0600 +Subject: [PATCH] Call gettid via its glibc wrapper if possible + +The glibc gettid wrapper was introduced in glibc 2.30 (2019). +--- + cmake/Config.cmake | 31 ++++++++++++++++++++----------- + src/pl-thread.c | 9 ++++++++- + 2 files changed, 28 insertions(+), 12 deletions(-) + +diff --git a/cmake/Config.cmake b/cmake/Config.cmake +index 380453b88..f2595fafe 100644 +--- a/cmake/Config.cmake ++++ b/cmake/Config.cmake +@@ -343,22 +343,31 @@ check_pthread_setname_np() + endif(HAVE_PTHREAD_SETNAME_NP) + + check_c_source_compiles( +- "#include +- #include ++ "#define _GNU_SOURCE ++ #include + int main() +- { _syscall0(pid_t,gettid); +- return 0; ++ { return gettid(); + }" +- HAVE_GETTID_MACRO) +-if(NOT HAVE_GETTID_MACRO) ++ HAVE_GETTID_FUNCTION) ++if(NOT HAVE_GETTID_FUNCTION) + check_c_source_compiles( +- "#include +- #include ++ "#include ++ #include + int main() +- { syscall(__NR_gettid); +- return 0; ++ { _syscall0(pid_t,gettid); ++ return 0; + }" +- HAVE_GETTID_SYSCALL) ++ HAVE_GETTID_MACRO) ++ if(NOT HAVE_GETTID_7FUNCTION AND NOT HAVE_GETTID_MACRO) ++ check_c_source_compiles( ++ "#include ++ #include ++ int main() ++ { syscall(__NR_gettid); ++ return 0; ++ }" ++ HAVE_GETTID_SYSCALL) ++ endif() + endif() + + endif(CMAKE_USE_PTHREADS_INIT) +diff --git a/src/pl-thread.c b/src/pl-thread.c +index 25743eebf..23038d37e 100644 +--- a/src/pl-thread.c ++++ b/src/pl-thread.c +@@ -125,11 +125,18 @@ APPROACH + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + + #if defined(__linux__) ++#ifdef HAVE_GETTID_FUNCTION ++#ifndef _GNU_SOURCE ++#define _GNU_SOURCE ++#endif ++#include ++#else + #include + #ifdef HAVE_GETTID_MACRO + _syscall0(pid_t,gettid) + #endif + #endif ++#endif + + #ifdef HAVE_SYS_RESOURCE_H + #include +@@ -1935,7 +1942,7 @@ set_system_thread_id(PL_thread_info_t *info) + info->has_tid = TRUE; + #if defined(HAVE_GETTID_SYSCALL) + info->pid = syscall(__NR_gettid); +-#elif defined(HAVE_GETTID_MACRO) ++#elif defined(HAVE_GETTID_FUNCTION) || defined(HAVE_GETTID_MACRO) + info->pid = gettid(); + #elif defined(__CYGWIN__) + info->pid = getpid(); +-- +2.46.0 + From 42a8ac14cad1f180b03f271c47cd11de3f575329 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Tue, 17 Sep 2024 13:45:01 -0600 Subject: [PATCH 18/31] Fix swi-prolog-doc dependency on swi-prolog-core --- pl.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pl.spec b/pl.spec index 9ab904e..80527f7 100644 --- a/pl.spec +++ b/pl.spec @@ -364,10 +364,10 @@ embedded database. # The PDF of the manual contains embedded fonts with these licenses: # CM: Knuth-CTAN # Nimbus: AGPL-3.0-only -License: BSD-2-Clause AND CC-BY-SA-3.0 AND Knuth-CTAN AND LPPL-1.3a+ AND AGPL-3.0-only +License: BSD-2-Clause AND AGPL-3.0-only AND CC-BY-SA-3.0 AND Knuth-CTAN AND LPPL-1.3a+ Summary: Documentation and examples for SWI-Prolog BuildArch: noarch -Requires: swi-prolog-core%{?_isa} = %{version}-%{release} +Requires: swi-prolog-core = %{version}-%{release} # This can be removed when F45 reaches EOL Obsoletes: pl-doc < 9.2.7-2 From ef360ff83a35046618a110bbdc37fd3491a24ca2 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Wed, 18 Sep 2024 09:57:39 -0600 Subject: [PATCH 19/31] Fix swi-prolog-java FTI (rhbz#2313232) - Expose inclpr plugin dependency on the math library - Fix a license typo in swi-prolog-core - Fix broken links - Deduplicate files --- pl.spec | 41 +++++++++++++++++++++++++---------- swipl-9.2.7-inclpr-math.patch | 10 +++++++++ 2 files changed, 40 insertions(+), 11 deletions(-) create mode 100644 swipl-9.2.7-inclpr-math.patch diff --git a/pl.spec b/pl.spec index 80527f7..6e820e6 100644 --- a/pl.spec +++ b/pl.spec @@ -22,11 +22,14 @@ Patch1: swipl-8.2.0-Remove-files-locations-from-swipl-1-manual.patch Patch2: swipl-8.2.0-unbundle-libstemmer.patch # Use the glibc wrapper for gettid Patch3: swipl-9.2.7-gettid.patch +# Expose inclpr plugin dependency on the math library to RPM +Patch4: swipl-9.2.7-inclpr-math.patch # See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} BuildRequires: cmake +BuildRequires: fdupes BuildRequires: findutils BuildRequires: gcc-c++ BuildRequires: ninja-build @@ -149,7 +152,6 @@ SWI-Prolog additionally offers: # : #bench/unify.pl Free for non-commercial #bench/simple_analyzer.pl Free for non-commercial -#License: BSD-2-Clause AND BSD-3-Clause AND (Brian-Gladman-3-Clause OR GPL-1.0-or-later) AND Beerware AND CC-BY-SA-3.0 AND (GPL-1.0-or-later OR Artistic-1.0-Perl) AND GPL-2.0-or-later AND GPL-2.0-or-later WITH SWI-Exception AND (GPL-2.0-or-later WITH SWI-Exception OR Artistic-2.0) AND LGPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain AND LPPL-1.3a AND MIT AND Sleepycat AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND Zlib AND dtoa %package -n swi-prolog Summary: ISO/Edinburgh-style Prolog interpreter @@ -192,7 +194,7 @@ This is a metapackage, which installs the full SWI-Prolog suite, except tests. # library/aggregate.pl BSD-2-Clause AND LicenseRef-Fedora-Public-Domain # library/dialect/bim.pl LicenseRef-Fedora-Public-Domain # library/dialect/iso/iso_predicates.pl BSD-2-Clause AND (GPL-2.0-or-later -# WITH SWI-Exception OR Artistic-2.0) +# WITH SWI-exception OR Artistic-2.0) # library/unicode/blocks.pl BSD-2-Clause AND Unicode-TOU # src/libbf/mersenne-twister.c BSD-3-Clause # src/libbf/mersenne-twister.h BSD-3-Clause @@ -200,7 +202,7 @@ This is a metapackage, which installs the full SWI-Prolog suite, except tests. # src/minizip/ Zlib # src/os/dtoa.c dtoa # src/pl-hash.{c,h} LicenseRef-Fedora-Public-Domain -License: BSD-2-Clause AND BSD-3-Clause AND (GPL-2.0-or-later WITH SWI-Exception OR Artistic-2.0) AND LicenseRef-Fedora-Public-Domain AND Unicode-TOU AND Zlib AND dtoa +License: BSD-2-Clause AND BSD-3-Clause AND (GPL-2.0-or-later WITH SWI-exception OR Artistic-2.0) AND LicenseRef-Fedora-Public-Domain AND Unicode-TOU AND Zlib AND dtoa Summary: ISO/Edinburgh-style Prolog interpreter - core system Recommends: swi-prolog-bdb%{?_isa} = %{version}-%{release} Recommends: swi-prolog-core-packages%{?_isa} = %{version}-%{release} @@ -308,7 +310,7 @@ follows a rather unique approach for developing GUI applications, as follows: %ifarch %{java_arches} %package -n swi-prolog-java Summary: Bidirectional interface between SWI-Prolog and Java -Requires: swi-prolog%{?_isa} = %{version}-%{release} +Requires: swi-prolog-nox%{?_isa} = %{version}-%{release} Requires: java-headless Requires: javapackages-tools @@ -385,7 +387,8 @@ This package provides documentation and examples. # src/Tests/xsb/**/*.P LGPL-2.0-only License: BSD-2-Clause AND GPL-2.0-or-later AND GPL-2.0-or-later WITH SWI-exception AND LGPL-2.0-only AND LGPL-2.1-or-later Summary: Tests and checks for SWI-Prolog -Requires: swi-prolog-nox%{?_isa} = %{version}-%{release} +BuildArch: noarch +Requires: swi-prolog-nox = %{version}-%{release} %description -n swi-prolog-test %_desc This package provides a set of prepared tests and checks for installed @@ -486,9 +489,19 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl # See for file layout %cmake_install -# Script with shebang should be executable -chmod 0755 %{buildroot}%{_libdir}/swipl/library/dialect/sicstus/swipl-lfr.pl -chmod 0755 %{buildroot}%{_libdir}/swipl/customize/edit +# Scripts with shebang should be executable +chmod 0755 \ + %{buildroot}%{_datadir}/swipl/doc/packages/examples/http/linux-init-script \ + %{buildroot}%{_datadir}/swipl/doc/packages/examples/jpl/java/zahed/run.sh \ + %{buildroot}%{_datadir}/swipl/doc/packages/examples/pldoc/man_server.pl \ + %{buildroot}%{_datadir}/swipl/doc/packages/examples/protobufs/interop/test_read.py \ + %{buildroot}%{_datadir}/swipl/doc/packages/examples/protobufs/interop/test_write.py \ + %{buildroot}%{_datadir}/swipl/doc/packages/examples/stomp/server-loop.sh \ + %{buildroot}%{_libdir}/swipl/customize/edit \ + %{buildroot}%{_libdir}/swipl/library/dialect/sicstus/swipl-lfr.pl \ + %{buildroot}%{_libdir}/swipl/test/Tests/xsb/delay_tests/*.sh \ + %{buildroot}%{_libdir}/swipl/test/Tests/xsb/ptq/*.sh \ + %{buildroot}%{_libdir}/swipl/test/Tests/xsb/wfs_tests/*.sh # Some XPCE files do not get installed cp -p packages/xpce/man/*.1 %{buildroot}%{_mandir}/man1 @@ -496,8 +509,8 @@ cp -a packages/xpce/man/course %{buildroot}%{_libdir}/swipl/xpce/man # Let LaTeX know about the style file mkdir -p %{buildroot}%{_texmf}/tex/latex/swi-prolog -ln %{buildroot}%{_libdir}/swipl/library/ext/pldoc/pldoc/pldoc.sty \ - %{buildroot}%{_texmf}/tex/latex/swi-prolog/pldoc.sty +ln -s %{_libdir}/swipl/library/ext/pldoc/pldoc/pldoc.sty \ + %{buildroot}%{_texmf}/tex/latex/swi-prolog/pldoc.sty # Install the sweep info file mkdir -p %{buildroot}%{_infodir} @@ -520,7 +533,7 @@ mv %{buildroot}%{_libdir}/swipl/lib/%{swipl_arch}/libjpl.so \ mkdir -p %{buildroot}%{_jnidir} mv %{buildroot}%{_libdir}/swipl/lib/jpl.jar %{buildroot}%{_jnidir} -ln -s ../lib/jpl.jar %{buildroot}%{_libdir}/swipl-jpl +ln -s ../../lib/java/jpl.jar %{buildroot}%{_libdir}/swipl-jpl # Original locations are referenced by internal libraries and examples cd %{buildroot}%{_libdir} @@ -533,6 +546,12 @@ cd - rm %{buildroot}%{_libdir}/swipl/{LICENSE,README.md} rm %{buildroot}%{_libdir}/swipl/customize/README.md rm %{buildroot}%{_libdir}/swipl/lib/swiplserver/LICENSE +rm %{buildroot}%{_libdir}/swipl/test/Tests/xsb/.gitignore +rm %{buildroot}%{_libdir}/swipl/xpce/man/course/.gitignore + +# Link duplicates +%fdupes %{buildroot}%{_datadir}/swipl +%fdupes %{buildroot}%{_libdir}/swipl %check # Test with the original jpl.pl, since the new version refers to paths that diff --git a/swipl-9.2.7-inclpr-math.patch b/swipl-9.2.7-inclpr-math.patch new file mode 100644 index 0000000..2a87408 --- /dev/null +++ b/swipl-9.2.7-inclpr-math.patch @@ -0,0 +1,10 @@ +--- swipl-9.2.7/packages/inclpr/CMakeLists.txt.orig 2023-12-11 03:16:08.000000000 -0700 ++++ swipl-9.2.7/packages/inclpr/CMakeLists.txt 2024-09-18 09:37:46.320423903 -0600 +@@ -15,6 +15,7 @@ swipl_plugin(inclpr_priv + swipl_plugin(inclpr + NOINDEX + C_SOURCES inclpr.c ++ C_LIBS m + PL_LIBS inclpr.pl) + + swipl_examples(benchmarks.pl) From bc846fbaf153336a679f3aa1ed96c966a0425c03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Fri, 20 Sep 2024 07:33:37 +0200 Subject: [PATCH 20/31] change license back from Unicode-TOU to Unicode-DFS-2016 Unicode-TOU is not approved licese. Mostly because of https://gitlab.com/fedora/legal/fedora-license-data/-/issues/199 https://gitlab.com/fedora/legal/fedora-license-data/-/issues/314 Unicode-TOU in this package has been introduced in commit da8e17267b40032d4c6909e29a588bf5d13473bd So I am basically proposing the revert of this part. --- pl.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pl.spec b/pl.spec index 6e820e6..a34bcfb 100644 --- a/pl.spec +++ b/pl.spec @@ -195,14 +195,14 @@ This is a metapackage, which installs the full SWI-Prolog suite, except tests. # library/dialect/bim.pl LicenseRef-Fedora-Public-Domain # library/dialect/iso/iso_predicates.pl BSD-2-Clause AND (GPL-2.0-or-later # WITH SWI-exception OR Artistic-2.0) -# library/unicode/blocks.pl BSD-2-Clause AND Unicode-TOU +# library/unicode/blocks.pl BSD-2-Clause AND Unicode-DFS-2016 # src/libbf/mersenne-twister.c BSD-3-Clause # src/libbf/mersenne-twister.h BSD-3-Clause # src/libtai/ LicenseRef-Fedora-Public-Domain # src/minizip/ Zlib # src/os/dtoa.c dtoa # src/pl-hash.{c,h} LicenseRef-Fedora-Public-Domain -License: BSD-2-Clause AND BSD-3-Clause AND (GPL-2.0-or-later WITH SWI-exception OR Artistic-2.0) AND LicenseRef-Fedora-Public-Domain AND Unicode-TOU AND Zlib AND dtoa +License: BSD-2-Clause AND BSD-3-Clause AND (GPL-2.0-or-later WITH SWI-exception OR Artistic-2.0) AND LicenseRef-Fedora-Public-Domain AND Unicode-DFS-2016 AND Zlib AND dtoa Summary: ISO/Edinburgh-style Prolog interpreter - core system Recommends: swi-prolog-bdb%{?_isa} = %{version}-%{release} Recommends: swi-prolog-core-packages%{?_isa} = %{version}-%{release} From ed23f8041cc48e626e737766520be01f61121e19 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Wed, 23 Oct 2024 14:31:04 -0600 Subject: [PATCH 21/31] Version 9.2.8 - Drop upstreamed gettid patch - Upstream has relicensed some files; change License tags accordingly --- pl.spec | 17 +++----- sources | 2 +- swipl-9.2.7-gettid.patch | 93 ---------------------------------------- 3 files changed, 6 insertions(+), 106 deletions(-) delete mode 100644 swipl-9.2.7-gettid.patch diff --git a/pl.spec b/pl.spec index a34bcfb..dd6f916 100644 --- a/pl.spec +++ b/pl.spec @@ -2,14 +2,14 @@ %global swipl_arch %{_target_cpu}-linux Name: pl -Version: 9.2.7 +Version: 9.2.8 Release: %autorelease Summary: ISO/Edinburgh-style Prolog interpreter License: BSD-2-Clause URL: https://www.swi-prolog.org/ VCS: git:https://github.com/SWI-Prolog/swipl.git -# Source0: %%{url}download/stable/src/%%{name}-%%{version}.tar.gz +# Source0: %%{url}download/stable/src/swipl-%%{version}.tar.gz # To create the repackaged archive, use ./repackage.sh %%{version} Source0: swipl-%{version}_repackaged.tar.gz Source1: %{url}download/xpce/doc/userguide/userguide.html.tgz @@ -20,10 +20,8 @@ Patch0: swipl-8.2.1-Fix-JNI.patch Patch1: swipl-8.2.0-Remove-files-locations-from-swipl-1-manual.patch # Unbundle libstemmer Patch2: swipl-8.2.0-unbundle-libstemmer.patch -# Use the glibc wrapper for gettid -Patch3: swipl-9.2.7-gettid.patch # Expose inclpr plugin dependency on the math library to RPM -Patch4: swipl-9.2.7-inclpr-math.patch +Patch3: swipl-9.2.7-inclpr-math.patch # See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} @@ -145,8 +143,6 @@ SWI-Prolog additionally offers: #src/libbf/libbf.c MIT #src/libbf/libbf.h MIT #src/tools/functions.pm LicenseRef-Fedora-Public-Domain -#src/Tests/ BSD-2-Clause AND GPL-2.0-or-later WITH -# SWI-Prolog extra clause #src/tools/update-deps LicenseRef-Fedora-Public-Domain # Removed from repackaged tar ball, see # : @@ -193,8 +189,6 @@ This is a metapackage, which installs the full SWI-Prolog suite, except tests. # These files carry different licenses: # library/aggregate.pl BSD-2-Clause AND LicenseRef-Fedora-Public-Domain # library/dialect/bim.pl LicenseRef-Fedora-Public-Domain -# library/dialect/iso/iso_predicates.pl BSD-2-Clause AND (GPL-2.0-or-later -# WITH SWI-exception OR Artistic-2.0) # library/unicode/blocks.pl BSD-2-Clause AND Unicode-DFS-2016 # src/libbf/mersenne-twister.c BSD-3-Clause # src/libbf/mersenne-twister.h BSD-3-Clause @@ -202,7 +196,7 @@ This is a metapackage, which installs the full SWI-Prolog suite, except tests. # src/minizip/ Zlib # src/os/dtoa.c dtoa # src/pl-hash.{c,h} LicenseRef-Fedora-Public-Domain -License: BSD-2-Clause AND BSD-3-Clause AND (GPL-2.0-or-later WITH SWI-exception OR Artistic-2.0) AND LicenseRef-Fedora-Public-Domain AND Unicode-DFS-2016 AND Zlib AND dtoa +License: BSD-2-Clause AND BSD-3-Clause AND LicenseRef-Fedora-Public-Domain AND Unicode-DFS-2016 AND Zlib AND dtoa Summary: ISO/Edinburgh-style Prolog interpreter - core system Recommends: swi-prolog-bdb%{?_isa} = %{version}-%{release} Recommends: swi-prolog-core-packages%{?_isa} = %{version}-%{release} @@ -384,8 +378,7 @@ This package provides documentation and examples. # src/Tests/compile/test_autoload.pl GPL-2.0-or-later WITH SWI-exception # src/Tests/core/test_arith.pl LGPL-2.1-or-later # src/Tests/core/test_coroutining.pl BSD-2-Clause AND GPL-2.0-or-later -# src/Tests/xsb/**/*.P LGPL-2.0-only -License: BSD-2-Clause AND GPL-2.0-or-later AND GPL-2.0-or-later WITH SWI-exception AND LGPL-2.0-only AND LGPL-2.1-or-later +License: BSD-2-Clause AND GPL-2.0-or-later AND GPL-2.0-or-later WITH SWI-exception AND LGPL-2.1-or-later Summary: Tests and checks for SWI-Prolog BuildArch: noarch Requires: swi-prolog-nox = %{version}-%{release} diff --git a/sources b/sources index 3431dcb..6d9009c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (userguide.html.tgz) = baa16d8f06a666e77ef45aaf7708e877710bfcb8fc0fb519bc70c54619c45def2d2ab4feaa0f1a1875b2a2270e8907551b63582da1b4beaa5b50f013a41d7ab9 -SHA512 (swipl-9.2.7_repackaged.tar.gz) = 1e3fd963f4a6b4ed261dfcb7d79b680fc081bd92189c68c1cc3e2d80154e1866ad3c20a2ff96d4cffd6b2b462b8d855b55ff9152d7fad02143ce7e510a26d3c5 +SHA512 (swipl-9.2.8_repackaged.tar.gz) = 8e1ebd8dc9bedd50b82490b6632f6f24b368d0781d85df5774a7e816edcaaa46eb827abf4e730f3ab0ad18038ea94f00b4c25422d5be6901f353f9193205202b diff --git a/swipl-9.2.7-gettid.patch b/swipl-9.2.7-gettid.patch deleted file mode 100644 index d5fc874..0000000 --- a/swipl-9.2.7-gettid.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 94409d713398ca49f429ebda5eb32273e9cc9e5d Mon Sep 17 00:00:00 2001 -From: Jerry James -Date: Tue, 17 Sep 2024 10:50:03 -0600 -Subject: [PATCH] Call gettid via its glibc wrapper if possible - -The glibc gettid wrapper was introduced in glibc 2.30 (2019). ---- - cmake/Config.cmake | 31 ++++++++++++++++++++----------- - src/pl-thread.c | 9 ++++++++- - 2 files changed, 28 insertions(+), 12 deletions(-) - -diff --git a/cmake/Config.cmake b/cmake/Config.cmake -index 380453b88..f2595fafe 100644 ---- a/cmake/Config.cmake -+++ b/cmake/Config.cmake -@@ -343,22 +343,31 @@ check_pthread_setname_np() - endif(HAVE_PTHREAD_SETNAME_NP) - - check_c_source_compiles( -- "#include -- #include -+ "#define _GNU_SOURCE -+ #include - int main() -- { _syscall0(pid_t,gettid); -- return 0; -+ { return gettid(); - }" -- HAVE_GETTID_MACRO) --if(NOT HAVE_GETTID_MACRO) -+ HAVE_GETTID_FUNCTION) -+if(NOT HAVE_GETTID_FUNCTION) - check_c_source_compiles( -- "#include -- #include -+ "#include -+ #include - int main() -- { syscall(__NR_gettid); -- return 0; -+ { _syscall0(pid_t,gettid); -+ return 0; - }" -- HAVE_GETTID_SYSCALL) -+ HAVE_GETTID_MACRO) -+ if(NOT HAVE_GETTID_7FUNCTION AND NOT HAVE_GETTID_MACRO) -+ check_c_source_compiles( -+ "#include -+ #include -+ int main() -+ { syscall(__NR_gettid); -+ return 0; -+ }" -+ HAVE_GETTID_SYSCALL) -+ endif() - endif() - - endif(CMAKE_USE_PTHREADS_INIT) -diff --git a/src/pl-thread.c b/src/pl-thread.c -index 25743eebf..23038d37e 100644 ---- a/src/pl-thread.c -+++ b/src/pl-thread.c -@@ -125,11 +125,18 @@ APPROACH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ - - #if defined(__linux__) -+#ifdef HAVE_GETTID_FUNCTION -+#ifndef _GNU_SOURCE -+#define _GNU_SOURCE -+#endif -+#include -+#else - #include - #ifdef HAVE_GETTID_MACRO - _syscall0(pid_t,gettid) - #endif - #endif -+#endif - - #ifdef HAVE_SYS_RESOURCE_H - #include -@@ -1935,7 +1942,7 @@ set_system_thread_id(PL_thread_info_t *info) - info->has_tid = TRUE; - #if defined(HAVE_GETTID_SYSCALL) - info->pid = syscall(__NR_gettid); --#elif defined(HAVE_GETTID_MACRO) -+#elif defined(HAVE_GETTID_FUNCTION) || defined(HAVE_GETTID_MACRO) - info->pid = gettid(); - #elif defined(__CYGWIN__) - info->pid = getpid(); --- -2.46.0 - From c57c6bcfa71d18045029d8d5ccf9d5d333909e8e Mon Sep 17 00:00:00 2001 From: Jerry James Date: Wed, 23 Oct 2024 15:12:27 -0600 Subject: [PATCH 22/31] Update obsoletes to stay ahead of F40 --- pl.spec | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pl.spec b/pl.spec index dd6f916..8557c74 100644 --- a/pl.spec +++ b/pl.spec @@ -157,11 +157,11 @@ Requires: swi-prolog-nox = %{version}-%{release} Requires: swi-prolog-x = %{version}-%{release} # This can be removed when F45 reaches EOL -Obsoletes: pl < 9.2.7-2 +Obsoletes: pl < 9.2.8-2 Provides: pl = %{version}-%{release} -Obsoletes: pl-devel < 9.2.7-2 +Obsoletes: pl-devel < 9.2.8-2 Provides: pl-devel = %{version}-%{release} -Obsoletes: pl-compat-yap-devel < 9.2.7-2 +Obsoletes: pl-compat-yap-devel < 9.2.8-2 Provides: pl-compat-yap-devel = %{version}-%{release} %description -n swi-prolog %_desc @@ -287,7 +287,7 @@ Summary: ISO/Edinburgh-style Prolog interpreter - with X support Requires: swi-prolog-nox%{?_isa} = %{version}-%{release} # This can be removed when F45 reaches EOL -Obsoletes: pl-xpce < 9.2.7-2 +Obsoletes: pl-xpce < 9.2.8-2 Provides: pl-xpce = %{version}-%{release} %description -n swi-prolog-x %_desc @@ -309,7 +309,7 @@ Requires: java-headless Requires: javapackages-tools # This can be removed when F45 reaches EOL -Obsoletes: pl-jpl < 9.2.7-2 +Obsoletes: pl-jpl < 9.2.8-2 Provides: pl-jpl = %{version}-%{release} %description -n swi-prolog-java %_desc @@ -324,7 +324,7 @@ Summary: SWI-Prolog ODBC interface Requires: swi-prolog-nox%{?_isa} = %{version}-%{release} # This can be removed when F45 reaches EOL -Obsoletes: pl-odbc < 9.2.7-2 +Obsoletes: pl-odbc < 9.2.8-2 Provides: pl-odbc = %{version}-%{release} %description -n swi-prolog-odbc %_desc @@ -366,7 +366,7 @@ BuildArch: noarch Requires: swi-prolog-core = %{version}-%{release} # This can be removed when F45 reaches EOL -Obsoletes: pl-doc < 9.2.7-2 +Obsoletes: pl-doc < 9.2.8-2 Provides: pl-doc = %{version}-%{release} %description -n swi-prolog-doc %_desc From 4e7393513afa4a09838209f2d07d161aa45f9f4e Mon Sep 17 00:00:00 2001 From: Jerry James Date: Tue, 7 Jan 2025 15:10:26 -0700 Subject: [PATCH 23/31] Version 9.2.9 - Use zlib-ng instead of the zlib compatibility interface --- pl.spec | 6 +- sources | 2 +- swipl-9.2.9-zlib-ng.patch | 1222 +++++++++++++++++++++++++++++++++++++ 3 files changed, 1227 insertions(+), 3 deletions(-) create mode 100644 swipl-9.2.9-zlib-ng.patch diff --git a/pl.spec b/pl.spec index 8557c74..6cc8fe5 100644 --- a/pl.spec +++ b/pl.spec @@ -2,7 +2,7 @@ %global swipl_arch %{_target_cpu}-linux Name: pl -Version: 9.2.8 +Version: 9.2.9 Release: %autorelease Summary: ISO/Edinburgh-style Prolog interpreter @@ -22,6 +22,8 @@ Patch1: swipl-8.2.0-Remove-files-locations-from-swipl-1-manual.patch Patch2: swipl-8.2.0-unbundle-libstemmer.patch # Expose inclpr plugin dependency on the math library to RPM Patch3: swipl-9.2.7-inclpr-math.patch +# Use zlib-ng directly rather than via the zlib compatibility interface +Patch4: swipl-9.2.9-zlib-ng.patch # See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} @@ -82,7 +84,7 @@ BuildRequires: pkgconfig(Qt6) # yaml BuildRequires: pkgconfig(yaml-0.1) # zlib -BuildRequires: pkgconfig(zlib) +BuildRequires: pkgconfig(zlib-ng) # Doc building # Gated to Fedora as EL is currently missing tex(a4wide.sty) %if 0%{?fedora} diff --git a/sources b/sources index 6d9009c..03aeff4 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (userguide.html.tgz) = baa16d8f06a666e77ef45aaf7708e877710bfcb8fc0fb519bc70c54619c45def2d2ab4feaa0f1a1875b2a2270e8907551b63582da1b4beaa5b50f013a41d7ab9 -SHA512 (swipl-9.2.8_repackaged.tar.gz) = 8e1ebd8dc9bedd50b82490b6632f6f24b368d0781d85df5774a7e816edcaaa46eb827abf4e730f3ab0ad18038ea94f00b4c25422d5be6901f353f9193205202b +SHA512 (swipl-9.2.9_repackaged.tar.gz) = 57f0e043c6f0985106c68a2bba3a558ee3eb19ecaa145d5968d963da005f3d1fe0ef62ba43f299b067bda3bb6e4212a9e121926a4d8452df9aa8cbbecf6b27e2 diff --git a/swipl-9.2.9-zlib-ng.patch b/swipl-9.2.9-zlib-ng.patch new file mode 100644 index 0000000..11e5aaf --- /dev/null +++ b/swipl-9.2.9-zlib-ng.patch @@ -0,0 +1,1222 @@ +--- swipl-9.2.9/cmake/Config.cmake.orig 2024-12-20 02:46:40.000000000 -0700 ++++ swipl-9.2.9/cmake/Config.cmake 2025-01-06 15:12:11.957532676 -0700 +@@ -51,7 +51,7 @@ check_include_file(valgrind/valgrind.h H + check_include_file(vfork.h HAVE_VFORK_H) + check_include_file(mach/thread_act.h HAVE_MACH_THREAD_ACT_H) + check_include_file(sys/stropts.h HAVE_SYS_STROPTS_H) +-check_include_file(zlib.h HAVE_ZLIB_H) ++check_include_file(zlib-ng.h HAVE_ZLIB_H) + check_include_file(crt_externs.h HAVE_CRT_EXTERNS_H) + check_include_file(gperftools/malloc_extension_c.h HAVE_TCMALLOC_EXTENSION_C_H) + +@@ -108,7 +108,7 @@ if(HAVE_LIBANDROID_EXECINFO) + set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} android-execinfo) + endif() + if(HAVE_ZLIB_H) +- set(CMAKE_EXTRA_INCLUDE_FILES ${CMAKE_EXTRA_INCLUDE_FILES} zlib.h) ++ set(CMAKE_EXTRA_INCLUDE_FILES ${CMAKE_EXTRA_INCLUDE_FILES} zlib-ng.h) + endif() + + set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} +--- swipl-9.2.9/packages/zlib/zlib4pl.c.orig 2024-03-06 08:03:07.000000000 -0700 ++++ swipl-9.2.9/packages/zlib/zlib4pl.c 2025-01-06 15:29:54.151408246 -0700 +@@ -40,7 +40,7 @@ + #include + #include + #include +-#include ++#include + + install_t install_zlib4pl(void); + +@@ -80,8 +80,8 @@ typedef struct z_context + int multi_part; /* Multipart gzip file */ + int z_stream_end; /* Seen Z_STREAM_END */ + zformat format; /* current format */ +- z_stream zstate; /* Zlib state */ +- gz_header zhead; /* Header */ ++ zng_stream zstate; /* Zlib state */ ++ zng_gz_header zhead; /* Header */ + } z_context; + + +@@ -155,15 +155,15 @@ zread(void *handle, char *buf, size_t si + + if ( ctx->initialized == FALSE ) + { if ( ctx->format == F_GZIP ) +- { rc = inflateInit2(&ctx->zstate, MAX_WBITS+16); ++ { rc = zng_inflateInit2(&ctx->zstate, MAX_WBITS+16); + } else if ( ctx->format == F_DEFLATE ) +- { rc = inflateInit(&ctx->zstate); ++ { rc = zng_inflateInit(&ctx->zstate); + } else if ( ctx->format == F_RAW_DEFLATE ) +- { rc = inflateInit2(&ctx->zstate, -MAX_WBITS); ++ { rc = zng_inflateInit2(&ctx->zstate, -MAX_WBITS); + } else + { memset(&ctx->zhead, 0, sizeof(ctx->zhead)); +- rc = inflateInit2(&ctx->zstate, MAX_WBITS+32); +- rc = inflateGetHeader(&ctx->zstate, &ctx->zhead); ++ rc = zng_inflateInit2(&ctx->zstate, MAX_WBITS+32); ++ rc = zng_inflateGetHeader(&ctx->zstate, &ctx->zhead); + if ( rc != Z_OK ) + Sdprintf("inflateGetHeader() failed\n"); + } +@@ -171,7 +171,7 @@ zread(void *handle, char *buf, size_t si + sync_stream(ctx); + } + +- rc = inflate(&ctx->zstate, Z_NO_FLUSH); ++ rc = zng_inflate(&ctx->zstate, Z_NO_FLUSH); + sync_stream(ctx); + + switch( rc ) +@@ -214,7 +214,7 @@ zread(void *handle, char *buf, size_t si + DEBUG(1, Sdprintf("Multi-part gzip stream; restarting\n")); + ctx->z_stream_end = FALSE; + ctx->initialized = FALSE; /* multiple zips */ +- inflateEnd(&ctx->zstate); ++ zng_inflateEnd(&ctx->zstate); + return zread(handle, buf, size); + } + +@@ -267,7 +267,7 @@ zwrite4(void *handle, char *buf, size_t + ctx->zstate.next_out = buffer; + ctx->zstate.avail_out = sizeof(buffer); + +- switch( (rc = deflate(&ctx->zstate, flush)) ) ++ switch( (rc = zng_deflate(&ctx->zstate, flush)) ) + { case Z_OK: + case Z_STREAM_END: + { size_t n = sizeof(buffer) - ctx->zstate.avail_out; +@@ -348,15 +348,15 @@ zclose(void *handle) + + if ( (ctx->stream->flags & SIO_INPUT) ) + { if ( ctx->initialized == TRUE ) +- rc = inflateEnd(&ctx->zstate); ++ rc = zng_inflateEnd(&ctx->zstate); + else + rc = Z_OK; + } else + { rc = zwrite4(handle, NULL, 0, Z_FINISH); /* flush */ + if ( rc == 0 ) +- rc = deflateEnd(&ctx->zstate); ++ rc = zng_deflateEnd(&ctx->zstate); + else +- deflateEnd(&ctx->zstate); ++ zng_deflateEnd(&ctx->zstate); + } + + switch(rc) +@@ -466,11 +466,11 @@ pl_zopen(term_t org, term_t new, term_t + { int rc; + + if ( fmt == F_GZIP ) +- { rc = deflateInit2(&ctx->zstate, level, Z_DEFLATED, MAX_WBITS+16, MAX_MEM_LEVEL, 0); ++ { rc = zng_deflateInit2(&ctx->zstate, level, Z_DEFLATED, MAX_WBITS+16, MAX_MEM_LEVEL, 0); + } else if ( fmt == F_RAW_DEFLATE ) +- { rc = deflateInit2(&ctx->zstate, level, Z_DEFLATED, -MAX_WBITS, MAX_MEM_LEVEL, 0); ++ { rc = zng_deflateInit2(&ctx->zstate, level, Z_DEFLATED, -MAX_WBITS, MAX_MEM_LEVEL, 0); + } else +- { rc = deflateInit(&ctx->zstate, level); ++ { rc = zng_deflateInit(&ctx->zstate, level); + } + + if ( rc != Z_OK ) +--- swipl-9.2.9/src/CMakeLists.txt.orig 2024-12-20 02:46:40.000000000 -0700 ++++ swipl-9.2.9/src/CMakeLists.txt 2025-01-07 14:24:27.950836575 -0700 +@@ -389,7 +389,7 @@ if(GMP_FOUND) + set(LIBSWIPL_LIBRARIES ${LIBSWIPL_LIBRARIES} ${GMP_LIBRARIES}) + set(LIBSWIPL_INCLUDES ${LIBSWIPL_INCLUDES} ${GMP_INCLUDE_DIRS}) + endif() +-set(LIBSWIPL_LIBRARIES ${LIBSWIPL_LIBRARIES} ${ZLIB_LIBRARIES}) ++set(LIBSWIPL_LIBRARIES ${LIBSWIPL_LIBRARIES} z-ng) + if(MULTI_THREADED) + set(LIBSWIPL_LIBRARIES ${LIBSWIPL_LIBRARIES} Threads::Threads) + endif() +@@ -445,7 +445,7 @@ add_dependencies(swiplobjs${PGO_SUFFIX} + target_include_directories(swiplobjs${PGO_SUFFIX} BEFORE PRIVATE + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR} +- ${ZLIB_INCLUDE_DIRS} ++ ${ZLIB-NG_INCLUDE_DIRS} + ${LIBSWIPL_INCLUDES}) + + function(libswipl_properties lib outname) +--- swipl-9.2.9/src/minizip/ioapi.h.orig 2024-12-20 02:46:40.000000000 -0700 ++++ swipl-9.2.9/src/minizip/ioapi.h 2025-01-07 14:09:51.722868378 -0700 +@@ -25,7 +25,7 @@ + + #include + #include +-#include "zlib.h" ++#include + + #ifdef HAVE_MINIZIP64_CONF_H + #include "mz64conf.h" +--- swipl-9.2.9/src/minizip/mztools.c.orig 2024-12-20 02:46:40.000000000 -0700 ++++ swipl-9.2.9/src/minizip/mztools.c 2025-01-07 14:09:55.618819467 -0700 +@@ -8,7 +8,7 @@ + #include + #include + #include +-#include "zlib.h" ++#include + #include "unzip.h" + + #define READ_8(adr) ((unsigned char)*(adr)) +@@ -27,7 +27,7 @@ + WRITE_16((unsigned char*)(buff) + 2, (n) >> 16); \ + } while(0) + +-extern int ZEXPORT unzRepair(const char* file, const char* fileOut, const char* fileOutTmp, uLong* nRecovered, uLong* bytesRecovered) { ++extern int Z_EXPORT unzRepair(const char* file, const char* fileOut, const char* fileOutTmp, uLong* nRecovered, uLong* bytesRecovered) { + int err = Z_OK; + FILE* fpZip = fopen(file, "rb"); + FILE* fpOut = fopen(fileOut, "wb"); +--- swipl-9.2.9/src/minizip/mztools.h.orig 2024-12-20 02:46:40.000000000 -0700 ++++ swipl-9.2.9/src/minizip/mztools.h 2025-01-07 14:10:01.338747659 -0700 +@@ -11,9 +11,7 @@ + extern "C" { + #endif + +-#ifndef _ZLIB_H +-#include "zlib.h" +-#endif ++#include + + #include "unzip.h" + +@@ -22,7 +20,7 @@ extern "C" { + fileOut: output file after recovery + fileOutTmp: temporary file name used for recovery + */ +-extern int ZEXPORT unzRepair(const char* file, ++extern int Z_EXPORT unzRepair(const char* file, + const char* fileOut, + const char* fileOutTmp, + uLong* nRecovered, +--- swipl-9.2.9/src/minizip/unzip.c.orig 2024-12-20 02:46:40.000000000 -0700 ++++ swipl-9.2.9/src/minizip/unzip.c 2025-01-07 14:18:47.812124997 -0700 +@@ -72,7 +72,7 @@ + #define NOUNCRYPT + #endif + +-#include "zlib.h" ++#include + #include "unzip.h" + + #ifdef STDC +@@ -90,7 +90,7 @@ + #ifdef Z_U4 + typedef Z_U4 z_crc_t; + #else +-typedef unsigned long z_crc_t; ++typedef uint32_t z_crc_t; + #endif + #endif + #endif +@@ -140,7 +140,7 @@ typedef struct unz_file_info64_internal_ + typedef struct + { + char *read_buffer; /* internal buffer for compressed data */ +- z_stream stream; /* zLib stream structure for inflate */ ++ zng_stream stream; /* zLib stream structure for inflate */ + + #ifdef HAVE_BZIP2 + bz_stream bstream; /* bzLib stream structure for bziped */ +@@ -207,7 +207,7 @@ typedef struct + Clone an unzFile + */ + +-extern unzFile ZEXPORT unzClone(const unzFile file) { ++extern unzFile Z_EXPORT unzClone(const unzFile file) { + unz64_s *s, *c; + if (file==NULL) + return NULL; //UNZ_PARAMERROR; +@@ -334,7 +334,7 @@ local int strcmpcasenosensitive_internal + (like 1 on Unix, 2 on Windows) + + */ +-extern int ZEXPORT unzStringFileNameCompare (const char* fileName1, ++extern int Z_EXPORT unzStringFileNameCompare (const char* fileName1, + const char* fileName2, + int iCaseSensitivity) { + if (iCaseSensitivity==0) +@@ -703,7 +703,7 @@ local unzFile unzOpenInternal(const void + } + + +-extern unzFile ZEXPORT unzOpen2(const char *path, ++extern unzFile Z_EXPORT unzOpen2(const char *path, + zlib_filefunc_def* pzlib_filefunc32_def) { + if (pzlib_filefunc32_def != NULL) + { +@@ -715,7 +715,7 @@ extern unzFile ZEXPORT unzOpen2(const ch + return unzOpenInternal(path, NULL, 0); + } + +-extern unzFile ZEXPORT unzOpen2_64(const void *path, ++extern unzFile Z_EXPORT unzOpen2_64(const void *path, + zlib_filefunc64_def* pzlib_filefunc_def) { + if (pzlib_filefunc_def != NULL) + { +@@ -729,11 +729,11 @@ extern unzFile ZEXPORT unzOpen2_64(const + return unzOpenInternal(path, NULL, 1); + } + +-extern unzFile ZEXPORT unzOpen(const char *path) { ++extern unzFile Z_EXPORT unzOpen(const char *path) { + return unzOpenInternal(path, NULL, 0); + } + +-extern unzFile ZEXPORT unzOpen64(const void *path) { ++extern unzFile Z_EXPORT unzOpen64(const void *path) { + return unzOpenInternal(path, NULL, 1); + } + +@@ -742,7 +742,7 @@ extern unzFile ZEXPORT unzOpen64(const v + If there is files inside the .Zip opened with unzOpenCurrentFile (see later), + these files MUST be closed with unzCloseCurrentFile before call unzClose. + return UNZ_OK if there is no problem. */ +-extern int ZEXPORT unzClose(unzFile file) { ++extern int Z_EXPORT unzClose(unzFile file) { + unz64_s* s; + if (file==NULL) + return UNZ_PARAMERROR; +@@ -761,7 +761,7 @@ extern int ZEXPORT unzClose(unzFile file + Write info about the ZipFile in the *pglobal_info structure. + No preparation of the structure is needed + return UNZ_OK if there is no problem. */ +-extern int ZEXPORT unzGetGlobalInfo64(unzFile file, unz_global_info64* pglobal_info) { ++extern int Z_EXPORT unzGetGlobalInfo64(unzFile file, unz_global_info64* pglobal_info) { + unz64_s* s; + if (file==NULL) + return UNZ_PARAMERROR; +@@ -770,7 +770,7 @@ extern int ZEXPORT unzGetGlobalInfo64(un + return UNZ_OK; + } + +-extern int ZEXPORT unzGetGlobalInfo(unzFile file, unz_global_info* pglobal_info32) { ++extern int Z_EXPORT unzGetGlobalInfo(unzFile file, unz_global_info* pglobal_info32) { + unz64_s* s; + if (file==NULL) + return UNZ_PARAMERROR; +@@ -1040,7 +1040,7 @@ local int unz64local_GetCurrentFileInfoI + No preparation of the structure is needed + return UNZ_OK if there is no problem. + */ +-extern int ZEXPORT unzGetCurrentFileInfo64(unzFile file, ++extern int Z_EXPORT unzGetCurrentFileInfo64(unzFile file, + unz_file_info64 * pfile_info, + char * szFileName, uLong fileNameBufferSize, + void *extraField, uLong extraFieldBufferSize, +@@ -1051,7 +1051,7 @@ extern int ZEXPORT unzGetCurrentFileInfo + szComment,commentBufferSize); + } + +-extern int ZEXPORT unzGetCurrentFileInfo(unzFile file, ++extern int Z_EXPORT unzGetCurrentFileInfo(unzFile file, + unz_file_info * pfile_info, + char * szFileName, uLong fileNameBufferSize, + void *extraField, uLong extraFieldBufferSize, +@@ -1092,7 +1092,7 @@ extern int ZEXPORT unzGetCurrentFileInfo + Set the current file of the zipfile to the first file. + return UNZ_OK if there is no problem + */ +-extern int ZEXPORT unzGoToFirstFile(unzFile file) { ++extern int Z_EXPORT unzGoToFirstFile(unzFile file) { + int err=UNZ_OK; + unz64_s* s; + if (file==NULL) +@@ -1112,7 +1112,7 @@ extern int ZEXPORT unzGoToFirstFile(unzF + return UNZ_OK if there is no problem + return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest. + */ +-extern int ZEXPORT unzGoToNextFile(unzFile file) { ++extern int Z_EXPORT unzGoToNextFile(unzFile file) { + unz64_s* s; + int err; + +@@ -1144,7 +1144,7 @@ extern int ZEXPORT unzGoToNextFile(unzFi + UNZ_OK if the file is found. It becomes the current file. + UNZ_END_OF_LIST_OF_FILE if the file is not found + */ +-extern int ZEXPORT unzLocateFile(unzFile file, const char *szFileName, int iCaseSensitivity) { ++extern int Z_EXPORT unzLocateFile(unzFile file, const char *szFileName, int iCaseSensitivity) { + unz64_s* s; + int err; + +@@ -1219,7 +1219,7 @@ typedef struct unz_file_pos_s + } unz_file_pos; + */ + +-extern int ZEXPORT unzGetFilePos64(unzFile file, unz64_file_pos* file_pos) { ++extern int Z_EXPORT unzGetFilePos64(unzFile file, unz64_file_pos* file_pos) { + unz64_s* s; + + if (file==NULL || file_pos==NULL) +@@ -1234,7 +1234,7 @@ extern int ZEXPORT unzGetFilePos64(unzFi + return UNZ_OK; + } + +-extern int ZEXPORT unzGetFilePos(unzFile file, unz_file_pos* file_pos) { ++extern int Z_EXPORT unzGetFilePos(unzFile file, unz_file_pos* file_pos) { + unz64_file_pos file_pos64; + int err = unzGetFilePos64(file,&file_pos64); + if (err==UNZ_OK) +@@ -1245,7 +1245,7 @@ extern int ZEXPORT unzGetFilePos(unzFile + return err; + } + +-extern int ZEXPORT unzGoToFilePos64(unzFile file, const unz64_file_pos* file_pos) { ++extern int Z_EXPORT unzGoToFilePos64(unzFile file, const unz64_file_pos* file_pos) { + unz64_s* s; + int err; + +@@ -1266,7 +1266,7 @@ extern int ZEXPORT unzGoToFilePos64(unzF + return err; + } + +-extern int ZEXPORT unzGoToFilePos(unzFile file, unz_file_pos* file_pos) { ++extern int Z_EXPORT unzGoToFilePos(unzFile file, unz_file_pos* file_pos) { + unz64_file_pos file_pos64; + if (file_pos == NULL) + return UNZ_PARAMERROR; +@@ -1374,7 +1374,7 @@ local int unz64local_CheckCurrentFileCoh + Open for reading data the current file in the zipfile. + If there is no error and the file is opened, the return value is UNZ_OK. + */ +-extern int ZEXPORT unzOpenCurrentFile3(unzFile file, int* method, ++extern int Z_EXPORT unzOpenCurrentFile3(unzFile file, int* method, + int* level, int raw, const char* password) { + int err=UNZ_OK; + uInt iSizeVar; +@@ -1486,7 +1486,7 @@ extern int ZEXPORT unzOpenCurrentFile3(u + pfile_in_zip_read_info->stream.next_in = 0; + pfile_in_zip_read_info->stream.avail_in = 0; + +- err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS); ++ err=zng_inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS); + if (err == Z_OK) + pfile_in_zip_read_info->stream_initialised=Z_DEFLATED; + else +@@ -1544,21 +1544,21 @@ extern int ZEXPORT unzOpenCurrentFile3(u + return UNZ_OK; + } + +-extern int ZEXPORT unzOpenCurrentFile(unzFile file) { ++extern int Z_EXPORT unzOpenCurrentFile(unzFile file) { + return unzOpenCurrentFile3(file, NULL, NULL, 0, NULL); + } + +-extern int ZEXPORT unzOpenCurrentFilePassword(unzFile file, const char* password) { ++extern int Z_EXPORT unzOpenCurrentFilePassword(unzFile file, const char* password) { + return unzOpenCurrentFile3(file, NULL, NULL, 0, password); + } + +-extern int ZEXPORT unzOpenCurrentFile2(unzFile file, int* method, int* level, int raw) { ++extern int Z_EXPORT unzOpenCurrentFile2(unzFile file, int* method, int* level, int raw) { + return unzOpenCurrentFile3(file, method, level, raw, NULL); + } + + /** Addition for GDAL : START */ + +-extern ZPOS64_T ZEXPORT unzGetCurrentFileZStreamPos64(unzFile file) { ++extern ZPOS64_T Z_EXPORT unzGetCurrentFileZStreamPos64(unzFile file) { + unz64_s* s; + file_in_zip64_read_info_s* pfile_in_zip_read_info; + s=(unz64_s*)file; +@@ -1583,7 +1583,7 @@ extern ZPOS64_T ZEXPORT unzGetCurrentFil + return <0 with error code if there is an error + (UNZ_ERRNO for IO error, or zLib error for uncompress error) + */ +-extern int ZEXPORT unzReadCurrentFile(unzFile file, voidp buf, unsigned len) { ++extern int Z_EXPORT unzReadCurrentFile(unzFile file, voidp buf, unsigned len) { + int err=UNZ_OK; + uInt iRead = 0; + unz64_s* s; +@@ -1682,7 +1682,7 @@ extern int ZEXPORT unzReadCurrentFile(un + + pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uDoCopy; + +- pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32, ++ pfile_in_zip_read_info->crc32 = zng_crc32(pfile_in_zip_read_info->crc32, + pfile_in_zip_read_info->stream.next_out, + uDoCopy); + pfile_in_zip_read_info->rest_read_uncompressed-=uDoCopy; +@@ -1752,7 +1752,7 @@ extern int ZEXPORT unzReadCurrentFile(un + (pfile_in_zip_read_info->rest_read_compressed == 0)) + flush = Z_FINISH; + */ +- err=inflate(&pfile_in_zip_read_info->stream,flush); ++ err=zng_inflate(&pfile_in_zip_read_info->stream,flush); + + if ((err>=0) && (pfile_in_zip_read_info->stream.msg!=NULL)) + err = Z_DATA_ERROR; +@@ -1766,7 +1766,7 @@ extern int ZEXPORT unzReadCurrentFile(un + pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uOutThis; + + pfile_in_zip_read_info->crc32 = +- crc32(pfile_in_zip_read_info->crc32,bufBefore, ++ zng_crc32(pfile_in_zip_read_info->crc32,bufBefore, + (uInt)(uOutThis)); + + pfile_in_zip_read_info->rest_read_uncompressed -= +@@ -1790,7 +1790,7 @@ extern int ZEXPORT unzReadCurrentFile(un + /* + Give the current position in uncompressed data + */ +-extern z_off_t ZEXPORT unztell(unzFile file) { ++extern z_off_t Z_EXPORT unztell(unzFile file) { + unz64_s* s; + file_in_zip64_read_info_s* pfile_in_zip_read_info; + if (file==NULL) +@@ -1804,7 +1804,7 @@ extern z_off_t ZEXPORT unztell(unzFile f + return (z_off_t)pfile_in_zip_read_info->stream.total_out; + } + +-extern ZPOS64_T ZEXPORT unztell64(unzFile file) { ++extern ZPOS64_T Z_EXPORT unztell64(unzFile file) { + + unz64_s* s; + file_in_zip64_read_info_s* pfile_in_zip_read_info; +@@ -1823,7 +1823,7 @@ extern ZPOS64_T ZEXPORT unztell64(unzFil + /* + return 1 if the end of file was reached, 0 elsewhere + */ +-extern int ZEXPORT unzeof(unzFile file) { ++extern int Z_EXPORT unzeof(unzFile file) { + unz64_s* s; + file_in_zip64_read_info_s* pfile_in_zip_read_info; + if (file==NULL) +@@ -1854,7 +1854,7 @@ more info in the local-header version th + the return value is the number of bytes copied in buf, or (if <0) + the error code + */ +-extern int ZEXPORT unzGetLocalExtrafield(unzFile file, voidp buf, unsigned len) { ++extern int Z_EXPORT unzGetLocalExtrafield(unzFile file, voidp buf, unsigned len) { + unz64_s* s; + file_in_zip64_read_info_s* pfile_in_zip_read_info; + uInt read_now; +@@ -1901,7 +1901,7 @@ extern int ZEXPORT unzGetLocalExtrafield + Close the file in zip opened with unzOpenCurrentFile + Return UNZ_CRCERROR if all the file was read but the CRC is not good + */ +-extern int ZEXPORT unzCloseCurrentFile(unzFile file) { ++extern int Z_EXPORT unzCloseCurrentFile(unzFile file) { + int err=UNZ_OK; + + unz64_s* s; +@@ -1926,7 +1926,7 @@ extern int ZEXPORT unzCloseCurrentFile(u + free(pfile_in_zip_read_info->read_buffer); + pfile_in_zip_read_info->read_buffer = NULL; + if (pfile_in_zip_read_info->stream_initialised == Z_DEFLATED) +- inflateEnd(&pfile_in_zip_read_info->stream); ++ zng_inflateEnd(&pfile_in_zip_read_info->stream); + #ifdef HAVE_BZIP2 + else if (pfile_in_zip_read_info->stream_initialised == Z_BZIP2ED) + BZ2_bzDecompressEnd(&pfile_in_zip_read_info->bstream); +@@ -1947,7 +1947,7 @@ extern int ZEXPORT unzCloseCurrentFile(u + uSizeBuf is the size of the szComment buffer. + return the number of byte copied or an error code <0 + */ +-extern int ZEXPORT unzGetGlobalComment(unzFile file, char * szComment, uLong uSizeBuf) { ++extern int Z_EXPORT unzGetGlobalComment(unzFile file, char * szComment, uLong uSizeBuf) { + unz64_s* s; + uLong uReadThis ; + if (file==NULL) +@@ -1974,7 +1974,7 @@ extern int ZEXPORT unzGetGlobalComment(u + } + + /* Additions by RX '2004 */ +-extern ZPOS64_T ZEXPORT unzGetOffset64(unzFile file) { ++extern ZPOS64_T Z_EXPORT unzGetOffset64(unzFile file) { + unz64_s* s; + + if (file==NULL) +@@ -1988,7 +1988,7 @@ extern ZPOS64_T ZEXPORT unzGetOffset64(u + return s->pos_in_central_dir; + } + +-extern uLong ZEXPORT unzGetOffset(unzFile file) { ++extern uLong Z_EXPORT unzGetOffset(unzFile file) { + ZPOS64_T offset64; + + if (file==NULL) +@@ -1997,7 +1997,7 @@ extern uLong ZEXPORT unzGetOffset(unzFil + return (uLong)offset64; + } + +-extern int ZEXPORT unzSetOffset64(unzFile file, ZPOS64_T pos) { ++extern int Z_EXPORT unzSetOffset64(unzFile file, ZPOS64_T pos) { + unz64_s* s; + int err; + +@@ -2014,6 +2014,6 @@ extern int ZEXPORT unzSetOffset64(unzFil + return err; + } + +-extern int ZEXPORT unzSetOffset (unzFile file, uLong pos) { ++extern int Z_EXPORT unzSetOffset (unzFile file, uLong pos) { + return unzSetOffset64(file,pos); + } +--- swipl-9.2.9/src/minizip/unzip.h.orig 2024-12-20 02:46:40.000000000 -0700 ++++ swipl-9.2.9/src/minizip/unzip.h 2025-01-07 14:10:06.986676751 -0700 +@@ -47,9 +47,7 @@ + extern "C" { + #endif + +-#ifndef _ZLIB_H +-#include "zlib.h" +-#endif ++#include + + #ifndef _ZLIBIOAPI_H + #include "ioapi.h" +@@ -150,7 +148,7 @@ typedef struct unz_file_info_s + tm_unz tmu_date; + } unz_file_info; + +-extern int ZEXPORT unzStringFileNameCompare(const char* fileName1, ++extern int Z_EXPORT unzStringFileNameCompare(const char* fileName1, + const char* fileName2, + int iCaseSensitivity); + /* +@@ -163,8 +161,8 @@ extern int ZEXPORT unzStringFileNameComp + */ + + +-extern unzFile ZEXPORT unzOpen(const char *path); +-extern unzFile ZEXPORT unzOpen64(const void *path); ++extern unzFile Z_EXPORT unzOpen(const char *path); ++extern unzFile Z_EXPORT unzOpen64(const void *path); + /* + Open a Zip file. path contain the full pathname (by example, + on a Windows XP computer "c:\\zlib\\zlib113.zip" or on an Unix computer +@@ -181,38 +179,38 @@ extern unzFile ZEXPORT unzOpen64(const v + */ + + +-extern unzFile ZEXPORT unzOpen2(const char *path, ++extern unzFile Z_EXPORT unzOpen2(const char *path, + zlib_filefunc_def* pzlib_filefunc_def); + /* + Open a Zip file, like unzOpen, but provide a set of file low level API + for read/write the zip file (see ioapi.h) + */ + +-extern unzFile ZEXPORT unzOpen2_64(const void *path, ++extern unzFile Z_EXPORT unzOpen2_64(const void *path, + zlib_filefunc64_def* pzlib_filefunc_def); + /* + Open a Zip file, like unz64Open, but provide a set of file low level API + for read/write the zip file (see ioapi.h) + */ + +-extern unzFile ZEXPORT unzClone(const unzFile file); ++extern unzFile Z_EXPORT unzClone(const unzFile file); + /* + Clone a ZipFile opened with unzOpen. + The clone provides independent access that can be used for nested + reading or concurrent access. */ + + +-extern int ZEXPORT unzClose(unzFile file); ++extern int Z_EXPORT unzClose(unzFile file); + /* + Close a ZipFile opened with unzOpen. + If there is files inside the .Zip opened with unzOpenCurrentFile (see later), + these files MUST be closed with unzCloseCurrentFile before call unzClose. + return UNZ_OK if there is no problem. */ + +-extern int ZEXPORT unzGetGlobalInfo(unzFile file, ++extern int Z_EXPORT unzGetGlobalInfo(unzFile file, + unz_global_info *pglobal_info); + +-extern int ZEXPORT unzGetGlobalInfo64(unzFile file, ++extern int Z_EXPORT unzGetGlobalInfo64(unzFile file, + unz_global_info64 *pglobal_info); + /* + Write info about the ZipFile in the *pglobal_info structure. +@@ -220,7 +218,7 @@ extern int ZEXPORT unzGetGlobalInfo64(un + return UNZ_OK if there is no problem. */ + + +-extern int ZEXPORT unzGetGlobalComment(unzFile file, ++extern int Z_EXPORT unzGetGlobalComment(unzFile file, + char *szComment, + uLong uSizeBuf); + /* +@@ -233,20 +231,20 @@ extern int ZEXPORT unzGetGlobalComment(u + /***************************************************************************/ + /* Unzip package allow you browse the directory of the zipfile */ + +-extern int ZEXPORT unzGoToFirstFile(unzFile file); ++extern int Z_EXPORT unzGoToFirstFile(unzFile file); + /* + Set the current file of the zipfile to the first file. + return UNZ_OK if there is no problem + */ + +-extern int ZEXPORT unzGoToNextFile(unzFile file); ++extern int Z_EXPORT unzGoToNextFile(unzFile file); + /* + Set the current file of the zipfile to the next file. + return UNZ_OK if there is no problem + return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest. + */ + +-extern int ZEXPORT unzLocateFile(unzFile file, ++extern int Z_EXPORT unzLocateFile(unzFile file, + const char *szFileName, + int iCaseSensitivity); + /* +@@ -268,11 +266,11 @@ typedef struct unz_file_pos_s + uLong num_of_file; /* # of file */ + } unz_file_pos; + +-extern int ZEXPORT unzGetFilePos( ++extern int Z_EXPORT unzGetFilePos( + unzFile file, + unz_file_pos* file_pos); + +-extern int ZEXPORT unzGoToFilePos( ++extern int Z_EXPORT unzGoToFilePos( + unzFile file, + unz_file_pos* file_pos); + +@@ -282,17 +280,17 @@ typedef struct unz64_file_pos_s + ZPOS64_T num_of_file; /* # of file */ + } unz64_file_pos; + +-extern int ZEXPORT unzGetFilePos64( ++extern int Z_EXPORT unzGetFilePos64( + unzFile file, + unz64_file_pos* file_pos); + +-extern int ZEXPORT unzGoToFilePos64( ++extern int Z_EXPORT unzGoToFilePos64( + unzFile file, + const unz64_file_pos* file_pos); + + /* ****************************************** */ + +-extern int ZEXPORT unzGetCurrentFileInfo64(unzFile file, ++extern int Z_EXPORT unzGetCurrentFileInfo64(unzFile file, + unz_file_info64 *pfile_info, + char *szFileName, + uLong fileNameBufferSize, +@@ -301,7 +299,7 @@ extern int ZEXPORT unzGetCurrentFileInfo + char *szComment, + uLong commentBufferSize); + +-extern int ZEXPORT unzGetCurrentFileInfo(unzFile file, ++extern int Z_EXPORT unzGetCurrentFileInfo(unzFile file, + unz_file_info *pfile_info, + char *szFileName, + uLong fileNameBufferSize, +@@ -325,7 +323,7 @@ extern int ZEXPORT unzGetCurrentFileInfo + + /** Addition for GDAL : START */ + +-extern ZPOS64_T ZEXPORT unzGetCurrentFileZStreamPos64(unzFile file); ++extern ZPOS64_T Z_EXPORT unzGetCurrentFileZStreamPos64(unzFile file); + + /** Addition for GDAL : END */ + +@@ -335,13 +333,13 @@ extern ZPOS64_T ZEXPORT unzGetCurrentFil + from it, and close it (you can close it before reading all the file) + */ + +-extern int ZEXPORT unzOpenCurrentFile(unzFile file); ++extern int Z_EXPORT unzOpenCurrentFile(unzFile file); + /* + Open for reading data the current file in the zipfile. + If there is no error, the return value is UNZ_OK. + */ + +-extern int ZEXPORT unzOpenCurrentFilePassword(unzFile file, ++extern int Z_EXPORT unzOpenCurrentFilePassword(unzFile file, + const char* password); + /* + Open for reading data the current file in the zipfile. +@@ -349,7 +347,7 @@ extern int ZEXPORT unzOpenCurrentFilePas + If there is no error, the return value is UNZ_OK. + */ + +-extern int ZEXPORT unzOpenCurrentFile2(unzFile file, ++extern int Z_EXPORT unzOpenCurrentFile2(unzFile file, + int* method, + int* level, + int raw); +@@ -362,7 +360,7 @@ extern int ZEXPORT unzOpenCurrentFile2(u + but you CANNOT set method parameter as NULL + */ + +-extern int ZEXPORT unzOpenCurrentFile3(unzFile file, ++extern int Z_EXPORT unzOpenCurrentFile3(unzFile file, + int* method, + int* level, + int raw, +@@ -377,13 +375,13 @@ extern int ZEXPORT unzOpenCurrentFile3(u + */ + + +-extern int ZEXPORT unzCloseCurrentFile(unzFile file); ++extern int Z_EXPORT unzCloseCurrentFile(unzFile file); + /* + Close the file in zip opened with unzOpenCurrentFile + Return UNZ_CRCERROR if all the file was read but the CRC is not good + */ + +-extern int ZEXPORT unzReadCurrentFile(unzFile file, ++extern int Z_EXPORT unzReadCurrentFile(unzFile file, + voidp buf, + unsigned len); + /* +@@ -397,19 +395,19 @@ extern int ZEXPORT unzReadCurrentFile(un + (UNZ_ERRNO for IO error, or zLib error for uncompress error) + */ + +-extern z_off_t ZEXPORT unztell(unzFile file); ++extern z_off_t Z_EXPORT unztell(unzFile file); + +-extern ZPOS64_T ZEXPORT unztell64(unzFile file); ++extern ZPOS64_T Z_EXPORT unztell64(unzFile file); + /* + Give the current position in uncompressed data + */ + +-extern int ZEXPORT unzeof(unzFile file); ++extern int Z_EXPORT unzeof(unzFile file); + /* + return 1 if the end of file was reached, 0 elsewhere + */ + +-extern int ZEXPORT unzGetLocalExtrafield(unzFile file, ++extern int Z_EXPORT unzGetLocalExtrafield(unzFile file, + voidp buf, + unsigned len); + /* +@@ -428,12 +426,12 @@ extern int ZEXPORT unzGetLocalExtrafield + /***************************************************************************/ + + /* Get the current file offset */ +-extern ZPOS64_T ZEXPORT unzGetOffset64 (unzFile file); +-extern uLong ZEXPORT unzGetOffset (unzFile file); ++extern ZPOS64_T Z_EXPORT unzGetOffset64 (unzFile file); ++extern uLong Z_EXPORT unzGetOffset (unzFile file); + + /* Set the current file offset */ +-extern int ZEXPORT unzSetOffset64 (unzFile file, ZPOS64_T pos); +-extern int ZEXPORT unzSetOffset (unzFile file, uLong pos); ++extern int Z_EXPORT unzSetOffset64 (unzFile file, ZPOS64_T pos); ++extern int Z_EXPORT unzSetOffset (unzFile file, uLong pos); + + + +--- swipl-9.2.9/src/minizip/zip.c.orig 2024-12-20 02:46:40.000000000 -0700 ++++ swipl-9.2.9/src/minizip/zip.c 2025-01-07 14:18:20.235472676 -0700 +@@ -28,7 +28,7 @@ + #include + #include + #include +-#include "zlib.h" ++#include + #include "zip.h" + + #ifdef STDC +@@ -47,7 +47,7 @@ + #ifdef Z_U4 + typedef Z_U4 z_crc_t; + #else +-typedef unsigned long z_crc_t; ++typedef uint32_t z_crc_t; + #endif + #endif + #endif +@@ -138,7 +138,7 @@ typedef struct linkedlist_data_s + + typedef struct + { +- z_stream stream; /* zLib stream structure for inflate */ ++ zng_stream stream; /* zLib stream structure for inflate */ + #ifdef HAVE_BZIP2 + bz_stream bstream; /* bzLib stream structure for bziped */ + #endif +@@ -826,7 +826,7 @@ local int LoadCentralDirectoryRecord(zip + + + /************************************************************/ +-extern zipFile ZEXPORT zipOpen3(const void *pathname, int append, zipcharpc* globalcomment, zlib_filefunc64_32_def* pzlib_filefunc64_32_def) { ++extern zipFile Z_EXPORT zipOpen3(const void *pathname, int append, zipcharpc* globalcomment, zlib_filefunc64_32_def* pzlib_filefunc64_32_def) { + zip64_internal ziinit; + zip64_internal* zi; + int err=ZIP_OK; +@@ -896,7 +896,7 @@ extern zipFile ZEXPORT zipOpen3(const vo + } + } + +-extern zipFile ZEXPORT zipOpen2(const char *pathname, int append, zipcharpc* globalcomment, zlib_filefunc_def* pzlib_filefunc32_def) { ++extern zipFile Z_EXPORT zipOpen2(const char *pathname, int append, zipcharpc* globalcomment, zlib_filefunc_def* pzlib_filefunc32_def) { + if (pzlib_filefunc32_def != NULL) + { + zlib_filefunc64_32_def zlib_filefunc64_32_def_fill; +@@ -907,7 +907,7 @@ extern zipFile ZEXPORT zipOpen2(const ch + return zipOpen3(pathname, append, globalcomment, NULL); + } + +-extern zipFile ZEXPORT zipOpen2_64(const void *pathname, int append, zipcharpc* globalcomment, zlib_filefunc64_def* pzlib_filefunc_def) { ++extern zipFile Z_EXPORT zipOpen2_64(const void *pathname, int append, zipcharpc* globalcomment, zlib_filefunc64_def* pzlib_filefunc_def) { + if (pzlib_filefunc_def != NULL) + { + zlib_filefunc64_32_def zlib_filefunc64_32_def_fill; +@@ -922,11 +922,11 @@ extern zipFile ZEXPORT zipOpen2_64(const + + + +-extern zipFile ZEXPORT zipOpen(const char* pathname, int append) { ++extern zipFile Z_EXPORT zipOpen(const char* pathname, int append) { + return zipOpen3((const void*)pathname,append,NULL,NULL); + } + +-extern zipFile ZEXPORT zipOpen64(const void* pathname, int append) { ++extern zipFile Z_EXPORT zipOpen64(const void* pathname, int append) { + return zipOpen3(pathname,append,NULL,NULL); + } + +@@ -1026,7 +1026,7 @@ local int Write_LocalFileHeader(zip64_in + It is not done here because then we need to realloc a new buffer since parameters are 'const' and I want to minimize + unnecessary allocations. + */ +-extern int ZEXPORT zipOpenNewFileInZip4_64(zipFile file, const char* filename, const zip_fileinfo* zipfi, ++extern int Z_EXPORT zipOpenNewFileInZip4_64(zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, + const void* extrafield_global, uInt size_extrafield_global, + const char* comment, int method, int level, int raw, +@@ -1202,7 +1202,7 @@ extern int ZEXPORT zipOpenNewFileInZip4_ + if (windowBits>0) + windowBits = -windowBits; + +- err = deflateInit2(&zi->ci.stream, level, Z_DEFLATED, windowBits, memLevel, strategy); ++ err = zng_deflateInit2(&zi->ci.stream, level, Z_DEFLATED, windowBits, memLevel, strategy); + + if (err==Z_OK) + zi->ci.stream_initialised = Z_DEFLATED; +@@ -1230,7 +1230,7 @@ extern int ZEXPORT zipOpenNewFileInZip4_ + unsigned char bufHead[RAND_HEAD_LEN]; + unsigned int sizeHead; + zi->ci.encrypt = 1; +- zi->ci.pcrc_32_tab = get_crc_table(); ++ zi->ci.pcrc_32_tab = zng_get_crc_table(); + /*init_keys(password,zi->ci.keys,zi->ci.pcrc_32_tab);*/ + + sizeHead=crypthead(password,bufHead,RAND_HEAD_LEN,zi->ci.keys,zi->ci.pcrc_32_tab,crcForCrypting); +@@ -1246,7 +1246,7 @@ extern int ZEXPORT zipOpenNewFileInZip4_ + return err; + } + +-extern int ZEXPORT zipOpenNewFileInZip4(zipFile file, const char* filename, const zip_fileinfo* zipfi, ++extern int Z_EXPORT zipOpenNewFileInZip4(zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, + const void* extrafield_global, uInt size_extrafield_global, + const char* comment, int method, int level, int raw, +@@ -1261,7 +1261,7 @@ extern int ZEXPORT zipOpenNewFileInZip4( + password, crcForCrypting, versionMadeBy, flagBase, 0); + } + +-extern int ZEXPORT zipOpenNewFileInZip3(zipFile file, const char* filename, const zip_fileinfo* zipfi, ++extern int Z_EXPORT zipOpenNewFileInZip3(zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, + const void* extrafield_global, uInt size_extrafield_global, + const char* comment, int method, int level, int raw, +@@ -1275,7 +1275,7 @@ extern int ZEXPORT zipOpenNewFileInZip3( + password, crcForCrypting, VERSIONMADEBY, 0, 0); + } + +-extern int ZEXPORT zipOpenNewFileInZip3_64(zipFile file, const char* filename, const zip_fileinfo* zipfi, ++extern int Z_EXPORT zipOpenNewFileInZip3_64(zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, + const void* extrafield_global, uInt size_extrafield_global, + const char* comment, int method, int level, int raw, +@@ -1289,7 +1289,7 @@ extern int ZEXPORT zipOpenNewFileInZip3_ + password, crcForCrypting, VERSIONMADEBY, 0, zip64); + } + +-extern int ZEXPORT zipOpenNewFileInZip2(zipFile file, const char* filename, const zip_fileinfo* zipfi, ++extern int Z_EXPORT zipOpenNewFileInZip2(zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, + const void* extrafield_global, uInt size_extrafield_global, + const char* comment, int method, int level, int raw) { +@@ -1301,7 +1301,7 @@ extern int ZEXPORT zipOpenNewFileInZip2( + NULL, 0, VERSIONMADEBY, 0, 0); + } + +-extern int ZEXPORT zipOpenNewFileInZip2_64(zipFile file, const char* filename, const zip_fileinfo* zipfi, ++extern int Z_EXPORT zipOpenNewFileInZip2_64(zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, + const void* extrafield_global, uInt size_extrafield_global, + const char* comment, int method, int level, int raw, int zip64) { +@@ -1313,7 +1313,7 @@ extern int ZEXPORT zipOpenNewFileInZip2_ + NULL, 0, VERSIONMADEBY, 0, zip64); + } + +-extern int ZEXPORT zipOpenNewFileInZip64(zipFile file, const char* filename, const zip_fileinfo* zipfi, ++extern int Z_EXPORT zipOpenNewFileInZip64(zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, + const void*extrafield_global, uInt size_extrafield_global, + const char* comment, int method, int level, int zip64) { +@@ -1325,7 +1325,7 @@ extern int ZEXPORT zipOpenNewFileInZip64 + NULL, 0, VERSIONMADEBY, 0, zip64); + } + +-extern int ZEXPORT zipOpenNewFileInZip(zipFile file, const char* filename, const zip_fileinfo* zipfi, ++extern int Z_EXPORT zipOpenNewFileInZip(zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, + const void*extrafield_global, uInt size_extrafield_global, + const char* comment, int method, int level) { +@@ -1375,7 +1375,7 @@ local int zip64FlushWriteBuffer(zip64_in + return err; + } + +-extern int ZEXPORT zipWriteInFileInZip(zipFile file, const void* buf, unsigned int len) { ++extern int Z_EXPORT zipWriteInFileInZip(zipFile file, const void* buf, unsigned int len) { + zip64_internal* zi; + int err=ZIP_OK; + +@@ -1386,7 +1386,7 @@ extern int ZEXPORT zipWriteInFileInZip(z + if (zi->in_opened_file_inzip == 0) + return ZIP_PARAMERROR; + +- zi->ci.crc32 = crc32(zi->ci.crc32,buf,(uInt)len); ++ zi->ci.crc32 = zng_crc32(zi->ci.crc32,buf,(uInt)len); + + #ifdef HAVE_BZIP2 + if(zi->ci.method == Z_BZIP2ED && (!zi->ci.raw)) +@@ -1445,7 +1445,7 @@ extern int ZEXPORT zipWriteInFileInZip(z + if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) + { + uLong uTotalOutBefore = zi->ci.stream.total_out; +- err=deflate(&zi->ci.stream, Z_NO_FLUSH); ++ err=zng_deflate(&zi->ci.stream, Z_NO_FLUSH); + + zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ; + } +@@ -1476,11 +1476,11 @@ extern int ZEXPORT zipWriteInFileInZip(z + return err; + } + +-extern int ZEXPORT zipCloseFileInZipRaw(zipFile file, uLong uncompressed_size, uLong crc32) { ++extern int Z_EXPORT zipCloseFileInZipRaw(zipFile file, uLong uncompressed_size, uLong crc32) { + return zipCloseFileInZipRaw64 (file, uncompressed_size, crc32); + } + +-extern int ZEXPORT zipCloseFileInZipRaw64(zipFile file, ZPOS64_T uncompressed_size, uLong crc32) { ++extern int Z_EXPORT zipCloseFileInZipRaw64(zipFile file, ZPOS64_T uncompressed_size, uLong crc32) { + zip64_internal* zi; + ZPOS64_T compressed_size; + uLong invalidValue = 0xffffffff; +@@ -1508,7 +1508,7 @@ extern int ZEXPORT zipCloseFileInZipRaw6 + zi->ci.stream.next_out = zi->ci.buffered_data; + } + uTotalOutBefore = zi->ci.stream.total_out; +- err=deflate(&zi->ci.stream, Z_FINISH); ++ err=zng_deflate(&zi->ci.stream, Z_FINISH); + zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ; + } + } +@@ -1550,7 +1550,7 @@ extern int ZEXPORT zipCloseFileInZipRaw6 + + if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) + { +- int tmp_err = deflateEnd(&zi->ci.stream); ++ int tmp_err = zng_deflateEnd(&zi->ci.stream); + if (err == ZIP_OK) + err = tmp_err; + zi->ci.stream_initialised = 0; +@@ -1715,7 +1715,7 @@ extern int ZEXPORT zipCloseFileInZipRaw6 + return err; + } + +-extern int ZEXPORT zipCloseFileInZip(zipFile file) { ++extern int Z_EXPORT zipCloseFileInZip(zipFile file) { + return zipCloseFileInZipRaw (file,0,0); + } + +@@ -1843,7 +1843,7 @@ local int Write_GlobalComment(zip64_inte + return err; + } + +-extern int ZEXPORT zipClose(zipFile file, const char* global_comment) { ++extern int Z_EXPORT zipClose(zipFile file, const char* global_comment) { + zip64_internal* zi; + int err = 0; + uLong size_centraldir = 0; +@@ -1911,7 +1911,7 @@ extern int ZEXPORT zipClose(zipFile file + return err; + } + +-extern int ZEXPORT zipRemoveExtraInfoBlock(char* pData, int* dataLen, short sHeader) { ++extern int Z_EXPORT zipRemoveExtraInfoBlock(char* pData, int* dataLen, short sHeader) { + char* p = pData; + int size = 0; + char* pNewHeader; +--- swipl-9.2.9/src/minizip/zip.h.orig 2024-12-20 02:46:40.000000000 -0700 ++++ swipl-9.2.9/src/minizip/zip.h 2025-01-07 14:10:11.410621214 -0700 +@@ -46,9 +46,7 @@ extern "C" { + + //#define HAVE_BZIP2 + +-#ifndef _ZLIB_H +-#include "zlib.h" +-#endif ++#include + + #ifndef _ZLIBIOAPI_H + #include "ioapi.h" +@@ -113,8 +111,8 @@ typedef const char* zipcharpc; + #define APPEND_STATUS_CREATEAFTER (1) + #define APPEND_STATUS_ADDINZIP (2) + +-extern zipFile ZEXPORT zipOpen(const char *pathname, int append); +-extern zipFile ZEXPORT zipOpen64(const void *pathname, int append); ++extern zipFile Z_EXPORT zipOpen(const char *pathname, int append); ++extern zipFile Z_EXPORT zipOpen64(const void *pathname, int append); + /* + Create a zipfile. + pathname contain on Windows XP a filename like "c:\\zlib\\zlib113.zip" or on +@@ -134,22 +132,22 @@ extern zipFile ZEXPORT zipOpen64(const v + Of course, you can use RAW reading and writing to copy the file you did not want delete + */ + +-extern zipFile ZEXPORT zipOpen2(const char *pathname, ++extern zipFile Z_EXPORT zipOpen2(const char *pathname, + int append, + zipcharpc* globalcomment, + zlib_filefunc_def* pzlib_filefunc_def); + +-extern zipFile ZEXPORT zipOpen2_64(const void *pathname, ++extern zipFile Z_EXPORT zipOpen2_64(const void *pathname, + int append, + zipcharpc* globalcomment, + zlib_filefunc64_def* pzlib_filefunc_def); + +-extern zipFile ZEXPORT zipOpen3(const void *pathname, ++extern zipFile Z_EXPORT zipOpen3(const void *pathname, + int append, + zipcharpc* globalcomment, + zlib_filefunc64_32_def* pzlib_filefunc64_32_def); + +-extern int ZEXPORT zipOpenNewFileInZip(zipFile file, ++extern int Z_EXPORT zipOpenNewFileInZip(zipFile file, + const char* filename, + const zip_fileinfo* zipfi, + const void* extrafield_local, +@@ -160,7 +158,7 @@ extern int ZEXPORT zipOpenNewFileInZip(z + int method, + int level); + +-extern int ZEXPORT zipOpenNewFileInZip64(zipFile file, ++extern int Z_EXPORT zipOpenNewFileInZip64(zipFile file, + const char* filename, + const zip_fileinfo* zipfi, + const void* extrafield_local, +@@ -189,7 +187,7 @@ extern int ZEXPORT zipOpenNewFileInZip64 + */ + + +-extern int ZEXPORT zipOpenNewFileInZip2(zipFile file, ++extern int Z_EXPORT zipOpenNewFileInZip2(zipFile file, + const char* filename, + const zip_fileinfo* zipfi, + const void* extrafield_local, +@@ -202,7 +200,7 @@ extern int ZEXPORT zipOpenNewFileInZip2( + int raw); + + +-extern int ZEXPORT zipOpenNewFileInZip2_64(zipFile file, ++extern int Z_EXPORT zipOpenNewFileInZip2_64(zipFile file, + const char* filename, + const zip_fileinfo* zipfi, + const void* extrafield_local, +@@ -218,7 +216,7 @@ extern int ZEXPORT zipOpenNewFileInZip2_ + Same than zipOpenNewFileInZip, except if raw=1, we write raw file + */ + +-extern int ZEXPORT zipOpenNewFileInZip3(zipFile file, ++extern int Z_EXPORT zipOpenNewFileInZip3(zipFile file, + const char* filename, + const zip_fileinfo* zipfi, + const void* extrafield_local, +@@ -235,7 +233,7 @@ extern int ZEXPORT zipOpenNewFileInZip3( + const char* password, + uLong crcForCrypting); + +-extern int ZEXPORT zipOpenNewFileInZip3_64(zipFile file, ++extern int Z_EXPORT zipOpenNewFileInZip3_64(zipFile file, + const char* filename, + const zip_fileinfo* zipfi, + const void* extrafield_local, +@@ -260,7 +258,7 @@ extern int ZEXPORT zipOpenNewFileInZip3_ + crcForCrypting : crc of file to compress (needed for crypting) + */ + +-extern int ZEXPORT zipOpenNewFileInZip4(zipFile file, ++extern int Z_EXPORT zipOpenNewFileInZip4(zipFile file, + const char* filename, + const zip_fileinfo* zipfi, + const void* extrafield_local, +@@ -280,7 +278,7 @@ extern int ZEXPORT zipOpenNewFileInZip4( + uLong flagBase); + + +-extern int ZEXPORT zipOpenNewFileInZip4_64(zipFile file, ++extern int Z_EXPORT zipOpenNewFileInZip4_64(zipFile file, + const char* filename, + const zip_fileinfo* zipfi, + const void* extrafield_local, +@@ -306,23 +304,23 @@ extern int ZEXPORT zipOpenNewFileInZip4_ + */ + + +-extern int ZEXPORT zipWriteInFileInZip(zipFile file, ++extern int Z_EXPORT zipWriteInFileInZip(zipFile file, + const void* buf, + unsigned len); + /* + Write data in the zipfile + */ + +-extern int ZEXPORT zipCloseFileInZip(zipFile file); ++extern int Z_EXPORT zipCloseFileInZip(zipFile file); + /* + Close the current file in the zipfile + */ + +-extern int ZEXPORT zipCloseFileInZipRaw(zipFile file, ++extern int Z_EXPORT zipCloseFileInZipRaw(zipFile file, + uLong uncompressed_size, + uLong crc32); + +-extern int ZEXPORT zipCloseFileInZipRaw64(zipFile file, ++extern int Z_EXPORT zipCloseFileInZipRaw64(zipFile file, + ZPOS64_T uncompressed_size, + uLong crc32); + +@@ -332,14 +330,14 @@ extern int ZEXPORT zipCloseFileInZipRaw6 + uncompressed_size and crc32 are value for the uncompressed size + */ + +-extern int ZEXPORT zipClose(zipFile file, ++extern int Z_EXPORT zipClose(zipFile file, + const char* global_comment); + /* + Close the zipfile + */ + + +-extern int ZEXPORT zipRemoveExtraInfoBlock(char* pData, int* dataLen, short sHeader); ++extern int Z_EXPORT zipRemoveExtraInfoBlock(char* pData, int* dataLen, short sHeader); + /* + zipRemoveExtraInfoBlock - Added by Mathias Svensson + From ea6067fa69c6013bbda02002712064106515dafd Mon Sep 17 00:00:00 2001 From: Jerry James Date: Tue, 7 Jan 2025 15:11:09 -0700 Subject: [PATCH 24/31] Update obsoletes to stay ahead of F40 --- pl.spec | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pl.spec b/pl.spec index 6cc8fe5..b0e6e22 100644 --- a/pl.spec +++ b/pl.spec @@ -159,11 +159,11 @@ Requires: swi-prolog-nox = %{version}-%{release} Requires: swi-prolog-x = %{version}-%{release} # This can be removed when F45 reaches EOL -Obsoletes: pl < 9.2.8-2 +Obsoletes: pl < 9.2.9-2 Provides: pl = %{version}-%{release} -Obsoletes: pl-devel < 9.2.8-2 +Obsoletes: pl-devel < 9.2.9-2 Provides: pl-devel = %{version}-%{release} -Obsoletes: pl-compat-yap-devel < 9.2.8-2 +Obsoletes: pl-compat-yap-devel < 9.2.9-2 Provides: pl-compat-yap-devel = %{version}-%{release} %description -n swi-prolog %_desc @@ -289,7 +289,7 @@ Summary: ISO/Edinburgh-style Prolog interpreter - with X support Requires: swi-prolog-nox%{?_isa} = %{version}-%{release} # This can be removed when F45 reaches EOL -Obsoletes: pl-xpce < 9.2.8-2 +Obsoletes: pl-xpce < 9.2.9-2 Provides: pl-xpce = %{version}-%{release} %description -n swi-prolog-x %_desc @@ -311,7 +311,7 @@ Requires: java-headless Requires: javapackages-tools # This can be removed when F45 reaches EOL -Obsoletes: pl-jpl < 9.2.8-2 +Obsoletes: pl-jpl < 9.2.9-2 Provides: pl-jpl = %{version}-%{release} %description -n swi-prolog-java %_desc @@ -326,7 +326,7 @@ Summary: SWI-Prolog ODBC interface Requires: swi-prolog-nox%{?_isa} = %{version}-%{release} # This can be removed when F45 reaches EOL -Obsoletes: pl-odbc < 9.2.8-2 +Obsoletes: pl-odbc < 9.2.9-2 Provides: pl-odbc = %{version}-%{release} %description -n swi-prolog-odbc %_desc @@ -368,7 +368,7 @@ BuildArch: noarch Requires: swi-prolog-core = %{version}-%{release} # This can be removed when F45 reaches EOL -Obsoletes: pl-doc < 9.2.8-2 +Obsoletes: pl-doc < 9.2.9-2 Provides: pl-doc = %{version}-%{release} %description -n swi-prolog-doc %_desc From b0ae1d3aa0d28d080d31949b45d6711ffc27feb4 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 18 Jan 2025 10:11:00 +0000 Subject: [PATCH 25/31] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From c3aaa6b11fb50b5b497c4d44c5aa8e581dfc34b9 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Sat, 18 Jan 2025 11:35:53 -0700 Subject: [PATCH 26/31] Add patch for C23 compatibility --- pl.spec | 4 ++++ swipl-9.2.9-c23.patch | 11 +++++++++++ 2 files changed, 15 insertions(+) create mode 100644 swipl-9.2.9-c23.patch diff --git a/pl.spec b/pl.spec index b0e6e22..5cc18ff 100644 --- a/pl.spec +++ b/pl.spec @@ -24,6 +24,9 @@ Patch2: swipl-8.2.0-unbundle-libstemmer.patch Patch3: swipl-9.2.7-inclpr-math.patch # Use zlib-ng directly rather than via the zlib compatibility interface Patch4: swipl-9.2.9-zlib-ng.patch +# Adapt to changed semantics of "type f();" in C23 +# https://github.com/SWI-Prolog/swipl/pull/33 +Patch5: swipl-9.2.9-c23.patch # See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} @@ -404,6 +407,7 @@ This package provides a Qt-based GUI for SWI-Prolog. %patch -P0 -p1 -b .jni %autopatch -p1 -m1 +%conf # Fix the installation path on 64-bit systems if [ "%{_lib}" = "lib64" ]; then sed -e 's,lib\(/\${SWIPL_INSTALL_DIR}\),lib64\1,' \ diff --git a/swipl-9.2.9-c23.patch b/swipl-9.2.9-c23.patch new file mode 100644 index 0000000..4ca03ad --- /dev/null +++ b/swipl-9.2.9-c23.patch @@ -0,0 +1,11 @@ +--- swipl-9.2.9/src/SWI-Prolog.h.orig 2024-12-20 02:46:40.000000000 -0700 ++++ swipl-9.2.9/src/SWI-Prolog.h 2025-01-18 11:04:45.028193615 -0700 +@@ -209,7 +209,7 @@ typedef _PLS(PL_local_data) *PL_engine_t + typedef uintptr_t PL_atomic_t; /* same a word */ + typedef uintptr_t foreign_t; /* return type of foreign functions */ + typedef wchar_t pl_wchar_t; /* Prolog wide character */ +-#ifdef __cplusplus ++#if defined(__cplusplus) || __STDC_VERSION__ > 201710L + typedef void * pl_function_t; /* pass function as void* */ + #else + typedef foreign_t (*pl_function_t)(); /* foreign language functions */ From c5e01a597ad0822e7bf7b54d5d02c750b353df75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Sat, 1 Feb 2025 19:56:37 +0100 Subject: [PATCH 27/31] Add explicit BR: libxcrypt-devel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Björn Esser --- pl.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pl.spec b/pl.spec index 5cc18ff..67a6dda 100644 --- a/pl.spec +++ b/pl.spec @@ -88,6 +88,9 @@ BuildRequires: pkgconfig(Qt6) BuildRequires: pkgconfig(yaml-0.1) # zlib BuildRequires: pkgconfig(zlib-ng) +# crypt +BuildRequires: libxcrypt-devel + # Doc building # Gated to Fedora as EL is currently missing tex(a4wide.sty) %if 0%{?fedora} From fe9a6c0cbc3bcf3891a93abda557ca2b5ca1c479 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Mon, 2 Jun 2025 22:56:30 +0200 Subject: [PATCH 28/31] Rebuilt for Python 3.14 From d179830d78f1d04f1d37527f9d4a21bd9a773a4b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 05:48:42 +0000 Subject: [PATCH 29/31] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 0e3c032d50ec41c51a9a859217f0ffa4a077627b Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Wed, 30 Jul 2025 00:58:24 +0200 Subject: [PATCH 30/31] Rebuilt for java-25-openjdk as preffered jdk https://fedoraproject.org/wiki/Changes/Java25AndNoMoreSystemJdk Note, that since f43, you should be always explicit on what jdk to use. This commit should do exactly that. --- pl.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pl.spec b/pl.spec index 67a6dda..8c71abf 100644 --- a/pl.spec +++ b/pl.spec @@ -72,7 +72,7 @@ BuildRequires: openssl BuildRequires: pkgconfig(openssl) # jpl %ifarch %{java_arches} -BuildRequires: java-devel +BuildRequires: java-25-devel BuildRequires: mvn(junit:junit) BuildRequires: mvn(org.hamcrest:hamcrest) %endif @@ -313,7 +313,7 @@ follows a rather unique approach for developing GUI applications, as follows: %package -n swi-prolog-java Summary: Bidirectional interface between SWI-Prolog and Java Requires: swi-prolog-nox%{?_isa} = %{version}-%{release} -Requires: java-headless +Requires: java-25-headless Requires: javapackages-tools # This can be removed when F45 reaches EOL From 73f467849e8c4749bedbf9cad742d2708287480b Mon Sep 17 00:00:00 2001 From: Jerry James Date: Tue, 9 Dec 2025 06:39:56 -0700 Subject: [PATCH 31/31] Version 10.0.0 - Drop upstreamed C23 patch - Add patch to properly detect the secure_getenv function - Figure the License fields out all over again - Rename swi-prolog-nox to swi-prolog-cli - Combine swi-prolog-x into swi-prolog-win --- licenses.txt | 221 +++++++++++++++++ pl.spec | 401 +++++++++++++++---------------- sources | 3 +- swipl-10.0.0-secure-getenv.patch | 13 + swipl-9.2.9-c23.patch | 11 - 5 files changed, 424 insertions(+), 225 deletions(-) create mode 100644 licenses.txt create mode 100644 swipl-10.0.0-secure-getenv.patch delete mode 100644 swipl-9.2.9-c23.patch diff --git a/licenses.txt b/licenses.txt new file mode 100644 index 0000000..bab9088 --- /dev/null +++ b/licenses.txt @@ -0,0 +1,221 @@ +The swipl project is released under the BSD-2-Clause license. Exceptions are +noted below. The status of each file is indicated with the following codes: + +BD = in the swi-prolog-bdb package +CL = in the swi-prolog-cli package +CP = in the swi-prolog-core-packages package +CR = in the swi-prolog-core package +DC = in the swi-prolog-doc package +FL = in the swi-prolog-full package +JV = in the swi-prolog-java pacakge +MN = in the main package, swi-prolog +NP = not packaged; these files do not influence the package License field +OD = in the swi-prolog-odbc package +TS = in the swi-prolog-test package +WN = in the swi-prolog-win package + +bcrypt-Solar-Designer +--------------------- +CL packages/ssl/crypt_blowfish.{c,h} + +Beerware +-------- +CP packages/clib/md5passwd.c + +Brian-Gladman-3-Clause OR GPL-1.0-or-later +------------------------------------------ +CP packages/clib/sha1/brg_endian.h +CP packages/clib/sha1/brg_types.h +CP packages/clib/sha1/hmac.{c,h} +CP packages/clib/sha1/pwd2key.{c,h} +CP packages/clib/sha1/sha* +CR src/pl-termhash.{c,h} + +BSD-2-Clause AND BSD-3-Clause +----------------------------- +CL packages/libedit/libedit4pl.c + +BSD-2-Clause AND FBM AND HPND-Pbmplus +------------------------------------- +WN packages/xpce/src/img/gifwrite.c + +BSD-2-Clause AND GPL-2.0-or-later +--------------------------------- +TS src/Tests/core/test_coroutining.pl + +BSD-2-Clause AND IJG +-------------------- +WN packages/xpce/src/img/jdatadst.c +WN packages/xpce/src/img/jdatasrc.c + +BSD-2-Clause AND LicenseRef-Fedora-Public-Domain +------------------------------------------------ +CR library/aggregate.pl +WN packages/xpce/src/gra/colour.c + +BSD-2-Clause AND MIT +-------------------- +CP packages/http/http_stream.pl +CP packages/http/multipart.c + +BSD-2-Clause AND Unicode-DFS-2016 +--------------------------------- +CR library/blocks.pl + +BSD-2-Clause OR Artistic-2.0 +---------------------------- +CP library/ugraphs.pl + +BSD-3-Clause +------------ +CP packages/clib/bsd-crypt.c +NP packages/libedit/libedit/* +NP packages/odbc/cmake/FindODBC.cmake +NP packages/protobufs/interop/google/protobuf/unittest* +CL packages/tipc/tipcutils/tipc-config.c +NP packages/xpce/cmake/FindFontConfig.cmake +CR src/libbf/mersenne-twister.{c,h} + +CC-BY-SA-3.0 +------------ +DC man/main.doc +WN packages/xpce/man/course/doc.doc +WN packages/xpce/man/info/titlepage.def + +dtoa +---- +CR src/os/dtoa.c + +Free for non-commercial use +--------------------------- +NP bench/unify.pl (removed from tarball) +NP bench/simple_analyzer.pl (removed from tarball) + +GFDL-1.3-no-invariants-or-later +------------------------------- +CP packages/sweep/sweep.texi + +GPL-1.0-or-later OR Artistic-1.0-Perl +------------------------------------- +CP packages/nlp/double_metaphone.c + +GPL-2.0-or-later +---------------- +NP repackage.sh (not included in the upstream tarball) +NP packages/xpce/man/info/texinfo.tex + +GPL-2.0-or-later WITH Bison-exception-2.2 AND LicenseRef-Fedora-Public-Domain +----------------------------------------------------------------------------- +WN packages/xpce/src/gnu/getdate.c + +GPL-2.0-or-later with SWI-exception +----------------------------------- +CP packages/clpqr/* +CP packages/http/http_server_health.pl +TS src/Tests/compile/test_autoload.pl +TS tests/library/test_pio.pl + +GPL-3.0-or-later +---------------- +CP packages/sweep/emacs-module.h + +Knuth-CTAN +---------- +DC man/name.bst +WN packages/xpce/TeX/name.bst + +LGPL-2.0-only +------------- +NP cmake/TestSignalType.cmake + +LGPL-2.0-or-later +----------------- +CP packages/nlp/isub.c + +LGPL-2.1-or-later +----------------- +TS src/Tests/core/test_arith.pl +TS src/Tests/core/test_bips.pl +TS src/Tests/core/test_dcg.pl +TS src/Tests/core/test_sort.pl +TS src/Tests/core/test_subsumes.pl + +LicenseRef-Fedora-Public-Domain +------------------------------- +NP bench/programs/derive.pl +NP bench/programs/divide10.pl +NP bench/programs/eval.pl +NP bench/programs/fib.pl +NP bench/programs/log10.pl +NP bench/programs/nreverse.pl +NP bench/programs/ops8.pl +NP bench/programs/qsort.pl +NP bench/programs/queens_clpfd.pl +NP bench/programs/query.pl +NP bench/programs/serialise.pl +NP bench/programs/sieve.pl +NP bench/programs/times10.pl +CR library/dialect/bim.pl +NP packages/clib/demo/* +NP packages/cpp/likes.cpp +NP packages/http/examples/demo_body.pl +NP packages/http/examples/demo_daemon.pl +CP packages/semweb/murmur.{c,h} +NP packages/ssl/https.pl +NP packages/stomp/examples/* +NP packages/swipy/tests/russel.pl +WN packages/xpce/man/course/bib.pl +WN packages/xpce/man/course/fam.pl +WN packages/xpce/man/course/ftp.pl +WN packages/xpce/man/course/learner.pl +WN packages/xpce/man/course/lib/prompt.pl +WN packages/xpce/man/info/dialog.pl +WN packages/xpce/man/info/which.pl +WN packages/xpce/man/info/window.pl +WN packages/xpce/man/reference/class/image.doc +WN packages/xpce/man/userguide/examples/graphedit.pl +WN packages/xpce/src/gnu/getdate-source.y +WN packages/xpce/src/gnu/y.tab +NP scripts/swipl-bt +CR src/pl-hash.{c,h} +CR src/libtai/* +NP src/tools/functions.pm +NP src/tools/update-deps + +LPPL-1.3c +--------- +DC man/bk9.clo +DC man/swipl.cls + +MIT +--- +NP bench/programs/chat_parser.pl +NP packages/http/web/js/jquery* +CP packages/mqi/python/* +NP packages/pcre/cmake/FindPCRE.cmake +NP packages/swipy/test_xsb_janus.pl +NP packages/swipy/xsb_tests/* +CR src/libbf/cutils.{c,h} +CR src/libbf/libbf.{c,h} + +MIT AND Unicode-DFS-2015 +------------------------ +CP packages/utf8proc/* + +Spencer-99 AND TCL AND PostgreSQL +--------------------------------- +WN packages/xpce/src/rgx/* + +W3C +--- +CP packages/sgml/DTD/* + +X11 +--- +NP packages/xpce/deps/xpm/* + +Zlib +---- +CP packages/clib/md5.{c,h} +CP packages/semweb/md5.{c,h} +CR src/minizip/* diff --git a/pl.spec b/pl.spec index 8c71abf..322ecbd 100644 --- a/pl.spec +++ b/pl.spec @@ -2,18 +2,19 @@ %global swipl_arch %{_target_cpu}-linux Name: pl -Version: 9.2.9 +Version: 10.0.0 Release: %autorelease Summary: ISO/Edinburgh-style Prolog interpreter +# For the license breakdown, see licenses.txt, Source2 License: BSD-2-Clause URL: https://www.swi-prolog.org/ VCS: git:https://github.com/SWI-Prolog/swipl.git # Source0: %%{url}download/stable/src/swipl-%%{version}.tar.gz # To create the repackaged archive, use ./repackage.sh %%{version} Source0: swipl-%{version}_repackaged.tar.gz -Source1: %{url}download/xpce/doc/userguide/userguide.html.tgz -Source2: repackage.sh +Source1: repackage.sh +Source2: licenses.txt # Use JNI for Java binding Patch0: swipl-8.2.1-Fix-JNI.patch # Upstream installation paths differ from distribution ones @@ -24,9 +25,8 @@ Patch2: swipl-8.2.0-unbundle-libstemmer.patch Patch3: swipl-9.2.7-inclpr-math.patch # Use zlib-ng directly rather than via the zlib compatibility interface Patch4: swipl-9.2.9-zlib-ng.patch -# Adapt to changed semantics of "type f();" in C23 -# https://github.com/SWI-Prolog/swipl/pull/33 -Patch5: swipl-9.2.9-c23.patch +# Fix detection of the secure_getenv function +Patch5: swipl-10.0.0-secure-getenv.patch # See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} @@ -37,59 +37,56 @@ BuildRequires: findutils BuildRequires: gcc-c++ BuildRequires: ninja-build # Base -BuildRequires: gmp-devel +BuildRequires: cmake(zlib-ng) BuildRequires: libatomic BuildRequires: pkgconfig -BuildRequires: pkgconfig(libedit) +BuildRequires: pkgconfig(gmp) BuildRequires: pkgconfig(libpcre2-posix) BuildRequires: pkgconfig(libtcmalloc) BuildRequires: pkgconfig(ncurses) BuildRequires: pkgconfig(readline) # archive BuildRequires: pkgconfig(libarchive) -# http -BuildRequires: js-jquery -# XPCE -BuildRequires: pkgconfig(fontconfig) -BuildRequires: pkgconfig(freetype2) -BuildRequires: pkgconfig(libjpeg) -BuildRequires: pkgconfig(x11) -BuildRequires: pkgconfig(xext) -BuildRequires: pkgconfig(xft) -BuildRequires: pkgconfig(xinerama) -BuildRequires: pkgconfig(xpm) -BuildRequires: pkgconfig(xrandr) -BuildRequires: pkgconfig(xt) -BuildRequires: texinfo-tex # bdb BuildRequires: libdb-devel -# mqi / swiplserver -BuildRequires: python3-devel -# ODBC -BuildRequires: pkgconfig(odbc) -# SSL -BuildRequires: openssl -BuildRequires: pkgconfig(openssl) +# crypt +BuildRequires: libxcrypt-devel +# http +BuildRequires: js-jquery # jpl %ifarch %{java_arches} BuildRequires: java-25-devel BuildRequires: mvn(junit:junit) BuildRequires: mvn(org.hamcrest:hamcrest) %endif +# mqi / swiplserver +BuildRequires: python3-devel # nlp BuildRequires: libstemmer-devel +# ODBC +BuildRequires: pkgconfig(odbc) +# SSL +BuildRequires: openssl +BuildRequires: pkgconfig(openssl) # sweep BuildRequires: emacs-devel +# term +BuildRequires: pkgconfig(libedit) # uuid BuildRequires: pkgconfig(ossp-uuid) # win -BuildRequires: pkgconfig(Qt6) +BuildRequires: cmake(Qt6) +# XPCE +BuildRequires: cmake(SDL3) +BuildRequires: cmake(SDL3_image) +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(pango) +BuildRequires: pkgconfig(fontconfig) +BuildRequires: pkgconfig(libjpeg) +BuildRequires: pkgconfig(xpm) +BuildRequires: texinfo-tex # yaml BuildRequires: pkgconfig(yaml-0.1) -# zlib -BuildRequires: pkgconfig(zlib-ng) -# crypt -BuildRequires: libxcrypt-devel # Doc building # Gated to Fedora as EL is currently missing tex(a4wide.sty) @@ -99,8 +96,7 @@ BuildRequires: tex(a4wide.sty) BuildRequires: tex(tabulary.sty) %endif -%global _desc %{expand: -SWI-Prolog is a fast and powerful ISO/Edinburgh-style Prolog compiler with a +%global _desc %{expand:SWI-Prolog is a fast and powerful ISO/Edinburgh-style Prolog compiler with a rich set of built-in predicates. It offers a fast, robust and small environment which enables substantial applications to be developed with it. @@ -112,57 +108,17 @@ SWI-Prolog additionally offers: * Unbounted integer and rational number arithmetic * Multithreading support * A powerful C/C++ interface -* GNU Readline interface -} +* GNU Readline interface} -%description %_desc - -# Not compiled into a binary package: -#External: repackage.sh GPL-2.0-or-later -#bench/ Various licenses -#packages/RDF/configure FSFUL -#packages/clib/configure FSFUL -#packagfes/clib/demo/ Public Domain -#packages/clpqr/.fileheader GPL-2.0-or-later with SWI exception -#packages/clpqr/configure FSFUL -#packages/cpp/configure FSFUL -#packages/http/examples/ LicenseRef-Fedora-Public-Domain -#packages/http/web/js/jquery* MIT -#packages/nlp/configure FSFUL -#packages/pcre/cmake/FindPCRE.cmake MIT -#packages/protobufs/configure FSFUL -#packages/sgml/configure FSFUL -#packages/ssl/configure FSFUL -#packages/ssl/https.pl LicenseRef-Fedora-Public-Domain -#packages/stomp/examples/ LicenseRef-Fedora-Public-Domain -#packages/swipy/tests/ LicenseRef-Fedora-Public-Domain -#packages/utf8proc/LICENSE MIT AND Unicode-DFS-2015 -#packages/utf8proc/data_generator.rb MIT AND Unicode-DFS-2015 -#packages/utf8proc/ruby/gem/LICENSE MIT AND Unicode-DFS-2015 -#packages/xpce/TeX/name.bst LicenseRef-Bibtex -#packages/xpce/deps/xpm/ X11 -#packages/xpce/src/configure FSFUL -#packages/xpce/src/msw/simx.h SGI-B-2.0 -#packages/xpce/src/msw/xpm.h SGI-B-2.0 -#packages/zlib/configure FSFUL -#scripts/swipl-bt LicenseRef-Fedora-Public-Domain -#src/libbf/cutils.c MIT -#src/libbf/cutils.h MIT -#src/libbf/libbf.c MIT -#src/libbf/libbf.h MIT -#src/tools/functions.pm LicenseRef-Fedora-Public-Domain -#src/tools/update-deps LicenseRef-Fedora-Public-Domain -# Removed from repackaged tar ball, see -# : -#bench/unify.pl Free for non-commercial -#bench/simple_analyzer.pl Free for non-commercial +%description +%_desc %package -n swi-prolog Summary: ISO/Edinburgh-style Prolog interpreter BuildArch: noarch Requires: swi-prolog-doc = %{version}-%{release} -Requires: swi-prolog-nox = %{version}-%{release} -Requires: swi-prolog-x = %{version}-%{release} +Requires: swi-prolog-cli = %{version}-%{release} +Requires: swi-prolog-win = %{version}-%{release} # This can be removed when F45 reaches EOL Obsoletes: pl < 9.2.9-2 @@ -172,7 +128,9 @@ Provides: pl-devel = %{version}-%{release} Obsoletes: pl-compat-yap-devel < 9.2.9-2 Provides: pl-compat-yap-devel = %{version}-%{release} -%description -n swi-prolog %_desc +%description -n swi-prolog +%_desc + This is a metapackage, which installs the SWI-Prolog suite, except Java, ODBC, Berkeley DB support and tests. @@ -185,26 +143,25 @@ Requires: swi-prolog-java = %{version}-%{release} Requires: swi-prolog-odbc = %{version}-%{release} Requires: swi-prolog-win = %{version}-%{release} -%description -n swi-prolog-full %_desc +%description -n swi-prolog-full +%_desc + This is a metapackage, which installs the full SWI-Prolog suite, except tests. %package -n swi-prolog-core # NOTE: There is no swi-prolog-core-devel package. Instead, the header files # and other development files are included in this package. It is a Prolog # compiler, and therefore is a development package itself. -# -# The project as a whole is distributed under the BSD-2-Clause license. -# These files carry different licenses: -# library/aggregate.pl BSD-2-Clause AND LicenseRef-Fedora-Public-Domain -# library/dialect/bim.pl LicenseRef-Fedora-Public-Domain -# library/unicode/blocks.pl BSD-2-Clause AND Unicode-DFS-2016 -# src/libbf/mersenne-twister.c BSD-3-Clause -# src/libbf/mersenne-twister.h BSD-3-Clause -# src/libtai/ LicenseRef-Fedora-Public-Domain -# src/minizip/ Zlib -# src/os/dtoa.c dtoa -# src/pl-hash.{c,h} LicenseRef-Fedora-Public-Domain -License: BSD-2-Clause AND BSD-3-Clause AND LicenseRef-Fedora-Public-Domain AND Unicode-DFS-2016 AND Zlib AND dtoa +License: %{shrink: + BSD-2-Clause AND + (Brian-Gladman-3-Clause OR GPL-1.0-or-later) AND + BSD-3-Clause AND + dtoa AND + LicenseRef-Fedora-Public-Domain AND + MIT AND + Unicode-DFS-2016 AND + Zlib + } Summary: ISO/Edinburgh-style Prolog interpreter - core system Recommends: swi-prolog-bdb%{?_isa} = %{version}-%{release} Recommends: swi-prolog-core-packages%{?_isa} = %{version}-%{release} @@ -215,35 +172,29 @@ Recommends: swi-prolog-odbc%{?_isa} = %{version}-%{release} # Old version of minizip is bundled Provides: bundled(minizip) = 1.3.1 -%description -n swi-prolog-core %_desc +%description -n swi-prolog-core +%_desc + This package contains the core SWI-Prolog system. %package -n swi-prolog-core-packages -# The project as a whole is distributed under the BSD-2-Clause license. -# These files carry different licenses: -# library/ugraphs.pl BSD-2-Clause OR Artistic-2.0 -# packages/clib/bsd-crypt.c BSD-3-Clause -# packages/clib/md5.{c,h} Zlib -# packages/clib/md5passwd.c Beerware -# packages/clib/sha1/ Brian-Gladman-3-Clause OR GPL-1.0+ -# packages/clpqr/ GPL-2.0-or-later with SWI-exception -# packages/http/http_server_health.pl GPL-2.0-or-later with SWI-exception -# packages/http/http_stream.pl BSD-2-Clause AND MIT -# packages/http/multipart.c BSD-2-Clause AND MIT -# packages/mqi/python/ MIT -# packages/nlp/double_metaphone.c GPL-1.0-or-later OR Artistic-1.0-Perl -# packages/nlp/isub.c LGPL-2.0-or-later -# packages/protobufs/interop/google/ BSD-3-Clause -# packages/semweb/md5.{c,h} Zlib -# packages/semweb/murmur.{c,h} LicenseRef-Fedora-Public-Domain -# packages/sgml/DTD/ W3C -# packages/sweep/emacs-module.h GPL-3.0-or-later -# packages/sweep/sweep.texi GFDL-1.3-no-invariants-or-later -# packages/utf8proc/ MIT AND Unicode-DFS-2015 -# -# Note that packages/redis/redis.pl was relicensed. It contains a note about -# the former license (MIT), but is no longer distributed under that license. -License: BSD-2-Clause AND (Brian-Gladman-3-Clause OR GPL-1.0-or-later) AND (BSD-2-Clause OR Artistic-2.0) AND BSD-3-Clause AND Beerware AND GFDL-1.3-no-invariants-or-later AND (GPL-1.0-or-later OR Artistic-1.0-Perl) AND GPL-2.0-or-later with SWI-exception AND GPL-3.0-or-later AND LGPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain AND MIT AND Unicode-DFS-2015 AND W3C AND Zlib +License: %{shrink: + BSD-2-Clause AND + Beerware AND + (Brian-Gladman-3-Clause OR GPL-1.0-or-later) AND + (BSD-2-Clause OR Artistic-2.0) AND + BSD-3-Clause AND + GFDL-1.3-no-invariants-or-later AND + (GPL-1.0-or-later OR Artistic-1.0-Perl) AND + GPL-2.0-or-later WITH SWI-exception AND + GPL-3.0-or-later AND + LGPL-2.0-or-later AND + LicenseRef-Fedora-Public-Domain AND + MIT AND + Unicode-DFS-2016 AND + W3C AND + Zlib + } Summary: ISO/Edinburgh-style Prolog interpreter - core packages Requires: swi-prolog-core%{?_isa} = %{version}-%{release} Requires: js-jquery @@ -257,16 +208,18 @@ Recommends: swi-prolog-odbc%{?_isa} = %{version}-%{release} # See https://fedoraproject.org/wiki/Bundled_Libraries_Virtual_Provides Provides: bundled(md5-deutsch) -%description -n swi-prolog-core-packages %_desc +# An old version of ut8proc is bundled, not fully compatible with the 2.x +# versions available in Fedora +Provides: bundled(utf8proc) = 1.1.6 + +%description -n swi-prolog-core-packages +%_desc + This package contains the core SWI-Prolog packages. -%package -n swi-prolog-nox -# The project as a whole is distributed under the BSD-2-Clause license. -# These files carry different licenses: -# packages/ssl/crypt_blowfish.{c,h} bcrypt-Solar-Designer -# packages/tipc/tipcutils/tipc-config.c BSD-3-Clause +%package -n swi-prolog-cli License: BSD-2-Clause AND BSD-3-Clause AND bcrypt-Solar-Designer -Summary: ISO/Edinburgh-style Prolog interpreter - without X support +Summary: ISO/Edinburgh-style Prolog interpreter - command line interface Requires: swi-prolog-core%{?_isa} = %{version}-%{release} Requires: swi-prolog-core-packages%{?_isa} = %{version}-%{release} Recommends: swi-prolog-bdb%{?_isa} = %{version}-%{release} @@ -274,31 +227,46 @@ Recommends: swi-prolog-doc = %{version}-%{release} Recommends: swi-prolog-java%{?_isa} = %{version}-%{release} Recommends: swi-prolog-odbc%{?_isa} = %{version}-%{release} -%description -n swi-prolog-nox %_desc -This package contains a SWI-Prolog installation without GUI components. +# This can be removed when F47 reaches EOL +Obsoletes: swi-prolog-nox < 10.0.0 +Provides: swi-prolog-nox = %{version}-%{release} -%package -n swi-prolog-x -# The project as a whole is distributed under the BSD-2-Clause license. -# These files carry different licenses: -# packages/xpce/man/course CC-BY-SA-3.0 -# packages/xpce/man/info CC-BY-SA-3.0 -# packages/xpce/src/gnu/getdate.c LicenseRef-Fedora-Public-Domain AND -# GPL-2.0-or-later WITH Bison-exception-2.2 -# packages/xpce/src/gnu/getdate-source.y LicenseRef-Fedora-Public-Domain -# packages/xpce/src/gnu/y.tab LicenseRef-Fedora-Public-Domain -# packages/xpce/src/img/gifwrite.c BSD-2-Clause AND FBM AND HPND-Pbmplus -# packages/xpce/src/img/jdatadst.c BSD-2-Clause AND IJG -# packages/xpce/src/rgx/ Spencer-99 AND TCL AND PostgreSQL -# packages/xpce/src/x11/xdnd.{c,h} LGPL-2.0-or-later -License: BSD-2-Clause AND CC-BY-SA-3.0 AND FBM AND GPL-2.0-or-later WITH Bison-exception-2.2 AND HPND-Pbmplus AND IJG AND LGPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain AND PostgreSQL AND Spencer-99 AND TCL -Summary: ISO/Edinburgh-style Prolog interpreter - with X support -Requires: swi-prolog-nox%{?_isa} = %{version}-%{release} +%description -n swi-prolog-cli +%_desc + +This package contains a SWI-Prolog installation with a command line interface +but no GUI components. + +%package -n swi-prolog-win +License: %{shrink: + BSD-2-Clause AND + CC-BY-SA-3.0 AND + FBM AND + GPL-2.0-or-later WITH Bison-exception-2.2 AND + HPND-Pbmplus AND + IJG AND + Knuth-CTAN AND + LicenseRef-Fedora-Public-Domain AND + PostgreSQL AND + Spencer-99 AND + TCL + } +Summary: ISO/Edinburgh-style Prolog interpreter - with GUI support +Requires: swi-prolog-cli%{?_isa} = %{version}-%{release} +Requires: hicolor-icon-theme +Requires: shared-mime-info%{?_isa} # This can be removed when F45 reaches EOL Obsoletes: pl-xpce < 9.2.9-2 Provides: pl-xpce = %{version}-%{release} -%description -n swi-prolog-x %_desc +# This can be removed when F47 reaches EOL +Obsoletes: swi-prolog-x < 10.0.0 +Provides: swi-prolog-x = %{version}-%{release} + +%description -n swi-prolog-win +%_desc + This package contains XPCE, an object-oriented symbolic programming environment for user interfaces. Although XPCE was designed to be language-independent, it has gained the most popularity with Prolog. XPCE @@ -312,7 +280,7 @@ follows a rather unique approach for developing GUI applications, as follows: %ifarch %{java_arches} %package -n swi-prolog-java Summary: Bidirectional interface between SWI-Prolog and Java -Requires: swi-prolog-nox%{?_isa} = %{version}-%{release} +Requires: swi-prolog-cli%{?_isa} = %{version}-%{release} Requires: java-25-headless Requires: javapackages-tools @@ -320,7 +288,9 @@ Requires: javapackages-tools Obsoletes: pl-jpl < 9.2.9-2 Provides: pl-jpl = %{version}-%{release} -%description -n swi-prolog-java %_desc +%description -n swi-prolog-java +%_desc + This package provides JPL, a library using the SWI-Prolog foreign interface and the Java Native Interface to provide a bidirectional interface between Java and Prolog. Prolog can be embedded in Java, and Java can be embedded in @@ -329,13 +299,15 @@ Prolog. It provides a reentrant bidirectional interface in both cases. %package -n swi-prolog-odbc Summary: SWI-Prolog ODBC interface -Requires: swi-prolog-nox%{?_isa} = %{version}-%{release} +Requires: swi-prolog-cli%{?_isa} = %{version}-%{release} # This can be removed when F45 reaches EOL Obsoletes: pl-odbc < 9.2.9-2 Provides: pl-odbc = %{version}-%{release} -%description -n swi-prolog-odbc %_desc +%description -n swi-prolog-odbc +%_desc + The value of RDMS for Prolog is often overestimated, as Prolog itself can manage substantial amounts of data. Nevertheless a Prolog/RDMS interface provides advantages if data is already provided in an RDMS, data must be @@ -352,23 +324,21 @@ constraint. %package -n swi-prolog-bdb Summary: SWI-Prolog Berkeley DB interface -Requires: swi-prolog-nox%{?_isa} = %{version}-%{release} +Requires: swi-prolog-cli%{?_isa} = %{version}-%{release} + +%description -n swi-prolog-bdb +%_desc -%description -n swi-prolog-bdb %_desc This package provides a foreign language extension to the Berkeley DB (libdb) embedded database. %package -n swi-prolog-doc -# The project as a whole is distributed under the BSD-2-Clause license. -# These files carry different licenses: -# man/bk9.co LPPL-1.3a+ -# man/main.doc CC-BY-SA-3.0 -# man/name.bst Knuth-CTAN -# man/swipl.cls LPPL-1.3a+ -# The PDF of the manual contains embedded fonts with these licenses: -# CM: Knuth-CTAN -# Nimbus: AGPL-3.0-only -License: BSD-2-Clause AND AGPL-3.0-only AND CC-BY-SA-3.0 AND Knuth-CTAN AND LPPL-1.3a+ +License: %{shrink: + BSD-2-Clause AND + CC-BY-SA-3.0 AND + Knuth-CTAN AND + LPPL-1.3c + } Summary: Documentation and examples for SWI-Prolog BuildArch: noarch Requires: swi-prolog-core = %{version}-%{release} @@ -377,38 +347,36 @@ Requires: swi-prolog-core = %{version}-%{release} Obsoletes: pl-doc < 9.2.9-2 Provides: pl-doc = %{version}-%{release} -%description -n swi-prolog-doc %_desc +%description -n swi-prolog-doc +%_desc + This package provides documentation and examples. %package -n swi-prolog-test -# The project as a whole is distributed under the BSD-2-Clause license. -# These files carry different licenses: -# src/Tests/compile/test_autoload.pl GPL-2.0-or-later WITH SWI-exception -# src/Tests/core/test_arith.pl LGPL-2.1-or-later -# src/Tests/core/test_coroutining.pl BSD-2-Clause AND GPL-2.0-or-later -License: BSD-2-Clause AND GPL-2.0-or-later AND GPL-2.0-or-later WITH SWI-exception AND LGPL-2.1-or-later +License: %{shrink: + BSD-2-Clause AND + GPL-2.0-or-later AND + GPL-2.0-or-later WITH SWI-exception AND + LGPL-2.1-or-later + } Summary: Tests and checks for SWI-Prolog BuildArch: noarch -Requires: swi-prolog-nox = %{version}-%{release} +Requires: swi-prolog-cli = %{version}-%{release} + +%description -n swi-prolog-test +%_desc -%description -n swi-prolog-test %_desc This package provides a set of prepared tests and checks for installed SWI-Prolog systems. This package is intended for SWI-Prolog development and is of no use for ordinary users. If you are not sure if you need this package, you do not. -%package -n swi-prolog-win -Summary: SWI-Prolog GUI interface -Requires: swi-prolog-core%{?_isa} = %{version}-%{release} - -%description -n swi-prolog-win %_desc -This package provides a Qt-based GUI for SWI-Prolog. - %prep %global docdir doc-install %autosetup -N -n swipl-%{version} %patch -P0 -p1 -b .jni %autopatch -p1 -m1 +cp -p %{SOURCE2} . %conf # Fix the installation path on 64-bit systems @@ -418,16 +386,6 @@ if [ "%{_lib}" = "lib64" ]; then -i cmake/LocationsPostPorts.cmake fi -# Unpack the XPCE user guide -mkdir %{docdir}-xpce -pushd %{docdir}-xpce -tar -xzf %{SOURCE1} -mv UserGuide xpce-UserGuide -popd - -# Get the Java config sources -cp -p %{SOURCE2} . - # Adjustments to take into account the new location of JNI stuff sed -i 's#LIBDIR#%{_libdir}#g' packages/jpl/jpl.pl sed -i.jni -e 's#LIBDIR#"%{_libdir}/swipl-jpl"#g' packages/jpl/src/main/java/org/jpl7/JPL.java @@ -437,12 +395,15 @@ sed -i.jni -e 's#LIBDIR#"%{_libdir}/swipl-jpl"#g' packages/jpl/src/main/java/org cp -p packages/jpl/jpl.pl packages/jpl/jpl.pl.install cp -p packages/jpl/jpl.pl.jni packages/jpl/jpl.pl +# Do not use the bundled libedit +rm -fr packages/libedit/libedit + # Do not use the bundled libstemmer rm -fr packages/nlp/libstemmer_c # Do not use the bundled texinfo.tex rm packages/xpce/man/info/texinfo.tex -ln -s %{_texmf}/tex/texinfo/texinfo.tex packages/xpce/man/info +ln -s %{_texmf_main}/tex/texinfo/texinfo.tex packages/xpce/man/info # Avoid a clash on doc names cp -p customize/README.md README-customize.md @@ -471,6 +432,7 @@ export DISABLE_PKGS="jpl" -DSWIPL_INSTALL_IN_LIB:BOOL=ON \ -DSWIPL_INSTALL_IN_SHARE:BOOL=ON \ -DSWIPL_VERSIONED_DIR:BOOL=OFF \ + -DSYSTEM_LIBEDIT:BOOL=ON \ -DUSE_TCMALLOC:BOOL=ON \ -G Ninja @@ -500,19 +462,18 @@ chmod 0755 \ %{buildroot}%{_datadir}/swipl/doc/packages/examples/protobufs/interop/test_write.py \ %{buildroot}%{_datadir}/swipl/doc/packages/examples/stomp/server-loop.sh \ %{buildroot}%{_libdir}/swipl/customize/edit \ - %{buildroot}%{_libdir}/swipl/library/dialect/sicstus/swipl-lfr.pl \ - %{buildroot}%{_libdir}/swipl/test/Tests/xsb/delay_tests/*.sh \ - %{buildroot}%{_libdir}/swipl/test/Tests/xsb/ptq/*.sh \ - %{buildroot}%{_libdir}/swipl/test/Tests/xsb/wfs_tests/*.sh + %{buildroot}%{_libdir}/swipl/test/xsb/delay_tests/*.sh \ + %{buildroot}%{_libdir}/swipl/test/xsb/ptq/*.sh \ + %{buildroot}%{_libdir}/swipl/test/xsb/wfs_tests/*.sh # Some XPCE files do not get installed cp -p packages/xpce/man/*.1 %{buildroot}%{_mandir}/man1 cp -a packages/xpce/man/course %{buildroot}%{_libdir}/swipl/xpce/man # Let LaTeX know about the style file -mkdir -p %{buildroot}%{_texmf}/tex/latex/swi-prolog +mkdir -p %{buildroot}%{_texmf_main}/tex/latex/swi-prolog ln -s %{_libdir}/swipl/library/ext/pldoc/pldoc/pldoc.sty \ - %{buildroot}%{_texmf}/tex/latex/swi-prolog/pldoc.sty + %{buildroot}%{_texmf_main}/tex/latex/swi-prolog/pldoc.sty # Install the sweep info file mkdir -p %{buildroot}%{_infodir} @@ -548,8 +509,22 @@ cd - rm %{buildroot}%{_libdir}/swipl/{LICENSE,README.md} rm %{buildroot}%{_libdir}/swipl/customize/README.md rm %{buildroot}%{_libdir}/swipl/lib/swiplserver/LICENSE -rm %{buildroot}%{_libdir}/swipl/test/Tests/xsb/.gitignore -rm %{buildroot}%{_libdir}/swipl/xpce/man/course/.gitignore +find %{buildroot}%{_libdir} -name .gitignore -delete + +# Move the desktop files to where we really want them +mkdir -p %{buildroot}%{_datadir}/applications +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/64x64/apps +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/96x96/apps +mkdir -p %{buildroot}%{_datadir}/mime/packages +mv %{buildroot}%{_libdir}/swipl/desktop/*.desktop \ + %{buildroot}%{_datadir}/applications +mv %{buildroot}%{_libdir}/swipl/desktop/swipl.png \ + %{buildroot}%{_datadir}/icons/hicolor/64x64/apps +mv %{buildroot}%{_libdir}/swipl/desktop/swipl-cli.png \ + %{buildroot}%{_datadir}/icons/hicolor/96x96/apps +mv %{buildroot}%{_libdir}/swipl/desktop/prolog-mime.xml \ + %{buildroot}%{_datadir}/mime/packages +rmdir %{buildroot}%{_libdir}/swipl/desktop # Link duplicates %fdupes %{buildroot}%{_datadir}/swipl @@ -567,12 +542,13 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl %files -n swi-prolog-full %files -n swi-prolog-core -%license LICENSE +%license LICENSE licenses.txt %doc README.md README-customize.md %{_bindir}/swipl %{_bindir}/swipl-ld %{_libdir}/cmake/swipl/ %dir %{_libdir}/swipl/ +%{_libdir}/swipl/ABI %dir %{_libdir}/swipl/bin/ %{_libdir}/swipl/bin/swipl.home %dir %{_libdir}/swipl/bin/%{swipl_arch}/ @@ -600,7 +576,7 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl %{_libdir}/swipl/library/theme/ %{_libdir}/swipl/library/unicode/ %{_libdir}/swipl/swipl.home -%{_libdir}/libswipl.so.9* +%{_libdir}/libswipl.so.10{,.*} %{_libdir}/libswipl.so %{_mandir}/man1/swipl* %{_datadir}/pkgconfig/swipl.pc @@ -665,6 +641,7 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl %{_libdir}/swipl/library/ext/clpqr %{_libdir}/swipl/library/ext/http/ %{_libdir}/swipl/library/ext/inclpr/ +%{_libdir}/swipl/library/ext/json/ %{_libdir}/swipl/library/ext/ltx2htm/ %{_libdir}/swipl/library/ext/mqi/ %{_libdir}/swipl/library/ext/nlp/ @@ -685,30 +662,36 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl %{_libdir}/swipl/library/http/ %{_libdir}/swipl/library/protobufs/ %{_libdir}/swipl/library/semweb/ -%{_texmf}/tex/latex/swi-prolog/ +%{_texmf_main}/tex/latex/swi-prolog/ -%files -n swi-prolog-nox +%files -n swi-prolog-cli %{_libdir}/swipl/app/ %{_libdir}/swipl/lib/%{swipl_arch}/archive4pl.so %{_libdir}/swipl/lib/%{swipl_arch}/crypto4pl.so %{_libdir}/swipl/lib/%{swipl_arch}/libedit4pl.so %{_libdir}/swipl/lib/%{swipl_arch}/pcre4pl.so -%{_libdir}/swipl/lib/%{swipl_arch}/readline4pl.so %{_libdir}/swipl/lib/%{swipl_arch}/ssl4pl.so %{_libdir}/swipl/lib/%{swipl_arch}/tipc.so %{_libdir}/swipl/lib/%{swipl_arch}/yaml4pl.so %{_libdir}/swipl/library/ext/archive/ %{_libdir}/swipl/library/ext/libedit/ %{_libdir}/swipl/library/ext/pcre/ -%{_libdir}/swipl/library/ext/readline/ %{_libdir}/swipl/library/ext/ssl/ %{_libdir}/swipl/library/ext/tipc/ %{_libdir}/swipl/library/ext/yaml/ -%files -n swi-prolog-x +%files -n swi-prolog-win %doc packages/xpce/{CUSTOMISE,EXTENDING,README}.md +%{_bindir}/swipl-win +%{_datadir}/applications/swipl.desktop +%{_datadir}/applications/swipl-win.desktop +%{_datadir}/icons/hicolor/64x64/apps/swipl.png +%{_datadir}/icons/hicolor/96x96/apps/swipl-cli.png +%{_datadir}/mime/packages/prolog-mime.xml +%{_libdir}/swipl/bin/%{swipl_arch}/swipl-win %{_libdir}/swipl/lib/%{swipl_arch}/pl2xpce.so %{_libdir}/swipl/swipl.rc +%{_libdir}/swipl/swipl-win.rc %{_libdir}/swipl/xpce/ %{_mandir}/man1/xpce-client.1* @@ -742,11 +725,5 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl %files -n swi-prolog-test %{_libdir}/swipl/test/ -%files -n swi-prolog-win -%doc packages/swipl-win/README.md -%{_bindir}/swipl-win -%{_libdir}/swipl/bin/%{swipl_arch}/swipl-win -%{_libdir}/swipl/swipl-win.rc - %changelog %autochangelog diff --git a/sources b/sources index 03aeff4..b17c9c0 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (userguide.html.tgz) = baa16d8f06a666e77ef45aaf7708e877710bfcb8fc0fb519bc70c54619c45def2d2ab4feaa0f1a1875b2a2270e8907551b63582da1b4beaa5b50f013a41d7ab9 -SHA512 (swipl-9.2.9_repackaged.tar.gz) = 57f0e043c6f0985106c68a2bba3a558ee3eb19ecaa145d5968d963da005f3d1fe0ef62ba43f299b067bda3bb6e4212a9e121926a4d8452df9aa8cbbecf6b27e2 +SHA512 (swipl-10.0.0_repackaged.tar.gz) = d8f85ceed3ccfcc7b44535d3384bc8fd9ddaff1dce5405382433328e2b873a52a232bab7dfee5adc28882413b03da623565f2dfb312fede13e316545d96c31ee diff --git a/swipl-10.0.0-secure-getenv.patch b/swipl-10.0.0-secure-getenv.patch new file mode 100644 index 0000000..d0e6869 --- /dev/null +++ b/swipl-10.0.0-secure-getenv.patch @@ -0,0 +1,13 @@ +--- swipl-10.0.0/packages/libedit/libedit/src/CMakeLists.txt.orig 2025-11-30 01:13:23.000000000 -0700 ++++ swipl-10.0.0/packages/libedit/libedit/src/CMakeLists.txt 2025-12-05 15:40:03.894414328 -0700 +@@ -116,7 +116,10 @@ check_symbol_exists(unvis "vis.h" HAVE_U + check_symbol_exists(endpwent "pwd.h" HAVE_ENDPWENT) + check_symbol_exists(getpwuid_r "pwd.h" HAVE_GETPW_R_POSIX) + check_symbol_exists(isascii "ctype.h" HAVE_ISASCII) ++set(OLD_CMAKE_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}) ++list(APPEND CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE) + check_symbol_exists(secure_getenv "stdlib.h" HAVE_SECURE_GETENV) ++set(CMAKE_REQUIRED_DEFINITIONS ${OLD_CMAKE_REQUIRED_DEFINITIONS}) + check_symbol_exists(wcsdup "wchar.h" HAVE_WCSDUP) + + include(CheckIncludeFile) diff --git a/swipl-9.2.9-c23.patch b/swipl-9.2.9-c23.patch deleted file mode 100644 index 4ca03ad..0000000 --- a/swipl-9.2.9-c23.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- swipl-9.2.9/src/SWI-Prolog.h.orig 2024-12-20 02:46:40.000000000 -0700 -+++ swipl-9.2.9/src/SWI-Prolog.h 2025-01-18 11:04:45.028193615 -0700 -@@ -209,7 +209,7 @@ typedef _PLS(PL_local_data) *PL_engine_t - typedef uintptr_t PL_atomic_t; /* same a word */ - typedef uintptr_t foreign_t; /* return type of foreign functions */ - typedef wchar_t pl_wchar_t; /* Prolog wide character */ --#ifdef __cplusplus -+#if defined(__cplusplus) || __STDC_VERSION__ > 201710L - typedef void * pl_function_t; /* pass function as void* */ - #else - typedef foreign_t (*pl_function_t)(); /* foreign language functions */