Unverified Commit d9028e84 authored by расходный материал's avatar расходный материал Committed by GitHub
Browse files
parent 8e688f26
Loading
Loading
Loading
Loading
+57 −42
Original line number Diff line number Diff line
{ stdenv
, lib
, fetchFromGitHub
, meson
, ninja
, pkg-config
, gobject-introspection
, vala
, gi-docgen
, glib
, gtk3
, gtk4
, libsForQt5
, variant ? null
{
  stdenv,
  lib,
  fetchFromGitHub,
  meson,
  ninja,
  pkg-config,
  gobject-introspection,
  vala,
  gi-docgen,
  glib,
  gtk3,
  gtk4,
  libsForQt5,
  qt6Packages,
  variant ? null,
}:

assert variant == null || variant == "gtk3" || variant == "gtk4" || variant == "qt5";
assert
  variant == null || variant == "gtk3" || variant == "gtk4" || variant == "qt5" || variant == "qt6";

stdenv.mkDerivation rec {
  pname = "libportal" + lib.optionalString (variant != null) "-${variant}";
  version = "0.7.1";
  version = "0.8.1";

  outputs = [ "out" "dev" ]
    ++ lib.optional (variant != "qt5") "devdoc";
  outputs = [
    "out"
    "dev"
  ] ++ lib.optional (variant != "qt5") "devdoc";

  src = fetchFromGitHub {
    owner = "flatpak";
    repo = "libportal";
    rev = version;
    sha256 = "sha256-3roZJHnGFM7ClxbB7I/haexPTwYskidz9F+WV3RL9Ho=";
    sha256 = "sha256-NAkD5pAQpmAtVxsFZt74PwURv+RbGBfqENIwyxEEUSc=";
  };

  depsBuildBuild = [
    pkg-config
  ];

  nativeBuildInputs = [
  nativeBuildInputs =
    [
      meson
      ninja
      pkg-config
      gi-docgen
  ] ++ lib.optionals (variant != "qt5") [
    ]
    ++ lib.optionals (variant != "qt5") [
      gobject-introspection
      vala
    ];

  propagatedBuildInputs = [
  propagatedBuildInputs =
    [
      glib
  ] ++ lib.optionals (variant == "gtk3") [
    ]
    ++ lib.optionals (variant == "gtk3") [
      gtk3
  ] ++ lib.optionals (variant == "gtk4") [
    ]
    ++ lib.optionals (variant == "gtk4") [
      gtk4
  ] ++ lib.optionals (variant == "qt5") [
    ]
    ++ lib.optionals (variant == "qt5") [
      libsForQt5.qtbase
      libsForQt5.qtx11extras
    ]
    ++ lib.optionals (variant == "qt6") [
      qt6Packages.qtbase
    ];

  mesonFlags = [
    (lib.mesonEnable "backend-gtk3" (variant == "gtk3"))
    (lib.mesonEnable "backend-gtk4" (variant == "gtk4"))
    (lib.mesonEnable "backend-qt5" (variant == "qt5"))
    (lib.mesonEnable "backend-qt6" (variant == "qt6"))
    (lib.mesonBool "vapi" (variant != "qt5"))
    (lib.mesonBool "introspection" (variant != "qt5"))
    (lib.mesonBool "docs" (variant != "qt5")) # requires introspection=true
@@ -72,11 +87,11 @@ stdenv.mkDerivation rec {
  # we don't have any binaries
  dontWrapQtApps = true;

  meta = with lib; {
  meta = {
    description = "Flatpak portal library";
    homepage = "https://github.com/flatpak/libportal";
    license = licenses.lgpl3Plus;
    maintainers = with maintainers; [ jtojnar ];
    platforms = platforms.unix;
    license = lib.licenses.lgpl3Plus;
    maintainers = with lib.maintainers; [ jtojnar ];
    platforms = lib.platforms.unix;
  };
}
+1 −0
Original line number Diff line number Diff line
@@ -9732,6 +9732,7 @@ with pkgs;
  libportal-gtk3 = libportal.override { variant = "gtk3"; };
  libportal-gtk4 = libportal.override { variant = "gtk4"; };
  libportal-qt5 = libportal.override { variant = "qt5"; };
  libportal-qt6 = libportal.override { variant = "qt6"; };
  libmicrodns = callPackage ../development/libraries/libmicrodns { };