aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi7
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/machine/ssh.scm4
-rw-r--r--gnu/packages/astronomy.scm35
-rw-r--r--gnu/packages/chromium.scm33
-rw-r--r--gnu/packages/debug.scm9
-rw-r--r--gnu/packages/dns.scm4
-rw-r--r--gnu/packages/emacs-xyz.scm136
-rw-r--r--gnu/packages/games.scm31
-rw-r--r--gnu/packages/geo.scm68
-rw-r--r--gnu/packages/gnupg.scm11
-rw-r--r--gnu/packages/i2p.scm105
-rw-r--r--gnu/packages/logging.scm30
-rw-r--r--gnu/packages/patches/glog-gcc-5-demangling.patch64
-rw-r--r--gnu/packages/python-xyz.scm2
-rw-r--r--gnu/packages/rdf.scm8
-rw-r--r--gnu/packages/web.scm35
-rw-r--r--guix/scripts/pull.scm13
18 files changed, 461 insertions, 136 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index f988f4a8bd..f112000f3b 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -21349,7 +21349,7 @@ from garbage collection for at least @var{ttl} seconds.
@item @code{port} (default: @code{8081})
Port number used by the HTTP server.
-@item --listen=@var{host}
+@item @code{host} (default: @code{"localhost"})
Listen on the network interface for @var{host}. The default is to
accept connections from localhost.
@@ -26407,11 +26407,6 @@ gnu/packages/image.scm:312:2: openjpeg@@2.1.0: probably vulnerable to CVE-2016-1
@xref{Invoking guix lint}, for more information.
-@quotation Note
-As of version @value{VERSION}, the feature described below is considered
-``beta''.
-@end quotation
-
Guix follows a functional
package management discipline (@pxref{Introduction}), which implies
that, when a package is changed, @emph{every package that depends on it}
diff --git a/gnu/local.mk b/gnu/local.mk
index e97ff507e9..01ec94484f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -243,6 +243,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/hugs.scm \
%D%/packages/hurd.scm \
%D%/packages/hyperledger.scm \
+ %D%/packages/i2p.scm \
%D%/packages/ibus.scm \
%D%/packages/icu4c.scm \
%D%/packages/idris.scm \
@@ -886,7 +887,6 @@ dist_patch_DATA = \
%D%/packages/patches/glibc-supported-locales.patch \
%D%/packages/patches/glibc-2.27-supported-locales.patch \
%D%/packages/patches/glusterfs-use-PATH-instead-of-hardcodes.patch \
- %D%/packages/patches/glog-gcc-5-demangling.patch \
%D%/packages/patches/gmp-arm-asm-nothumb.patch \
%D%/packages/patches/gmp-faulty-test.patch \
%D%/packages/patches/gnome-control-center-udisks.patch \
diff --git a/gnu/machine/ssh.scm b/gnu/machine/ssh.scm
index a7d1a967ae..278d43c10f 100644
--- a/gnu/machine/ssh.scm
+++ b/gnu/machine/ssh.scm
@@ -49,7 +49,7 @@
;;; Commentary:
;;;
;;; This module implements remote evaluation and system deployment for
-;;; machines that are accessable over SSH and have a known host-name. In the
+;;; machines that are accessible over SSH and have a known host-name. In the
;;; sense of the broader "machine" interface, we describe the environment for
;;; such machines as 'managed-host.
;;;
@@ -351,7 +351,7 @@ environment type of 'managed-host."
(machine-remote-eval managed-host-remote-eval)
(deploy-machine deploy-managed-host)
(name 'managed-host-environment-type)
- (description "Provisioning for machines that are accessable over SSH
+ (description "Provisioning for machines that are accessible over SSH
and have a known host-name. This entails little more than maintaining an SSH
connection to the host.")))
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 4cf7c10352..3312fe0c47 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -254,3 +254,38 @@ accurately in real time at any rate desired.")
(arguments
`(#:configure-flags '("-DENABLE_GTK=ON" "-DENABLE_QT=OFF")
#:tests? #f))))
+
+(define-public libnova
+ (package
+ (name "libnova")
+ (version "0.16")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.code.sf.net/p/libnova/libnova.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0icwylwkixihzni0kgl0j8dx3qhqvym6zv2hkw2dy6v9zvysrb1b"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-git-version
+ (lambda _
+ (substitute* "./git-version-gen"
+ (("/bin/sh") (which "sh")))
+ #t)))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)))
+ (synopsis "Celestial mechanics, astrometry and astrodynamics library")
+ (description "Libnova is a general purpose, double precision, Celestial
+Mechanics, Astrometry and Astrodynamics library.")
+ (home-page "http://libnova.sourceforge.net/")
+ (license (list license:lgpl2.0+
+ license:gpl2+)))) ; examples/transforms.c & lntest/*.c
+
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index a0527c303a..7462e757de 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -36,6 +36,7 @@
#:use-module (gnu packages cups)
#:use-module (gnu packages curl)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
@@ -68,7 +69,8 @@
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xdisorg)
- #:use-module (gnu packages xorg))
+ #:use-module (gnu packages xorg)
+ #:use-module (srfi srfi-1))
(define %preserved-third-party-files
'("base/third_party/dmg_fp" ;X11-style
@@ -191,6 +193,8 @@
"third_party/ungoogled" ;BSD-3
"third_party/usb_ids" ;BSD-3
"third_party/usrsctp" ;BSD-2
+ "third_party/wayland/wayland_scanner_wrapper.py" ;BSD-3
+ "third_party/wayland-protocols" ;Expat
"third_party/web-animations-js" ;ASL2.0
"third_party/webdriver" ;ASL2.0
"third_party/webrtc" ;BSD-3
@@ -777,3 +781,30 @@ disabled in order to protect the users privacy.")
(license:non-copyleft "chrome://credits"
"See chrome://credits for more information.")
license:lgpl2.1+))))
+
+(define-public ungoogled-chromium/wayland
+ (package/inherit ungoogled-chromium
+ (name "ungoogled-chromium-wayland")
+ (inputs
+ `(("wayland" ,wayland)
+ ("wayland-protocols" ,wayland-protocols)
+ ;; Remove inputs only needed for X11.
+ ,@(fold alist-delete (package-inputs ungoogled-chromium)
+ '("libx11" "libxcb" "libxcomposite" "libxcursor"
+ "libxdamage" "libxext" "libxfixes" "libxi"
+ "libxrender" "libxtst" "libxext" "libxrandr"
+ "libxscrnsaver"))))
+
+ (arguments
+ (substitute-keyword-arguments (package-arguments ungoogled-chromium)
+ ((#:configure-flags flags)
+ `(append (list "use_ozone=true"
+ "ozone_platform_wayland=true"
+ "ozone_auto_platforms=false"
+ "use_xkbcommon=true"
+ "use_system_minigbm=true"
+ "use_system_libwayland=true"
+ (string-append "system_wayland_scanner_path=\""
+ (assoc-ref %build-inputs "wayland")
+ "/bin/wayland-scanner\""))
+ (delete "use_vaapi=true" ,flags)))))))
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index e199e859ff..82631deef6 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -95,7 +95,7 @@ program to exhibit a bug.")
(define-public c-reduce
(package
(name "c-reduce")
- (version "2.8.0")
+ (version "2.10.0")
(source
(origin
(method url-fetch)
@@ -103,13 +103,12 @@ program to exhibit a bug.")
(string-append "http://embed.cs.utah.edu/creduce/"
"creduce-" version ".tar.gz")))
(sha256
- (base32
- "1vqx73ymfscvlyig03972a5m7ar3gx2yv6m8c6h2mibz792j5xkp"))))
+ (base32 "0qx0zq8jxzx2as2zf0740g7kvgq163ayn3041di4vwk77490y76v"))))
(build-system gnu-build-system)
(inputs
`(("astyle" ,astyle)
- ("llvm" ,llvm-6)
- ("clang" ,clang-6)
+ ("llvm" ,llvm)
+ ("clang" ,clang)
("flex" ,flex)
("indent" ,indent)
("perl" ,perl)
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 3eec104f50..17357c1292 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -108,7 +108,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
(define-public isc-bind
(package
(name "bind")
- (version "9.14.3")
+ (version "9.14.4")
(source (origin
(method url-fetch)
(uri (string-append
@@ -116,7 +116,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
"/bind-" version ".tar.gz"))
(sha256
(base32
- "1ymxr38c62w6961j8g2vllnv0s72z7zk4b2j2k8ixdh1rymqm1yf"))))
+ "0gxqws7ml15lwkjw9mdcd759gv5kk3s9m17j3vrp9448ls1gnbii"))))
(build-system gnu-build-system)
(outputs `("out" "utils"))
(inputs
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index d219a71080..5af2512aaf 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -6579,14 +6579,14 @@ programming and reproducible research.")
(package
(inherit emacs-org)
(name "emacs-org-contrib")
- (version "20190402")
+ (version "20190715")
(source (origin
(method url-fetch)
(uri (string-append "https://orgmode.org/elpa/org-plus-contrib-"
version ".tar"))
(sha256
(base32
- "0hbrhhq6sa0gz4ylzr54raxandqs4y953894b0hlr553b8sfl1wk"))))
+ "0yxxkcaxhp5bmjsfdd9pz79rj9s7nb4gj5ci51sh4pf8mimk9542"))))
(arguments
`(#:modules ((guix build emacs-build-system)
(guix build utils)
@@ -13689,6 +13689,138 @@ server with @code{M-x pinentry-start}.")
viewing files with long lines.")
(license license:gpl3+))))
+(define-public emacs-github-review
+ (let ((commit "9c3ffe30fba5d02e9951e76d1a5be2ed046663da")
+ (version "0.1")
+ (revision "1"))
+ (package
+ (name "emacs-github-review")
+ (version (git-version version revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/charignon/github-review")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "078rv6f2p3wrznhgvmkhd071bwy72007f5l2m2a0r1k2i3vbfaja"))))
+ (build-system emacs-build-system)
+ (inputs
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-s" ,emacs-s)
+ ("emacs-ghub" ,emacs-ghub)))
+ (home-page "https://github.com/charignon/github-review")
+ (synopsis "Review GitHub pull requests within Emacs")
+ (description "This package provides commands to pull in, comment on, and
+accept and reject GitHub pull requests.")
+ (license license:gpl3+))))
+
+(define-public emacs-deadgrep
+ (let ((commit "caeb37b8d6ab83f0eba353d6bbb29678190d4419")
+ (version "0.7")
+ (revision "1"))
+ (package
+ (name "emacs-deadgrep")
+ (version (git-version version revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Wilfred/deadgrep")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "158fqha8nilwfzmw15lcsq8b099j8wclzq303md0j4mfr2q2gfvs"))))
+ (build-system emacs-build-system)
+ (inputs
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-s" ,emacs-s)
+ ("emacs-spinner" ,emacs-spinner)))
+ (home-page "https://github.com/Wilfred/deadgrep")
+ (synopsis "Frontend for @code{ripgrep}")
+ (description "This package provides an Emacs interface for performing
+searches with @code{ripgrep}.")
+ (license license:gpl3+))))
+
+(define-public emacs-focus
+ (let ((commit "ab42b8779929beeb7878c7fb3d3ccd80d9327c7f")
+ (version "0.1.1")
+ (revision "1"))
+ (package
+ (name "emacs-focus")
+ (version (git-version version revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/larstvei/Focus")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "079v1syid7h2vr2ya6hs6hl0pgj60qdsw60mqw4cj2zllmkrkwj4"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/larstvei/Focus")
+ (synopsis "Minor mode for focusing in on relevant text")
+ (description "This package provides a minor mode that dims the color of
+text in neighboring sections.")
+ (license license:gpl3+))))
+
+(define-public emacs-pandoc-mode
+ (package
+ (name "emacs-pandoc-mode")
+ (version "2.27.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/joostkremers/pandoc-mode")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "04bqc7mhgkfks3nsvimd3rrriv4nqbksmv5ahlbbd03aqa2b0vrv"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-hydra" ,emacs-hydra)))
+ (home-page "https://github.com/joostkremers/pandoc-mode")
+ (synopsis "Minor mode for interacting with Pandoc")
+ (description "This package provides a Hydra menu for interacting with the
+Pandoc, the document-conversion tool.")
+ (license license:bsd-3)))
+
+(define-public emacs-ccls
+ (let ((commit "2764ddd57b03646f0327ea680a954b4a67450aef")
+ (version "0.1")
+ (revision "1"))
+ (package
+ (name "emacs-ccls")
+ (version (git-version version revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/MaskRay/emacs-ccls")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "16427jvzhjy8kpvlgl3qzkzppv98124hkgi8q8pv1h7m46k9lhh3"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-projectile" ,emacs-projectile)
+ ("emacs-lsp-mode" ,emacs-lsp-mode)))
+ (home-page "https://github.com/MaskRay/emacs-ccls")
+ (synopsis "Emacs support for the @code{ccls} language server")
+ (description "This package extends @code{lsp-mode} to work with @code{C}
+and @code{C++} files through the @code{ccls} language server.")
+ (license license:bsd-3))))
+
(define-public emacs-org-brain
(package
(name "emacs-org-brain")
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 19d6a16074..8e9db1412a 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -3263,24 +3263,33 @@ tactics.")
(define-public starfighter
(package
(name "starfighter")
- (version "1.7")
+ (version "2.0.0.2")
+ ;; As recommended by the upstream maintainer, use the git source code
+ ;; instead of the released source tarball until missing files in the tarball
+ ;; are added. The 'url-fetch' method may be appropriate again after the
+ ;; next update. See https://github.com/pr-starfighter/starfighter/issues/1
+ ;; for more details.
(source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://savannah/starfighter/"
- (version-major+minor version) "/"
- "starfighter-" version "-src.tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pr-starfighter/starfighter")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1646hpjq8bz2fkfkja1dah511hn7zd2r7da4w9c9blhad3p5732v"))))
+ "0p81ywgm2dxjbpmbsgx4f2d83sy6lv3hinrr1vzprkf9viidqnd2"))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)))
(inputs
- `(("sdl2" ,sdl2)
+ `(("pango" ,pango)
+ ("sdl2" ,sdl2)
("sdl2-image" ,sdl2-image)
- ("sdl2-mixer" ,sdl2-mixer)))
- (home-page "http://starfighter.nongnu.org/")
+ ("sdl2-mixer" ,sdl2-mixer)
+ ("sdl2-ttf" ,sdl2-ttf)))
+ (home-page "https://pr-starfighter.github.io/")
(synopsis "2D scrolling shooter game")
(description
"In the year 2579, the intergalactic weapons corporation, WEAPCO, has
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 2ee74794d8..96ac93764d 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -38,6 +39,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
+ #:use-module (gnu packages astronomy)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
@@ -45,6 +47,7 @@
#:use-module (gnu packages databases)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages documentation)
+ #:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@@ -58,6 +61,7 @@
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages qt)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages web)
#:use-module (gnu packages webkit)
@@ -905,3 +909,67 @@ given GPS coordinates,draws a GPS track, and points of interest on a moving
map display. Downloads map data from a number of websites, including
@url{https://www.openstreetmap.org}.")
(license license:gpl2+)))
+
+(define-public xygrib
+ (package
+ (name "xygrib")
+ (version "1.2.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/opengribs/XyGrib.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0qzaaavil2c7mkkai5mg54cv8r452i7psy7cg75qjja96d2d7rbd"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin (delete-file-recursively "data/fonts") #t))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-directories
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((jpeg (assoc-ref inputs "openjpeg"))
+ (font (assoc-ref inputs "font-liberation")))
+ (substitute* "CMakeLists.txt"
+ ;; Find libjpeg.
+ (("/usr") jpeg)
+ ;; Fix install locations.
+ (("set\\(PREFIX_BIN.*") "set(PREFIX_BIN \"bin\")\n")
+ (("set\\(PREFIX_PKGDATA.*") "set(PREFIX_PKGDATA \"share/${PROJECT_NAME}\")\n")
+ ;; Skip looking for the static library.
+ (("\"libnova.a\"") ""))
+ ;; Don't use the bundled font-liberation.
+ (substitute* "src/util/Font.cpp"
+ (("Util::pathFonts\\(\\)\\+\"liberation-fonts/\"")
+ (string-append "\"" font "/share/fonts/truetype/\"")))
+ (substitute* "src/util/Util.h"
+ (("pathData\\(\\)\\+\"data/fonts/\"")
+ (string-append "\"" font "/share/fonts/\""))))
+ #t)))
+ #:tests? #f)) ; no tests
+ (native-inputs
+ `(("qttools" ,qttools)))
+ (inputs
+ `(("bzip2" ,bzip2)
+ ("font-liberation" ,font-liberation)
+ ("libnova" ,libnova)
+ ("libpng" ,libpng)
+ ("openjpeg" ,openjpeg)
+ ("proj.4" ,proj.4)
+ ("qtbase" ,qtbase)
+ ("zlib" ,zlib)))
+ (synopsis "Weather Forecast Visualization")
+ (description
+ "XyGrib is a Grib file reader and visualizes meteorological data providing
+an off-line capability to analyse weather forecasts or hindcasts. It is
+intended to be used as a capable weather work station for anyone with a serious
+interest in examining weather. This would include members of the sailing
+community, private and sport aviators, farmers, weather buffs and many more.
+XyGrib is the continuation of the zyGrib software package with a new team of
+volunteers.")
+ (home-page "https://opengribs.org")
+ (license license:gpl3+)))
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index ca5a87997c..95a35368fa 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -209,14 +209,13 @@ specifications are building blocks of S/MIME and TLS.")
(define-public npth
(package
(name "npth")
- (version "1.5")
+ (version "1.6")
(source
(origin
- (method url-fetch)
- (uri (string-append "mirror://gnupg/npth/npth-" version ".tar.bz2"))
- (sha256
- (base32
- "1hmkkp6vzyrh8v01c2ynzf9vwikyagp7p1lxhbnr4ysk3w66jji9"))))
+ (method url-fetch)
+ (uri (string-append "mirror://gnupg/npth/npth-" version ".tar.bz2"))
+ (sha256
+ (base32 "1lg2lkdd3z1s3rpyf88786l243adrzyk9p4q8z9n41ygmpcsp4qk"))))
(build-system gnu-build-system)
(home-page "https://www.gnupg.org")
(synopsis "Non-preemptive thread library")
diff --git a/gnu/packages/i2p.scm b/gnu/packages/i2p.scm
new file mode 100644
index 0000000000..075f1f403f
--- /dev/null
+++ b/gnu/packages/i2p.scm
@@ -0,0 +1,105 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.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 i2p)
+ #:use-module (gnu packages boost)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages tls)
+ #:use-module (gnu packages upnp)
+ #:use-module (gnu packages web)
+ #:use-module (guix packages)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system cmake)
+ #:use-module ((guix licenses) #:prefix license:))
+
+(define-public i2pd
+ (package
+ (name "i2pd")
+ (version "2.27.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/PurpleI2P/i2pd.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "00y0y57z84gakwa88zzm0g3ixgc6y7zm35rjiysiajzvmdq5w1wf"))))
+ (build-system cmake-build-system)
+ (inputs `(("boost" ,boost)
+ ("miniupnpc" ,miniupnpc)
+ ("openssl" ,openssl)
+ ("websocketpp" ,websocketpp)
+ ("zlib" ,zlib)))
+ (arguments '(#:configure-flags
+ (let ((source (assoc-ref %build-inputs "source")))
+ (list (string-append "-S" source "/build")
+ "-DWITH_PCH=OFF"
+ "-DWITH_STATIC=OFF"
+ "-DWITH_UPNP=ON"
+ "-DWITH_WEBSOCKETS=ON"
+ "-DWITH_LIBRARY=ON"
+ "-DBUILD_SHARED_LIBS=ON"
+ "-DWITH_BINARY=ON"))
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key
+ (make-flags '())
+ (parallel-tests? #t)
+ #:allow-other-keys)
+ (let ((source (assoc-ref %build-inputs "source")))
+ (copy-recursively (string-append source "/tests")
+ "./tests")
+ (with-directory-excursion "tests"
+ (substitute* "Makefile"
+ (("../libi2pd/") (string-append source "/libi2pd/")))
+ (apply invoke "make" "all"
+ `(,@(if parallel-tests?
+ `("-j" ,(number->string
+ (parallel-job-count)))
+ '())
+ ,@make-flags))))))
+ (add-after 'install 'install-headers
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((install-dir (assoc-ref outputs "out"))
+ (src-dir (string-append install-dir "/src"))
+ (include-dir
+ (string-append install-dir "/include")))
+ (mkdir-p include-dir)
+ ;; This is the only header file that's relevant to the
+ ;; public interface.
+ ;; <https://github.com/PurpleI2P/i2pd/issues/1378>
+ (install-file (string-append src-dir "/api.h")
+ include-dir)
+ #t)))
+ (add-after 'install-headers 'remove-source
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((install-dir (assoc-ref outputs "out"))
+ (src-dir (string-append install-dir "/src")))
+ (delete-file-recursively src-dir)
+ (delete-file (string-append install-dir
+ "/LICENSE"))
+ #t))))))
+ (home-page "https://i2pd.website/")
+ (synopsis "Router for an end-to-end encrypted and anonymous internet")
+ (description "i2pd is a client for the anonymous I2P network, upon which
+applications for file sharing, web browsing, instant messaging, and more are
+built. i2pd allows people from all around the world to communicate and share
+information securely without restrictions.")
+ (license license:bsd-3)))
diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm
index 24a47567d0..42404636f6 100644
--- a/gnu/packages/logging.scm
+++ b/gnu/packages/logging.scm
@@ -64,40 +64,22 @@ staying as close to their API as is reasonable.")
(define-public glog
(package
(name "glog")
- (version "0.3.5")
+ (version "0.4.0")
(home-page "https://github.com/google/glog")
(source (origin
- (method url-fetch)
- (uri (string-append home-page "/archive/v" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference (url home-page)
+ (commit (string-append "v" version))))
(sha256
(base32
- "1q6ihk2asbx95a56kmyqwysq1x3grrw9jwqllafaidf0l84f903m"))
- (file-name (string-append name "-" version ".tar.gz"))
- (patches (search-patches "glog-gcc-5-demangling.patch"))))
+ "1xd3maiipfbxmhc9rrblc5x52nxvkwxp14npg31y5njqvkvzax9b"))
+ (file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl) ;for tests
("autoconf" ,autoconf-wrapper)
("automake" ,automake)
("libtool" ,libtool)))
- (arguments
- '(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'add-automake-files
- (lambda _
- ;; The 'test-driver' file is a dangling symlink to
- ;; /usr/share/automake; replace it. We can't just run
- ;; 'automake -ac' because it complains about version
- ;; mismatch, so run the whole thing.
- (delete-file "test-driver")
- (delete-file "configure") ;it's read-only
- (invoke "autoreconf" "-vfi")))
- (add-before 'check 'disable-signal-tests
- (lambda _
- ;; See e.g. https://github.com/google/glog/issues/219
- ;; and https://github.com/google/glog/issues/256
- (substitute* "Makefile"
- (("\tsignalhandler_unittest_sh") "\t$(EMPTY)"))
- #t)))))
(synopsis "C++ logging library")
(description
"Google glog is a library that implements application-level logging.
diff --git a/gnu/packages/patches/glog-gcc-5-demangling.patch b/gnu/packages/patches/glog-gcc-5-demangling.patch
deleted file mode 100644
index 7f3f42ceca..0000000000
--- a/gnu/packages/patches/glog-gcc-5-demangling.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-Fix symbol demangling for GCC 5, as reported at:
-
- https://github.com/google/glog/issues/14
-
-Patch from:
-
- https://github.com/google/glog/pull/50
-
-From b1639e3014996fbc7635870e013559c54e7e3b2f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?David=20Mart=C3=ADnez=20Moreno?= <ender@debian.org>
-Date: Thu, 13 Aug 2015 09:31:26 -0700
-Subject: [PATCH] Fix ABI demangling for the GCC 5.x case.
-
-When glog is compiled with gcc-5.2 in cxx11 ABI mode, it barfs about unmangled symbols. This patches it getting inspiration from binutils and demangle.cc itself, although it may be totally wrong or maybe have to use ParseAbiTag in more places. I haven't read the spec for the symbols, though.
-
-This patch makes the demangle unit test pass correctly.
----
- src/demangle.cc | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
-diff --git a/src/demangle.cc b/src/demangle.cc
-index e858181..0f0c831 100644
---- a/src/demangle.cc
-+++ b/src/demangle.cc
-@@ -439,6 +439,7 @@ static bool ParseExprPrimary(State *state);
- static bool ParseLocalName(State *state);
- static bool ParseDiscriminator(State *state);
- static bool ParseSubstitution(State *state);
-+static bool ParseAbiTag(State *state);
-
- // Implementation note: the following code is a straightforward
- // translation of the Itanium C++ ABI defined in BNF with a couple of
-@@ -567,6 +568,8 @@ static bool ParseNestedName(State *state) {
- static bool ParsePrefix(State *state) {
- bool has_something = false;
- while (true) {
-+ if (ParseAbiTag(state))
-+ continue;
- MaybeAppendSeparator(state);
- if (ParseTemplateParam(state) ||
- ParseSubstitution(state) ||
-@@ -585,6 +588,22 @@ static bool ParsePrefix(State *state) {
- return true;
- }
-
-+// <abi-tag> ::= B <source-name>
-+static bool ParseAbiTag(State *state) {
-+ State copy = *state;
-+
-+ Append(state, "[", 1);
-+ if (ParseOneCharToken(state, 'B') &&
-+ ParseSourceName(state))
-+ {
-+ Append(state, "]", 1);
-+ return true;
-+ }
-+
-+ *state = copy;
-+ return false;
-+}
-+
- // <unqualified-name> ::= <operator-name>
- // ::= <ctor-dtor-name>
- // ::= <source-name>
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 0dc61c1099..65dffd33bf 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -4904,7 +4904,7 @@ them as the version argument or in a SCM managed file.")
`(("python-scandir" ,python-scandir)
("python-six" ,python-six)))
(home-page "https://pypi.python.org/pypi/pathlib2/")
- (synopsis "Object-oriented filesystem paths")
+ (synopsis "Object-oriented file system paths")
(description "The goal of pathlib2 is to provide a backport of the
standard @code{pathlib} module which tracks the standard library module, so
all the newest features of the standard @code{pathlib} can be used also on
diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm
index 3e2db7acdf..1f2b713d2d 100644
--- a/gnu/packages/rdf.scm
+++ b/gnu/packages/rdf.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
;;;
;;; This file is part of GNU Guix.
@@ -309,7 +309,7 @@ ideal (e.g. in LV2 implementations or embedded applications).")
"13fshxwpipjrvsah1m2jw1kf022z2q5vpw24bzcznglgvms13x89"))))
(build-system waf-build-system)
(arguments
- `(#:tests? #f ; no check target
+ `(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
(add-before
@@ -319,10 +319,10 @@ ideal (e.g. in LV2 implementations or embedded applications).")
(string-append "-Wl,-rpath="
(assoc-ref outputs "out") "/lib"))
#t)))))
- (inputs
- `(("serd" ,serd)))
(native-inputs
`(("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ `(("serd" ,serd))) ; required by sord-0.pc
(home-page "https://drobilla.net/software/sord/")
(synopsis "C library for storing RDF data in memory")
(description
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index f70e6840af..55a20ea878 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -34,6 +34,7 @@
;;; Copyright © 2019 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -71,6 +72,7 @@
#:use-module (gnu packages admin)
#:use-module (gnu packages adns)
#:use-module (gnu packages apr)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages documentation)
#:use-module (gnu packages docbook)
@@ -855,6 +857,39 @@ for efficient socket-like bidirectional reliable communication channels.")
;; This is LGPLv2.1-only with extra exceptions specified in 'LICENSE'.
(license license:lgpl2.1)))
+(define-public websocketpp
+ (package
+ (name "websocketpp")
+ (version "0.8.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zaphoyd/websocketpp.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "12ffczcrryh74c1xssww35ic6yiy2l2xgdd30lshiq9wnzl2brgy"))))
+ (build-system cmake-build-system)
+ (inputs `(("boost" ,boost)
+ ("openssl" ,openssl)))
+ (arguments '(#:configure-flags '("-DBUILD_TESTS=ON")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'remove-tests
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((install-dir (assoc-ref outputs "out"))
+ (bin-dir (string-append install-dir "/bin")))
+ (delete-file-recursively bin-dir)
+ #t))))))
+ (home-page "https://www.zaphoyd.com/websocketpp/")
+ (synopsis "C++ library implementing the WebSocket protocol")
+ (description "WebSocket++ is a C++ library that can be used to implement
+WebSocket functionality. The goals of the project are to provide a WebSocket
+implementation that is simple, portable, flexible, lightweight, low level, and
+high performance.")
+ (license license:bsd-3)))
+
(define-public libpsl
(package
(name "libpsl")
diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm
index 7895c19914..54bbaddf30 100644
--- a/guix/scripts/pull.scm
+++ b/guix/scripts/pull.scm
@@ -52,6 +52,7 @@
#:use-module (srfi srfi-37)
#:use-module (ice-9 match)
#:use-module (ice-9 vlist)
+ #:use-module (ice-9 format)
#:export (display-profile-content
guix-pull))
@@ -162,16 +163,11 @@ Download and deploy the latest version of Guix.\n"))
%standard-build-options))
-(define what-to-build
- (store-lift show-what-to-build))
-(define indirect-root-added
- (store-lift add-indirect-root))
-
(define* (display-profile-news profile #:key concise?
current-is-newer?)
"Display what's up in PROFILE--new packages, and all that. If
CURRENT-IS-NEWER? is true, assume that the current process represents the
-newest generation of PROFILE.x"
+newest generation of PROFILE."
(match (memv (generation-number profile)
(reverse (profile-generations profile)))
((current previous _ ...)
@@ -197,7 +193,7 @@ newest generation of PROFILE.x"
(_ #t)))
(define* (build-and-install instances profile
- #:key verbose? dry-run?)
+ #:key use-substitutes? verbose? dry-run?)
"Build the tool from SOURCE, and install it in PROFILE. When DRY-RUN? is
true, display what would be built without actually building it."
(define update-profile
@@ -210,6 +206,7 @@ true, display what would be built without actually building it."
(mlet %store-monad ((manifest (channel-instances->manifest instances)))
(mbegin %store-monad
(update-profile profile manifest
+ #:use-substitutes? use-substitutes?
#:hooks %channel-profile-hooks
#:dry-run? dry-run?)
(munless dry-run?
@@ -604,6 +601,8 @@ Use '~/.config/guix/channels.scm' instead."))
(build-and-install instances profile
#:dry-run?
(assoc-ref opts 'dry-run?)
+ #:use-substitutes?
+ (assoc-ref opts 'substitutes?)
#:verbose?
(assoc-ref opts 'verbose?))))))))))))))