lol

Merge pull request #22264 from peterhoeg/m/modeswitch

usb-modeswitch: 2.2.1 -> 2.5.0 and nixos module

authored by

Peter Hoeg and committed by
GitHub
8e5b630b 88cc35f1

+54 -28
+26
nixos/modules/hardware/usb-wwan.nix
··· 1 + { config, lib, pkgs, ... }: 2 + 3 + with lib; 4 + 5 + { 6 + ###### interface 7 + 8 + options = { 9 + 10 + hardware.usbWwan = { 11 + enable = mkOption { 12 + type = types.bool; 13 + default = false; 14 + description = '' 15 + Enable this option to support USB WWAN adapters. 16 + ''; 17 + }; 18 + }; 19 + }; 20 + 21 + ###### implementation 22 + 23 + config = mkIf config.hardware.usbWwan.enable { 24 + services.udev.packages = with pkgs; [ usb-modeswitch-data ]; 25 + }; 26 + }
+1
nixos/modules/module-list.nix
··· 38 38 ./hardware/network/rtl8192c.nix 39 39 ./hardware/opengl.nix 40 40 ./hardware/pcmcia.nix 41 + ./hardware/usb-wwan.nix 41 42 ./hardware/video/amdgpu.nix 42 43 ./hardware/video/amdgpu-pro.nix 43 44 ./hardware/video/ati.nix
+13 -15
pkgs/development/tools/misc/usb-modeswitch/data.nix
··· 1 - { stdenv, fetchurl, pkgconfig, libusb1, usb-modeswitch }: 2 - 3 - let 4 - version = "20160112"; 5 - in 1 + { stdenv, fetchurl, pkgconfig, libusb1, tcl, usb-modeswitch }: 6 2 7 3 stdenv.mkDerivation rec { 8 4 name = "usb-modeswitch-data-${version}"; 5 + version = "20170205"; 9 6 10 7 src = fetchurl { 11 - url = "http://www.draisberghof.de/usb_modeswitch/${name}.tar.bz2"; 12 - sha256 = "19yzqv0592b9mwgdi7apzw881q70ajyx5d56zr1z5ldi915a8yfn"; 13 - }; 8 + url = "http://www.draisberghof.de/usb_modeswitch/${name}.tar.bz2"; 9 + sha256 = "1l9q4xk02zd0l50bqhyk906wbcs26ji7259q0f7qv3cj52fzvp72"; 10 + }; 14 11 15 - # make clean: we always build from source. It should be necessary on x86_64 only 12 + inherit (usb-modeswitch) makeFlags; 13 + 16 14 prePatch = '' 17 15 sed -i 's@usb_modeswitch@${usb-modeswitch}/bin/usb_modeswitch@g' 40-usb_modeswitch.rules 18 - sed -i "1 i\DESTDIR=$out" Makefile 19 16 ''; 20 17 21 - buildInputs = [ pkgconfig libusb1 usb-modeswitch ]; 18 + buildInputs = [ libusb1 usb-modeswitch ]; 19 + # we add tcl here so we can patch in support for new devices by dropping config into 20 + # the usb_modeswitch.d directory 21 + nativeBuildInputs = [ pkgconfig tcl ]; 22 22 23 - meta = { 23 + meta = with stdenv.lib; { 24 24 description = "Device database and the rules file for 'multi-mode' USB devices"; 25 - license = stdenv.lib.licenses.gpl2; 26 - maintainers = [ stdenv.lib.maintainers.marcweber ]; 27 - platforms = stdenv.lib.platforms.linux; 25 + inherit (usb-modeswitch.meta) license maintainers platforms; 28 26 }; 29 27 }
+14 -13
pkgs/development/tools/misc/usb-modeswitch/default.nix
··· 1 1 { stdenv, fetchurl, pkgconfig, libusb1 }: 2 2 3 - let 4 - version = "2.3.0"; 5 - in 6 - 7 3 stdenv.mkDerivation rec { 8 4 name = "usb-modeswitch-${version}"; 5 + version = "2.5.0"; 9 6 10 7 src = fetchurl { 11 - url = "http://www.draisberghof.de/usb_modeswitch/${name}.tar.bz2"; 12 - sha256 = "1jqih1g0y78w03rchpw7fjvzwjfakak61qjp7hbr1m5nnsh2dn9p"; 8 + url = "http://www.draisberghof.de/usb_modeswitch/${name}.tar.bz2"; 9 + sha256 = "0cvnd16n2sp3w46fy507nl29q39jxxdk5qqbvk1rxaa91llbxh1i"; 13 10 }; 11 + 12 + makeFlags = [ 13 + "DESTDIR=$(out)" 14 + "PREFIX=$(out)" 15 + ]; 14 16 15 17 # make clean: we always build from source. It should be necessary on x86_64 only 16 18 preConfigure = '' 17 19 find -type f | xargs sed 's@/bin/rm@rm@g' -i 18 20 make clean 19 - mkdir -p $out/{etc,lib/udev,share/man/man1} 20 - makeFlags="DESTDIR=$out PREFIX=$out" 21 21 ''; 22 22 23 - buildInputs = [ pkgconfig libusb1 ]; 23 + buildInputs = [ libusb1 ]; 24 + nativeBuildInputs = [ pkgconfig ]; 24 25 25 - meta = { 26 + meta = with stdenv.lib; { 26 27 description = "A mode switching tool for controlling 'multi-mode' USB devices"; 27 - license = stdenv.lib.licenses.gpl2; 28 - maintainers = [ stdenv.lib.maintainers.marcweber ]; 29 - platforms = stdenv.lib.platforms.linux; 28 + license = licenses.gpl2; 29 + maintainers = with maintainers; [ marcweber peterhoeg ]; 30 + platforms = platforms.linux; 30 31 }; 31 32 }