pl/pl.spec
Jerry James 73f467849e 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
2025-12-09 06:39:56 -07:00

729 lines
24 KiB
RPMSpec

# Name of the architecture-specific lib directory
%global swipl_arch %{_target_cpu}-linux
Name: pl
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: 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
Patch1: swipl-8.2.0-Remove-files-locations-from-swipl-1-manual.patch
# Unbundle libstemmer
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
# Fix detection of the secure_getenv function
Patch5: swipl-10.0.0-secure-getenv.patch
# See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
BuildRequires: cmake
BuildRequires: fdupes
BuildRequires: findutils
BuildRequires: gcc-c++
BuildRequires: ninja-build
# Base
BuildRequires: cmake(zlib-ng)
BuildRequires: libatomic
BuildRequires: pkgconfig
BuildRequires: pkgconfig(gmp)
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
# 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
# yaml
BuildRequires: pkgconfig(yaml-0.1)
# Doc building
# Gated to Fedora as EL is currently missing tex(a4wide.sty)
%if 0%{?fedora}
BuildRequires: tex(latex)
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
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
%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}
# This can be removed when F45 reaches EOL
Obsoletes: pl < 9.2.9-2
Provides: pl = %{version}-%{release}
Obsoletes: pl-devel < 9.2.9-2
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
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.
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}
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.3.1
%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
}
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)
# 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-cli
License: BSD-2-Clause AND BSD-3-Clause AND bcrypt-Solar-Designer
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}
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-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}
# 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
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
%ifarch %{java_arches}
%package -n swi-prolog-java
Summary: Bidirectional interface between SWI-Prolog and Java
Requires: swi-prolog-cli%{?_isa} = %{version}-%{release}
Requires: java-25-headless
Requires: javapackages-tools
# This can be removed when F45 reaches EOL
Obsoletes: pl-jpl < 9.2.9-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-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
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-cli%{?_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
}
Summary: Documentation and examples for SWI-Prolog
BuildArch: noarch
Requires: swi-prolog-core = %{version}-%{release}
# This can be removed when F45 reaches EOL
Obsoletes: pl-doc < 9.2.9-2
Provides: pl-doc = %{version}-%{release}
%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
}
Summary: Tests and checks for SWI-Prolog
BuildArch: noarch
Requires: swi-prolog-cli = %{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.
%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
if [ "%{_lib}" = "lib64" ]; then
sed -e 's,lib\(/\${SWIPL_INSTALL_DIR}\),lib64\1,' \
-e '/SWIPL_INSTALL_CMAKE_CONFIG_DIR/s/lib/&64/' \
-i cmake/LocationsPostPorts.cmake
fi
# 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
# 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
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
# Avoid a clash on doc names
cp -p customize/README.md README-customize.md
%generate_buildrequires
cd packages/mqi/python
%pyproject_buildrequires
%build
%ifarch %{java_arches}
export JAVA_HOME=%{java_home}
export LD_LIBRARY_PATH=%{java_home}/lib/server
%else
# Processed by packages/configure
export DISABLE_PKGS="jpl"
%endif
# Configure
%cmake \
-DBUILD_PDF_DOCUMENTATION:BOOL=%{?fedora:ON}%{!?fedora:OFF} \
-DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} \
-DCPACK_GENERATOR:STRING=RPM \
-DINSTALL_TESTS:BOOL=ON \
-DJQUERYDIR:PATH=%{_datadir}/javascript/jquery/latest \
-DSKIP_SSL_TESTS:BOOL=ON \
-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
# Help latex2html find the bibliographies
for d in $(find . -name gen); do
target=$(dirname $d)
mkdir -p %{_vpath_builddir}/$target
cp -p $d/*.bbl %{_vpath_builddir}/$target
done
# Build
%cmake_build
# Switch back before installing; see above
cp -p packages/jpl/jpl.pl.install packages/jpl/jpl.pl
%install
# See <http://www.swi-prolog.org/build/guidelines.html> for file layout
%cmake_install
# 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/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_main}/tex/latex/swi-prolog
ln -s %{_libdir}/swipl/library/ext/pldoc/pldoc/pldoc.sty \
%{buildroot}%{_texmf_main}/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
# say it should be
jpl_ver=$(sed -n 's/.*JPL_VERSION \([.[:digit:]]*\).*/\1/p' packages/jpl/CMakeLists.txt)
mkdir -p %{buildroot}%{_libdir}/swipl-jpl
mv %{buildroot}%{_libdir}/swipl/lib/%{swipl_arch}/libjpl.so \
%{buildroot}%{_libdir}/swipl-jpl
mkdir -p %{buildroot}%{_jnidir}
mv %{buildroot}%{_libdir}/swipl/lib/jpl.jar %{buildroot}%{_jnidir}
ln -s ../../lib/java/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/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/{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
# 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
# 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
%files -n swi-prolog
%files -n swi-prolog-full
%files -n swi-prolog-core
%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}/
%{_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.10{,.*}
%{_libdir}/libswipl.so
%{_mandir}/man1/swipl*
%{_datadir}/pkgconfig/swipl.pc
%{_infodir}/sweep.info*
%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/json/
%{_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_main}/tex/latex/swi-prolog/
%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}/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/ssl/
%{_libdir}/swipl/library/ext/tipc/
%{_libdir}/swipl/library/ext/yaml/
%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*
%ifarch %{java_arches}
%files -n swi-prolog-java
%doc packages/jpl/README.md
%{_jnidir}/jpl.jar
%{_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/
%changelog
%autochangelog