12 , gobject-introspection
42 stdenv.mkDerivation (finalAttrs: {
43 pname = "gnome-builder";
46 outputs = [ "out" "devdoc" ];
49 url = "mirror://gnome/sources/gnome-builder/${lib.versions.major finalAttrs.version}/gnome-builder-${finalAttrs.version}.tar.xz";
50 hash = "sha256-Roe5PEfNHjNmWi3FA3kLYhPugnhy/ABNl40UvL+ptJU=";
54 # The test environment hardcodes `GI_TYPELIB_PATH` environment variable to direct dependencies of libide & co.
55 # https://gitlab.gnome.org/GNOME/gnome-builder/-/commit/2ce510b0ec0518c29427a29b386bb2ac1a121edf
56 # https://gitlab.gnome.org/GNOME/gnome-builder/-/commit/2964f7c2a0729f2f456cdca29a0f5b7525baf7c1
58 # But Nix does not have a fallback path for typelibs like /usr/lib on FHS distros and relies solely
59 # on `GI_TYPELIB_PATH` environment variable. So, when Ide started to depend on Vte, which
60 # depends on Pango, among others, GIrepository was unable to find these indirect dependencies
63 # Typelib file for namespace 'Pango', version '1.0' not found (g-irepository-error-quark, 0)
64 ./fix-finding-test-typelibs.patch
106 nativeCheckInputs = [
114 # Making the build system correctly detect clang header and library paths
115 # is difficult. Somebody should look into fixing this.
116 "-Dplugin_clang=false"
118 # Do not try to check if appstream images exist
119 "-Dnetwork_tests=false"
125 patchShebangs build-aux/meson/post_install.py
126 substituteInPlace build-aux/meson/post_install.py \
127 --replace "gtk-update-icon-cache" "gtk4-update-icon-cache"
132 xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
133 --config-file=${dbus}/share/dbus-1/session.conf \
134 meson test --print-errorlogs
140 --prefix PATH : "${sysprof}/bin"
143 # Ensure that all plugins get their interpreter paths fixed up.
144 find $out/lib -name \*.py -type f -print0 | while read -d "" f; do
150 # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
151 moveToOutput share/doc/libide "$devdoc"
154 passthru.updateScript = gnome.updateScript {
155 packageName = "gnome-builder";
159 description = "IDE for writing GNOME-based software";
161 Global search, auto-completion, source code map, documentation
162 reference, and other features expected in an IDE, but with a focus
163 on streamlining GNOME-based development projects.
165 This package does not pull in the dependencies needed for every
166 plugin. If you find that a plugin you wish to use doesn't work, we
167 currently recommend running gnome-builder inside a nix-shell with
168 appropriate dependencies loaded.
170 homepage = "https://apps.gnome.org/Builder/";
171 license = licenses.gpl3Plus;
172 maintainers = teams.gnome.members;
173 platforms = platforms.linux;
174 mainProgram = "gnome-builder";