diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix index 6ffc2c5a0597..b99f36c950a5 100644 --- a/pkgs/os-specific/linux/wpa_supplicant/default.nix +++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix @@ -1,17 +1,15 @@ -{stdenv, fetchurl, openssl, qt4, inkscape, dbus_libs, pkgconfig, libnl1}: +{ stdenv, fetchurl, openssl, dbus_libs, pkgconfig, libnl1 }: -let +stdenv.mkDerivation rec { version = "0.7.3"; + + name = "wpa_supplicant-${version}"; + src = fetchurl { url = "http://hostap.epitest.fi/releases/wpa_supplicant-${version}.tar.gz"; sha256 = "0hwlsn512q2ps8wxxjmkjfdg3vjqqb9mxnnwfv1wqijkm3551kfh"; }; -in - -(stdenv.mkDerivation rec { - name = "wpa_supplicant-${version}"; - inherit src; - + preBuild = '' cd wpa_supplicant cp -v defconfig .config @@ -23,24 +21,25 @@ in substituteInPlace Makefile --replace /usr/local $out ''; - buildInputs = [openssl dbus_libs libnl1]; + buildInputs = [ openssl dbus_libs libnl1 ]; buildNativeInputs = [ pkgconfig ]; - # Upstream patch required for NetworkManager-0.9 - patches = [ (fetchurl { - url = "http://w1.fi/gitweb/gitweb.cgi?p=hostap-07.git;a=commitdiff_plain;h=b80b5639935d37b95d00f86b57f2844a9c775f57"; - name = "wpa_supplicant-nm-0.9.patch"; - sha256 = "1pqba0l4rfhba5qafvvbywi9x1qmphs944p704bh1flnx7cz6ya8"; - }) - # wpa_supplicant crashes when controlled through dbus (wicd/nm) - # see: https://bugzilla.redhat.com/show_bug.cgi?id=678625 - (fetchurl { - url = "https://bugzilla.redhat.com/attachment.cgi?id=491018"; - name = "dbus-assertion-fix.patch"; - sha256 = "6206d79bcd800d56cae73e2a01a27ac2bee961512f77e5d62a59256a9919077a"; - }) - ]; + patches = + [ # Upstream patch required for NetworkManager-0.9 + (fetchurl { + url = "http://w1.fi/gitweb/gitweb.cgi?p=hostap-07.git;a=commitdiff_plain;h=b80b5639935d37b95d00f86b57f2844a9c775f57"; + name = "wpa_supplicant-nm-0.9.patch"; + sha256 = "1pqba0l4rfhba5qafvvbywi9x1qmphs944p704bh1flnx7cz6ya8"; + }) + # wpa_supplicant crashes when controlled through dbus (wicd/nm) + # see: https://bugzilla.redhat.com/show_bug.cgi?id=678625 + (fetchurl { + url = "https://bugzilla.redhat.com/attachment.cgi?id=491018"; + name = "dbus-assertion-fix.patch"; + sha256 = "6206d79bcd800d56cae73e2a01a27ac2bee961512f77e5d62a59256a9919077a"; + }) + ]; postInstall = '' ensureDir $out/share/man/man5 $out/share/man/man8 @@ -50,7 +49,7 @@ in cp -v dbus/*service $out/share/dbus-1/system-services sed -e "s@/sbin/wpa_supplicant@$out&@" -i $out/share/dbus-1/system-services/* cp -v dbus/dbus-wpa_supplicant.conf $out/etc/dbus-1/system.d - ''; + ''; # */ meta = { homepage = http://hostap.epitest.fi/wpa_supplicant/; @@ -58,41 +57,4 @@ in maintainers = with stdenv.lib.maintainers; [marcweber urkud]; platforms = stdenv.lib.platforms.linux; }; -}) // { -gui = stdenv.mkDerivation { - name = "wpa_gui-${version}"; - - inherit src; - - buildInputs = [ qt4 ]; - - buildNativeInputs = [ inkscape ]; - - prePatch = "cd wpa_supplicant/wpa_gui-qt4"; - - configurePhase = '' - lrelease wpa_gui.pro - qmake''; - -# We do not install .xpm icons. First of all, I don't know where they should -# be install. Second, this allows us to drop imagemagick build-time dependency. - postBuild = '' - sed -e '/ICONS.*xpm/d' -i icons/Makefile - make -C icons - ''; - - installPhase = '' - mkdir -pv $out/bin - cp -v wpa_gui $out/bin - mkdir -pv $out/share/applications - cp -v wpa_gui.desktop $out/share/applications - mkdir -pv $out/share/icons - cp -av icons/hicolor $out/share/icons - ''; - - meta = { - description = "Qt4 wpa_supplicant client"; - inherit (qt4.meta) platforms; - }; -}; } diff --git a/pkgs/os-specific/linux/wpa_supplicant/gui-qt4.nix b/pkgs/os-specific/linux/wpa_supplicant/gui-qt4.nix deleted file mode 100644 index 7b587cdd6230..000000000000 --- a/pkgs/os-specific/linux/wpa_supplicant/gui-qt4.nix +++ /dev/null @@ -1,15 +0,0 @@ -{stdenv, fetchurl, qt4, imagemagick, inkscape}: - -stdenv.mkDerivation rec { - pkgname = "wpa_supplicant"; - version = "0.6.9"; - name = "${pkgname}-gui-qt4-${version}"; - - src = fetchurl { - url = "http://hostap.epitest.fi/releases/${pkgname}-${version}.tar.gz"; - sha256 = "0w7mf3nyilkjsn5v7p15v5fxnh0klgm8c979z80y0mkw7zx88lkf"; - }; - - buildInputs = [qt4 imagemagick inkscape]; - builder = ./builder-gui-qt4.sh; -} diff --git a/pkgs/os-specific/linux/wpa_supplicant/gui.nix b/pkgs/os-specific/linux/wpa_supplicant/gui.nix new file mode 100644 index 000000000000..12ec08361a67 --- /dev/null +++ b/pkgs/os-specific/linux/wpa_supplicant/gui.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchurl, qt4, inkscape, wpa_supplicant }: + +stdenv.mkDerivation { + name = "wpa_gui-${wpa_supplicant.version}"; + + inherit (wpa_supplicant) src; + + buildInputs = [ qt4 ]; + + buildNativeInputs = [ inkscape ]; + + prePatch = "cd wpa_supplicant/wpa_gui-qt4"; + + configurePhase = + '' + lrelease wpa_gui.pro + qmake + ''; + + # We do not install .xpm icons. First of all, I don't know where they should + # be install. Second, this allows us to drop imagemagick build-time dependency. + postBuild = + '' + sed -e '/ICONS.*xpm/d' -i icons/Makefile + make -C icons + ''; + + installPhase = + '' + mkdir -pv $out/bin + cp -v wpa_gui $out/bin + mkdir -pv $out/share/applications + cp -v wpa_gui.desktop $out/share/applications + mkdir -pv $out/share/icons + cp -av icons/hicolor $out/share/icons + ''; + + meta = { + description = "Qt-based GUI for wpa_supplicant"; + inherit (qt4.meta) platforms; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index da7b88385b68..b343872ca6c3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6270,7 +6270,7 @@ let wpa_supplicant = callPackage ../os-specific/linux/wpa_supplicant { }; - wpa_supplicant_gui = pkgs.wpa_supplicant.gui; + wpa_supplicant_gui = callPackage ../os-specific/linux/wpa_supplicant/gui.nix { }; xf86_input_multitouch = callPackage ../os-specific/linux/xf86-input-multitouch { };