Subject: [bug#40712] gnu: Add midori. (v3)

From: Raghav Gururajan <[email-masked]>
Date: Sun, 19 Apr 2020 09:42:13 -0400

Hi Mathieu!

> >>> Thanks for your patch! This is a duplicate of
> >>> https://lists.gnu.org/archive/html/guix-patches/2020-03/msg00729.html.  
> >> 
> >> Oops! I did not know that. Sorry!
> >>   
> >>> Like with Rene patch HTTPS didn't work for me. However when adding:
> >>> 
> >>> --8<---------------cut here---------------start------------->8---
> >>> ("glib-networking" ,glib-networking)
> >>> --8<---------------cut here---------------end--------------->8---
> >>> 
> >>> to inputs, yours work. Not sure how to proceed here.  
> >> 
> >> It's because I have used glib phases.  
> > 
> > Along with 'glib-networking', could you also add the following please?
> > 
> > (add-after 'install 'wrap-typelib
> > (lambda* (#:key outputs #:allow-other-keys)
> > (let ((prog (string-append (assoc-ref outputs "out")
> > "/bin/midori")))
> > (wrap-program prog
> > `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
> > #t)))
> > 
> > Sorry, I am at work now and do not have my machine.  
> 
> Looks like typelib wrap not required. Please find the revised oatch attached
> with this email.

Here is the final revised patch. This works perfectly. I tried `./pre-inst-env
guix environment --ad-hoc midori --pure` and `midori`.

Regards,
RG
From f5ec76af711402fce8b505b4912d9a71a7aceeba Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <[email-masked]>
Date: Sun, 19 Apr 2020 09:39:05 -0400
Subject: [PATCH] gnu: Add midori.

* gnu/packages/web-browsers.scm (midori): New variable.
---
 gnu/packages/web-browsers.scm | 60 +++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 8a6ffaeef1..0cfc65ee56 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2018 Pierre Neidhardt <[email-masked]>
 ;;; Copyright © 2019 Clément Lassieur <[email-masked]>
 ;;; Copyright © 2019 Brett Gilio <[email-masked]>
+;;; Copyright © 2020 Raghav Gururajan <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -30,10 +31,13 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (gnu packages)
+  #:use-module (gnu packages backup)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages fltk)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages libevent)
@@ -42,6 +46,7 @@
   #:use-module (gnu packages lisp-xyz)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gnome-xyz)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -57,11 +62,66 @@
   #:use-module (gnu packages gcc)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system python)
   #:use-module (guix build-system asdf))
 
+(define-public midori
+  (package
+    (name "midori")
+    (version "9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://github.com/midori-browser/core/releases/"
+                       "download/v" version "/" name "-v" version ".tar.gz"))
+       (sha256
+        (base32
+         "05i04qa83dnarmgkx4xsk6fga5lw1lmslh4rb3vhyyy4ala562jy"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:imported-modules (,@%cmake-build-system-modules
+                           (guix build glib-or-gtk-build-system))
+       #:modules ((guix build cmake-build-system)
+                  ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
+                  (guix build utils))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'glib-or-gtk-compile-schemas
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
+         (add-after 'install 'glib-or-gtk-wrap
+           (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
+    (native-inputs
+     `(("glib:bin" ,glib "bin")
+       ("gtk+:bin" ,gtk+ "bin")
+       ("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("adwaita-icon-theme" ,adwaita-icon-theme)
+       ("gcr" ,gcr)
+       ("glib" ,glib)
+       ("glib-networking" ,glib-networking)
+       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+       ("gtk+" ,gtk+)
+       ("json-glib" ,json-glib)
+       ("libarchive" ,libarchive)
+       ("libpeas" ,libpeas)
+       ("libsoup" ,libsoup)
+       ("sqlite" ,sqlite)
+       ("vala" ,vala)
+       ("webkitgtk" ,webkitgtk)))
+    (synopsis "Lightweight and Fast Web Browser")
+    (description "Midori is a lightweight yet powerful web browser which runs
+just as well on little embedded computers named for delicious pastries as it
+does on beefy machines with a core temperature exceeding that of planet
+earth.  And it looks good doing that, too.  Oh, and of course it's free
+software.")
+    (home-page "https://www.midori-browser.org")
+    (license license:lgpl2.1+)))
+
 (define-public dillo
   (package
     (name "dillo")
-- 
2.26.1