about summary refs log tree commit diff
path: root/pkgs/development/compilers/vala
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/vala')
-rw-r--r--pkgs/development/compilers/vala/default.nix94
-rw-r--r--pkgs/development/compilers/vala/disable-graphviz-0.56.8.patch173
-rw-r--r--pkgs/development/compilers/vala/setup-hook.sh24
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)