c811996
%define jdkvershort 1.6.0
c811996
%define jdkverlong %{jdkvershort}.0
c811996
1ec1da1
Name:		pl
57d7540
Version:	5.7.6
4a99e39
Release:	2%{?dist}
2f7cab2
1ec1da1
Summary:	SWI-Prolog - Edinburgh compatible Prolog compiler
1ec1da1
1ec1da1
Group:		Development/Languages
306e232
License:	LGPLv2+
1ec1da1
URL:		http://www.swi-prolog.org
4a99e39
Source:		http://www.swi-prolog.org/download/devel/src/%{name}-%{version}.tar.gz
1ec1da1
Source1:	http://gollem.science.uva.nl/cgi-bin/nph-download/SWI-Prolog/refman/HTMLmanual.tar.gz
1ec1da1
Source2:	http://gollem.science.uva.nl/cgi-bin/nph-download/xpce/doc/userguide/userguide.html.tgz
e77e90c
Patch0:         %{name}-5.4.6-rpath.patch
4a99e39
Patch1:         %{name}-5.6.57-jpl-configure.patch
4a99e39
Patch2:         %{name}-5.6.57-jpl-configure-alpha.patch
c811996
Patch3:         %{name}-5.6.60-jni.patch
4a99e39
1ec1da1
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
4b84eec
BuildRequires:  gmp-devel
4e2c605
BuildRequires:  libICE-devel
4e2c605
BuildRequires:  libSM-devel
4e2c605
BuildRequires:  libX11-devel
4e2c605
BuildRequires:  libXaw-devel
4e2c605
BuildRequires:  libXext-devel
4e2c605
BuildRequires:  libXft-devel
4b84eec
BuildRequires:  libXinerama-devel
4e2c605
BuildRequires:  libXmu-devel
9ea1de3
BuildRequires:  libXpm-devel
4e2c605
BuildRequires:  libXrender-devel
4e2c605
BuildRequires:  libXt-devel
4b84eec
BuildRequires:  libjpeg-devel
4b84eec
BuildRequires:  openssl-devel
4b84eec
BuildRequires:  pkgconfig
4b84eec
BuildRequires:  readline-devel
4b84eec
BuildRequires:  unixODBC-devel
2b1115f
BuildRequires:  freetype-devel
e77e90c
BuildRequires:  jpackage-utils
c811996
BuildRequires:  java-%{jdkvershort}-devel = 1:%{jdkverlong}
d06630e
1ec1da1
%description
1ec1da1
ISO/Edinburgh-style Prolog compiler including modules, autoload,
1ec1da1
libraries, Garbage-collector, stack-expandor, C/C++-interface,
1ec1da1
GNU-readline interface, very fast compiler.  Including packages clib
1ec1da1
(Unix process control and sockets), cpp (C++ interface), sgml (reading
1ec1da1
XML/SGML), sgml/RDF (reading RDF into triples) and XPCE (Graphics UI
1ec1da1
toolkit, integrated editor (Emacs-clone) and source-level debugger).
1ec1da1
e77e90c
%package devel
e77e90c
Summary: Development files for SWI Prolog
e77e90c
Group: Development/Languages
e77e90c
Requires: %{name} = %{version}-%{release}
c811996
Requires: readline-devel, pkgconfig
e77e90c
e77e90c
%description devel
e77e90c
Development files for SWI Prolog.
e77e90c
e77e90c
e77e90c
%package static
e77e90c
Summary: Static library for SWI Prolog
e77e90c
Group: Development/Languages
e77e90c
Requires: %{name} = %{version}-%{release}
e77e90c
Requires: readline-devel
e77e90c
e77e90c
%description static
e77e90c
Static libraryfor SWI Prolog.
e77e90c
e77e90c
# %package xpce
e77e90c
# Summary: A toolkit for developing graphical applications in Prolog
e77e90c
# Group: Development/Languages
e77e90c
# Requires: %{name} = %{version}-%{release}
e77e90c
e77e90c
# %description xpce
e77e90c
# XPCE is a toolkit for developing graphical applications in Prolog and other
e77e90c
# interactive and dynamically typed languages. XPCE follows a rather unique
e77e90c
# approach of for developing GUI applications, as follows:
50ded1b
e77e90c
# - Add object layer to Prolog
e77e90c
# - High level of abstraction
e77e90c
# - Exploit rapid Prolog development cycle
e77e90c
# - Platform independent programs
e77e90c
e77e90c
00f4ad6
%package jpl
00f4ad6
Summary: A bidirectional Prolog/Java interface for SWI Prolog
00f4ad6
Group: Development/Languages
00f4ad6
Requires: %{name} = %{version}-%{release}
52eab63
Requires: java
e77e90c
Requires: jpackage-utils
00f4ad6
00f4ad6
%description jpl
00f4ad6
JPL is a library using the SWI-Prolog foreign interface and the Java jni
00f4ad6
interface providing a bidirectional interface between Java and Prolog
00f4ad6
that can be used to embed Prolog in Java as well as for embedding Java
81046ac
in Prolog.  In both setups it provides a reentrant bidirectional interface.
00f4ad6
00f4ad6
1ec1da1
%prep
1ec1da1
%setup -q
5eb36b1
%patch0 -p1 -b .rpath
4a99e39
%patch1 -p1 -b .libjvm
4a99e39
%patch2 -p1 -b .libjvm-alpha
e77e90c
%patch3 -p1 -b .jni
1ec1da1
(
1ec1da1
   mkdir doc-install
1ec1da1
   cd doc-install
1ec1da1
   tar zxf %{SOURCE1}
e77e90c
)
e77e90c
(
e77e90c
   mkdir xpce-doc
e77e90c
   cd xpce-doc
1ec1da1
   tar zxf %{SOURCE2}
1ec1da1
)
1ec1da1
e77e90c
# Adjustments to take into account the new location of JNI stuff
e77e90c
sed --in-place=.jni2 -e 's#LIBDIR#%{_libdir}#g' packages/jpl/jpl.pl
e77e90c
sed --in-place=.jni2 -e 's#LIBDIR#%{_libdir}#g' packages/jpl/src/java/jpl/fli/Prolog.java
e77e90c
50ded1b
1ec1da1
%build
c811996
export JAVA_HOME=/usr/lib/jvm/java-%{jdkvershort}-openjdk-%{jdkverlong}.%{_arch}
c811996
%ifarch x86_64
c811996
export JAVA_LIB=$JAVA_HOME/jre/lib/amd64
c811996
%else
c811996
export JAVA_LIB=$JAVA_HOME/jre/lib/%{_arch}
c811996
%endif
81046ac
%configure --enable-shared
c5c1221
make COFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
37e2751
PATH=$PWD/src:$PATH
37e2751
cd packages
2b1115f
%configure
c811996
make COFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" JAVALIBS="-L$JAVA_LIB/server -L$JAVA_LIB -ljava -lverify -ljvm"
37e2751
cd ..
1ec1da1
50ded1b
1ec1da1
%install
1ec1da1
rm -rf $RPM_BUILD_ROOT
1ec1da1
mkdir -p $RPM_BUILD_ROOT%{_prefix}
b690f88
%makeinstall
1ec1da1
(cd packages && \
1ec1da1
 PATH=$RPM_BUILD_ROOT/usr/bin:$PATH make rpm-install \
e77e90c
	PLBASE=$RPM_BUILD_ROOT%{_libdir}/%{name}-%{version} \
1ec1da1
	prefix=$RPM_BUILD_ROOT%{_prefix} \
1ec1da1
        bindir=$RPM_BUILD_ROOT%{_bindir} \
b690f88
        libdir=$RPM_BUILD_ROOT%{_libdir} \
1ec1da1
	mandir=$RPM_BUILD_ROOT%{_mandir}/man1
1ec1da1
)
1ec1da1
e77e90c
# Move the JPL JNI stuff to where the Java packaging guidelines 
e77e90c
# say it should be
e77e90c
mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}-jpl
e77e90c
mv $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/lib/*/libjpl.so \
e77e90c
        $RPM_BUILD_ROOT%{_libdir}/%{name}-jpl/
e77e90c
mv $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/lib/jpl.jar \
e77e90c
        $RPM_BUILD_ROOT%{_libdir}/%{name}-jpl/
1ec1da1
e77e90c
# Move the various include files into /usr/include
e77e90c
mkdir -p $RPM_BUILD_ROOT%{_includedir}/%{name}/xpce
e77e90c
mv $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/include/*.h \
e77e90c
        $RPM_BUILD_ROOT%{_includedir}/%{name}
e77e90c
mv $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/xpce-*/include/* \
e77e90c
        $RPM_BUILD_ROOT%{_includedir}/%{name}/xpce
e77e90c
rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/include
e77e90c
rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/xpce-*/include
e77e90c
e77e90c
# Clean up the other stuff that shouldn't be packaged
e77e90c
rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/man
e77e90c
rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/doc
e77e90c
rm -rf $RPM_BUILD_ROOT%{_mandir}/man3/readline*
e77e90c
find packages/jpl/examples -name "*.class" | xargs rm -f
e77e90c
find packages/jpl/examples -name ".cvsignore" | xargs rm -f
50ded1b
1ec1da1
%clean
1ec1da1
rm -rf $RPM_BUILD_ROOT
1ec1da1
50ded1b
1ec1da1
%files
1ec1da1
%defattr(-,root,root,-)
b13706d
%doc ChangeLog README COPYING VERSION
e77e90c
%doc dotfiles/dotplrc
1ec1da1
%doc doc-install/*
e77e90c
%doc xpce-doc/*
1ec1da1
%{_mandir}/man1/*
e77e90c
%dir %{_libdir}/%{name}-%{version}
e77e90c
%{_libdir}/%{name}-%{version}/*
1ec1da1
%{_bindir}/*
e77e90c
# Exclude the files that are in the sub-packages
e77e90c
# JPL
e77e90c
%exclude %{_libdir}/%{name}-%{version}/library/jpl.pl
e77e90c
# Devel
e77e90c
%exclude %{_libdir}/%{name}-%{version}/lib/*/libpl.so
e77e90c
# Static
e77e90c
%exclude %{_libdir}/%{name}-%{version}/lib/*/libpl.a
e77e90c
# XPCE
e77e90c
# %exclude %{_bindir}/xpce*
e77e90c
# %exclude %{_libdir}/%{name}-%{version}/bin/*/xpce
e77e90c
# %exclude %{_libdir}/%{name}-%{version}/dotfiles/dotxpcerc
e77e90c
# %exclude %{_libdir}/%{name}-%{version}/xpce*
e77e90c
# %exclude %{_libdir}/%{name}-%{version}/library/http/xpce_httpd.pl
e77e90c
e77e90c
# %files xpce
e77e90c
# %defattr(-,root,root,-)
e77e90c
# %doc xpce-doc/*
e77e90c
# %doc dotfiles/dotxpcerc
e77e90c
# %{_bindir}/xpce*
e77e90c
# %{_includedir}/%{name}/xpce
e77e90c
# %{_libdir}/%{name}-%{version}/bin/*/xpce
e77e90c
# %{_libdir}/%{name}-%{version}/xpce*
e77e90c
# %{_libdir}/%{name}-%{version}/library/http/xpce_httpd.pl
00f4ad6
e77e90c
%files devel
e77e90c
%defattr(-,root,root,-)
e77e90c
%dir %{_includedir}/%{name}
e77e90c
%{_includedir}/%{name}/*.h
e77e90c
%{_includedir}/%{name}/xpce
e77e90c
%{_libdir}/%{name}-%{version}/lib/*/libpl.so
c811996
%{_libdir}/pkgconfig/pl.pc
e77e90c
e77e90c
%files static
e77e90c
%defattr(-,root,root,-)
e77e90c
%{_libdir}/%{name}-%{version}/lib/*/libpl.a
e77e90c
00f4ad6
%files jpl
00f4ad6
%doc packages/jpl/docs/*
e77e90c
%doc packages/jpl/examples
e77e90c
%{_libdir}/%{name}-%{version}/library/jpl.pl
e77e90c
%{_libdir}/%{name}-jpl
1ec1da1
50ded1b
1ec1da1
%changelog
4a99e39
* Wed Feb 25 2009 Mary Ellen Foster <mefoster at gmail.com> - 5.7.6-2
4a99e39
- Unify all changes:
4a99e39
  - Fix java LIBDIRS on alpha (Oliver Falk)
4a99e39
57d7540
* Wed Feb 25 2009 Mary Ellen Foster <mefoster at gmail.com> - 5.7.6-1
57d7540
- Update to version 5.7
57d7540
  - Cleaned up virtual machine and compiler
57d7540
  - Increased performance
57d7540
c54e26b
* Sat Jan 17 2009 Tomas Mraz <tmraz@redhat.com> - 5.6.60-3
c54e26b
- rebuild with new openssl
c54e26b
b13706d
* Fri Sep 19 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 5.6.60-2
b13706d
- forgot to remove ANNOUNCE from doc list
b13706d
c811996
* Fri Sep 19 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 5.6.60-1
c811996
- update to 5.6.60
c811996
- use openjdk (FIXME: there may be a way to make this more generic)
c811996
52eab63
* Wed Jul  2 2008 Mary Ellen Foster <mefoster at gmail.com> - 5.6.57-2
52eab63
- Build using any Java
52eab63
- Include patch from SWI for Turkish locale (thanks to Keri Harris)
52eab63
e77e90c
* Wed Jun 25 2008 Mary Ellen Foster <mefoster at gmail.com> - 5.6.57-1
e77e90c
- Another update, after vacation
e77e90c
e77e90c
* Mon May 19 2008 Mary Ellen Foster <mefoster at gmail.com> - 5.6.55-1
e77e90c
- Update to 5.6.55 (wow, fast updates!)
e77e90c
- Un-split xpce for now
e77e90c
- Conditionally build jpl (on Fedora 9 with openjdk, and on 
e77e90c
  Fedora 8 non-ppc with icedtea)
e77e90c
e77e90c
* Wed May 07 2008 Mary Ellen Foster <mefoster at gmail.com> - 5.6.54-1
e77e90c
- Update to 5.6.54 and prepare to actually push this
e77e90c
- Try splitting xpce into own package
e77e90c
e77e90c
* Tue Apr 15 2008 Mary Ellen Foster <mefoster at gmail.com> - 5.6.53-1
e77e90c
- Update to 5.6.53 -- fixes ppc64 problems, yay!
e77e90c
e77e90c
* Wed Apr 09 2008 Mary Ellen Foster <mefoster at gmail.com> - 5.6.52-2
e77e90c
- Put JPL stuff where the new Java packaging guidelines say it should be
e77e90c
  and make all of the necessary adjustments in other files
e77e90c
- Split out "-devel" and "-static" packages per guidelines
e77e90c
81046ac
* Mon Mar 31 2008 Mary Ellen Foster <mefoster at gmail.com> - 5.6.52-1
81046ac
- Switch jpl requirement from IcedTea to OpenJDK and enable it everywhere
81046ac
- Upgrade to 5.6.52
81046ac
- Patch jpl configure script to find Java libraries on ppc{64}
81046ac
- NB: Still broken on ppc64, still trying to figure out why
81046ac
81046ac
* Mon Feb 25 2008 Mary Ellen Foster <mefoster at gmail.com> - 5.6.51-1
81046ac
- Upgrade to 5.6.51
81046ac
81046ac
* Fri Feb 22 2008 Mary Ellen Foster <mefoster at gmail.com> - 5.6.50-1
00f4ad6
- Update to 5.6.50
00f4ad6
- Enable JPL (as a sub-package) -- NB: it only builds with icedtea for now,
00f4ad6
  so we disable that sub-package on ppc64 and ppc for the moment
00f4ad6
6ad0124
* Mon Feb 18 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 5.6.47-9
6ad0124
- Autorebuild for GCC 4.3
6ad0124
c5c1221
* Thu Dec  6 2007 Gerard Milmeister <gemi@bluewin.ch> - 5.6.47-8
c5c1221
- compile with -fno-strict-aliasing
c5c1221
9d7ace3
* Wed Dec  5 2007 Gerard Milmeister <gemi@bluewin.ch> - 5.6.47-5
9d7ace3
- disable jpl for now
9d7ace3
37a459b
* Wed Dec  5 2007 Gerard Milmeister <gemi@bluewin.ch> - 5.6.47-4
306e232
- enable shared library building
b3f2088
2b1115f
* Wed Dec  5 2007 Gerard Milmeister <gemi@bluewin.ch> - 5.6.47-1
2b1115f
- new release 5.6.47
2b1115f
b2f87f5
* Fri Jun  8 2007 Gerard Milmeister <gemi@bluewin.ch> - 5.6.35-1
b2f87f5
- new version 5.6.35
b2f87f5
- add requires readline-devel
b2f87f5
7e206bd
* Mon Apr 23 2007 Gerard Milmeister <gemi@bluewin.ch> - 5.6.34-1
7e206bd
- new version 5.6.34
7e206bd
4b84eec
* Fri Feb 23 2007 Gerard Milmeister <gemi@bluewin.ch> - 5.6.28-1
4b84eec
- new version 5.6.28
4b84eec
4554d77
* Fri Dec  1 2006 Gerard Milmeister <gemi@bluewin.ch> - 5.6.24-1
4b84eec
- new version 5.6.24
4554d77
dba74d1
* Sun Oct  1 2006 Gerard Milmeister <gemi@bluewin.ch> - 5.6.20-1
dba74d1
- new version 5.6.20
dba74d1
01ea79a
* Sat Sep  2 2006 Gerard Milmeister <gemi@bluewin.ch> - 5.6.18-1
01ea79a
- updated to 5.6.18
01ea79a
e543d51
* Mon Aug 28 2006 Gerard Milmeister <gemi@bluewin.ch> - 5.6.16-3
e543d51
- Rebuild for FE6
e543d51
0ab7efb
* Tue Jul 11 2006 Gerard Milmeister <gemi@bluewin.ch> - 5.6.16-1
0ab7efb
- new version 5.6.16
0ab7efb
ac1168d
* Mon May  1 2006 Gerard Milmeister <gemi@bluewin.ch> - 5.6.12-3
ac1168d
- added buildreq for libXinerama-devel
ac1168d
8821ca1
* Mon May  1 2006 Gerard Milmeister <gemi@bluewin.ch> - 5.6.12-2
8821ca1
- added patch to compile with xft
8821ca1
daa36de
* Sun Apr 30 2006 Gerard Milmeister <gemi@bluewin.ch> - 5.6.12-1
daa36de
- new version 5.6.12
daa36de
44d4ca6
* Wed Mar  8 2006 Gerard Milmeister <gemi@bluewin.ch> - 5.6.7-1
44d4ca6
- new version 5.6.7
cdad653
50ded1b
* Sat Jan 28 2006 Gerard Milmeister <gemi@bluewin.ch> - 5.6.3-1
50ded1b
- new version 5.6.3
50ded1b
4e2c605
* Mon Jan  2 2006 Gerard Milmeister <gemi@bluewin.ch> - 5.6.0-1
4e2c605
- new version 5.6.0
4e2c605
5eb36b1
* Wed Jun 22 2005 Gerard Milmeister <gemi@bluewin.ch> - 5.4.7-1
4e2c605
- new version 5.4.7
5eb36b1
a88d83e
* Sun May 22 2005 Jeremy Katz <katzj@redhat.com> - 5.4.6-9
a88d83e
- rebuild on all arches
a88d83e
2f7cab2
* Fri Apr  7 2005 Michael Schwendt <mschwendt[AT]users.sf.net>
2f7cab2
- rebuilt
2f7cab2
16634c0
* Wed Feb 23 2005 David Woodhouse <dwmw2@infradead.org> - 5.4.6-7
16634c0
- Fix visibility abuse. This may well fix x86_64 too, so re-enable that.
16634c0
0890604
* Mon Feb 21 2005 Gerard Milmeister <gemi@bluewin.ch> - 5.4.6-6
d6a46ac
- Exclude x86_64 for now (bugzilla 149038)
0890604
b690f88
* Sun Feb 20 2005 Michael Schwendt <mschwendt[AT]users.sf.net> - 5.4.6-5
b690f88
- Added patch1 for a few multilib Makefile/configure fixes.
b690f88
- Use %%makeinstall and set libdir in install section.
b690f88
7af9130
* Sat Feb 12 2005 Warren Togami <wtogami@redhat.com> - 5.4.6-4
bfc23f7
- remove duplicate RPATH patch
bfc23f7
- remove Epoch
7af9130
- remove redundant unixODBC from BR
bfc23f7
bfc23f7
* Sat Feb 12 2005 Gerard Milmeister <gemi@bluewin.ch> - 5.4.6-2
ba3c8a5
- Added BuildRequires: unixODBC, unixODBC-devel
ba3c8a5
- Removed rpath from shared libs: pl-rpath.patch
ba3c8a5
bfc23f7
* Sat Feb 12 2005 Gerard Milmeister <gemi@bluewin.ch> - 5.4.6-1
37e2751
- New Version 5.4.6
37e2751
bfc23f7
* Thu Jan 13 2005 Gerard Milmeister <gemi@bluewin.ch> - 5.4.5-0.fdr.1
1ec1da1
- New Version 5.4.5