tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
logisim-evolution: add darwin bundle
Emily Trau
2 years ago
c87d0c29
fad0f8de
+36
-20
1 changed file
expand all
collapse all
unified
split
pkgs
applications
science
logic
logisim-evolution
default.nix
+36
-20
pkgs/applications/science/logic/logisim-evolution/default.nix
···
1
-
{ lib, stdenv, fetchurl, jre, makeWrapper, copyDesktopItems, makeDesktopItem, unzip }:
0
0
0
0
0
0
0
0
0
2
3
-
stdenv.mkDerivation rec {
0
0
0
0
0
0
4
pname = "logisim-evolution";
5
version = "3.8.0";
6
7
src = fetchurl {
8
-
url = "https://github.com/logisim-evolution/logisim-evolution/releases/download/v${version}/logisim-evolution-${version}-all.jar";
9
-
sha256 = "sha256-TFm+fa3CMp0OMhnKBc6cLIWGQbIG/OpOOCG7ea7wbCw=";
10
};
11
-
12
dontUnpack = true;
13
14
-
nativeBuildInputs = [ makeWrapper copyDesktopItems unzip ];
0
0
0
0
0
0
15
16
desktopItems = [
17
(makeDesktopItem {
18
-
name = pname;
19
desktopName = "Logisim-evolution";
20
exec = "logisim-evolution";
21
icon = "logisim-evolution";
22
-
comment = meta.description;
23
categories = [ "Education" ];
24
})
25
];
···
29
30
mkdir -p $out/bin
31
makeWrapper ${jre}/bin/java $out/bin/logisim-evolution --add-flags "-jar $src"
32
-
33
-
# Create icons
34
-
unzip $src "resources/logisim/img/*"
35
-
for size in 16 32 48 128 256; do
36
-
install -D "./resources/logisim/img/logisim-icon-$size.png" "$out/share/icons/hicolor/''${size}x''${size}/apps/logisim-evolution.png"
37
-
done
38
39
runHook postInstall
40
'';
41
42
-
meta = with lib; {
0
43
homepage = "https://github.com/logisim-evolution/logisim-evolution";
44
description = "Digital logic designer and simulator";
45
mainProgram = "logisim-evolution";
46
-
maintainers = with maintainers; [ emilytrau ];
47
-
sourceProvenance = with sourceTypes; [ binaryBytecode ];
48
-
license = licenses.gpl2Plus;
49
-
platforms = platforms.unix;
50
};
51
-
}
···
1
+
{ lib
2
+
, stdenv
3
+
, fetchurl
4
+
, jre
5
+
, makeBinaryWrapper
6
+
, copyDesktopItems
7
+
, makeDesktopItem
8
+
, desktopToDarwinBundle
9
+
, unzip
10
+
}:
11
12
+
let
13
+
icon = fetchurl {
14
+
url = "https://github.com/logisim-evolution/logisim-evolution/raw/9e0afa3cd6a8bfa75dab61830822cde83c70bb4b/artwork/logisim-evolution-icon.svg";
15
+
hash = "sha256-DNRimhNFt6jLdjqv7o2cNz38K6XnevxD0rGymym3xBs=";
16
+
};
17
+
in
18
+
stdenv.mkDerivation (finalAttrs: {
19
pname = "logisim-evolution";
20
version = "3.8.0";
21
22
src = fetchurl {
23
+
url = "https://github.com/logisim-evolution/logisim-evolution/releases/download/v${finalAttrs.version}/logisim-evolution-${finalAttrs.version}-all.jar";
24
+
hash = "sha256-TFm+fa3CMp0OMhnKBc6cLIWGQbIG/OpOOCG7ea7wbCw=";
25
};
0
26
dontUnpack = true;
27
28
+
nativeBuildInputs = [
29
+
makeBinaryWrapper
30
+
copyDesktopItems
31
+
unzip
32
+
] ++ lib.optionals stdenv.isDarwin [
33
+
desktopToDarwinBundle
34
+
];
35
36
desktopItems = [
37
(makeDesktopItem {
38
+
name = "logisim-evolution";
39
desktopName = "Logisim-evolution";
40
exec = "logisim-evolution";
41
icon = "logisim-evolution";
42
+
comment = finalAttrs.meta.description;
43
categories = [ "Education" ];
44
})
45
];
···
49
50
mkdir -p $out/bin
51
makeWrapper ${jre}/bin/java $out/bin/logisim-evolution --add-flags "-jar $src"
52
+
install -Dm444 ${icon} $out/share/icons/hicolor/scalable/apps/logisim-evolution.svg
0
0
0
0
0
53
54
runHook postInstall
55
'';
56
57
+
meta = {
58
+
changelog = "https://github.com/logisim-evolution/logisim-evolution/releases/tag/v${finalAttrs.version}";
59
homepage = "https://github.com/logisim-evolution/logisim-evolution";
60
description = "Digital logic designer and simulator";
61
mainProgram = "logisim-evolution";
62
+
maintainers = with lib.maintainers; [ emilytrau ];
63
+
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
64
+
license = lib.licenses.gpl3Only;
65
+
platforms = lib.platforms.unix;
66
};
67
+
})