about summary refs log tree commit diff
path: root/pkgs/tools/bluetooth/blueman/default.nix
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2016-02-12 22:46:28 +0300
committerNikolay Amiantov <ab@fmap.me>2016-02-12 22:47:51 +0300
commit08361aa43e723ed5fa1554c2dccd9f7595555c03 (patch)
tree49e83780e1789fe8daa6c9f57f664ef38f07d121 /pkgs/tools/bluetooth/blueman/default.nix
parent62365ecf1ab3c8d115d9e2fcb9009d7b07b35aba (diff)
downloadnixlib-08361aa43e723ed5fa1554c2dccd9f7595555c03.tar
nixlib-08361aa43e723ed5fa1554c2dccd9f7595555c03.tar.gz
nixlib-08361aa43e723ed5fa1554c2dccd9f7595555c03.tar.bz2
nixlib-08361aa43e723ed5fa1554c2dccd9f7595555c03.tar.lz
nixlib-08361aa43e723ed5fa1554c2dccd9f7595555c03.tar.xz
nixlib-08361aa43e723ed5fa1554c2dccd9f7595555c03.tar.zst
nixlib-08361aa43e723ed5fa1554c2dccd9f7595555c03.zip
blueman: 1.23 -> 2.0.3
Diffstat (limited to 'pkgs/tools/bluetooth/blueman/default.nix')
-rw-r--r--pkgs/tools/bluetooth/blueman/default.nix68
1 files changed, 37 insertions, 31 deletions
diff --git a/pkgs/tools/bluetooth/blueman/default.nix b/pkgs/tools/bluetooth/blueman/default.nix
index 5330dfb82bd2..82d9f085f78e 100644
--- a/pkgs/tools/bluetooth/blueman/default.nix
+++ b/pkgs/tools/bluetooth/blueman/default.nix
@@ -1,43 +1,49 @@
-{ stdenv, fetchurl, pkgconfig, intltool, python, pyrex, pygobject, pygtk
-, notify, pythonDBus, bluez, glib, gtk, libstartup_notification
-, makeWrapper, xdg_utils, obex_data_server
-, libpulseaudio
-}:
-   
-stdenv.mkDerivation rec {
-  name = "blueman-1.23";
+{ stdenv, lib, fetchurl, intltool, pkgconfig, pythonPackages, bluez, polkit, gtk3
+, obex_data_server, xdg_utils, libnotify, dconf
+, withPulseAudio ? true, libpulseaudio }:
+
+let
+  binPath = lib.makeBinPath [ xdg_utils ];
+
+in stdenv.mkDerivation rec {
+  name = "blueman-${version}";
+  version = "2.0.3";
    
   src = fetchurl {
-    url = "http://download.tuxfamily.org/blueman/${name}.tar.gz";
-    sha256 = "04ghlh4h5bwp9mqr5jxcmjm01595l5fq5561qxvf369fvjy63cjh";
+    url = "https://github.com/blueman-project/blueman/releases/download/${version}/${name}.tar.xz";
+    sha256 = "09aqlk4c2qzqpmyf7b40sic7d45c1l8fyrb9f3s22b8w83j0adi4";
   };
 
-  configureFlags = "--disable-polkit";
+  nativeBuildInputs = [ intltool pkgconfig pythonPackages.wrapPython pythonPackages.cython ];
+
+  buildInputs = [ bluez gtk3 pythonPackages.python libnotify dconf ]
+                ++ pythonPath
+                ++ lib.optional withPulseAudio libpulseaudio;
+
+  postPatch = lib.optionalString withPulseAudio ''
+    sed -i 's,CDLL(",CDLL("${libpulseaudio}/lib/,g' blueman/main/PulseAudioUtils.py
+  '';
 
-  buildInputs =
-    [ pkgconfig intltool python pyrex pygobject pygtk notify pythonDBus
-      bluez glib gtk libstartup_notification makeWrapper
-    ];
+  pythonPath = with pythonPackages; [ dbus pygobject3 ];
 
-  # !!! Ugly.
-  PYTHONPATH = "${pygobject}/lib/${python.libPrefix}/site-packages/gtk-2.0:${pygtk}/lib/${python.libPrefix}/site-packages/gtk-2.0:${notify}/lib/${python.libPrefix}/site-packages/gtk-2.0";
+  propagatedUserEnvPkgs = [ obex_data_server ];
 
-  postInstall =
-    ''
-      # Create wrappers that set the environment correctly.
-      for i in $out/bin/* $out/libexec/*; do
-          wrapProgram $i \
-              --set PYTHONPATH "$(toPythonPath $out):$PYTHONPATH" \
-              --set LD_LIBRARY_PATH "${libpulseaudio}/lib:" \
-              --prefix PATH : ${xdg_utils}/bin
-      done
+  configureFlags = [ (lib.enableFeature withPulseAudio "pulseaudio") ];
 
-      mkdir -p $out/nix-support
-      echo ${obex_data_server} > $out/nix-support/propagated-user-env-packages
-    ''; # */
+  postFixup = ''
+    makeWrapperArgs="\
+      --prefix PATH ':' ${binPath} \
+      --prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH \
+      --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \
+      --prefix GIO_EXTRA_MODULES : ${dconf}/lib/gio/modules"
+    wrapPythonPrograms
+  '';
 
-  meta = {
-    homepage = http://blueman-project.org/;
+  meta = with lib; {
+    homepage = https://github.com/blueman-project;
     description = "GTK+-based Bluetooth Manager";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
   };
 }