diff --git a/pkgs/by-name/ke/kent/package.nix b/pkgs/by-name/ke/kent/package.nix index c716287b77e4..8c0c9d8bf0f8 100644 --- a/pkgs/by-name/ke/kent/package.nix +++ b/pkgs/by-name/ke/kent/package.nix @@ -1,6 +1,7 @@ { lib, stdenv, + writableTmpDirAsHomeHook, libpng, libuuid, zlib, @@ -12,18 +13,23 @@ bash, fetchFromGitHub, which, + writeShellScript, + jq, + nix-update, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "kent"; - version = "468"; + version = "486"; src = fetchFromGitHub { owner = "ucscGenomeBrowser"; repo = "kent"; - rev = "v${version}_base"; - hash = "sha256-OM/noraW2X8WV5wqWEFiI5/JPOBmsp0fTeDdcZoXxAA="; + tag = "v${finalAttrs.version}_base"; + hash = "sha256-NffQ04+5rMtG/VI7YFK4Ff39DDhdh9Wlc0i1iVbg8Js="; }; + nativeBuildInputs = [ writableTmpDirAsHomeHook ]; + buildInputs = [ libpng libuuid @@ -37,10 +43,10 @@ stdenv.mkDerivation rec { postPatch = '' substituteInPlace ./src/checkUmask.sh \ - --replace "/bin/bash" "${bash}/bin/bash" + --replace-fail "/bin/bash" "${bash}/bin/bash" substituteInPlace ./src/hg/sqlEnvTest.sh \ - --replace "which mysql_config" "${which}/bin/which ${libmysqlclient}/bin/mysql_config" + --replace-fail "which mysql_config" "${which}/bin/which ${libmysqlclient}/bin/mysql_config" ''; buildPhase = '' @@ -50,7 +56,6 @@ stdenv.mkDerivation rec { export CFLAGS="-fPIC" export MYSQLINC=$(mysql_config --include | sed -e 's/^-I//g') export MYSQLLIBS=$(mysql_config --libs) - export HOME=$TMPDIR export DESTBINDIR=$HOME/bin mkdir -p $HOME/lib $HOME/bin/${stdenv.hostPlatform.parsed.cpu.name} @@ -85,12 +90,17 @@ stdenv.mkDerivation rec { runHook postInstall ''; + passthru.updateScript = writeShellScript "update-kent" '' + latestVersion=$(curl ''${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} --fail --silent https://api.github.com/repos/ucscGenomeBrowser/kent/releases/latest | ${lib.getExe jq} --raw-output .tag_name | grep -oP '(?<=v)\d+') + ${lib.getExe nix-update} kent --version $latestVersion + ''; + meta = { description = "UCSC Genome Bioinformatics Group's suite of biological analysis tools, i.e. the kent utilities"; homepage = "http://genome.ucsc.edu"; - changelog = "https://github.com/ucscGenomeBrowser/kent/releases/tag/v${version}_base"; + changelog = "https://github.com/ucscGenomeBrowser/kent/releases/tag/v${finalAttrs.version}_base"; license = lib.licenses.unfree; maintainers = with lib.maintainers; [ scalavision ]; platforms = lib.platforms.linux; }; -} +})