nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 103 lines 3.3 kB view raw
1{ 2 lib, 3 stdenvNoCC, 4 fetchFromGitHub, 5 jdk, 6 jre, 7 zip, 8 makeWrapper, 9 desktop-file-utils, 10 spleen, 11 nix-update-script, 12}: 13 14stdenvNoCC.mkDerivation (finalAttrs: { 15 pname = "bitsnpicas"; 16 version = "2.1.1"; 17 18 src = fetchFromGitHub { 19 owner = "kreativekorp"; 20 repo = "bitsnpicas"; 21 tag = "v${finalAttrs.version}"; 22 hash = "sha256-eE1wxtZrv5G+8luMj6E1vpM+49mGnaMyEfzmbpVUdZE="; 23 }; 24 25 nativeBuildInputs = [ 26 jdk 27 zip 28 makeWrapper 29 ] 30 ++ lib.optionals stdenvNoCC.hostPlatform.isLinux [ 31 desktop-file-utils 32 ]; 33 34 sourceRoot = "${finalAttrs.src.name}/main/java/BitsNPicas"; 35 36 installPhase = '' 37 runHook preInstall 38 39 install -Dm444 BitsNPicas.jar "$out/share/java/bitsnpicas.jar" 40 install -Dm444 MapEdit.jar "$out/share/java/mapedit.jar" 41 install -Dm444 KeyEdit.jar "$out/share/java/keyedit.jar" 42 43 makeWrapper "${jre}/bin/java" "$out/bin/bitsnpicas" \ 44 --add-flags "-jar $out/share/java/bitsnpicas.jar" 45 makeWrapper "${jre}/bin/java" "$out/bin/mapedit" \ 46 --add-flags "-jar $out/share/java/mapedit.jar" 47 makeWrapper "${jre}/bin/java" "$out/bin/keyedit" \ 48 --add-flags "-jar $out/share/java/keyedit.jar" 49 50 install -Dm444 dep/bitsnpicas.png "$out/share/icons/hicolor/128x128/apps/bitsnpicas.png" 51 install -Dm444 dep/kbnp-icon.png "$out/share/icons/hicolor/512x512/apps/bitsnpicas.png" 52 install -Dm444 dep/mapedit-icon.png "$out/share/icons/hicolor/512x512/apps/mapedit.png" 53 install -Dm444 dep/keyedit-icon.png "$out/share/icons/hicolor/256x256/apps/keyedit.png" 54 '' 55 + lib.optionalString stdenvNoCC.hostPlatform.isLinux '' 56 mkdir -p "$out/share/applications/" 57 cp dep/*.desktop "$out/share/applications/" 58 '' 59 + '' 60 runHook postInstall 61 ''; 62 63 postFixup = lib.optionalString stdenvNoCC.hostPlatform.isLinux '' 64 desktop-file-edit "$out/share/applications/bitsnpicas.desktop" \ 65 --set-key='Exec' --set-value='bitsnpicas edit %F' \ 66 --set-key='Icon' --set-value='bitsnpicas' \ 67 --set-key='StartupWMClass' --set-value='com-kreative-bitsnpicas-main-Main' 68 desktop-file-edit "$out/share/applications/mapedit.desktop" \ 69 --set-key='Exec' --set-value='mapedit %F' \ 70 --set-key='Icon' --set-value='mapedit' \ 71 --set-key='StartupWMClass' --set-value='com-kreative-mapedit-Main' 72 desktop-file-edit "$out/share/applications/keyedit.desktop" \ 73 --set-key='Exec' --set-value='keyedit %F' \ 74 --set-key='Icon' --set-value='keyedit' \ 75 --set-key='StartupWMClass' --set-value='com-kreative-keyedit-Main' 76 ''; 77 78 doInstallCheck = true; 79 installCheckPhase = '' 80 runHook preInstallCheck 81 82 "$out/bin/bitsnpicas" convertbitmap -f psf "${spleen}/share/fonts/misc/spleen-8x16.bdf" 83 [[ -f Spleen.psf ]] 84 85 runHook postInstallCheck 86 ''; 87 88 passthru = { 89 updateScript = nix-update-script { }; 90 }; 91 92 meta = { 93 description = "Bitmap and emoji font creation and conversion tools"; 94 homepage = "https://github.com/kreativekorp/bitsnpicas"; 95 # Written in https://github.com/kreativekorp/bitsnpicas/blob/v2.1/main/java/BitsNPicas/LICENSE 96 license = lib.licenses.mpl11; 97 mainProgram = "bitsnpicas"; 98 maintainers = with lib.maintainers; [ 99 kachick 100 ]; 101 platforms = lib.lists.unique (jdk.meta.platforms ++ lib.platforms.windows); 102 }; 103})