GNU bug report logs

#64206 [PATCH] gnu: webview: Tiny cross-platform webview library.

PackageSource(s)Maintainer(s)
guix-patches PTS Buildd Popcon
Reply or subscribe to this bug. View this bug as an mbox, status mbox, or maintainer mbox

Report forwarded to guix-patches@gnu.org:
bug#64206; Package guix-patches. (Wed, 21 Jun 2023 11:28:04 GMT) (full text, mbox, link).


Acknowledgement sent to Jose Ortiz <kotshie@gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches@gnu.org. (Wed, 21 Jun 2023 11:28:04 GMT) (full text, mbox, link).


Message #5 received at submit@debbugs.gnu.org (full text, mbox, reply):

From: Jose Ortiz <kotshie@gmail.com>
To: guix-patches@gnu.org
Cc: Jose Ortiz <kotshie@gmail.com>
Subject: [PATCH] gnu: webview: Tiny cross-platform webview library.
Date: Tue, 20 Jun 2023 18:28:39 -0700
* gnu/packages/webview.scm (libwebview): Tiny cross-platform webview
library for C/C++/Golang. Uses Webkit(Gtk/Cocoa) and Edge(Windows).
---
 gnu/packages/webview.scm | 81 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 81 insertions(+)
 create mode 100644 gnu/packages/webview.scm

diff --git a/gnu/packages/webview.scm b/gnu/packages/webview.scm
new file mode 100644
index 0000000000..ee3977ba6a
--- /dev/null
+++ b/gnu/packages/webview.scm
@@ -0,0 +1,81 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2023 Jose Ortiz <kotshie@gmail.com>
+;;;
+;;; 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 webview)
+  #:use-module (gnu packages)
+  #:use-module (guix packages)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix git-download)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages webkit)
+  #:use-module ((guix licenses) #:prefix license:))
+
+
+(define-public webview
+  (package
+    (name "webview")
+    (version "899018a")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/webview/webview")
+                    (commit "899018ad0e5cc22a18cd734393ccae4d55e3b2b4")))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "008bk2l6spsixsyk0dssnhnwdhmhwbm3qypk1rrz02rza28dzigb"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure)
+                  (replace 'build
+                    (lambda _
+                      (use-modules (ice-9 popen)
+                                   (ice-9 rdelim))
+                      (define (webview-flags)
+                        (let* ((port (open-input-pipe (string-append
+                                                       "pkg-config --cflags --libs "
+                                                       "gtk+-3.0 webkit2gtk-4.0")))
+                               (results (string-split (read-line port) #\space)))
+                          results))
+                      (apply invoke
+                             `("g++" "webview.cc"
+                               "-fPIC"
+                               "-shared"
+                               "-DWEBVIEW_GTK"
+                               "-std=c++11"
+                               ,@(webview-flags)
+                               "-o"
+                               "libwebview.so"))))
+                  (replace 'install
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let* ((output (assoc-ref outputs "out"))
+                             (lib (string-append output "/lib"))
+                             (include (string-append output "/include")))
+                        (install-file "libwebview.so" lib)
+                        (mkdir-p include)
+                        (install-file "webview.h" include)))))))
+    (native-inputs (list pkg-config))
+    (inputs (list gtk+ webkitgtk-with-libsoup2))
+    (home-page "https://github.com/webview/webview")
+    (synopsis "Tiny cross-platform webview library")
+    (description "Tiny cross-platform webview library for C/C++/Golang.
+Uses WebKit (Gtk/Cocoa) and Edge (Windows).")
+    (license license:expat)))

base-commit: d884fc9e2efecfba09af4694f5a13ad7fc6f704f
-- 
2.40.1





Information forwarded to guix-patches@gnu.org:
bug#64206; Package guix-patches. (Thu, 22 Jun 2023 18:30:03 GMT) (full text, mbox, link).


Message #8 received at 64206@debbugs.gnu.org (full text, mbox, reply):

From: Liliana Marie Prikler <liliana.prikler@gmail.com>
To: Jose Ortiz <kotshie@gmail.com>, 64206@debbugs.gnu.org
Subject: Re: [PATCH] gnu: webview: Tiny cross-platform webview library.
Date: Thu, 22 Jun 2023 20:29:22 +0200
Hi, Jose

Am Dienstag, dem 20.06.2023 um 18:28 -0700 schrieb Jose Ortiz:
> * gnu/packages/webview.scm (libwebview): Tiny cross-platform webview
> library for C/C++/Golang. Uses Webkit(Gtk/Cocoa) and Edge(Windows).
Please refer to section 22.6 of the Guix manual and 6.8.2 of the GNU
style manual on how to write commit messages :)

> ---
>  gnu/packages/webview.scm | 81
> ++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 81 insertions(+)
>  create mode 100644 gnu/packages/webview.scm
> 
> diff --git a/gnu/packages/webview.scm b/gnu/packages/webview.scm
> new file mode 100644
> index 0000000000..ee3977ba6a
> --- /dev/null
> +++ b/gnu/packages/webview.scm
Creating a new file appears to me as somewhat overkill.  We do have
web.scm FWIW and it already pulls in Rust and Go if you need those for
future libraries on top of webview.

> @@ -0,0 +1,81 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2023 Jose Ortiz <kotshie@gmail.com>
> +;;;
> +;;; 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 webview)
> +  #:use-module (gnu packages)
> +  #:use-module (guix packages)
> +  #:use-module (guix build-system gnu)
> +  #:use-module (guix git-download)
> +  #:use-module (gnu packages pkg-config)
> +  #:use-module (gnu packages gtk)
> +  #:use-module (gnu packages webkit)
> +  #:use-module ((guix licenses) #:prefix license:))
> +
> +
> +(define-public webview
> +  (package
> +    (name "webview")
> +    (version "899018a")
A commit hash is not a version.  It turns out there was a release back
in 2020, though I don't know how reliable that is.
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/webview/webview")
> +                    (commit
> "899018ad0e5cc22a18cd734393ccae4d55e3b2b4")))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +               
> "008bk2l6spsixsyk0dssnhnwdhmhwbm3qypk1rrz02rza28dzigb"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:tests? #f
Never #:tests? #f without an appropriate comment.
> +       #:phases (modify-phases %standard-phases
> +                  (delete 'configure)
> +                  (replace 'build
> +                    (lambda _
> +                      (use-modules (ice-9 popen)
> +                                   (ice-9 rdelim))
> +                      (define (webview-flags)
> +                        (let* ((port (open-input-pipe (string-append
> +                                                       "pkg-config -
> -cflags --libs "
> +                                                       "gtk+-3.0
> webkit2gtk-4.0")))
> +                               (results (string-split (read-line
> port) #\space)))
> +                          results))
> +                      (apply invoke
> +                             `("g++" "webview.cc"
> +                               "-fPIC"
> +                               "-shared"
> +                               "-DWEBVIEW_GTK"
> +                               "-std=c++11"
> +                               ,@(webview-flags)
> +                               "-o"
> +                               "libwebview.so"))))
> +                  (replace 'install
> +                    (lambda* (#:key outputs #:allow-other-keys)
> +                      (let* ((output (assoc-ref outputs "out"))
> +                             (lib (string-append output "/lib"))
> +                             (include (string-append output
> "/include")))
> +                        (install-file "libwebview.so" lib)
> +                        (mkdir-p include)
> +                        (install-file "webview.h" include)))))))
This looks like it could more correctly be implemented via copy-build-
system with a pre-install build phase.
> +    (native-inputs (list pkg-config))
> +    (inputs (list gtk+ webkitgtk-with-libsoup2))
> +    (home-page "https://github.com/webview/webview")
> +    (synopsis "Tiny cross-platform webview library")
> +    (description "Tiny cross-platform webview library for
> C/C++/Golang.
> +Uses WebKit (Gtk/Cocoa) and Edge (Windows).")
> +    (license license:expat)))
> 
> base-commit: d884fc9e2efecfba09af4694f5a13ad7fc6f704f

Cheers

Added tag(s) moreinfo. Request was from Ludovic Courtès <ludo@gnu.org> to control@debbugs.gnu.org. (Sun, 08 Oct 2023 21:33:02 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


debbugs.gnu.org maintainers <help-debbugs@gnu.org>. Last modified: Sun Jan 5 07:31:26 2025; Machine Name: wallace-server

GNU bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.