This reverts commit 65a333600d5c88a98d674f637d092807cfc12253. This wasn't tested for correctness with something like fodwatch [0], and should not have been (self-)merged so quickly, especially without further review. It also resulted in the breakage of at least one package [1] (and that's the one we know of and was caught). A few packages that were updated in between this commit and this revert were not reverted back to using `rev`, but other than that, this is a 1:1 revert. [0]: https://codeberg.org/raphaelr/fodwatch [1]: https://github.com/NixOS/nixpkgs/pull/396904 / 758551e4587d75882aebc21a04bee960418f8ce9
		
			
				
	
	
		
			98 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  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" || variant == "qt6";
 | 
						|
 | 
						|
stdenv.mkDerivation rec {
 | 
						|
  pname = "libportal" + lib.optionalString (variant != null) "-${variant}";
 | 
						|
  version = "0.9.1";
 | 
						|
 | 
						|
  outputs = [
 | 
						|
    "out"
 | 
						|
    "dev"
 | 
						|
  ] ++ lib.optional (variant != "qt5") "devdoc";
 | 
						|
 | 
						|
  src = fetchFromGitHub {
 | 
						|
    owner = "flatpak";
 | 
						|
    repo = "libportal";
 | 
						|
    rev = version;
 | 
						|
    sha256 = "sha256-CXI4rBr9wxLUX537d6SNNf8YFR/J6YdeROlFt3edeOU=";
 | 
						|
  };
 | 
						|
 | 
						|
  depsBuildBuild = [
 | 
						|
    pkg-config
 | 
						|
  ];
 | 
						|
 | 
						|
  nativeBuildInputs =
 | 
						|
    [
 | 
						|
      meson
 | 
						|
      ninja
 | 
						|
      pkg-config
 | 
						|
      gi-docgen
 | 
						|
    ]
 | 
						|
    ++ lib.optionals (variant != "qt5") [
 | 
						|
      gobject-introspection
 | 
						|
      vala
 | 
						|
    ];
 | 
						|
 | 
						|
  propagatedBuildInputs =
 | 
						|
    [
 | 
						|
      glib
 | 
						|
    ]
 | 
						|
    ++ lib.optionals (variant == "gtk3") [
 | 
						|
      gtk3
 | 
						|
    ]
 | 
						|
    ++ lib.optionals (variant == "gtk4") [
 | 
						|
      gtk4
 | 
						|
    ]
 | 
						|
    ++ 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
 | 
						|
  ];
 | 
						|
 | 
						|
  postFixup = ''
 | 
						|
    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
 | 
						|
    moveToOutput "share/doc" "$devdoc"
 | 
						|
  '';
 | 
						|
 | 
						|
  # we don't have any binaries
 | 
						|
  dontWrapQtApps = true;
 | 
						|
 | 
						|
  meta = {
 | 
						|
    description = "Flatpak portal library";
 | 
						|
    homepage = "https://github.com/flatpak/libportal";
 | 
						|
    license = lib.licenses.lgpl3Plus;
 | 
						|
    maintainers = with lib.maintainers; [ jtojnar ];
 | 
						|
    platforms = lib.platforms.unix;
 | 
						|
  };
 | 
						|
}
 |