python312Packages.types-aiobotocore: 2.15.2 -> 2.15.2.post3 (#361801)
[NixPkgs.git] / pkgs / by-name / yo / youtrack / package.nix
blob430e5d94d5c893fda185cc1c02da3b95abeabe1b
1 { lib, stdenvNoCC, fetchzip, makeBinaryWrapper, jdk21_headless, gawk, statePath ? "/var/lib/youtrack" }:
3 stdenvNoCC.mkDerivation (finalAttrs: {
4   pname = "youtrack";
5   version = "2024.3.52635";
7   src = fetchzip {
8     url = "https://download.jetbrains.com/charisma/youtrack-${finalAttrs.version}.zip";
9     hash = "sha256-aCNKlZmOdIJsyYrh6c6dg21X3H+r6nThrw1HUg8iTqk=";
10   };
12   nativeBuildInputs = [ makeBinaryWrapper ];
14   dontConfigure = true;
15   dontBuild = true;
17   installPhase = ''
18     runHook preInstall
19     mkdir -p $out
20     cp -r * $out
21     makeWrapper $out/bin/youtrack.sh $out/bin/youtrack \
22       --prefix PATH : "${lib.makeBinPath [ gawk ]}" \
23       --set JRE_HOME ${jdk21_headless}
24     rm -rf $out/internal/java
25     mv $out/conf $out/conf.orig
26     ln -s ${statePath}/backups $out/backups
27     ln -s ${statePath}/conf $out/conf
28     ln -s ${statePath}/data $out/data
29     ln -s ${statePath}/logs $out/logs
30     ln -s ${statePath}/temp $out/temp
31     runHook postInstall
32   '';
34   passthru.updateScript = ./update.sh;
36   meta = {
37     description = "Issue tracking and project management tool for developers";
38     maintainers = lib.teams.serokell.members ++ [ lib.maintainers.leona ];
39     sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
40     # https://www.jetbrains.com/youtrack/buy/license.html
41     license = lib.licenses.unfree;
42   };