mirror of
git://git.savannah.gnu.org/guix.git
synced 2023-12-14 03:33:07 +01:00
* gnu/packages/admin.scm (mingetty, clusterssh, wpa-supplicant-minimal, wpa-supplicant, wakelan, acpica, tree, direvent, dstat)[arguments]: Use 'modify-phases' syntax. * gnu/packages/algebra.scm (arb)[arguments]: Likewise. * gnu/packages/apr.scm (apr-util)[arguments]: Likewise. * gnu/packages/audio.scm (clalsadrv, fluidsynth, faad2, lv2-mda-piano, lv2-mda-epiano, timidity++, vamp, soundtouch, portaudio, rsound, zita-convolver, zita-alsa-pcmi)[arguments]: Likewise. * gnu/packages/backup.scm (rdup, btar)[arguments]: Likewise. * gnu/packages/bioinformatics.scm (bedops, bwa, crossmap, express, flexbar, grit, hisat, ngs-sdk, subread)[arguments]: Likewise. * gnu/packages/bittorrent.scm (transmission)[arguments]: Likewise. * gnu/packages/cdrom.scm (cd-discid)[arguments]: Likewise. * gnu/packages/compression.scm (sharutils)[arguments]: Likewise. * gnu/packages/conky.scm (conky)[arguments]: Likewise. * gnu/packages/databases.scm (bdb, bdb-5.3)[arguments]: Likewise. * gnu/packages/debug.scm (delta, c-reduce)[arguments]: Likewise. * gnu/packages/display-managers.scm (slim)[arguments]: Likewise. * gnu/packages/dns.scm (dnsmasq)[arguments]: Likewise. * gnu/packages/emacs.scm (geiser, emacs-wget, bbdb)[arguments]: Likewise. * gnu/packages/engineering.scm (pcb)[arguments]: Likewise. * gnu/packages/firmware.scm (ath9k-htc-firmware)[arguments]: Likewise. * gnu/packages/flashing-tools.scm (flashrom)[arguments]: Likewise. * gnu/packages/fltk.scm (fltk)[arguments]: Likewise. * gnu/packages/freedesktop.scm (python-pyxdg)[arguments]: Likewise. * gnu/packages/gd.scm (perl-gd)[arguments]: Likewise. * gnu/packages/gkrellm.scm (gkrellm)[arguments]: Likewise. * gnu/packages/glib.scm (glibmm)[arguments]: Likewise. * gnu/packages/gl.scm (glew)[arguments]: Likewise. * gnu/packages/gnome.scm (icon-naming-utils, orbit2, libbonobo, gnome-vfs, libgnome, libbonoboui, goffice-0.8, dconf)[arguments]: Likewise. * gnu/packages/gprolog.scm (gprolog)[arguments]: Likewise. * gnu/packages/gps.scm (gpscorrelate)[arguments]: Likewise. * gnu/packages/graphics.scm (agg)[arguments]: Likewise. * gnu/packages/gtk.scm (ganv, girara, gtksourceview-2, guile-present, python2-pycairo)[arguments]: Likewise. * gnu/packages/guile.scm (guile-1.8)[arguments]: Likewise. * gnu/packages/guile-wm.scm (guile-wm)[arguments]: Likewise. * gnu/packages/hugs.scm (hugs)[arguments]: Likewise. * gnu/packages/hurd.scm (gnumach-headers, hurd-headers, hurd-minimal) [arguments]: Likewise. * gnu/packages/image-viewers.scm (feh, sxiv)[arguments]: Likewise. * gnu/packages/libcanberra.scm (libcanberra)[arguments]: Likewise. * gnu/packages/linux.scm (bridge-utils, iw, fuse, unionfs-fuse/static, lm-sensors, i2c-tools, xsensors, perf, mdadm, libaio, module-init-tools) [arguments]: Likewise. * gnu/packages/lisp.scm (ccl)[arguments]: Likewise. * gnu/packages/lout.scm (lout)[arguments]: Likewise. * gnu/packages/lua.scm (luajit)[arguments]: Likewise. * gnu/packages/machine-learning.scm (shogun)[arguments]: Likewise. * gnu/packages/mail.scm (exim)[arguments]: Likewise. * gnu/packages/man.scm (man-pages, txt2man)[arguments]: Likewise. * gnu/packages/maths.scm (lapack, superlu-dist, openlibm, openspecfun) [arguments]: Likewise. * gnu/packages/messaging.scm (bitlbee)[arguments]: Likewise. * gnu/packages/mp3.scm (libmad, id3lib, mp3info)[arguments]: Likewise. * gnu/packages/music.scm (solfege)[arguments]: Likewise. * gnu/packages/noweb.scm (noweb)[arguments]: Likewise. * gnu/packages/patchutils.scm (patchutils, quilt, colordiff)[arguments]: Likewise. * gnu/packages/pdf.scm (xpdf, zathura-cb, zathura-ps, zathura-djvu, zathura-pdf-poppler, zathura, podofo, fbida)[arguments]: Likewise. * gnu/packages/perl.scm (perl-file-list, perl-test-harness)[arguments]: Likewise. * gnu/packages/photo.scm (gphoto2)[arguments]: Likewise. * gnu/packages/popt.scm (popt)[arguments]: Likewise. * gnu/packages/pretty-print.scm (source-highlight, astyle)[arguments]: Likewise. * gnu/packages/pumpio.scm (pumpa)[arguments]: Likewise. * gnu/packages/python.scm (python-passlib, python-pycrypto, python2-empy, python-sqlalchemy, python-docopt)[arguments]: Likewise. * gnu/packages/rdf.scm (lrdf)[arguments]: Likewise. * gnu/packages/regex.scm (tre)[arguments]: Likewise. * gnu/packages/rrdtool.scm (rrdtool)[arguments]: Likewise. * gnu/packages/ruby.scm (ruby-2.1, ruby-1.8)[arguments]: Likewise. * gnu/packages/sawfish.scm (sawfish)[arguments]: Likewise. * gnu/packages/scheme.scm (racket)[arguments]: Likewise. * gnu/packages/sdl.scm (guile-sdl)[arguments]: Likewise. * gnu/packages/serveez.scm (serveez)[arguments]: Likewise. * gnu/packages/skribilo.scm (skribilo)[arguments]: Likewise. * gnu/packages/smalltalk.scm (smalltalk)[arguments]: Likewise. * gnu/packages/suckless.scm (dmenu, slock)[arguments]: Likewise. * gnu/packages/tcl.scm (expect)[arguments]: Likewise. * gnu/packages/telephony.scm (commoncpp)[arguments]: Likewise. * gnu/packages/textutils.scm (recode, libgtextutils)[arguments]: Likewise. * gnu/packages/time.scm (time)[arguments]: Likewise. * gnu/packages/tor.scm (privoxy)[arguments]: Likewise. * gnu/packages/uucp.scm (uucp)[arguments]: Likewise. * gnu/packages/video.scm (libdvdnav-4)[arguments]: Likewise. * gnu/packages/web-browsers.scm (lynx)[arguments]: Likewise. * gnu/packages/web.scm (tinyproxy)[arguments]: Likewise. * gnu/packages/wicd.scm (wicd)[arguments]: Likewise. * gnu/packages/wm.scm (bspwm)[arguments]: Likewise. * gnu/packages/xdisorg.scm (sxhkd, xcape)[arguments]: Likewise. * gnu/packages/xfce.scm (xfconf)[arguments]: Likewise. * gnu/packages/xfig.scm (transfig)[arguments]: Likewise. * gnu/packages/xorg.scm (imake)[arguments]: Likewise.
193 lines
9.1 KiB
Scheme
193 lines
9.1 KiB
Scheme
;;; GNU Guix --- Functional package management for GNU
|
|
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
|
;;; Copyright © 2015 Pierre-Antoine Rault <par@rigelk.eu>
|
|
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
|
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
|
|
;;;
|
|
;;; This file is part of GNU Guix.
|
|
;;;
|
|
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
|
;;; under the terms of the GNU General Public License as published by
|
|
;;; the Free Software Foundation; either version 3 of the License, or (at
|
|
;;; your option) any later version.
|
|
;;;
|
|
;;; GNU Guix is distributed in the hope that it will be useful, but
|
|
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
;;; GNU General Public License for more details.
|
|
;;;
|
|
;;; You should have received a copy of the GNU General Public License
|
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
(define-module (gnu packages wicd)
|
|
#:use-module (guix packages)
|
|
#:use-module (guix download)
|
|
#:use-module (guix build-system python)
|
|
#:use-module (guix licenses)
|
|
#:use-module (guix utils)
|
|
#:use-module (gnu packages)
|
|
#:use-module (gnu packages glib)
|
|
#:use-module (gnu packages gtk)
|
|
#:use-module (gnu packages gnome)
|
|
#:use-module (gnu packages gettext)
|
|
#:use-module (gnu packages linux)
|
|
#:use-module (gnu packages admin)
|
|
#:use-module (gnu packages python))
|
|
|
|
(define-public wicd
|
|
(package
|
|
(name "wicd")
|
|
(version "1.7.4")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://launchpad.net/wicd/"
|
|
(version-major+minor version) "/" version
|
|
"/+download/wicd-" version ".tar.gz"))
|
|
(sha256
|
|
(base32 "0qpbwwsrqdp40mm3a8djpn2d055rxxspdhwijwsdnws700a9d637"))
|
|
(patches (search-patches
|
|
"wicd-bitrate-none-fix.patch"
|
|
"wicd-get-selected-profile-fix.patch"
|
|
"wicd-urwid-1.3.patch"
|
|
"wicd-wpa2-ttls.patch"))))
|
|
(build-system python-build-system)
|
|
(native-inputs `(("gettext" ,gettext-minimal)))
|
|
(inputs `(("dbus-glib" ,dbus-glib)
|
|
("python2-dbus" ,python2-dbus)
|
|
("python2-pygtk" ,python2-pygtk)
|
|
("python2-urwid" ,python2-urwid)
|
|
("python2-babel" ,python2-babel)
|
|
("wireless-tools" ,wireless-tools)
|
|
("wpa-supplicant" ,wpa-supplicant)
|
|
("net-tools" ,net-tools)
|
|
("isc-dhcp" ,isc-dhcp)
|
|
("iproute" ,iproute)
|
|
("hicolor-icon-theme" ,hicolor-icon-theme)))
|
|
(arguments
|
|
`(#:python ,python-2
|
|
#:tests? #f ; test suite requires networking
|
|
;; wicd directly extends distutils command classes,
|
|
;; we can't easily make setup.py use setuptools.
|
|
#:use-setuptools? #f
|
|
#:phases
|
|
(modify-phases %standard-phases
|
|
(add-before 'build 'configure
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
(let ((out (assoc-ref outputs "out"))
|
|
(python (assoc-ref inputs "python")))
|
|
(define (which* cmd)
|
|
(cond ((string=? cmd "ping")
|
|
"/run/setuid-programs/ping")
|
|
((which cmd)
|
|
=> identity)
|
|
(else
|
|
(format (current-error-port)
|
|
"WARNING: Unable to find absolute path for ~s~%"
|
|
cmd)
|
|
#f)))
|
|
(substitute* "setup.py"
|
|
;; The handling of unrecognized distros in setup.py is
|
|
;; broken. Work around the problem.
|
|
(("\\('init=', " all)
|
|
(string-append "#" all))
|
|
;; Inhibit attempts to install in /var or /etc.
|
|
(("\\(wpath\\.(log|etc|networks|.*scripts), " all)
|
|
(string-append "#" all)))
|
|
|
|
;; Patch references to subprograms with absolute pathnames.
|
|
(substitute* "wicd/wnettools.py"
|
|
(("(misc\\.Run\\(\\[?[\"'])([^\"' ]*)" all pre cmd)
|
|
(string-append pre (which* cmd)))
|
|
(("(self\\._find_program_path|misc\\.find_path)\\([\"']([^\"']*)[\"']\\)"
|
|
all dummy cmd)
|
|
(let ((pathname (which* cmd)))
|
|
(if pathname
|
|
(string-append "'" pathname "'")
|
|
"None")))
|
|
(("([\"'])(ifconfig|route|wpa_cli|wpa_supplicant|iwconfig|iwpriv|iwlist|ping)"
|
|
all open-quote cmd)
|
|
(string-append open-quote (which* cmd))))
|
|
|
|
;; setup.py cannot cope without LANG
|
|
(setenv "LANG" "C")
|
|
|
|
(let ((params
|
|
(list
|
|
(string-append "--python=" python "/bin/python")
|
|
"--no-install-init"
|
|
"--no-install-docs"
|
|
"--no-install-acpi"
|
|
"--no-install-pmutils"
|
|
"--no-install-kde"
|
|
"--no-install-gnome-shell-extensions"
|
|
|
|
"--distro=guixsd"
|
|
"--wicdgroup=netdev"
|
|
"--loggroup=root"
|
|
"--logperms=0640"
|
|
|
|
;; XXX setup.py configure asks us to pass --init=,
|
|
;; but if we do it says "no such option 'init'".
|
|
;; (string-append "--init=" out "/etc/init.d")
|
|
|
|
(string-append "--initfile=" out "/etc/init.d/wicd")
|
|
(string-append "--lib=" out "/lib/wicd")
|
|
(string-append "--share=" out "/share/wicd")
|
|
|
|
"--etc=/etc/wicd"
|
|
"--scripts=/etc/wicd/scripts"
|
|
"--pmutils=/etc/pm-utils/sleep.d"
|
|
|
|
(string-append "--encryption="
|
|
out "/etc/encryption/templates")
|
|
(string-append "--bin=" out "/bin")
|
|
(string-append "--sbin=" out "/sbin")
|
|
(string-append "--daemon=" out "/share/wicd/daemon")
|
|
(string-append "--backends=" out "/share/wicd/backends")
|
|
(string-append "--curses=" out "/share/wicd/curses")
|
|
(string-append "--gtk=" out "/share/wicd/gtk")
|
|
(string-append "--cli=" out "/share/wicd/cli")
|
|
(string-append "--gnome-shell-extensions="
|
|
out "/share/gnome-shell-extensions")
|
|
(string-append "--icons=" out "/share/icons/hicolor")
|
|
(string-append "--pixmaps=" out "/share/pixmaps")
|
|
(string-append "--images=" out "/share/icons")
|
|
(string-append "--dbus=" out "/etc/dbus-1/system.d")
|
|
(string-append "--dbus-service="
|
|
out "/share/dbus-1/system-services")
|
|
(string-append "--systemd=" out "/lib/systemd/system")
|
|
(string-append "--logrotate=" out "/etc/logrotate.d")
|
|
(string-append "--desktop=" out "/share/applications")
|
|
(string-append "--translations=" out "/share/locale")
|
|
(string-append "--autostart=" out "/etc/xdg/autostart")
|
|
(string-append "--docdir=" out "/share/doc/wicd")
|
|
(string-append "--mandir=" out "/share/man")
|
|
(string-append "--kdedir=" out "/share/autostart"))))
|
|
(format #t
|
|
"running ~s with command ~s and parameters ~s~%"
|
|
"python setup.py" "configure" params)
|
|
(zero? (apply system* "python" "setup.py" "configure" params))))))
|
|
(add-after 'install 'post-install
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
(let ((out (assoc-ref outputs "out")))
|
|
;; wicd's installer tries to put dhclient.conf.template.default
|
|
;; in /etc/wicd/other, which is not available in the build
|
|
;; environment, so here we install it manually in the output
|
|
;; directory.
|
|
(let ((dest-dir (string-append out "/etc/wicd"))
|
|
(name "dhclient.conf.template.default"))
|
|
(install-file (string-append "other/" name) dest-dir))
|
|
|
|
;; Copy index.theme from hicolor-icon-theme. This is needed to
|
|
;; allow wicd-gtk to find its icons.
|
|
(let ((hicolor (assoc-ref inputs "hicolor-icon-theme"))
|
|
(name "/share/icons/hicolor/index.theme"))
|
|
(install-file (string-append hicolor name)
|
|
(string-append out "/share/icons/hicolor")))
|
|
#t))))))
|
|
(synopsis "Network connection manager")
|
|
(description "Wicd is a network manager that aims to simplify wired and
|
|
wireless networking.")
|
|
(home-page "https://launchpad.net/wicd")
|
|
(license gpl2+)))
|