commit: 0f24b4873a8cc38eaf05aa590d26f40a640e4b4b
Author: Martin Mokrejs <mmokrejs <AT> fold <DOT> natur <DOT> cuni <DOT> cz>
AuthorDate: Mon Jun 25 12:14:06 2018 +0000
Commit: Martin Mokrejs <mmokrejs <AT> fold <DOT> natur <DOT> cuni <DOT> cz>
CommitDate: Mon Jun 25 12:14:06 2018 +0000
URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=0f24b487
sci-biology/salmon: drop calls to curl, fix libdir
This zaps all calls to curl downloads during compile time
except those for Google tbb. It should not get executed anyway
as the dev-cpp/tbb dependency is enforced.
Package-Manager: Portage-2.3.40, Repoman-2.3.9
.../salmon/files/salmon-0.10.2_fix_lib_dir.patch | 22 +++
.../files/salmon-0.10.2_remove_curl_calls.patch | 200 +++++++++++++++++++++
sci-biology/salmon/salmon-0.10.2.ebuild | 23 ++-
sci-biology/salmon/salmon-9999.ebuild | 9 +-
4 files changed, 244 insertions(+), 10 deletions(-)
diff --git a/sci-biology/salmon/files/salmon-0.10.2_fix_lib_dir.patch
b/sci-biology/salmon/files/salmon-0.10.2_fix_lib_dir.patch
new file mode 100644
index 000000000..eb606c00c
--- /dev/null
+++ b/sci-biology/salmon/files/salmon-0.10.2_fix_lib_dir.patch
@@ -0,0 +1,22 @@
+--- salmon-0.10.2/src/CMakeLists.txt 2018-06-25 13:35:45.723519730 +0200
++++ salmon-0.10.2/src/CMakeLists.txt 2018-06-25 13:44:01.326139539 +0200
+@@ -296,6 +296,8 @@
+ )
+ ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+
++include(GNUInstallDirs)
++
+ set(INSTALL_LIB_DIR lib )
+ set(INSTALL_BIN_DIR bin )
+ set(INSTALL_INCLUDE_DIR include )
+@@ -311,8 +313,8 @@
+
+ install(TARGETS salmon salmon_core
+ RUNTIME DESTINATION bin
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib
++ LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}"
++ ARCHIVE DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}"
+ )
+
+ add_custom_command(TARGET unitTests POST_BUILD
diff --git a/sci-biology/salmon/files/salmon-0.10.2_remove_curl_calls.patch
b/sci-biology/salmon/files/salmon-0.10.2_remove_curl_calls.patch
new file mode 100644
index 000000000..438763960
--- /dev/null
+++ b/sci-biology/salmon/files/salmon-0.10.2_remove_curl_calls.patch
@@ -0,0 +1,200 @@
+--- salmon-0.10.2/CMakeLists.txt 2018-06-25 13:12:49.275828719 +0200
++++ salmon-0.10.2/CMakeLists.txt 2018-06-25 13:12:38.945565690 +0200
+@@ -235,31 +235,7 @@
+
+ find_package (LibLZMA)
+ if (NOT LIBLZMA_FOUND)
+- message ("Will attempt to fetch and build liblzma")
+- message ("=======================================")
+-ExternalProject_Add(liblzma
+- DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
+- ##
+- DOWNLOAD_COMMAND curl -k -L http://tukaani.org/xz/xz-5.2.2.tar.gz -o
xz-5.2.2.tar.gz &&
+- ${SHASUM}
73df4d5d34f0468bd57d09f2d8af363e95ed6cc3a4a86129d2f2c366259902a2
xz-5.2.2.tar.gz &&
+- tar -xzvf xz-5.2.2.tar.gz
+- #URL http://tukaani.org/xz/xz-5.2.2.tar.gz
+- #URL_HASH SHA1=14663612422ab61386673be78fbb2556f50a1f08
+- ##
+- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/xz-5.2.2
+- INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
+- BUILD_IN_SOURCE TRUE
+- CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/external/xz-5.2.2/configure
--prefix=<INSTALL_DIR> CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}
CFLAGS=${EXTRA_CMAKE_INCLUDE_FLAGS} CPPFLAGS=${EXTRA_CMAKE_INCLUDE_FLAGS}
LDFLAGS=${EXTRA_CMAKE_LIBRARY_FLAGS}
+- BUILD_COMMAND make ${QUIET_MAKE}
+- INSTALL_COMMAND make ${QUIET_MAKE} install
+-)
+-
+-# Tell cmake that the external project generated a library so we can
+-# add dependencies here instead of later
+-set (LIBLZMA_LIBRARIES ${GAT_SOURCE_DIR}/external/install/lib/liblzma.a)
+-set (LIBSTADEN_LDFLAGS "-L${GAT_SOURCE_DIR}/external/install/lib")
+-set (LIBSTADEN_CFLAGS "-I${GAT_SOURCE_DIR}/external/install/include")
+-set (FETCHED_LIBLZMA TRUE)
++ message (FATAL_ERROR "liblzma must be installed before configuration &
building can proceed")
+ else()
+ message("Found liblzma library: ${LIBLZMA_LIBRARIES}")
+ message("===========================================")
+@@ -267,28 +243,7 @@
+
+ find_package (BZip2)
+ if (NOT BZIP2_FOUND)
+- message ("Will attempt to fetch and build libbz2")
+- message ("=======================================")
+-ExternalProject_Add(libbz2
+- DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
+- DOWNLOAD_COMMAND curl -k -L http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz
-o bzip2-1.0.6.tar.gz &&
+- ${SHASUM}
a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd
bzip2-1.0.6.tar.gz &&
+- tar -xzvf bzip2-1.0.6.tar.gz
+- #URL http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz
+- #URL_HASH SHA1=3f89f861209ce81a6bab1fd1998c0ef311712002
+- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/bzip2-1.0.6
+- INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
+- BUILD_IN_SOURCE TRUE
+- CONFIGURE_COMMAND ""
+- BUILD_COMMAND make ${QUIET_MAKE} CC=${CMAKE_C_COMPILER}
CXX=${CMAKE_CXX_COMPILER}
+- INSTALL_COMMAND make ${QUIET_MAKE} install PREFIX=<INSTALL_DIR>
+-)
+-# Tell cmake that the external project generated a library so we can
+-# add dependencies here instead of later
+-set (BZIP2_LIBRARIES ${GAT_SOURCE_DIR}/external/install/lib/libbz2.a)
+-set (LIBSTADEN_LDFLAGS "-L${GAT_SOURCE_DIR}/external/install/lib
-I${GAT_SOURCE_DIR}/external/install/include")
+-set (LIBSTADEN_CFLAGS "-I${GAT_SOURCE_DIR}/external/install/include")
+-set (FETCHED_LIBBZ2 TRUE)
++ message (FATAL_ERROR "libbz2 must be installed before configuration &
building can proceed")
+ else()
+ message("Found libbz2 library: ${BZIP2_LIBRARIES}")
+ message("===========================================")
+@@ -333,61 +288,15 @@
+ # Either inform the user of how to obtain Boost, or, if they passed in the
FETCH_BOOST
+ # option, go and grab it for them.
+ ##
+-if ((NOT Boost_FOUND) AND (NOT FETCH_BOOST))
++if (NOT Boost_FOUND)
+ message(FATAL_ERROR
+ "Salmon cannot be compiled without Boost.\n"
+ "It is recommended to visit http://www.boost.org/ and install Boost
according to those instructions.\n"
+ "This build system can also download and install a local version of
boost for you (this takes a lot of time).\n"
+ "To fetch and build boost locally, call cmake with -DFETCH_BOOST=TRUE"
+ )
+-elseif(FETCH_BOOST)
+- ## Let the rest of the build process know we're going to be fetching boost
+- set (BOOST_LIB_SUBSET --with-iostreams --with-atomic --with-chrono
--with-container --with-date_time --with-exception
+- --with-filesystem --with-graph
--with-graph_parallel --with-math
+- --with-program_options --with-system --with-thread
+- --with-timer)
+- set (BOOST_WILL_RECONFIGURE TRUE)
+- set (FETCH_BOOST FALSE)
+- message("Build system will fetch and build Boost")
+-
message("==================================================================")
+- ExternalProject_Add(libboost
+- DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
+- DOWNLOAD_COMMAND curl -k -L
http://downloads.sourceforge.net/project/boost/boost/1.66.0/boost_1_66_0.tar.gz
-o boost_1_66_0.tar.gz &&
+- ${SHASUM}
bd0df411efd9a585e5a2212275f8762079fed8842264954675a4fddc46cfcf60
boost_1_66_0.tar.gz &&
+- tar xzf boost_1_66_0.tar.gz
+- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/boost_1_66_0
+- INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
+- #PATCH_COMMAND patch -p2 <
${CMAKE_CURRENT_SOURCE_DIR}/external/boost156.patch
+- CONFIGURE_COMMAND CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}
${CMAKE_CURRENT_SOURCE_DIR}/external/boost_1_66_0/bootstrap.sh
${BOOST_CONFIGURE_TOOLSET} ${BOOST_BUILD_LIBS} --prefix=<INSTALL_DIR>
+- BUILD_COMMAND CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}
${CMAKE_CURRENT_SOURCE_DIR}/external/boost_1_66_0/b2 -d0 -j2
${BOOST_LIB_SUBSET} toolset=${BOOST_TOOLSET} ${BOOST_EXTRA_FLAGS}
cxxflags=${BOOST_CXX_FLAGS} link=static install
+- BUILD_IN_SOURCE 1
+- INSTALL_COMMAND ""
+- )
+-
+- ##
+- # After we've installed boost,
+- ##
+- SET( RECONFIG_FLAGS ${RECONFIG_FLAGS} -DBOOST_WILL_RECONFIGURE=FALSE
-DBOOST_RECONFIGURE=TRUE -DFETCH_BOOST=FALSE)
+- ExternalProject_Add_Step(libboost reconfigure
+- COMMAND ${CMAKE_COMMAND} ${CMAKE_CURRENT_SOURCE_DIR} ${RECONFIG_FLAGS}
+- DEPENDEES install
+- )
+- set (FETCHED_BOOST TRUE)
+ endif()
+
+-##
+-# If we're fetching boost and we need to have dummy paths for these variables
+-# so that CMake won't complain
+-##
+-if (BOOST_WILL_RECONFIGURE)
+- message("Setting Temporary Boost paths")
+- set(Boost_INCLUDE_DIR
${CMAKE_CURRENT_SOURCE_DIR}/external/install/include)
+- set(Boost_INCLUDE_DIRS
${CMAKE_CURRENT_SOURCE_DIR}/external/install/include)
+- set(Boost_LIBRARY_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/external/install/lib)
+- set(Boost_FOUND TRUE)
+-endif()
+-
+-
+ message("BOOST INCLUDE DIR = ${Boost_INCLUDE_DIR}")
+ message("BOOST INCLUDE DIRS = ${Boost_INCLUDE_DIRS}")
+ message("BOOST LIB DIR = ${Boost_LIBRARY_DIRS}")
+@@ -422,9 +331,9 @@
+ include(ExternalProject)
+ ExternalProject_Add(libcereal
+ DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
+- DOWNLOAD_COMMAND curl -k -L
https://github.com/USCiLab/cereal/archive/v1.2.2.tar.gz -o cereal-v1.2.2.tar.gz
&&
+- ${SHASUM}
1921f26d2e1daf9132da3c432e2fd02093ecaedf846e65d7679ddf868c7289c4
cereal-v1.2.2.tar.gz &&
+- tar -xzvf cereal-v1.2.2.tar.gz
++ DOWNLOAD_COMMAND cp ../../../distdir/cereal-1.2.2.tar.gz . &&
++ ${SHASUM}
1921f26d2e1daf9132da3c432e2fd02093ecaedf846e65d7679ddf868c7289c4
cereal-1.2.2.tar.gz &&
++ tar -xzvf cereal-1.2.2.tar.gz
+
+ ##
+ #URL https://github.com/USCiLab/cereal/archive/v1.2.2.tar.gz
+@@ -455,12 +364,12 @@
+ ExternalProject_Add(libbwa
+ DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
+ #URL https://github.com/COMBINE-lab/bwa/archive/0.7.12.3.tar.gz
+- #DOWNLOAD_NAME bwa-master.tar.gz
+- DOWNLOAD_COMMAND curl -k -L
https://github.com/COMBINE-lab/bwa/archive/v0.7.12.5.tar.gz -o
bwa-master.tar.gz &&
+- ${SHASUM}
1ac5661d9e12e9017a47f0264201a75d9128f28dbd9a26952925f7745ddf6036
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
++ #DOWNLOAD_NAME bwa-0.7.12.5.tar.gz
++ DOWNLOAD_COMMAND cp ../../../distdir/bwa-0.7.12.5.tar.gz . &&
++ ${SHASUM}
1ac5661d9e12e9017a47f0264201a75d9128f28dbd9a26952925f7745ddf6036
bwa-0.7.12.5.tar.gz &&
++ mkdir -p bwa-0.7.12.5 &&
++ tar -xzvf bwa-0.7.12.5.tar.gz --strip-components=1 -C
bwa-0.7.12.5
++ SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/bwa-0.7.12.5
+ INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND sh -c "make ${QUIET_MAKE} CC=${CMAKE_C_COMPILER}
CXX=${CMAKE_CXX_COMPILER}"
+@@ -562,9 +471,9 @@
+ message("==================================================================")
+ ExternalProject_Add(libgff
+ DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
+- DOWNLOAD_COMMAND curl -k -L
https://github.com/COMBINE-lab/libgff/archive/v1.1.tar.gz -o libgff.tgz &&
+- ${SHASUM}
34597ecd3718e6d6e7a1dd4350220664be2c1cd992070d1218564a20d7aa5697 libgff.tgz &&
+- tar -xzvf libgff.tgz
++ DOWNLOAD_COMMAND cp ../../../distdir/libgff-1.1.tgz . &&
++ ${SHASUM}
34597ecd3718e6d6e7a1dd4350220664be2c1cd992070d1218564a20d7aa5697 libgff-1.1.tgz
&&
++ tar -xzvf libgff-1.1.tgz
+ ##
+ #URL https://github.com/COMBINE-lab/libgff/archive/v1.1.tar.gz
+ #DOWNLOAD_NAME libff.tgz
+@@ -600,10 +509,10 @@
+ message("==================================================================")
+ ExternalProject_Add(libstadenio
+ DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
+- DOWNLOAD_COMMAND curl -k -L
https://github.com/COMBINE-lab/staden-io_lib/archive/v1.14.8.1.tar.gz -o
staden-io_lib-v1.14.8.tar.gz &&
+- ${SHASUM}
f6f30eefa478cfb708f3109a35fb6ffa0e24951d9d971985df2cef5919dd0bc3
staden-io_lib-v1.14.8.tar.gz &&
++ DOWNLOAD_COMMAND cp ../../../distdir/staden-io_lib-1.14.8.tar.gz . &&
++ ${SHASUM}
f6f30eefa478cfb708f3109a35fb6ffa0e24951d9d971985df2cef5919dd0bc3
staden-io_lib-1.14.8.tar.gz &&
+ mkdir -p staden-io_lib-1.14.8 &&
+- tar -xzf staden-io_lib-v1.14.8.tar.gz
--strip-components=1 -C staden-io_lib-1.14.8 &&
++ tar -xzf staden-io_lib-1.14.8.tar.gz
--strip-components=1 -C staden-io_lib-1.14.8 &&
+ rm -fr staden-io_lib &&
+ mv -f staden-io_lib-1.14.8 staden-io_lib
+ SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/staden-io_lib
+@@ -620,9 +529,9 @@
+ message("==================================================================")
+ ExternalProject_Add(libspdlog
+ DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
+- DOWNLOAD_COMMAND curl -k -L
https://github.com/COMBINE-lab/spdlog/archive/v0.16.1.tar.gz -o
spdlog-v0.16.1.tar.gz &&
+- ${SHASUM}
733260e1fbdcf1b3dc307fc585e4476240026de8be28eb905731d2ab0942deae
spdlog-v0.16.1.tar.gz &&
+- tar -xzf spdlog-v0.16.1.tar.gz
++ DOWNLOAD_COMMAND cp ../../../distdir/spdlog-0.16.1.tar.gz . &&
++ ${SHASUM}
733260e1fbdcf1b3dc307fc585e4476240026de8be28eb905731d2ab0942deae
spdlog-0.16.1.tar.gz &&
++ tar -xzf spdlog-0.16.1.tar.gz
+ ##
+ #URL https://github.com/COMBINE-lab/spdlog/archive/v0.12.0.tar.gz
+ #DOWNLOAD_NAME spdlog-v0.12.0.tar.gz
diff --git a/sci-biology/salmon/salmon-0.10.2.ebuild
b/sci-biology/salmon/salmon-0.10.2.ebuild
index 540225019..b3bdc6d53 100644
--- a/sci-biology/salmon/salmon-0.10.2.ebuild
+++ b/sci-biology/salmon/salmon-0.10.2.ebuild
@@ -8,7 +8,12 @@ inherit cmake-utils
DESCRIPTION="Transcript-level quantification from RNA-seq reads using
lightweight alignments"
HOMEPAGE="https://github.com/COMBINE-lab/salmon"
SRC_URI="https://github.com/COMBINE-lab/${PN}/archive/v${PV}.tar.gz ->
${P}.tar.gz
- https://github.com/COMBINE-lab/RapMap/archive/salmon-v0.10.2.zip ->
${P}_RapMap.zip"
+ https://github.com/COMBINE-lab/RapMap/archive/salmon-v0.10.2.zip ->
${P}_RapMap.zip
+ https://github.com/USCiLab/cereal/archive/v1.2.2.tar.gz ->
cereal-1.2.2.tar.gz
+ https://github.com/COMBINE-lab/bwa/archive/v0.7.12.5.tar.gz ->
bwa-0.7.12.5.tar.gz
+ https://github.com/COMBINE-lab/libgff/archive/v1.1.tar.gz ->
libgff-1.1.tgz
+ https://github.com/COMBINE-lab/staden-io_lib/archive/v1.14.8.1.tar.gz
-> staden-io_lib-1.14.8.tar.gz
+ https://github.com/COMBINE-lab/spdlog/archive/v0.16.1.tar.gz ->
spdlog-0.16.1.tar.gz"
LICENSE="GPL-3"
SLOT="0"
@@ -16,7 +21,9 @@ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE=""
PATCHES=( "${FILESDIR}"/${P}-no-boost-static.patch
- "${FILESDIR}"/salmon-0.10.2_remove_curl_call.patch )
+ "${FILESDIR}"/salmon-0.10.2_remove_curl_call.patch
+ "${FILESDIR}"/salmon-0.10.2_remove_curl_calls.patch
+ "${FILESDIR}"/salmon-0.10.2_fix_lib_dir.patch )
RDEPEND="${DEPEND}"
# budled copies of:
@@ -31,15 +38,15 @@ RDEPEND="${DEPEND}"
#
# dev-libs/spdlog-0.16.1
# cereal-1.2.2
-DEPEND="sys-libs/zlib
+
+# see the many curl executions:
+# salmon-0.10.2$ find . -type f | xargs grep curl 2>/dev/null
+#
+DEPEND="net-misc/curl
+ sys-libs/zlib
app-arch/bzip2
app-arch/xz-utils
dev-libs/boost:0[threads]
>=dev-libs/jemalloc-5.0.1
>=dev-cpp/tbb-2018.20180312"
RDEPEND="${DEPEND}"
-
-src_install() {
- cmake-utils_src_install
- rm -r "${ED}"/usr/tests || die
-}
diff --git a/sci-biology/salmon/salmon-9999.ebuild
b/sci-biology/salmon/salmon-9999.ebuild
index 0083648fb..b5e748fd2 100644
--- a/sci-biology/salmon/salmon-9999.ebuild
+++ b/sci-biology/salmon/salmon-9999.ebuild
@@ -29,7 +29,8 @@ PATCHES=( "${FILESDIR}"/${P}-no-boost-static.patch
#
# dev-libs/spdlog-0.16.1
# cereal-1.2.2
-DEPEND="sys-libs/zlib
+DEPEND="net-misc/curl
+ sys-libs/zlib
app-arch/bzip2
app-arch/xz-utils
dev-libs/boost:0[threads]
@@ -53,6 +54,10 @@ RDEPEND="${DEPEND}"
# and maybe more
# See https://github.com/COMBINE-lab/salmon/issues/236 for Cmake tweaks needed
by Debian
+
+# see the many curl executions:
+# salmon-0.10.2$ find . -type f | xargs grep curl 2>/dev/null
+#
src_configure(){
local mycmakeargs=(
"-DBOOST_INCLUDEDIR=${EPREFIX}/usr/include/boost/"
@@ -67,5 +72,5 @@ src_configure(){
src_install() {
cmake-utils_src_install
- rm -r "${ED}"/usr/tests || die
+ rm -rf "${ED}"/usr/tests || die
}