diff options
Diffstat (limited to 'pkgs/by-name/yo')
-rw-r--r-- | pkgs/by-name/yo/yofi/package.nix | 2 | ||||
-rw-r--r-- | pkgs/by-name/yo/yoink/package.nix | 28 | ||||
-rw-r--r-- | pkgs/by-name/yo/youplot/package.nix | 2 | ||||
-rw-r--r-- | pkgs/by-name/yo/yourkit-java/forbid-desktop-item-creation | 16 | ||||
-rw-r--r-- | pkgs/by-name/yo/yourkit-java/package.nix | 95 | ||||
-rwxr-xr-x | pkgs/by-name/yo/yourkit-java/update.sh | 54 | ||||
-rw-r--r-- | pkgs/by-name/yo/youtrack/package.nix | 8 |
7 files changed, 199 insertions, 6 deletions
diff --git a/pkgs/by-name/yo/yofi/package.nix b/pkgs/by-name/yo/yofi/package.nix index 5227efa6fe7ed..5fa38d280aef0 100644 --- a/pkgs/by-name/yo/yofi/package.nix +++ b/pkgs/by-name/yo/yofi/package.nix @@ -40,7 +40,7 @@ rustPlatform.buildRustPackage rec { ]; meta = { - description = "A minimalist app launcher in Rust"; + description = "Minimalist app launcher in Rust"; homepage = "https://github.com/l4l/yofi"; license = lib.licenses.mit; platforms = lib.platforms.linux; diff --git a/pkgs/by-name/yo/yoink/package.nix b/pkgs/by-name/yo/yoink/package.nix new file mode 100644 index 0000000000000..83c767fe0c174 --- /dev/null +++ b/pkgs/by-name/yo/yoink/package.nix @@ -0,0 +1,28 @@ +{ lib +, fetchFromGitHub +, buildGoModule +}: + +let + version = "0.5.0"; +in +buildGoModule { + pname = "yoink"; + inherit version; + + src = fetchFromGitHub { + owner = "MrMarble"; + repo = "yoink"; + rev = "v${version}"; + hash = "sha256-9ftlAECywF4khH279h2qcSvKRDQX2I7GDQ7EYcEybL0="; + }; + + vendorHash = "sha256-cnfh2D/k4JP9BNlI+6FVLBFyk5XMIYG/DotUdAZaY0Q="; + + meta = { + homepage = "https://github.com/MrMarble/yoink"; + description = "Automatically download freeleech torrents"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ hogcycle ]; + }; +} diff --git a/pkgs/by-name/yo/youplot/package.nix b/pkgs/by-name/yo/youplot/package.nix index d858c8764e835..b1fcb76795ad4 100644 --- a/pkgs/by-name/yo/youplot/package.nix +++ b/pkgs/by-name/yo/youplot/package.nix @@ -9,7 +9,7 @@ bundlerApp { passthru.updateScript = bundlerUpdateScript "youplot"; meta = with lib; { - description = "A command line tool that draws plots on the terminal"; + description = "Command line tool that draws plots on the terminal"; homepage = "https://github.com/red-data-tools/YouPlot"; mainProgram = "uplot"; license = licenses.mit; diff --git a/pkgs/by-name/yo/yourkit-java/forbid-desktop-item-creation b/pkgs/by-name/yo/yourkit-java/forbid-desktop-item-creation new file mode 100644 index 0000000000000..df068b97d1944 --- /dev/null +++ b/pkgs/by-name/yo/yourkit-java/forbid-desktop-item-creation @@ -0,0 +1,16 @@ +CONFIG_DIR=$YS/config +if [ ! -d $CONFIG_DIR ]; then + mkdir -p $CONFIG_DIR +fi + +REGISTRY=$CONFIG_DIR/registry8.xml +if [ ! -e $REGISTRY ]; then + cat >$REGISTRY <<EOF +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<registry8> + <desktop-file.created> + <boolean value="true"/> + </desktop-file.created> +</registry8> +EOF +fi diff --git a/pkgs/by-name/yo/yourkit-java/package.nix b/pkgs/by-name/yo/yourkit-java/package.nix new file mode 100644 index 0000000000000..b2d5451a93131 --- /dev/null +++ b/pkgs/by-name/yo/yourkit-java/package.nix @@ -0,0 +1,95 @@ +{ fetchzip +, lib +, stdenvNoCC +, copyDesktopItems +, imagemagick +, makeDesktopItem +, jre +}: +let + vPath = v: lib.elemAt (lib.splitString "-" v) 0; + + version = "2024.3-b157"; + + arches = { + aarch64-linux = "arm64"; + x86_64-linux = "x64"; + }; + + arch = + arches.${stdenvNoCC.targetPlatform.system} or (throw "Unsupported system"); + + hashes = { + arm64 = "sha256-0a9maZhgtXH21Ph0o3Rb+rCPhAmZRxjZCRyDmTvusLk="; + x64 = "sha256-nLaOOkPG2QEHkHd0S2AYLT2IpkMchGw9adyUDLCNQFg="; + }; + + desktopItem = makeDesktopItem { + name = "YourKit Java Profiler"; + desktopName = "YourKit Java Profiler " + version; + type = "Application"; + exec = "yourkit-java-profiler %f"; + icon = "yourkit-java-profiler"; + categories = [ "Development" "Java" "Profiling" ]; + terminal = false; + startupWMClass = "YourKit Java Profiler"; + }; +in +stdenvNoCC.mkDerivation { + inherit version; + + pname = "yourkit-java"; + + src = fetchzip { + url = "https://download.yourkit.com/yjp/${vPath version}/YourKit-JavaProfiler-${version}-${arch}.zip"; + hash = hashes.${arch}; + }; + + nativeBuildInputs = [ copyDesktopItems imagemagick ]; + + buildInputs = [ jre ]; + + desktopItems = [ desktopItem ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp -pr bin lib license.html license-redist.txt probes samples $out + cp ${./forbid-desktop-item-creation} $out/bin/forbid-desktop-item-creation + mv $out/bin/profiler.sh $out/bin/yourkit-java-profiler + mkdir -p $out/share/icons + convert $out/bin/profiler.ico\[0] \ + -size 256x256 \ + $out/share/icons/yourkit-java-profiler.png + rm $out/bin/profiler.ico + rm -rf $out/bin/{windows-*,mac,linux-{*-32,musl-*,ppc-*}} + if [[ ${arch} = x64 ]]; then + rm -rf $out/bin/linux-arm-64 + else + rm -rf $out/bin/linux-x86-64 + fi + substituteInPlace $out/bin/yourkit-java-profiler \ + --replace 'JAVA_EXE="$YD/jre64/bin/java"' JAVA_EXE=${jre}/bin/java + # Use our desktop item, which will be purged when this package + # gets removed + sed -i -e "/^YD=/isource $out/bin/forbid-desktop-item-creation\\ + " \ + $out/bin/yourkit-java-profiler + + runHook postInstall + ''; + + passthru.updateScript = ./update.sh; + + meta = with lib; { + description = "Award winning, fully featured low overhead profiler for Java EE and Java SE platforms"; + homepage = "https://www.yourkit.com"; + changelog = "https://www.yourkit.com/changes/"; + license = licenses.unfree; + mainProgram = "yourkit-java-profiler"; + platforms = attrNames arches; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; + maintainers = with maintainers; [ herberteuler ]; + }; +} diff --git a/pkgs/by-name/yo/yourkit-java/update.sh b/pkgs/by-name/yo/yourkit-java/update.sh new file mode 100755 index 0000000000000..0b95732f6b74a --- /dev/null +++ b/pkgs/by-name/yo/yourkit-java/update.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p coreutils curl gawk gnused nix-prefetch + +set -euo pipefail + +ROOT="$(dirname "$(readlink -f "$0")")" +DRV_BASE=package.nix +NIX_DRV="$ROOT/$DRV_BASE" +if [[ ! -f "$NIX_DRV" ]]; then + echo "ERROR: cannot find $DRV_BASE in $ROOT" + exit 1 +fi + +function retrieve_latest_version () { + curl https://www.yourkit.com/java/profiler/download/ \ + | grep -Eo '(Version|Build): ([a-z0-9#.-])+' \ + | awk '{ print $2 }' \ + | tr -d '\n' \ + | sed 's/#/-b/' +} + +function calc_hash () { + local version=$1 + local url=$2 + nix-prefetch --option extra-experimental-features flakes \ + "{ stdenv, fetchzip }: +stdenv.mkDerivation { + pname = \"yourkit-java-binary\"; + version = \"$version\"; + src = fetchzip { + url = \"$url\"; + }; +}" +} + +function update_hash () { + local arch=$1 + local version=$2 + local date=$(echo $version | sed 's/-.*//') + local url=https://download.yourkit.com/yjp/$date/YourKit-JavaProfiler-$version-$arch.zip + local hash=$(calc_hash $version $url) + sed -i -e "s|^.*$arch.*=.*\"sha256-.*$| $arch = \"$hash\";|" $NIX_DRV +} + +version=$(retrieve_latest_version) +sed -i -e "s|^.*version.*=.*\".*$| version = \"$version\";|" $NIX_DRV +for arch in arm64 x64; do + update_hash $arch $version +done + +# Local variables: +# mode: shell-script +# eval: (sh-set-shell "bash") +# End: diff --git a/pkgs/by-name/yo/youtrack/package.nix b/pkgs/by-name/yo/youtrack/package.nix index 5dbe8b9710ba7..9695dd3e0a8fb 100644 --- a/pkgs/by-name/yo/youtrack/package.nix +++ b/pkgs/by-name/yo/youtrack/package.nix @@ -1,12 +1,12 @@ -{ lib, stdenvNoCC, fetchzip, makeBinaryWrapper, jdk17_headless, gawk, statePath ? "/var/lib/youtrack" }: +{ lib, stdenvNoCC, fetchzip, makeBinaryWrapper, jdk21_headless, gawk, statePath ? "/var/lib/youtrack" }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "youtrack"; - version = "2024.1.29548"; + version = "2024.2.34646"; src = fetchzip { url = "https://download.jetbrains.com/charisma/youtrack-${finalAttrs.version}.zip"; - hash = "sha256-01av1leVJz+QbnFNYyxEeL1zd6I25VNt45YFgV25n+0="; + hash = "sha256-9htjtB1TC+p+eETsXH5B36NKnZsFA/Og/PIW9gHQefc="; }; nativeBuildInputs = [ makeBinaryWrapper ]; @@ -20,7 +20,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { cp -r * $out makeWrapper $out/bin/youtrack.sh $out/bin/youtrack \ --prefix PATH : "${lib.makeBinPath [ gawk ]}" \ - --set JRE_HOME ${jdk17_headless} + --set JRE_HOME ${jdk21_headless} rm -rf $out/internal/java mv $out/conf $out/conf.orig ln -s ${statePath}/backups $out/backups |