wings: 2.2.4 -> 2.4.1

liberodark a79257e1 d171a77b

+68 -22
+68 -22
pkgs/by-name/wi/wings/package.nix
··· 1 1 { 2 2 lib, 3 3 stdenv, 4 - fetchurl, 5 - fetchpatch, 4 + fetchFromGitHub, 6 5 erlang, 7 6 cl, 8 7 libGL, 9 8 libGLU, 10 9 runtimeShell, 10 + git, 11 + eigen, 12 + libigl, 13 + nix-update-script, 11 14 }: 12 15 13 16 stdenv.mkDerivation rec { 14 17 pname = "wings"; 15 - version = "2.2.4"; 18 + version = "2.4.1"; 16 19 17 - src = fetchurl { 18 - url = "mirror://sourceforge/wings/wings-${version}.tar.bz2"; 19 - sha256 = "1xcmifs4vq2810pqqvsjsm8z3lz24ys4c05xkh82nyppip2s89a3"; 20 + src = fetchFromGitHub { 21 + owner = "dgud"; 22 + repo = "wings"; 23 + tag = "v${version}"; 24 + hash = "sha256-3ulWbAOtYujaymN50u7buvnBdtYMEAe8Ji3arvPUH/s="; 20 25 }; 21 26 22 - patches = [ 23 - (fetchpatch { 24 - url = "https://github.com/dgud/wings/commit/94b3a3c6a0cfdcdbd98edce055d5c83ecb361f37.patch"; 25 - hash = "sha256-DHT1TiYoowloIWrdutBu70mL+557cTFr1dRcNgwbkpE="; 26 - }) 27 + nativeBuildInputs = [ git ]; 28 + buildInputs = [ 29 + erlang 30 + cl 31 + libGL 32 + libGLU 33 + eigen 34 + libigl 35 + cl 27 36 ]; 28 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 + 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 + echo "${version}" > version 38 56 ''; 39 57 40 - buildInputs = [ 41 - erlang 42 - cl 43 - libGL 44 - libGLU 58 + makeFlags = [ 59 + "TYPE=opt" 60 + "WINGS_VSN=${version}" 45 61 ]; 46 62 47 - ERL_LIBS = "${cl}/lib/erlang/lib"; 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 + ''; 48 82 49 83 # I did not test the *cl* part. I added the -pa just by imitation. 50 84 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} 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 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 + 101 + runHook postInstall 60 102 ''; 61 103 104 + passthru = { 105 + updateScript = nix-update-script { }; 106 + }; 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 - maintainers = [ ]; 67 - platforms = with lib.platforms; linux; 112 + maintainers = with lib.maintainers; [ ]; 113 + platforms = lib.platforms.linux; 68 114 mainProgram = "wings"; 69 115 }; 70 116 }