Loading pkgs/by-name/li/libgff/package.nix +5 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-OgXnNGIgWZDIChRdEfmHwvl+oQM03V3a/HnndGLjcHk="; }; postPatch = '' substituteInPlace CMakeLists.txt \ --replace-fail "set(ver_patch 0)" "set(ver_patch 1)" ''; nativeBuildInputs = [ cmake ]; meta = { Loading pkgs/by-name/sa/salmon/fetch-pufferfish.patchdeleted 100644 → 0 +0 −60 Original line number Diff line number Diff line 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 pkgs/by-name/sa/salmon/fix_pufferfish.patch 0 → 100644 +21 −0 Original line number Diff line number Diff line 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) pkgs/by-name/sa/salmon/package.nix +46 −12 Original line number Diff line number Diff line Loading @@ -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 { Loading @@ -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; Loading Loading
pkgs/by-name/li/libgff/package.nix +5 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-OgXnNGIgWZDIChRdEfmHwvl+oQM03V3a/HnndGLjcHk="; }; postPatch = '' substituteInPlace CMakeLists.txt \ --replace-fail "set(ver_patch 0)" "set(ver_patch 1)" ''; nativeBuildInputs = [ cmake ]; meta = { Loading
pkgs/by-name/sa/salmon/fetch-pufferfish.patchdeleted 100644 → 0 +0 −60 Original line number Diff line number Diff line 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
pkgs/by-name/sa/salmon/fix_pufferfish.patch 0 → 100644 +21 −0 Original line number Diff line number Diff line 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)
pkgs/by-name/sa/salmon/package.nix +46 −12 Original line number Diff line number Diff line Loading @@ -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 { Loading @@ -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; Loading