diff --git a/pkgs/development/libraries/libgtkflow/default.nix b/pkgs/development/libraries/libgflow/default.nix similarity index 59% rename from pkgs/development/libraries/libgtkflow/default.nix rename to pkgs/development/libraries/libgflow/default.nix index 78e43d56b9a4..007afa6ef5bf 100644 --- a/pkgs/development/libraries/libgtkflow/default.nix +++ b/pkgs/development/libraries/libgflow/default.nix @@ -1,15 +1,18 @@ {stdenv, lib, vala, meson, ninja, pkg-config, fetchFromGitea, gobject-introspection, glib, gtk3}: stdenv.mkDerivation rec { - pname = "libgtkflow"; - version = "0.10.0"; + pname = "libgflow"; + version = "1.0.4"; + + outputs = [ "out" "dev" "devdoc" ]; + outputBin = "devdoc"; # demo app src = fetchFromGitea { domain = "notabug.org"; owner = "grindhold"; - repo = pname; - rev = version; - hash = "sha256-iTOoga94yjGTowQOM/EvHEDOO9Z3UutPGRgEoI1UWkI="; + repo = "libgtkflow"; + rev = "gflow_${version}"; + hash = "sha256-JoVq7U5JQ3pRxptR7igWFw7lcBTsgr3aVXxayLqhyFo="; }; nativeBuildInputs = [ @@ -25,8 +28,15 @@ stdenv.mkDerivation rec { glib ]; + postFixup = '' + # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. + moveToOutput "share/doc" "$devdoc" + ''; + mesonFlags = [ "-Denable_valadoc=true" + "-Denable_gtk3=false" + "-Denable_gtk4=false" ]; meta = with lib; { diff --git a/pkgs/development/libraries/libgtkflow3/default.nix b/pkgs/development/libraries/libgtkflow3/default.nix new file mode 100644 index 000000000000..7c85bd00b5d6 --- /dev/null +++ b/pkgs/development/libraries/libgtkflow3/default.nix @@ -0,0 +1,54 @@ +{stdenv, lib, vala, meson, ninja, pkg-config, fetchFromGitea, gobject-introspection, glib, gtk3, libgflow}: + +stdenv.mkDerivation rec { + pname = "libgtkflow3"; + version = "1.0.6"; + + outputs = [ "out" "dev" "devdoc" ]; + outputBin = "devdoc"; # demo app + + src = fetchFromGitea { + domain = "notabug.org"; + owner = "grindhold"; + repo = "libgtkflow"; + rev = "gtkflow3_${version}"; + hash = "sha256-JoVq7U5JQ3pRxptR7igWFw7lcBTsgr3aVXxayLqhyFo="; + }; + + nativeBuildInputs = [ + vala + meson + ninja + pkg-config + gobject-introspection + ]; + + buildInputs = [ + gtk3 + glib + libgflow + ]; + + postFixup = '' + # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. + moveToOutput "share/doc" "$devdoc" + ''; + + mesonFlags = [ + "-Denable_valadoc=true" + "-Denable_gtk4=false" + "-Denable_gflow=false" + ]; + + postPatch = '' + rm -r libgflow + ''; + + meta = with lib; { + description = "Flow graph widget for GTK 3"; + homepage = "https://notabug.org/grindhold/libgtkflow"; + maintainers = with maintainers; [ grindhold ]; + license = licenses.lgpl3Plus; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/libraries/libgtkflow4/default.nix b/pkgs/development/libraries/libgtkflow4/default.nix new file mode 100644 index 000000000000..60439e7636e1 --- /dev/null +++ b/pkgs/development/libraries/libgtkflow4/default.nix @@ -0,0 +1,54 @@ +{stdenv, lib, vala, meson, ninja, pkg-config, fetchFromGitea, gobject-introspection, glib, gtk4, libgflow}: + +stdenv.mkDerivation rec { + pname = "libgtkflow4"; + version = "0.2.6"; + + outputs = [ "out" "dev" "devdoc" ]; + outputBin = "devdoc"; # demo app + + src = fetchFromGitea { + domain = "notabug.org"; + owner = "grindhold"; + repo = "libgtkflow"; + rev = "gtkflow4_${version}"; + hash = "sha256-JoVq7U5JQ3pRxptR7igWFw7lcBTsgr3aVXxayLqhyFo="; + }; + + nativeBuildInputs = [ + vala + meson + ninja + pkg-config + gobject-introspection + ]; + + buildInputs = [ + gtk4 + glib + libgflow + ]; + + postFixup = '' + # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. + moveToOutput "share/doc" "$devdoc" + ''; + + mesonFlags = [ + "-Denable_valadoc=true" + "-Denable_gtk3=false" + "-Denable_gflow=false" + ]; + + postPatch = '' + rm -r libgflow + ''; + + meta = with lib; { + description = "Flow graph widget for GTK 3"; + homepage = "https://notabug.org/grindhold/libgtkflow"; + maintainers = with maintainers; [ grindhold ]; + license = licenses.lgpl3Plus; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 295e50ee13fc..4a84ebc4aa3b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -899,7 +899,9 @@ with pkgs; ld-is-cc-hook = makeSetupHook { name = "ld-is-cc-hook"; } ../build-support/setup-hooks/ld-is-cc-hook.sh; - libgtkflow = callPackage ../development/libraries/libgtkflow { }; + libgflow = callPackage ../development/libraries/libgflow { }; + libgtkflow3 = callPackage ../development/libraries/libgtkflow3 { }; + libgtkflow4 = callPackage ../development/libraries/libgtkflow4 { }; libredirect = callPackage ../build-support/libredirect { };