Merge branch 'master' into core-updates
[jackhill/guix/guix.git] / gnu / packages / web.scm
index 0b7bf69..2008b8e 100644 (file)
@@ -68,6 +68,7 @@
   #:use-module (guix build-system python)
   #:use-module (guix build-system ant)
   #:use-module (guix build-system scons)
+  #:use-module (guix build-system go)
   #:use-module (gnu packages)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages adns)
@@ -92,6 +93,7 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnu-doc)
   #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages golang)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
 (define-public httpd
   (package
     (name "httpd")
-    (version "2.4.39")
+    (version "2.4.41")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://apache/httpd/httpd-"
                                  version ".tar.bz2"))
              (sha256
               (base32
-               "18ngvsjq65qxk3biggnkhkq8jlll9dsg9n3csra9p99sfw2rvjml"))))
+               "0h7a31yxwyh7h521frnmlppl0h7sh9icc3ka6vlmlcg5iwllhg8k"))))
     (build-system gnu-build-system)
     (native-inputs `(("pcre" ,pcre "bin")))       ;for 'pcre-config'
     (inputs `(("apr" ,apr)
@@ -765,6 +767,7 @@ current version of any major web browser.")
               (sha256
                (base32
                 "1jixgb8w97l9gdh3inihz7avz7i770gy2j2irvvlyrq3wi41f5ab"))
+              (patches (search-patches "rapidjson-gcc-compat.patch"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -904,11 +907,13 @@ high performance.")
                 "04pfagb7ppq3yibx4lhazd1v9nwkxdfkyy2rgcrmrf3mldsirga1"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("pkg-config" ,pkg-config)
+
+       ;; For tests.
+       ("python" ,python-wrapper)))
     (inputs
      `(("libidn2" ,libidn2)
-       ("libunistring" ,libunistring)
-       ("python-2" ,python-2)))
+       ("libunistring" ,libunistring)))
     (home-page "https://github.com/rockdaboot/libpsl")
     (synopsis "C library for the Publix Suffix List")
     (description
@@ -6378,7 +6383,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
 (define-public nghttp2
   (package
     (name "nghttp2")
-    (version "1.35.1")
+    (version "1.39.1")
     (source
      (origin
        (method url-fetch)
@@ -6387,13 +6392,12 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "0fi6qg2w82636wixwkqy7bclpgxslmvg82r431hs8h6aqc4mnzwv"))))
+         "0j0lk37k8k3f61r9nw647hg4b22z1753l36n3xrp9x01civ614b7"))))
     (build-system gnu-build-system)
     (outputs (list "out"
                    "lib"))              ; only libnghttp2
     (native-inputs
      `(("pkg-config" ,pkg-config)
-       ("gcc" ,gcc-7)                   ; 1.35.0 requires GCC6 or later
 
        ;; Required by tests.
        ("cunit" ,cunit)
@@ -6425,9 +6429,6 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
                (("@prefix@")
                 (assoc-ref outputs "lib")))
              #t))
-         (add-before 'configure 'work-around-bug-30756
-           (lambda _
-             (for-each unsetenv '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH")) #t))
          (add-before 'check 'set-timezone-directory
            (lambda* (#:key inputs #:allow-other-keys)
              (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata")
@@ -6597,3 +6598,35 @@ It's also possible to rewrite existing log files.
 
 Anonip can also be uses as a Python module in your own Python application.")
     (license license:bsd-3)))
+
+(define-public poussetaches
+  (package
+    (name "poussetaches")
+    (version "0.0.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/tsileo/poussetaches")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "07106kfcz3a39jvrv3mlqqxlihsmdhgkrjnqznyjsij9absgvdv6"))))
+    (build-system go-build-system)
+    (propagated-inputs
+     `(("go-github-com-robfig-cron" ,go-github-com-robfig-cron)
+       ("go-golang-org-x-time-rate" ,go-golang-org-x-time-rate)))
+    (arguments
+     `(#:import-path "github.com/tsileo/poussetaches"))
+    (home-page "https://github.com/tsileo/poussetaches")
+    (synopsis "Lightweight asynchronous task execution service")
+    (description "Poussetaches (which literally means \"push tasks\" in
+French) is a lightweight asynchronous task execution service that aims to
+replace Celery and RabbitMQ for small Python applications.
+
+The app posts base64-encoded payload to poussetaches and specifies the
+endpoint that will be used to trigger the task.  Poussetaches makes HTTP
+requests with the registered payload until the right status code is
+returned.")
+    (license license:isc)))