lol

vala: add setup hook

Add datadir containing vapidir to XDG_DATA_DIRS and move vapipdir to dev output.

+21 -1
+6 -1
pkgs/development/compilers/vala/default.nix
··· 1 1 { stdenv, lib, fetchurl, fetchpatch, pkgconfig, flex, bison, libxslt, autoconf, automake, autoreconfHook 2 - , graphviz, glib, libiconv, libintl, libtool, expat 2 + , graphviz, glib, libiconv, libintl, libtool, expat, substituteAll 3 3 }: 4 4 5 5 let ··· 44 44 in stdenv.mkDerivation rec { 45 45 name = "vala-${version}"; 46 46 version = "${major}.${minor}"; 47 + 48 + setupHook = substituteAll { 49 + src = ./setup-hook.sh; 50 + apiVersion = major; 51 + }; 47 52 48 53 src = fetchurl { 49 54 url = "mirror://gnome/sources/vala/${major}/${name}.tar.xz";
+15
pkgs/development/compilers/vala/setup-hook.sh
··· 1 + make_vala_find_vapi_files() { 2 + # XDG_DATA_DIRS: required for finding .vapi files 3 + if [ -d "$1/share/vala/vapi" -o -d "$1/share/vala-@apiVersion@/vapi" ]; then 4 + addToSearchPath XDG_DATA_DIRS $1/share 5 + fi 6 + } 7 + 8 + addEnvHooks "$hostOffset" make_vala_find_vapi_files 9 + 10 + _multioutMoveVapiDirs() { 11 + moveToOutput share/vala/vapi "${!outputDev}" 12 + moveToOutput share/vala-@apiVersion@/vapi "${!outputDev}" 13 + } 14 + 15 + preFixupHooks+=(_multioutMoveVapiDirs)