diff options
Diffstat (limited to 'pkgs/by-name/yo')
-rw-r--r-- | pkgs/by-name/yo/youtrack/package.nix | 43 | ||||
-rwxr-xr-x | pkgs/by-name/yo/youtrack/update.sh | 9 | ||||
-rw-r--r-- | pkgs/by-name/yo/youtrack_2022_3/package.nix | 32 |
3 files changed, 84 insertions, 0 deletions
diff --git a/pkgs/by-name/yo/youtrack/package.nix b/pkgs/by-name/yo/youtrack/package.nix new file mode 100644 index 0000000000000..d07e85bfb88c6 --- /dev/null +++ b/pkgs/by-name/yo/youtrack/package.nix @@ -0,0 +1,43 @@ +{ lib, stdenvNoCC, fetchzip, makeBinaryWrapper, jdk17_headless, gawk, statePath ? "/var/lib/youtrack" }: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "youtrack"; + version = "2023.3.23390"; + + src = fetchzip { + url = "https://download.jetbrains.com/charisma/youtrack-${finalAttrs.version}.zip"; + hash = "sha256-p3ZjClVku7EjQSd9wwx0iJ+5DqooaKragdNzj0f8OO8="; + }; + + nativeBuildInputs = [ makeBinaryWrapper ]; + + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + mkdir -p $out + cp -r * $out + makeWrapper $out/bin/youtrack.sh $out/bin/youtrack \ + --prefix PATH : "${lib.makeBinPath [ gawk ]}" \ + --set JRE_HOME ${jdk17_headless} + rm -rf $out/internal/java + mv $out/conf $out/conf.orig + ln -s ${statePath}/backups $out/backups + ln -s ${statePath}/conf $out/conf + ln -s ${statePath}/data $out/data + ln -s ${statePath}/logs $out/logs + ln -s ${statePath}/temp $out/temp + runHook postInstall + ''; + + passthru.updateScript = ./update.sh; + + meta = { + description = "Issue tracking and project management tool for developers"; + maintainers = lib.teams.serokell.members ++ [ lib.maintainers.leona ]; + sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; + # https://www.jetbrains.com/youtrack/buy/license.html + license = lib.licenses.unfree; + }; +}) diff --git a/pkgs/by-name/yo/youtrack/update.sh b/pkgs/by-name/yo/youtrack/update.sh new file mode 100755 index 0000000000000..c1ffb8b2bfbf5 --- /dev/null +++ b/pkgs/by-name/yo/youtrack/update.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl xq-xml common-updater-scripts + +set -eu -o pipefail + +version="$(curl https://www.jetbrains.com/youtrack/update.xml | \ + xq -x "/products/product[@name='YouTrack']/channel/build/@version")" + +update-source-version youtrack "$version" diff --git a/pkgs/by-name/yo/youtrack_2022_3/package.nix b/pkgs/by-name/yo/youtrack_2022_3/package.nix new file mode 100644 index 0000000000000..388c536bf15d9 --- /dev/null +++ b/pkgs/by-name/yo/youtrack_2022_3/package.nix @@ -0,0 +1,32 @@ +{ lib, stdenv, fetchurl, makeWrapper, jdk17, gawk }: + +stdenv.mkDerivation (finalAttrs: { + pname = "youtrack"; + version = "2022.3.65371"; + + jar = fetchurl { + url = "https://download.jetbrains.com/charisma/youtrack-${finalAttrs.version}.jar"; + sha256 = "sha256-NQKWmKEq5ljUXd64zY27Nj8TU+uLdA37chbFVdmwjNs="; + }; + + nativeBuildInputs = [ makeWrapper ]; + + dontUnpack = true; + + installPhase = '' + runHook preInstall + makeWrapper ${jdk17}/bin/java $out/bin/youtrack \ + --add-flags "\$YOUTRACK_JVM_OPTS -jar $jar" \ + --prefix PATH : "${lib.makeBinPath [ gawk ]}" \ + --set JRE_HOME ${jdk17} + runHook postInstall + ''; + + meta = { + description = "Issue tracking and project management tool for developers"; + maintainers = lib.teams.serokell.members ++ [ lib.maintainers.leona ]; + sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; + # https://www.jetbrains.com/youtrack/buy/license.html + license = lib.licenses.unfree; + }; +}) |