nixpkgs/pkgs/desktops/gnome/misc/gpaste/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

89 lines
2.2 KiB
Nix
Raw Normal View History

{ stdenv
, lib
, fetchurl
, gjs
, glib
, gobject-introspection
, gtk3
, gtk4
2022-09-08 13:21:56 +00:00
, gcr_4
, libadwaita
, meson
, ninja
, pango
2021-01-17 02:21:50 +00:00
, pkg-config
, vala
2022-09-08 13:21:56 +00:00
, desktop-file-utils
, wrapGAppsHook
}:
stdenv.mkDerivation (finalAttrs: {
version = "45.1";
pname = "gpaste";
src = fetchurl {
url = "https://www.imagination-land.org/files/gpaste/GPaste-${finalAttrs.version}.tar.xz";
hash = "sha256-yYLoHn3/2xlefBeErnydNfkvtJva8/9f9JHhfschBpQ=";
};
patches = [
./fix-paths.patch
];
# TODO: switch to substituteAll with placeholder
# https://github.com/NixOS/nix/issues/1846
postPatch = ''
substituteInPlace src/libgpaste/gpaste/gpaste-settings.c \
--subst-var-by gschemasCompiled ${glib.makeSchemaPath (placeholder "out") "${finalAttrs.pname}-${finalAttrs.version}"}
'';
2018-09-12 18:28:23 +00:00
nativeBuildInputs = [
gobject-introspection
meson
ninja
2021-01-17 02:21:50 +00:00
pkg-config
vala
2022-09-08 13:21:56 +00:00
desktop-file-utils
wrapGAppsHook
2018-09-12 18:28:23 +00:00
];
2018-09-12 18:28:23 +00:00
buildInputs = [
gjs
glib
gtk3
gtk4
2022-09-08 13:21:56 +00:00
gcr_4
libadwaita
pango
2018-09-12 18:28:23 +00:00
];
mesonFlags = [
"-Dcontrol-center-keybindings-dir=${placeholder "out"}/share/gnome-control-center/keybindings"
"-Ddbus-services-dir=${placeholder "out"}/share/dbus-1/services"
"-Dsystemd-user-unit-dir=${placeholder "out"}/etc/systemd/user"
2018-09-12 18:28:23 +00:00
];
postInstall = ''
# We do not have central location to install typelibs to,
# lets ensure GNOME Shell can still find them.
extensionDir="$out/share/gnome-shell/extensions/GPaste@gnome-shell-extensions.gnome.org"
mv "$extensionDir/"{extension,.extension-wrapped}.js
mv "$extensionDir/"{prefs,.prefs-wrapped}.js
substitute "${./wrapper.js}" "$extensionDir/extension.js" \
--subst-var-by originalName "extension" \
--subst-var-by typelibPath "${placeholder "out"}/lib/girepository-1.0"
substitute "${./wrapper.js}" "$extensionDir/prefs.js" \
--subst-var-by originalName "prefs" \
--subst-var-by typelibPath "${placeholder "out"}/lib/girepository-1.0"
'';
meta = with lib; {
homepage = "https://github.com/Keruspe/GPaste";
description = "Clipboard management system with GNOME integration";
mainProgram = "gpaste-client";
license = licenses.bsd2;
platforms = platforms.linux;
maintainers = teams.gnome.members;
};
})