wings: 2.2.4 -> 2.4.1 (#377610)
This commit is contained in:
@@ -1,21 +1,48 @@
|
||||
{ lib, stdenv, fetchurl, fetchpatch, erlang, cl, libGL, libGLU, runtimeShell }:
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
erlang,
|
||||
cl,
|
||||
libGL,
|
||||
libGLU,
|
||||
runtimeShell,
|
||||
git,
|
||||
eigen,
|
||||
libigl,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wings";
|
||||
version = "2.2.4";
|
||||
version = "2.4.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/wings/wings-${version}.tar.bz2";
|
||||
sha256 = "1xcmifs4vq2810pqqvsjsm8z3lz24ys4c05xkh82nyppip2s89a3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "dgud";
|
||||
repo = "wings";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-3ulWbAOtYujaymN50u7buvnBdtYMEAe8Ji3arvPUH/s=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/dgud/wings/commit/94b3a3c6a0cfdcdbd98edce055d5c83ecb361f37.patch";
|
||||
hash = "sha256-DHT1TiYoowloIWrdutBu70mL+557cTFr1dRcNgwbkpE=";
|
||||
})
|
||||
nativeBuildInputs = [ git ];
|
||||
buildInputs = [
|
||||
erlang
|
||||
cl
|
||||
libGL
|
||||
libGLU
|
||||
eigen
|
||||
libigl
|
||||
cl
|
||||
];
|
||||
|
||||
preBuildPhases = [ "setupDepsPhase" ];
|
||||
setupDepsPhase = ''
|
||||
mkdir -p _deps/eigen _deps/libigl
|
||||
ln -s ${eigen}/include/eigen3/* _deps/eigen/
|
||||
ln -s ${libigl}/include/* _deps/libigl/
|
||||
ln -s ${cl}/lib/erlang/lib/cl* _deps/cl
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
find . -type f -name "Makefile" -exec sed -i 's,-Werror ,,' {} \;
|
||||
sed -i 's,../../wings/,../,' icons/Makefile
|
||||
@@ -25,31 +52,65 @@ stdenv.mkDerivation rec {
|
||||
find . -type f -name "*.[eh]rl" -exec sed -i 's,wings/src/,../src/,' {} \;
|
||||
find . -type f -name "*.[eh]rl" -exec sed -i 's,wings/e3d/,../e3d/,' {} \;
|
||||
find . -type f -name "*.[eh]rl" -exec sed -i 's,wings/intl_tools/,../intl_tools/,' {} \;
|
||||
echo "${version}" > version
|
||||
'';
|
||||
|
||||
buildInputs = [ erlang cl libGL libGLU ];
|
||||
makeFlags = [
|
||||
"TYPE=opt"
|
||||
"WINGS_VSN=${version}"
|
||||
];
|
||||
|
||||
ERL_LIBS = "${cl}/lib/erlang/lib";
|
||||
preBuild = ''
|
||||
mkdir -p priv
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
make TYPE=opt WINGS_VSN=${version}
|
||||
cd c_src
|
||||
make
|
||||
cd ..
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
postBuild = ''
|
||||
test -d ebin || exit 1
|
||||
test -d priv || exit 1
|
||||
'';
|
||||
|
||||
# I did not test the *cl* part. I added the -pa just by imitation.
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/lib/wings-${version}/ebin
|
||||
cp ebin/* $out/lib/wings-${version}/ebin
|
||||
cp -R textures shaders plugins $out/lib/wings-${version}
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin $out/lib/wings-${version}/ebin $out/lib/wings-${version}/priv
|
||||
cp -R ebin/* $out/lib/wings-${version}/ebin/
|
||||
cp -R textures shaders plugins $out/lib/wings-${version}/
|
||||
cp -R priv/* $out/lib/wings-${version}/priv/ || true
|
||||
if [ -d c_src ]; then
|
||||
find c_src -name "*.so" -exec cp {} $out/lib/wings-${version}/priv/ \;
|
||||
fi
|
||||
cat << EOF > $out/bin/wings
|
||||
#!${runtimeShell}
|
||||
${erlang}/bin/erl \
|
||||
-pa $out/lib/wings-${version}/ebin -run wings_start start_halt "$@"
|
||||
EOF
|
||||
chmod +x $out/bin/wings
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.wings3d.com/";
|
||||
description = "Subdivision modeler inspired by Nendo and Mirai from Izware";
|
||||
license = lib.licenses.tcltk;
|
||||
maintainers = [ ];
|
||||
platforms = with lib.platforms; linux;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
platforms = lib.platforms.linux;
|
||||
mainProgram = "wings";
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user