From 005c3cffc15c1f15bb72d9bef25002f8027ca1c8 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 15 Mar 2019 07:20:27 -0400 Subject: [PATCH 1/3] libmbim: 1.16.2 -> 1.18.0 --- .../development/libraries/libmbim/default.nix | 31 +++++++++++++------ 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/libmbim/default.nix b/pkgs/development/libraries/libmbim/default.nix index 17632c678c4..021cfbb1bb4 100644 --- a/pkgs/development/libraries/libmbim/default.nix +++ b/pkgs/development/libraries/libmbim/default.nix @@ -1,24 +1,35 @@ -{ stdenv, fetchurl, pkgconfig, glib, python, udev, libgudev }: +{ stdenv, fetchurl, pkgconfig, glib, python3, systemd, libgudev }: stdenv.mkDerivation rec { - name = "libmbim-1.16.2"; + pname = "libmbim"; + version = "1.18.0"; src = fetchurl { - url = "https://www.freedesktop.org/software/libmbim/${name}.tar.xz"; - sha256 = "0qmjvjbgs9m8qsaiq5arikzglgaas9hh1968bi7sy3905kp4yjgb"; + url = "https://www.freedesktop.org/software/libmbim/${pname}-${version}.tar.xz"; + sha256 = "10mjjy860aakfd3h1yaj9l1jw816amrpwmyqlx37j21xv0l03x3c"; }; outputs = [ "out" "dev" "man" ]; - preConfigure = '' - patchShebangs . - ''; + configureFlags = [ + "--with-udev-base-dir=${placeholder ''out''}/lib/udev" + ]; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ glib udev libgudev python ]; + nativeBuildInputs = [ + pkgconfig + python3 + ]; + + buildInputs = [ + glib + libgudev + systemd + ]; + + doCheck = true; meta = with stdenv.lib; { - homepage = http://www.freedesktop.org/software/libmbim/; + homepage = https://www.freedesktop.org/wiki/Software/libmbim/; description = "Library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol"; platforms = platforms.linux; license = licenses.gpl2; From fd5c74c25c7cf7f1ac0a898c95940db3e29c7f2e Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 15 Mar 2019 07:28:12 -0400 Subject: [PATCH 2/3] libqmi: 1.20.2 -> 1.22.2 Drop --enable-mbim-qmux because we have libmbim >= 1.14.0 [0] [0]: https://gitlab.freedesktop.org/mobile-broadband/libqmi/blob/1.16.0/NEWS#L5 --- pkgs/development/libraries/libqmi/default.nix | 31 ++++++++++++------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/pkgs/development/libraries/libqmi/default.nix b/pkgs/development/libraries/libqmi/default.nix index 99383fe6450..083b5c8bc85 100644 --- a/pkgs/development/libraries/libqmi/default.nix +++ b/pkgs/development/libraries/libqmi/default.nix @@ -1,26 +1,35 @@ -{ stdenv, fetchurl, pkgconfig, glib, python, libgudev, libmbim }: +{ stdenv, fetchurl, pkgconfig, glib, python3, libgudev, libmbim }: stdenv.mkDerivation rec { - name = "libqmi-1.20.2"; + pname = "libqmi"; + version = "1.22.2"; src = fetchurl { - url = "https://www.freedesktop.org/software/libqmi/${name}.tar.xz"; - sha256 = "0i6aw8jyxv84d5x8lj2g9lb8xxf1dyad8n3q0kw164pyig55jd67"; + url = "https://www.freedesktop.org/software/libqmi/${pname}-${version}.tar.xz"; + sha256 = "09w20dsgr16bgbqw5ds7r6j2s6ihwyalh9zpbjhcn7cvm0afbwgi"; }; outputs = [ "out" "dev" "devdoc" ]; - preBuild = '' - patchShebangs . - ''; + configureFlags = [ + "--with-udev-base-dir=${placeholder ''out''}/lib/udev" + ]; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ glib python libgudev libmbim ]; + nativeBuildInputs = [ + pkgconfig + python3 + ]; - configureFlags = ["--enable-mbim-qmux" ]; + buildInputs = [ + glib + libgudev + libmbim + ]; + + doCheck = true; meta = with stdenv.lib; { - homepage = http://www.freedesktop.org/wiki/Software/libqmi/; + homepage = https://www.freedesktop.org/wiki/Software/libqmi/; description = "Modem protocol helper library"; platforms = platforms.linux; license = licenses.gpl2; From cb962e829cc91b3ad04c837cd4a4e71b4713475e Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Fri, 15 Mar 2019 13:15:24 -0400 Subject: [PATCH 3/3] modemmanager: 1.7.990 -> 1.10.0 * Add flags for systemd [0] * Enable tests Though I actually didn't look to see how they're performed, only effort done was to get a success- ful build. * Enable vala bindings [0]: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/blob/1.8.0/NEWS#L21 --- .../networking/modem-manager/default.nix | 42 +++++++------------ 1 file changed, 15 insertions(+), 27 deletions(-) diff --git a/pkgs/tools/networking/modem-manager/default.nix b/pkgs/tools/networking/modem-manager/default.nix index 15ec2ef41cd..cb63b2be152 100644 --- a/pkgs/tools/networking/modem-manager/default.nix +++ b/pkgs/tools/networking/modem-manager/default.nix @@ -1,52 +1,40 @@ { stdenv, fetchurl, glib, udev, libgudev, polkit, ppp, gettext, pkgconfig -, libmbim, libqmi, systemd, fetchpatch }: +, libmbim, libqmi, systemd, vala, gobject-introspection, dbus }: stdenv.mkDerivation rec { - name = "modem-manager-${version}"; - version = "1.7.990"; + pname = "modem-manager"; + version = "1.10.0"; package = "ModemManager"; src = fetchurl { url = "https://www.freedesktop.org/software/${package}/${package}-${version}.tar.xz"; - sha256 = "1v4hixmghlrw7w4ajq2x4k62js0594h223d0yma365zwqr7hjrfl"; + sha256 = "1qkfnxqvaraz1npahqvm5xc73mbxxic8msnsjmlwkni5c2ckj3zx"; }; - nativeBuildInputs = [ gettext pkgconfig ]; + nativeBuildInputs = [ vala gobject-introspection gettext pkgconfig ]; buildInputs = [ glib udev libgudev polkit ppp libmbim libqmi systemd ]; - patches = [ - # Patch dependency on glib headers, this breaks packages using core headers (networkmanager-qt) - (fetchpatch { - url = "https://cgit.freedesktop.org/ModemManager/ModemManager/patch/?id=0f377f943eeb81472fd73189f2c3d8fc65b8c609"; - sha256 = "0av0sqdvbhwjnhqqylkc7rmqcj6awqmz5693l9x93nlwp7zya95j"; - }) - ]; - configureFlags = [ "--with-polkit" - "--with-udev-base-dir=$(out)/lib/udev" - "--with-systemdsystemunitdir=$(out)/etc/systemd/system" + "--with-udev-base-dir=${placeholder ''out''}/lib/udev" + "--with-dbus-sys-dir=${placeholder ''out''}/etc/dbus-1/system.d" + "--with-systemdsystemunitdir=${placeholder ''out''}/etc/systemd/system" "--sysconfdir=/etc" "--localstatedir=/var" - "--with-suspend-resume=systemd" + "--with-systemd-suspend-resume" + "--with-systemd-journal" ]; - installFlags = [ "DESTDIR=\${out}" ]; - - preInstall = '' - mkdir -p $out/etc/systemd/system + preCheck = '' + export G_TEST_DBUS_DAEMON="${dbus.daemon}/bin/dbus-daemon" ''; + doCheck = true; + postInstall = '' # rename to modem-manager to be in style - mv $out/$out/etc/systemd/system/ModemManager.service $out/etc/systemd/system/modem-manager.service - rm -rf $out/$out/etc - mv $out/$out/* $out - DIR=$out/$out - while rmdir $DIR 2>/dev/null; do - DIR="$(dirname "$DIR")" - done + mv $out/etc/systemd/system/ModemManager.service $out/etc/systemd/system/modem-manager.service # systemd in NixOS doesn't use `systemctl enable`, so we need to establish # aliases ourselves.