about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorworldofpeace <worldofpeace@protonmail.ch>2019-12-14 22:25:11 -0500
committerGitHub <noreply@github.com>2019-12-14 22:25:11 -0500
commitbfcc281a2738714a88fc4e0fbaad5055dfebbb44 (patch)
tree6aad62ecff8578e967178304c5ad5b341c9cfdf7 /pkgs
parent367676ce82b3b5e63f322b335ed8a2bc3b4216bc (diff)
parent47dcb0439a7f891645471c8d003e0d3466978229 (diff)
downloadnixlib-bfcc281a2738714a88fc4e0fbaad5055dfebbb44.tar
nixlib-bfcc281a2738714a88fc4e0fbaad5055dfebbb44.tar.gz
nixlib-bfcc281a2738714a88fc4e0fbaad5055dfebbb44.tar.bz2
nixlib-bfcc281a2738714a88fc4e0fbaad5055dfebbb44.tar.lz
nixlib-bfcc281a2738714a88fc4e0fbaad5055dfebbb44.tar.xz
nixlib-bfcc281a2738714a88fc4e0fbaad5055dfebbb44.tar.zst
nixlib-bfcc281a2738714a88fc4e0fbaad5055dfebbb44.zip
Merge pull request #75138 from mkg20001/feat/add-xapps-cinnamon
cinnamon.xapps: init at 1.6.8
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/desktops/cinnamon/default.nix5
-rw-r--r--pkgs/desktops/cinnamon/xapps/default.nix104
-rw-r--r--pkgs/development/libraries/libgnomekbd/default.nix20
-rw-r--r--pkgs/development/python-modules/xapp/default.nix43
-rw-r--r--pkgs/top-level/all-packages.nix2
-rw-r--r--pkgs/top-level/python-packages.nix9
6 files changed, 174 insertions, 9 deletions
diff --git a/pkgs/desktops/cinnamon/default.nix b/pkgs/desktops/cinnamon/default.nix
new file mode 100644
index 000000000000..445890782414
--- /dev/null
+++ b/pkgs/desktops/cinnamon/default.nix
@@ -0,0 +1,5 @@
+{ pkgs, lib }:
+
+lib.makeScope pkgs.newScope (self: with self; {
+  xapps = callPackage ./xapps {};
+})
diff --git a/pkgs/desktops/cinnamon/xapps/default.nix b/pkgs/desktops/cinnamon/xapps/default.nix
new file mode 100644
index 000000000000..f63ab3cedd8c
--- /dev/null
+++ b/pkgs/desktops/cinnamon/xapps/default.nix
@@ -0,0 +1,104 @@
+{ fetchFromGitHub
+, fetchpatch
+, glib
+, gobject-introspection
+, gtk3
+, libgnomekbd
+, gdk-pixbuf
+, cairo
+, xorg
+, meson
+, ninja
+, pkgconfig
+, python3
+, stdenv
+, vala
+, wrapGAppsHook
+, inxi
+, mate
+}:
+
+stdenv.mkDerivation rec {
+  pname = "xapps";
+  version = "1.6.8";
+
+  outputs = [ "out" "dev" ];
+
+  src = fetchFromGitHub {
+    owner = "linuxmint";
+    repo = pname;
+    rev = version;
+    sha256 = "09f77vsydv8r6r43py8hrpq7pb4a1pfivy19zgijjy2241i7059v";
+  };
+
+  # TODO: https://github.com/NixOS/nixpkgs/issues/36468
+  NIX_CFLAGS_COMPILE = [
+    "-I${glib.dev}/include/gio-unix-2.0"
+  ];
+
+  patches = [
+    (fetchpatch { # details see https://github.com/linuxmint/xapps/pull/65
+      url = "https://github.com/linuxmint/xapps/compare/d361d9cf357fade59b4bb68df2dcb2c0c39f90e1...2dfe82ec68981ea046345b2be349bd56293579f7.diff";
+      sha256 = "0sffclamvjas8ad57kxrg0vrgrd95xsk0xdl53dc3yivpxkfxrnk";
+    })
+  ];
+
+  nativeBuildInputs = [
+    gobject-introspection
+    meson
+    ninja
+    pkgconfig
+    python3
+    vala
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    (python3.withPackages(ps: with ps; [
+      pygobject3
+      setproctitle # mate applet
+    ]))
+    libgnomekbd
+    gdk-pixbuf
+    xorg.libxkbfile
+    python3.pkgs.pygobject3 # for .pc file
+    mate.mate-panel # for gobject-introspection
+  ];
+
+  # Requires in xapp.pc
+  propagatedBuildInputs = [
+    gtk3
+    cairo
+    glib
+  ];
+
+  mesonFlags = [
+    "-Dpy-overrides-dir=${placeholder "out"}/${python3.sitePackages}/gi/overrides"
+  ];
+
+  postPatch = ''
+    chmod +x schemas/meson_install_schemas.py # patchShebangs requires executable file
+
+    # The fetchpatch hook removes the renames, so postPatch has to rename those files, remove once PR merged
+    mv files/usr/bin/pastebin scripts/pastebin
+    mv files/usr/bin/upload-system-info scripts/upload-system-info
+    mv files/usr/bin/xfce4-set-wallpaper scripts/xfce4-set-wallpaper
+    mv files/usr/share/icons/hicolor icons
+
+    patchShebangs \
+      libxapp/g-codegen.py \
+      schemas/meson_install_schemas.py
+
+    # Patch pastebin & inxi location
+    sed "s|/usr/bin/pastebin|$out/bin/pastebin|" -i scripts/upload-system-info
+    sed "s|'inxi'|'${inxi}/bin/inxi'|" -i scripts/upload-system-info
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/linuxmint/xapps";
+    description = "Cross-desktop libraries and common resources";
+    license = licenses.lgpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.mkg20001 ];
+  };
+}
diff --git a/pkgs/development/libraries/libgnomekbd/default.nix b/pkgs/development/libraries/libgnomekbd/default.nix
index 0951ab1fe0c0..21523bf2e1a5 100644
--- a/pkgs/development/libraries/libgnomekbd/default.nix
+++ b/pkgs/development/libraries/libgnomekbd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, file, intltool, glib, gtk3, libxklavier, makeWrapper, gnome3 }:
+{ stdenv, fetchurl, pkgconfig, file, intltool, glib, gtk3, libxklavier, wrapGAppsHook, gnome3 }:
 
 stdenv.mkDerivation rec {
   pname = "libgnomekbd";
@@ -13,13 +13,19 @@ stdenv.mkDerivation rec {
     updateScript = gnome3.updateScript { packageName = pname; };
   };
 
-  nativeBuildInputs = [ pkgconfig file intltool makeWrapper ];
-  buildInputs = [ glib gtk3 libxklavier ];
+  nativeBuildInputs = [
+    file
+    intltool
+    pkgconfig
+    wrapGAppsHook
+  ];
 
-  preFixup = ''
-    wrapProgram $out/bin/gkbd-keyboard-display \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
-  '';
+  # Requires in libgnomekbd.pc
+  propagatedBuildInputs = [
+    gtk3
+    libxklavier
+    glib
+  ];
 
   meta = with stdenv.lib; {
     description = "Keyboard management library";
diff --git a/pkgs/development/python-modules/xapp/default.nix b/pkgs/development/python-modules/xapp/default.nix
new file mode 100644
index 000000000000..440db3430253
--- /dev/null
+++ b/pkgs/development/python-modules/xapp/default.nix
@@ -0,0 +1,43 @@
+{ stdenv
+, fetchFromGitHub
+, buildPythonPackage
+, psutil
+, pygobject3
+, gtk3
+, gobject-introspection
+, xapps
+, polkit
+}:
+
+buildPythonPackage rec {
+  pname = "xapp";
+  version = "1.8.1";
+
+  src = fetchFromGitHub {
+    owner = "linuxmint";
+    repo = "python-xapp";
+    rev = version;
+    sha256 = "0vw3cn09nx75lv4d9idp5fdhd81xs279zhbyyilynq29cxxs2zil";
+  };
+
+  propagatedBuildInputs = [
+    psutil
+    pygobject3
+    gtk3
+    gobject-introspection
+    xapps
+    polkit
+  ];
+
+  postPatch = ''
+    substituteInPlace "xapp/os.py" --replace "/usr/bin/pkexec" "${polkit}/bin/pkexec"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/linuxmint/python-xapp";
+    description = "Cross-desktop libraries and common resources for python";
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.mkg20001 ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 0fa068e1857f..5a3ff9c4b665 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -23345,6 +23345,8 @@ in
 
   ### DESKTOP ENVIRONMENTS
 
+  cinnamon = recurseIntoAttrs (callPackage ../desktops/cinnamon { });
+
   deepin = recurseIntoAttrs (import ../desktops/deepin {
     inherit pkgs libsForQt5;
     inherit (lib) makeScope;
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index b596f6b24c01..d0b045a73897 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -182,7 +182,7 @@ in {
   aresponses = callPackage ../development/python-modules/aresponses { };
 
   argon2_cffi = callPackage ../development/python-modules/argon2_cffi { };
-  
+
   arviz = callPackage ../development/python-modules/arviz { };
 
   asana = callPackage ../development/python-modules/asana { };
@@ -1148,7 +1148,7 @@ in {
   pytesseract = callPackage ../development/python-modules/pytesseract { };
 
   pytest-bdd = callPackage ../development/python-modules/pytest-bdd { };
-  
+
   pytest-black = callPackage ../development/python-modules/pytest-black { };
 
   pytest-click = callPackage ../development/python-modules/pytest-click { };
@@ -5422,6 +5422,11 @@ in {
 
   xapian = callPackage ../development/python-modules/xapian { xapian = pkgs.xapian; };
 
+  xapp = callPackage ../development/python-modules/xapp {
+    inherit (pkgs) gtk3 gobject-introspection polkit;
+    inherit (pkgs.cinnamon) xapps;
+  };
+
   xlwt = callPackage ../development/python-modules/xlwt { };
 
   xxhash = callPackage ../development/python-modules/xxhash { };