From dc5c6e16072cac32f8d8d04a2986df999dff3fbb Mon Sep 17 00:00:00 2001 From: Sergey Mironov Date: Thu, 14 Mar 2013 00:46:30 +0400 Subject: [PATCH 1/2] bluez5: add experimental expression for bluez5 bluez5 has many changes relative to bluez4. Most notable are dependency on linux-3.4 and new dbus API. --- pkgs/os-specific/linux/bluez/bluez5.nix | 71 +++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 5 +- 2 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 pkgs/os-specific/linux/bluez/bluez5.nix diff --git a/pkgs/os-specific/linux/bluez/bluez5.nix b/pkgs/os-specific/linux/bluez/bluez5.nix new file mode 100644 index 000000000000..561f2d8e1e70 --- /dev/null +++ b/pkgs/os-specific/linux/bluez/bluez5.nix @@ -0,0 +1,71 @@ +{ stdenv, fetchurl, pkgconfig, dbus, glib, libusb, alsaLib, python, makeWrapper +, pythonDBus, pygobject, readline, libsndfile, udev, libical, systemd }: + +assert stdenv.isLinux; + +let + pythonpath = "${pythonDBus}/lib/${python.libPrefix}/site-packages:" + + "${pygobject}/lib/${python.libPrefix}/site-packages"; +in + +stdenv.mkDerivation rec { + name = "bluez-5.3"; + + src = fetchurl { + url = "mirror://kernel/linux/bluetooth/${name}.tar.xz"; + sha256 = "41b0559e3a8436a739eb7cc79156ca91daf8c115f57971b6bcb422ee0213db42"; + }; + + buildInputs = + [ pkgconfig dbus.libs glib libusb alsaLib python makeWrapper + readline libsndfile udev libical + # Disables GStreamer; not clear what it gains us other than a + # zillion extra dependencies. + # gstreamer gst_plugins_base + ]; + + preConfigure = '' + substituteInPlace tools/hid2hci.rules --replace /sbin/udevadm ${systemd}/bin/udevadm + substituteInPlace tools/hid2hci.rules --replace "hid2hci " "$out/lib/udev/hid2hci " + ''; + + configureFlags = [ + "--localstatedir=/var" + "--enable-library" + "--enable-cups" + "--with-dbusconfdir=$(out)/etc" + "--with-dbussystembusdir=$(out)/share/dbus-1/system-services" + "--with-dbussessionbusdir=$(out)/share/dbus-1/services" + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" + "--with-systemduserunitdir=$(out)/etc/systemd/user" + "--with-udevdir=$(out)/lib/udev" + ]; + + # Work around `make install' trying to create /var/lib/bluetooth. + installFlags = "statedir=$(TMPDIR)/var/lib/bluetooth"; + + makeFlags = "rulesdir=$(out)/lib/udev/rules.d"; + + # FIXME: Move these into a separate package to prevent Bluez from + # depending on Python etc. + postInstall = '' + pushd test + for a in \ + simple-agent \ + test-adapter \ + test-device \ + test-thermometer \ + list-devices \ + monitor-bluetooth \ + ; do + cp $a $out/bin/bluez-$a + wrapProgram $out/bin/bluez-$a --prefix PYTHONPATH : ${pythonpath} + done + popd + ''; + + meta = { + homepage = http://www.bluez.org/; + description = "Bluetooth support for Linux"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e574aed4f1de..1659bc739ccf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5635,7 +5635,10 @@ let bcm43xx = callPackage ../os-specific/linux/firmware/bcm43xx { }; - bluez = callPackage ../os-specific/linux/bluez { }; + bluez4 = callPackage ../os-specific/linux/bluez { }; + bluez5 = callPackage ../os-specific/linux/bluez/bluez5.nix { }; + + bluez = bluez4; beret = callPackage ../games/beret { }; From 53ea9a8abca66ac535dfc739ca7b3836a92c2945 Mon Sep 17 00:00:00 2001 From: Sergey Mironov Date: Tue, 19 Mar 2013 12:30:39 +0400 Subject: [PATCH 2/2] bluez5: mark bluez5 with loPrio --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1659bc739ccf..bb06b6b3cc69 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5636,7 +5636,7 @@ let bcm43xx = callPackage ../os-specific/linux/firmware/bcm43xx { }; bluez4 = callPackage ../os-specific/linux/bluez { }; - bluez5 = callPackage ../os-specific/linux/bluez/bluez5.nix { }; + bluez5 = lowPrio (callPackage ../os-specific/linux/bluez/bluez5.nix { }); bluez = bluez4;