From b5beff9a8320564cdd49d7eee0070d7699db747f Mon Sep 17 00:00:00 2001 From: Thanos Apollo Date: Sun, 21 Jul 2024 09:33:59 +0300 Subject: packages: Add version-control. * Create version-control module. --- hecate/packages/version-control.scm | 150 ++++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 hecate/packages/version-control.scm 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)))) -- cgit v1.2.3