diff --git a/doc/guix.texi b/doc/guix.texi index a47d37667e..0bb68bb477 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -7998,6 +7998,13 @@ location databases. See web site} for more information. @end deffn +@deffn {Scheme Procedure} bluetooth-service [#:bluez @var{bluez}] +Return a service that runs the @command{bluetoothd} daemon, which manages +all the Bluetooth devices and provides a number of D-Bus interfaces. + +Users need to be in the @code{lp} group to access the D-Bus service. +@end deffn + @node Database Services @subsubsection Database Services diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 409731d1d6..75e5519a77 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -207,7 +207,7 @@ (define-public transmission-remote-cli (define-public aria2 (package (name "aria2") - (version "1.23.0") + (version "1.24.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/tatsuhiro-t/aria2/" @@ -215,7 +215,7 @@ (define-public aria2 name "-" version ".tar.xz")) (sha256 (base32 - "14qz7686zxnhbaqj6l1hqpkykhpygm74h2mzwhh13gqmcj38alaq")))) + "0dxzyy3x20vla4c4563zjqkl71djv731db6wn3h0gysgf399d91m")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--enable-libaria2") diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 0fc61d3927..47e0499f7f 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015, 2016 Eric Bavier -;;; Copyright © 2015 Ricardo Wurmus +;;; Copyright © 2015, 2016 Ricardo Wurmus ;;; Copyright © 2015 Leo Famulari ;;; Copyright © 2015 Jeff Mickey ;;; Copyright © 2015, 2016 Efraim Flashner @@ -249,6 +249,29 @@ (define-public bzip2 "See LICENSE in the distribution.")) (home-page "http://www.bzip.org/")))) +(define-public lbzip2 + (package + (name "lbzip2") + (version "2.5") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.lbzip2.org/lbzip2-" + version ".tar.gz")) + (sha256 + (base32 + "1sahaqc5bw4i0iyri05syfza4ncf5cml89an033fspn97klmxis6")))) + (build-system gnu-build-system) + (synopsis "Parallel bzip2 compression utility") + (description + "lbzip2 is a multi-threaded compression utility with support for the +bzip2 compressed file format. lbzip2 can process standard bz2 files in +parallel. It uses POSIX threading model (pthreads), which allows it to take +full advantage of symmetric multiprocessing (SMP) systems. It has been proven +to scale linearly, even to over one hundred processor cores. lbzip2 is fully +compatible with bzip2 – both at file format and command line level.") + (home-page "http://www.lbzip2.org/") + (license license:gpl3+))) + (define-public pbzip2 (package (name "pbzip2") diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index ae3ebc1504..ae25b54297 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1325,6 +1325,50 @@ (define-public butler build jobs.") (license license:gpl3+))) +(define-public emacs-company + (package + (name "emacs-company") + (version "0.8.12") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/company-mode/company-mode/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1vwmbqm7h4lrszv2qxy6fqzznm9raigi84cadx982c9m7shp0zzz")))) + (build-system emacs-build-system) + (home-page "http://company-mode.github.io/") + (synopsis "Modular text completion framework") + (description + "Company is a modular completion mechanism. Modules for retrieving +completion candidates are called back-ends, modules for displaying them are +front-ends. Company comes with many back-ends, e.g. @code{company-elisp}. +These are distributed in separate files and can be used individually.") + (license license:gpl3+))) + +(define-public emacs-multiple-cursors + (package + (name "emacs-multiple-cursors") + (version "1.4.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/magnars/multiple-cursors.el/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hihihlvcvzayg5fnqzcg45fhvlmq6xlq58syy00rjwbry9w389k")))) + (build-system emacs-build-system) + (home-page "https://github.com/magnars/multiple-cursors.el") + (synopsis "Multiple cursors for Emacs") + (description + "This package adds support to Emacs for editing text with multiple +simultaneous cursors.") + (license license:gpl3+))) + (define-public typo (package (name "emacs-typo") diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 7c0254e3b6..9b761b10b5 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -706,6 +706,55 @@ (define-public guile-gdbm-ffi Guile's foreign function interface.") (license gpl3+))) +(define-public guile-sqlite3 + (let ((commit "607721fe1174a299e45d457acacf94eefb964071")) + (package + (name "guile-sqlite3") + (version (string-append "0.0-0." (string-take commit 7))) + + ;; XXX: Gitorious being dead, this is not a reliable home page. + (home-page "https://www.gitorious.org/guile-sqlite3/guile-sqlite3.git/") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (sha256 + (base32 + "09gaffhh5rawz5kdmqx2ahvj1ngvxddp469r18bmjz3sz8p0slj2")) + (file-name (string-append name "-" version "-checkout")) + (modules '((guix build utils))) + (snippet + ;; Upgrade 'Makefile.am' to the current way of doing things. + '(substitute* "Makefile.am" + (("TESTS_ENVIRONMENT") + "TEST_LOG_COMPILER"))))) + + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config))) + (inputs + `(("guile" ,guile-2.0) + ("sqlite" ,sqlite))) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'configure 'autoreconf + (lambda _ + (zero? (system* "autoreconf" "-vfi")))) + (add-before 'build 'set-sqlite3-file-name + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "sqlite3.scm" + (("\"libsqlite3\"") + (string-append "\"" (assoc-ref inputs "sqlite") + "/lib/libsqlite3\""))) + #t))))) + (synopsis "Access SQLite databases from Guile") + (description + "This package provides Guile bindings to the SQLite database system.") + (license gpl3+)))) + (define-public haunt (package (name "haunt") diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 3aa3adea72..a9d1676075 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2424,7 +2424,7 @@ (define-public sbc (define-public bluez (package (name "bluez") - (version "5.39") + (version "5.40") (source (origin (method url-fetch) (uri (string-append @@ -2432,16 +2432,39 @@ (define-public bluez version ".tar.xz")) (sha256 (base32 - "0fsrf9rdmrdyx0vmcpfji4imjsvliawyy5sjb6b64myka28vrl91")))) + "09ywk3lvgis0nbi0d5z8d4qp5r33lzwnd6bdakacmbsm420qpnns")))) (build-system gnu-build-system) (arguments '(#:configure-flags (let ((out (assoc-ref %outputs "out"))) - (list "--enable-library" + (list "--sysconfdir=/etc" + "--localstatedir=/var" + "--enable-library" "--disable-systemd" ;; Install dbus/udev files to the correct location. (string-append "--with-dbusconfdir=" out "/etc") - (string-append "--with-udevdir=" out "/lib/udev"))))) + (string-append "--with-udevdir=" out "/lib/udev"))) + #:phases + (modify-phases %standard-phases + (add-after 'install 'post-install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (servicedir (string-append out "/share/dbus-1/services")) + (service "obexd/src/org.bluez.obex.service") + (rule (string-append + out "/lib/udev/rules.d/97-hid2hci.rules"))) + ;; Install the obex dbus service file. + (substitute* service + (("/bin/false") + (string-append out "/libexec/bluetooth/obexd"))) + (install-file service servicedir) + ;; Fix paths in the udev rule. + (substitute* rule + (("hid2hci --method") + (string-append out "/lib/udev/hid2hci --method")) + (("/sbin/udevadm") + (string-append (assoc-ref inputs "eudev") "/bin/udevadm"))) + #t)))))) (native-inputs `(("pkg-config" ,pkg-config) ("gettext" ,gnu-gettext))) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 23fe9224c4..70757149f1 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -689,7 +689,7 @@ (define-public powertabeditor (define-public synthv1 (package (name "synthv1") - (version "0.7.4") + (version "0.7.5") (source (origin (method url-fetch) (uri @@ -697,7 +697,7 @@ (define-public synthv1 version ".tar.gz")) (sha256 (base32 - "16n0v4jk0ilirq84rrildvdwqxgxav78rk58ilhl622v5n893c7w")))) + "0h5zja78phf9705i9g54zh61iczb24iv7rxhljyms30sjgajig1y")))) (build-system gnu-build-system) ;; There are no tests. (arguments `(#:tests? #f)) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index dbc4533a52..7587678dc1 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2016 Danny Milosavljevic ;;; Copyright © 2016 Lukas Gradl ;;; Copyright © 2016 Hartmut Goebel +;;; Copyright © 2016 Daniel Pimentel ;;; ;;; This file is part of GNU Guix. ;;; @@ -9272,3 +9273,30 @@ (define-public python2-wcwidth (inherit (package-with-python2 (strip-python2-variant python-wcwidth))) (native-inputs `(("python2-setuptools" ,python2-setuptools))))) + +(define-public python2-jsonrpclib + (package + (name "python2-jsonrpclib") + (version "0.1.7") + (source (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/j/jsonrpclib/" + "jsonrpclib-" version ".tar.gz")) + (sha256 + (base32 + "02vgirw2bcgvpcxhv5hf3yvvb4h5wzd1lpjx8na5psdmaffj6l3z")))) + (build-system python-build-system) + (native-inputs + `(("python2-setuptools" ,python2-setuptools))) + (arguments + `(#:tests? #f + #:python ,python-2)) + (home-page "https://github.com/joshmarshall/jsonrpclib/") + (synopsis "Implementation of JSON-RPC specification for Python") + (description + "This library is an implementation of the JSON-RPC specification. +It supports both the original 1.0 specification, as well as the +new (proposed) 2.0 spec, which includes batch submission, keyword arguments, +etc.") + (license asl2.0))) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 74cbb16ebb..39b8e99f11 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -361,16 +361,16 @@ (define-public libressl (define-public python-acme (package (name "python-acme") - (version "0.8.0") + (version "0.8.1") (source (origin (method url-fetch) (uri (string-append "https://pypi.python.org/packages/" - "45/17/6fdcede92c7fe4d9c1ab9d7513ded5aa969a0b9c90f3d7b3b074cd37e898/" + "f5/7a/11a99b5d1d1c692f6eed27cfab69e6ba4d2f0c2a461d2607e6a930ff2c68/" "acme-" version ".tar.gz")) (sha256 (base32 - "1nk48p0pi6xmqpsqjvw6xkx5vv4vl33yzq67fpr33ci8fra6pa6z")))) + "17vx2miczpd8ww4xizmc0nca2c7jf04wnhfnswx2bxhb537lmsnk")))) (build-system python-build-system) (arguments `(#:phases @@ -423,16 +423,16 @@ (define-public python2-acme (define-public certbot (package (name "certbot") - (version "0.8.0") + (version "0.8.1") (source (origin (method url-fetch) (uri (string-append "https://pypi.python.org/packages/" - "da/b8/fa6d7f0f8c0d37944ca4a1940b1e933fc6673498995a45db03c034bb11dd/" + "a2/3b/4756e6a0ceb14e084042a2a65c615d68d25621c6fd446d0fc10d14c4ce7d/" name "-" version ".tar.gz")) (sha256 (base32 - "052338jdiy8dniskqxm2hzbca084ms0xqnjicshl6cpvhjs70g1w")))) + "0w972cf2mk74aji5d8dylg3jw6wczg01gb4asf3ndv8c64yxza3c")))) (build-system python-build-system) (arguments `(#:python ,python-2 diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index f427d35777..2fb08cd1b3 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2015 Andy Wingo ;;; Copyright © 2015 Mark H Weaver +;;; Copyright © 2016 Sou Bunnbu ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,6 +38,7 @@ (define-module (gnu services desktop) #:use-module (gnu packages polkit) #:use-module (gnu packages xdisorg) #:use-module (gnu packages suckless) + #:use-module (gnu packages linux) #:use-module (guix records) #:use-module (guix packages) #:use-module (guix store) @@ -49,6 +51,7 @@ (define-module (gnu services desktop) geoclue-application %standard-geoclue-applications geoclue-service + bluetooth-service polkit-service elogind-configuration elogind-service @@ -344,6 +347,38 @@ (define* (geoclue-service #:key (geoclue geoclue) (submission-nick submission-nick) (applications applications)))) + +;;; +;;; Bluetooth. +;;; + +(define (bluetooth-shepherd-service bluez) + "Return a shepherd service for @command{bluetoothd}." + (shepherd-service + (provision '(bluetooth)) + (requirement '(dbus-system udev)) + (documentation "Run the bluetoothd daemon.") + (start #~(make-forkexec-constructor + (string-append #$bluez "/libexec/bluetooth/bluetoothd"))) + (stop #~(make-kill-destructor)))) + +(define bluetooth-service-type + (service-type + (name 'bluetooth) + (extensions + (list (service-extension dbus-root-service-type list) + (service-extension udev-service-type list) + (service-extension shepherd-root-service-type + (compose list bluetooth-shepherd-service)))))) + +(define* (bluetooth-service #:key (bluez bluez)) + "Return a service that runs the @command{bluetoothd} daemon, which manages +all the Bluetooth devices and provides a number of D-Bus interfaces. + +Users need to be in the @code{lp} group to access the D-Bus service. +" + (service bluetooth-service-type bluez)) + ;;; ;;; Polkit privilege management service.