Updating wings and dependencies to match erlang

I updated the erlang esdl lib, added the erlang cl lib,
added opencl-headers and ocl-icd to make wings build and run.

I have not tested its opencl part; I only added dependencies so
it builds.

+108 -18
+12 -7
pkgs/applications/graphics/wings/default.nix
··· 1 - { fetchurl, stdenv, erlang, esdl }: 2 3 stdenv.mkDerivation rec { 4 - name = "wings-1.4.1"; 5 src = fetchurl { 6 url = "mirror://sourceforge/wings/${name}.tar.bz2"; 7 - sha256 = "16kqy92rapmbvkc58mc50cidp1pm8nlwlwx69riyadc9w4qs9bji"; 8 }; 9 10 - ERL_LIBS = "${esdl}/lib/erlang/addons"; 11 12 patchPhase = '' 13 sed -i 's,include("sdl_keyboard.hrl"),include_lib("esdl/include/sdl_keyboard.hrl"),' \ 14 src/wings_body.erl plugins_src/commands/wpc_constraints.erl 15 ''; 16 17 - buildInputs = [ erlang esdl ]; 18 19 installPhase = '' 20 mkdir -p $out/bin $out/lib/${name}/ebin 21 cp ebin/* $out/lib/${name}/ebin 22 cp -R fonts textures shaders plugins $out/lib/$name 23 cat << EOF > $out/bin/wings 24 #!/bin/sh 25 - export ROOTDIR=$out/lib/erlang/addons/${name} 26 - ${erlang}/bin/erl -smp disable -pa ${esdl}/lib/erlang/addons/${esdl.name}/ebin \ 27 -pa $out/lib/${name}/ebin -run wings_start start_halt "$@" 28 EOF 29 chmod +x $out/bin/wings
··· 1 + { fetchurl, stdenv, erlang, esdl, cl }: 2 3 stdenv.mkDerivation rec { 4 + name = "wings-1.5.4"; 5 src = fetchurl { 6 url = "mirror://sourceforge/wings/${name}.tar.bz2"; 7 + sha256 = "0qz6rmmkqgk3p0d3v2ikkf22n511bq0m7xp3kkradwrp28fcl15x"; 8 }; 9 10 + ERL_LIBS = "${esdl}/lib/erlang/lib:${cl}/lib/erlang/lib"; 11 12 patchPhase = '' 13 sed -i 's,include("sdl_keyboard.hrl"),include_lib("esdl/include/sdl_keyboard.hrl"),' \ 14 src/wings_body.erl plugins_src/commands/wpc_constraints.erl 15 + 16 + # Fix reference 17 + sed -i 's,wings/e3d/,,' plugins_src/import_export/wpc_lwo.erl 18 ''; 19 20 + buildInputs = [ erlang esdl cl ]; 21 22 + # I did not test the *cl* part. I added the -pa just by imitation. 23 installPhase = '' 24 mkdir -p $out/bin $out/lib/${name}/ebin 25 cp ebin/* $out/lib/${name}/ebin 26 cp -R fonts textures shaders plugins $out/lib/$name 27 cat << EOF > $out/bin/wings 28 #!/bin/sh 29 + ${erlang}/bin/erl -smp disable \ 30 + -pa ${esdl}/lib/erlang/lib/${cl.name}/ebin \ 31 + -pa ${esdl}/lib/erlang/lib/${esdl.name}/ebin \ 32 -pa $out/lib/${name}/ebin -run wings_start start_halt "$@" 33 EOF 34 chmod +x $out/bin/wings
+33
pkgs/development/libraries/cl/default.nix
···
··· 1 + {stdenv, fetchurl, SDL, mesa, rebar, erlang, opencl-headers, ocl-icd }: 2 + 3 + stdenv.mkDerivation rec { 4 + version = "1.2.1"; 5 + name = "cl-${version}"; 6 + 7 + src = fetchurl { 8 + url = "https://github.com/tonyrog/cl/archive/${name}.tar.gz"; 9 + sha256 = "03jv280h9gqqqkm0mmkjr53srd2mzhvyy1biss77wpjrzq2z12c8"; 10 + }; 11 + 12 + buildInputs = [ erlang rebar opencl-headers ocl-icd ]; 13 + #propagatedBuildInputs = [ SDL mesa ]; 14 + 15 + buildPhase = '' 16 + sed 's/git/"${version}"/' -i src/cl.app.src 17 + rebar compile 18 + ''; 19 + 20 + # 'cp' line taken from Arch recipe 21 + # https://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/erlang-sdl 22 + installPhase = '' 23 + DIR=$out/lib/erlang/lib/${name} 24 + mkdir -p $DIR 25 + cp -ruv c_src doc ebin include priv src $DIR 26 + ''; 27 + 28 + meta = { 29 + homepage = https://github.com/tonyrog/cl; 30 + description = "OpenCL binding for Erlang"; 31 + license = stdenv.lib.licences.mit; 32 + }; 33 + }
+15 -7
pkgs/development/libraries/esdl/default.nix
··· 1 - {stdenv, fetchurl, SDL, mesa, erlang}: 2 3 stdenv.mkDerivation rec { 4 - name = "esdl-1.0.1"; 5 6 src = fetchurl { 7 - url = "mirror://sourceforge/esdl/${name}.src.tar.gz"; 8 - sha256 = "0zc7cmr44v10sb593dismdm5qc2v7sm3z9yh22g4r9g6asbg5z0n"; 9 }; 10 11 - buildInputs = [ erlang ]; 12 propagatedBuildInputs = [ SDL mesa ]; 13 14 - preBuild = '' 15 - export makeFlags="INSTALLDIR=$out/lib/erlang/addons/${name}"; 16 ''; 17 18 meta = {
··· 1 + {stdenv, fetchurl, SDL, mesa, rebar, erlang}: 2 3 stdenv.mkDerivation rec { 4 + name = "esdl-1.3.1"; 5 6 src = fetchurl { 7 + url = "mirror://sourceforge/esdl/${name}.src.tgz"; 8 + sha256 = "0f5ad519600qarsa2anmnaxh6b7djzx1dnwxzi4l36pxsq896y01"; 9 }; 10 11 + buildInputs = [ erlang rebar ]; 12 propagatedBuildInputs = [ SDL mesa ]; 13 14 + buildPhase = '' 15 + rebar compile 16 + ''; 17 + 18 + # 'cp' line taken from Arch recipe 19 + # https://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/erlang-sdl 20 + installPhase = '' 21 + DIR=$out/lib/erlang/lib/${name} 22 + mkdir -p $DIR 23 + cp -ruv c_src doc ebin include priv src $DIR 24 ''; 25 26 meta = {
+18
pkgs/development/libraries/ocl-icd/default.nix
···
··· 1 + {stdenv, fetchurl, ruby }: 2 + 3 + stdenv.mkDerivation rec { 4 + name = "ocl-icd-2.2.9"; 5 + 6 + src = fetchurl { 7 + url = "https://forge.imag.fr/frs/download.php/716/${name}.tar.gz"; 8 + sha256 = "1rgaixwnxmrq2aq4kcdvs0yx7i6krakarya9vqs7qwsv5hzc32hc"; 9 + }; 10 + 11 + buildInputs = [ ruby ]; 12 + 13 + meta = with stdenv.lib; { 14 + description = "OpenCL ICD Loader"; 15 + homepage = https://forge.imag.fr/projects/ocl-icd/; 16 + license = licenses.bsd2; 17 + }; 18 + }
+23
pkgs/development/libraries/opencl-headers/default.nix
···
··· 1 + { stdenv, fetchFromGitHub, cmake }: 2 + 3 + stdenv.mkDerivation rec { 4 + name = "opencl-headers-2.1.0"; 5 + 6 + src = fetchFromGitHub { 7 + owner = "KhronosGroup"; 8 + repo = "OpenCL-Headers"; 9 + rev = "c1770dcc6cf1daadec1905e7393f3691c1dde200"; 10 + sha256 = "0m9fkblqja0686i2jjqiszvq3df95gp01a2674xknlmkd6525rck"; 11 + }; 12 + 13 + installPhase = '' 14 + mkdir -p $out/include/CL 15 + cp * $out/include/CL 16 + ''; 17 + 18 + meta = with stdenv.lib; { 19 + description = "Khronos OpenCL headers"; 20 + homepage = https://www.khronos.org/registry/cl/; 21 + license = licenses.mit; 22 + }; 23 + }
+7 -4
pkgs/top-level/all-packages.nix
··· 6432 stdenv = overrideInStdenv stdenv [gnumake380]; 6433 }; 6434 6435 clanlib = callPackage ../development/libraries/clanlib { }; 6436 6437 classads = callPackage ../development/libraries/classads { }; ··· 8217 8218 nvidia-texture-tools = callPackage ../development/libraries/nvidia-texture-tools { }; 8219 8220 ode = callPackage ../development/libraries/ode { }; 8221 8222 ogre = callPackage ../development/libraries/ogre {}; ··· 8243 }; 8244 8245 opencascade_oce = callPackage ../development/libraries/opencascade/oce.nix { }; 8246 8247 opencollada = callPackage ../development/libraries/opencollada { }; 8248 ··· 14133 14134 winswitch = callPackage ../tools/X11/winswitch { }; 14135 14136 - wings = callPackage ../applications/graphics/wings { 14137 - erlang = erlangR14; 14138 - esdl = esdl.override { erlang = erlangR14; }; 14139 - }; 14140 14141 wmname = callPackage ../applications/misc/wmname { }; 14142
··· 6432 stdenv = overrideInStdenv stdenv [gnumake380]; 6433 }; 6434 6435 + cl = callPackage ../development/libraries/cl { }; 6436 + 6437 clanlib = callPackage ../development/libraries/clanlib { }; 6438 6439 classads = callPackage ../development/libraries/classads { }; ··· 8219 8220 nvidia-texture-tools = callPackage ../development/libraries/nvidia-texture-tools { }; 8221 8222 + ocl-icd = callPackage ../development/libraries/ocl-icd { }; 8223 + 8224 ode = callPackage ../development/libraries/ode { }; 8225 8226 ogre = callPackage ../development/libraries/ogre {}; ··· 8247 }; 8248 8249 opencascade_oce = callPackage ../development/libraries/opencascade/oce.nix { }; 8250 + 8251 + opencl-headers = callPackage ../development/libraries/opencl-headers { }; 8252 8253 opencollada = callPackage ../development/libraries/opencollada { }; 8254 ··· 14139 14140 winswitch = callPackage ../tools/X11/winswitch { }; 14141 14142 + wings = callPackage ../applications/graphics/wings { }; 14143 14144 wmname = callPackage ../applications/misc/wmname { }; 14145