[PATCH] gnu: Add edbrowse.

  • Done
  • quality assurance status badge
Details
3 participants
  • Christina O'Donnell
  • B. Wilson
  • Christopher Baines
Owner
unassigned
Submitted by
B. Wilson
Severity
normal
B
B
B. Wilson wrote on 14 Sep 2023 08:42
(address . guix-patches@gnu.org)(name . B. Wilson)(address . elaexuotee@wilsonb.com)
20230914064256.16485-1-elaexuotee@wilsonb.com
* gnu/packages/web-browsers.scm (edbrowse): New variable.
---
gnu/packages/web-browsers.scm | 61 +++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)

Toggle diff (95 lines)
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index a8ef7099f5..b0d0a1cae0 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -57,6 +57,7 @@ (define-module (gnu packages web-browsers)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages documentation)
#:use-module (gnu packages fltk)
#:use-module (gnu packages fontutils)
@@ -72,6 +73,7 @@ (define-module (gnu packages web-browsers)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages javascript)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libidn)
#:use-module (gnu packages libunistring)
@@ -93,9 +95,11 @@ (define-module (gnu packages web-browsers)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
+ #:use-module (gnu packages readline)
#:use-module (gnu packages sdl)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages web)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xorg))
@@ -1022,3 +1026,60 @@ (define-public av-98
@item Support for any character encoding recognised by Python.
@end itemize")
(license license:bsd-2)))
+
+(define-public edbrowse
+ (package
+ (name "edbrowse")
+ (version "3.8.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/CMB/edbrowse.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1bbh619aii0fma18yj05i8bb5xmnn907ffx6zfyn5a323s35nvn5"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (for-each
+ (lambda (file)
+ (substitute* file
+ (("\"quickjs-libc.h\"") "<quickjs/quickjs-libc.h>")))
+ '("src/js_hello_quick.c" "src/jseng-quick.c"))
+ #t))))
+ (build-system gnu-build-system)
+ (inputs (list curl-ssh pcre2 quickjs openssl readline-7 tidy-html
+ unixodbc))
+ (native-inputs (list perl pkg-config))
+ (arguments
+ `(#:make-flags (list (string-append "CC=" ,(cc-for-target))
+ "EBDEBUG=1" ; Prevent upstream makefile from stipping
+ (string-append "QUICKJS_DIR="
+ (assoc-ref %build-inputs "quickjs")
+ "/lib/quickjs"))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'check)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (doc (string-append out "/doc/" ,name)))
+ (mkdir-p doc)
+ (install-file "doc/usersguide.html" doc)
+ (install-file "src/edbrowse" bin)))))))
+ (home-page "https://edbrowse.org/")
+ (synopsis "Command-line editor and web browser")
+ (description "Edbrowse is a combination editor, browser, and mail client
+that is 100% text based. The interface is similar to /bin/ed, though there are
+many more features, such as editing multiple files simultaneously, and
+rendering html. This program was originally written for blind users, but many
+sighted users have taken advantage of the unique scripting capabilities of this
+program, which can be found nowhere else. A batch job, or cron job, can access
+web pages on the internet, submit forms, and send email, with no human
+intervention whatsoever. edbrowse can also tap into databases through odbc.
+It was primarily written by Karl Dahlke.")
+ (license license:gpl2+)))
--
2.41.0
C
C
Christina O'Donnell wrote on 3 Apr 11:59 +0200
[PATCH v2] gnu: Add edbrowse.
(address . 65938@debbugs.gnu.org)
7e2e19e6c2953905b2ed021f7702b770a78a2143.1712138351.git.cdo@mutix.org
From: "Christina O'Donnell" <cdo@mutix.org>

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

Dear B. Wilson,

Thank you for this patch that you submitted in September. Sorry it's
been a while since you sent this in, Guix is a bit short of developers
and reviewers at the moment.

I'm a new contributor trying to help with the backlog of patches, so
you can take my points with a grain of salt.

This package is good. It applies, builds and runs. The formatting is
more or less right.

I have no idea how to use or test edbrowse but it runs at least and
passes `guix lint`.

I've made the following changes:

- I've reformatted the code to the guix style.
- I've updated from 3.8.7 to 3.8.9.
- I've removed the EBDEBUG make flag as this is a release build.
- I've changed QUICKJS_DIR to QUICKJS_LIB as this was changed
between 3.8.7 and 3.8.9.
- I've opted for passing '#:tests #f' instead of deleting 'check.
- I've set the doc path to /share/doc/ instead of /doc/.

Aside from these points, I think this patch is ready to be pushed.

Kind regards,
Christina

Toggle diff (97 lines)
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index e6bc6a0c7b..23a85107ee 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -58,6 +58,7 @@ (define-module (gnu packages web-browsers)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages documentation)
#:use-module (gnu packages fltk)
#:use-module (gnu packages fontutils)
@@ -74,6 +75,7 @@ (define-module (gnu packages web-browsers)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages javascript)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libidn)
#:use-module (gnu packages libunistring)
@@ -94,11 +96,13 @@ (define-module (gnu packages web-browsers)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
+ #:use-module (gnu packages readline)
#:use-module (gnu packages sdl)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tcl)
#:use-module (gnu packages text-editors)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages web)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xorg))
@@ -1022,3 +1026,58 @@ (define-public av-98
@item Support for any character encoding recognised by Python.
@end itemize")
(license license:bsd-2)))
+
+(define-public edbrowse
+ (package
+ (name "edbrowse")
+ (version "3.8.9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/CMB/edbrowse.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hxvdvplmbnn0jzw4ls8a03k2s7qdylghln74910yljzjf392mld"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (for-each
+ (lambda (file)
+ (substitute* file
+ (("\"quickjs-libc.h\"") "<quickjs/quickjs-libc.h>")))
+ '("src/js_hello_quick.c" "src/jseng-quick.c"))
+ #t))))
+ (build-system gnu-build-system)
+ (inputs (list curl-ssh pcre2 quickjs openssl readline-7 tidy-html
+ unixodbc))
+ (native-inputs (list perl pkg-config))
+ (arguments
+ `(#:make-flags (list (string-append "CC=" ,(cc-for-target))
+ (string-append "QUICKJS_LIB="
+ (assoc-ref %build-inputs "quickjs")
+ "/lib/quickjs"))
+ #:tests? #f ; Edbrowse doesn't have tests
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (doc (string-append out "/share/doc/" ,name "-" ,version)))
+ (mkdir-p doc)
+ (install-file "doc/usersguide.html" doc)
+ (install-file "src/edbrowse" bin)))))))
+ (home-page "https://edbrowse.org/")
+ (synopsis "Command-line editor and web browser")
+ (description "Edbrowse is a combination editor, browser, and mail client that is
+100% text based. The interface is similar to /bin/ed, though there are many more
+features, such as editing multiple files simultaneously, and rendering html. This
+program was originally written for blind users, but many sighted users have taken
+advantage of the unique scripting capabilities of this program, which can be found
+nowhere else. A batch job, or cron job, can access web pages on the internet, submit
+forms, and send email, with no human intervention whatsoever. edbrowse can also tap
+into databases through odbc. It was primarily written by Karl Dahlke.")
+ (license license:gpl2+)))

base-commit: 4d994f98a49e1a6e58b9b0b512a05efc1c431a50
--
2.41.0
C
C
Christopher Baines wrote on 5 Apr 13:30 +0200
(name . Christina O'Donnell)(address . cdo@mutix.org)
878r1shwsd.fsf@cbaines.net
Christina O'Donnell <cdo@mutix.org> writes:

Toggle quote (34 lines)
> From: "Christina O'Donnell" <cdo@mutix.org>
>
> * gnu/packages/web-browsers.scm (edbrowse): New variable.
> ---
> gnu/packages/web-browsers.scm | 59 +++++++++++++++++++++++++++++++++++
> 1 file changed, 59 insertions(+)
>
> Dear B. Wilson,
>
> Thank you for this patch that you submitted in September. Sorry it's
> been a while since you sent this in, Guix is a bit short of developers
> and reviewers at the moment.
>
> I'm a new contributor trying to help with the backlog of patches, so
> you can take my points with a grain of salt.
>
> This package is good. It applies, builds and runs. The formatting is
> more or less right.
>
> I have no idea how to use or test edbrowse but it runs at least and
> passes `guix lint`.
>
> I've made the following changes:
>
> - I've reformatted the code to the guix style.
> - I've updated from 3.8.7 to 3.8.9.
> - I've removed the EBDEBUG make flag as this is a release build.
> - I've changed QUICKJS_DIR to QUICKJS_LIB as this was changed
> between 3.8.7 and 3.8.9.
> - I've opted for passing '#:tests #f' instead of deleting 'check.
> - I've set the doc path to /share/doc/ instead of /doc/.
>
> Aside from these points, I think this patch is ready to be pushed.

Thanks both, I've pushed this now to master as
869fa14b786e81f5eb832bc7fd8250248b12651b.

I made a few more changes:

- Using a gexp for the arguments (this is the newer style).

- Reset the author and added Christina as a co-author in the commit
message

- Moved the patching to a phase rather than a snippet, as I think this
is simpler

Thanks again,

Chris
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmYP4MJfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XeAuRAAlusJ0plbzLruMURbaKfbReEEdyZiiNx6
8TA44yRv4fazNBn0c5xKOS1Sz3UjcVIc1u5Ie2ETl30I9OjpELK8K9B0iZ/Q7U71
OKMpI32qTHqkkQ8WBOfRLnmMGhkydr2lJz6DgmkzEL2GYmLyeIAHD/kB8IUti43p
E9/MOdD4NMOCzxIT+SNCljZxYELHFzs5w6xPhmiMzVi0JvQzqI4/y9znhnAJOFsm
OkL1fzCgrgjcOeBQjLrodDKZOce0tQ4P4XDSHKz8uSM3HTBhJMvar8D5hPlgshpr
V7knAgoW7RbRxJqlcd+Rn4zx4BP7w+Vw/cRvg/oM675DXYt2KqPva+1YZ0WC7JjJ
msg0lY0k8kysaVOR6fWpgbkXD50N4e1ELrrE2rV5Md2ohV4z2c9CgdKGiZeG6aeb
1ZDoeatnpuq5BWz6EuptEUa0Qrzs/alC0OniFv0uSpkwaVufnGV9d/FMKwEzJQMr
qa0BFk9V92V3VZ3cNZHI00WcjoCiIbB71vSgPmzW/ugPjfzgUL0nOAX703ZxVbYF
xdC8wU1XXW0W8FCMgBWF5/9xtiUzOekeElGMIxRpknLwOS0qTZ6+Rz3C+aULGH56
OufqdOk0EoFrihaTMcCPjTokfi4rVZWB+LFH8lwti+kD/+JflXsx219d0LsYa/fw
r09oSw4VVps=
=UsBr
-----END PGP SIGNATURE-----

Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 65938@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 65938
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch