summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--hecate/packages/version-control.scm150
1 files changed, 150 insertions, 0 deletions
diff --git a/hecate/packages/version-control.scm b/hecate/packages/version-control.scm
new file mode 100644
index 0000000..d3885ae
--- /dev/null
+++ b/hecate/packages/version-control.scm
@@ -0,0 +1,150 @@
+(define-module (hecate packages version-control)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix utils)
+ #:use-module (guix packages)
+ #:use-module (guix deprecation)
+ #:use-module (guix gexp)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix hg-download)
+ #:use-module (guix build-system cargo)
+ #:use-module (guix build-system cmake)
+ #:use-module (guix build-system copy)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system go)
+ #:use-module (guix build-system perl)
+ #:use-module (guix build-system pyproject)
+ #:use-module (guix build-system python)
+ #:use-module (guix build-system qt)
+ #:use-module (guix build-system trivial)
+ #:use-module (gnu packages apr)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages documentation)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
+ #:use-module (gnu packages bison)
+ #:use-module (gnu packages boost)
+ #:use-module (gnu packages check)
+ #:use-module (gnu packages cook)
+ #:use-module (gnu packages crates-io)
+ #:use-module (gnu packages crates-vcs)
+ #:use-module (gnu packages curl)
+ #:use-module (gnu packages databases)
+ #:use-module (gnu packages docbook)
+ #:use-module (gnu packages file)
+ #:use-module (gnu packages flex)
+ #:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages gl)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages gnome)
+ #:use-module (gnu packages gnupg)
+ #:use-module (gnu packages golang)
+ #:use-module (gnu packages golang-build)
+ #:use-module (gnu packages golang-check)
+ #:use-module (gnu packages golang-crypto)
+ #:use-module (gnu packages golang-web)
+ #:use-module (gnu packages golang-xyz)
+ #:use-module (gnu packages groff)
+ #:use-module (gnu packages guile)
+ #:use-module (gnu packages guile-xyz)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages mail)
+ #:use-module (gnu packages man)
+ #:use-module (gnu packages maths)
+ #:use-module (gnu packages ncurses)
+ #:use-module (gnu packages ssh)
+ #:use-module (gnu packages web)
+ #:use-module (gnu packages patchutils)
+ #:use-module (gnu packages pcre)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages perl-check)
+ #:use-module (gnu packages php)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
+ #:use-module (gnu packages python-check)
+ #:use-module (gnu packages python-crypto)
+ #:use-module (gnu packages python-web)
+ #:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages readline)
+ #:use-module (gnu packages ruby)
+ #:use-module (gnu packages sqlite)
+ #:use-module (gnu packages texinfo)
+ #:use-module (gnu packages text-editors)
+ #:use-module (gnu packages admin)
+ #:use-module (gnu packages xml)
+ #:use-module (gnu packages emacs)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages sdl)
+ #:use-module (gnu packages swig)
+ #:use-module (gnu packages sync)
+ #:use-module (gnu packages tcl)
+ #:use-module (gnu packages textutils)
+ #:use-module (gnu packages time)
+ #:use-module (gnu packages tls)
+ #:use-module (gnu packages)
+ #:use-module (ice-9 match)
+ #:use-module (srfi srfi-1)
+ #:export (make-gitolite))
+
+(define-public fossil
+ (package
+ (name "fossil")
+ (version "2.25")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://www.fossil-scm.org/home/tarball/"
+ "210e89a0597f225f49722b096cf5563bf193e920e02a9bd38503a906deacd416"
+ "/fossil-src-" version ".tar.gz"))
+ ;; XXX: Currently the above hash must be manually updated.
+ (sha256
+ (base32 "1b7f0pc8naic6kagiqagq2v785fjs4xml7z22pqiiwr4mdm2dy94"))
+ (modules '((guix build utils)))
+ (snippet
+ '(delete-file-recursively "compat"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ (list tcl ;for configuration only
+ which ;for tests only
+ ed)) ;ditto
+ (inputs
+ (list openssl zlib sqlite))
+ (arguments
+ `(#:configure-flags (list "--with-openssl=auto"
+ "--disable-internal-sqlite")
+ #:test-target "test"
+ #:phases (modify-phases %standard-phases
+ (add-after 'patch-source-shebangs 'patch-sh
+ (lambda _
+ (substitute* '("auto.def")
+ (("/bin/sh") (which "sh")))))
+ (replace 'configure
+ (lambda* (#:key outputs (configure-flags '())
+ #:allow-other-keys)
+ ;; The 'configure' script is not an autoconf script and
+ ;; chokes on unrecognized options.
+ (apply invoke
+ "./configure"
+ (string-append "--prefix="
+ (assoc-ref outputs "out"))
+ configure-flags)))
+ (add-before 'check 'test-setup
+ (lambda _
+ (setenv "USER" "guix")
+ (setenv "TZ" "UTC"))))))
+ (home-page "https://fossil-scm.org")
+ (synopsis "Software configuration management system")
+ (description
+ "Fossil is a distributed source control management system which supports
+access and administration over HTTP CGI or via a built-in HTTP server. It has
+a built-in wiki, built-in file browsing, built-in tickets system, etc.")
+ (properties
+ '((release-monitoring-url
+ . "https://fossil-scm.org/home/uv/latest-release.md")))
+ (license (list license:public-domain ;src/miniz.c, src/shell.c
+ license:bsd-2))))