nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at devShellTools-shell 81 lines 1.8 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 ant, 6 jdk, 7 makeWrapper, 8 wrapGAppsHook3, 9 makeDesktopItem, 10 copyDesktopItems, 11 stripJavaArchivesHook, 12}: 13 14stdenv.mkDerivation (finalAttrs: { 15 pname = "pattypan"; 16 version = "22.03"; 17 18 src = fetchFromGitHub { 19 owner = "yarl"; 20 repo = "pattypan"; 21 rev = "v${finalAttrs.version}"; 22 hash = "sha256-wMQrBg+rEV1W7NgtWFXZr3pAxpyqdbEBKLNwDDGju2I="; 23 }; 24 25 nativeBuildInputs = [ 26 ant 27 jdk 28 makeWrapper 29 wrapGAppsHook3 30 copyDesktopItems 31 stripJavaArchivesHook 32 ]; 33 34 dontWrapGApps = true; 35 36 env.JAVA_TOOL_OPTIONS = "-Dfile.encoding=UTF8"; # needed for jdk versions below jdk19 37 38 buildPhase = '' 39 runHook preBuild 40 ant 41 runHook postBuild 42 ''; 43 44 installPhase = '' 45 runHook preInstall 46 install -Dm644 pattypan.jar -t $out/share/pattypan 47 install -Dm644 src/pattypan/resources/logo.png $out/share/pixmaps/pattypan.png 48 runHook postInstall 49 ''; 50 51 # gappsWrapperArgs is set in preFixup 52 postFixup = '' 53 makeWrapper ${jdk}/bin/java $out/bin/pattypan \ 54 ''${gappsWrapperArgs[@]} \ 55 --add-flags "-jar $out/share/pattypan/pattypan.jar" 56 ''; 57 58 desktopItems = [ 59 (makeDesktopItem { 60 name = "pattypan"; 61 exec = "pattypan"; 62 icon = "pattypan"; 63 desktopName = "Pattypan"; 64 genericName = "An uploader for Wikimedia Commons"; 65 categories = [ "Utility" ]; 66 }) 67 ]; 68 69 meta = with lib; { 70 description = "Uploader for Wikimedia Commons"; 71 homepage = "https://commons.wikimedia.org/wiki/Commons:Pattypan"; 72 license = licenses.mit; 73 mainProgram = "pattypan"; 74 maintainers = with maintainers; [ fee1-dead ]; 75 platforms = platforms.all; 76 sourceProvenance = with sourceTypes; [ 77 fromSource 78 binaryBytecode # source bundles dependencies as jars 79 ]; 80 }; 81})