diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/science/logic/logisim-evolution/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/science/logic/logisim-evolution/default.nix | 57 |
1 files changed, 37 insertions, 20 deletions
diff --git a/nixpkgs/pkgs/applications/science/logic/logisim-evolution/default.nix b/nixpkgs/pkgs/applications/science/logic/logisim-evolution/default.nix index affbfc170b90..3d86c8cafdbc 100644 --- a/nixpkgs/pkgs/applications/science/logic/logisim-evolution/default.nix +++ b/nixpkgs/pkgs/applications/science/logic/logisim-evolution/default.nix @@ -1,25 +1,45 @@ -{ lib, stdenv, fetchurl, jre, makeWrapper, copyDesktopItems, makeDesktopItem, unzip }: +{ lib +, stdenv +, fetchurl +, jre +, makeBinaryWrapper +, copyDesktopItems +, makeDesktopItem +, desktopToDarwinBundle +, unzip +}: -stdenv.mkDerivation rec { +let + icon = fetchurl { + url = "https://github.com/logisim-evolution/logisim-evolution/raw/9e0afa3cd6a8bfa75dab61830822cde83c70bb4b/artwork/logisim-evolution-icon.svg"; + hash = "sha256-DNRimhNFt6jLdjqv7o2cNz38K6XnevxD0rGymym3xBs="; + }; +in +stdenv.mkDerivation (finalAttrs: { pname = "logisim-evolution"; version = "3.8.0"; src = fetchurl { - url = "https://github.com/logisim-evolution/logisim-evolution/releases/download/v${version}/logisim-evolution-${version}-all.jar"; - sha256 = "sha256-TFm+fa3CMp0OMhnKBc6cLIWGQbIG/OpOOCG7ea7wbCw="; + url = "https://github.com/logisim-evolution/logisim-evolution/releases/download/v${finalAttrs.version}/logisim-evolution-${finalAttrs.version}-all.jar"; + hash = "sha256-TFm+fa3CMp0OMhnKBc6cLIWGQbIG/OpOOCG7ea7wbCw="; }; - dontUnpack = true; - nativeBuildInputs = [ makeWrapper copyDesktopItems unzip ]; + nativeBuildInputs = [ + makeBinaryWrapper + copyDesktopItems + unzip + ] ++ lib.optionals stdenv.isDarwin [ + desktopToDarwinBundle + ]; desktopItems = [ (makeDesktopItem { - name = pname; + name = "logisim-evolution"; desktopName = "Logisim-evolution"; exec = "logisim-evolution"; icon = "logisim-evolution"; - comment = meta.description; + comment = finalAttrs.meta.description; categories = [ "Education" ]; }) ]; @@ -29,22 +49,19 @@ stdenv.mkDerivation rec { mkdir -p $out/bin makeWrapper ${jre}/bin/java $out/bin/logisim-evolution --add-flags "-jar $src" - - # Create icons - unzip $src "resources/logisim/img/*" - for size in 16 32 48 128 256; do - install -D "./resources/logisim/img/logisim-icon-$size.png" "$out/share/icons/hicolor/''${size}x''${size}/apps/logisim-evolution.png" - done + install -Dm444 ${icon} $out/share/icons/hicolor/scalable/apps/logisim-evolution.svg runHook postInstall ''; - meta = with lib; { + meta = { + changelog = "https://github.com/logisim-evolution/logisim-evolution/releases/tag/v${finalAttrs.version}"; homepage = "https://github.com/logisim-evolution/logisim-evolution"; description = "Digital logic designer and simulator"; - maintainers = with maintainers; [ emilytrau ]; - sourceProvenance = with sourceTypes; [ binaryBytecode ]; - license = licenses.gpl2Plus; - platforms = platforms.unix; + mainProgram = "logisim-evolution"; + maintainers = with lib.maintainers; [ emilytrau ]; + sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; + license = lib.licenses.gpl3Only; + platforms = lib.platforms.unix; }; -} +}) |