[med-svn] [Git][med-team/hhsuite][master] 8 commits: forwarded the exe suffix patch

Michael R. Crusoe gitlab at salsa.debian.org
Wed Sep 2 12:19:04 BST 2020



Michael R. Crusoe pushed to branch master at Debian Med / hhsuite


Commits:
41b74793 by Michael R. Crusoe at 2020-09-01T11:45:12+02:00
forwarded the exe suffix patch

- - - - -
ebb1f1e8 by Michael R. Crusoe at 2020-09-01T12:50:06+02:00
drop unused add_Makefile_in_data.patch

- - - - -
08b424d6 by Michael R. Crusoe at 2020-09-02T11:08:03+02:00
test without the MPI versions

- - - - -
17280998 by Michael R. Crusoe at 2020-09-02T11:08:25+02:00
Ship the ffindex binaries from the hhsuite fork

- - - - -
dacf7407 by Michael R. Crusoe at 2020-09-02T11:08:26+02:00
remove unused DATE variable

- - - - -
cd3c0e44 by Michael R. Crusoe at 2020-09-02T11:08:27+02:00
Replace disable-AVX-SSE.patch with NATIVE_ARCH=0

- - - - -
958ead20 by Michael R. Crusoe at 2020-09-02T12:15:47+02:00
Build-depend on libsimde-dev 0.6.0-2 to get i386 related patches

- - - - -
2959f5c8 by Michael R. Crusoe at 2020-09-02T13:18:12+02:00
release 3.3.0+ds-3

- - - - -


10 changed files:

- debian/changelog
- debian/control
- − debian/not-installed
- − debian/patches/add_Makefile_in_data.patch
- − debian/patches/disable-AVX-SSE.patch
- debian/patches/exe_suffix
- debian/patches/ppc64el.patch
- debian/patches/series
- + debian/patches/test_without_mpi
- debian/rules


Changes:

=====================================
debian/changelog
=====================================
@@ -1,3 +1,15 @@
+hhsuite (3.3.0+ds-3) unstable; urgency=medium
+
+  * Team upload.
+  * Drop unused add_Makefile_in_data.patch
+  * Apply patch from upstream to enable full testing without MPI
+  * Ship the ffindex binaries from the hhsuite fork and Conflict with the
+    ffindex package.
+  * Replace disable-AVX-SSE.patch with NATIVE_ARCH=0
+  * Build-depend on libsimde-dev 0.6.0-2 to get i386 related patches
+
+ -- Michael R. Crusoe <crusoe at debian.org>  Wed, 02 Sep 2020 13:18:00 +0200
+
 hhsuite (3.3.0+ds-2) unstable; urgency=medium
 
   * Team upload.


=====================================
debian/control
=====================================
@@ -6,7 +6,7 @@ Uploaders: Laszlo Kajan <lkajan at debian.org>,
 Section: science
 Priority: optional
 Build-Depends: debhelper-compat (= 13),
-               libsimde-dev,
+               libsimde-dev (>= 0.6.0-2),
                cmake,
                imagemagick,
                help2man
@@ -21,9 +21,9 @@ Architecture: any
 Depends: ${shlibs:Depends},
          ${misc:Depends},
          ${perl:Depends},
-         ffindex (>= 0.9.9.8),
          hhsuite-data (= ${source:Version}),
          python3
+Conflicts: ffindex
 Description: sensitive protein sequence searching based on HMM-HMM alignment
  HH-suite is an open-source software package for sensitive protein sequence
  searching based on the pairwise alignment of hidden Markov models (HMMs).


=====================================
debian/not-installed deleted
=====================================
@@ -1 +0,0 @@
-usr/bin/ffindex*


=====================================
debian/patches/add_Makefile_in_data.patch deleted
=====================================
@@ -1,17 +0,0 @@
-Author: Laszlo Kajan <lkajan at rostlab.org>
-Description: Add makefile to data
-
---- /dev/null
-+++ b/data/Makefile
-@@ -0,0 +1,11 @@
-+#!/usr/bin/make -f
-+
-+DUMMYDB:=do_not_delete.phr do_not_delete.pin do_not_delete.psq
-+
-+all: $(DUMMYDB)
-+
-+%.phr %.pin %.psq : %
-+	formatdb -i '$<' && rm -f formatdb.log
-+
-+clean:
-+	rm -f $(DUMMYDB) formatdb.log


=====================================
debian/patches/disable-AVX-SSE.patch deleted
=====================================
@@ -1,144 +0,0 @@
-Description: do not use AVX to build binaries 
-Author: Sascha Steinbiss <satta at debian.org>
---- hhsuite.orig/src/CMakeLists.txt
-+++ hhsuite/src/CMakeLists.txt
-@@ -23,47 +23,47 @@
- 
- # SIMD instruction sets support
- set(ARCH_FLAGS "")
--if (HAVE_AVX2)
--    if (CMAKE_COMPILER_IS_CLANG)
--        set(ARCH_FLAGS "${ARCH_FLAGS} -mavx2")
--    else ()
--        set(ARCH_FLAGS "${ARCH_FLAGS} -mavx2 -Wa,-q")
--    endif ()
--elseif (HAVE_SSE4_1)
--    set(ARCH_FLAGS "${ARCH_FLAGS} -msse4.1")
--elseif (HAVE_SSE2)
--    set(ARCH_FLAGS "${ARCH_FLAGS} -msse2")
--elseif (HAVE_POWER9)
--    set(ARCH_FLAGS "${ARCH_FLAGS} -mcpu=power9 -mvsx")
--elseif (HAVE_POWER8)
--    set(ARCH_FLAGS "${ARCH_FLAGS} -mcpu=power8 -mvsx")
--elseif (HAVE_ARM8)
--    set(ARCH_FLAGS "${ARCH_FLAGS} -march=armv8-a+simd")
--endif ()
-+# if (HAVE_AVX2)
-+#     if (CMAKE_COMPILER_IS_CLANG)
-+#         set(ARCH_FLAGS "${ARCH_FLAGS} -mavx2")
-+#     else ()
-+#         set(ARCH_FLAGS "${ARCH_FLAGS} -mavx2 -Wa,-q")
-+#     endif ()
-+# elseif (HAVE_SSE4_1)
-+#     set(ARCH_FLAGS "${ARCH_FLAGS} -msse4.1")
-+# elseif (HAVE_SSE2)
-+#     set(ARCH_FLAGS "${ARCH_FLAGS} -msse2")
-+# elseif (HAVE_POWER9)
-+#     set(ARCH_FLAGS "${ARCH_FLAGS} -mcpu=power9 -mvsx")
-+# elseif (HAVE_POWER8)
-+#     set(ARCH_FLAGS "${ARCH_FLAGS} -mcpu=power8 -mvsx")
-+# elseif (HAVE_ARM8)
-+#     set(ARCH_FLAGS "${ARCH_FLAGS} -march=armv8-a+simd")
-+# endif ()
- 
- if (NATIVE_ARCH AND (ARCH_FLAGS STREQUAL ""))
-     if (EMSCRIPTEN)
-         set(ARCH_FLAGS "-msimd128 -s WASM=1 -s ASSERTIONS=1")
--    elseif (X86 OR X64)
--        include(CheckSSEFeatures)
--        if (NOT HAVE_SSE4_1_EXTENSIONS)
--            if (NOT HAVE_SSE2_EXTENSIONS)
--                message(FATAL_ERROR "At least SSE2 is needed to compile")
--            endif ()
--            message(WARNING "At least SSE4.1 is needed for best performance")
--        endif ()
--        # clang has a problem with march=native on travis
--        if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.0.0")
--            set(ARCH_FLAGS "${SSE_FLAGS}")
--        else()
--            set(ARCH_FLAGS "-march=native")
--        endif()
--    else ()
--        if (PPC64)
--            set(ARCH_FLAGS "-mcpu=native")
--        else ()
--            set(ARCH_FLAGS "-march=native")
--        endif ()
-+    # elseif (X86 OR X64)
-+    #     include(CheckSSEFeatures)
-+    #     if (NOT HAVE_SSE4_1_EXTENSIONS)
-+    #         if (NOT HAVE_SSE2_EXTENSIONS)
-+    #             message(FATAL_ERROR "At least SSE2 is needed to compile")
-+    #         endif ()
-+    #         message(WARNING "At least SSE4.1 is needed for best performance")
-+    #     endif ()
-+    #     # clang has a problem with march=native on travis
-+    #     if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.0.0")
-+    #         set(ARCH_FLAGS "${SSE_FLAGS}")
-+    #     else()
-+    #         set(ARCH_FLAGS "-march=native")
-+    #     endif()
-+    # else ()
-+    #     if (PPC64)
-+    #         set(ARCH_FLAGS "-mcpu=native")
-+    #     else ()
-+    #         set(ARCH_FLAGS "-march=native")
-+    #     endif ()
-     endif ()
- endif ()
- 
---- hhsuite.orig/cmake/CheckSSEFeatures.cmake
-+++ hhsuite/cmake/CheckSSEFeatures.cmake
-@@ -99,29 +99,29 @@
-     set(CMAKE_REQUIRED_FLAGS)
- 
-     set(SSE_FLAGS)
--    if(HAVE_AVX2_EXTENSIONS)
--        if(CMAKE_COMPILER_IS_CLANG)
--            SET(SSE_FLAGS "-mavx2")
--        else()
--            SET(SSE_FLAGS "-mavx2 -Wa,-q")
--        endif()
--    elseif(HAVE_AVX_EXTENSIONS)
--        if(CMAKE_COMPILER_IS_CLANG)
--            SET(SSE_FLAGS "-mavx")
--        else()
--            SET(SSE_FLAGS "-mavx -Wa,-q")
--        endif()
--    elseif(HAVE_SSE4_2_EXTENSIONS)
--        SET(SSE_FLAGS "-msse4.2")
--    elseif(HAVE_SSE4_1_EXTENSIONS)
--        SET(SSE_FLAGS "-msse4.1")
--    elseif(HAVE_SSE3_EXTENSIONS)
--        SET(SSE_FLAGS "-msse3")
--    elseif(HAVE_SSE2_EXTENSIONS)
--        SET(SSE_FLAGS "-msse2")
--    elseif(HAVE_SSE_EXTENSIONS)
--        SET(SSE_FLAGS "-msse")
--    endif()
-+    # if(HAVE_AVX2_EXTENSIONS)
-+    #     if(CMAKE_COMPILER_IS_CLANG)
-+    #         SET(SSE_FLAGS "-mavx2")
-+    #     else()
-+    #         SET(SSE_FLAGS "-mavx2 -Wa,-q")
-+    #     endif()
-+    # elseif(HAVE_AVX_EXTENSIONS)
-+    #     if(CMAKE_COMPILER_IS_CLANG)
-+    #         SET(SSE_FLAGS "-mavx")
-+    #     else()
-+    #         SET(SSE_FLAGS "-mavx -Wa,-q")
-+    #     endif()
-+    # elseif(HAVE_SSE4_2_EXTENSIONS)
-+    #     SET(SSE_FLAGS "-msse4.2")
-+    # elseif(HAVE_SSE4_1_EXTENSIONS)
-+    #     SET(SSE_FLAGS "-msse4.1")
-+    # elseif(HAVE_SSE3_EXTENSIONS)
-+    #     SET(SSE_FLAGS "-msse3")
-+    # elseif(HAVE_SSE2_EXTENSIONS)
-+    #     SET(SSE_FLAGS "-msse2")
-+    # elseif(HAVE_SSE_EXTENSIONS)
-+    #     SET(SSE_FLAGS "-msse")
-+    # endif()
- endmacro ()
- 
- PCL_CHECK_FOR_SSE()


=====================================
debian/patches/exe_suffix
=====================================
@@ -1,5 +1,6 @@
 From: Michael R. Crusoe <crusoe at debian.org>
 Subject: Enable optional executable suffix to indicate SIMD level
+Forwarded: https://github.com/soedinglab/hh-suite/pull/219
 --- hhsuite.orig/src/CMakeLists.txt
 +++ hhsuite/src/CMakeLists.txt
 @@ -182,81 +182,81 @@


=====================================
debian/patches/ppc64el.patch
=====================================
@@ -13,5 +13,5 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
 +	    set(CMAKE_REQUIRED_FLAGS "-DNO_WARN_X86_INTRINSICS"
 +    endif()
      set(SSE_FLAGS)
-     # if(HAVE_AVX2_EXTENSIONS)
-     #     if(CMAKE_COMPILER_IS_CLANG)
+     if(HAVE_AVX2_EXTENSIONS)
+         if(CMAKE_COMPILER_IS_CLANG)


=====================================
debian/patches/series
=====================================
@@ -1,8 +1,7 @@
+test_without_mpi
 perlscript_uselib
 perl_interpreter
-add_Makefile_in_data.patch
 drop-fmemopen.h.patch
-disable-AVX-SSE.patch
 python3
 ppc64el.patch
 exe_suffix


=====================================
debian/patches/test_without_mpi
=====================================
@@ -0,0 +1,70 @@
+From: Milot Mirdita <milot at mirdita.de>
+Date: Tue, 1 Sep 2020 22:23:03 +0200
+Subject: Make test script work without MPI
+Origin: upstream, https://github.com/soedinglab/hh-suite/commit/c296b369410900b193a6b74f0554ac90ccfd7d08
+Forwarded: not-needed
+--- hhsuite.orig/data/test.sh
++++ hhsuite/data/test.sh
+@@ -2,36 +2,49 @@
+ 
+ rm -f single* search_* blits_*
+ 
++if $(command -v "ffindex_apply_mpi" >/dev/null 2>&1); then
++    MPI=1
++fi
++
+ hhalign -i query.a3m -t query.a3m
+ 
+ ffindex_build -s single.ffdata single.ffindex query.a3m
+ 
+-mpirun -np 2 \
+-    ffindex_apply_mpi single.ffdata single.ffindex -d single_a3m_cons.ffdata -i single_a3m_cons.ffindex \
++APPLY="ffindex_apply"
++if [ -n "$MPI" ]; then
++    APPLY="mpirun -np 2 ffindex_apply_mpi"
++fi
++
++$APPLY single.ffdata single.ffindex -d single_a3m_cons.ffdata -i single_a3m_cons.ffindex \
+         -- hhconsensus -i stdin -oa3m stdout -M a3m -v 0
+ 
+-mpirun -np 2 \
+-    ffindex_apply_mpi single_a3m_cons.ffdata single_a3m_cons.ffindex -d single_a3m.ffdata -i single_a3m.ffindex \
++$APPLY single_a3m_cons.ffdata single_a3m_cons.ffindex -d single_a3m.ffdata -i single_a3m.ffindex \
+         -- hhfilter -i stdin -o stdout -diff 1000 -v 0
+ 
+-mpirun -np 2 \
+-    ffindex_apply_mpi single_a3m.ffdata single_a3m.ffindex -d single_hhm.ffdata -i single_hhm.ffindex \
++$APPLY single_a3m.ffdata single_a3m.ffindex -d single_hhm.ffdata -i single_hhm.ffindex \
+         -- hhmake -i stdin -o stdout -v 0
+ 
+-mpirun -np 2 cstranslate_mpi -i single -o single_cs219 -b -x 0.3 -c 4 -I a3m
++if [ -n "$MPI" ]; then
++    mpirun -np 2 cstranslate_mpi -i single -o single_cs219 -b -x 0.3 -c 4 -I a3m
++else
++    cstranslate -i single -o single_cs219 -b -x 0.3 -c 4 -I a3m -f
++fi
+ 
+ hhblits -i query.a3m -d single -blasttab blits_app_res -n 1
+ hhblits_omp -i single -d single -blasttab blits_omp_res -n 1
+-mpirun -np 2 hhblits_mpi -i single -d single -blasttab blits_mpi_res -n 1
+-
+ diff <(tr -d '\000' < blits_omp_res.ffdata) blits_app_res
+-diff <(tr -d '\000' < blits_mpi_res.ffdata) blits_app_res
++if [ -n "$MPI" ]; then
++    mpirun -np 2 hhblits_mpi -i single -d single -blasttab blits_mpi_res -n 1
++    diff <(tr -d '\000' < blits_mpi_res.ffdata) blits_app_res
++fi
+ 
+ hhsearch -i query.a3m -d single -blasttab search_app_res
+ hhsearch_omp -i single -d single -blasttab search_omp_res
+-mpirun -np 2 hhsearch_mpi -i single -d single -blasttab search_mpi_res
+-
+ diff <(tr -d '\000' < search_omp_res.ffdata) search_app_res
+-diff <(tr -d '\000' < search_mpi_res.ffdata) search_app_res
++
++if [ -n "$MPI" ]; then
++    mpirun -np 2 hhsearch_mpi -i single -d single -blasttab search_mpi_res
++    diff <(tr -d '\000' < search_mpi_res.ffdata) search_app_res
++fi
+ 
+ diff <(cut -f 1-10,12 blits_app_res) <(cut -f 1-10,12 search_app_res)


=====================================
debian/rules
=====================================
@@ -7,7 +7,6 @@ export DEB_CXXFLAGS_MAINT_APPEND = -include stdlib.h -DSIMDE_ENABLE_OPENMP -fope
 # export DH_VERBOSE=1
 
 include /usr/share/dpkg/default.mk
-DATE=$(shell date --date=@$(SOURCE_DATE_EPOCH) '+%d %B %Y')
 
 binprefix=$(CURDIR)/debian/$(DEB_SOURCE)/usr/bin
 libprefix=$(CURDIR)/debian/$(DEB_SOURCE)/usr/libexec/$(DEB_SOURCE)
@@ -46,22 +45,22 @@ override_dh_auto_configure-arch:
 ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386))
 	for SIMD in avx2 avx sse4.1 ssse3 sse3 ; do \
 		export CXXFLAGS="$(CXXFLAGS) -m$${SIMD}" && \
-		dh_auto_configure --builddirectory build_$${SIMD} -- -DEXE_SUFFIX=-$${SIMD} ; \
+		dh_auto_configure --builddirectory build_$${SIMD} -- -DEXE_SUFFIX=-$${SIMD} -DNATIVE_ARCH=0; \
 	done
 	export CXXFLAGS="$(CXXFLAGS)" && \
-		dh_auto_configure --builddirectory build_plain -- -DEXE_SUFFIX=-plain
+		dh_auto_configure --builddirectory build_plain -- -DEXE_SUFFIX=-plain -DNATIVE_ARCH=0
 ifeq (i386,$(DEB_HOST_ARCH))
 	for SIMD in sse2 sse ; do \
 		export CXXFLAGS="$(CXXFLAGS) -m$${SIMD}" && \
-		dh_auto_configure --builddirectory build_$${SIMD} -- -DEXE_SUFFIX=-$${SIMD} ; \
+		dh_auto_configure --builddirectory build_$${SIMD} -- -DEXE_SUFFIX=-$${SIMD} -DNATIVE_ARCH=0 ; \
 	done
 endif
 else
-	dh_auto_configure --builddirectory mybuild
+	dh_auto_configure --builddirectory mybuild -- -DNATIVE_ARCH=0
 endif
 
 override_dh_auto_configure-indep:
-	dh_auto_configure --builddirectory mybuild
+	dh_auto_configure --builddirectory mybuild -- -DNATIVE_ARCH=0
 
 override_dh_auto_build-arch:
 ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386))
@@ -80,6 +79,18 @@ endif
 override_dh_auto_build-indep:
 	dh_auto_build --builddirectory mybuild/data
 
+override_dh_auto_test-arch:
+ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386))
+	rm -Rf $(CURDIR)/debian/testdir
+	mkdir -p $(CURDIR)/debian/testdir
+	cd build_plain/src && \
+	  for file in *-plain ; \
+	  do ln -s $(CURDIR)/build_plain/src/$${file} $(CURDIR)/debian/testdir/$${file%%-plain} ; done
+	cd $(CURDIR)/data && PATH=$$PATH:$(CURDIR)/build_plain/lib/ffindex/src/:$(CURDIR)/debian/testdir ./test.sh
+else
+	cd $(CURDIR)/data && PATH=$$PATH:$(CURDIR)/mybuild/src ./test.sh
+endif
+
 override_dh_auto_install-arch:
 	mkdir -p $(libprefix)/bin
 ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386))
@@ -105,6 +116,7 @@ else
 	for prog in $(progs) ; do dh_install -phhsuite usr/bin/$${prog} usr/bin/ ; done
 	dh_install -phhsuite usr/bin/cstranslate* usr/libexec/$(DEB_SOURCE)/bin
 endif
+	dh_install -phhsuite usr/bin/ffindex_* usr/bin/
 
 override_dh_auto_install-indep:
 	dh_auto_install --builddirectory mybuild/data



View it on GitLab: https://salsa.debian.org/med-team/hhsuite/-/compare/b855704c8230c1b00aa6857b164eec3d0a56e863...2959f5c8ebe5f3e3aef54d61bdc3efc1ea22593b

-- 
View it on GitLab: https://salsa.debian.org/med-team/hhsuite/-/compare/b855704c8230c1b00aa6857b164eec3d0a56e863...2959f5c8ebe5f3e3aef54d61bdc3efc1ea22593b
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20200902/c207a9a0/attachment-0001.html>


More information about the debian-med-commit mailing list