Patchwork [42/42] gnu: Add darcs.

login
register
mail settings
Submitter ng0
Date Sept. 24, 2016, 9:07 a.m.
Message ID <87twd53buw.fsf@we.make.ritual.n0.is>
Download mbox | patch
Permalink /patch/15970/
State New
Headers show

Comments

ng0 - Sept. 24, 2016, 9:07 a.m.
Leo Famulari <leo@famulari.name> writes:

> On Fri, Sep 23, 2016 at 08:08:37PM +0000, ng0 wrote:
>> Leo Famulari <leo@famulari.name> writes:
>> 
>> > On Fri, Sep 23, 2016 at 09:12:33AM +0000, ng0 wrote:
>> >> I also think for reference we should keep the versions of packages it
>> >> needs as they are so many. On the other hand hackage keeps the list of
>> >> dependencies and versions of those, so... should I send a patch removing
>> >> these comments?
>> >
>> > I think it's better to say how to learn that information. What's there
>> > now will become obsolete sooner or later, and it's not clear to me how I
>> > could update the information.
>> >
>> 
>> That's just taken directly from hackage and/or the initial error output
>> and/or the haskell setup file.
>> 
>> Should I adjust it? For me the source is 'normal' you find this
>> information when you look for the application:
>> https://hackage.haskell.org/package/darcs-2.12.4
>
> It looks like hackage provides that version information for many of
> their packages. So, I don't think we need to include it in our Darcs
> package.
>
I Agree. You might want to check on (inputs (ghc)) as I have not checked
again if this is already provided by the build-system.

Patch

From 2367b485b7fad2b3220610c01e71acc781a83220 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@we.make.ritual.n0.is>
Date: Sun, 4 Sep 2016 16:10:02 +0000
Subject: [PATCH] gnu: Add darcs.

* gnu/packages/version-control.scm (darcs): New variable.
---
 gnu/packages/version-control.scm | 96 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 95 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 29559bd..082640d 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -10,7 +10,7 @@ 
 ;;; Copyright © 2015 Kyle Meyer <kyle@kyleam.com>
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Copyright © 2016 ng0 <ngillmann@runbox.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -35,6 +35,7 @@ 
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system haskell)
   #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages apr)
@@ -50,6 +51,7 @@ 
   #:use-module (gnu packages flex)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages groff)
+  #:use-module (gnu packages haskell)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages nano)
   #:use-module (gnu packages ncurses)
@@ -1249,3 +1251,95 @@  a built-in wiki, built-in file browsing, built-in tickets system, etc.")
     (description "Stagit creates static pages for git repositories, the results can
 be served with a HTTP file server of your choice.")
     (license license:expat)))
+
+;; Darcs has no https support: http://irclog.perlgeek.de/darcs/2016-09-17
+;; http://darcs.net/manual/Configuring_darcs.html#SECTION00440070000000000000
+;; and results of search engines will show that if the protocol is http, https
+;; is never mentioned.
+(define-public darcs
+  (package
+    (name "darcs")
+    (version "2.12.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://hackage.haskell.org/package/darcs/"
+                                  "darcs-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0jfwiwl5k8wspciq1kpmvh5yap4japrf97s9pvhcybxxhaj3ds28"))))
+    (build-system haskell-build-system)
+    (arguments
+     `(#:configure-flags '("-fpkgconfig" "-fcurl" "-flibiconv" "-fthreaded"
+                           "-fnetwork-uri" "-fhttp" "--flag=executable"
+                           "--flag=library")
+       ;; 20 failing shell tests out of over 400. We seem to be unable to
+       ;; get the file which should show us more about the failures.
+       #:tests? #f))
+    (inputs
+     `(("ghc-cmdargs" ,ghc-cmdargs)
+       ("ghc-split" ,ghc-split)
+       ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
+       ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+       ("ghc-test-framework" ,ghc-test-framework)
+       ("ghc-quickcheck" ,ghc-quickcheck)
+       ("ghc-findbin" ,ghc-findbin)
+       ("ghc-hunit" ,ghc-hunit)
+       ("ghc-array" ,ghc-array)
+       ("ghc-async" ,ghc-async)
+       ("ghc-attoparsec" ,ghc-attoparsec)
+       ("ghc-base16-bytestring" ,ghc-base16-bytestring)
+       ("ghc-binary" ,ghc-binary)
+       ("ghc-bytestring-builder" ,ghc-bytestring-builder)
+       ("ghc-cryptohash" ,ghc-cryptohash)
+       ("ghc-data-ordlist" ,ghc-data-ordlist)
+       ("ghc-directory" ,ghc-directory)
+       ("ghc-fgl" ,ghc-fgl)
+       ("ghc-system-filepath" ,ghc-system-filepath)
+       ("ghc-graphviz" ,ghc-graphviz)
+       ("ghc-hashable" ,ghc-hashable)
+       ("ghc-haskeline" ,ghc-haskeline)
+       ("ghc-html" ,ghc-html)
+       ("ghc-mmap" ,ghc-mmap)
+       ("ghc-mtl" ,ghc-mtl)
+       ("ghc-old-time" ,ghc-old-time)
+       ("ghc-parsec" ,ghc-parsec)
+       ("ghc-process" ,ghc-process)
+       ("ghc-random" ,ghc-random)
+       ("ghc-regex-applicative" ,ghc-regex-applicative)
+       ("ghc-regex-compat-tdfa" ,ghc-regex-compat-tdfa)
+       ("ghc-sandi" ,ghc-sandi)
+       ("ghc-shelly" ,ghc-shelly)
+       ("ghc-tar" ,ghc-tar)
+       ("ghc-transformers-compat" ,ghc-transformers-compat)
+       ("ghc-unix-compat" ,ghc-unix-compat)
+       ("ghc-utf8-string" ,ghc-utf8-string)
+       ("ghc-vector" ,ghc-vector)
+       ("ghc-zip-archive" ,ghc-zip-archive)
+       ("ghc-zlib" ,ghc-zlib)
+       ("ghc-http" ,ghc-http)
+       ("curl" ,curl)
+       ("ghc" ,ghc)
+       ("ncurses" ,ncurses)
+       ("perl" ,perl)
+       ("libiconv" ,libiconv)
+       ("ghc-network" ,ghc-network)
+       ("ghc-network-uri" ,ghc-network-uri)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://darcs.net")
+    (synopsis "Distributed Revision Control System")
+    (description
+     "Darcs is a revision control system.  It is:
+
+@enumerate
+@item Distributed: Every user has access to the full command set, removing boundaries
+between server and client or committer and non-committers.
+@item Interactive: Darcs is easy to learn and efficient to use because it asks you
+questions in response to simple commands, giving you choices in your work flow.
+You can choose to record one change in a file, while ignoring another.  As you update
+from upstream, you can review each patch name, even the full diff for interesting
+patches.
+@item Smart: Originally developed by physicist David Roundy, darcs is based on a
+unique algebra of patches.
+@end enumerate")
+    (license license:gpl2)))
-- 
2.10.0