diff --git a/pkgs/by-name/so/sortmerna/package.nix b/pkgs/by-name/so/sortmerna/package.nix index 7a177a2fa560..9c19c90c6d17 100644 --- a/pkgs/by-name/so/sortmerna/package.nix +++ b/pkgs/by-name/so/sortmerna/package.nix @@ -11,22 +11,29 @@ let rocksdb = rocksdb_8_3; + concurrentqueue = fetchFromGitHub { + owner = "cameron314"; + repo = "concurrentqueue"; + tag = "v1.0.4"; + hash = "sha256-MkhlDme6ZwKPuRINhfpv7cxliI2GU3RmTfC6O0ke/IQ="; + }; in stdenv.mkDerivation rec { pname = "sortmerna"; - version = "4.2.0"; + version = "4.3.7"; src = fetchFromGitHub { + owner = "sortmerna"; repo = "sortmerna"; - owner = "biocore"; - rev = "v${version}"; - sha256 = "0r91viylzr069jm7kpcgb45kagvf8sqcj5zc1af4arl9sgfs1f3j"; + tag = "v${version}"; + hash = "sha256-oxwZBkeW3usEcJE1XLu1UigKsgOsljwGFTpb7U3845I="; }; nativeBuildInputs = [ cmake pkg-config ]; + buildInputs = [ zlib rocksdb @@ -37,19 +44,15 @@ stdenv.mkDerivation rec { "-DPORTABLE=off" "-DRAPIDJSON_HOME=${rapidjson}" "-DROCKSDB_HOME=${rocksdb}" + "-DCONCURRENTQUEUE_HOME=${concurrentqueue}" "-DROCKSDB_STATIC=off" "-DZLIB_STATIC=off" ]; postPatch = '' - # Fix formatting string error: - # https://github.com/biocore/sortmerna/issues/255 - substituteInPlace src/sortmerna/indexdb.cpp \ - --replace 'is_verbose, ss' 'is_verbose, "%s", ss' - # Fix missing pthread dependency for the main binary. substituteInPlace src/sortmerna/CMakeLists.txt \ - --replace "target_link_libraries(sortmerna" \ + --replace-fail "target_link_libraries(sortmerna" \ "target_link_libraries(sortmerna Threads::Threads" # Fix gcc-13 build by adding missing includes: @@ -57,13 +60,13 @@ stdenv.mkDerivation rec { sed -e '1i #include ' -i include/kseq_load.hpp ''; - meta = with lib; { + meta = { description = "Tools for filtering, mapping, and OTU-picking from shotgun genomics data"; mainProgram = "sortmerna"; - license = licenses.lgpl3; - platforms = platforms.x86_64; + license = lib.licenses.lgpl3; + platforms = lib.platforms.x86_64; homepage = "https://bioinfo.lifl.fr/RNA/sortmerna/"; - maintainers = with maintainers; [ luispedro ]; + maintainers = with lib.maintainers; [ luispedro ]; broken = stdenv.hostPlatform.isDarwin; }; }