%define jdkvershort 1.6.0 %define jdkverlong %{jdkvershort}.0 Name: pl Version: 5.6.60 Release: 1%{?dist} Summary: SWI-Prolog - Edinburgh compatible Prolog compiler Group: Development/Languages License: LGPLv2+ URL: http://www.swi-prolog.org Source: http://gollem.science.uva.nl/cgi-bin/nph-download/SWI-Prolog/%{name}-%{version}.tar.gz Source1: http://gollem.science.uva.nl/cgi-bin/nph-download/SWI-Prolog/refman/HTMLmanual.tar.gz Source2: http://gollem.science.uva.nl/cgi-bin/nph-download/xpce/doc/userguide/userguide.html.tgz Patch0: %{name}-5.4.6-rpath.patch Patch2: %{name}-5.6.57-jpl-configure.patch Patch3: %{name}-5.6.60-jni.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: gmp-devel BuildRequires: libICE-devel BuildRequires: libSM-devel BuildRequires: libX11-devel BuildRequires: libXaw-devel BuildRequires: libXext-devel BuildRequires: libXft-devel BuildRequires: libXinerama-devel BuildRequires: libXmu-devel BuildRequires: libXpm-devel BuildRequires: libXrender-devel BuildRequires: libXt-devel BuildRequires: libjpeg-devel BuildRequires: openssl-devel BuildRequires: pkgconfig BuildRequires: readline-devel BuildRequires: unixODBC-devel BuildRequires: freetype-devel BuildRequires: jpackage-utils BuildRequires: java-%{jdkvershort}-devel = 1:%{jdkverlong} %description ISO/Edinburgh-style Prolog compiler including modules, autoload, 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) and XPCE (Graphics UI toolkit, integrated editor (Emacs-clone) and source-level debugger). %package devel Summary: Development files for SWI Prolog Group: Development/Languages Requires: %{name} = %{version}-%{release} Requires: readline-devel, pkgconfig %description devel Development files for SWI Prolog. %package static Summary: Static library for SWI Prolog Group: Development/Languages Requires: %{name} = %{version}-%{release} Requires: readline-devel %description static Static libraryfor SWI Prolog. # %package xpce # Summary: A toolkit for developing graphical applications in Prolog # Group: Development/Languages # Requires: %{name} = %{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: # - Add object layer to Prolog # - High level of abstraction # - Exploit rapid Prolog development cycle # - Platform independent programs %package jpl Summary: A bidirectional Prolog/Java interface for SWI Prolog Group: Development/Languages Requires: %{name} = %{version}-%{release} Requires: java Requires: jpackage-utils %description jpl JPL is a library using the SWI-Prolog foreign interface and the Java jni 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 reentrant bidirectional interface. %prep %setup -q %patch0 -p1 -b .rpath %patch2 -p1 -b .libjvm %patch3 -p1 -b .jni ( mkdir doc-install cd doc-install tar zxf %{SOURCE1} ) ( mkdir xpce-doc cd xpce-doc tar zxf %{SOURCE2} ) # Adjustments to take into account the new location of JNI stuff sed --in-place=.jni2 -e 's#LIBDIR#%{_libdir}#g' packages/jpl/jpl.pl sed --in-place=.jni2 -e 's#LIBDIR#%{_libdir}#g' packages/jpl/src/java/jpl/fli/Prolog.java %build export JAVA_HOME=/usr/lib/jvm/java-%{jdkvershort}-openjdk-%{jdkverlong}.%{_arch} %ifarch x86_64 export JAVA_LIB=$JAVA_HOME/jre/lib/amd64 %else export JAVA_LIB=$JAVA_HOME/jre/lib/%{_arch} %endif %configure --enable-shared make COFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" PATH=$PWD/src:$PATH cd packages %configure make COFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" JAVALIBS="-L$JAVA_LIB/server -L$JAVA_LIB -ljava -lverify -ljvm" cd .. %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_prefix} %makeinstall (cd packages && \ PATH=$RPM_BUILD_ROOT/usr/bin:$PATH make rpm-install \ PLBASE=$RPM_BUILD_ROOT%{_libdir}/%{name}-%{version} \ prefix=$RPM_BUILD_ROOT%{_prefix} \ bindir=$RPM_BUILD_ROOT%{_bindir} \ libdir=$RPM_BUILD_ROOT%{_libdir} \ mandir=$RPM_BUILD_ROOT%{_mandir}/man1 ) # Move the JPL JNI stuff to where the Java packaging guidelines # say it should be mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}-jpl mv $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/lib/*/libjpl.so \ $RPM_BUILD_ROOT%{_libdir}/%{name}-jpl/ mv $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/lib/jpl.jar \ $RPM_BUILD_ROOT%{_libdir}/%{name}-jpl/ # Move the various include files into /usr/include mkdir -p $RPM_BUILD_ROOT%{_includedir}/%{name}/xpce mv $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/include/*.h \ $RPM_BUILD_ROOT%{_includedir}/%{name} mv $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/xpce-*/include/* \ $RPM_BUILD_ROOT%{_includedir}/%{name}/xpce rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/include rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/xpce-*/include # Clean up the other stuff that shouldn't be packaged rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/man rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/doc rm -rf $RPM_BUILD_ROOT%{_mandir}/man3/readline* find packages/jpl/examples -name "*.class" | xargs rm -f find packages/jpl/examples -name ".cvsignore" | xargs rm -f %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc ChangeLog README COPYING ANNOUNCE VERSION %doc dotfiles/dotplrc %doc doc-install/* %doc xpce-doc/* %{_mandir}/man1/* %dir %{_libdir}/%{name}-%{version} %{_libdir}/%{name}-%{version}/* %{_bindir}/* # Exclude the files that are in the sub-packages # JPL %exclude %{_libdir}/%{name}-%{version}/library/jpl.pl # Devel %exclude %{_libdir}/%{name}-%{version}/lib/*/libpl.so # Static %exclude %{_libdir}/%{name}-%{version}/lib/*/libpl.a # XPCE # %exclude %{_bindir}/xpce* # %exclude %{_libdir}/%{name}-%{version}/bin/*/xpce # %exclude %{_libdir}/%{name}-%{version}/dotfiles/dotxpcerc # %exclude %{_libdir}/%{name}-%{version}/xpce* # %exclude %{_libdir}/%{name}-%{version}/library/http/xpce_httpd.pl # %files xpce # %defattr(-,root,root,-) # %doc xpce-doc/* # %doc dotfiles/dotxpcerc # %{_bindir}/xpce* # %{_includedir}/%{name}/xpce # %{_libdir}/%{name}-%{version}/bin/*/xpce # %{_libdir}/%{name}-%{version}/xpce* # %{_libdir}/%{name}-%{version}/library/http/xpce_httpd.pl %files devel %defattr(-,root,root,-) %dir %{_includedir}/%{name} %{_includedir}/%{name}/*.h %{_includedir}/%{name}/xpce %{_libdir}/%{name}-%{version}/lib/*/libpl.so %{_libdir}/pkgconfig/pl.pc %files static %defattr(-,root,root,-) %{_libdir}/%{name}-%{version}/lib/*/libpl.a %files jpl %doc packages/jpl/docs/* %doc packages/jpl/examples %{_libdir}/%{name}-%{version}/library/jpl.pl %{_libdir}/%{name}-jpl %changelog * 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 * Fri Apr 7 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