tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
wings: 2.2.4 -> 2.4.1
liberodark
11 months ago
a79257e1
d171a77b
+68
-22
1 changed file
expand all
collapse all
unified
split
pkgs
by-name
wi
wings
package.nix
+68
-22
pkgs/by-name/wi/wings/package.nix
···
1
1
{
2
2
lib,
3
3
stdenv,
4
4
-
fetchurl,
5
5
-
fetchpatch,
4
4
+
fetchFromGitHub,
6
5
erlang,
7
6
cl,
8
7
libGL,
9
8
libGLU,
10
9
runtimeShell,
10
10
+
git,
11
11
+
eigen,
12
12
+
libigl,
13
13
+
nix-update-script,
11
14
}:
12
15
13
16
stdenv.mkDerivation rec {
14
17
pname = "wings";
15
15
-
version = "2.2.4";
18
18
+
version = "2.4.1";
16
19
17
17
-
src = fetchurl {
18
18
-
url = "mirror://sourceforge/wings/wings-${version}.tar.bz2";
19
19
-
sha256 = "1xcmifs4vq2810pqqvsjsm8z3lz24ys4c05xkh82nyppip2s89a3";
20
20
+
src = fetchFromGitHub {
21
21
+
owner = "dgud";
22
22
+
repo = "wings";
23
23
+
tag = "v${version}";
24
24
+
hash = "sha256-3ulWbAOtYujaymN50u7buvnBdtYMEAe8Ji3arvPUH/s=";
20
25
};
21
26
22
22
-
patches = [
23
23
-
(fetchpatch {
24
24
-
url = "https://github.com/dgud/wings/commit/94b3a3c6a0cfdcdbd98edce055d5c83ecb361f37.patch";
25
25
-
hash = "sha256-DHT1TiYoowloIWrdutBu70mL+557cTFr1dRcNgwbkpE=";
26
26
-
})
27
27
+
nativeBuildInputs = [ git ];
28
28
+
buildInputs = [
29
29
+
erlang
30
30
+
cl
31
31
+
libGL
32
32
+
libGLU
33
33
+
eigen
34
34
+
libigl
35
35
+
cl
27
36
];
28
37
38
38
+
preBuildPhases = [ "setupDepsPhase" ];
39
39
+
setupDepsPhase = ''
40
40
+
mkdir -p _deps/eigen _deps/libigl
41
41
+
ln -s ${eigen}/include/eigen3/* _deps/eigen/
42
42
+
ln -s ${libigl}/include/* _deps/libigl/
43
43
+
ln -s ${cl}/lib/erlang/lib/cl* _deps/cl
44
44
+
'';
45
45
+
29
46
postPatch = ''
30
47
find . -type f -name "Makefile" -exec sed -i 's,-Werror ,,' {} \;
31
48
sed -i 's,../../wings/,../,' icons/Makefile
···
35
52
find . -type f -name "*.[eh]rl" -exec sed -i 's,wings/src/,../src/,' {} \;
36
53
find . -type f -name "*.[eh]rl" -exec sed -i 's,wings/e3d/,../e3d/,' {} \;
37
54
find . -type f -name "*.[eh]rl" -exec sed -i 's,wings/intl_tools/,../intl_tools/,' {} \;
55
55
+
echo "${version}" > version
38
56
'';
39
57
40
40
-
buildInputs = [
41
41
-
erlang
42
42
-
cl
43
43
-
libGL
44
44
-
libGLU
58
58
+
makeFlags = [
59
59
+
"TYPE=opt"
60
60
+
"WINGS_VSN=${version}"
45
61
];
46
62
47
47
-
ERL_LIBS = "${cl}/lib/erlang/lib";
63
63
+
preBuild = ''
64
64
+
mkdir -p priv
65
65
+
'';
66
66
+
67
67
+
buildPhase = ''
68
68
+
runHook preBuild
69
69
+
70
70
+
make TYPE=opt WINGS_VSN=${version}
71
71
+
cd c_src
72
72
+
make
73
73
+
cd ..
74
74
+
75
75
+
runHook postBuild
76
76
+
'';
77
77
+
78
78
+
postBuild = ''
79
79
+
test -d ebin || exit 1
80
80
+
test -d priv || exit 1
81
81
+
'';
48
82
49
83
# I did not test the *cl* part. I added the -pa just by imitation.
50
84
installPhase = ''
51
51
-
mkdir -p $out/bin $out/lib/wings-${version}/ebin
52
52
-
cp ebin/* $out/lib/wings-${version}/ebin
53
53
-
cp -R textures shaders plugins $out/lib/wings-${version}
85
85
+
runHook preInstall
86
86
+
87
87
+
mkdir -p $out/bin $out/lib/wings-${version}/ebin $out/lib/wings-${version}/priv
88
88
+
cp -R ebin/* $out/lib/wings-${version}/ebin/
89
89
+
cp -R textures shaders plugins $out/lib/wings-${version}/
90
90
+
cp -R priv/* $out/lib/wings-${version}/priv/ || true
91
91
+
if [ -d c_src ]; then
92
92
+
find c_src -name "*.so" -exec cp {} $out/lib/wings-${version}/priv/ \;
93
93
+
fi
54
94
cat << EOF > $out/bin/wings
55
95
#!${runtimeShell}
56
96
${erlang}/bin/erl \
57
97
-pa $out/lib/wings-${version}/ebin -run wings_start start_halt "$@"
58
98
EOF
59
99
chmod +x $out/bin/wings
100
100
+
101
101
+
runHook postInstall
60
102
'';
61
103
104
104
+
passthru = {
105
105
+
updateScript = nix-update-script { };
106
106
+
};
107
107
+
62
108
meta = {
63
109
homepage = "https://www.wings3d.com/";
64
110
description = "Subdivision modeler inspired by Nendo and Mirai from Izware";
65
111
license = lib.licenses.tcltk;
66
66
-
maintainers = [ ];
67
67
-
platforms = with lib.platforms; linux;
112
112
+
maintainers = with lib.maintainers; [ ];
113
113
+
platforms = lib.platforms.linux;
68
114
mainProgram = "wings";
69
115
};
70
116
}