diff mbox series

[bug#48253] gnu: Add edbrowse

Message ID YJPGheqw+bWuFQyg@thinkpad-x230-luhui
State New
Headers show
Series [bug#48253] gnu: Add edbrowse | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

luhui May 6, 2021, 10:35 a.m. UTC
New Package:
From d71b99abca69c8a151723dbd960aafa5fe05ae0d Mon Sep 17 00:00:00 2001
From: luhui <luhuins@163.com>
Date: Thu, 6 May 2021 18:31:58 +0800
Subject: [PATCH] gnu: Add edbrowse

* gnu/packages/ed.scm (edbrowse): New variable.
---
 gnu/packages/ed.scm | 74 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 73 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/gnu/packages/ed.scm b/gnu/packages/ed.scm
index da4c3ddf04..746cba13d0 100644
--- a/gnu/packages/ed.scm
+++ b/gnu/packages/ed.scm
@@ -2,6 +2,7 @@ 
 ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2021 lu hui <luhuins@163.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,8 +23,16 @@ 
   #:use-module (guix licenses)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
-  #:use-module (gnu packages compression))
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages curl)
+  #:use-module (gnu packages javascript)
+  #:use-module (gnu packages readline)
+  #:use-module (gnu packages pcre)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages web))
 
 (define-public ed
   (package
@@ -56,3 +65,66 @@  interactively and via shell scripts.  Its method of command input allows
 complex tasks to be performed in an automated way.  GNU ed offers several
 extensions over the standard utility.")
     (license gpl3+)))
+
+(define-public edbrowse
+  (let ((commit "09508a0f3d9b87f8aa8dec612671527c81a6122d")
+        (revision "0"))
+    (package
+      (name "edbrowse")
+      (version "3.8.0")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/CMB/edbrowse")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "15a12la56z3m552m9c5wqfwws59cqgx87sn8vq6bkfr621076z35"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:make-flags
+         (list (string-append "CC=" ,(cc-for-target))
+               (string-append "PREFIX=" (assoc-ref %outputs "out")))
+         #:tests? #f
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (add-before 'build 'patch-replace-harcode-path
+             (lambda* (#:key inputs #:allow-other-keys)
+               (let* ((perl
+                       (string-append
+                        (assoc-ref inputs "perl") "/bin/perl")))
+                 (substitute* "tools/buildebrcstring.pl"
+                   (("/usr/bin/perl") perl)))
+               #t))
+           (add-before 'build 'fix-quickjs-libdir
+             (lambda* (#:key inputs #:allow-other-keys)
+               (let* ((libdir-quickjs
+                       (string-append
+                        (assoc-ref inputs "quickjs") "/lib/quickjs")))
+                 (substitute* "src/makefile"
+                   (("-L/usr/local/lib/quickjs")
+                    (string-append
+                     "-L" libdir-quickjs)))
+                 #t)))
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out")))
+                 (mkdir-p (string-append out "/bin/"))
+                 (install-file "src/edbrowse"
+                               (string-append out "/bin/"))))))))
+      (inputs
+       `(("readline" ,readline)
+         ("pcre" ,pcre)
+         ("curl" ,curl)
+         ("tidy-html" ,tidy-html)
+         ("quickjs" ,quickjs)))
+      (native-inputs
+       `(("perl" ,perl)
+         ("pkg-config" ,pkg-config)))
+      (home-page "https://github.com/CMB/edbrowse")
+      (synopsis "Line oriented editor browser")
+      (description "Ed-like web browser with javascript support")
+      (license gpl3+))))