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