[med-svn] [salmon] 02/02: initial import
Michael Crusoe
misterc-guest at moszumanska.debian.org
Sat Sep 19 06:22:55 UTC 2015
This is an automated email from the git hooks/post-receive script.
misterc-guest pushed a commit to branch master
in repository salmon.
commit 0ad6dadd695a7db06d9c44525ea098138f261aab
Author: Michael R. Crusoe <crusoe at ucdavis.edu>
Date: Fri Sep 18 18:41:26 2015 -0700
initial import
---
debian/changelog | 5 +
debian/compat | 1 +
debian/control | 46 +++++
debian/copyright | 29 +++
debian/patches/cmake-adj | 20 ++
debian/patches/dependency-fix | 416 ++++++++++++++++++++++++++++++++++++++++
debian/patches/jellyfish-update | 103 ++++++++++
debian/patches/series | 3 +
debian/rules | 22 +++
debian/source/format | 1 +
debian/upstream/metadata | 12 ++
debian/watch | 10 +
12 files changed, 668 insertions(+)
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..61970f2
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,5 @@
+salmon (0.4.2-1) UNRELEASED; urgency=low
+
+ * Initial release (Closes: #<bug>)
+
+ -- Michael R. Crusoe <crusoe at ucdavis.edu> Fri, 18 Sep 2015 18:40:38 -0700
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..4886d86
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,46 @@
+Source: salmon
+Section: science
+Priority: optional
+Maintainer: Debian Med Packaging Team <debian-med-packaging at lists.alioth.debian.org>
+Uploaders: Michael R. Crusoe <crusoe at ucdavis.edu>
+Build-Depends: debhelper (>= 9),
+ cmake,
+ libboost-iostreams-dev,
+ libboost-filesystem-dev,
+ libboost-system-dev,
+ libboost-thread-dev,
+ libboost-timer-dev,
+ libboost-chrono-dev,
+ libboost-program-options-dev,
+ libboost-serialization-dev,
+ libbz2-dev,
+ liblzma-dev,
+ jellyfish,
+ bwa,
+ pkg-config,
+ libjemalloc-dev,
+ libcereal-dev,
+ libtbb-dev,
+ libgff-dev,
+ libstaden-read-dev,
+ libspdlog-dev
+Standards-Version: 3.9.6
+Vcs-Browser: http://anonscm.debian.org/viewvc/debian-med/trunk/packages/<pkg>/trunk/
+Vcs-Svn: svn://anonscm.debian.org/debian-med/trunk/packages/<pkg>/trunk/
+Homepage: https://github.com/COMBINE-lab/salmon
+
+Package: salmon
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: wicked-fast transcript quantification from RNA-seq data
+ Salmon is a wicked-fast program to produce a highly-accurate, transcript-level
+ quantification estimates from RNA-seq data. Salmon achieves is accuracy and
+ speed via a number of different innovations, including the use of lightweight
+ alignments (accurate but fast-to-compute proxies for traditional read
+ alignments) and massively-parallel stochastic collapsed variational inference.
+ The result is a versatile tool that fits nicely into many differnt pipelines.
+ For example, you can choose to make use of our lightweight alignments by
+ providing Salmon with raw sequencing reads, or, if it is more convenient, you
+ can provide Salmon with regular alignments (e.g. computed with your favorite
+ aligner), and it will use the same wicked-fast, state-of-the-art inference
+ algorithm to estimate transcript-level abundances for your experiment.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..b3de781
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,29 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: salmon
+Source: https://github.com/COMBINE-lab/salmon/
+
+Files: *
+Copyright: © 2015 The Salmon Authors
+License: GPL-3+
+
+Files: debian/*
+Copyright: © 2015 Michael R. Crusoe <crusoe at ucdavis.edu>
+License: GPL-3+
+
+License: GPL-3+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 3 can be found in the file
+ `/usr/share/common-licenses/GPL-3'.
diff --git a/debian/patches/cmake-adj b/debian/patches/cmake-adj
new file mode 100644
index 0000000..2835162
--- /dev/null
+++ b/debian/patches/cmake-adj
@@ -0,0 +1,20 @@
+--- salmon.orig/cmake/TestSalmon.cmake
++++ salmon/cmake/TestSalmon.cmake
+@@ -7,7 +7,7 @@
+ message(FATAL_ERROR "Error untarring sample_data.tgz")
+ endif()
+
+-set(SALMON_INDEX_CMD ${TOPLEVEL_DIR}/build/src/salmon index -t transcripts.fasta -i sample_salmon_index)
++set(SALMON_INDEX_CMD ${CMAKE_BINARY_DIR}/salmon index -t transcripts.fasta -i sample_salmon_index)
+ execute_process(COMMAND ${SALMON_INDEX_CMD}
+ WORKING_DIRECTORY ${TOPLEVEL_DIR}/sample_data
+ RESULT_VARIABLE SALMON_INDEX_RESULT
+@@ -17,7 +17,7 @@
+ message(FATAL_ERROR "Error running ${SALMON_INDEX_COMMAND}")
+ endif()
+
+-set(SALMON_QUANT_COMMAND ${TOPLEVEL_DIR}/build/src/salmon quant -i sample_salmon_index -l IU -1 reads_1.fastq -2 reads_2.fastq -o sample_salmon_quant -n 1000000)
++set(SALMON_QUANT_COMMAND ${CMAKE_BINARY_DIR}/salmon quant -i sample_salmon_index -l IU -1 reads_1.fastq -2 reads_2.fastq -o sample_salmon_quant -n 1000000)
+ execute_process(COMMAND ${SALMON_QUANT_COMMAND}
+ WORKING_DIRECTORY ${TOPLEVEL_DIR}/sample_data
+ RESULT_VARIABLE SALMON_QUANT_RESULT
diff --git a/debian/patches/dependency-fix b/debian/patches/dependency-fix
new file mode 100644
index 0000000..f3b3b59
--- /dev/null
+++ b/debian/patches/dependency-fix
@@ -0,0 +1,416 @@
+--- salmon.orig/CMakeLists.txt
++++ salmon/CMakeLists.txt
+@@ -22,7 +22,7 @@
+ set (WARNING_IGNORE_FLAGS "-Wno-deprecated-register")
+ set (BOOST_CXX_FLAGS "-Wno-deprecated-register -std=c++11")
+ ## Prefer static to dynamic libraries
+-SET(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
++# SET(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
+
+ ## Set the standard required compile flags
+ # Nov 18th --- removed -DHAVE_CONFIG_H
+@@ -165,7 +165,7 @@
+ ##
+ # We want static, multithreaded boost libraries
+ ##
+-set (Boost_USE_STATIC_LIBS ON)
++set (Boost_USE_STATIC_LIBS OFF)
+ set (Boost_USE_MULTITHREADED ON)
+ #set (Boost_USE_STATIC_RUNTIME OFF)
+
+@@ -322,51 +322,53 @@
+
+ set(EXTERNAL_LIBRARY_PATH $CMAKE_CURRENT_SOURCE_DIR/lib)
+
+-message("Build system will fetch and build the Cereal serialization library")
+-message("==================================================================")
+-include(ExternalProject)
+-ExternalProject_Add(libcereal
+- DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
+- URL http://www.cs.cmu.edu/~robp/files/cereal-v1.0.0.tgz
+- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/cereal-1.0.0
+- INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
+- UPDATE_COMMAND sh -c "mkdir -p <SOURCE_DIR>/build"
+- BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/cereal-1.0.0/build
+- CONFIGURE_COMMAND ""
+- BUILD_COMMAND ""
+- INSTALL_COMMAND sh -c "mkdir -p <INSTALL_DIR>/include && cp -r <SOURCE_DIR>/include/cereal <INSTALL_DIR>/include"
+-)
+-
+-message("Build system will fetch and build BWA (for Salmon)")
+-message("==================================================================")
+-include(ExternalProject)
+-ExternalProject_Add(libbwa
+- DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
+- DOWNLOAD_COMMAND curl -k -L https://github.com/COMBINE-lab/bwa/archive/0.7.12.3.tar.gz -o bwa-master.tar.gz &&
+- mkdir -p bwa-master &&
+- tar -xzvf bwa-master.tar.gz --strip-components=1 -C bwa-master
+- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/bwa-master
+- INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
+- CONFIGURE_COMMAND ""
+- BUILD_COMMAND sh -c "make CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}"
+- INSTALL_COMMAND sh -c "mkdir -p <INSTALL_DIR>/lib && mkdir -p <INSTALL_DIR>/include/bwa && cp libbwa.a <INSTALL_DIR>/lib && cp *.h <INSTALL_DIR>/include/bwa && cp is.c bwtindex.c bwt_gen.c QSufSort.c ${CMAKE_CURRENT_SOURCE_DIR}/src/"
+- BUILD_IN_SOURCE TRUE
+-)
+-
+-message("Build system will fetch and build Jellyfish")
+-message("==================================================================")
+-ExternalProject_Add(libjellyfish
+- DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
+- URL ftp://ftp.genome.umd.edu/pub/jellyfish/jellyfish-2.1.3.tar.gz
+- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/jellyfish-2.1.3
+- INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
+- CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/external/jellyfish-2.1.3/configure --prefix=<INSTALL_DIR> CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} CXXFLAGS=${JELLYFISH_CXX_FLAGS}
+- BUILD_COMMAND ${MAKE} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} CXXFLAGS=${JELLYFISH_CXX_FLAGS}
+- BUILD_IN_SOURCE 1
+- INSTALL_COMMAND make install &&
+- cp config.h <INSTALL_DIR>/include/jellyfish-2.1.3/jellyfish/ &&
+- cp config.h <INSTALL_DIR>/include/
+-)
++#message("Build system will fetch and build the Cereal serialization library")
++#message("==================================================================")
++#include(ExternalProject)
++#ExternalProject_Add(libcereal
++# DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
++# URL http://www.cs.cmu.edu/~robp/files/cereal-v1.0.0.tgz
++# SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/cereal-1.0.0
++# INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
++# UPDATE_COMMAND sh -c "mkdir -p <SOURCE_DIR>/build"
++# BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/cereal-1.0.0/build
++# CONFIGURE_COMMAND ""
++# BUILD_COMMAND ""
++# INSTALL_COMMAND sh -c "mkdir -p <INSTALL_DIR>/include && cp -r <SOURCE_DIR>/include/cereal <INSTALL_DIR>/include"
++#)
++
++#find_package(bwa)
++
++#message("Build system will fetch and build BWA (for Salmon)")
++#message("==================================================================")
++#include(ExternalProject)
++#ExternalProject_Add(libbwa
++# DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
++# DOWNLOAD_COMMAND curl -k -L https://github.com/COMBINE-lab/bwa/archive/0.7.12.3.tar.gz -o bwa-master.tar.gz &&
++# mkdir -p bwa-master &&
++# tar -xzvf bwa-master.tar.gz --strip-components=1 -C bwa-master
++# SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/bwa-master
++# INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
++# CONFIGURE_COMMAND ""
++# BUILD_COMMAND sh -c "make CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}"
++# INSTALL_COMMAND sh -c "mkdir -p <INSTALL_DIR>/lib && mkdir -p <INSTALL_DIR>/include/bwa && cp libbwa.a <INSTALL_DIR>/lib && cp *.h <INSTALL_DIR>/include/bwa && cp is.c bwtindex.c bwt_gen.c QSufSort.c ${CMAKE_CURRENT_SOURCE_DIR}/src/"
++# BUILD_IN_SOURCE TRUE
++#)
++
++#message("Build system will fetch and build Jellyfish")
++#message("==================================================================")
++#ExternalProject_Add(libjellyfish
++# DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
++# URL ftp://ftp.genome.umd.edu/pub/jellyfish/jellyfish-2.1.3.tar.gz
++# SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/jellyfish-2.1.3
++# INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
++# CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/external/jellyfish-2.1.3/configure --prefix=<INSTALL_DIR> CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} CXXFLAGS=${JELLYFISH_CXX_FLAGS}
++# BUILD_COMMAND ${MAKE} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} CXXFLAGS=${JELLYFISH_CXX_FLAGS}
++# BUILD_IN_SOURCE 1
++# INSTALL_COMMAND make install &&
++# cp config.h <INSTALL_DIR>/include/jellyfish-2.1.3/jellyfish/ &&
++# cp config.h <INSTALL_DIR>/include/
++#)
+
+ find_package(TBB)
+
+@@ -375,124 +377,124 @@
+ # Fetch and build Intel's Threading Building Blocks library.
+ #
+ ##
+-if(NOT TBB_FOUND)
++#if(NOT TBB_FOUND)
+
+-set(TBB_WILL_RECONFIGURE TRUE)
++#set(TBB_WILL_RECONFIGURE TRUE)
+ # Set the appropriate compiler
+-if (CLANG)
+- set(TBB_COMPILER "clang")
+-else()
+- set(TBB_COMPILER "gcc")
+-endif()
++#if (CLANG)
++# set(TBB_COMPILER "clang")
++#else()
++# set(TBB_COMPILER "gcc")
++#endif()
++
++#message("Build system will fetch and build Intel Threading Building Blocks")
++#message("==================================================================")
++## These are useful for the custom install step we'll do later
++#set(TBB_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/tbb43_20140724oss)
++#set(TBB_INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install)
+
+-message("Build system will fetch and build Intel Threading Building Blocks")
+-message("==================================================================")
+-# These are useful for the custom install step we'll do later
+-set(TBB_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/tbb43_20140724oss)
+-set(TBB_INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install)
+-
+-if ("${TBB_COMPILER}" STREQUAL "gcc")
++#if ("${TBB_COMPILER}" STREQUAL "gcc")
+ ## Don't know why it's a problem yet, but if we're using
+ ## GCC, get rid of the DO_ITT_NOTIFY flag
+- set(TBB_CXXFLAGS "${TBB_CXXFLAGS} -UDO_ITT_NOTIFY")
+-endif()
+-
+-ExternalProject_Add(libtbb
+- DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
+- URL http://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb43_20140724oss_src.tgz
+- DOWNLOAD_COMMAND curl -k -L http://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb43_20140724oss_src.tgz -o tbb_20140724oss_src.tgz &&
+- tar -xzvf tbb_20140724oss_src.tgz
+- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/tbb43_20140724oss
+- INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
+- PATCH_COMMAND "${TBB_PATCH_STEP}"
+- CONFIGURE_COMMAND ""
+- BUILD_COMMAND make CXXFLAGS=${TBB_CXXFLAGS} lambdas=1 compiler=${TBB_COMPILER} cfg=release tbb_build_prefix=LIBS
+- INSTALL_COMMAND sh -c "cp ${TBB_SOURCE_DIR}/build/LIBS_release/*.${SHARED_LIB_EXTENSION}* ${TBB_INSTALL_DIR}/lib && cp -r ${TBB_SOURCE_DIR}/include/* ${TBB_INSTALL_DIR}/include"
+- BUILD_IN_SOURCE 1
+-)
++ # set(TBB_CXXFLAGS "${TBB_CXXFLAGS} -UDO_ITT_NOTIFY")
++#endif()
+
+-SET( RECONFIG_FLAGS ${RECONFIG_FLAGS} -DTBB_WILL_RECONFIGURE=FALSE -DTBB_RECONFIGURE=TRUE)
+-ExternalProject_Add_Step(libtbb reconfigure
+- COMMAND ${CMAKE_COMMAND} ${CMAKE_CURRENT_SOURCE_DIR} ${RECONFIG_FLAGS}
+- DEPENDEES install
+-)
+-endif()
++#ExternalProject_Add(libtbb
++# DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
++# URL http://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb43_20140724oss_src.tgz
++# DOWNLOAD_COMMAND curl -k -L http://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb43_20140724oss_src.tgz -o tbb_20140724oss_src.tgz &&
++# tar -xzvf tbb_20140724oss_src.tgz
++# SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/tbb43_20140724oss
++# INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
++# PATCH_COMMAND "${TBB_PATCH_STEP}"
++# CONFIGURE_COMMAND ""
++# BUILD_COMMAND make CXXFLAGS=${TBB_CXXFLAGS} lambdas=1 compiler=${TBB_COMPILER} cfg=release tbb_build_prefix=LIBS
++# INSTALL_COMMAND sh -c "cp ${TBB_SOURCE_DIR}/build/LIBS_release/*.${SHARED_LIB_EXTENSION}* ${TBB_INSTALL_DIR}/lib && cp -r ${TBB_SOURCE_DIR}/include/* ${TBB_INSTALL_DIR}/include"
++# BUILD_IN_SOURCE 1
++#)
++
++#SET( RECONFIG_FLAGS ${RECONFIG_FLAGS} -DTBB_WILL_RECONFIGURE=FALSE -DTBB_RECONFIGURE=TRUE)
++#ExternalProject_Add_Step(libtbb reconfigure
++# COMMAND ${CMAKE_COMMAND} ${CMAKE_CURRENT_SOURCE_DIR} ${RECONFIG_FLAGS}
++# DEPENDEES install
++#)
++#endif()
+
+ ##
+ # If we're fetching tbb, we need to have dummy paths for these variables
+ # so that CMake won't complain
+ ##
+-if(TBB_WILL_RECONFIGURE)
+- set(TBB_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/external/install/include)
+- set(TBB_LIBRARY_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/external/install/lib)
+- #set(TBB_LIBRARIES tbb tbbmalloc)
+- set(TBB_LIBRARIES ${CMAKE_CURRENT_SOURCE_DIR}/external/install/lib/libtbb.${SHARED_LIB_EXTENSION}
+- ${CMAKE_CURRENT_SOURCE_DIR}/external/install/lib/libtbbmalloc.${SHARED_LIB_EXTENSION}
+- )
+-endif()
++#if(TBB_WILL_RECONFIGURE)
++# set(TBB_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/external/install/include)
++# set(TBB_LIBRARY_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/external/install/lib)
++# #set(TBB_LIBRARIES tbb tbbmalloc)
++# set(TBB_LIBRARIES ${CMAKE_CURRENT_SOURCE_DIR}/external/install/lib/libtbb.${SHARED_LIB_EXTENSION}
++# ${CMAKE_CURRENT_SOURCE_DIR}/external/install/lib/libtbbmalloc.${SHARED_LIB_EXTENSION}
++# )
++#endif()
+
+ ##
+ # Similar to the Boost trick above, the libtbb reconfigure should force this code
+ # to be run on the second configuration pass, where it should appropriately set the
+ # TBB_INSTALL_DIR variable.
+ ##
+-if (TBB_RECONFIGURE)
+- unset(TBB_FOUND CACHE)
+- unset(TBB_INSTALL_DIR CACHE)
+- unset(CMAKE_PREFIX_PATH CACHE)
+- set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_SOURCE_DIR}/external/install)
+- set(TBB_INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install)
+- message("TBB_INSTALL_DIR = ${TBB_INSTALL_DIR}")
+- find_package(TBB)
+-endif()
++#if (TBB_RECONFIGURE)
++# unset(TBB_FOUND CACHE)
++# unset(TBB_INSTALL_DIR CACHE)
++# unset(CMAKE_PREFIX_PATH CACHE)
++# set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_SOURCE_DIR}/external/install)
++# set(TBB_INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install)
++# message("TBB_INSTALL_DIR = ${TBB_INSTALL_DIR}")
++# find_package(TBB)
++#endif()
+
+
+ message("TBB_LIBRARIES = ${TBB_LIBRARIES}")
+
+-message("Build system will compile libgff")
+-message("==================================================================")
+-ExternalProject_Add(libgff
+- DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
+- URL http://www.cs.cmu.edu/~robp/files/libgff.tgz
+- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/libgff
+- UPDATE_COMMAND sh -c "mkdir -p <SOURCE_DIR>/build"
+- INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
+- BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/libgff/build
+- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_CURRENT_SOURCE_DIR}/external/install
+-)
+-
+-message("Build system will compile Staden IOLib")
+-message("==================================================================")
+-ExternalProject_Add(libstadenio
+- DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
+- DOWNLOAD_COMMAND curl -k -L https://github.com/COMBINE-lab/staden-io_lib/releases/download/v1.13.10/io_lib-1.13.10.tar.gz -o staden-io_lib-v1.13.10.tar.gz &&
+- mkdir -p staden-io_lib-1.13.10 &&
+- tar -xzf staden-io_lib-v1.13.10.tar.gz --strip-components=1 -C staden-io_lib-1.13.10 &&
+- rm -fr staden-io_lib &&
+- mv -f staden-io_lib-1.13.10 staden-io_lib
+- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/staden-io_lib
+- INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
+- CONFIGURE_COMMAND ./configure --enable-shared=no --without-libcurl --prefix=<INSTALL_DIR> LDFLAGS=${LIBSTADEN_LDFLAGS} CFLAGS=${LIBSTADEN_CFLAGS} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}
+- BUILD_COMMAND make CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}
+- BUILD_IN_SOURCE 1
+- INSTALL_COMMAND make install
+-)
+-
+-message("Build system will fetch SPDLOG")
+-message("==================================================================")
+-ExternalProject_Add(libspdlog
+- DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
+- DOWNLOAD_COMMAND curl -k -L https://github.com/COMBINE-lab/spdlog/archive/v1.5.tar.gz -o spdlog-v1.5.tar.gz &&
+- tar -xzf spdlog-v1.5.tar.gz &&
+- rm -fr spdlog &&
+- mv -f spdlog-1.5 spdlog
+- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/spdlog
+- INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
+- CONFIGURE_COMMAND ""
+- BUILD_COMMAND ""
+- BUILD_IN_SOURCE 1
+- INSTALL_COMMAND cp -r <SOURCE_DIR>/include/spdlog <INSTALL_DIR>/include
+-)
++#message("Build system will compile libgff")
++#message("==================================================================")
++#ExternalProject_Add(libgff
++# DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
++# URL http://www.cs.cmu.edu/~robp/files/libgff.tgz
++# SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/libgff
++# UPDATE_COMMAND sh -c "mkdir -p <SOURCE_DIR>/build"
++# INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
++# BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/libgff/build
++# CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_CURRENT_SOURCE_DIR}/external/install
++#)
++
++#message("Build system will compile Staden IOLib")
++#message("==================================================================")
++#ExternalProject_Add(libstadenio
++# DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
++# DOWNLOAD_COMMAND curl -k -L https://github.com/COMBINE-lab/staden-io_lib/releases/download/v1.13.10/io_lib-1.13.10.tar.gz -o staden-io_lib-v1.13.10.tar.gz &&
++# mkdir -p staden-io_lib-1.13.10 &&
++# tar -xzf staden-io_lib-v1.13.10.tar.gz --strip-components=1 -C staden-io_lib-1.13.10 &&
++# rm -fr staden-io_lib &&
++# mv -f staden-io_lib-1.13.10 staden-io_lib
++# SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/staden-io_lib
++# INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
++# CONFIGURE_COMMAND ./configure --enable-shared=no --without-libcurl --prefix=<INSTALL_DIR> LDFLAGS=${LIBSTADEN_LDFLAGS} CFLAGS=${LIBSTADEN_CFLAGS} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}
++# BUILD_COMMAND make CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}
++# BUILD_IN_SOURCE 1
++# INSTALL_COMMAND make install
++#)
++
++#message("Build system will fetch SPDLOG")
++#message("==================================================================")
++#ExternalProject_Add(libspdlog
++# DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
++# DOWNLOAD_COMMAND curl -k -L https://github.com/COMBINE-lab/spdlog/archive/v1.5.tar.gz -o spdlog-v1.5.tar.gz &&
++# tar -xzf spdlog-v1.5.tar.gz &&
++# rm -fr spdlog &&
++# mv -f spdlog-1.5 spdlog
++# SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/spdlog
++# INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
++# CONFIGURE_COMMAND ""
++# BUILD_COMMAND ""
++# BUILD_IN_SOURCE 1
++# INSTALL_COMMAND cp -r <SOURCE_DIR>/include/spdlog <INSTALL_DIR>/include
++#)
+
+ set (FAST_MALLOC_LIB "")
+ set (HAVE_FAST_MALLOC FALSE)
+@@ -516,23 +518,23 @@
+ endif()
+ endif()
+
+-if (NOT HAVE_FAST_MALLOC)
+- message("Build system will fetch and use JEMalloc")
+- message("==================================================================")
+- ExternalProject_Add(libjemalloc
+- DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
+- DOWNLOAD_COMMAND curl -k -L https://github.com/COMBINE-lab/jemalloc/archive/3.6.0.tar.gz -o jemalloc-3.6.0.tar.gz &&
+- tar -xzf jemalloc-3.6.0.tar.gz
+- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/jemalloc-3.6.0
+- BUILD_IN_SOURCE TRUE
+- INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
+- CONFIGURE_COMMAND sh -c "CC=${CMAKE_C_COMPILER} ./autogen.sh --prefix=<INSTALL_DIR>"
+- INSTALL_COMMAND cp -r lib <INSTALL_DIR>/ && cp -r include <INSTALL_DIR>/
+- )
+-
+- set (FAST_MALLOC_LIB ${CMAKE_CURRENT_SOURCE_DIR}/external/install/lib/libjemalloc.a)
+- set (HAVE_FAST_MALLOC TRUE)
+-endif ()
++#if (NOT HAVE_FAST_MALLOC)
++# message("Build system will fetch and use JEMalloc")
++# message("==================================================================")
++# ExternalProject_Add(libjemalloc
++# DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
++# DOWNLOAD_COMMAND curl -k -L https://github.com/COMBINE-lab/jemalloc/archive/3.6.0.tar.gz -o jemalloc-3.6.0.tar.gz &&
++# tar -xzf jemalloc-3.6.0.tar.gz
++# SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/jemalloc-3.6.0
++# BUILD_IN_SOURCE TRUE
++# INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
++# CONFIGURE_COMMAND sh -c "CC=${CMAKE_C_COMPILER} ./autogen.sh --prefix=<INSTALL_DIR>"
++# INSTALL_COMMAND cp -r lib <INSTALL_DIR>/ && cp -r include <INSTALL_DIR>/
++# )
++#
++# set (FAST_MALLOC_LIB ${CMAKE_CURRENT_SOURCE_DIR}/external/install/lib/libjemalloc.a)
++# set (HAVE_FAST_MALLOC TRUE)
++#endif ()
+
+ ###
+ #
+--- salmon.orig/src/CMakeLists.txt
++++ salmon/src/CMakeLists.txt
+@@ -43,7 +43,7 @@
+ ${GAT_SOURCE_DIR}/external/cereal/include
+ ${GAT_SOURCE_DIR}/external/install/include
+ ${GAT_SOURCE_DIR}/external/install/include/jellyfish-2.1.3
+-${GAT_SOURCE_DIR}/external/install/include/bwa
++/usr/include/bwa
+ ${ZLIB_INCLUDE_DIR}
+ ${TBB_INCLUDE_DIRS}
+ ${Boost_INCLUDE_DIRS}
+@@ -74,7 +74,7 @@
+ set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
+
+ # Build the Salmon library
+-add_library(salmon_core STATIC ${SALMON_LIB_SRCS} )
++add_library(salmon_core ${SALMON_LIB_SRCS} )
+
+ # Build the salmon executable
+ add_executable(salmon ${SALMON_MAIN_SRCS} ${SALMON_ALIGN_SRCS})
+@@ -107,10 +107,10 @@
+ gff
+ ${PTHREAD_LIB}
+ ${Boost_LIBRARIES}
+- ${GAT_SOURCE_DIR}/external/install/lib/libstaden-read.a
++ libstaden-read.so
+ ${ZLIB_LIBRARY}
+- ${GAT_SOURCE_DIR}/external/install/lib/libjellyfish-2.0.a
+- ${GAT_SOURCE_DIR}/external/install/lib/libbwa.a
++ libjellyfish-2.0.so
++ /usr/lib/libbwa.a
+ m
+ ${LIBLZMA_LIBRARIES}
+ ${BZIP2_LIBRARIES}
diff --git a/debian/patches/jellyfish-update b/debian/patches/jellyfish-update
new file mode 100644
index 0000000..9349b44
--- /dev/null
+++ b/debian/patches/jellyfish-update
@@ -0,0 +1,103 @@
+--- salmon.orig/src/merge_files.cc
++++ salmon/src/merge_files.cc
+@@ -29,6 +29,8 @@
+ #include <jellyfish/rectangular_binary_matrix.hpp>
+ #include <jellyfish/cpp_array.hpp>
+
++namespace err = jellyfish::err;
++
+ using jellyfish::file_header;
+ using jellyfish::RectangularBinaryMatrix;
+ using jellyfish::mer_dna;
+@@ -96,7 +98,7 @@
+ for(size_t i = 0; i < files.size(); i++) {
+ files.init(i, input_files[i]);
+ if(!files[i].is.good())
+- eraise(MergeError) << "Failed to open input file '" << input_files[i] << "'";
++ throw MergeError(err::msg() << "Failed to open input file '" << input_files[i] << "'");
+
+ file_header& h = files[i].header;
+ if(i == 0) {
+@@ -115,22 +117,22 @@
+ out_counter_len = std::min(out_counter_len, h.counter_len());
+ } else {
+ if(format != h.format())
+- eraise(MergeError) << "Can't merge files with different formats (" << format << ", " << h.format() << ")";
++ throw MergeError(err::msg() << "Can't merge files with different formats (" << format << ", " << h.format() << ")");
+ if(h.key_len() != key_len)
+- eraise(MergeError) << "Can't merge hashes of different key lengths (" << key_len << ", " << h.key_len() << ")";
++ throw MergeError(err::msg() << "Can't merge hashes of different key lengths (" << key_len << ", " << h.key_len() << ")");
+ if(h.max_reprobe_offset() != max_reprobe_offset)
+- eraise(MergeError) << "Can't merge hashes with different reprobing strategies";
++ throw MergeError(err::msg() << "Can't merge hashes with different reprobing strategies");
+ if(h.size() != size)
+- eraise(MergeError) << "Can't merge hash with different size (" << size << ", " << h.size() << ")";
++ throw MergeError(err::msg() << "Can't merge hash with different size (" << size << ", " << h.size() << ")");
+ if(h.matrix() != *matrix)
+- eraise(MergeError) << "Can't merge hash with different hash function";
++ throw MergeError(err::msg() << "Can't merge hash with different hash function");
+ }
+ }
+ mer_dna::k(key_len / 2);
+
+ std::ofstream out(out_file);
+ if(!out.good())
+- eraise(MergeError) << "Can't open out file '" << out_file << "'";
++ throw MergeError(err::msg() << "Can't open out file '" << out_file << "'");
+ out_header.format(format);
+
+ if(!format.compare(binary_dumper::format)) {
+@@ -143,7 +145,7 @@
+ text_writer writer;
+ do_merge<text_reader, text_writer>(files, out, writer, min, max);
+ } else {
+- eraise(MergeError) << "Unknown format '" << format << "'";
++ throw MergeError(err::msg() << "Unknown format '" << format << "'");
+ }
+ out.close();
+ }
+--- salmon.orig/src/BuildSalmonIndex.cpp
++++ salmon/src/BuildSalmonIndex.cpp
+@@ -21,7 +21,6 @@
+ #include "cereal/types/vector.hpp"
+ #include "cereal/archives/binary.hpp"
+
+-#include "jellyfish/config.h"
+ #include "jellyfish/err.hpp"
+ #include "jellyfish/misc.hpp"
+ #include "jellyfish/jellyfish.hpp"
+--- salmon.orig/include/PairSequenceParser.hpp
++++ salmon/include/PairSequenceParser.hpp
+@@ -130,9 +130,9 @@
+ if(type1 == DONE_TYPE || type2 == DONE_TYPE)
+ return open_next_files(st);
+ if(type1 != type2)
+- eraise(std::runtime_error) << "Paired files are of different format";
++ throw std::runtime_error("Paired files are of different format");
+ if(type1 == ERROR_TYPE || type2 == ERROR_TYPE)
+- eraise(std::runtime_error) << "Unsupported format";
++ throw std::runtime_error("Unsupported format");
+ st.type = type1;
+ }
+
+@@ -165,7 +165,7 @@
+ hsq.seq.append(tmp); // two lines avoiding copying
+ }
+ if(!is.good())
+- eraise(std::runtime_error) << "Truncated fastq file";
++ throw std::runtime_error("Truncated fastq file");
+ is.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
+ hsq.qual.clear();
+ while(hsq.qual.size() < hsq.seq.size() && is.good()) {
+@@ -173,9 +173,9 @@
+ hsq.qual.append(tmp);
+ }
+ if(hsq.qual.size() != hsq.seq.size())
+- eraise(std::runtime_error) << "Invalid fastq file: wrong number of quals";
++ throw std::runtime_error("Invalid fastq file: wrong number of quals");
+ if(is.peek() != EOF && is.peek() != '@')
+- eraise(std::runtime_error) << "Invalid fastq file: header missing";
++ throw std::runtime_error("Invalid fastq file: header missing");
+
+ }
+
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..7ac99c0
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,3 @@
+dependency-fix
+jellyfish-update
+cmake-adj
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..1d11ebc
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,22 @@
+#!/usr/bin/make -f
+
+# DH_VERBOSE := 1
+
+# some helpful variables - uncomment them if needed
+# shamelessly stolen from http://jmtd.net/log/awk/
+#DEBVERS := $(shell dpkg-parsechangelog | awk '/^Version:/ {print $$2}')
+#VERSION := $(shell echo '$(DEBVERS)' | sed -e 's/^[0-9]*://' -e 's/-.*//')
+#DEBFLAVOR := $(shell dpkg-parsechangelog | awk '/^Distribution:/ {print $$2}')
+#DEBPKGNAME := $(shell dpkg-parsechangelog | awk '/^Source:/ {print $$2}')
+#DEBIAN_BRANCH := $(shell awk 'BEGIN{FS="[= ]+"} /debian-branch/ {print $$2}' debian/gbp.conf)
+#GIT_TAG := $(subst ~,_,$(VERSION))
+
+# alternatively to manually set those variables, you can
+# include /usr/share/dpkg/default.mk
+# and use what is set there.
+
+%:
+ dh $@
+
+#get-orig-source:
+# . debian/get-orig-source
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/upstream/metadata b/debian/upstream/metadata
new file mode 100644
index 0000000..d8b5812
--- /dev/null
+++ b/debian/upstream/metadata
@@ -0,0 +1,12 @@
+Reference:
+ Author:
+ Title:
+ Journal:
+ Year:
+ Volume:
+ Number:
+ Pages:
+ DOI:
+ PMID:
+ URL:
+ eprint:
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..c0b7f12
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,10 @@
+version=3
+# Uncomment to find new files on Github
+# - when using releases:
+https://github.com/COMBINE-lab/salmon/releases .*/archive/v(\d[\d.-]+)\.(?:tar(?:\.gz|\.bz2)?|tgz)
+# Remark: frequently you can do s/#PREFIX#/v?/ since 'v' or nothing is quite common but there are other prefixes possible
+
+
+# if you need to repack and choose +dfsg prefix
+# opts=dversionmangle=s/[~\+]dfsg[0-9]*// \
+#
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/salmon.git
More information about the debian-med-commit
mailing list