Compare commits

..

No commits in common. "rawhide" and "f43" have entirely different histories.

5 changed files with 225 additions and 424 deletions

View file

@ -1,221 +0,0 @@
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/*

401
pl.spec
View file

@ -2,19 +2,18 @@
%global swipl_arch %{_target_cpu}-linux
Name: pl
Version: 10.0.0
Version: 9.2.9
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: repackage.sh
Source2: licenses.txt
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
# Upstream installation paths differ from distribution ones
@ -25,8 +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
# Fix detection of the secure_getenv function
Patch5: swipl-10.0.0-secure-getenv.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}
@ -37,56 +37,59 @@ BuildRequires: findutils
BuildRequires: gcc-c++
BuildRequires: ninja-build
# Base
BuildRequires: cmake(zlib-ng)
BuildRequires: gmp-devel
BuildRequires: libatomic
BuildRequires: pkgconfig
BuildRequires: pkgconfig(gmp)
BuildRequires: pkgconfig(libedit)
BuildRequires: pkgconfig(libpcre2-posix)
BuildRequires: pkgconfig(libtcmalloc)
BuildRequires: pkgconfig(ncurses)
BuildRequires: pkgconfig(readline)
# archive
BuildRequires: pkgconfig(libarchive)
# bdb
BuildRequires: libdb-devel
# crypt
BuildRequires: libxcrypt-devel
# 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)
# 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: 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
BuildRequires: pkgconfig(Qt6)
# 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)
@ -96,7 +99,8 @@ 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.
@ -108,17 +112,57 @@ 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
%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
# <https://github.com/SWI-Prolog/issues/issues/16>:
#bench/unify.pl Free for non-commercial
#bench/simple_analyzer.pl Free for non-commercial
%package -n swi-prolog
Summary: ISO/Edinburgh-style Prolog interpreter
BuildArch: noarch
Requires: swi-prolog-doc = %{version}-%{release}
Requires: swi-prolog-cli = %{version}-%{release}
Requires: swi-prolog-win = %{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.9-2
@ -128,9 +172,7 @@ 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.
@ -143,25 +185,26 @@ 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.
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
}
#
# 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
Summary: ISO/Edinburgh-style Prolog interpreter - core system
Recommends: swi-prolog-bdb%{?_isa} = %{version}-%{release}
Recommends: swi-prolog-core-packages%{?_isa} = %{version}-%{release}
@ -172,29 +215,35 @@ 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
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
}
# 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
@ -208,18 +257,16 @@ Recommends: swi-prolog-odbc%{?_isa} = %{version}-%{release}
# See https://fedoraproject.org/wiki/Bundled_Libraries_Virtual_Provides
Provides: bundled(md5-deutsch)
# 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
%description -n swi-prolog-core-packages %_desc
This package contains the core SWI-Prolog packages.
%package -n swi-prolog-cli
%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 - command line interface
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}
@ -227,46 +274,31 @@ Recommends: swi-prolog-doc = %{version}-%{release}
Recommends: swi-prolog-java%{?_isa} = %{version}-%{release}
Recommends: swi-prolog-odbc%{?_isa} = %{version}-%{release}
# This can be removed when F47 reaches EOL
Obsoletes: swi-prolog-nox < 10.0.0
Provides: swi-prolog-nox = %{version}-%{release}
%description -n swi-prolog-nox %_desc
This package contains a SWI-Prolog installation without GUI components.
%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}
%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}
# This can be removed when F45 reaches EOL
Obsoletes: pl-xpce < 9.2.9-2
Provides: pl-xpce = %{version}-%{release}
# 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
%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
@ -280,7 +312,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-cli%{?_isa} = %{version}-%{release}
Requires: swi-prolog-nox%{?_isa} = %{version}-%{release}
Requires: java-25-headless
Requires: javapackages-tools
@ -288,9 +320,7 @@ 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
@ -299,15 +329,13 @@ Prolog. It provides a reentrant bidirectional interface in both cases.
%package -n swi-prolog-odbc
Summary: SWI-Prolog ODBC interface
Requires: swi-prolog-cli%{?_isa} = %{version}-%{release}
Requires: swi-prolog-nox%{?_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
@ -324,21 +352,23 @@ constraint.
%package -n swi-prolog-bdb
Summary: SWI-Prolog Berkeley DB interface
Requires: swi-prolog-cli%{?_isa} = %{version}-%{release}
%description -n swi-prolog-bdb
%_desc
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
License: %{shrink:
BSD-2-Clause AND
CC-BY-SA-3.0 AND
Knuth-CTAN AND
LPPL-1.3c
}
# 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+
Summary: Documentation and examples for SWI-Prolog
BuildArch: noarch
Requires: swi-prolog-core = %{version}-%{release}
@ -347,36 +377,38 @@ 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
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
}
# 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
Summary: Tests and checks for SWI-Prolog
BuildArch: noarch
Requires: swi-prolog-cli = %{version}-%{release}
%description -n swi-prolog-test
%_desc
Requires: swi-prolog-nox = %{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
%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
@ -386,6 +418,16 @@ 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
@ -395,15 +437,12 @@ 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_main}/tex/texinfo/texinfo.tex packages/xpce/man/info
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
@ -432,7 +471,6 @@ 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
@ -462,18 +500,19 @@ 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/test/xsb/delay_tests/*.sh \
%{buildroot}%{_libdir}/swipl/test/xsb/ptq/*.sh \
%{buildroot}%{_libdir}/swipl/test/xsb/wfs_tests/*.sh
%{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
cp -a packages/xpce/man/course %{buildroot}%{_libdir}/swipl/xpce/man
# Let LaTeX know about the style file
mkdir -p %{buildroot}%{_texmf_main}/tex/latex/swi-prolog
mkdir -p %{buildroot}%{_texmf}/tex/latex/swi-prolog
ln -s %{_libdir}/swipl/library/ext/pldoc/pldoc/pldoc.sty \
%{buildroot}%{_texmf_main}/tex/latex/swi-prolog/pldoc.sty
%{buildroot}%{_texmf}/tex/latex/swi-prolog/pldoc.sty
# Install the sweep info file
mkdir -p %{buildroot}%{_infodir}
@ -509,22 +548,8 @@ cd -
rm %{buildroot}%{_libdir}/swipl/{LICENSE,README.md}
rm %{buildroot}%{_libdir}/swipl/customize/README.md
rm %{buildroot}%{_libdir}/swipl/lib/swiplserver/LICENSE
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
rm %{buildroot}%{_libdir}/swipl/test/Tests/xsb/.gitignore
rm %{buildroot}%{_libdir}/swipl/xpce/man/course/.gitignore
# Link duplicates
%fdupes %{buildroot}%{_datadir}/swipl
@ -542,13 +567,12 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl
%files -n swi-prolog-full
%files -n swi-prolog-core
%license LICENSE licenses.txt
%license LICENSE
%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}/
@ -576,7 +600,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.10{,.*}
%{_libdir}/libswipl.so.9*
%{_libdir}/libswipl.so
%{_mandir}/man1/swipl*
%{_datadir}/pkgconfig/swipl.pc
@ -641,7 +665,6 @@ 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/
@ -662,36 +685,30 @@ cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl
%{_libdir}/swipl/library/http/
%{_libdir}/swipl/library/protobufs/
%{_libdir}/swipl/library/semweb/
%{_texmf_main}/tex/latex/swi-prolog/
%{_texmf}/tex/latex/swi-prolog/
%files -n swi-prolog-cli
%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 -n swi-prolog-win
%files -n swi-prolog-x
%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*
@ -725,5 +742,11 @@ 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

View file

@ -1 +1,2 @@
SHA512 (swipl-10.0.0_repackaged.tar.gz) = d8f85ceed3ccfcc7b44535d3384bc8fd9ddaff1dce5405382433328e2b873a52a232bab7dfee5adc28882413b03da623565f2dfb312fede13e316545d96c31ee
SHA512 (userguide.html.tgz) = baa16d8f06a666e77ef45aaf7708e877710bfcb8fc0fb519bc70c54619c45def2d2ab4feaa0f1a1875b2a2270e8907551b63582da1b4beaa5b50f013a41d7ab9
SHA512 (swipl-9.2.9_repackaged.tar.gz) = 57f0e043c6f0985106c68a2bba3a558ee3eb19ecaa145d5968d963da005f3d1fe0ef62ba43f299b067bda3bb6e4212a9e121926a4d8452df9aa8cbbecf6b27e2

View file

@ -1,13 +0,0 @@
--- 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)

11
swipl-9.2.9-c23.patch Normal file
View file

@ -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 */