aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAshish SHUKLA <ashish.is@lostca.se>2024-09-17 20:31:43 +0000
committerAndreas Enge <andreas@enge.fr>2024-09-30 12:18:20 +0000
commit1a6a85768e4652ee1bd44d3a913baa3285be238b (patch)
tree4ef9402d2a5ede254efebe31e9b76119f5b47b16
parent2545afa64ab41fe37e0d7d28a3f98569e2f243a2 (diff)
downloadguix-1a6a85768e4652ee1bd44d3a913baa3285be238b.tar
guix-1a6a85768e4652ee1bd44d3a913baa3285be238b.tar.gz
guix-1a6a85768e4652ee1bd44d3a913baa3285be238b.tar.bz2
guix-1a6a85768e4652ee1bd44d3a913baa3285be238b.tar.lz
guix-1a6a85768e4652ee1bd44d3a913baa3285be238b.tar.xz
guix-1a6a85768e4652ee1bd44d3a913baa3285be238b.tar.zst
guix-1a6a85768e4652ee1bd44d3a913baa3285be238b.zip
gnu: Add got.
* gnu/packages/version-control.scm (got): New variable. Change-Id: I34d19d90ab36e8831fa88668676aa2399356b002 Signed-off-by: Andreas Enge <andreas@enge.fr>
-rw-r--r--gnu/packages/version-control.scm54
1 files changed, 54 insertions, 0 deletions
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index c1e9c7e5dd..87186985e9 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -57,6 +57,7 @@
;;; Copyright © 2024 Suhail Singh <suhail@bayesians.ca>
;;; Copyright © 2024 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2024 Javier Olaechea <pirata@gmail.com>
+;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -103,6 +104,7 @@
#:use-module (gnu packages cook)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages crates-vcs)
+ #:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages docbook)
@@ -125,6 +127,8 @@
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages libbsd)
+ #:use-module (gnu packages libevent)
#:use-module (gnu packages linux)
#:use-module (gnu packages mail)
#:use-module (gnu packages man)
@@ -964,6 +968,56 @@ the date of the most recent commit that modified them
@end itemize")
(license license:gpl3+)))
+(define-public got
+ (package
+ (name "got")
+ (version "0.103")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://gameoftrees.org/releases/portable/got-portable-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0y18961xrj4rja850i31gadiaps2qnkfb4jlramlz9akyf9mwh1j"))))
+ (inputs
+ (list libevent
+ `(,util-linux "lib")
+ zlib
+ libressl
+ libmd
+ libbsd
+ ncurses))
+ (native-inputs
+ (list pkg-config perl))
+ (arguments
+ `(;; disable runpath validation, courtesy: libbsd's special
+ ;; treatment of libmd, as it embeds path to libmd.so
+ #:validate-runpath? #f
+ ;; default values of GOT_*_PATH_* point to /usr/bin
+ #:make-flags
+ '("CFLAGS+=-DGOT_DIAL_PATH_SSH=\\\"ssh\\\""
+ "CFLAGS+=-DGOT_TAG_PATH_SSH_KEYGEN=\\\"ssh-keygen\\\""
+ "CFLAGS+=-DGOT_TAG_PATH_SIGNIFY=\\\"signify\\\"")
+ #:phases ,#~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-execv-to-execvp
+ (lambda _
+ ;; got sources has paths hardcoded to /usr/bin
+ (substitute* "lib/dial.c"
+ (("execv\\(GOT_DIAL_") "execvp(GOT_DIAL_")
+ (("execv %s\", GOT_DIAL") "execvp %s\", GOT_DIAL"))
+ (substitute* "lib/sigs.c"
+ (("execv\\(GOT_TAG") "execvp(GOT_TAG")
+ (("execv %s\", GOT_TAG") "execvp %s\", GOT_TAG")))))))
+ (build-system gnu-build-system)
+ (synopsis "Distributed version control system")
+ (description
+ "Game of Trees (Got) is a version control system which prioritizes ease of use
+and simplicity over flexibility.")
+ (license license:isc)
+ (home-page "https://gameoftrees.org/")))
+
(define-public xdiff
(let ((revision "0")
(commit "a137bc7ee6c76618ed1737c257548eaa10ac0089"))