diff options
Diffstat (limited to 'pkgs/development/compilers/vala')
-rw-r--r-- | pkgs/development/compilers/vala/default.nix | 94 | ||||
-rw-r--r-- | pkgs/development/compilers/vala/disable-graphviz-0.56.8.patch | 173 | ||||
-rw-r--r-- | pkgs/development/compilers/vala/setup-hook.sh | 24 |
3 files changed, 0 insertions, 291 deletions
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix deleted file mode 100644 index 1b880b61a05a..000000000000 --- a/pkgs/development/compilers/vala/default.nix +++ /dev/null @@ -1,94 +0,0 @@ -{ stdenv, lib, fetchurl, pkg-config, flex, bison, libxslt, autoconf, autoreconfHook -, gnome, graphviz, glib, libiconv, libintl, libtool, expat, substituteAll, vala, gobject-introspection -}: - -let - generic = lib.makeOverridable ({ - version, hash, - extraNativeBuildInputs ? [], - extraBuildInputs ? [], - withGraphviz ? false - }: - let - # Build vala (valadoc) without graphviz support. Inspired from the openembedded-core project. - # https://github.com/openembedded/openembedded-core/blob/a5440d4288e09d3e/meta/recipes-devtools/vala/vala/disable-graphviz.patch - graphvizPatch = - { - "0.56" = ./disable-graphviz-0.56.8.patch; - }.${lib.versions.majorMinor version} or (throw "no graphviz patch for this version of vala"); - - disableGraphviz = !withGraphviz; - - in stdenv.mkDerivation rec { - pname = "vala"; - inherit version; - - setupHook = substituteAll { - src = ./setup-hook.sh; - apiVersion = lib.versions.majorMinor version; - }; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - inherit hash; - }; - - postPatch = '' - patchShebangs tests - ''; - - # If we're disabling graphviz, apply the patches and corresponding - # configure flag. We also need to override the path to the valac compiler - # so that it can be used to regenerate documentation. - patches = lib.optionals disableGraphviz [ graphvizPatch ]; - configureFlags = lib.optional disableGraphviz "--disable-graphviz"; - # when cross-compiling ./compiler/valac is valac for host - # so add the build vala in nativeBuildInputs - preBuild = lib.optionalString (disableGraphviz && (stdenv.buildPlatform == stdenv.hostPlatform)) "buildFlagsArray+=(\"VALAC=$(pwd)/compiler/valac\")"; - - outputs = [ "out" "devdoc" ]; - - nativeBuildInputs = [ - pkg-config flex bison libxslt gobject-introspection - ] ++ lib.optional (stdenv.isDarwin) expat - ++ lib.optional disableGraphviz autoreconfHook # if we changed our ./configure script, need to reconfigure - ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ vala ] - ++ extraNativeBuildInputs; - - buildInputs = [ - glib libiconv libintl - ] ++ lib.optional (withGraphviz) graphviz - ++ extraBuildInputs; - - enableParallelBuilding = true; - - doCheck = false; # fails, requires dbus daemon - - passthru = { - updateScript = gnome.updateScript { - attrPath = - let - roundUpToEven = num: num + lib.mod num 2; - in "${pname}_${lib.versions.major version}_${builtins.toString (roundUpToEven (lib.toInt (lib.versions.minor version)))}"; - packageName = pname; - freeze = true; - }; - }; - - meta = with lib; { - description = "Compiler for GObject type system"; - homepage = "https://vala.dev"; - license = licenses.lgpl21Plus; - platforms = platforms.unix; - maintainers = with maintainers; [ antono jtojnar ] ++ teams.pantheon.members; - }; - }); - -in rec { - vala_0_56 = generic { - version = "0.56.17"; - hash = "sha256-JhAMTk7wBJxhknXxQNl89WWIPQDHVDyCvM5aQmk07Wo="; - }; - - vala = vala_0_56; -} diff --git a/pkgs/development/compilers/vala/disable-graphviz-0.56.8.patch b/pkgs/development/compilers/vala/disable-graphviz-0.56.8.patch deleted file mode 100644 index 37c5ba504e5d..000000000000 --- a/pkgs/development/compilers/vala/disable-graphviz-0.56.8.patch +++ /dev/null @@ -1,173 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index 088e8f3b5..bded3c54c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -196,13 +196,15 @@ AC_SUBST(GMODULE_LIBS) - - AC_ARG_WITH(cgraph, AS_HELP_STRING([--with-cgraph], [Required flag for cross-compilation to define capability of graphviz]), [], with_cgraph=check) - AC_ARG_ENABLE(valadoc, AS_HELP_STRING([--disable-valadoc], [Disable valadoc]), enable_valadoc=$enableval, enable_valadoc=yes) -+AC_ARG_ENABLE(graphviz, AS_HELP_STRING([--disable-graphviz], [Disable graphviz usage for valadoc]), enable_graphviz=$enableval, enable_graphviz=yes) - AS_IF([test "$VALAC" != :], [FOUND_VALAC_VERION=`$VALAC --version | sed 's/Vala *//'` - AS_VERSION_COMPARE(["$FOUND_VALAC_VERION"], ["$VALAC_VALADOC_REQUIRED"], [ - AC_MSG_WARN([Force disable build of valadoc, valac >= $VALAC_VALADOC_REQUIRED is required]) - enable_valadoc=no - ]) - ]) --if test x$enable_valadoc = xyes; then -+if test x$enable_valadoc = xyes && test x$enable_graphviz = xyes; then -+ VALAFLAGS="$VALAFLAGS -D HAVE_GRAPHVIZ" - PKG_CHECK_MODULES(LIBGVC, libgvc >= $LIBGVC_REQUIRED) - AC_MSG_CHECKING([for CGRAPH]) - cgraph_tmp_LIBADD="$LIBADD" -@@ -244,6 +246,7 @@ if test x$enable_valadoc = xyes; then - fi - AM_CONDITIONAL(HAVE_CGRAPH, test "$have_cgraph" = "yes") - AM_CONDITIONAL(ENABLE_VALADOC, test x$enable_valadoc = xyes) -+AM_CONDITIONAL(ENABLE_GRAPHVIZ, test x$enable_graphviz = xyes) - - AC_PATH_PROG([G_IR_COMPILER], [g-ir-compiler], :) - AM_CONDITIONAL(HAVE_G_IR_COMPILER, test "$G_IR_COMPILER" != :) -diff --git a/libvaladoc/Makefile.am b/libvaladoc/Makefile.am -index dad9a9e99..e23266606 100644 ---- a/libvaladoc/Makefile.am -+++ b/libvaladoc/Makefile.am -@@ -119,10 +119,6 @@ libvaladoc_la_VALASOURCES = \ - content/tablerow.vala \ - content/taglet.vala \ - content/text.vala \ -- charts/chart.vala \ -- charts/chartfactory.vala \ -- charts/hierarchychart.vala \ -- charts/simplechartfactory.vala \ - parser/manyrule.vala \ - parser/oneofrule.vala \ - parser/optionalrule.vala \ -@@ -149,19 +145,34 @@ libvaladoc_la_VALASOURCES = \ - highlighter/codetoken.vala \ - highlighter/highlighter.vala \ - html/basicdoclet.vala \ -- html/htmlchartfactory.vala \ - html/linkhelper.vala \ - html/cssclassresolver.vala \ - html/htmlmarkupwriter.vala \ - html/htmlrenderer.vala \ - $(NULL) - -+if ENABLE_GRAPHVIZ -+libvaladoc_la_VALASOURCES += \ -+ charts/chart.vala \ -+ charts/chartfactory.vala \ -+ charts/hierarchychart.vala \ -+ charts/simplechartfactory.vala \ -+ html/htmlchartfactory.vala \ -+ $(NULL) -+endif -+ - libvaladoc@PACKAGE_SUFFIX@_la_SOURCES = \ - libvaladoc.vala.stamp \ - $(libvaladoc_la_VALASOURCES:.vala=.c) \ -- gvc-compat.c \ - $(NULL) - -+if ENABLE_GRAPHVIZ -+libvaladoc@PACKAGE_SUFFIX@_la_SOURCES += \ -+ gvc-compat.c -+ -+LIBGVC_PKG = --vapidir $(top_srcdir)/vapi --pkg libgvc -+endif -+ - valadoc@PACKAGE_SUFFIX@.vapi valadoc.h: libvaladoc.vala.stamp - libvaladoc.vala.stamp: $(libvaladoc_la_VALASOURCES) - $(VALA_V)$(VALAC) \ -@@ -174,7 +185,7 @@ libvaladoc.vala.stamp: $(libvaladoc_la_VALASOURCES) - --library valadoc \ - --vapi valadoc@PACKAGE_SUFFIX@.vapi \ - --vapidir $(top_srcdir)/vapi --pkg gmodule-2.0 \ -- --vapidir $(top_srcdir)/vapi --pkg libgvc \ -+ $(LIBGVC_PKG) \ - --vapidir $(top_srcdir)/gee --pkg gee \ - --vapidir $(top_srcdir)/vala --pkg vala \ - --vapidir $(top_srcdir)/ccode --pkg ccode \ -@@ -206,6 +217,9 @@ nodist_pkgconfig_DATA = valadoc@PACKAGE_SUFFIX@.pc - - valadoc@PACKAGE_SUFFIX@.pc: valadoc.pc - cp $< $@ -+if !ENABLE_GRAPHVIZ -+ sed -i "s/libgvc //g" $@ -+endif - - vapidir = $(datadir)/vala/vapi - dist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.vapi -@@ -213,6 +227,9 @@ nodist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.deps - - valadoc@PACKAGE_SUFFIX@.deps: valadoc.deps - cp $< $@ -+if !ENABLE_GRAPHVIZ -+ sed -i "s/libgvc//g" $@ -+endif - - EXTRA_DIST = \ - $(libvaladoc_la_VALASOURCES) \ -diff --git a/libvaladoc/html/basicdoclet.vala b/libvaladoc/html/basicdoclet.vala -index f4999efd4..03871d687 100644 ---- a/libvaladoc/html/basicdoclet.vala -+++ b/libvaladoc/html/basicdoclet.vala -@@ -46,7 +46,11 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet { - protected HtmlRenderer _renderer; - protected Html.MarkupWriter writer; - protected Html.CssClassResolver cssresolver; -+#if HAVE_GRAPHVIZ - protected Charts.Factory image_factory; -+#else -+ protected void* image_factory; -+#endif - protected ErrorReporter reporter; - protected string package_list_link = "../index.html"; - -@@ -120,7 +124,9 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet { - this.linker = new LinkHelper (); - - _renderer = new HtmlRenderer (settings, this.linker, this.cssresolver); -+#if HAVE_GRAPHVIZ - this.image_factory = new SimpleChartFactory (settings, linker); -+#endif - } - - -@@ -1028,6 +1034,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet { - } - - protected void write_image_block (Api.Node element) { -+#if HAVE_GRAPHVIZ - if (element is Class || element is Interface || element is Struct) { - unowned string format = (settings.use_svg_images ? "svg" : "png"); - var chart = new Charts.Hierarchy (image_factory, element); -@@ -1047,6 +1054,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet { - this.get_img_path_html (element, format)}); - writer.add_usemap (chart); - } -+#endif - } - - public void write_namespace_content (Namespace node, Api.Node? parent) { -diff --git a/libvaladoc/html/htmlmarkupwriter.vala b/libvaladoc/html/htmlmarkupwriter.vala -index 5aa4afdea..e79b0b8f5 100644 ---- a/libvaladoc/html/htmlmarkupwriter.vala -+++ b/libvaladoc/html/htmlmarkupwriter.vala -@@ -51,12 +51,16 @@ public class Valadoc.Html.MarkupWriter : Valadoc.MarkupWriter { - } - } - -+#if HAVE_GRAPHVIZ - public unowned MarkupWriter add_usemap (Charts.Chart chart) { - string? buf = (string?) chart.write_buffer ("cmapx"); - if (buf != null) { - raw_text ("\n"); - raw_text ((!) buf); - } -+#else -+ public unowned MarkupWriter add_usemap (void* chart) { -+#endif - - return this; - } diff --git a/pkgs/development/compilers/vala/setup-hook.sh b/pkgs/development/compilers/vala/setup-hook.sh deleted file mode 100644 index 53976e5cd0db..000000000000 --- a/pkgs/development/compilers/vala/setup-hook.sh +++ /dev/null @@ -1,24 +0,0 @@ -make_vala_find_vapi_files() { - # XDG_DATA_DIRS: required for finding .vapi files - if [ -d "$1/share/vala/vapi" -o -d "$1/share/vala-@apiVersion@/vapi" ]; then - addToSearchPath XDG_DATA_DIRS $1/share - fi -} - -addEnvHooks "$targetOffset" make_vala_find_vapi_files - -disable_incompabile_pointer_conversion_warning() { - # Work around incompatible function pointer conversion errors with clang 16 - # by setting ``-Wno-incompatible-function-pointer-types` in an env hook. - # See https://gitlab.gnome.org/GNOME/vala/-/issues/1413. - NIX_CFLAGS_COMPILE+=" -Wno-incompatible-function-pointer-types" -} - -addEnvHooks "$hostOffset" disable_incompabile_pointer_conversion_warning - -_multioutMoveVapiDirs() { - moveToOutput share/vala/vapi "${!outputDev}" - moveToOutput share/vala-@apiVersion@/vapi "${!outputDev}" -} - -preFixupHooks+=(_multioutMoveVapiDirs) |