File swipl.spec of Package swipl

#
# spec file for package swipl
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           swipl
Version:        7.6.4
Release:        0
Summary:        Prolog Compiler
License:        GPL-2.0-or-later AND LGPL-2.1-or-later
Group:          Development/Languages/Other
Url:            http://www.swi-prolog.org
Source0:        http://www.swi-prolog.org/download/stable/src/swipl-%{version}.tar.gz
Source98:       swipl-rpmlintrc
# For SOURCE_DATE_EPOCH variable- reproducible builds
Source99:       %{name}.changes
# PATCH-FIX-OPENSUSE swipl-ppc64.patch - Fix configure on PowerPC architecture
Patch0:         swipl-ppc64.patch
# PATCH-FIX-UPSTREAM pkgconfig.patch - Fix location of include files in pkgconfig file
Patch1:         pkgconfig.patch
BuildRequires:  db-devel
BuildRequires:  fdupes
BuildRequires:  freetype2-devel
BuildRequires:  gcc-c++
BuildRequires:  gmp-devel
BuildRequires:  java-devel >= 1.7.0
BuildRequires:  libarchive-devel
BuildRequires:  libjpeg-devel
BuildRequires:  libunwind-devel
BuildRequires:  ncurses-devel
BuildRequires:  pkgconfig
BuildRequires:  readline-devel
BuildRequires:  unixODBC-devel
BuildRequires:  pkgconfig(ice)
BuildRequires:  pkgconfig(libedit)
BuildRequires:  pkgconfig(libssl)
BuildRequires:  pkgconfig(ossp-uuid)
BuildRequires:  pkgconfig(sm)
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xext)
BuildRequires:  pkgconfig(xft)
BuildRequires:  pkgconfig(xinerama)
BuildRequires:  pkgconfig(xpm)
BuildRequires:  pkgconfig(xrender)
BuildRequires:  pkgconfig(xt)
# For %%check
BuildRequires:  junit
Provides:       swi-prolog = %{version}
Provides:       swi_pl = %{version}
Obsoletes:      swi-prolog < %{version}
Obsoletes:      swi_pl < %{version}
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
Edinburgh-style Prolog compiler including modules, autoload, libraries,
Garbage collector, stack expandor, C interface, GNU readline and GNU
Emacs interface, a very fast compiler,and an X11 interface using XPCE.

%prep
%setup -q
%patch0 -p1
%patch1 -p1

%build
export SOURCE_DATE_EPOCH="$(sed -n '/^----/n;s/ - .*$//;p;q' %{SOURCE99} | date -u -f - +%%s)"
%configure --with-world
make %{?_smp_mflags}

%check
make %{?_smp_mflags} check

%install
make DESTDIR=%{buildroot} install-world

# Fix installation of documentation
mkdir -p %{buildroot}%{_docdir}
mv -v %{buildroot}%{_libdir}/%{name}-%{version}/doc  %{buildroot}%{_docdir}/%{name}-%{version}
mv -v %{buildroot}%{_libdir}/%{name}-%{version}/demo %{buildroot}%{_docdir}/%{name}-%{version}
ln -s %{_docdir}/%{name}-%{version} %{buildroot}%{_libdir}/%{name}-%{version}/doc
ln -s %{_docdir}/%{name}-%{version} %{buildroot}%{_libdir}/%{name}-%{version}/demo

# Fix script
chmod +x %{buildroot}%{_libdir}/swipl-%{version}/library/dialect/sicstus/swipl-lfr.pl
sed -i "s@%{_bindir}/../swipl.sh@%{_bindir}/swipl@" %{buildroot}%{_docdir}/%{name}-%{version}/packages/examples/pldoc/man_server.pl

# Create common symlink for "pl"
ln -s swipl %{buildroot}%{_bindir}/pl

%fdupes %{buildroot}/%{_libdir}/%{name}-%{version}
%fdupes %{buildroot}/%{_docdir}/%{name}-%{version}

%files
%defattr(-,root,root,-)
%license LICENSE
%{_bindir}/pl
%{_bindir}/swipl
%{_bindir}/swipl-ld
%{_bindir}/swipl-rc
%{_bindir}/xpce-client
%{_libdir}/%{name}-%{version}
%{_libdir}/pkgconfig/%{name}.pc
%{_mandir}/man1/swipl-ld.1%{ext_man}
%{_mandir}/man1/swipl-rc.1%{ext_man}
%{_mandir}/man1/swipl.1%{ext_man}
%{_mandir}/man1/xpce-client.1%{ext_man}
%doc %{_docdir}/%{name}-%{version}

%changelog