gnome3.gpaste: general improvements

* Port to Meson (builds much faster)
   * needed a patch to install systemd units
   * soversion does not match but we do not care (https://github.com/Keruspe/GPaste/pull/285)
* Format with nixpkgs-format
* Updated license (BSD since 3.20)
* Drop dbus dependency (we are setting the paths manually anyway)
* Switch to fetchFromGitHub
* Add comment why clutter is needed
This commit is contained in:
Jan Tojnar 2019-10-19 23:01:24 +02:00
parent 7ba42794a8
commit 84eabbc85b
No known key found for this signature in database
GPG key ID: 7FAB2A15F7A607A4

View file

@ -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.34.1";
pname = "gpaste";
src = fetchurl {
url = "https://github.com/Keruspe/GPaste/archive/v${version}.tar.gz";
sha256 = "1vqa1r7niyfjrxlnd4jb4vx6n9jd2260g1scnjalrl0xrnpbsbds";
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;