diff --git a/.guix-authorizations b/.guix-authorizations index 61ac8a8..c53cf0e 100644 --- a/.guix-authorizations +++ b/.guix-authorizations @@ -1,4 +1,4 @@ (authorizations (version 0) - (("908E F026 51C3 62EC 776A DA98 640A 6795 ECDA AC2F" + (("908E F026 51C3 62EC 776A DA98 640A 6795 ECDA AC2F" (name "TakeV")))) diff --git a/kulupu/packages/gotosocial.scm b/kulupu/packages/gotosocial.scm new file mode 100644 index 0000000..765d8da --- /dev/null +++ b/kulupu/packages/gotosocial.scm @@ -0,0 +1,62 @@ +(define-module (kulupu packages gotosocial) + #:use-module ((guix licenses) + #:prefix license:) + #:use-module (gnu packages) + #:use-module (gnu packages golang) + #:use-module (gnu packages shells) + #:use-module (gnu packages python) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix gexp) + #:use-module (guix build-system go)) + +(define-public gotosocial + (let* ((import-path "github.com/superseriousbusiness/gotosocial") + (working-path (string-append "src/" import-path))) + (package + (name "gotosocial") + (version "0.8.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/superseriousbusiness/gotosocial") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1cxdk59r57hbg5pwpg5vhhdzwcgpa6jdwhhblhhyk7pq1ym386n1")))) + (build-system go-build-system) + (arguments + (list #:go go-1.20 + #:import-path import-path + #:phases #~(modify-phases %standard-phases + (add-before 'build 'chdir + (lambda _ + (setenv "ORIG_DIR" + (getcwd)) + (chdir #$working-path))) + (replace 'build + (lambda _ + (setenv "VERSION" + #$version) + (invoke "sh" + (string-append (getcwd) + "/scripts/build.sh")))) + (replace 'check + (lambda _ + (invoke "sh" "test/envparsing.sh"))) + (add-after 'install 'install-binary + (lambda _ + (install-file "gotosocial" + (string-append #$output "/bin")))) + (add-before 'install-license-files 'chdir-back + (lambda _ + (chdir (getenv "ORIG_DIR"))))))) + (propagated-inputs (list python-minimal-wrapper zsh)) + (home-page "https://github.com/superseriousbusiness/gotosocial") + (synopsis "GoToSocial") + (description + "GoToSocial is an @@url{https://activitypub.rocks/,ActivityPub} social network server, written in Golang.") + (license license:agpl3))))