guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: Add lynx


From: Mark H Weaver
Subject: Re: [PATCH] gnu: Add lynx
Date: Wed, 05 Mar 2014 13:47:57 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Here's an improved version of this patch that uses GnuTLS instead of
OpenSSL.  Note that even when GnuTLS is configured to support a system
trust store, lynx never uses it.  Instead, you must set the
SSL_CERT_FILE environment variable (even though GnuTLS itself doesn't
look at that variable, but OpenSSL does).

I'm still open to the idea of merging some or all the web clients
(e.g. wget, curl, w3m, icecat) into a single file, but I guess that
should be done in a separate commit.

     Mark


>From 57f3f6ba9efe72bd98bfed44c922e16e6b7398bd Mon Sep 17 00:00:00 2001
From: Mark H Weaver <address@hidden>
Date: Wed, 5 Mar 2014 02:16:06 -0500
Subject: [PATCH] gnu: Add lynx.

* gnu/packages/lynx.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu-system.am         |  1 +
 gnu/packages/lynx.scm | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 87 insertions(+)
 create mode 100644 gnu/packages/lynx.scm

diff --git a/gnu-system.am b/gnu-system.am
index becadaa..7b620c3 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -139,6 +139,7 @@ GNU_SYSTEM_MODULES =                                \
   gnu/packages/lsof.scm                                \
   gnu/packages/lua.scm                         \
   gnu/packages/lvm.scm                         \
+  gnu/packages/lynx.scm                                \
   gnu/packages/m4.scm                          \
   gnu/packages/mail.scm                                \
   gnu/packages/make-bootstrap.scm              \
diff --git a/gnu/packages/lynx.scm b/gnu/packages/lynx.scm
new file mode 100644
index 0000000..a873166
--- /dev/null
+++ b/gnu/packages/lynx.scm
@@ -0,0 +1,86 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Mark H Weaver <address@hidden>
+;;;
+;;; 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 lynx)
+  #:use-module ((guix licenses) #:select (gpl2))
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages libidn)
+  #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages zip)
+  #:use-module (gnu packages compression))
+
+(define-public lynx
+  (package
+    (name "lynx")
+    (version "2.8.8")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://lynx.isc.org/lynx"; version
+                                  "/lynx" version ".tar.bz2"))
+              (sha256
+               (base32 
"00jcfmx4bxnrzywzzlllz3z45a2mc4fl91ca5lrzz1pyr1s1qnm2"))))
+    (build-system gnu-build-system)
+    (native-inputs `(("pkg-config" ,pkg-config)
+                     ("perl" ,perl)))
+    (inputs `(("ncurses" ,ncurses)
+              ("libidn" ,libidn)
+              ("gnutls" ,gnutls)
+              ("libgcrypt" ,libgcrypt)
+              ("unzip" ,unzip)
+              ("zlib" ,zlib)
+              ("gzip" ,gzip)
+              ("bzip2" ,bzip2)))
+    (arguments
+     `(#:configure-flags '("--with-pkg-config"
+                           "--with-screen=ncurses"
+                           "--with-zlib"
+                           "--with-bzlib"
+                           "--with-gnutls"
+                           ;; "--with-socks5"    ; XXX TODO
+                           "--enable-widec"
+                           "--enable-ascii-ctypes"
+                           "--enable-local-docs"
+                           "--enable-htmlized-cfg"
+                           "--enable-gzip-help"
+                           "--enable-nls"
+                           "--enable-ipv6")
+       #:tests? #f  ; no check target
+       #:phases (alist-replace
+                 'install
+                 (lambda* (#:key (make-flags '()) #:allow-other-keys)
+                   (zero? (apply system* "make" "install-full" make-flags)))
+                 %standard-phases)))
+    (synopsis "Text Web Browser")
+    (description
+     "Lynx is a fully-featured World Wide Web (WWW) client for users running
+cursor-addressable, character-cell display devices.  It will display Hypertext
+Markup Language (HTML) documents containing links to files on the local
+system, as well as files on remote systems running http, gopher, ftp, wais,
+nntp, finger, or cso/ph/qi servers.  Lynx can be used to access information on
+the WWW, or to build information systems intended primarily for local
+access.")
+    (home-page "http://lynx.isc.org/";)
+    (license gpl2)))
+
+;;; lynx.scm ends here
-- 
1.8.4


reply via email to

[Prev in Thread] Current Thread [Next in Thread]