diff --git a/.cvsignore b/.cvsignore index 3bf0132..db3f12b 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,3 +1,3 @@ -pl-5.7.6.tar.gz -HTMLmanual.tar.gz userguide.html.tgz +pl-5.7.11.tar.gz +SWI-Prolog-5.7.11.pdf diff --git a/pl-5.7.11-jpl-configure.patch b/pl-5.7.11-jpl-configure.patch new file mode 100644 index 0000000..845fb8b --- /dev/null +++ b/pl-5.7.11-jpl-configure.patch @@ -0,0 +1,85 @@ +--- pl-5.7.11/packages/jpl/configure.orig 2009-07-06 10:37:59.561560026 +0100 ++++ pl-5.7.11/packages/jpl/configure 2009-07-06 10:38:02.133810593 +0100 +@@ -3664,21 +3664,6 @@ + CWFLAGS="${CWFLAGS-}" + fi + +-if test "x$JAVALIBS" = "x"; then +- case "$PLARCH" in +- *darwin*) +- JAVALIBS="-Wl,-framework,JavaVM" +- ;; +- *powerpc-linux*) +- JAVALIBS="-ljava -ljvm" +- ;; +- *) +- JAVALIBS="-ljava -lverify -ljvm" +- ;; +- esac +-fi +- +- + # Make sure we can run config.sub. + $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +@@ -4638,15 +4623,25 @@ + _JNI_LIBDIRS="lib/amd64" + _JNI_LIBSUBDIRS="server" + ;; ++ alpha*) ++ _JNI_LIBDIRS="lib/alpha" ++ _JNI_LIBSUBDIRS="server" ++ ;; + powerpc) +- case "$host_os" in +- linux*) +- _JNI_LIBDIRS="lib/ppc bin" +- _JNI_LIBSUBDIRS="server classic" +- ;; +- *) +- _JNI_LIBDIRS="" +- esac ++ _JNI_LIBDIRS="lib/ppc" ++ _JNI_LIBSUBDIRS="server" ++ ;; ++ powerpc64) ++ _JNI_LIBDIRS="lib/ppc64" ++ _JNI_LIBSUBDIRS="server" ++ ;; ++ s390) ++ _JNI_LIBDIRS="lib/s390" ++ _JNI_LIBSUBDIRS="server" ++ ;; ++ s390x) ++ _JNI_LIBDIRS="lib/s390x" ++ _JNI_LIBSUBDIRS="server" + ;; + *) + # Fallback option should work on all architectures except +@@ -4655,6 +4649,26 @@ + _JNI_LIBSUBDIRS="server" + esac + ++# Set JAVALIBS differently if we're using GCJ ++if test "x$JAVALIBS" = "x"; then ++ if (echo $_JTOPDIR | grep gcj > /dev/null); then ++ JAVALIBS="-ljvm" ++ else ++ case "$PLARCH" in ++ *darwin*) ++ JAVALIBS="-Wl,-framework,JavaVM" ++ ;; ++ *powerpc-linux*) ++ JAVALIBS="-ljava -ljvm" ++ ;; ++ *) ++ JAVALIBS="-ljava -lverify -ljvm" ++ ;; ++ esac ++ fi ++fi ++ ++ + for d in $_JNI_LIBDIRS; do + for subd in $_JNI_LIBSUBDIRS; do + echo "Trying $_JTOPDIR/jre/$d/$subd" diff --git a/pl-5.7.11-man-files.patch b/pl-5.7.11-man-files.patch new file mode 100644 index 0000000..fec5339 --- /dev/null +++ b/pl-5.7.11-man-files.patch @@ -0,0 +1,70 @@ +--- pl-5.7.11/src/pl.1.in.orig 2009-07-06 11:38:55.194810616 +0100 ++++ pl-5.7.11/src/pl.1.in 2009-07-06 11:39:53.213766888 +0100 +@@ -333,57 +333,6 @@ + .BR apropos/1 + and + .BR explain/1. +-.RE +-.SH FILES +-This installation of SWI-Prolog has been configured using the configure +-option +-.BI \-\-prefix= @prefix@. +-If the files listed below are not at the indicated place, the installation +-has probably been moved. Use +-.TP +-?- current_prolog_flag(home, Home). +-.P +-to find the local installation directory of SWI-Prolog. +-.TP +-.I .plrc +-.TP +-.I ~/.plrc +-Personal initialisation files consulted by SWI-Prolog on startup. +-If both exist +-.I .plrc +-is used. +-.TP +-.I @prefix@/lib/@PL@-@PLVERSION@/bin/@ARCH@/ +-Location for the executables. +-.TP +-.I @prefix@/lib/@PL@-@PLVERSION@/include/ +-Location for the include files. If writable, SWI-Prolog.h is also +-copied to @prefix@/include/SWI-Prolog.h. +-.TP +-.I @prefix@/lib/@PL@-@PLVERSION@/library/ +-SWI-Prolog user libraries. +-.TP +-.I @prefix@/lib/@PL@-@PLVERSION@/boot/ +-SWI-Prolog kernel parts written in Prolog. The startup file +-@prefix@/lib/@PL@-@PLVERSION@/boot32.prc may be recreated using +-the command from the directory @prefix@/lib/@PL@-@PLVERSION@: +-.RS +-.TP +-bin/@ARCH@/@PL@ -O -o boot32.prc -b boot/init.pl +-.RE +-.TP +-.I @prefix@/lib/@PL@-@PLVERSION@/doc/packages +-HTML and/or PDF documentation on the installed add-ons. +-.TP +-.I @prefix@/lib/@PL@-@PLVERSION@/boot32.prc +-Default startup file. This is a `intermediate code' file containing +-precompiled code from the boot directory. The +-.BI \-x bootfile +-option may be used to select a different file. +-.TP +-.I @prefix@/lib/@PL@-@PLVERSION@/runtime/@ARCH@/libpl.a +-SWI-Prolog library for embedding. See also +-.I plld(1). + .SH SEE ALSO + .PP + The SWI-Prolog web-home at +@@ -393,9 +342,6 @@ + .IR "SWI-Prolog Reference Manual" at + .I http://gollem.science.uva.nl/SWI-Prolog/Manual/ + .PP +-Documentation on the add-on packages in +-.I @prefix@/lib/@PL@-@PLVERSION@/boot/doc +-.PP + William\ F.\ Clocksin & Christopher\ S.\ Mellish, + .IR "Programming in Prolog" , + fourth edition, Springer Verlag, Berlin 1994. diff --git a/pl-5.7.11-rpath.patch b/pl-5.7.11-rpath.patch new file mode 100644 index 0000000..ad77d22 --- /dev/null +++ b/pl-5.7.11-rpath.patch @@ -0,0 +1,23 @@ +--- pl-5.7.11/packages/xpce/pl/src/Makefile.orig 2009-07-06 10:30:39.522810119 +0100 ++++ pl-5.7.11/packages/xpce/pl/src/Makefile 2009-07-06 10:30:52.766810939 +0100 +@@ -114,20 +114,8 @@ + fi + + sopce$(XPCESO): +- if [ "x$$LD_RUN_PATH" = "x" ]; then \ +- LD_RUN_PATH="$(libdir)"; \ +- else \ +- LD_RUN_PATH="$(libdir):$$LD_RUN_PATH"; \ +- fi; \ +- export LD_RUN_PATH; \ + $(PLLD) -shared $(SOITF) $(LDFLAGS) -L$(XLIB) -L$(LIBDIR) -lXPCE -o $(XPCESO); + axpce$(XPCESO): +- if [ "x$$LD_RUN_PATH" = "x" ]; then \ +- LD_RUN_PATH="$(libdir)"; \ +- else \ +- LD_RUN_PATH="$(libdir):$$LD_RUN_PATH"; \ +- fi; \ +- export LD_RUN_PATH; \ + $(PLLD) -shared $(LDFLAGS) $(SOITF) $(SOEXTR) -L$(LIBDIR) \ + -lXPCE $(GCCLIB) -L$(XLIB) $(XLIBS) $(NETLIBS) -o $(XPCESO); + diff --git a/pl.spec b/pl.spec index 4b19eec..0470c8c 100644 --- a/pl.spec +++ b/pl.spec @@ -2,8 +2,8 @@ %define jdkverlong %{jdkvershort}.0 Name: pl -Version: 5.7.6 -Release: 5%{?dist} +Version: 5.7.11 +Release: 1%{?dist} Summary: SWI-Prolog - Edinburgh compatible Prolog compiler @@ -11,14 +11,12 @@ Group: Development/Languages License: LGPLv2+ URL: http://www.swi-prolog.org Source: http://www.swi-prolog.org/download/devel/src/%{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 -Patch1: %{name}-5.6.57-jpl-configure.patch -Patch2: %{name}-5.6.57-jpl-configure-alpha.patch +Source1: http://www.swi-prolog.org/download/devel/doc/SWI-Prolog-%{version}.pdf +Source2: http://www.swi-prolog.org/download/xpce/doc/userguide/userguide.html.tgz +Patch0: %{name}-5.7.11-rpath.patch +Patch1: %{name}-5.7.11-jpl-configure.patch +Patch2: %{name}-5.7.11-man-files.patch Patch3: %{name}-5.6.60-jni.patch -Patch4: %{name}-5.6.57-jpl-configure-s390x.patch -Patch5: pl-5.7.6-strndup-no-static.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: gmp-devel @@ -103,19 +101,18 @@ in Prolog. In both setups it provides a reentrant bidirectional interface. %setup -q %patch0 -p1 -b .rpath %patch1 -p1 -b .libjvm -%patch2 -p1 -b .libjvm-alpha +%patch2 -p1 -b .man-files %patch3 -p1 -b .jni -%patch4 -p1 -b .libjvm-s390X -%patch5 -p1 -b .strndup-no-static ( mkdir doc-install cd doc-install - tar zxf %{SOURCE1} + cp -p %{SOURCE1} . ) ( mkdir xpce-doc cd xpce-doc tar zxf %{SOURCE2} + mv UserGuide xpce-UserGuide ) # Adjustments to take into account the new location of JNI stuff @@ -144,6 +141,14 @@ make COFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" PATH=$PWD/src:$PATH cd packages %configure +cd clib/maildrop +for dir in rfc*; do +pushd $dir +%configure +sed --in-place=.pic -e 's/CFLAGS=/CFLAGS=-fPIC /' Makefile +popd +done +cd ../.. make COFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" JAVALIBS="-L$JAVA_LIB/server -L$JAVA_LIB -ljava -lverify -ljvm" cd .. @@ -178,6 +183,11 @@ mv $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/xpce-*/include/* \ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/include rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/xpce-*/include +# Move the binaries into %{_bindir} directly instead of using links +rm -f $RPM_BUILD_ROOT%{_bindir}/* +mv $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/bin/*/* $RPM_BUILD_ROOT%{_bindir} +rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/bin + # 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 @@ -243,6 +253,17 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon Jul 6 2009 Mary Ellen Foster - 5.7.11-1 +- Move binaries into /usr/bin directly to fix multilib issues +- Update to latest upstream release +- Use officially-distributed PDF documentation instead of HTML +- Unify Java patches +- Remove strndup package; they fixed it upstream +- Fix compilation of "maildrop" packages +- Give the xpce documentation directory a clearer name +- Removed the FILES section of the man page because it also caused + multilib conflicts (and was inaccurate anyway) + * Fri Jun 12 2009 Dennis Gilmore 5.7.6-5 -dont use a static definition for strndup diff --git a/sources b/sources index 6b07afe..78a23e5 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -2569fae9f1fa61ccd12cde9b0434b1c8 pl-5.7.6.tar.gz -1da5a1eab8c4577f1948540d28144a38 HTMLmanual.tar.gz a4462019611caa4f69247c8bf94404a7 userguide.html.tgz +b2bc17a08a462ee8168407b52c28bd40 pl-5.7.11.tar.gz +ba7ff9da608a3986867cecbae27f51dd SWI-Prolog-5.7.11.pdf