salmon: 1.10.3 -> 1.11.4
Upgrade and adapt to major revamp of salmon build system
This commit is contained in:
@@ -1,60 +0,0 @@
|
||||
diff --git a/scripts/fetchPufferfish.sh b/scripts/fetchPufferfish.sh
|
||||
index 95e30053..8866767c 100755
|
||||
--- a/scripts/fetchPufferfish.sh
|
||||
+++ b/scripts/fetchPufferfish.sh
|
||||
@@ -11,10 +11,6 @@ CURR_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
||||
EXTERNAL_DIR=${CURR_DIR}/../external
|
||||
INSTALL_DIR=${CURR_DIR}/../external/install
|
||||
|
||||
-if [ -d ${EXTERNAL_DIR}/pufferfish ] ; then
|
||||
- rm -fr ${EXTERNAL_DIR}/pufferfish
|
||||
-fi
|
||||
-
|
||||
if [ -d ${INSTALL_DIR}/include/pufferfish ] ; then
|
||||
rm -fr ${INSTALL_DIR}/include/pufferfish
|
||||
fi
|
||||
@@ -23,42 +19,10 @@ if [ -d ${INSTALL_DIR}/src/pufferfish ] ; then
|
||||
rm -fr ${INSTALL_DIR}/src/pufferfish
|
||||
fi
|
||||
|
||||
-SVER=salmon-v1.10.3
|
||||
-#SVER=develop
|
||||
-#SVER=sketch-mode
|
||||
-
|
||||
-EXPECTED_SHA256=52b6699de0d33814b73edb3455175568c2330d8014be017dce7b564e54134860
|
||||
-
|
||||
-mkdir -p ${EXTERNAL_DIR}
|
||||
-curl -k -L https://github.com/COMBINE-lab/pufferfish/archive/${SVER}.zip -o ${EXTERNAL_DIR}/pufferfish.zip
|
||||
-
|
||||
-hashcheck=""
|
||||
-if exists sha256sum; then
|
||||
- hashcheck="sha256sum"
|
||||
-elif exists shasum; then
|
||||
- hashcheck="shasum -a256"
|
||||
-else
|
||||
- unset hashcheck
|
||||
-fi
|
||||
-
|
||||
-
|
||||
-if [ -z "${hashcheck-}" ]; then
|
||||
- echo "Couldn't find shasum command; can't verify contents of downloaded pufferfish";
|
||||
-else
|
||||
-
|
||||
- if [[ $SVER != develop && $SVER != onetbb ]]; then
|
||||
- echo "${EXPECTED_SHA256} ${EXTERNAL_DIR}/pufferfish.zip" | ${hashcheck} -c - || { echo "pufferfish.zip did not match expected SHA1! Exiting."; exit 1; }
|
||||
- else
|
||||
- echo "not testing sha since pulling from develop"
|
||||
- fi
|
||||
-fi
|
||||
-
|
||||
-
|
||||
-rm -fr ${EXTERNAL_DIR}/pufferfish
|
||||
-unzip ${EXTERNAL_DIR}/pufferfish.zip -d ${EXTERNAL_DIR}
|
||||
-mv ${EXTERNAL_DIR}/pufferfish-${SVER} ${EXTERNAL_DIR}/pufferfish
|
||||
|
||||
mkdir -p ${INSTALL_DIR}/include/pufferfish
|
||||
+# This is needed later when pufferfish is compiled for Salmon
|
||||
+cp -r ${pufferFishSrc} ${EXTERNAL_DIR}/pufferfish
|
||||
|
||||
cp ${EXTERNAL_DIR}/pufferfish/include/ProgOpts.hpp ${INSTALL_DIR}/include/pufferfish
|
||||
cp ${EXTERNAL_DIR}/pufferfish/include/BooPHF.hpp ${INSTALL_DIR}/include/pufferfish
|
||||
@@ -0,0 +1,21 @@
|
||||
diff --git a/cmake/SalmonDependencies.cmake b/cmake/SalmonDependencies.cmake
|
||||
index b6bebe0..a67571a 100644
|
||||
--- a/cmake/SalmonDependencies.cmake
|
||||
+++ b/cmake/SalmonDependencies.cmake
|
||||
@@ -86,6 +86,8 @@ if(ZLIBNG_FOUND)
|
||||
set(SALMON_ZLIB_LIBRARIES ZLIBNG::ZLIBNG)
|
||||
set(ZLIB_INCLUDE_DIR ${ZLIBNG_INCLUDE_DIR})
|
||||
set(ZLIB_LIBRARY ZLIBNG::ZLIBNG)
|
||||
+ add_library(zlibstatic ALIAS ${ZLIB_LIBRARY})
|
||||
+ message(STATUS "Created zlibstatic alias for pufferfish embedded mode")
|
||||
elseif(SALMON_FETCH_MISSING_DEPS)
|
||||
message(STATUS "zlib-ng not found; fetching pinned zlib-ng release in compatibility mode")
|
||||
set(ZLIB_COMPAT ON CACHE BOOL "" FORCE)
|
||||
@@ -421,6 +423,7 @@ else()
|
||||
set(SALMON_CURL_LIBRARIES "" CACHE INTERNAL "" FORCE)
|
||||
endif()
|
||||
if(SALMON_USE_SYSTEM_DEPS)
|
||||
+ find_package(OpenSSL REQUIRED)
|
||||
find_package(HTSlib QUIET)
|
||||
endif()
|
||||
if(HTSlib_FOUND)
|
||||
@@ -3,45 +3,62 @@
|
||||
stdenv,
|
||||
boost,
|
||||
bzip2,
|
||||
catch2_3,
|
||||
cereal,
|
||||
cmake,
|
||||
curl,
|
||||
fetchFromGitHub,
|
||||
htslib,
|
||||
icu,
|
||||
jemalloc,
|
||||
libdeflate,
|
||||
libgff,
|
||||
libiconv,
|
||||
libstaden-read,
|
||||
pkg-config,
|
||||
mimalloc,
|
||||
onetbb,
|
||||
openssl,
|
||||
pkg-config,
|
||||
python3,
|
||||
xz,
|
||||
zlib,
|
||||
zlib-ng,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "salmon";
|
||||
version = "1.10.3";
|
||||
version = "1.11.4";
|
||||
|
||||
# SALMON_PUFFERFISH_GIT_TAG defined in cmake/SalmonDependencies.cmake
|
||||
pufferFishSrc = fetchFromGitHub {
|
||||
owner = "COMBINE-lab";
|
||||
repo = "pufferfish";
|
||||
rev = "salmon-v${finalAttrs.version}";
|
||||
hash = "sha256-g4pfNuc620WQ7UDv8PQHVbbTVt78aGVqcHHMszmBIkA=";
|
||||
fetchSubmodules = true;
|
||||
rev = "ace68c1c022816ba8c50a1a07c5d08f2abd597d6";
|
||||
hash = "sha256-Zwl45sUYSmHOqsYLZPscigjgd1V3Waza0jRvhvNh7jU=";
|
||||
};
|
||||
|
||||
# SALMON_FQFEEDER_GIT_TAG defined in cmake/SalmonDependencies.cmake
|
||||
FQFeederSrc = fetchFromGitHub {
|
||||
owner = "rob-p";
|
||||
repo = "FQFeeder";
|
||||
rev = "f5b08d1002351c192b69048ac9f6cf4c7c116265";
|
||||
hash = "sha256-csRKUdNlEKKHNIvKRRTt79+27LBmnsJpswzBnWtA/XU=";
|
||||
};
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "COMBINE-lab";
|
||||
repo = "salmon";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-HGcDqu0XzgrU3erHavigXCoj3VKk82ixMLY10Kk9MW4=";
|
||||
hash = "sha256-BjWXNQtycSwCTe40kujN/YzCNhGjkz2ULGOYtI01yos=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Use pufferfish source fetched by nix
|
||||
./fetch-pufferfish.patch
|
||||
];
|
||||
patches = [ ./fix_pufferfish.patch ];
|
||||
|
||||
postPatch = "patchShebangs .";
|
||||
postPatch = ''
|
||||
patchShebangs .
|
||||
|
||||
substituteInPlace CMakeLists.txt --replace-fail "CMP0167 OLD" "CMP0167 NEW"
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
(boost.override {
|
||||
@@ -49,21 +66,38 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
enabledStatic = true;
|
||||
})
|
||||
bzip2
|
||||
catch2_3
|
||||
cereal
|
||||
curl
|
||||
htslib
|
||||
icu
|
||||
jemalloc
|
||||
libdeflate
|
||||
libgff
|
||||
libstaden-read
|
||||
mimalloc
|
||||
onetbb
|
||||
openssl
|
||||
xz
|
||||
zlib
|
||||
zlib-ng
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
python3
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DSALMON_PUFFERFISH_SOURCE_DIR=${finalAttrs.pufferFishSrc}"
|
||||
"-DSALMON_FQFEEDER_SOURCE_DIR=${finalAttrs.FQFeederSrc}"
|
||||
];
|
||||
|
||||
# These are needed to please htslib
|
||||
env.NIX_LDFLAGS = toString [
|
||||
"-lcrypto"
|
||||
"-ldeflate"
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
Reference in New Issue
Block a user