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 @@ (define-module (gnu machine ssh) ;;; 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 @@ (define managed-host-environment-type (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 @@ (define-public celestia-gtk (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 @@ (define-module (gnu packages chromium) #: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 @@ (define-module (gnu packages chromium) #: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 @@ (define %preserved-third-party-files "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 @@ (define-public ungoogled-chromium (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 @@ (define-public delta (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 @@ (define-public c-reduce (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 @@ (define-public dnsmasq (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 @@ (define-public isc-bind "/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 @@ (define-public emacs-org-contrib (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 @@ (define-public emacs-so-long 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 @@ (define-public warzone2100 (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 ;;; Copyright © 2018 Julien Lepiller ;;; Copyright © 2019 Guillaume Le Vaillant +;;; Copyright © 2019 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -38,6 +39,7 @@ (define-module (gnu packages geo) #: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 @@ (define-module (gnu packages geo) #: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 @@ (define-module (gnu packages geo) #: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 @@ (define-public osm-gps-map 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 @@ (define-public libksba (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 +;;; +;;; 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 . + +(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. + ;; + (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 @@ (define-public log4cpp (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?= -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; - } - -+// ::= B -+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; -+} -+ - // ::= - // ::= - // ::= 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 @@ (define-public python-pathlib2 `(("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 ;;; Copyright © 2015, 2016, 2018 Ricardo Wurmus -;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Julien Lepiller ;;; ;;; This file is part of GNU Guix. @@ -309,7 +309,7 @@ (define-public sord "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 @@ (define-public sord (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 ;;; Copyright © 2019 Alex Griffin ;;; Copyright © 2019 Hartmut Goebel +;;; Copyright © 2019 Jakob L. Kreuze ;;; ;;; This file is part of GNU Guix. ;;; @@ -71,6 +72,7 @@ (define-module (gnu packages web) #: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 @@ (define-public libwebsockets ;; 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 @@ (define-module (guix scripts pull) #: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 @@ (define %options %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 @@ (define* (display-profile-news profile #:key concise? (_ #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 @@ (define guix-command (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 @@ (define (guix-pull . args) (build-and-install instances profile #:dry-run? (assoc-ref opts 'dry-run?) + #:use-substitutes? + (assoc-ref opts 'substitutes?) #:verbose? (assoc-ref opts 'verbose?))))))))))))))