[EMBOSS] fix compile issue on i686, missing deps, plplot, tfm

Tom Callaway spot at fedoraproject.org
Wed Nov 10 19:23:41 UTC 2010


commit 2c274f6702701f31f0817c287154a0fb327e745d
Author: Tom "spot" Callaway <tcallawa at redhat.com>
Date:   Wed Nov 10 14:23:38 2010 -0500

    fix compile issue on i686, missing deps, plplot, tfm

 EMBOSS-6.3.1-fix-amd64-check.patch     |   14 ++++
 EMBOSS-6.3.1-fix-doc-finding.patch     |   67 -------------------
 EMBOSS-6.3.1-new-fix-doc-finding.patch |  109 ++++++++++++++++++++++++++++++++
 EMBOSS-6.3.1-system-zlib.patch         |   92 +++++++++++++++++++++++++++
 EMBOSS.spec                            |   45 +++++++++----
 5 files changed, 246 insertions(+), 81 deletions(-)
---
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-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/Makef
 ile 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/te
 xt/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 <tcallawa at redhat.com> - 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 <tcallawa at redhat.com> - 6.3.1-6
 - more intricate fix doc finding patch for 6.3.1
 


More information about the scm-commits mailing list