nixpkgs/pkgs/by-name/bf/bftools/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

43 lines
1.2 KiB
Nix

{ stdenv, lib, makeWrapper, fetchzip, jre }:
stdenv.mkDerivation rec {
pname = "bftools";
version = "6.3.0";
src = fetchzip {
url = "http://downloads.openmicroscopy.org/bio-formats/${version}/artifacts/bftools.zip";
sha256 = "02nvvmpfglpah1ihd08aw65g1794w588c988cdar1hfl4s80qwhb";
};
installPhase = ''
find . -maxdepth 1 -perm -111 -type f -not -name "*.sh" \
-exec install -vD {} "$out"/bin/{} \;
mkdir $out/libexec
mkdir -p $out/share/java
cp ./*.sh $out/libexec
cp ./*.jar $out/share/java
for file in $out/bin/*; do
substituteInPlace $file --replace "\$BF_DIR" $out/libexec
done
substituteInPlace $out/libexec/bf.sh --replace "\$BF_JAR_DIR" $out/share/java
'';
postFixup = ''
wrapProgram $out/libexec/bf.sh --prefix PATH : "${lib.makeBinPath [ jre ]}"
'';
nativeBuildInputs = [ makeWrapper ];
meta = with lib; {
description = "Bundle of scripts for using Bio-Formats on the command line with bioformats_package.jar already included";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.gpl2;
platforms = platforms.all;
homepage = "https://www.openmicroscopy.org/bio-formats/";
maintainers = [ maintainers.tbenst ];
};
}