diff options
Diffstat (limited to 'pkgs/development/tools/misc')
11 files changed, 341 insertions, 34 deletions
diff --git a/pkgs/development/tools/misc/clojure-lsp/default.nix b/pkgs/development/tools/misc/clojure-lsp/default.nix index e86c32281ff..f2bb771f217 100644 --- a/pkgs/development/tools/misc/clojure-lsp/default.nix +++ b/pkgs/development/tools/misc/clojure-lsp/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "clojure-lsp"; - version = "20191223T204324"; + version = "20200117T215443"; src = fetchurl { url = "https://github.com/snoe/clojure-lsp/releases/download/release-${version}/${pname}"; - sha256 = "1dcqn72szp4q3b591plby6vzv0xl3ik0hr5wiha3hfb8lm7y6inn"; + sha256 = "0ccn3700lam5m5yh5hdcm6wkazyr3dhvhyc9bc08basjwk09lfkp"; }; dontUnpack = true; diff --git a/pkgs/development/tools/misc/elfinfo/default.nix b/pkgs/development/tools/misc/elfinfo/default.nix index b1a51a77144..8628990d531 100644 --- a/pkgs/development/tools/misc/elfinfo/default.nix +++ b/pkgs/development/tools/misc/elfinfo/default.nix @@ -2,14 +2,14 @@ buildGoPackage rec { pname = "elfinfo"; - version = "0.7.6"; + version = "1.0.1"; goPackagePath = "github.com/xyproto/elfinfo"; src = fetchFromGitHub { rev = version; owner = "xyproto"; repo = "elfinfo"; - sha256 = "0f6ik4d157assxdfslnyc91mg70kfh396rapikfv473znx2v2pg9"; + sha256 = "1iahivc1jm9gv1dijykw2pryjdwb896bv42xmq9v6ax86rsnzqww"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/misc/gede/default.nix b/pkgs/development/tools/misc/gede/default.nix index 1484e54289e..40e64ced4dc 100644 --- a/pkgs/development/tools/misc/gede/default.nix +++ b/pkgs/development/tools/misc/gede/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, makeWrapper, python, qmake, ctags, gdb }: +{ mkDerivation, lib, fetchurl, makeWrapper, python, qmake, ctags, gdb }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "gede"; - version = "2.14.1"; + version = "2.15.1"; src = fetchurl { url = "http://gede.acidron.com/uploads/source/${pname}-${version}.tar.xz"; - sha256 = "1z7577zwz7h03d58as93hyx99isi3p4i3rhxr8l01zgi65mz0mr9"; + sha256 = "0n67fiks7lbylgda8n06wfwcvl5qnb70rabk2b39g05byz7jcdcn"; }; nativeBuildInputs = [ qmake makeWrapper python ]; @@ -20,10 +20,10 @@ stdenv.mkDerivation rec { installPhase = '' python build.py install --verbose --prefix="$out" wrapProgram $out/bin/gede \ - --prefix PATH : ${stdenv.lib.makeBinPath [ ctags gdb ]} + --prefix PATH : ${lib.makeBinPath [ ctags gdb ]} ''; - meta = with stdenv.lib; { + meta = with lib; { description = "Graphical frontend (GUI) to GDB"; homepage = http://gede.acidron.com; license = licenses.bsd2; diff --git a/pkgs/development/tools/misc/global/default.nix b/pkgs/development/tools/misc/global/default.nix index 2d756a655a4..edcca88c71d 100644 --- a/pkgs/development/tools/misc/global/default.nix +++ b/pkgs/development/tools/misc/global/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { pname = "global"; - version = "6.6.3"; + version = "6.6.4"; src = fetchurl { url = "mirror://gnu/global/${pname}-${version}.tar.gz"; - sha256 = "0735pj47dnspf20n0j1px24p59nwjinlmlb2n32ln1hvdkprivnb"; + sha256 = "1515642wsjz7x3rsgaqk4sc7n0z2znl7idsk8jz8wgy5aswqqzlq"; }; nativeBuildInputs = [ libtool makeWrapper ]; diff --git a/pkgs/development/tools/misc/kdbg/default.nix b/pkgs/development/tools/misc/kdbg/default.nix index 8da3cd57703..29bf1333aa0 100644 --- a/pkgs/development/tools/misc/kdbg/default.nix +++ b/pkgs/development/tools/misc/kdbg/default.nix @@ -1,20 +1,26 @@ { stdenv, fetchurl, cmake, extra-cmake-modules, qt5, ki18n, kconfig, kiconthemes, kxmlgui, kwindowsystem, + qtbase, makeWrapper, }: stdenv.mkDerivation rec { pname = "kdbg"; - version = "3.0.0"; + version = "3.0.1"; src = fetchurl { url = "mirror://sourceforge/kdbg/${version}/${pname}-${version}.tar.gz"; - sha256 = "0lxfal6jijdcrf0hc81gmapfmz0kq4569d5qzfm4p72rq9s4r5in"; + sha256 = "1gax6xll8svmngw0z1rzhd77xysv01zp0i68x4n5pq0xgh7gi7a4"; }; - nativeBuildInputs = [ cmake extra-cmake-modules ]; + nativeBuildInputs = [ cmake extra-cmake-modules makeWrapper ]; buildInputs = [ qt5.qtbase ki18n kconfig kiconthemes kxmlgui kwindowsystem ]; enableParallelBuilding = true; + + postInstall = '' + wrapProgram $out/bin/kdbg --prefix QT_PLUGIN_PATH : ${qtbase}/${qtbase.qtPluginPrefix} + ''; + meta = with stdenv.lib; { homepage = http://www.kdbg.org/; description = '' diff --git a/pkgs/development/tools/misc/kibana/7.x.nix b/pkgs/development/tools/misc/kibana/7.x.nix index 83651e6d17e..a0f2f8f546a 100644 --- a/pkgs/development/tools/misc/kibana/7.x.nix +++ b/pkgs/development/tools/misc/kibana/7.x.nix @@ -18,12 +18,12 @@ let shas = if enableUnfree then { - x86_64-linux = "0sc5709k3z7lb8qcjpj49s6vfv69ds2wc8319ag9x776nyz1pqxi"; - x86_64-darwin = "0zh4q46vfdwaihs838ck8fap92i3b4x10wbpmx8mcwyfk5v0fkch"; + x86_64-linux = "1wq4fc2fifkg1qz7nxdfb4yi2biay8cgdz7kl5k0p37sxn0sbkja"; + x86_64-darwin = "06346kj7bv49py49pmmnmh8m24322m88v1af19909pj9cxgd0p6v"; } else { - x86_64-linux = "1pq17fasryharvw4byybvmcf5172hcmy6cp0m8bxhkxagwilprba"; - x86_64-darwin = "11crpx2qs2nzkzv6fvs1gqn9v4zalxkzsc5br0fy1y02lzm26zbm"; + x86_64-linux = "0ygpmcm6wdcnvw8azwqc5257lyic7yw31rqvm2pw3afhpha62lpj"; + x86_64-darwin = "0xy81g0bhxp47p29kkkh5llfzqkzqzr5dk50ap2hy0hjw33ld6g1"; }; in stdenv.mkDerivation rec { diff --git a/pkgs/development/tools/misc/pwndbg/default.nix b/pkgs/development/tools/misc/pwndbg/default.nix index 449d9ee0984..0c1a3dfc932 100644 --- a/pkgs/development/tools/misc/pwndbg/default.nix +++ b/pkgs/development/tools/misc/pwndbg/default.nix @@ -21,14 +21,14 @@ let in stdenv.mkDerivation rec { pname = "pwndbg"; - version = "2019.01.25"; + version = "2019.12.09"; format = "other"; src = fetchFromGitHub { owner = "pwndbg"; repo = "pwndbg"; rev = version; - sha256 = "0k7n6pcrj62ccag801yzf04a9mj9znghpkbnqwrzz0qn3rs42vgs"; + sha256 = "0kn28mjdq91zf7d6vqzbm74f0ligp829m9jzjxfn4zlx6wrmkd0s"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/development/tools/misc/reviewdog/default.nix b/pkgs/development/tools/misc/reviewdog/default.nix index 2b20b3bd547..9af294716ff 100644 --- a/pkgs/development/tools/misc/reviewdog/default.nix +++ b/pkgs/development/tools/misc/reviewdog/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "reviewdog"; - version = "0.9.14"; + version = "0.9.17"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "1npawdvryrxrdfkv4j1jk63l3mwsdgsj85k9yqyhrrphk2w4s1cr"; + sha256 = "0fm7avkc8izs0a9lqshibzpl08g4l3w38ayw7g521p23aq90q3c9"; }; - modSha256 = "0a6bmwysgvwpddh2mp228s2brb0kqfcxqjffs2pabf7ym5flmz0g"; + modSha256 = "1jf08g0xr4wknh9x15igq73y02cy2faqjdjs2v842ii4p3n4p9dw"; subPackages = [ "cmd/reviewdog" ]; @@ -20,6 +20,7 @@ buildGoModule rec { meta = with lib; { description = "Automated code review tool integrated with any code analysis tools regardless of programming language"; homepage = "https://github.com/reviewdog/reviewdog"; + changelog = "https://github.com/reviewdog/reviewdog/releases/tag/v${version}"; maintainers = [ maintainers.marsam ]; license = licenses.mit; }; diff --git a/pkgs/development/tools/misc/usb-modeswitch/configurable-usb-modeswitch.patch b/pkgs/development/tools/misc/usb-modeswitch/configurable-usb-modeswitch.patch new file mode 100644 index 00000000000..d55caab22e6 --- /dev/null +++ b/pkgs/development/tools/misc/usb-modeswitch/configurable-usb-modeswitch.patch @@ -0,0 +1,283 @@ +Index: usb-modeswitch-2.6.0/Makefile +=================================================================== +--- usb-modeswitch-2.6.0.orig/Makefile ++++ usb-modeswitch-2.6.0/Makefile +@@ -5,17 +5,24 @@ CFLAGS += -Wall -Wno-deprecated-dec + LIBS = `pkg-config --libs --cflags libusb-1.0` + RM = /bin/rm -f + OBJS = usb_modeswitch.c +-PREFIX = $(DESTDIR)/usr +-ETCDIR = $(DESTDIR)/etc ++PREFIX = /usr/local ++ETCDIR = $(PREFIX)/etc + SYSDIR = $(ETCDIR)/systemd/system + UPSDIR = $(ETCDIR)/init +-UDEVDIR = $(DESTDIR)/lib/udev ++UDEVDIR = $(PREFIX)/lib/udev + SBINDIR = $(PREFIX)/sbin + MANDIR = $(PREFIX)/share/man/man1 + ++USE_UPSTART=$(shell if command -v initctl > /dev/null; then echo "true"; fi) ++USE_SYSTEMD=$(shell if command -v systemctl > /dev/null; then echo "true"; fi) ++ + .PHONY: clean install install-common uninstall \ + dispatcher-script dispatcher-dynlink dispatcher-statlink \ +- install-script install-dynlink install-statlink ++ install-script install-dynlink install-statlink \ ++ install-upstart install-systemd \ ++ configure-dispatcher configure-script \ ++ configure-upstart configure-systemd \ ++ configure + + all: all-with-script-dispatcher + +@@ -28,7 +35,25 @@ all-with-statlink-dispatcher: $(PROG) di + $(PROG): $(OBJS) usb_modeswitch.h + $(CC) -o $(PROG) $(OBJS) $(CFLAGS) $(LIBS) $(LDFLAGS) + +-dispatcher-script: usb_modeswitch_dispatcher.tcl ++configure-dispatcher: ++ sed -i \ ++ -e 's,^\(set setup(sbindir) \).*$$,\1$(SBINDIR),' \ ++ -e 's,^\(set setup(etcdir) \).*$$,\1$(ETCDIR),' \ ++ usb_modeswitch_dispatcher.tcl ++ ++configure-script: ++ sed -i -e 's,^\(SBINDIR=\).*$$,\1$(SBINDIR),' usb_modeswitch.sh ++ ++configure-systemd: ++ sed -i -e 's,@sbindir@,$(SBINDIR),' usb_modeswitch@.service ++ ++configure-upstart: ++ sed -i -e 's,@sbindir@,$(SBINDIR),' usb-modeswitch-upstart.conf ++ ++configure: configure-dispatcher configure-script \ ++ configure-systemd configure-upstart ++ ++dispatcher-script: configure-dispatcher usb_modeswitch_dispatcher.tcl + DISPATCH=dispatcher-script + cp -f usb_modeswitch_dispatcher.tcl usb_modeswitch_dispatcher + +@@ -53,16 +78,28 @@ distclean: clean + # If the systemd folder is present, install the service for starting the dispatcher + # If not, use the dispatcher directly from the udev rule as in previous versions + +-install-common: $(PROG) $(DISPATCH) +- install -D --mode=755 usb_modeswitch $(SBINDIR)/usb_modeswitch +- install -D --mode=755 usb_modeswitch.sh $(UDEVDIR)/usb_modeswitch +- install -D --mode=644 usb_modeswitch.conf $(ETCDIR)/usb_modeswitch.conf +- install -D --mode=644 usb_modeswitch.1 $(MANDIR)/usb_modeswitch.1 +- install -D --mode=644 usb_modeswitch_dispatcher.1 $(MANDIR)/usb_modeswitch_dispatcher.1 +- install -D --mode=755 usb_modeswitch_dispatcher $(SBINDIR)/usb_modeswitch_dispatcher ++install-common: $(PROG) configure $(DISPATCH) ++ install -D --mode=755 usb_modeswitch $(DESTDIR)$(SBINDIR)/usb_modeswitch ++ install -D --mode=755 usb_modeswitch.sh $(DESTDIR)$(UDEVDIR)/usb_modeswitch ++ install -D --mode=644 usb_modeswitch.conf $(DESTDIR)$(ETCDIR)/usb_modeswitch.conf ++ install -D --mode=644 usb_modeswitch.1 $(DESTDIR)$(MANDIR)/usb_modeswitch.1 ++ install -D --mode=644 usb_modeswitch_dispatcher.1 $(DESTDIR)$(MANDIR)/usb_modeswitch_dispatcher.1 ++ install -D --mode=755 usb_modeswitch_dispatcher $(DESTDIR)$(SBINDIR)/usb_modeswitch_dispatcher + install -d $(DESTDIR)/var/lib/usb_modeswitch +- test -d $(UPSDIR) -a -e /sbin/initctl && install --mode=644 usb-modeswitch-upstart.conf $(UPSDIR) || test 1 +- test -d $(SYSDIR) -a \( -e /usr/bin/systemctl -o -e /bin/systemctl \) && install --mode=644 usb_modeswitch@.service $(SYSDIR) || test 1 ++ ++install-upstart: ++ install -D --mode=644 usb-modeswitch-upstart.conf $(DESTDIR)$(UPSDIR)/usb-modeswitch-upstart.conf ++ ++install-systemd: ++ install -D --mode=644 usb_modeswitch@.service $(DESTDIR)$(SYSDIR)/usb_modeswitch@.service ++ ++ifeq ($(USE_UPSTART),true) ++install-common: install-upstart ++endif ++ ++ifeq ($(USE_SYSTEMD),true) ++install-common: install-systemd ++endif + + install: install-script + +@@ -73,10 +110,10 @@ install-dynlink: dispatcher-dynlink inst + install-statlink: dispatcher-statlink install-common + + uninstall: +- $(RM) $(SBINDIR)/usb_modeswitch +- $(RM) $(SBINDIR)/usb_modeswitch_dispatcher +- $(RM) $(UDEVDIR)/usb_modeswitch +- $(RM) $(ETCDIR)/usb_modeswitch.conf +- $(RM) $(MANDIR)/usb_modeswitch.1 ++ $(RM) $(DESTDIR)$(SBINDIR)/usb_modeswitch ++ $(RM) $(DESTDIR)$(SBINDIR)/usb_modeswitch_dispatcher ++ $(RM) $(DESTDIR)$(UDEVDIR)/usb_modeswitch ++ $(RM) $(DESTDIR)$(ETCDIR)/usb_modeswitch.conf ++ $(RM) $(DESTDIR)$(MANDIR)/usb_modeswitch.1 + $(RM) -R $(DESTDIR)/var/lib/usb_modeswitch +- $(RM) $(SYSDIR)/usb_modeswitch@.service ++ $(RM) $(DESTDIR)$(SYSDIR)/usb_modeswitch@.service +Index: usb-modeswitch-2.6.0/usb-modeswitch-upstart.conf +=================================================================== +--- usb-modeswitch-2.6.0.orig/usb-modeswitch-upstart.conf ++++ usb-modeswitch-2.6.0/usb-modeswitch-upstart.conf +@@ -1,5 +1,5 @@ + start on usb-modeswitch-upstart + task + script +- exec /usr/sbin/usb_modeswitch_dispatcher --switch-mode $UMS_PARAM ++ exec @sbindir@/usb_modeswitch_dispatcher --switch-mode $UMS_PARAM + end script +Index: usb-modeswitch-2.6.0/usb_modeswitch.sh +=================================================================== +--- usb-modeswitch-2.6.0.orig/usb_modeswitch.sh ++++ usb-modeswitch-2.6.0/usb_modeswitch.sh +@@ -1,5 +1,9 @@ + #!/bin/sh + # part of usb_modeswitch 2.6.0 ++ ++# Compile time configuration, injected by the Makefile ++SBINDIR=/usr/sbin ++ + device_in() + { + if [ ! -e /var/lib/usb_modeswitch/$1 ]; then +@@ -37,7 +41,7 @@ if [ $(expr "$1" : "--.*") ]; then + v_id=$3 + fi + fi +-PATH=/sbin:/usr/sbin:$PATH ++ + case "$1" in + --driver-bind) + # driver binding code removed +@@ -46,9 +50,7 @@ case "$1" in + --symlink-name) + device_in "link_list" $v_id $p_id + if [ "$?" = "1" ]; then +- if [ -e "/usr/sbin/usb_modeswitch_dispatcher" ]; then +- exec usb_modeswitch_dispatcher $1 $2 2>>/dev/null +- fi ++ exec $SBINDIR/usb_modeswitch_dispatcher $1 $2 2>>/dev/null + fi + exit 0 + ;; +@@ -61,15 +63,13 @@ if [ "$p2" = "" -a "$p1" != "" ]; then + p2=$p1 + fi + +-PATH=/bin:/sbin:/usr/bin:/usr/sbin +-init_path=`readlink -f /sbin/init` +-if [ `basename $init_path` = "systemd" ]; then ++if command -v systemctl > /dev/null; then + systemctl --no-block restart usb_modeswitch@$p2.service +-elif [ -e "/etc/init/usb-modeswitch-upstart.conf" ]; then ++elif command -v initctl > /dev/null; then + initctl emit --no-wait usb-modeswitch-upstart UMS_PARAM=$p2 + else + # only old distros, new udev will kill all subprocesses + exec 1<&- 2<&- 5<&- 7<&- +- exec usb_modeswitch_dispatcher --switch-mode $p2 & ++ exec $SBINDIR/usb_modeswitch_dispatcher --switch-mode $p2 & + fi + exit 0 +Index: usb-modeswitch-2.6.0/usb_modeswitch@.service +=================================================================== +--- usb-modeswitch-2.6.0.orig/usb_modeswitch@.service ++++ usb-modeswitch-2.6.0/usb_modeswitch@.service +@@ -3,6 +3,6 @@ Description=USB_ModeSwitch_%i + + [Service] + Type=oneshot +-ExecStart=/usr/sbin/usb_modeswitch_dispatcher --switch-mode %i ++ExecStart=@sbindir@/usb_modeswitch_dispatcher --switch-mode %i + #ExecStart=/bin/echo %i + +Index: usb-modeswitch-2.6.0/usb_modeswitch_dispatcher.tcl +=================================================================== +--- usb-modeswitch-2.6.0.orig/usb_modeswitch_dispatcher.tcl ++++ usb-modeswitch-2.6.0/usb_modeswitch_dispatcher.tcl +@@ -12,6 +12,16 @@ + # Part of usb-modeswitch-2.6.0 package + # (C) Josua Dietze 2009-2019 + ++# Compile-time configuration, injected by the Makefile. ++set setup(sbindir) /usr/sbin ++set setup(etcdir) /etc ++ ++# External dependency default location ++set setup(dbdir) /usr/share/usb_modeswitch ++ ++# Derived configuration ++set setup(dbdir_etc) $setup(etcdir)/usb_modeswitch.d ++ + set arg0 [lindex $argv 0] + if [regexp {\.tcl$} $arg0] { + if [file exists $arg0] { +@@ -115,10 +125,8 @@ if {![regexp {(.*?):.*$} $arg1 d device] + } + } + +-set setup(dbdir) /usr/share/usb_modeswitch +-set setup(dbdir_etc) /etc/usb_modeswitch.d + if {![file exists $setup(dbdir)] && ![file exists $setup(dbdir_etc)]} { +- Log "\nError: no config database found in /usr/share or /etc. Exit" ++ Log "\nError: no config database found in $setup(dbdir) or $setup(dbdir_etc). Exit" + SafeExit + } + +@@ -285,7 +293,7 @@ if {$config(NoMBIMCheck)==0 && $usb(bNum + if [CheckMBIM] { + Log " driver for MBIM devices is available" + Log "Find MBIM configuration number ..." +- if [catch {set cfgno [exec /usr/sbin/usb_modeswitch -j -Q $busParam $devParam -v $usb(idVendor) -p $usb(idProduct)]} err] { ++ if [catch {set cfgno [exec $setup(sbindir)/usb_modeswitch -j -Q $busParam $devParam -v $usb(idVendor) -p $usb(idProduct)]} err] { + Log "Error when trying to find MBIM configuration, switch to legacy modem mode" + } else { + set cfgno [string trim $cfgno] +@@ -321,7 +329,7 @@ if {$report == ""} { + # Now we are actually switching + if $flags(logging) { + Log "Command line:\nusb_modeswitch -W -D $configParam $busParam $devParam -v $usb(idVendor) -p $usb(idProduct) -f \$flags(config)" +- catch {set report [exec /usr/sbin/usb_modeswitch -W -D $configParam $busParam $devParam -v $usb(idVendor) -p $usb(idProduct) -f "$flags(config)" 2>@1]} report ++ catch {set report [exec $setup(sbindir)/usb_modeswitch -W -D $configParam $busParam $devParam -v $usb(idVendor) -p $usb(idProduct) -f "$flags(config)" 2>@1]} report + Log "\nVerbose debug output of usb_modeswitch and libusb follows" + Log "(Note that some USB errors are to be expected in the process)" + Log "--------------------------------" +@@ -329,7 +337,7 @@ if {$report == ""} { + Log "--------------------------------" + Log "(end of usb_modeswitch output)\n" + } else { +- catch {set report [exec /usr/sbin/usb_modeswitch -Q -D $configParam $busParam $devParam -v $usb(idVendor) -p $usb(idProduct) -f "$flags(config)" 2>@1]} report ++ catch {set report [exec $setup(sbindir)/usb_modeswitch -Q -D $configParam $busParam $devParam -v $usb(idVendor) -p $usb(idProduct) -f "$flags(config)" 2>@1]} report + } + } + +@@ -522,12 +530,12 @@ return 1 + + proc {ParseGlobalConfig} {path} { + +-global flags ++global flags setup + set configFile "" + if [string length $path] { + set places [list $path] + } else { +- set places [list /etc/usb_modeswitch.conf /etc/sysconfig/usb_modeswitch /etc/default/usb_modeswitch] ++ set places [list $setup(etcdir)/usb_modeswitch.conf $setup(etcdir)/sysconfig/usb_modeswitch $setup(etcdir)/default/usb_modeswitch] + } + foreach cfg $places { + if [file exists $cfg] { +@@ -923,10 +931,12 @@ proc {SysLog} {msg} { + + global flags + if {![info exists flags(logger)]} { +- set flags(logger) "" +- foreach fn {/bin/logger /usr/bin/logger} { +- if [file exists $fn] { +- set flags(logger) $fn ++ set flags(logger) [exec sh -c "command -v logger || true"] ++ if {$flags(logger) == ""} { ++ foreach fn {/bin/logger /usr/bin/logger} { ++ if [file exists $fn] { ++ set flags(logger) $fn ++ } + } + } + Log "Logger is $flags(logger)" diff --git a/pkgs/development/tools/misc/usb-modeswitch/data.nix b/pkgs/development/tools/misc/usb-modeswitch/data.nix index d2b80011dea..6280b103ab6 100644 --- a/pkgs/development/tools/misc/usb-modeswitch/data.nix +++ b/pkgs/development/tools/misc/usb-modeswitch/data.nix @@ -9,10 +9,13 @@ stdenv.mkDerivation rec { sha256 = "1ygahl3r26r38ai8yyblq9nhf3v5i6n6r6672p5wf88wg5h9n0rz"; }; - inherit (usb-modeswitch) makeFlags; + makeFlags = [ + "PREFIX=$(out)" + "DESTDIR=$(out)" + ]; prePatch = '' - sed -i 's@usb_modeswitch@${usb-modeswitch}/bin/usb_modeswitch@g' 40-usb_modeswitch.rules + sed -i 's@usb_modeswitch@${usb-modeswitch}/lib/udev/usb_modeswitch@g' 40-usb_modeswitch.rules ''; # we add tcl here so we can patch in support for new devices by dropping config into diff --git a/pkgs/development/tools/misc/usb-modeswitch/default.nix b/pkgs/development/tools/misc/usb-modeswitch/default.nix index a0e1b8eb8ce..731ac836412 100644 --- a/pkgs/development/tools/misc/usb-modeswitch/default.nix +++ b/pkgs/development/tools/misc/usb-modeswitch/default.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, pkgconfig, libusb1 }: +{ stdenv, lib, fetchurl, pkgconfig, makeWrapper +, libusb1, tcl, utillinux, coreutils, bash }: stdenv.mkDerivation rec { pname = "usb-modeswitch"; @@ -9,19 +10,32 @@ stdenv.mkDerivation rec { sha256 = "18wbbxc5cfsmikba0msdvd5qlaga27b32nhrzicyd9mdddp265f2"; }; + patches = [ ./configurable-usb-modeswitch.patch ]; + + # Remove attempts to write to /etc and /var/lib. + postPatch = '' + sed -i \ + -e '/^\tinstall .* usb_modeswitch.conf/s,$(ETCDIR),$(out)/etc,' \ + -e '\,^\tinstall -d .*/var/lib/usb_modeswitch,d' \ + Makefile + ''; + makeFlags = [ - "DESTDIR=$(out)" "PREFIX=$(out)" + "ETCDIR=/etc" + "USE_UPSTART=false" + "USE_SYSTEMD=true" + "SYSDIR=$(out)/lib/systemd/system" + "UDEVDIR=$(out)/lib/udev" ]; - # make clean: we always build from source. It should be necessary on x86_64 only - preConfigure = '' - find -type f | xargs sed 's@/bin/rm@rm@g' -i - make clean + postFixup = '' + wrapProgram $out/bin/usb_modeswitch_dispatcher \ + --set PATH ${lib.makeBinPath [ utillinux coreutils bash ]} ''; - buildInputs = [ libusb1 ]; - nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libusb1 tcl ]; + nativeBuildInputs = [ pkgconfig makeWrapper ]; meta = with stdenv.lib; { description = "A mode switching tool for controlling 'multi-mode' USB devices"; |