about summary refs log tree commit diff
path: root/nixpkgs/pkgs/desktops/gnome-3/misc/gpaste/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/desktops/gnome-3/misc/gpaste/default.nix')
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/misc/gpaste/default.nix76
1 files changed, 60 insertions, 16 deletions
diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gpaste/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gpaste/default.nix
index 46ca01c1a1a1..00e21e30a29a 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/misc/gpaste/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gpaste/default.nix
@@ -1,16 +1,47 @@
-{ stdenv, fetchurl, autoreconfHook, pkgconfig, vala, glib, gjs, mutter
-, pango, gtk3, gnome3, dbus, clutter, appstream-glib, wrapGAppsHook, gobject-introspection }:
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, appstream-glib
+, clutter
+, gjs
+, glib
+, gnome3
+, gobject-introspection
+, gtk3
+, meson
+, mutter
+, ninja
+, pango
+, pkgconfig
+, vala
+, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
-  version = "3.32.0";
+  version = "3.34.1";
   pname = "gpaste";
 
-  src = fetchurl {
-    url = "https://github.com/Keruspe/GPaste/archive/v${version}.tar.gz";
-    sha256 = "1fvpl9vqmrr1w22hm0ybabn9pjfii5qj9ghnc2jzihgrn2h486v6";
+  src = fetchFromGitHub {
+    owner = "Keruspe";
+    repo = "GPaste";
+    rev = "v${version}";
+    sha256 = "1jcj0kgxhad8rblyqhwa2yhkf0010k80w9bm2rajanad2c3bqaxa";
   };
 
   patches = [
+    # Meson fixes
+    # https://github.com/Keruspe/GPaste/pull/283
+    # install systemd units
+    (fetchpatch {
+      url = "https://github.com/Keruspe/GPaste/commit/a474d8c1f2bd600476ba52dc19f517787845533b.patch";
+      sha256 = "19m1ar61l2n0vb5a5qfhdny8giivqlyq04l3j9i8llv16vx80rg2";
+    })
+    # apply symbol versioning
+    (fetchpatch {
+      url = "https://github.com/Keruspe/GPaste/commit/08047752e8dba9363673ddefd422c43075f08006.patch";
+      sha256 = "0jvcs1a17sijvb2wqyn3y8shdxrhv4kwzxs39kmh9y8nyx2dzhpf";
+    })
+
     ./fix-paths.patch
   ];
 
@@ -26,24 +57,37 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [
-    autoreconfHook pkgconfig vala appstream-glib wrapGAppsHook
+    appstream-glib
+    gobject-introspection
+    meson
+    ninja
+    pkgconfig
+    vala
+    wrapGAppsHook
   ];
+
   buildInputs = [
-    glib gjs mutter gtk3 dbus
-    clutter pango gobject-introspection
+    clutter # required by mutter-clutter
+    gjs
+    glib
+    gtk3
+    mutter
+    pango
   ];
 
-  configureFlags = [
-    "--with-controlcenterdir=${placeholder "out"}/share/gnome-control-center/keybindings"
-    "--with-dbusservicesdir=${placeholder "out"}/share/dbus-1/services"
-    "--with-systemduserunitdir=${placeholder "out"}/etc/systemd/user"
+  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"
   ];
 
-  enableParallelBuilding = true;
+  postInstall = ''
+    ${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas"
+  '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/Keruspe/GPaste;
-    description = "Clipboard management system with GNOME3 integration";
+    homepage = "https://github.com/Keruspe/GPaste";
+    description = "Clipboard management system with GNOME 3 integration";
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = gnome3.maintainers;