nixpkgs/pkgs/applications/science/chemistry/autodock-vina/default.nix
Yueh-Shun Li 91b3db1309 treewide: fix sourceRoot for fetchgit-based src
According to Nixpkgs manual[1] and NixOS 23.11 Release Note[2], the
`sourceRoot` attribute passed to `stdenv.mkDerivation` should be
specified as `"${src.name}"` or `"${src.name}/subdir"` when `src` is
produced using `fetchgit`-based fetchers.

`sourceRoot = "source"` or `sourceRoot = "source/subdir"` is based on
the assumption that the `name` attribute of these pre-unpacked fetchers
are always `"source"`, which is not the case. Expecting constant `name`
also makes the source FODs prone to irrelevent hashes during version
bumps.

[1]: https://nixos.org/manual/nixpkgs/unstable/#var-stdenv-sourceRoot
[2]: https://nixos.org/manual/nixos/stable/release-notes#sec-release-23.11
2024-03-09 07:53:25 +08:00

58 lines
1.2 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, boost
, glibc
}:
let
boost' = boost.override {
enableShared = false;
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "autodock-vina";
version = "1.2.5";
src = fetchFromGitHub {
owner = "ccsb-scripps";
repo = "autodock-vina";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-yguUMEX0tn75wKrPKyqlCYbBFaEwC5b1s3k9xept1Fw=";
};
sourceRoot = "${finalAttrs.src.name}/build/${
if stdenv.hostPlatform.isDarwin then "mac"
else "linux"
}/release";
buildInputs = [
boost'
] ++ lib.optionals stdenv.isLinux [
glibc.static
];
makeFlags = [
"GPP=${stdenv.cc.targetPrefix}c++"
"BASE=${boost'}"
"BOOST_INCLUDE=${lib.getDev boost'}/include"
];
installPhase = ''
runHook preInstall
install -Dm755 vina vina_split -t $out/bin/
runHook postInstall
'';
meta = with lib; {
description = "One of the fastest and most widely used open-source docking engines";
homepage = "https://vina.scripps.edu/";
changelog = "https://github.com/ccsb-scripps/AutoDock-Vina/releases/tag/v${finalAttrs.version}";
license = licenses.asl20;
maintainers = with maintainers; [ natsukium ];
platforms = platforms.unix;
mainProgram = "vina";
};
})