summary refs log tree commit diff
path: root/pkgs/development/libraries/indicator-application
diff options
context:
space:
mode:
authorMatthijs Steen <emailmatthijs@gmail.com>2015-11-02 15:23:35 +0100
committerMatthijs Steen <emailmatthijs@gmail.com>2015-11-02 15:23:35 +0100
commit1502152a7d65b4a23e96e533cf8b9910f1691cdb (patch)
tree4517be129175132dfe0f7d0c9c3d73ae7712ca44 /pkgs/development/libraries/indicator-application
parentb44df493d325cc10df9ea9f6b6987c432b300fb7 (diff)
downloadnixpkgs-1502152a7d65b4a23e96e533cf8b9910f1691cdb.tar
nixpkgs-1502152a7d65b4a23e96e533cf8b9910f1691cdb.tar.gz
nixpkgs-1502152a7d65b4a23e96e533cf8b9910f1691cdb.tar.bz2
nixpkgs-1502152a7d65b4a23e96e533cf8b9910f1691cdb.tar.lz
nixpkgs-1502152a7d65b4a23e96e533cf8b9910f1691cdb.tar.xz
nixpkgs-1502152a7d65b4a23e96e533cf8b9910f1691cdb.tar.zst
nixpkgs-1502152a7d65b4a23e96e533cf8b9910f1691cdb.zip
indicator libraries: init at 12.10
The indicator libraries for GTK2 and GTK3.

The bindings for Mono do not work yet because of some issues with Perl in
gtk-sharp-2 and an Unhandled Exception caused by building with multiple cores:
https://aur.archlinux.org/packages/libindicate-sharp/#comment-290385

Some packages have TODOs for the indicator libraries,
since it is an optional dependency for most packages.
These packages have not been updated by this commit.
Diffstat (limited to 'pkgs/development/libraries/indicator-application')
-rw-r--r--pkgs/development/libraries/indicator-application/gtk2.nix53
-rw-r--r--pkgs/development/libraries/indicator-application/gtk3.nix55
2 files changed, 108 insertions, 0 deletions
diff --git a/pkgs/development/libraries/indicator-application/gtk2.nix b/pkgs/development/libraries/indicator-application/gtk2.nix
new file mode 100644
index 00000000000..7db9b1a0e42
--- /dev/null
+++ b/pkgs/development/libraries/indicator-application/gtk2.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchurl, lib, file
+, pkgconfig, autoconf
+, glib, dbus_glib, json_glib
+, gtk2, libindicator-gtk2, libdbusmenu-gtk2, libappindicator-gtk2 }:
+
+with lib;
+
+stdenv.mkDerivation rec {
+  name = "indicator-application-gtk2-${version}";
+  version = "12.10.0.1";
+
+  src = fetchurl {
+    url = "${meta.homepage}/indicator-application-gtk2/i-a-${version}/+download/indicator-application-${version}.tar.gz";
+    sha256 = "1xqsb6c1pwawabw854f7aybjrgyhc2r1316i9lyjspci51zk5m7v";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoconf ];
+
+  buildInputs = [
+    glib dbus_glib json_glib
+    gtk2 libindicator-gtk2 libdbusmenu-gtk2 libappindicator-gtk2
+  ];
+
+  postPatch = ''
+    substituteInPlace configure.ac \
+      --replace 'DBUSSERVICEDIR=`$PKG_CONFIG --variable=session_bus_services_dir dbus-1`' \
+                "DBUSSERVICEDIR=$out/share/dbus-1/services"
+    autoconf
+    substituteInPlace {configure,ltmain.sh,m4/libtool.m4} \
+      --replace /usr/bin/file ${file}/bin/file
+    substituteInPlace src/Makefile.in \
+      --replace 'applicationlibdir = $(INDICATORDIR)' "applicationlibdir = $out/lib"
+  '';
+
+  configureFlags = [
+    "CFLAGS=-Wno-error"
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+  ];
+
+  installFlags = [
+    "sysconfdir=\${out}/etc"
+    "localstatedir=\${TMPDIR}"
+  ];
+
+  meta = {
+    description = "Indicator to take menus from applications and place them in the panel (GTK+ 2 library for Xfce/LXDE)";
+    homepage = "https://launchpad.net/indicators-gtk2";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.msteen ];
+  };
+}
diff --git a/pkgs/development/libraries/indicator-application/gtk3.nix b/pkgs/development/libraries/indicator-application/gtk3.nix
new file mode 100644
index 00000000000..4847eba22ed
--- /dev/null
+++ b/pkgs/development/libraries/indicator-application/gtk3.nix
@@ -0,0 +1,55 @@
+{ stdenv, fetchurl, lib, file
+, pkgconfig, autoconf
+, glib, dbus_glib, json_glib
+, gtk3, libindicator-gtk3, libdbusmenu-gtk3, libappindicator-gtk3 }:
+
+with lib;
+
+stdenv.mkDerivation rec {
+  name = "indicator-application-gtk3-${version}";
+  version = "${versionMajor}.${versionMinor}";
+  versionMajor = "12.10";
+  versionMinor = "0";
+
+  src = fetchurl {
+    url = "${meta.homepage}/${versionMajor}/${version}/+download/indicator-application-${version}.tar.gz";
+    sha256 = "1z8ar0k47l4his7zvffbc2kn658nid51svqnfv0dms601w53gbpr";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoconf ];
+
+  buildInputs = [
+    glib dbus_glib json_glib
+    gtk3 libindicator-gtk3 libdbusmenu-gtk3 libappindicator-gtk3
+  ];
+
+  postPatch = ''
+    substituteInPlace configure.ac \
+      --replace 'DBUSSERVICEDIR=`$PKG_CONFIG --variable=session_bus_services_dir dbus-1`' \
+                "DBUSSERVICEDIR=$out/share/dbus-1/services"
+    autoconf
+    substituteInPlace {configure,ltmain.sh,m4/libtool.m4} \
+      --replace /usr/bin/file ${file}/bin/file
+    substituteInPlace src/Makefile.in \
+      --replace 'applicationlibdir = $(INDICATORDIR)' "applicationlibdir = $out/lib"
+  '';
+
+  configureFlags = [
+    "CFLAGS=-Wno-error"
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+  ];
+
+  installFlags = [
+    "sysconfdir=\${out}/etc"
+    "localstatedir=\${TMPDIR}"
+  ];
+
+  meta = {
+    description = "Indicator to take menus from applications and place them in the panel";
+    homepage = "https://launchpad.net/indicator-application";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.msteen ];
+  };
+}