From d71b99abca69c8a151723dbd960aafa5fe05ae0d Mon Sep 17 00:00:00 2001 From: luhui 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 --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 ;;; Copyright © 2013, 2014 Ludovic Courtès ;;; Copyright © 2016, 2019 Efraim Flashner +;;; Copyright © 2021 lu hui ;;; ;;; 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+)))) -- 2.31.1