diff --git a/EMBOSS-6.3.1-fix-amd64-check.patch b/EMBOSS-6.3.1-fix-amd64-check.patch new file mode 100644 index 0000000..e43e4cc --- /dev/null +++ b/EMBOSS-6.3.1-fix-amd64-check.patch @@ -0,0 +1,14 @@ +diff -up EMBOSS-6.3.1/m4/amd64.m4.BAD EMBOSS-6.3.1/m4/amd64.m4 +--- EMBOSS-6.3.1/m4/amd64.m4.BAD 2010-11-10 11:13:27.153159001 -0500 ++++ EMBOSS-6.3.1/m4/amd64.m4 2010-11-10 11:14:21.722159000 -0500 +@@ -12,8 +12,8 @@ AC_DEFUN([CHECK_AMD64], + [AC_MSG_CHECKING([if Linux x86_64]) + + +-if test "`uname -a | grep Linux`"; then +- if test "`uname -a | grep x86_64`"; then ++if test "`uname -o | grep Linux`"; then ++ if test "`uname -m | grep x86_64`"; then + CFLAGS="${CFLAGS} -D__amd64__" + AC_MSG_RESULT(yes) + else diff --git a/EMBOSS-6.3.1-fix-doc-finding.patch b/EMBOSS-6.3.1-fix-doc-finding.patch deleted file mode 100644 index 24c8802..0000000 --- a/EMBOSS-6.3.1-fix-doc-finding.patch +++ /dev/null @@ -1,67 +0,0 @@ -diff -up EMBOSS-6.3.1/emboss/tfm.c.fix-doc-finding EMBOSS-6.3.1/emboss/tfm.c ---- EMBOSS-6.3.1/emboss/tfm.c.fix-doc-finding 2010-04-13 10:25:56.000000000 -0400 -+++ EMBOSS-6.3.1/emboss/tfm.c 2010-11-04 15:32:45.651745001 -0400 -@@ -163,11 +163,15 @@ static void tfm_FindAppDocRoot(const AjP - /* look at EMBOSS doc files */ - - /* try to open the installed doc directory */ -- if(ajStrGetLen(roottmp)) -- ajStrAssignS(docroot, roottmp); -- else -+ if(ajStrGetLen(roottmp)) - { -- ajStrAssignS(&docrootinst, ajNamValueInstalldir()); -+ ajStrAssignS(&docrootinst, roottmp); -+ /* Just to be safe. Can't hurt if we end up with multiples here. */ -+ ajStrAppendC(&docrootinst,SLASH_STRING); -+ } -+ else -+ { -+ ajStrAssignS(&docrootinst, ajNamValueInstalldir()); - ajDirnameFix(&docrootinst); - - if(is_windows) -@@ -184,28 +188,28 @@ static void tfm_FindAppDocRoot(const AjP - else - ajFmtPrintAppS(&docrootinst, "share%sEMBOSS%sdoc%s", - SLASH_STRING,SLASH_STRING,SLASH_STRING); -+ } - -- -- if(html) -- { -- if(ajStrGetLen(embassy)) -+ if(html) -+ { -+ if(ajStrGetLen(embassy)) - ajFmtPrintS(docroot,"%Shtml%sembassy%s%S%s", - docrootinst,SLASH_STRING,SLASH_STRING, - embassy, SLASH_STRING); -- else -- { -- if(is_windows) -- ajFmtPrintS(docroot,"%Sprograms%shtml%s", -- docrootinst,SLASH_STRING,SLASH_STRING); -- else -- ajFmtPrintS(docroot,"%Sprograms%shtml%s", -- docrootinst,SLASH_STRING,SLASH_STRING); -- } -- } - else -+ { -+ if(is_windows) -+ ajFmtPrintS(docroot,"%Sprograms%shtml%s", -+ docrootinst,SLASH_STRING,SLASH_STRING); -+ else -+ ajFmtPrintS(docroot,"%Sprograms%shtml%s", -+ docrootinst,SLASH_STRING,SLASH_STRING); -+ } -+ } -+ else - ajFmtPrintS(docroot,"%Sprograms%stext%s",docrootinst,SLASH_STRING, - SLASH_STRING); -- } -+ - ajDirnameFix(docroot); - ajDebug("installed docroot '%S'\n", *docroot); - diff --git a/EMBOSS-6.3.1-new-fix-doc-finding.patch b/EMBOSS-6.3.1-new-fix-doc-finding.patch new file mode 100644 index 0000000..ed9d443 --- /dev/null +++ b/EMBOSS-6.3.1-new-fix-doc-finding.patch @@ -0,0 +1,109 @@ +diff -up EMBOSS-6.3.1/emboss/tfm.c.fix-doc-finding EMBOSS-6.3.1/emboss/tfm.c +--- EMBOSS-6.3.1/emboss/tfm.c.fix-doc-finding 2010-04-13 10:25:56.000000000 -0400 ++++ EMBOSS-6.3.1/emboss/tfm.c 2010-11-10 13:53:05.957159000 -0500 +@@ -143,13 +143,15 @@ static void tfm_FindAppDocRoot(const AjP + AjPStr roottmp = NULL; + AjPStr tmpstr = NULL; + AjPStr embassy = NULL; +- ++ AjPStr doctest = NULL; ++ + AjBool is_windows = ajFalse; + #ifdef WIN32 + is_windows = ajTrue; + #endif + + docrootinst = ajStrNew(); ++ doctest = ajStrNew(); + roottmp = ajStrNew(); + tmpstr = ajStrNew(); + +@@ -163,11 +165,25 @@ static void tfm_FindAppDocRoot(const AjP + /* look at EMBOSS doc files */ + + /* try to open the installed doc directory */ +- if(ajStrGetLen(roottmp)) +- ajStrAssignS(docroot, roottmp); +- else ++ if(ajStrGetLen(roottmp)) ++ { ++ /* ++ ** Check for old-style EMBOSS_DOCROOT and adjust accordingly ++ */ ++ ajFmtPrintS(&doctest,"%S%cprograms%ctext",roottmp,SLASH_CHAR, ++ SLASH_CHAR); ++ ajStrAssignS(&docrootinst,roottmp); ++ ajDirnameFix(&docrootinst); ++ ++ if(!ajDirnameFixExists(&doctest)) ++ { ++ ajDirnameUp(&docrootinst); ++ ajDirnameUp(&docrootinst); ++ } ++ } ++ else + { +- ajStrAssignS(&docrootinst, ajNamValueInstalldir()); ++ ajStrAssignS(&docrootinst, ajNamValueInstalldir()); + ajDirnameFix(&docrootinst); + + if(is_windows) +@@ -184,28 +200,28 @@ static void tfm_FindAppDocRoot(const AjP + else + ajFmtPrintAppS(&docrootinst, "share%sEMBOSS%sdoc%s", + SLASH_STRING,SLASH_STRING,SLASH_STRING); ++ } + +- +- if(html) +- { +- if(ajStrGetLen(embassy)) ++ if(html) ++ { ++ if(ajStrGetLen(embassy)) + ajFmtPrintS(docroot,"%Shtml%sembassy%s%S%s", + docrootinst,SLASH_STRING,SLASH_STRING, + embassy, SLASH_STRING); +- else +- { +- if(is_windows) +- ajFmtPrintS(docroot,"%Sprograms%shtml%s", +- docrootinst,SLASH_STRING,SLASH_STRING); +- else +- ajFmtPrintS(docroot,"%Sprograms%shtml%s", +- docrootinst,SLASH_STRING,SLASH_STRING); +- } +- } + else ++ { ++ if(is_windows) ++ ajFmtPrintS(docroot,"%Sprograms%shtml%s", ++ docrootinst,SLASH_STRING,SLASH_STRING); ++ else ++ ajFmtPrintS(docroot,"%Sprograms%shtml%s", ++ docrootinst,SLASH_STRING,SLASH_STRING); ++ } ++ } ++ else + ajFmtPrintS(docroot,"%Sprograms%stext%s",docrootinst,SLASH_STRING, + SLASH_STRING); +- } ++ + ajDirnameFix(docroot); + ajDebug("installed docroot '%S'\n", *docroot); + +@@ -248,6 +264,7 @@ static void tfm_FindAppDocRoot(const AjP + + ajStrDel(&roottmp); + ajStrDel(&docrootinst); ++ ajStrDel(&doctest); + ajStrDel(&tmpstr); + + return; +@@ -348,4 +365,4 @@ static void tfm_FixImages(AjPStr *line, + ajStrDel(&pre); + + return; +-} ++} +\ No newline at end of file diff --git a/EMBOSS-6.3.1-system-zlib.patch b/EMBOSS-6.3.1-system-zlib.patch new file mode 100644 index 0000000..a50a2a3 --- /dev/null +++ b/EMBOSS-6.3.1-system-zlib.patch @@ -0,0 +1,92 @@ +diff -up EMBOSS-6.3.1/configure.in.system-zlib EMBOSS-6.3.1/configure.in +--- EMBOSS-6.3.1/configure.in.system-zlib 2010-11-10 08:49:30.735682003 -0500 ++++ EMBOSS-6.3.1/configure.in 2010-11-10 08:49:30.745682003 -0500 +@@ -425,6 +425,7 @@ if test "${enable_systemlibs}" = "yes" ; + have_systemlibs=yes + AC_CHECK_LIB(pcre, pcre_compile) + AC_CHECK_LIB(expat, XML_ParserCreate) ++ AC_CHECK_LIB(z, compress) + fi + AM_CONDITIONAL(ESYSTEMLIBS, test "$have_systemlibs" = "yes") + AC_SUBST(ESYSTEMLIBS) +@@ -661,7 +662,7 @@ CHECK_THREADS + + + AC_OUTPUT([plplot/Makefile plplot/lib/Makefile nucleus/Makefile ajax/Makefile +-ajax/zlib/Makefile ajax/core/Makefile ++ajax/core/Makefile + ajax/graphics/Makefile ajax/ensembl/Makefile ajax/ajaxdb/Makefile + ajax/acd/Makefile + emboss/Makefile emboss/acd/Makefile test/Makefile test/data/Makefile +diff -up EMBOSS-6.3.1/configure.system-zlib EMBOSS-6.3.1/configure +--- EMBOSS-6.3.1/configure.system-zlib 2010-11-10 08:50:26.740682011 -0500 ++++ EMBOSS-6.3.1/configure 2010-11-10 08:50:58.823682003 -0500 +@@ -14991,6 +14991,51 @@ _ACEOF + + fi + ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for compress in -lz" >&5 ++$as_echo_n "checking for compress in -lz... " >&6; } ++if test "${ac_cv_lib_z_compress+set}" = set; then : ++ $as_echo_n "(cached) " >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lz $LIBS" ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char compress (); ++int ++main () ++{ ++return compress (); ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ ac_cv_lib_z_compress=yes ++else ++ ac_cv_lib_z_compress=no ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_compress" >&5 ++$as_echo "$ac_cv_lib_z_compress" >&6; } ++if test "x$ac_cv_lib_z_compress" = x""yes; then : ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_LIBZ 1 ++_ACEOF ++ ++ LIBS="-lz $LIBS" ++ ++fi ++ + fi + if test "$have_systemlibs" = "yes"; then + ESYSTEMLIBS_TRUE= +@@ -15344,7 +15389,7 @@ fi + + + +-ac_config_files="$ac_config_files plplot/Makefile plplot/lib/Makefile nucleus/Makefile ajax/Makefile ajax/zlib/Makefile ajax/core/Makefile ajax/graphics/Makefile ajax/ensembl/Makefile ajax/ajaxdb/Makefile ajax/acd/Makefile emboss/Makefile emboss/acd/Makefile test/Makefile test/data/Makefile test/embl/Makefile test/genbank/Makefile test/pir/Makefile test/swiss/Makefile test/swnew/Makefile test/testdb/Makefile emboss/data/Makefile emboss/data/AAINDEX/Makefile emboss/data/CODONS/Makefile emboss/data/REBASE/Makefile emboss/data/JASPAR_CORE/Makefile emboss/data/JASPAR_FAM/Makefile emboss/data/JASPAR_PHYLOFACTS/Makefile emboss/data/JASPAR_CNE/Makefile emboss/data/JASPAR_POLII/Makefile emboss/data/JASPAR_SPLICE/Makefile emboss/data/JASPAR_PBM/Makefile emboss/data/JASPAR_PBM_HLH/Makefile emboss/data/JASPAR_PBM_HOMEO/Makefile emboss/data/PRINTS/Makefile emboss/data/PROSITE/Makefile doc/Makefile doc/manuals/Makefile doc/tutorials/Makefile doc/programs/Makefile doc/programs/html/Makefile doc/programs/text/Makefile jemboss/Makefile jemboss/images/Makefile jemboss/lib/Makefile jemboss/lib/axis/Makefile jemboss/resources/Makefile jemboss/utils/Makefile Makefile" ++ac_config_files="$ac_config_files plplot/Makefile plplot/lib/Makefile nucleus/Makefile ajax/Makefile ajax/core/Makefile ajax/graphics/Makefile ajax/ensembl/Makefile ajax/ajaxdb/Makefile ajax/acd/Makefile emboss/Makefile emboss/acd/Makefile test/Makefile test/data/Makefile test/embl/Makefile test/genbank/Makefile test/pir/Makefile test/swiss/Makefile test/swnew/Makefile test/testdb/Makefile emboss/data/Makefile emboss/data/AAINDEX/Makefile emboss/data/CODONS/Makefile emboss/data/REBASE/Makefile emboss/data/JASPAR_CORE/Makefile emboss/data/JASPAR_FAM/Makefile emboss/data/JASPAR_PHYLOFACTS/Makefile emboss/data/JASPAR_CNE/Makefile emboss/data/JASPAR_POLII/Makefile emboss/data/JASPAR_SPLICE/Makefile emboss/data/JASPAR_PBM/Makefile emboss/data/JASPAR_PBM_HLH/Makefile emboss/data/JASPAR_PBM_HOMEO/Makefile emboss/data/PRINTS/Makefile emboss/data/PROSITE/Makefile doc/Makefile doc/manuals/Makefile doc/tutorials/Makefile doc/programs/Makefile doc/programs/html/Makefile doc/programs/text/Makefile jemboss/Makefile jemboss/images/Makefile jemboss/lib/Makefile jemboss/lib/axis/Makefile jemboss/resources/Makefile jemboss/utils/Makefile Makefile" + + cat >confcache <<\_ACEOF + # This file is a shell script that caches the results of configure +@@ -16402,7 +16447,6 @@ do + "plplot/lib/Makefile") CONFIG_FILES="$CONFIG_FILES plplot/lib/Makefile" ;; + "nucleus/Makefile") CONFIG_FILES="$CONFIG_FILES nucleus/Makefile" ;; + "ajax/Makefile") CONFIG_FILES="$CONFIG_FILES ajax/Makefile" ;; +- "ajax/zlib/Makefile") CONFIG_FILES="$CONFIG_FILES ajax/zlib/Makefile" ;; + "ajax/core/Makefile") CONFIG_FILES="$CONFIG_FILES ajax/core/Makefile" ;; + "ajax/graphics/Makefile") CONFIG_FILES="$CONFIG_FILES ajax/graphics/Makefile" ;; + "ajax/ensembl/Makefile") CONFIG_FILES="$CONFIG_FILES ajax/ensembl/Makefile" ;; diff --git a/EMBOSS.spec b/EMBOSS.spec index c6572b9..cdc564f 100644 --- a/EMBOSS.spec +++ b/EMBOSS.spec @@ -18,7 +18,7 @@ Name: EMBOSS Version: 6.3.1 -Release: 6%{?dist} +Release: 7%{?dist} Summary: The European Molecular Biology Open Software Suite Group: Applications/Engineering @@ -42,18 +42,23 @@ Patch0: ftp://emboss.open-bio.org/pub/EMBOSS/fixes/patches/patch-1-4.gz # Use system-wide pcre. Sent upstream. Patch1: EMBOSS-6.3.1-system-pcre.patch # Use system-wide plplot -Patch3: EMBOSS-6.3.1-system-plplot.patch +# Patch3: EMBOSS-6.3.1-system-plplot.patch # Use system-wide expat Patch4: EMBOSS-6.3.1-system-expat.patch +# Use system-wide zlib +Patch5: EMBOSS-6.3.1-system-zlib.patch +# Fix x86_64 check to be finer grained, eliminate koji false positive +# Sent upstream 2010-11-10 +Patch6: EMBOSS-6.3.1-fix-amd64-check.patch #Fedora-specific. Not sent upstream. -Patch5: %{name}-fedora.patch -Patch6: EMBOSS-6.3.1-prevent-autotooling.patch -Patch7: EMBOSS-6.3.1-system-hack.patch +Patch7: %{name}-fedora.patch +Patch8: EMBOSS-6.3.1-system-hack.patch # Sent upstream on 2010-10-27 # Cleaner version generated on 2010-11-04 -Patch8: EMBOSS-6.3.1-fix-doc-finding.patch +# Upstream's final version received on 2010-11-10 +Patch9: EMBOSS-6.3.1-new-fix-doc-finding.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -61,9 +66,12 @@ BuildRequires: gd-devel BuildRequires: pam-devel BuildRequires: pcre-devel BuildRequires: zlib-devel -BuildRequires: plplot-devel +# BuildRequires: plplot-devel BuildRequires: expat-devel BuildRequires: libharu-devel +BuildRequires: postgresql-devel +BuildRequires: mysql-devel +BuildRequires: libtool, autoconf %if %{with jemboss} BuildRequires: ant BuildRequires: desktop-file-utils @@ -138,15 +146,16 @@ http://www.hgmp.mrc.ac.uk/Software/EMBOSS/Jemboss/ %setup -q %patch0 -p1 %patch1 -p1 -b .system-pcre -%patch3 -p1 -b .system-plplot +# %%patch3 -p1 -b .system-plplot %patch4 -p1 -b .system-expat -%patch5 -p0 -b .fedora -%patch6 -p1 -b .autobarf -%patch7 -p1 -b .system -%patch8 -p1 -b .fix-doc-finding +%patch5 -p1 -b .system-zlib +%patch6 -p1 -b .fix-amd64-check -# Remove bundled plplot, expat, pcre and zlib to make sure that system versions are used -rm -rf plplot/ +%patch7 -p0 -b .fedora +%patch8 -p1 -b .system +%patch9 -p1 -b .fix-doc-finding + +# Remove bundled expat, pcre and zlib to make sure that system versions are used rm -rf ajax/{expat,pcre,zlib} #install the patch readme @@ -183,6 +192,8 @@ done export PATH=$PATH:%{_java}/bin/ %endif +autoreconf -i + %configure \ --disable-static \ --with-x \ @@ -302,6 +313,12 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Nov 9 2010 Tom "spot" Callaway - 6.3.1-7 +- use bundled plplot (EMBOSS depends on fork) +- add BR for postgresql-devel and mysql-devel +- use autotools to generate updated configure/Makefiles +- fix amd64 check to be finer grained, eliminate koji false positive + * Thu Nov 4 2010 Tom "spot" Callaway - 6.3.1-6 - more intricate fix doc finding patch for 6.3.1