Merge pull request #278776 from TomaSajt/trimmomatic
trimmomatic: make deterministic and clean up
This commit is contained in:
commit
0d335e0d7d
@ -1,30 +1,36 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, ant
|
||||
, fetchFromGitHub
|
||||
, jdk11_headless
|
||||
, ant
|
||||
, jdk
|
||||
, jre
|
||||
, makeWrapper
|
||||
, canonicalize-jars-hook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "trimmomatic";
|
||||
version = "0.39";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "usadellab";
|
||||
repo = "Trimmomatic";
|
||||
rev = "v${version}";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-u+ubmacwPy/vsEi0YQCv0fTnVDesQvqeQDEwCbS8M6I=";
|
||||
};
|
||||
|
||||
# Set source and target version to 11
|
||||
# Remove jdk version requirement
|
||||
postPatch = ''
|
||||
substituteInPlace ./build.xml \
|
||||
--replace 'source="1.5" target="1.5"' 'release="11"'
|
||||
--replace 'source="1.5" target="1.5"' ""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ jdk11_headless ant makeWrapper ];
|
||||
nativeBuildInputs = [
|
||||
ant
|
||||
jdk
|
||||
makeWrapper
|
||||
canonicalize-jars-hook
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
@ -37,16 +43,17 @@ stdenv.mkDerivation rec {
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin $out/share
|
||||
cp dist/jar/trimmomatic-${version}.jar $out/share/
|
||||
cp -r adapters $out/share/
|
||||
install -Dm644 dist/jar/trimmomatic-*.jar -t $out/share/trimmomatic
|
||||
cp -r adapters $out/share/trimmomatic
|
||||
|
||||
makeWrapper ${jre}/bin/java $out/bin/trimmomatic \
|
||||
--add-flags "-cp $out/share/trimmomatic-${version}.jar org.usadellab.trimmomatic.Trimmomatic"
|
||||
--add-flags "-jar $out/share/trimmomatic/trimmomatic-*.jar"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/usadellab/Trimmomatic/blob/main/versionHistory.txt";
|
||||
description = "A flexible read trimming tool for Illumina NGS data";
|
||||
longDescription = ''
|
||||
Trimmomatic performs a variety of useful trimming tasks for illumina
|
||||
@ -59,8 +66,9 @@ stdenv.mkDerivation rec {
|
||||
license = lib.licenses.gpl3Only;
|
||||
sourceProvenance = [
|
||||
lib.sourceTypes.fromSource
|
||||
lib.sourceTypes.binaryBytecode # source bundles dependencies as jars
|
||||
lib.sourceTypes.binaryBytecode # source bundles dependencies as jars
|
||||
];
|
||||
mainProgram = "trimmomatic";
|
||||
maintainers = [ lib.maintainers.kupac ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -38999,6 +38999,7 @@ with pkgs;
|
||||
trimal = callPackage ../applications/science/biology/trimal { };
|
||||
|
||||
trimmomatic = callPackage ../applications/science/biology/trimmomatic {
|
||||
jdk = pkgs.jdk11_headless;
|
||||
# Reduce closure size
|
||||
jre = pkgs.jre_minimal.override {
|
||||
modules = [ "java.base" "java.logging" ];
|
||||
|
Loading…
Reference in New Issue
Block a user