summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorAndreas Enge <andreas@enge.fr>2023-04-22 22:31:56 +0200
committerAndreas Enge <andreas@enge.fr>2023-04-22 22:31:56 +0200
commit0a164b344d6dabb0dc38f61cc2f4868fa15dec63 (patch)
tree831ca040983e32fe266732f63b323053355ce615 /gnu
parentdcf2de77e195c7bce14006f69762396550d3630e (diff)
parent5b545763ed9b8a3fade7f756d543819fc090953f (diff)
downloadguix-0a164b344d6dabb0dc38f61cc2f4868fa15dec63.tar.gz
Merge remote-tracking branch 'origin/master' into core-updates
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/cinnamon.scm98
-rw-r--r--gnu/packages/emacs-xyz.scm31
-rw-r--r--gnu/packages/fonts.scm8
-rw-r--r--gnu/packages/image-viewers.scm27
-rw-r--r--gnu/packages/linux.scm4
-rw-r--r--gnu/packages/music.scm24
-rw-r--r--gnu/packages/search.scm59
-rw-r--r--gnu/packages/web.scm62
8 files changed, 275 insertions, 38 deletions
diff --git a/gnu/packages/cinnamon.scm b/gnu/packages/cinnamon.scm
index 9093d7c0ca..61a8c8def3 100644
--- a/gnu/packages/cinnamon.scm
+++ b/gnu/packages/cinnamon.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2017 Nikita <nikita@n0.is>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2022 florhizome <florhizome@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -24,6 +25,7 @@
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix gexp)
+  #:use-module (guix build utils)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system meson)
@@ -35,15 +37,18 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages photo)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
 
 (define-public libxapp
   (package
     (name "libxapp")
-    (version "2.4.2")
+    (version "2.4.3")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -51,7 +56,7 @@
                     (commit version)))
               (sha256
                (base32
-                "0cy9g0zqcbx9zscc9qavqmghfyfb8244cg299llv1ha8n6mpxl3s"))))
+                "0n443lwmxzmfnw03n98cqnm2ah1iij6pwsnwbly8sncmzg5jyklg"))))
     (build-system meson-build-system)
     (arguments
      (list
@@ -121,7 +126,7 @@ cross-DE solutions.")
 (define-public cinnamon-desktop
   (package
     (name "cinnamon-desktop")
-    (version "3.4.2")
+    (version "5.6.2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -130,27 +135,27 @@ cross-DE solutions.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "18mjy80ly9361npjhxpm3n0pkmrwviaqr2kixjb7hyxa6kzzh5xw"))))
-    (build-system gnu-build-system)
-    ;; TODO: package 'libgsystem'.
+                "0rnk0vmpjiz8pgn5y8zizr91ilwzfh9w7cmfsjpqg3h5wkpxz22z"))))
+    (build-system meson-build-system)
+    (arguments
+     (list
+      #:glib-or-gtk? #true
+      #:configure-flags #~(list "-Dalsa=true")))
     (inputs
      (list accountsservice
-           gtk+
+           alsa-lib
            glib
-           gobject-introspection
            gnome-common
+           gtk+
            libxkbfile
            libxrandr
-           python-2
+           libxext
            pulseaudio
            xkeyboard-config))
     (native-inputs
-     (list autoconf
-           automake
-           gettext-minimal
-           `(,glib "bin") ; glib-gettextize
-           intltool
-           libtool
+     (list gettext-minimal
+           `(,glib "bin")               ;glib-gettextize
+           gobject-introspection
            pkg-config))
     (home-page "https://github.com/linuxmint/cinnamon-desktop/")
     (synopsis "Library for the Cinnamon Desktop")
@@ -159,3 +164,66 @@ cross-DE solutions.")
 as well as some desktop-wide documents.")
     (license (list license:gpl2+ license:lgpl2.0+
                    license:expat)))) ;display-name.c , edid-parse.c
+
+(define-public nemo
+  (package
+    (name "nemo")
+    (version "5.6.5")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/linuxmint/nemo")
+         (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "15032jzi1x3dr292wbx6sdydybrs5n3lim2sq2i0lb9xa7cxxl0x"))))
+    (build-system meson-build-system)
+    (arguments
+     (list
+      #:glib-or-gtk? #true
+      #:tests? #false                   ;tests stall
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'patch-source-shebangs 'adjust-prefix
+            (lambda _
+              (substitute* "meson.build"
+                (("'data_dir")
+                 (string-append "'" #$output "/share")))))
+          (add-before 'check 'pre-check
+            (lambda _
+              (system "Xvfb :1 &")
+              (setenv "DISPLAY" ":1")
+              (setenv "HOME" "/tmp")    ;some tests require a writable HOME
+              (setenv "XDG_DATA_DIRS"
+                      (string-append (getenv "XDG_DATA_DIRS")
+                                     ":" #$output "/share")))))))
+    (native-inputs
+     (list gettext-minimal
+           (list glib "bin")
+           gobject-introspection
+           (list gtk+ "bin")
+           intltool
+           pkg-config
+           xorg-server-for-tests))
+    (inputs
+     (list atk
+           cinnamon-desktop
+           exempi
+           gsettings-desktop-schemas
+           gtk+
+           libexif
+           libgnomekbd
+           libgsf
+           libnotify
+           libx11
+           libxapp
+           libxkbfile
+           libxml2
+           xkeyboard-config))
+    (home-page "https://github.com/linuxmint/nemo")
+    (synopsis "File browser for Cinnamon")
+    (description
+     "Nemo is the file manager for the Cinnamon desktop environment.")
+    (license license:expat)))
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index baa6119078..96b72d8e4d 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -350,6 +350,29 @@
        "This package allows using Ace jump to a candidate in Helm window.")
       (license license:gpl3+))))
 
+(define-public emacs-bookmark-plus
+  (package
+    (name "emacs-bookmark-plus")
+    (version "2022.11.05")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+	     (url "https://github.com/emacsmirror/bookmark-plus")
+	     (commit "3db369056a722c42b3eafd10a91831f87d056dfa")))
+       (sha256
+        (base32
+	 "0fnq24f597zfr8jj5h3vr87kdil5lhy11m81q6ayqc03qm0jymrf"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/emacsmirror/bookmark-plus")
+    (synopsis "Extensions to the Bookmark library in Emacs")
+    (description
+     "Bookmarks are a powerful Emacs feature.  This package makes them even
+more versatile. You can bookmark many more kinds of data.  You can add tags.
+There are many more ways to organize and display your bookmarks.  I recommend
+reading the extensive documentation about BookmarkPlus on the Emacs Wiki.")
+    (license license:gpl3+)))
+
 (define-public emacs-cfrs
   (package
     (name "emacs-cfrs")
@@ -6813,7 +6836,7 @@ hash of the tag names.")
 (define-public emacs-org-rich-yank
   (package
     (name "emacs-org-rich-yank")
-    (version "0.2.1")
+    (version "0.2.2")
     (source
      (origin
        (method git-fetch)
@@ -6822,7 +6845,7 @@ hash of the tag names.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0gxb0fnh5gxjmld0hnk5hli0cvdd8gjd27m30bk2b80kwldxlq1z"))))
+        (base32 "0cajgkfcwqgqdqyqf01hxji28n27jmj9nf0w3rbyw6l5dffgch0n"))))
     (build-system emacs-build-system)
     (home-page "https://github.com/unhammer/org-rich-yank")
     (synopsis "Automatically surround source code pasted into Org with
@@ -10851,7 +10874,7 @@ style, or as multiple word prefixes.")
 (define-public emacs-consult
   (package
     (name "emacs-consult")
-    (version "0.33")
+    (version "0.34")
     (source
      (origin
        (method git-fetch)
@@ -10859,7 +10882,7 @@ style, or as multiple word prefixes.")
              (url "https://github.com/minad/consult")
              (commit version)))
        (sha256
-        (base32 "116b1fi5wp48wbh0srfl999f08bcz10nxgrb7sliy9r4igqqmvd6"))
+        (base32 "1ggbvc5ylsw430w05fjl4vk1hmim45mwah7cyr94g03rwjhng1sc"))
        (file-name (git-file-name name version))))
     (build-system emacs-build-system)
     (arguments
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index dcfc3e77ca..3aad42493d 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -814,7 +814,7 @@ OpenType variant of these fonts.")
 (define-public font-amiri
   (package
     (name "font-amiri")
-    (version "0.117")
+    (version "1.000")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -823,7 +823,7 @@ OpenType variant of these fonts.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1z2hdmny52bapakf96y5xfr29f8ax7q6nj651zrihnnhfdriqfx1"))))
+                "0c4yg1b03aihdqvz6w5ak8wapni3l8p18mw6bkqhblmm75jb5kif"))))
     (build-system gnu-build-system)
     (arguments
      (list
@@ -832,6 +832,10 @@ OpenType variant of these fonts.")
       #:modules `(,@%gnu-build-system-modules
                   ((guix build font-build-system) #:prefix font:))
       #:phases #~(modify-phases %standard-phases
+                   (add-after 'unpack 'patch-source
+                     (lambda _
+                       (substitute* "Makefile"
+                         (("^TAG=.*") (string-append "TAG=" #$version "\n")))))
                    (delete 'configure)
                    (replace 'install
                      (assoc-ref font:%standard-phases 'install)))))
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index d0b7e93a84..96a3fa6615 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -9,7 +9,7 @@
 ;;; Copyright © 2017 nee <nee-git@hidamari.blue>
 ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2019, 2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2019, 2022, 2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2019, 2020, 2022 Guy Fleury Iteriteka <gfleury@disroot.org>
 ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2020 Peng Mei Yu <pengmeiyu@riseup.net>
@@ -667,6 +667,31 @@ including CBZ, CB7, CBT, LHA.
 For PDF support, install the @emph{mupdf} package.")
     (license license:gpl2+)))
 
+(define-public qpageview
+  (package
+    (name "qpageview")
+    (version "0.6.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/frescobaldi/qpageview")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0xdhiglzqxyp05blp66l52nbzbpn10hmdm2idhncz6pf7qw16lsw"))))
+    (build-system python-build-system)
+    (home-page "https://qpageview.org/")
+    (synopsis "Page based document viewer widget for Qt5/PyQt5")
+    (inputs
+     (list python-pyqt qtbase-5))
+    (description
+     "@code{qpageview} provides a page based document viewer widget for Qt5
+and PyQt5.  It has a flexible architecture potentionally supporting many
+formats.  Currently, it supports SVG documents, images, and, using the
+Poppler-Qt5 binding, PDF documents.")
+    (license license:gpl3+)))
+
 (define-public qview
   (package
     (name "qview")
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 56ea676e4a..29213f5fd1 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -7577,7 +7577,7 @@ every time the power supply source is changed.")
 (define-public tlpui
   (package
     (name "tlpui")
-    (version "1.5.0-6")
+    (version "1.5.0-7")
     (source
      (origin
        (method git-fetch)
@@ -7586,7 +7586,7 @@ every time the power supply source is changed.")
              (commit (string-append "tlpui-" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0zxiciafq1xmb047jlyhipkkj4vaiw4jzbx71f6xgx559dy96paq"))))
+        (base32 "07gi0i6wqjb5h0hmy7i7bjscfrf9v825xv85j7fxinxwrj42053y"))))
     (build-system python-build-system)
     (arguments
      (list
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 5f9e2d9884..7372e5db48 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -142,6 +142,7 @@
   #:use-module (gnu packages haskell)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages image-viewers)
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages java)
   #:use-module (gnu packages kde-frameworks)
@@ -814,7 +815,7 @@ settings (aliasing, linear interpolation and cubic interpolation).")
 (define-public hydrogen
   (package
     (name "hydrogen")
-    (version "1.1.1")
+    (version "1.2.0")
     (source
      (origin
        (method git-fetch)
@@ -823,7 +824,7 @@ settings (aliasing, linear interpolation and cubic interpolation).")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "12mwkglyz88hwb16fb3fahn95janim2mrvnxkzp8pcsw3wybi3dn"))))
+        (base32 "0v4ir1my8zndw5rvz6jr42ysprwycgxrlsc53070y3620n699nha"))))
     (build-system cmake-build-system)
     (arguments
      `(#:test-target "tests"
@@ -849,6 +850,7 @@ settings (aliasing, linear interpolation and cubic interpolation).")
            lrdf
            pulseaudio
            qtbase-5
+           qtsvg-5
            qtxmlpatterns
            zlib))
     (home-page "http://hydrogen-music.org/")
@@ -3034,7 +3036,7 @@ using a system-independent interface.")
 (define-public frescobaldi
   (package
     (name "frescobaldi")
-    (version "3.1.3")
+    (version "3.3.0")
     (source
      (origin
        (method url-fetch)
@@ -3042,10 +3044,19 @@ using a system-independent interface.")
              "https://github.com/wbsoft/frescobaldi/releases/download/v"
              version "/frescobaldi-" version ".tar.gz"))
        (sha256
-        (base32 "1hg9yc8kj445fjsby92g3qf50crcl1pb079zfma18sb7ycv50zww"))))
+        (base32 "1n60gfnf6x0l1bac088g9adzx0lskbl9knd4y1ynr3y0zcs0kfcz"))))
     (build-system python-build-system)
     (arguments
-     `(#:tests? #f))                    ;no tests included
+     (list
+      #:tests? #f                       ;no tests included
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'build 'generate-translations
+            (lambda _
+              (invoke "make" "-C" "i18n")))
+          (add-before 'build 'generate-metadata
+            (lambda _
+              (invoke "make" "-C" "linux"))))))
     (inputs
      (list lilypond
            poppler
@@ -3054,7 +3065,8 @@ using a system-independent interface.")
            python-poppler-qt5
            python-pyportmidi
            python-pyqt
-           python-sip))
+           python-sip
+           qpageview))
     (home-page "https://www.frescobaldi.org/")
     (synopsis "LilyPond sheet music text editor")
     (description
diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm
index c8c3ff45d0..71609a21fa 100644
--- a/gnu/packages/search.scm
+++ b/gnu/packages/search.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
 ;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2023 Adam Faiz <adam.faiz@disroot.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -40,6 +41,7 @@
   #:use-module (guix build-system python)
   #:use-module (guix build-system meson)
   #:use-module (gnu packages)
+  #:use-module (gnu packages adns)
   #:use-module (gnu packages aspell)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
@@ -51,6 +53,7 @@
   #:use-module (gnu packages gawk)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnunet)
   #:use-module (gnu packages groff)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
@@ -67,6 +70,7 @@
   #:use-module (gnu packages qt)
   #:use-module (gnu packages sphinx)
   #:use-module (gnu packages time)
+  #:use-module (gnu packages tls)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xml)
@@ -328,6 +332,61 @@ accounting for new lines and paragraph changes.  It also has robust support
 for parsing HTML files.")
     (license license:gpl3+)))
 
+(define-public dataparksearch
+  (let ((commit "8efa28f31ce1273c0556fd5c7e06abe955197a69")
+        (revision "0"))
+    (package
+      (name "dataparksearch")
+      (version (git-version "4.54" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/Maxime2/dataparksearch")
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "01z7s3ws5px2p9brzrq9j41jbdh1cvj8n8y3ghx45gfv1n319ipg"))
+                (modules '((guix build utils)))
+                (snippet
+                 #~(for-each delete-file '("config.sub"
+                                           "config.guess"
+                                           "configure"
+                                           "Makefile.in"
+                                           "missing"
+                                           "depcomp"
+                                           "ltmain.sh"
+                                           "compile")))
+                (file-name (git-file-name name version))))
+      (build-system gnu-build-system)
+      (arguments
+       (list
+        #:configure-flags
+        #~(list "--with-extra-charsets=all"
+                (string-append "--with-aspell=" #$(this-package-input "aspell"))
+                (string-append "--with-pgsql="
+                               #$(this-package-input "postgresql")))
+        #:make-flags
+        #~(list "DPS_TEST_DBADDR=postgresql://localhost/tmp/postgresql/")))
+      (native-inputs
+       (list autoconf automake libtool openjade pkg-config))
+      (inputs
+       (list aspell
+             c-ares
+             libextractor
+             mbedtls-apache
+             postgresql
+             zlib))
+      (synopsis "Feature rich search engine")
+      (description
+       "Dataparksearch is a full featured web search engine.
+It has support for HTTP, HTTPS, ftp (passive mode), NNTP and news URL schemes,
+and other URL schemes with external parsers.  It can tweak URLs with session
+IDs and other weird formats, including some JavaScript link decoding.  Options
+to query with all words, all words near to each others, any words, or boolean
+queries.  A subset of VQL (Verity Query Language) is supported.")
+      (home-page "https://www.dataparksearch.org/")
+      (license license:gpl2+))))
+
 (define-public fsearch
   (package
     (name "fsearch")
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index f17f47f1e0..7027fbad08 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de>
 ;;; Copyright © 2014-2023 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015-2023 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2018 Raoul Jean Pierre Bonnal <ilpuccio.febo@gmail.com>
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net>
@@ -1528,22 +1528,34 @@ for efficient socket-like bidirectional reliable communication channels.")
 (define-public wabt
   (package
     (name "wabt")
-    (version "1.0.12")
+    (version "1.0.32")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
              (url "https://github.com/WebAssembly/wabt")
-             (commit version)))
+             (commit version)
+             (recursive? #true)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1zlv3740wkqj4mn6sr84h0x6wk2lcp4pwwmqsh5yyqp1j1glbsa0"))))
+        (base32 "0m124r8v9c0hxiaa4iy7ch4ng8msnirbc2vb702gbdjhvgzyrcwh"))
+       (modules '((guix build utils)))
+       (snippet
+        '(delete-file-recursively "third_party/gtest/"))))
     (build-system cmake-build-system)
     (arguments
-     `(#:configure-flags '("-DBUILD_TESTS=OFF")
-       #:tests? #f))
-    (inputs `(("python" ,python-2)
-              ("re2c" ,re2c)))
+     (list
+      #:test-target "run-tests"
+      #:configure-flags '(list "-DUSE_SYSTEM_GTEST=ON")
+      #:phases
+      '(modify-phases %standard-phases
+         (add-after 'unpack 'use-gcc
+           (lambda _ (setenv "CC" "gcc")))
+         ;; XXX This is the only test that fails.
+         (add-after 'unpack 'delete-broken-test
+           (lambda _
+             (delete-file "test/wasm2c/spec/memory_init.txt"))))))
+    (native-inputs (list python googletest))
     (home-page "https://github.com/WebAssembly/wabt")
     (synopsis "WebAssembly Binary Toolkit")
     (description "WABT (pronounced: wabbit) is a suite of tools for
@@ -7977,6 +7989,40 @@ update an existing mirrored site, and resume interrupted downloads.
 HTTrack is fully configurable, and has an integrated help system.")
     (license license:gpl3+)))
 
+(define-public binaryen
+  (package
+    (name "binaryen")
+    (version "112")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/WebAssembly/binaryen")
+             (commit (string-append "version_" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0970iz22yjxgi27d67kwmrx4zq7hig3i6b92vmlp4c4bd1bacny5"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list
+      #:phases
+      '(modify-phases %standard-phases
+         (add-after 'unpack 'use-system-googletest
+           (lambda _
+             (substitute* "third_party/CMakeLists.txt"
+               (("  googletest/.*") "")
+               (("add_library\\(gtest.*") ""))
+             (substitute* "CMakeLists.txt"
+               (("add_subdirectory\\(test/gtest\\)")
+                "find_package(GTest REQUIRED)")))))))
+    (native-inputs (list googletest))
+    (home-page "https://github.com/WebAssembly/binaryen")
+    (synopsis "Optimizer and compiler/toolchain library for WebAssembly")
+    (description "Binaryen is a compiler and toolchain infrastructure library
+for WebAssembly, written in C++.  It aims to make compiling to WebAssembly
+easy, fast, and effective.")
+    (license license:asl2.0)))
+
 (define-public buku
   (package
     (name "buku")