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