summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorFranz Pletz <fpletz@fnordicwalking.de>2017-09-18 20:25:02 +0200
committerFranz Pletz <fpletz@fnordicwalking.de>2017-09-18 21:19:15 +0200
commit94bbe7db22675e67386fe046eaa3d3d9d58e233a (patch)
treee79829547f240cecb6515003e3ad6190e4052680 /pkgs
parentdadb16a57f6b13393d5f34d0e009ec0c2e50079b (diff)
downloadnixpkgs-94bbe7db22675e67386fe046eaa3d3d9d58e233a.tar
nixpkgs-94bbe7db22675e67386fe046eaa3d3d9d58e233a.tar.gz
nixpkgs-94bbe7db22675e67386fe046eaa3d3d9d58e233a.tar.bz2
nixpkgs-94bbe7db22675e67386fe046eaa3d3d9d58e233a.tar.lz
nixpkgs-94bbe7db22675e67386fe046eaa3d3d9d58e233a.tar.xz
nixpkgs-94bbe7db22675e67386fe046eaa3d3d9d58e233a.tar.zst
nixpkgs-94bbe7db22675e67386fe046eaa3d3d9d58e233a.zip
bluez4: remove, unused and probably vulnerable
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/os-specific/linux/bluez/bluez5.nix91
-rw-r--r--pkgs/os-specific/linux/bluez/default.nix86
-rw-r--r--pkgs/top-level/all-packages.nix4
3 files changed, 63 insertions, 118 deletions
diff --git a/pkgs/os-specific/linux/bluez/bluez5.nix b/pkgs/os-specific/linux/bluez/bluez5.nix
deleted file mode 100644
index f0a59f36e43..00000000000
--- a/pkgs/os-specific/linux/bluez/bluez5.nix
+++ /dev/null
@@ -1,91 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib,
-  pythonPackages, readline, libsndfile, udev, libical,
-  systemd, enableWiimote ? false }:
-
-assert stdenv.isLinux;
-
-stdenv.mkDerivation rec {
-  name = "bluez-5.47";
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/bluetooth/${name}.tar.xz";
-    sha256 = "1j22hfjz0fp4pgclgz9mfcwjbr4wqgah3gd2qhfg4r6msmybyxfg";
-  };
-
-  pythonPath = with pythonPackages;
-    [ dbus pygobject2 pygobject3 recursivePthLoader ];
-
-  buildInputs =
-    [ pkgconfig dbus glib alsaLib pythonPackages.python pythonPackages.wrapPython
-      readline libsndfile udev libical
-      # Disables GStreamer; not clear what it gains us other than a
-      # zillion extra dependencies.
-      # gstreamer gst-plugins-base
-    ];
-
-  outputs = [ "out" "dev" "test" ];
-
-  patches = [ ./bluez-5.37-obexd_without_systemd-1.patch ];
-
-  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"
-    "--enable-pie"
-    "--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"
-    ] ++
-    stdenv.lib.optional enableWiimote [ "--enable-wiimote" ];
-
-  # 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 = ''
-    mkdir -p $test/test
-    cp -a test $test
-    pushd $test/test
-    for a in \
-            simple-agent \
-            test-adapter \
-            test-device \
-            test-thermometer \
-            list-devices \
-            monitor-bluetooth \
-            ; do
-      ln -s ../test/$a $out/bin/bluez-$a
-    done
-    popd
-    wrapPythonProgramsIn $test/test "$test/test $pythonPath"
-
-    # for bluez4 compatibility for NixOS
-    mkdir $out/sbin
-    ln -s ../libexec/bluetooth/bluetoothd $out/sbin/bluetoothd
-    ln -s ../libexec/bluetooth/obexd $out/sbin/obexd
-
-    # Add extra configuration
-    mkdir $out/etc/bluetooth
-    ln -s /etc/bluetooth/main.conf $out/etc/bluetooth/main.conf
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    homepage = http://www.bluez.org/;
-    repositories.git = https://git.kernel.org/pub/scm/bluetooth/bluez.git;
-    description = "Bluetooth support for Linux";
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix
index 20b8d01db2d..f0a59f36e43 100644
--- a/pkgs/os-specific/linux/bluez/default.nix
+++ b/pkgs/os-specific/linux/bluez/default.nix
@@ -1,53 +1,91 @@
-{ stdenv, fetchurl, pkgconfig, dbus, glib, libusb, alsaLib, pythonPackages, makeWrapper
-, readline, libsndfile }:
+{ stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib,
+  pythonPackages, readline, libsndfile, udev, libical,
+  systemd, enableWiimote ? false }:
 
 assert stdenv.isLinux;
 
-let
-  inherit (pythonPackages) python;
-  pythonpath = "${pythonPackages.dbus-python}/lib/${python.libPrefix}/site-packages:"
-    + "${pythonPackages.pygobject2}/lib/${python.libPrefix}/site-packages";
-in stdenv.mkDerivation rec {
-  name = "bluez-4.101";
-   
+stdenv.mkDerivation rec {
+  name = "bluez-5.47";
+
   src = fetchurl {
-    url = "mirror://kernel/linux/bluetooth/${name}.tar.gz";
-    sha256 = "11vldy255zkmmpj0g0a1m6dy9bzsmyd7vxy02cdfdw79ml888wsr";
+    url = "mirror://kernel/linux/bluetooth/${name}.tar.xz";
+    sha256 = "1j22hfjz0fp4pgclgz9mfcwjbr4wqgah3gd2qhfg4r6msmybyxfg";
   };
 
+  pythonPath = with pythonPackages;
+    [ dbus pygobject2 pygobject3 recursivePthLoader ];
+
   buildInputs =
-    [ pkgconfig dbus glib libusb alsaLib python makeWrapper
-      readline libsndfile
+    [ pkgconfig dbus glib alsaLib pythonPackages.python pythonPackages.wrapPython
+      readline libsndfile udev libical
       # Disables GStreamer; not clear what it gains us other than a
       # zillion extra dependencies.
-      # gstreamer gst-plugins-base 
+      # gstreamer gst-plugins-base
     ];
 
+  outputs = [ "out" "dev" "test" ];
+
+  patches = [ ./bluez-5.37-obexd_without_systemd-1.patch ];
+
+  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-systemdunitdir=$(out)/etc/systemd/system"
-    ];
+    "--enable-pie"
+    "--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"
+    ] ++
+    stdenv.lib.optional enableWiimote [ "--enable-wiimote" ];
 
   # Work around `make install' trying to create /var/lib/bluetooth.
   installFlags = "statedir=$(TMPDIR)/var/lib/bluetooth";
 
   makeFlags = "rulesdir=$(out)/lib/udev/rules.d";
 
-  /* !!! Move these into a separate package to prevent Bluez from
-    depending on Python etc. */
+  # 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-input; do
-      cp $a $out/bin/bluez-$a
-      wrapProgram $out/bin/bluez-$a --prefix PYTHONPATH : ${pythonpath}
+    mkdir -p $test/test
+    cp -a test $test
+    pushd $test/test
+    for a in \
+            simple-agent \
+            test-adapter \
+            test-device \
+            test-thermometer \
+            list-devices \
+            monitor-bluetooth \
+            ; do
+      ln -s ../test/$a $out/bin/bluez-$a
     done
     popd
+    wrapPythonProgramsIn $test/test "$test/test $pythonPath"
+
+    # for bluez4 compatibility for NixOS
+    mkdir $out/sbin
+    ln -s ../libexec/bluetooth/bluetoothd $out/sbin/bluetoothd
+    ln -s ../libexec/bluetooth/obexd $out/sbin/obexd
+
+    # Add extra configuration
+    mkdir $out/etc/bluetooth
+    ln -s /etc/bluetooth/main.conf $out/etc/bluetooth/main.conf
   '';
 
-  meta = {
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
     homepage = http://www.bluez.org/;
+    repositories.git = https://git.kernel.org/pub/scm/bluetooth/bluez.git;
     description = "Bluetooth support for Linux";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 42d7cde5225..06f577bd929 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -11924,9 +11924,7 @@ with pkgs;
 
   blktrace = callPackage ../os-specific/linux/blktrace { };
 
-  bluez5 = callPackage ../os-specific/linux/bluez/bluez5.nix { };
-
-  bluez4 = callPackage ../os-specific/linux/bluez { };
+  bluez5 = callPackage ../os-specific/linux/bluez { };
 
   # Needed for LibreOffice
   bluez5_28 = lowPrio (callPackage ../os-specific/linux/bluez/bluez5_28.nix { });