logisim: add darwin bundle

+29 -15
+29 -15
pkgs/applications/science/logic/logisim/default.nix
··· 1 - { lib, stdenv, fetchurl, jre, makeWrapper, copyDesktopItems, makeDesktopItem, unzip }: 2 3 - stdenv.mkDerivation rec { 4 pname = "logisim"; 5 version = "2.7.1"; 6 7 src = fetchurl { 8 - url = "mirror://sourceforge/project/circuit/${lib.versions.majorMinor version}.x/${version}/logisim-generic-${version}.jar"; 9 - sha256 = "1hkvc9zc7qmvjbl9579p84hw3n8wl3275246xlzj136i5b0phain"; 10 }; 11 - 12 dontUnpack = true; 13 14 - nativeBuildInputs = [ makeWrapper copyDesktopItems unzip ]; 15 16 desktopItems = [ 17 (makeDesktopItem { 18 - name = pname; 19 desktopName = "Logisim"; 20 exec = "logisim"; 21 icon = "logisim"; 22 - comment = meta.description; 23 categories = [ "Education" ]; 24 }) 25 ]; ··· 34 unzip $src "resources/logisim/img/*" 35 for size in 16 20 24 48 64 128 36 do 37 - install -D "./resources/logisim/img/logisim-icon-$size.png" "$out/share/icons/hicolor/''${size}x''${size}/apps/logisim.png" 38 done 39 40 runHook postInstall 41 ''; 42 43 - meta = with lib; { 44 homepage = "http://www.cburch.com/logisim/"; 45 description = "Educational tool for designing and simulating digital logic circuits"; 46 mainProgram = "logisim"; 47 - maintainers = with maintainers; [ emilytrau ]; 48 - sourceProvenance = with sourceTypes; [ binaryBytecode ]; 49 - license = licenses.gpl2Plus; 50 - platforms = platforms.unix; 51 }; 52 - }
··· 1 + { lib 2 + , stdenv 3 + , fetchurl 4 + , jre 5 + , makeBinaryWrapper 6 + , copyDesktopItems 7 + , makeDesktopItem 8 + , desktopToDarwinBundle 9 + , unzip 10 + }: 11 12 + stdenv.mkDerivation (finalAttrs: { 13 pname = "logisim"; 14 version = "2.7.1"; 15 16 src = fetchurl { 17 + url = "mirror://sourceforge/project/circuit/${lib.versions.majorMinor finalAttrs.version}.x/${finalAttrs.version}/logisim-generic-${finalAttrs.version}.jar"; 18 + hash = "sha256-Nip4wSrRjCA/7YaIcsSgHNnBIUE3nZLokrviw35ie8I="; 19 }; 20 dontUnpack = true; 21 22 + nativeBuildInputs = [ 23 + makeBinaryWrapper 24 + copyDesktopItems 25 + unzip 26 + ] ++ lib.optionals stdenv.isDarwin [ 27 + desktopToDarwinBundle 28 + ]; 29 30 desktopItems = [ 31 (makeDesktopItem { 32 + name = "logisim"; 33 desktopName = "Logisim"; 34 exec = "logisim"; 35 icon = "logisim"; 36 + comment = finalAttrs.meta.description; 37 categories = [ "Education" ]; 38 }) 39 ]; ··· 48 unzip $src "resources/logisim/img/*" 49 for size in 16 20 24 48 64 128 50 do 51 + install -Dm444 "./resources/logisim/img/logisim-icon-$size.png" "$out/share/icons/hicolor/''${size}x''${size}/apps/logisim.png" 52 done 53 54 runHook postInstall 55 ''; 56 57 + meta = { 58 homepage = "http://www.cburch.com/logisim/"; 59 description = "Educational tool for designing and simulating digital logic circuits"; 60 mainProgram = "logisim"; 61 + maintainers = with lib.maintainers; [ emilytrau ]; 62 + sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; 63 + license = lib.licenses.gpl2Only; 64 + platforms = lib.platforms.unix; 65 }; 66 + })