Compare commits

...

No commits in common. "master" and "keyring" have entirely different histories.

19 changed files with 344 additions and 3838 deletions

View File

@ -1,117 +0,0 @@
;; Per-directory local variables for GNU Emacs 23 and later.
((nil
. ((fill-column . 78)
(tab-width . 8)
(sentence-end-double-space . t)
;; For use with 'bug-reference-prog-mode'.
(bug-reference-url-format . "http://git.rekahsoft.ca/rekahsoft/rekahsoft-guix/issues/%s")
(bug-reference-bug-regexp
. "<https?://git.rekahsoft.ca/rekahsoft/rekahsoft-guix/issues\\([0-9]+\\)>")))
(c-mode . ((c-file-style . "gnu")))
(scheme-mode
.
((indent-tabs-mode . nil)
(eval . (put 'eval-when 'scheme-indent-function 1))
(eval . (put 'call-with-prompt 'scheme-indent-function 1))
(eval . (put 'test-assert 'scheme-indent-function 1))
(eval . (put 'test-assertm 'scheme-indent-function 1))
(eval . (put 'test-equalm 'scheme-indent-function 1))
(eval . (put 'test-equal 'scheme-indent-function 1))
(eval . (put 'test-eq 'scheme-indent-function 1))
(eval . (put 'call-with-input-string 'scheme-indent-function 1))
(eval . (put 'guard 'scheme-indent-function 1))
(eval . (put 'lambda* 'scheme-indent-function 1))
(eval . (put 'substitute* 'scheme-indent-function 1))
(eval . (put 'match-record 'scheme-indent-function 2))
;; 'modify-phases' and its keywords.
(eval . (put 'modify-phases 'scheme-indent-function 1))
(eval . (put 'replace 'scheme-indent-function 1))
(eval . (put 'add-before 'scheme-indent-function 2))
(eval . (put 'add-after 'scheme-indent-function 2))
(eval . (put 'modify-services 'scheme-indent-function 1))
(eval . (put 'with-directory-excursion 'scheme-indent-function 1))
(eval . (put 'with-file-lock 'scheme-indent-function 1))
(eval . (put 'with-file-lock/no-wait 'scheme-indent-function 1))
(eval . (put 'with-profile-lock 'scheme-indent-function 1))
(eval . (put 'with-writable-file 'scheme-indent-function 1))
(eval . (put 'package 'scheme-indent-function 0))
(eval . (put 'origin 'scheme-indent-function 0))
(eval . (put 'build-system 'scheme-indent-function 0))
(eval . (put 'bag 'scheme-indent-function 0))
(eval . (put 'graft 'scheme-indent-function 0))
(eval . (put 'operating-system 'scheme-indent-function 0))
(eval . (put 'file-system 'scheme-indent-function 0))
(eval . (put 'manifest-entry 'scheme-indent-function 0))
(eval . (put 'manifest-pattern 'scheme-indent-function 0))
(eval . (put 'substitute-keyword-arguments 'scheme-indent-function 1))
(eval . (put 'with-store 'scheme-indent-function 1))
(eval . (put 'with-external-store 'scheme-indent-function 1))
(eval . (put 'with-error-handling 'scheme-indent-function 0))
(eval . (put 'with-mutex 'scheme-indent-function 1))
(eval . (put 'with-atomic-file-output 'scheme-indent-function 1))
(eval . (put 'call-with-compressed-output-port 'scheme-indent-function 2))
(eval . (put 'call-with-decompressed-port 'scheme-indent-function 2))
(eval . (put 'call-with-gzip-input-port 'scheme-indent-function 1))
(eval . (put 'call-with-gzip-output-port 'scheme-indent-function 1))
(eval . (put 'call-with-lzip-input-port 'scheme-indent-function 1))
(eval . (put 'call-with-lzip-output-port 'scheme-indent-function 1))
(eval . (put 'signature-case 'scheme-indent-function 1))
(eval . (put 'emacs-batch-eval 'scheme-indent-function 0))
(eval . (put 'emacs-batch-edit-file 'scheme-indent-function 1))
(eval . (put 'emacs-substitute-sexps 'scheme-indent-function 1))
(eval . (put 'emacs-substitute-variables 'scheme-indent-function 1))
(eval . (put 'with-derivation-narinfo 'scheme-indent-function 1))
(eval . (put 'with-derivation-substitute 'scheme-indent-function 2))
(eval . (put 'with-status-report 'scheme-indent-function 1))
(eval . (put 'with-status-verbosity 'scheme-indent-function 1))
(eval . (put 'with-build-handler 'scheme-indent-function 1))
(eval . (put 'mlambda 'scheme-indent-function 1))
(eval . (put 'mlambdaq 'scheme-indent-function 1))
(eval . (put 'syntax-parameterize 'scheme-indent-function 1))
(eval . (put 'with-monad 'scheme-indent-function 1))
(eval . (put 'mbegin 'scheme-indent-function 1))
(eval . (put 'mwhen 'scheme-indent-function 1))
(eval . (put 'munless 'scheme-indent-function 1))
(eval . (put 'mlet* 'scheme-indent-function 2))
(eval . (put 'mlet 'scheme-indent-function 2))
(eval . (put 'run-with-store 'scheme-indent-function 1))
(eval . (put 'run-with-state 'scheme-indent-function 1))
(eval . (put 'wrap-program 'scheme-indent-function 1))
(eval . (put 'with-imported-modules 'scheme-indent-function 1))
(eval . (put 'with-extensions 'scheme-indent-function 1))
(eval . (put 'with-parameters 'scheme-indent-function 1))
(eval . (put 'let-system 'scheme-indent-function 1))
(eval . (put 'with-database 'scheme-indent-function 2))
(eval . (put 'call-with-transaction 'scheme-indent-function 2))
(eval . (put 'with-statement 'scheme-indent-function 3))
(eval . (put 'call-with-retrying-transaction 'scheme-indent-function 2))
(eval . (put 'call-with-savepoint 'scheme-indent-function 1))
(eval . (put 'call-with-retrying-savepoint 'scheme-indent-function 1))
(eval . (put 'call-with-container 'scheme-indent-function 1))
(eval . (put 'container-excursion 'scheme-indent-function 1))
(eval . (put 'eventually 'scheme-indent-function 1))
(eval . (put 'call-with-progress-reporter 'scheme-indent-function 1))
(eval . (put 'with-repository 'scheme-indent-function 2))
(eval . (put 'with-temporary-git-repository 'scheme-indent-function 2))
(eval . (put 'with-environment-variables 'scheme-indent-function 1))
(eval . (put 'with-fresh-gnupg-setup 'scheme-indent-function 1))
(eval . (put 'with-paginated-output-port 'scheme-indent-function 1))
;; This notably allows '(' in Paredit to not insert a space when the
;; preceding symbol is one of these.
(eval . (modify-syntax-entry ?~ "'"))
(eval . (modify-syntax-entry ?$ "'"))
(eval . (modify-syntax-entry ?+ "'"))))
(emacs-lisp-mode . ((indent-tabs-mode . nil)))
(texinfo-mode . ((indent-tabs-mode . nil)
(fill-column . 72))))

1
.envrc
View File

@ -1 +0,0 @@
use guix guix --ad-hoc help2man git strace

5
.gitignore vendored
View File

@ -1,5 +0,0 @@
*.go
*.tmp
*~
.#*
\#*\#

View File

@ -1,9 +0,0 @@
;; This is the list of OpenPGP keys currently authorized to sign commits in
;; this repository.
(authorizations
(version 0)
((;; primary: "F7BD DC6D BBE6 B16B 2C71 1A02 5FAB 9938 E05B FEC8"
"F8D5 46F3 AF37 EF53 D1B6 48BE 7B4D EB93 212B 3022"
(name "rekahsoft"))))

View File

@ -1,6 +0,0 @@
;; -*- mode: scheme; -*-
(channel
(version 0)
(news-file "news.txt")
(url "https://git.rekahsoft.ca/rekahsoft/rekahsoft-guix.git"))

View File

@ -1,28 +0,0 @@
#+TITLE: rekahsoft-guix
#+AUTHOR: Collin J. Doering
#+begin_export html
<p><a href="https://guix-ci.home.rekahsoft.ca/jobset/rekahsoft-guix"><img src="https://guix-ci.home.rekahsoft.ca/jobset/rekahsoft-guix/badge.svg?type=0" alt="Cuirass Status"></a></p>
#+end_export
#+begin_abstract
This channel ([[https://git.rekahsoft.ca/rekahsoft/rekahsoft-guix.git][rekahsoft-guix]]), is a personal channel that is meant as a
staging ground for changes I plan on making upstream to guix. However, there
may be packages that may never be contributed due to technical or ideological
reasons; in the later case, packages will be submitted upstream to the [[https://gitlab.com/nonguix/nonguix][nonguix]]
channel.
#+end_abstract
To use this channel, add the rekahsoft-guix channel to your channels file and
update using ~guix pull~.
#+begin_src scheme
(channel
(name 'rekahsoft-guix)
(url "https://git.rekahsoft.ca/rekahsoft/rekahsoft-guix")
(introduction
(make-channel-introduction
"34b5f938ad7404d980b20f0c896913c5ee597b2a"
(openpgp-fingerprint
"F8D5 46F3 AF37 EF53 D1B6 48BE 7B4D EB93 212B 3022"))))
#+end_src

View File

@ -1,24 +0,0 @@
(channel-news
(version 0)
(entry (commit "34b5f938ad7404d980b20f0c896913c5ee597b2a")
(title (en "rekahsoft-guix authenticated updates"))
(body
(en "This is a personal channel that is meant as a staging ground
for changes I plan on making upstream to guix, however there may be packages
that may never be contributed due to technical or ideological reasons.
This channel can now take advantage of the new support for
authenticated updates in @command{guix pull}, which protects you from attempts
to tamper with this repository and ship malicious code instead.
To ensure you only receive genuine updates from rekahsoft-guix, you should update your
@file{~/.config/guix/channels.scm} to include the channel introduction:
@lisp
(channel
(name 'rekahsoft-guix)
(url \"https://git.rekahsoft.ca/rekahsoft/rekahsoft-guix\")
(introduction
(make-channel-introduction
\"34b5f938ad7404d980b20f0c896913c5ee597b2a\"
(openpgp-fingerprint
\"F8D5 46F3 AF37 EF53 D1B6 48BE 7B4D EB93 212B 3022\"))))
@end lisp "))))

344
rekahsoft-212B3022.key Normal file
View File

@ -0,0 +1,344 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBE0JkwwBEADhh0exJx9tBJXEulXa7/JrfDK3hwZt42W3NDHHuJsyWdOeS9hz
AW/MQNOERHdwY/Q2H8sjtKsXyQ4BIe3O2SyjfzDHGYhYSFiihdXYhmmdka2MwNL6
glg3XEpnUKRGsTqHRQgIBAOEG9q3xJ+u8j10PcqM1eNxai88sLJ9vdwymuzpEm/d
tWhTReZB0wy5T9IHJEHhqAnvZ7sYLnkAJZQRkw7ondMrK4MnQrgVxdrZv68Vuiuz
IXwg27WAireuvw4JjpLRSwujzQnFuO2R6fW/lIQ5oomaaa649ijtrrMEZfVBO863
kv3eo7s6XM6xdDmYbbU7oXAFm0dhT1kaJTH1BBXzM1DRljwIC/qj5DqIRVKUANjN
bUb0cfg/FpvenBXQ0umSCW91TaQn4EZXvqu+2exMr7PmA9/RTI6dBNJPwTbeGqQe
TZ6IN4meFlJWNLhh04vtZzfH2DjqEOLIb5S6mVK3u/eTmv1rCRnFI14MY4PUOq4u
tKlDjw5pVxq0AY3dZXQsnfQRGkelHYHhoS7NVMCUkiOmYHVQC0i5TwsWEdTcbL7C
PvIx92qXz2XRwSwJPsEEDIz0QOIBiBiFhsHhOEZ7VpOzj2RwTV/mdGS3DjW2+vuY
Rjv9/SFB17QfUEKnSGwpDZ4QOVx54KtyHvI1L4UjLGuhgKzpoqeJOSU6yQARAQAB
tCRDb2xsaW4gRG9lcmluZyA8Y29sbGluQHJla2Foc29mdC5jYT6JAk4EEwEIADgW
IQT3vdxtu+axayxxGgJfq5k44Fv+yAUCW7ZFpgIbAwULCQgHAgYVCgkICwIEFgID
AQIeAQIXgAAKCRBfq5k44Fv+yBG4D/9vlOe5yNEeUhn+Q40nRZDtUxT6by1PHVrK
n/dwOwYxqfJxD7Wn5ba+JJ5Cqd2b09o9G9IymwROGsqftM08I+GHyzM4wA1o57JZ
Brmx/phd7HKSrZhs4Gz8bEQ+zqQyo9QmVqGu1IXwxuEGH9vdj+pbt+9+mARsL8HI
ObUaa8X18uy+DSe64ZZ6WkUa9WlkIkbcvAUi36pw6csCNJOXJpkHv109y7iRqq60
3YD3yqI8DObMjmqG4nFi3J90swqRXiygvnKV0lhE8xyRY4GhPKUwLB2q89RCLSJ6
k1JKAGJW5HV+ru+SQzNViwhbWc4N7klmi3HFaISPtfXCTlNAianHq8RjQNYR+53q
bSZAnCsq5e+ae/sgAWKzQM/8UjInOZgmstrqBzzY5ikXZZwLe6IjshKYa/8HmIxG
Wium/ZyohAIMczpWdxUYDL6fUEKVf6fZRr8te1Rlp4xBJ6xC1n3WUDxUtAzI8AqV
/vrqfOra53kHePIkMAlSf+6drO1TwzLCUNsjAVasDsOyCC+tEqEHD9C5+rXDtQVJ
XuyHIQ7b5Pzjp3ZverguIFLTF99dbiv/2sLbjZvOA5aQIrY1VgQjRINNmIUpEsXx
s989ASs1wnK9L6kQV9sWpVtmnXnQzOmrfOtScvuRmXZ5ylU6BKfZ82LYLE3zOT7N
TVyWDMoMBLQsQ29sbGluIEouIERvZXJpbmcgPGNvbGxpbi5kb2VyaW5nQGdtYWls
LmNvbT6JAjcEEwEKACEFCwkIBwMGFQoJCwgDBBYCAwECGQAFglR4YFwCngECmwMA
CgkQX6uZOOBb/shFNxAAqInmaEKDBZn92OXaxWCK0I5QmODmQ+a12teFMzL93CuU
9vO5wNl6bp1D/Im9EBIgH65tykcrwivIShBclvA5f9YT0yuUgtHV1sJpObUXGxFO
h41lJH7TalF0mcMK1udz9yVDScBTj9JWDb250mPUs6d1JS/R6fq+l0iRNY1BqEC5
Ju0G7j8e2aDL7wplu9m6T7rm2JZBREKXd78nM21Dlixbu2whTRwVI6jjLLjmBMJN
ArbvFjCpw5wPV4o5U9RrMNy6tjRgu6tfS9UVwvlLL2al5GWVqyVpPeB3C3hG/IpI
6Rtiuf81Icdw9Onri5gGfakhjXPoyg09s14ILHr5XKFau3mBedsv+vjAezdQHNYm
Rxo8tBIs3QYnLEiVfOeBRMD0tFvPmPkiwofHqR82YWp0T2je/8tRFsCneZqMpenu
Ft85BvxiRW+RMUJZBt8RWUaXW/6PpNjpmMKs1eMQVrrAuJ3ma2nEuITxB8BZUH0m
DUNijYxUH2m6LvvanjrWb6gPLUsG5w9chk6AswsJ8jKfed+hP1wlp0tBHz4vWiex
/rrCN7E2uigVo3lbagCAVQnFwbh8sPTZmZ/34x2vKG2Zpq4V3XVSVrlDsXtCEL6f
IvIGeTCZu++gC5IiBkvE6CrX/m4+76d2SuepaCaU5xhpODetUScj1xsC1kW+lJC0
L0NvbGxpbiBKLiBEb2VyaW5nIDxjb2xsaW4uZG9lcmluZ0ByZWthaHNvZnQuY2E+
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
0KHBUYnw2ko1HeMTqgwSWqHEK9Wd++a2nsfT6A==
=clJ6
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -1,822 +0,0 @@
;;; Copyright © 2020 Collin J. Doering <collin@rekahsoft.ca>
;;;
;;; This file is part of the GNU Guix channel rekahsoft-guix
;;;
;;; The rekahsoft-guix channel for GNU Guix is free software; you can
;;; redistribute it and/or modify it under the terms of the GNU General Public
;;; License as published by the Free Software Foundation; either version 3 of
;;; the License, or (at your option) any later version.
;;;
;;; The rekahsoft-guix channel for GNU Guix is distributed in the hope that it
;;; will be useful, but WITHOUT ANY WARRANTY; without even the implied
;;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License along
;;; with the rekahsoft-guix channel for GNU Guix. If not, see
;;; <http://www.gnu.org/licenses/>.
(define-module (rekahsoft-gnu packages emacs-xyz)
#:use-module ((guix licenses)
#:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system emacs)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages emacs)
#:use-module (gnu packages emacs-xyz)
#:use-module (gnu packages curl)
#:use-module (gnu packages mail)
#:use-module (gnu packages statistics)
#:use-module (gnu packages erlang)
#:use-module (gnu packages ocaml)
#:use-module (gnu packages video)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
;;;
;;; Emacs hacking.
;;;
(define-public emacs-helm-tramp
(package
(name "emacs-helm-tramp")
(version "1.3.9")
(source (origin
(method url-fetch)
(uri (string-append
"https://stable.melpa.org/packages/helm-tramp-" version
".el"))
(sha256
(base32
"1nhlfq113ngcb74n76z8c2wnki14vls18mml36iwi8y9k63flkcd"))))
(build-system emacs-build-system)
(propagated-inputs `(("emacs-helm" ,emacs-helm)))
(home-page "https://github.com/masasam/emacs-helm-tramp")
(synopsis "Tramp helm interface for ssh, docker, vagrant")
(description
"Provides interfaces of Tramp.
You can also use tramp with helm interface as root
If you use it with docker-tramp, you can also use docker with helm interface
If you use it with vagrant-tramp, you can also use vagrant with helm interface
")
(license license:gpl3)))
(define-public emacs-rebox2
(package
(name "emacs-rebox2")
(version "20121113.1300")
(source (origin
(method url-fetch)
(uri (string-append "https://melpa.org/packages/rebox2-" version
".el"))
(sha256
(base32
"0ji5x2hnjklz9y4jd11hcfncbcfzgq1dg8r3s7dkrf696y4ziwwy"))))
(build-system emacs-build-system)
(home-page "https://github.com/lewang/rebox2")
(synopsis "Inserting and modification of comment boxes in various styles")
(description
"Rebox2 provides major and minor modes for inserting and modification of
comment box is various text styles.")
(license #f)))
;; TODO: ./rekahsoft-gnu/packages/emacs-xyz.scm:172:6: emacs-ibuffer-vc@20181225.2227: URI https://melpa.org/packages/ibuffer-vc-20181225.2227.el not reachable: 404 ("Not Found")
(define-public emacs-ibuffer-vc
(package
(name "emacs-ibuffer-vc")
(version "20181225.2227")
(source (origin
(method url-fetch)
(uri (string-append "https://melpa.org/packages/ibuffer-vc-"
version ".el"))
(sha256
(base32
"16nry1631g4draqh09r2rq92xpv5vsyxx9yd7r5i2m6kblqh4y3f"))))
(build-system emacs-build-system)
(home-page "https://github.com/purcell/ibuffer-vc")
(synopsis "Group ibuffer's list by VC project, or show VC status")
(description
"Adds functionality to ibuffer for grouping buffers by their parent
vc root directory, and for displaying and/or sorting by the vc
status of listed files.
")
(license license:gpl3)))
;; TODO: ./rekahsoft-gnu/packages/emacs-xyz.scm:198:6: emacs-highlight-indent-guides@20190108.3: URI https://melpa.org/packages/highlight-indent-guides-20190108.3.el not reachable: 404 ("Not Found")
(define-public emacs-highlight-indent-guides
(package
(name "emacs-highlight-indent-guides")
(version "20190108.3")
(source (origin
(method url-fetch)
(uri (string-append
"https://melpa.org/packages/highlight-indent-guides-"
version ".el"))
(sha256
(base32
"02imngb4y6f9vp4jxiwdbdcjxllvjwaa2rlh61zy49n2wivrlwh0"))))
(build-system emacs-build-system)
(home-page "https://github.com/DarthFennec/highlight-indent-guides")
(synopsis "Minor mode to highlight indentation")
(description
"This minor mode highlights indentation levels via font-lock. Indent widths
are dynamically discovered, which means this correctly highlights in any
mode, regardless of indent width, even in languages with non-uniform
indentation such as Haskell. This mode works properly around hard tabs and
mixed indentation, and it behaves well in large buffers.")
(license #f)))
(define-public emacs-intel-hex-mode
(package
(name "emacs-intel-hex-mode")
(version "20180423.31")
(source (origin
(method url-fetch)
(uri (string-append "https://melpa.org/packages/intel-hex-mode-"
version ".el"))
(sha256
(base32
"1nvwjk686wna96srk3y9xniixas729x6m1rcjnc8lz1zkap9z9bv"))))
(build-system emacs-build-system)
(home-page "https://github.com/mschuldt/intel-hex-mode")
(synopsis "Mode for Intel Hex files")
(description
"Use this mode for editing files in the intel hex format. The
intel-hex-mode will do font locking, and calculate checksums.")
(license license:gpl2)))
(define-public emacs-highlight-parentheses
(package
(name "emacs-highlight-parentheses")
(version "20180704.1102")
(source (origin
(method url-fetch)
(uri (string-append
"https://melpa.org/packages/highlight-parentheses-"
version ".el"))
(sha256
(base32
"0dxnw7d966pm44a54rmd40vrrps56jaayrc8wwj7wxl2imdzqzbl"))))
(build-system emacs-build-system)
(home-page "https://github.com/tsdh/highlight-parentheses.el")
(synopsis "Highlight surrounding parentheses")
(description
"Enable the mode using M-x highlight-parentheses-mode or by adding it to
a hook.")
(license license:gpl2)))
(define-public emacs-quack
(package
(name "emacs-quack")
(version "20181106.1301")
(source (origin
(method url-fetch)
(uri (string-append "https://melpa.org/packages/quack-" version
".el"))
(sha256
(base32
"0ph6zh91kasgbvi425a5m1hz94pxk6qa3srpy4khifsbn7cwiyga"))))
(build-system emacs-build-system)
(home-page "https://www.neilvandyke.org/quack/")
(synopsis "Enhanced support for editing and running Scheme code")
(description
"Quack enhances Emacs support for Scheme programming. The name
Quack was a play on DrScheme.")
(license license:gpl2)))
(define-public emacs-hamlet-mode
(package
(name "emacs-hamlet-mode")
(version "20131208.724")
(source (origin
(method url-fetch)
(uri (string-append "https://melpa.org/packages/hamlet-mode-"
version ".el"))
(sha256
(base32
"1r6nxi3d6bmnxrjjsam79vsprfwlnbhpag98vb1hj05yqp13l55v"))))
(build-system emacs-build-system)
(propagated-inputs `(("emacs-dash" ,emacs-dash)
("emacs-s" ,emacs-s)))
(home-page "https://github.com/lightquake/hamlet-mode")
(synopsis "Hamlet editing mode")
(description
"An Emacs major mode for editing files written in Hamlet, a
Haskell compile-time HTML templating engine. Currently it only provides
syntax highlighting.
Functions and variables with // in their name are private and may change or
go away at any time.")
(license #f)))
(define-public emacs-helm-unicode
(package
(name "emacs-helm-unicode")
(version "20180608.1407")
(source (origin
(method url-fetch)
(uri (string-append "https://melpa.org/packages/helm-unicode-"
version ".el"))
(sha256
(base32
"1q4jkak147srs2vpnn9hl82irm9bdvj3wwxygf09rqv2fsa8cl9w"))))
(build-system emacs-build-system)
(propagated-inputs `(("emacs-helm" ,emacs-helm)))
(home-page "https://github.com/bomgar/helm-unicode")
(synopsis "Helm command for unicode characters.")
(description "A helm command for looking up unicode characters by name.")
(license #f)))
(define-public emacs-vimish-fold
(package
(name "emacs-vimish-fold")
(version "20200524.1729")
(source (origin
(method url-fetch)
(uri (string-append "https://melpa.org/packages/vimish-fold-"
version ".el"))
(sha256
(base32
"08p826zn4ris9b46r1d5z9v9jdj4lyr6kdmw4yhmnm9sk41z4bm4"))))
(build-system emacs-build-system)
(propagated-inputs `(("emacs-f" ,emacs-f)))
(home-page "https://github.com/matsievskiysv/vimish-fold")
(synopsis "Fold text like in Vim")
(description
"This is a package to perform text folding like in Vim. It has the
following features:
* folding of active regions;
* good visual feedback: it's obvious which part of text is folded;
* persistence by default: when you kill a buffer your folds don't
disappear;
* persistence scales well, you can work on hundreds of files with lots of
folds without adverse effects;
* it does not break indentation;
* folds can be toggled from folded state to unfolded and back very
easily;
* quick navigation between existing folds;
* you can use mouse to unfold folds (good for beginners and not only for
them);
* for fans of code@{avy package}: you can use code@{avy} to fold text with minimal
number of key strokes!")
(license #f)))
(define-public emacs-grapnel
(package
(name "emacs-grapnel")
(version "20131001.1534")
(source (origin
(method url-fetch)
(uri (string-append "https://melpa.org/packages/grapnel-"
version ".el"))
(sha256
(base32
"1mkkv6ldqwgw54da4b1j9rqy275fkl7lqvlq6h6ji3jvf9dfgvrc"))))
(build-system emacs-build-system)
(home-page "https://www.github.com/leathekd/grapnel")
(synopsis "HTTP request lib with flexible callback dispatch")
(description
"Grapnel is an HTTP request library that uses a curl subprocess and
offers flexible callback dispatch. Not only can you pass in an
alist of request outcomes to callback functions (see below) but you
can also override the dispatch function itself if the default one
doesn't suit your needs. Further, grapnel will build the query
string, request data (i.e., POST body), and headers from alists
that are passed in.
An example:
(grapnel-retrieve-url
\"www.google.com\"
'((success . (lambda (res hdrs) (message \"%s\" res)))
(failure . (lambda (res hdrs) (message \"Fail: %s\" res)))
(error . (lambda (res err) (message \"Err: %s\" err))))
\"GET\"
'((q . \"ASIN B001EN71CW\")))")
(license license:gpl3)))
(define-public emacs-ix
(package
(name "emacs-ix")
(version "20131027.1629")
(source (origin
(method url-fetch)
(uri (string-append "https://melpa.org/packages/ix-" version
".el"))
(sha256
(base32
"165nr8cz2y0mpcav0bkc8kak5zji4fayrs9v9wdzn0nksq6wdbls"))))
(build-system emacs-build-system)
(propagated-inputs `(("emacs-grapnel" ,emacs-grapnel)
("curl" ,curl)))
(home-page "https://www.github.com/theanalyst/ix.el")
(synopsis "Emacs client for http://ix.io pastebin")
(description
"ix.el is a simple emacs client to http://ix.io cmdline pastebin. At
the moment using the code@{ix} command on a selection sends the
selection to ix.io, entire buffer is sent if selection is inactive,
on success the url is notified in the minibuffer as well as saved
in the kill ring.
It is recommended to set a user name and token so that you can
later delete or replace a paste. Set this via the variables
code@{ix-user} and code@{ix-token} via M-x customize-group RET ix
Posts (if posted with user and token) can be deleted by code@{ix-delete} command
which prompts for post id (the string after http://ix.io/)
curl is used as the backend via grapnel http request library.")
(license #f)))
(define-public emacs-persp-projectile
(package
(name "emacs-persp-projectile")
(version "20180616.1944")
(source (origin
(method url-fetch)
(uri (string-append
"https://melpa.org/packages/persp-projectile-" version
".el"))
(sha256
(base32
"1pc1v6rc44wl7sq0qchgc4lxiy8lr7zvp0hygcp95c1x0dkqs8jl"))))
(build-system emacs-build-system)
(propagated-inputs `(("emacs-perspective" ,emacs-perspective)
("emacs-projectile" ,emacs-projectile)))
(home-page "https://github.com/bbatsov/persp-projectile")
(synopsis "Perspective integration with Projectile")
(description
"This library bridges perspective mode to the awesome library
Projectile. The idea is to create a separate perspective when
switching project. A perspective is an independent workspace for
Emacs, similar to multiple desktops in Gnome and MacOS. I often
work on many projects at the same time, and using perspective and
projectile together allows me to easily know which project I'm
current in, and focus on files that only belong to current project
when switching buffer.
To use this library, put this file in your Emacs load path, and
call (require 'persp-projectile)
See perspective.el on github: https://github.com/nex3/perspective-el
")
(license license:gpl3+)))
(define-public emacs-helm-rg
(let ((commit "ee0a3c09da0c843715344919400ab0a0190cc9dc")
(revision "1"))
(package
(name "emacs-helm-rg")
(version (git-version "0.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cosmicexplorer/helm-rg")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0m4l894345n0zkbgl0ar4c93v8pyrhblk9zbrjrdr9cfz40bx2kd"))))
(build-system emacs-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
;; TODO: Build is currently broken:
;; https://github.com/cosmicexplorer/helm-rg/issues/20
(delete 'build))))
(native-inputs `(("emacs" ,emacs-minimal)))
(propagated-inputs `(("emacs-dash" ,emacs-dash)
("emacs-helm" ,emacs-helm)))
(home-page "https://github.com/cosmicexplorer/helm-rg")
(synopsis "Helm interface to ripgrep")
(description "Helm interface for ripgrep.")
(license license:gpl3+))))
(define-public emacs-ace-link-2021-01-1
(let ((commit "298f02f7dd117f9ec01f6aa2a2ddfecae0efb7f4")
(revision "1"))
(package
(inherit emacs-ace-link)
(name "emacs-ace-link-2021-01-1")
(version (git-version "0.5.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/abo-abo/ace-link")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1i243wfwrbxn00sh96248lpqfb7cvxqqwlc78nf8kim4ymylpp41")))))))
(define-public emacs-ace-mc
(let ((commit "6877880efd99e177e4e9116a364576def3da391b")
(revision "1"))
(package
(name "emacs-ace-mc")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mm--/ace-mc")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"180licc7w5b6f42ifwvllbnmf3aq8cbr8jhkbk37lzick4sv10d2"))))
(build-system emacs-build-system)
(propagated-inputs `(("emacs-dash" ,emacs-dash)
("emacs-multiple-cursors" ,emacs-multiple-cursors)
("emacs-ace-jump-mode" ,emacs-ace-jump-mode)))
(home-page "https://github.com/mm--/ace-mc")
(synopsis "Easily add and remove multiple cursors using ace jump mode")
(description
"Easily add and remove multiple cursors using ace jump mode.")
(license license:gpl3+))))
(define-public emacs-org-roam-ui
(let ((commit "5ac74960231db0bf7783c2ba7a19a60f582e91ab")
(revision "4"))
(package
(name "emacs-org-roam-ui")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/org-roam/org-roam-ui")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0yic5rgp4f1rmi979if79kva7wn3rqnky423mqgf7sdw310h8akl"))))
(build-system emacs-build-system)
(inputs `(("emacs" ,emacs)))
(propagated-inputs `(("emacs-dash" ,emacs-dash)
("emacs-simple-httpd" ,emacs-simple-httpd)
("emacs-f" ,emacs-f)
("emacs-websocket" ,emacs-websocket)
("emacs-org" ,emacs-org)
("emacs-org-roam" ,emacs-org-roam)))
(arguments
`(#:include (cons "out/" %default-include)
;; TODO: this really should be done as part of either the emacs-org package, or as part of another separate package
#:phases (modify-phases %standard-phases
(add-after 'build 'install-application
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(emacs (assoc-ref inputs "emacs"))
(xapplications (string-append out
"/share/applications")))
(mkdir-p xapplications)
(make-desktop-entry-file (string-append
xapplications
"/org-protocol.desktop")
#:name "Org-Protocol"
#:exec (format #f "~a/bin/emacsclient %u" emacs)
#:icon "emacs-icon"
#:comment
"Protocol which allows interaction between org-roam-server in emacs and a web browser"
#:categories '("Application")
#:mime-type "x-scheme-handler/org-protocol") #t))))))
(home-page "https://github.com/org-roam/org-roam-ui")
(synopsis
"A graphical frontend for exploring your org-roam Zettelkasten")
(description
"A graphical frontend for exploring your org-roam Zettelkasten.")
(license license:gpl3+))))
(define-public emacs-mu4e-dashboard
(let ((commit "7956bf9631abfecdf4fbff168aa92064dc4886fb")
(revision "1"))
(package
(name "emacs-mu4e-dashboard")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rougier/mu4e-dashboard")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0fkbkdc269l4sbpvbnmqq02vl80dz80l3d2zq6ax6dwhlvxk2blp"))))
(build-system emacs-build-system)
(propagated-inputs `(("mu" ,mu)))
(home-page "https://github.com/rougier/mu4e-dashboard")
(synopsis
"Provides mu4e org-mode link type for building org powered dashboards")
(description
"Provides a new mu4e org link type that allows for mu4e queries from
org-mode. These links can then be organized to form a org-mode powered mu4e
dashboard!")
(license license:gpl3+))))
(define-public emacs-org-timeline
(package
(name "emacs-org-timeline")
(version "0.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Fuco1/org-timeline")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"106603835m3dy3bzjiasq2w574faxnn5kb72gr0y0mdkd0iwh8qa"))))
(build-system emacs-build-system)
(propagated-inputs `(("emacs-dash" ,emacs-dash)
("emacs-org" ,emacs-org)))
(home-page "https://github.com/Fuco1/org-timeline")
(synopsis "Add graphical view of agenda to agenda buffer")
(description "Add graphical view of agenda to agenda buffer.")
(license license:gpl3+)))
(define-public emacs-org-html-themes
(let ((commit "20f84182239a537f4c6b533eb65daa2d342428dd")
(revision "1"))
(package
(name "emacs-org-html-themes")
(version (git-version "1.2.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fniessen/org-html-themes")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1jzkfsq4i4w2cgnlaw8cxa0b33rf8gy82bkbvl52hzlzhp68krgv"))))
(build-system copy-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-after 'install 'hardcode-setup-file-paths
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(src (string-append out
"/var/org-themes/org-html-themes/src/")))
(for-each (lambda (setup-file)
(substitute* setup-file
(("src=\"src/")
(string-append "src=\"" src))
(("href=\"src/")
(string-append "href=\"" src))))
(find-files out "\\.setup$")) #t))))
#:install-plan
;; TODO: src contains a bunch of minified javascript, which blocks
;; this package from being merged upstream until resolved
'(("src" "var/org-themes/org-html-themes/src")
("org/" "var/org-themes/org-html-themes"
#:include-regexp ("-local\\.setup$")))))
(home-page "https://github.com/fniessen/org-html-themes")
(synopsis "Set of org html export themes")
(description "Export Org mode files into awesome HTML in 2 minutes.")
(license license:gpl3+))))
(define-public emacs-org-html-theme-darksun
(package
(name "emacs-org-html-theme-darksun")
(version "0.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alphapapa/org-html-theme-darksun")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0vncqab5ad6cbgqfq4qrf070q11858mvi0zhmji5ij2a233m3an6"))))
(build-system copy-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-after 'install 'hardcode-setup-file-paths
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(src (string-append out
"/var/org-themes/org-html-theme-darksun/export/")))
(for-each (lambda (setup-file)
(substitute* setup-file
(("src=\"export/")
(string-append "src=\"" src))
(("href=\"export/")
(string-append "href=\"" src))))
(find-files out "\\.setup$")) #t))))
#:install-plan
;; TODO: src contains a bunch of minified javascript, which blocks
;; this package from being merged upstream until resolved
'(("export/styles"
"var/org-themes/org-html-theme-darksun/export/styles")
("export/setup/" "var/org-themes/org-html-theme-darksun"
#:include-regexp ("-local\\.setup$")))))
(home-page "https://github.com/alphapapa/org-html-theme-darksun")
(synopsis "Solarized Dark version of the Bigblow Org HTML export theme")
(description
"Solarized Dark version of the Bigblow Org HTML export theme.")
(license license:gpl3+)))
;; TODO: send upstream
(define-public emacs-rcirc-notify
(let ((commit "841a7b5a6cdb0c11a812df924d2c6a7d364fd455")
(revision "1"))
(package
(name "emacs-rcirc-notify")
(version (git-version "20150219.2204" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nicferrier/rcirc-notify")
(commit commit)))
(sha256
(base32
"1k4knsrca626pikgaalqbqwy7im4wz1vrmzzhdrdb4lhdz6sq3q3"))))
(build-system emacs-build-system)
(home-page "https://github.com/nicferrier/rcirc-notify")
(synopsis "Provide libnotify popup notifications for rcirc")
(description
"This extension is inspired in part by @code{erc-page-me.el} and offers
the same functionality as it, but for rcirc.")
(license license:gpl2))))
(define-public emacs-flycheck-hledger
(package
(name "emacs-flycheck-hledger")
(version "0.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/DamienCassou/flycheck-hledger.git")
(commit (string-append "v" version))))
(sha256
(base32
"0q6b0vyd55x71kv4k7jp8xzgy5zf9md8mgy3y6pwmpga9dmv149j"))))
(build-system emacs-build-system)
(propagated-inputs `(("emacs-flycheck" ,emacs-flycheck)))
(home-page "https://github.com/DamienCassou/flycheck-hledger/")
(synopsis "Flycheck module to check hledger journals")
(description "This package is a flycheck checker for hledger files.")
(license license:gpl3)))
(define-public emacs-lsp-haskell
(package
(name "emacs-lsp-haskell")
(version "20220307.2312")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-lsp/lsp-haskell.git")
(commit "daa51072e1718ca075987901fccbbc2357bca1fc")))
(sha256
(base32
"0d2myk2906j0ngivca1yf4vdi8bfk5pz706nx279bf0pil7irdy0"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-lsp-mode))
(home-page "https://github.com/emacs-lsp/lsp-haskell")
(synopsis "Haskell support for lsp-mode")
(description "Haskell specific adapter for LSP mode")
(license license:gpl3)))
(define-public emacs-org-category-capture
(package
(name "emacs-org-category-capture")
(version "20220114.730")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/IvanMalison/org-projectile.git")
(commit "642b39c698db00bc535c1c2335f425fb9f4855a9")))
(sha256
(base32
"1pcfyrmbnsk39w4d6cs27bcyihics3gll515fslnl5kqbaj9qn09"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-org))
(arguments
'(#:include '("^org-category-capture.el$")
#:exclude '()))
(home-page "https://github.com/IvanMalison/org-projectile")
(synopsis "Contextualy capture of org-mode TODOs.")
(description
"This package provides an interface that can be used to capture TODOs with a
category that is selected depending on a some piece of Emacs context.")
(license license:gpl3)))
(define-public emacs-org-projectile
(package
(name "emacs-org-projectile")
(version "20220114.730")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/IvanMalison/org-projectile.git")
(commit "642b39c698db00bc535c1c2335f425fb9f4855a9")))
(sha256
(base32
"1pcfyrmbnsk39w4d6cs27bcyihics3gll515fslnl5kqbaj9qn09"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-projectile emacs-dash emacs-s
emacs-org-category-capture))
(arguments
'(#:include '("^org-projectile.el$")
#:exclude '()))
(home-page "https://github.com/IvanMalison/org-projectile")
(synopsis "Repository todo management for org-mode")
(description
"This package aims to provide an easy interface to creating per project org-mode
TODO headings.")
(license license:gpl3)))
(define-public emacs-org-projectile-helm
(package
(name "emacs-org-projectile-helm")
(version "20180601.1822")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/IvanMalison/org-projectile.git")
(commit "642b39c698db00bc535c1c2335f425fb9f4855a9")))
(sha256
(base32
"1pcfyrmbnsk39w4d6cs27bcyihics3gll515fslnl5kqbaj9qn09"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-org-projectile emacs-helm emacs-helm-org))
(arguments
'(#:include '("^org-projectile-helm.el$")
#:exclude '()))
(home-page "https://github.com/IvanMalison/org-projectile")
(synopsis "helm functions for org-projectile")
(description
"This package aims to provide an easy interface to creating per project org-mode
TODO headings.")
(license license:gpl3)))
(define-public emacs-vc-fossil
(package
(name "emacs-vc-fossil")
(version "20230504.1626")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/venks1/emacs-fossil.git")
(commit "4a4a3e4df83ba2f1ea8bfd8aa7e9f9b2c1c32ca9")))
(sha256 (base32
"0djsi68v075zza6c9jgim3bf8zfjhi44mn350jxcs5yibph8n9ni"))))
(build-system emacs-build-system)
(home-page "https://tumbleweed.nu/r/vc-fossil/doc/tip/README.md")
(synopsis
"VC backend for the fossil sofware configuraiton management system")
(description
"This file contains a VC backend for the fossil version control system.")
(license license:gpl3+)))
(define-public emacs-org-hyperscheduler
(package
(name "emacs-org-hyperscheduler")
(version "20220704.2140")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dmitrym0/org-hyperscheduler.git")
(commit "ac352bad65ac247b6cce192bcbb6799668ffc244")))
(sha256 (base32
"1nyk9z3w4hzbmyl3c9l353ybxwi0svlrnarrs95012pidv70h9wf"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-websocket emacs-log4e))
(arguments '(#:include '("^[^/]+.el$" "^[^/]+.el.in$"
"^calendar/"
"^[^/]+.info$"
"^[^/]+.texi$"
"^[^/]+.texinfo$"
"^doc/dir$"
"^doc/[^/]+.info$"
"^doc/[^/]+.texi$"
"^doc/[^/]+.texinfo$")
#:exclude '("^.dir-locals.el$" "^test.el$" "^tests.el$"
"^[^/]+-test.el$" "^[^/]+-tests.el$")))
(home-page "https://github.com/dmitrym0/org-hyperscheduler")
(synopsis "UI (web) representation of org-agenda")
(description "Shows your org-mode agenda in a web-based calendar view.")
(license license:gpl3+)))
(define-public emacs-listen
(package
(name "emacs-listen")
(version "0.9")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/listen-" version
".tar"))
(sha256
(base32 "1g1sv8fs8vl93fah7liaqzgwvc4b1chasx5151ayizz4q2qgwwbp"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-persist emacs-taxy emacs-taxy-magit-section
emacs-transient vlc))
(home-page "https://github.com/alphapapa/listen.el")
(synopsis "Audio/Music player")
(description
"Audio/music player for Emacs.")
(license license:gpl3+)))

View File

@ -1,279 +0,0 @@
;;; Copyright © 2020 Collin J. Doering <collin@rekahsoft.ca>
;;;
;;; This file is part of the GNU Guix channel rekahsoft-guix
;;;
;;; The rekahsoft-guix channel for GNU Guix is free software; you can
;;; redistribute it and/or modify it under the terms of the GNU General Public
;;; License as published by the Free Software Foundation; either version 3 of
;;; the License, or (at your option) any later version.
;;;
;;; The rekahsoft-guix channel for GNU Guix is distributed in the hope that it
;;; will be useful, but WITHOUT ANY WARRANTY; without even the implied
;;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License along
;;; with the rekahsoft-guix channel for GNU Guix. If not, see
;;; <http://www.gnu.org/licenses/>.
(define-module (rekahsoft-gnu packages golang)
#:use-module ((guix licenses)
#:prefix license:)
#:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix build-system go)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages gcc)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-web)
#:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pcre)
#:use-module (gnu packages glib)
#:use-module (gnu packages password-utils)
#:use-module (gnu packages lua)
#:use-module (gnu packages mp3)
#:use-module (gnu packages tmux)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
(define-public go-github-com-mitchellh-gox
(package
(name "go-gox")
(version "1.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mitchellh/gox")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0mkh81hd7kn45dz7b6yhzqsg2mvg1g6pwx89jjigxrnqhyg9vrl7"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/mitchellh/gox"
#:phases (modify-phases %standard-phases
(delete 'check))))
(synopsis "Dead simple, no frills Go cross compile tool")
(description
"Gox is a simple, no-frills tool for Go cross compilation that behaves a
lot like standard go build. Gox will parallelize builds for multiple
platforms. Gox will also build the cross-compilation toolchain for you.")
(home-page "https://github.com/mitchellh/gox")
(license license:mpl2.0)))
(define-public go-github-com-androiddnsfix
(package
(name "go-androiddnsfix")
(version "ff02804463540c36e3a148dcf4b009d003cf2a31")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mtibben/androiddnsfix")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1pcbjs793kd0yg3dcp79agfxm7xm3sldx2r7v66ipzpcq0j2npi2"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/mtibben/androiddnsfix"
#:phases %standard-phases))
(synopsis "Hack to get around the issues building on android")
(description
"Hack around the issues in https://github.com/golang/go/issues/8877.")
(home-page "https://github.com/mtibben/androiddnsfix")
(license license:expat)))
(define-public go-github-com-aws-aws-sdk-go
(package
(name "go-aws-sdk-go")
(version "1.36.18")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aws/aws-sdk-go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"169mkkw1cff1px6326krwvfpfj07sb4y5rbn003gi4bk176h6ry9"))))
(build-system go-build-system)
(native-inputs `(("go-github-com-jmespath-go-jmespath" ,go-github-com-jmespath-go-jmespath)))
(arguments
'(#:import-path "github.com/aws/aws-sdk-go"
#:phases %standard-phases))
(synopsis
"aws-sdk-go is the official AWS SDK for the Go programming language")
(description
"aws-sdk-go is the official AWS SDK for the Go programming language.")
(home-page "https://github.com/aws/aws-sdk-go")
(license license:asl2.0)))
(define-public go-github-com-darthsim-overmind-v2
(package
(name "overmind")
(version "2.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/DarthSim/overmind")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"00dk6pnq3b53xac7kakm5fmzbw0qg152mm5m8zfvnkbmsp5176vj"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/DarthSim/overmind"
#:install-source? #f))
(propagated-inputs `(("go-golang-org-x-sys" ,go-golang-org-x-sys)
("go-github-com-russross-blackfriday-v2" ,go-github-com-russross-blackfriday-v2)
("go-github-com-kardianos-osext" ,go-github-com-kardianos-osext)
("go-github-com-cpuguy83-go-md2man-v2" ,go-github-com-cpuguy83-go-md2man-v2)
("go-golang-org-x-term" ,go-golang-org-x-term)
("go-github-com-urfave-cli" ,go-github-com-urfave-cli)
("go-github-com-sevlyar-go-daemon" ,go-github-com-sevlyar-go-daemon)
("go-github-com-matoous-go-nanoid" ,go-github-com-matoous-go-nanoid)
("go-github-com-darthsim-godotenv" ,go-github-com-darthsim-godotenv)
("which" ,which) ; used to locate tmux
("tmux" ,tmux)))
(home-page "https://github.com/DarthSim/overmind")
(synopsis "Overmind, a process manager for Procfile-based applications")
(description
"Overmind is a process manager for Procfile-based applications and
@@url{https://tmux.github.io/,tmux}. With Overmind, you can easily run several
processes from your @@code{Procfile} in a single terminal.")
(license license:expat)))
(define-public go-github-com-darthsim-godotenv
(package
(name "go-github-com-darthsim-godotenv")
(version "1.3.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/DarthSim/godotenv")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0fb9nl5qrnv7f9w0pgg00ak34afw9kjgcql0l38z22faz2bhgl1q"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/DarthSim/godotenv"))
(home-page "https://github.com/DarthSim/godotenv")
(synopsis "GoDotEnv")
(description
"Package godotenv is a go port of the ruby dotenv library
(@@url{https://github.com/bkeepers/dotenv,https://github.com/bkeepers/dotenv})")
(license license:expat)))
(define-public go-github-com-matoous-go-nanoid
(package
(name "go-github-com-matoous-go-nanoid")
(version "1.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/matoous/go-nanoid")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0srq4qa9my72ry8d27khjr9326cmahxil0n25v9g4dcn3ib0jf45"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/matoous/go-nanoid"))
(home-page "https://github.com/matoous/go-nanoid")
(synopsis "Go Nanoid")
(description
"This package is Go implementation of @@url{https://github.com/ai,ai's}
@@url{https://github.com/ai/nanoid,nanoid}!")
(license license:expat)))
(define-public go-github-com-cpuguy83-go-md2man-v2
(package
(name "go-github-com-cpuguy83-go-md2man-v2")
(version "2.0.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cpuguy83/go-md2man")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"19qri18cinpzxblkid6ngz2vcxslv73s1aid900q0gfzvc71mqqb"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/cpuguy83/go-md2man/v2"))
(propagated-inputs `(("go-github-com-russross-blackfriday-v2" ,go-github-com-russross-blackfriday-v2)))
(home-page "https://github.com/cpuguy83/go-md2man")
(synopsis "go-md2man")
(description "Converts markdown into roff (man pages).")
(license license:expat)))
(define-public go-github-com-russross-blackfriday-v2
(package
(name "go-github-com-russross-blackfriday-v2")
(version "2.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/russross/blackfriday")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0d1rg1drrfmabilqjjayklsz5d0n3hkf979sr3wsrw92bfbkivs7"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/russross/blackfriday/v2"))
(home-page "https://github.com/russross/blackfriday")
(synopsis "Blackfriday")
(description "Package blackfriday is a markdown processor.")
(license license:bsd-2)))
;; TODO: this package is not yet complete, but was accidentally
;; committed. Commenting it out until it is completed.
;;
;; (define-public yq
;; (package
;; (name "yq")
;; (version "4.16.1")
;; (source
;; (origin
;; (method git-fetch)
;; (uri (git-reference
;; (url "https://github.com/mikefarah/yq")
;; (commit (string-append "v" version))))
;; (file-name (git-file-name name version))
;; (sha256
;; (base32 "1in11959lxnab01hkbirrjiim4ww8rgzgnj9dfg7wk3dk5zzr3g2"))))
;; (build-system go-build-system)
;; (native-inputs
;; `(("go-github-com-imdario-mergo" ,go-github-com-imdario-mergo)
;; ("go-github-com-op-go-logging" ,go-github-com-op-go-logging)
;; ("go-github-com-spf13-cobra" ,go-github-com-spf13-cobra)
;; ("go-gopkg-in-yaml-v2" ,go-gopkg-in-yaml-v2)
;; ;; TODO: Missing dependencies
;; ))
;; (arguments '(#:import-path "github.com/mikefarah/yq"
;; #:install-source? #f))
;; (home-page "https://github.com/mikefarah/yq")
;; (synopsis "yq")
;; (description "a lightweight and portable command-line YAML processor")
;; (license license:expat)))

View File

@ -1,249 +0,0 @@
;; (C) Copyright Collin J. Doering 2021
;;
;; This program is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;; File: haskell-apps.scm
;; Author: Collin J. Doering <collin.doering@rekahsoft.ca>
;; Date: Dec 22, 2021
(define-module (rekahsoft-gnu packages haskell-apps)
#:use-module ((guix licenses)
#:prefix license:)
#:use-module (gnu packages)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system haskell)
#:use-module (gnu packages haskell-web)
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages haskell-check)
#:use-module (gnu packages version-control)
#:use-module (gnu packages finance)
#:use-module (rekahsoft-gnu packages haskell-web))
(define-public ghc-bimap
(package
(name "ghc-bimap")
(version "0.5.0")
(source (origin
(method url-fetch)
(uri (hackage-uri "bimap" version))
(sha256
(base32
"158cdwk9jwklcfgbn62dqq255i40w13ifggsdps87sxc5q7lpd5h"))))
(build-system haskell-build-system)
(native-inputs (list ghc-quickcheck))
(inputs (list ghc-exceptions))
(home-page "https://github.com/joelwilliamson/bimap")
(synopsis "Bidirectional mapping between two key types")
(description
"This package provides a data structure representing a bidirectional mapping
between two key types. Each value in the bimap is associated with exactly one
value of the opposite type.")
(license license:bsd-3)))
(define-public ghc-vty
(package
(name "ghc-vty")
(version "5.38")
(source (origin
(method url-fetch)
(uri (hackage-uri "vty" version))
(sha256
(base32
"18s84rrc1dhm5j8c24r8lgk8hjdrwsdjgf6hilqcdm90dx6jz0al"))))
(build-system haskell-build-system)
(inputs (list ghc-blaze-builder
ghc-microlens
ghc-microlens-mtl
ghc-microlens-th
ghc-utf8-string
ghc-vector
ghc-ansi-terminal))
(home-page "https://github.com/jtdaugherty/vty")
(synopsis "A simple terminal UI library")
(description
"vty is terminal GUI library in the niche of ncurses. It is intended to be easy to use and to
provide good support for common terminal types. . See the @@vty-examples@@ package as well as
the program @@examples/interactive_terminal_test.hs@@ included in the @@vty@@ repository for
examples on how to use the library. Import the @@Graphics.Vty@@ convenience module to get
access to the core parts of the library.")
(license license:bsd-3)))
(define-public ghc-brick
(package
(name "ghc-brick")
(version "1.4")
(source (origin
(method url-fetch)
(uri (hackage-uri "brick" version))
(sha256
(base32
"12gwwqq38x0k6hjcn72dpcdwi0lrvyy8gxmp884h22l73xa4vda6"))))
(build-system haskell-build-system)
(inputs (list ghc-vty
ghc-bimap
ghc-data-clist
ghc-microlens
ghc-microlens-th
ghc-microlens-mtl
ghc-config-ini
ghc-vector
ghc-contravariant
ghc-text-zipper
ghc-word-wrap
ghc-random))
(native-inputs (list ghc-quickcheck))
(home-page "https://github.com/jtdaugherty/brick/")
(synopsis "A declarative terminal user interface library")
(description
"Write terminal user interfaces (TUIs) painlessly with brick'! You write an event handler and
a drawing function and the library does the rest. To get started, see:
<https://github.com/jtdaugherty/brick/blob/master/README.md The README>. The
<https://github.com/jtdaugherty/brick/blob/master/docs/guide.rst Brick user guide>.")
(license license:bsd-3)))
(define-public hledger-ui
(package
(name "hledger-ui")
(version "1.27.1")
(source (origin
(method url-fetch)
(uri (hackage-uri "hledger-ui" version))
(sha256
(base32
"1srzlz0mdcp0259k0vsc8xkisd9l59s30j1k1x9bnsn179n8bi22"))))
(build-system haskell-build-system)
(inputs (list ghc-ansi-terminal
ghc-async
ghc-breakpoint
ghc-brick ;note: fails to compile with brick@{1.5,1.6}
ghc-cmdargs
ghc-data-default
ghc-doclayout
ghc-extra
ghc-fsnotify
ghc-hledger
ghc-hledger-lib
ghc-megaparsec
ghc-microlens
ghc-microlens-platform
ghc-safe
ghc-split
ghc-text-zipper
ghc-vector
ghc-vty))
(home-page "http://hledger.org")
(synopsis
"Curses-style terminal interface for the hledger accounting system")
(description
"This package provides a simple curses-style terminal user interface for the
hledger accounting system. It can be a more convenient way to browse your
accounts than the CLI. This package currently does not support Microsoft
Windows, except in WSL. . hledger is a robust, cross-platform set of tools for
tracking money, time, or any other commodity, using double-entry accounting and
a simple, editable file format, with command-line, terminal and web interfaces.
It is a Haskell rewrite of Ledger, and one of the leading implementations of
Plain Text Accounting. Read more at: <https://hledger.org>")
(license license:gpl3)))
(define-public ghc-js-dgtable
(package
(name "ghc-js-dgtable")
(version "0.5.2")
(source (origin
(method url-fetch)
(uri (hackage-uri "js-dgtable" version))
(sha256
(base32
"1b10kx703kbkb5q1ggdpqcrxqjb33kh24khk21rb30w0xrdxd3g2"))))
(build-system haskell-build-system)
(home-page "https://github.com/ndmitchell/js-dgtable#readme")
(synopsis "Obtain minified jquery.dgtable code")
(description
"This package bundles the minified <https://github.com/danielgindi/jquery.dgtable
jquery.dgtable> code into a Haskell package, so it can be depended upon by Cabal
packages. The first three components of the version number match the upstream
jquery.dgtable version. The package is designed to meet the redistribution
requirements of downstream users (e.g. Debian).")
(license license:expat)))
(define-public ghc-heaps
(package
(name "ghc-heaps")
(version "0.4")
(source (origin
(method url-fetch)
(uri (hackage-uri "heaps" version))
(sha256
(base32
"1zbw0qrlnhb42v04phzwmizbpwg21wnpl7p4fbr9xsasp7w9scl9"))))
(build-system haskell-build-system)
(home-page "http://github.com/ekmett/heaps/")
(synopsis "Asymptotically optimal Brodal/Okasaki heaps.")
(description
"Asymptotically optimal Brodal\\/Okasaki bootstrapped skew-binomial heaps from the
paper <http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.48.973 \"Optimal
Purely Functional Priority Queues\">, extended with a 'Foldable' interface.")
(license license:bsd-3)))
;; TODO: this package cannot go upstream until tests can be run correctly
(define-public ghc-shake
(package
(name "ghc-shake")
(version "0.19.6")
(source (origin
(method url-fetch)
(uri (hackage-uri "shake" version))
(sha256
(base32
"0hnm3h1ni4jq73a7b7yxhbg9wm8mrjda5kmkpnmclynnpwvvi7bx"))))
(build-system haskell-build-system)
(inputs (list ghc-extra
ghc-filepattern
ghc-hashable
ghc-heaps
ghc-js-dgtable
ghc-js-flot
ghc-js-jquery
ghc-primitive
ghc-random
ghc-unordered-containers
ghc-utf8-string
ghc-semigroups))
(native-inputs (list ghc-quickcheck))
;; fixme: tests currently fail. Current guess: /bin/sh is used to run
;; commands (in 'src/Development/Shake/Command.hs#L164') which is somehow
;; related to the issue?
(arguments
`(#:tests? #f))
(home-page "https://shakebuild.com")
(synopsis
"Build system library, like Make, but more accurate dependencies.")
(description
"Shake is a Haskell library for writing build systems - designed as a replacement
for @make@. See \"Development.Shake\" for an introduction, including an example.
The homepage contains links to a user manual, an academic paper and further
information: <https://shakebuild.com> . To use Shake the user writes a Haskell
program that imports \"Development.Shake\", defines some build rules, and calls
the 'Development.Shake.shakeArgs' function. Thanks to do notation and infix
operators, a simple Shake build system is not too dissimilar from a simple
Makefile. However, as build systems get more complex, Shake is able to take
advantage of the excellent abstraction facilities offered by Haskell and easily
support much larger projects. The Shake library provides all the standard
features available in other build systems, including automatic parallelism and
minimal rebuilds. Shake also provides more accurate dependency tracking,
including seamless support for generated files, and dependencies on system
information (e.g. compiler version).")
(license license:bsd-3)))

View File

@ -1,129 +0,0 @@
;; (C) Copyright Collin J. Doering 2021
;;
;; This program is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;; File: haskell-web.scm
;; Author: Collin J. Doering <collin.doering@rekahsoft.ca>
;; Date: Nov 24, 2021
(define-module (rekahsoft-gnu packages haskell-web)
#:use-module ((guix licenses)
#:prefix license:)
#:use-module (gnu packages)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system haskell)
#:use-module (gnu packages linux)
#:use-module (gnu packages haskell-web)
#:use-module (gnu packages haskell-apps)
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages haskell-crypto)
#:use-module (gnu packages haskell-check))
(define-public ghc-lrucache
(package
(name "ghc-lrucache")
(version "1.2.0.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://hackage.haskell.org/package/lrucache/lrucache-"
version ".tar.gz"))
(sha256
(base32
"11avhnjnb89rvn2s41jhh5r40zgp7r6kb5c0hcfiibpabqvv46pw"))))
(build-system haskell-build-system)
(inputs `(("ghc-contravariant" ,ghc-contravariant)))
(home-page "http://github.com/chowells79/lrucache")
(synopsis "a simple, pure LRU cache")
(description
"This package contains a simple, pure LRU cache, implemented in terms of \"Data.Map\". . It also contains a mutable IO wrapper providing atomic updates to an LRU cache.")
(license license:bsd-3)))
(define-public ghc-hakyll
(package
(name "ghc-hakyll")
(version "4.15.1.1")
(source (origin
(method url-fetch)
(uri (hackage-uri "hakyll" version))
(sha256
(base32
"0b3bw275q1xbx8qs9a6gzzs3c9z3qdj7skqhpp09jkchi5kdvhvi"))))
(build-system haskell-build-system)
(inputs (list ghc-aeson
ghc-blaze-html
ghc-blaze-markup
ghc-data-default
ghc-file-embed
ghc-hashable
ghc-lifted-async
ghc-lrucache
ghc-network-uri
ghc-optparse-applicative
ghc-random
ghc-regex-tdfa
ghc-resourcet
ghc-scientific
ghc-tagsoup
ghc-time-locale-compat
ghc-unordered-containers
ghc-vector
ghc-yaml
ghc-wai
ghc-warp
ghc-wai-app-static
ghc-http-types
ghc-fsnotify
ghc-http-conduit
ghc-pandoc))
(native-inputs (list ghc-quickcheck ghc-tasty ghc-tasty-golden
ghc-tasty-hunit ghc-tasty-quickcheck util-linux))
(arguments
`(#:cabal-revision ("9"
"11zdqxmmykw2nbd8isc638cj03vrz8nkicyv35sn7jdw2p690ybh")))
(home-page "http://jaspervdj.be/hakyll")
(synopsis "A static website compiler library")
(description
"Hakyll is a static website compiler library. It provides you with the tools to create a simple or advanced static website using a Haskell DSL and formats such as markdown or RST. You can find more information, including a tutorial, on the website: . * <http://jaspervdj.be/hakyll> . If you seek assistance, there's: . * A google group: <http://groups.google.com/group/hakyll> . * An IRC channel, @#hakyll@ on irc.libera.chat (we *do not* have a channel on Freenode anymore) . Additionally, there's the Haddock documentation in the different modules, meant as a reference.")
(license license:bsd-3)))
(define-public ghc-clay
;; Temporarily use tip-of-master as 0.14.0 requires older versions of ghc
(let ((commit "0504045fd7a3e6eb19fec2eac92fb3e81daf84aa")
(revision "1"))
(package
(name "ghc-clay")
(version (git-version "0.14.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sebastiaanvisser/clay")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0f9kl7iqh70nl0lwvpb1mh4r2i1y8x7waaxfqzl7lma84aivkfzd"))))
(build-system haskell-build-system)
(native-inputs (list ghc-hspec ghc-hspec-discover))
(home-page "http://fvisser.nl/clay")
(synopsis "CSS preprocessor as embedded Haskell.")
(description
"Clay is a CSS preprocessor like LESS and Sass, but implemented as an embedded
domain specific language (EDSL) in Haskell. This means that all CSS selectors
and style rules are first class Haskell functions, which makes reuse and
composability easy. . The project is described on <http://fvisser.nl/clay>. .
The API documentation can be found in the top level module \"Clay\".")
(license license:bsd-3))))

View File

@ -1,16 +0,0 @@
diff --git a/command/init.go b/command/init.go
index 403ca245b..05d98329a 100644
--- a/command/init.go
+++ b/command/init.go
@@ -64,6 +64,11 @@ func (c *InitCommand) Run(args []string) int {
return 1
}
+ val, ok := os.LookupEnv("GUIX_TERRAFORM_PLUGIN_DIR")
+ if ok {
+ flagPluginPath = append(flagPluginPath, val)
+ }
+
if len(flagPluginPath) > 0 {
c.pluginPath = flagPluginPath
c.getPlugins = false

View File

@ -1,516 +0,0 @@
;; (C) Copyright Collin J. Doering 2022
;;
;; This program is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;; File: perl.scm
;; Author: Collin J. Doering <collin.doering@rekahsoft.ca>
;; Date: Jan 16, 2022
(define-module (rekahsoft-gnu packages perl)
#:use-module (srfi srfi-1)
#:use-module ((guix licenses)
#:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (gnu packages version-control)
#:use-module (gnu packages admin)
#:use-module (gnu packages web)
#:use-module (gnu packages tls)
#:use-module (gnu packages networking)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages perl-compression)
#:use-module (gnu packages tcl)
#:use-module (guix build-system perl)
#:use-module (guix build-system gnu))
(define-public perl-ntlm
(package
(name "perl-ntlm")
(version "1.09")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/N/NB/NBEBOUT/NTLM-" version
".tar.gz"))
(sha256
(base32
"118z2n9qhjalfj7l9hhpjppyxdg2c34h4hsqdriibg3nv86f68y8"))))
(build-system perl-build-system)
(propagated-inputs `(("perl-digest-hmac" ,perl-digest-hmac)))
(home-page "https://metacpan.org/release/NTLM")
(synopsis "An NTLM authentication module")
(description "An NTLM authentication module.")
(license license:perl-license)))
(define-public perl-encode-imaputf7
(package
(name "perl-encode-imaputf7")
(version "1.05")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/P/PM/PMAKHOLM/Encode-IMAPUTF7-"
version ".tar.gz"))
(sha256
(base32
"1q9pgjckjxz0qfwaqmzm1dh1y09819vi6vf1sglcz0vlqgfha0s7"))))
(build-system perl-build-system)
(propagated-inputs `(("perl-test-nowarnings" ,perl-test-nowarnings)))
(home-page "https://metacpan.org/release/Encode-IMAPUTF7")
(synopsis "Modification of UTF-7 encoding for IMAP")
(description "Modification of UTF-7 encoding for IMAP")
(license #f)))
(define-public perl-file-tail
(package
(name "perl-file-tail")
(version "1.3")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/M/MG/MGRABNAR/File-Tail-"
version ".tar.gz"))
(sha256
(base32
"1ixg6kn4h330xfw3xgvqcbzfc3v2wlzjim9803jflhvfhf0rzl16"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/File-Tail")
(synopsis "Perl extension for reading from continously updated files")
(description "Perl extension for reading from continously updated files.")
(license license:perl-license)))
(define-public perl-io-socket-ssl
(package
(name "perl-io-socket-ssl")
(version "2.073")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/S/SU/SULLR/IO-Socket-SSL-"
version ".tar.gz"))
(sha256
(base32
"1j2prw40s3m3i41q3nnbdjw8kz8y992y5ki1ca0smcbwz56v7h5j"))))
(build-system perl-build-system)
(native-inputs `(("perl-net-ssleay" ,perl-net-ssleay)))
(propagated-inputs `(("perl-mozilla-ca" ,perl-mozilla-ca)
("perl-net-ssleay" ,perl-net-ssleay)))
(home-page "https://metacpan.org/release/IO-Socket-SSL")
(synopsis "Nearly transparent SSL encapsulation for IO::Socket::INET.")
(description "Nearly transparent SSL encapsulation for IO::Socket::INET.")
(license license:perl-license)))
(define-public perl-io-tee
(package
(name "perl-io-tee")
(version "0.66")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/N/NE/NEILB/IO-Tee-" version
".tar.gz"))
(sha256
(base32
"1q2jhp02rywrbyhvl2lv6qp70dcv5cfalrx3cc4c7y8nclhfg71d"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/IO-Tee")
(synopsis "Multiplex output to multiple output handles")
(description "Multiplex output to multiple output handles")
(license license:perl-license)))
(define-public perl-json-webtoken
(package
(name "perl-json-webtoken")
(version "0.10")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/X/XA/XAICRON/JSON-WebToken-"
version ".tar.gz"))
(sha256
(base32
"12r40z7j8gs1p6wqn4k9f3k97p5lngaliidgh96p3w98hnlq5hbp"))))
(build-system perl-build-system)
(native-inputs `(("perl-module-build" ,perl-module-build)
("perl-test-mock-guard" ,perl-test-mock-guard)
("perl-test-requires" ,perl-test-requires)))
(propagated-inputs `(("perl-json" ,perl-json)
("perl-module-runtime" ,perl-module-runtime)))
(home-page "https://metacpan.org/release/JSON-WebToken")
(synopsis "JSON Web Token (JWT) implementation")
(description "JSON Web Token (JWT) implementation")
(license license:perl-license)))
(define-public perl-mail-imapclient
(package
(name "perl-mail-imapclient")
(version "3.43")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/P/PL/PLOBBES/Mail-IMAPClient-"
version ".tar.gz"))
(sha256
(base32
"0vxl3xfr9fr844nhjx5br1yggavpycnyydi99pzahisvq7x9fg09"))))
(build-system perl-build-system)
(propagated-inputs `(("perl-parse-recdescent" ,perl-parse-recdescent)))
(home-page "https://metacpan.org/release/Mail-IMAPClient")
(synopsis "IMAP4 client library")
(description "IMAP4 client library.")
(license license:perl-license)))
(define-public perl-getopt-argvfile
(package
(name "perl-getopt-argvfile")
(version "1.11")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/J/JS/JSTENZEL/Getopt-ArgvFile-"
version ".tar.gz"))
(sha256
(base32
"08jvhfqcjlsn013x96qa6paif0095x6y60jslp8p3zg67i8sl29p"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/Getopt-ArgvFile")
(synopsis
"Interpolates script options from files into @ARGV or another array")
(description
"Interpolates script options from files into @ARGV or another array.")
(license #f)))
(define-public perl-module-signature
(package
(name "perl-module-signature")
(version "0.88")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/A/AU/AUDREYT/Module-Signature-"
version ".tar.gz"))
(sha256
(base32
"14i6yg7z4shsmzzdjzamcyjxpci8jxr0z336a3iy7n9plmss2z3p"))))
(build-system perl-build-system)
(native-inputs (list perl-ipc-run gnupg))
(home-page "https://metacpan.org/release/Module-Signature")
(synopsis "Module signature file manipulation")
(description "Module signature file manipulation.")
(license #f)))
(define-public perl-par
(package
(name "perl-par")
(version "1.017")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RS/RSCHUPP/PAR-"
version ".tar.gz"))
(sha256
(base32
"0l4nfab7sh7452wgfnn0gdlh8pnrlnvim8njrfgkhk3miqjmnzf3"))))
(build-system perl-build-system)
(propagated-inputs `(("perl-archive-zip" ,perl-archive-zip)
("perl-par-dist" ,perl-par-dist)))
(home-page "https://metacpan.org/release/PAR")
(synopsis "Perl Archive Toolkit")
(description "Perl Archive Toolkit.")
(license license:perl-license)))
(define-public perl-tk-canvas-gradientcolor
(package
(name "perl-tk-canvas-gradientcolor")
(version "1.06")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/D/DJ/DJIBEL/Tk-Canvas-GradientColor-"
version ".tar.gz"))
(sha256
(base32
"07nw0xm30kb6mxjxgla2m28npnmrxz46xmvi9n2rhr5fv99jfymj"))))
(build-system perl-build-system)
(native-inputs `(("perl-module-build" ,perl-module-build)
("perl-tk" ,perl-tk)))
(home-page "https://metacpan.org/release/Tk-Canvas-GradientColor")
(synopsis "To create a Canvas widget with background gradient color")
(description "To create a Canvas widget with background gradient color.")
(license license:perl-license)))
(define-public perl-tk-coloredbutton
(package
(name "perl-tk-coloredbutton")
(version "1.05")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/D/DJ/DJIBEL/Tk-ColoredButton-"
version ".tar.gz"))
(sha256
(base32
"0hngxviz5jbqchicjdqgby2ibwgr1glyimf88bfmbwk0i4x7h5zj"))))
(build-system perl-build-system)
(native-inputs (list perl-module-build perl-tk
perl-tk-canvas-gradientcolor))
(home-page "https://metacpan.org/release/Tk-ColoredButton")
(synopsis "Button widget with background gradient color")
(description "Button widget with background gradient color.")
(license license:perl-license)))
(define-public perl-tk-entrycheck
(package
(name "perl-tk-entrycheck")
(version "0.04")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/S/ST/STRAT/Tk-EntryCheck-"
version ".tar.gz"))
(sha256
(base32
"0phx2ppgf8flcv7ap2zx705glz97mnc0cyp0pfibbwqlj3a4hcg8"))))
(build-system perl-build-system)
;; (native-inputs (list perl-tk)) ; TODO: needed for tests, but tests fail to open display :0 (depend on xorg)
(arguments
`(#:tests? #f))
(home-page "https://metacpan.org/release/Tk-EntryCheck")
(synopsis
"Interface to Tk::Entry for controlling its maximum length and content in an easy way")
(description
"Interface to Tk::Entry for controlling its maximum length and content in an easy way.")
(license license:perl-license)))
(define-public perl-tk-fontdialog
(package
(name "perl-tk-fontdialog")
(version "0.18")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/S/SR/SREZIC/Tk-FontDialog-"
version ".tar.gz"))
(sha256
(base32
"0ck3h2ssiisbk46l66shzpj7n06pjilx8h007appz2ry46vyh03w"))))
(build-system perl-build-system)
(propagated-inputs `(("perl-tk" ,perl-tk)))
(home-page "https://metacpan.org/release/Tk-FontDialog")
(synopsis "A font dialog widget for perl/Tk")
(description "A font dialog widget for perl/Tk.")
(license #f)))
(define-public perl-tk-getopt
(package
(name "perl-tk-getopt")
(version "0.51")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/S/SR/SREZIC/Tk-Getopt-" version
".tar.gz"))
(sha256
(base32
"0b7kln2614a9sycbbfjj23vpfn3r5rbshi0571wbcrmkjjpm90kg"))))
(build-system perl-build-system)
(propagated-inputs (list perl-tk perl-tk-fontdialog))
(home-page "https://metacpan.org/release/Tk-Getopt")
(synopsis
"User configuration window for Tk with interface to Getopt::Long")
(description
"User configuration window for Tk with interface to Getopt::Long.")
(license license:perl-license)))
(define-public perl-par-packer
(package
(name "perl-par-packer")
(version "1.052")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/R/RS/RSCHUPP/PAR-Packer-"
version ".tar.gz"))
(sha256
(base32
"16il9sgcnjg9w07grwrxagvk30bfn0hhrqa9f5z606k7yhvdbypz"))))
(build-system perl-build-system)
(native-inputs (list perl-ipc-run3))
(propagated-inputs (list perl-archive-zip
perl-getopt-argvfile
perl-module-scandeps
perl-module-signature
perl-par
perl-par-dist
perl-tk
perl-tk-coloredbutton
perl-tk-entrycheck
perl-tk-getopt))
(home-page "https://metacpan.org/release/PAR-Packer")
(synopsis "PAR Packager")
(description "PAR Packager.")
(license license:perl-license)))
(define-public perl-sys-meminfo
(package
(name "perl-sys-meminfo")
(version "0.99")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/S/SC/SCRESTO/Sys-MemInfo-"
version ".tar.gz"))
(sha256
(base32
"0fryrzj06wk2kxg4swsj9xqhn53yy55j8fbrf9fsx2rs7afk31h7"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/Sys-MemInfo")
(synopsis "Query the total free and used physical memory")
(description "Query the total free and used physical memory.")
(license #f)))
(define-public perl-test-mock-guard
(package
(name "perl-test-mock-guard")
(version "0.10")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/X/XA/XAICRON/Test-Mock-Guard-"
version ".tar.gz"))
(sha256
(base32
"0gdx1nahk5sgg5ns1v1m50di4wshx09hl244lwmbkknnz1iql8kz"))))
(build-system perl-build-system)
(native-inputs `(("perl-module-build" ,perl-module-build)))
(propagated-inputs `(("perl-class-load" ,perl-class-load)))
(home-page "https://metacpan.org/release/Test-Mock-Guard")
(synopsis "Simple mock test library using RAII")
(description "Simple mock test library using RAII.")
(license license:perl-license)))
(define-public perl-unicode-string
(package
(name "perl-unicode-string")
(version "2.10")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/G/GA/GAAS/GAAS/Unicode-String-"
version ".tar.gz"))
(sha256
(base32
"0s4vp8k7ag7z9lsnnkpa9mnch83kxhp9gh7yiapld5a7rq712jl9"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/Unicode-String")
(synopsis "String of Unicode characters (UTF-16BE)")
(description "String of Unicode characters (UTF-16BE).")
(license #f)))
(define-public perl-app-cpanminus
(package
(name "perl-app-cpanminus")
(version "1.7044")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/M/MI/MIYAGAWA/App-cpanminus-"
version ".tar.gz"))
(sha256
(base32
"1ww11x87b6z14yc3xk1sqajqjcx6c28g24rzkmxfylh7wizpcq4v"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/App-cpanminus")
(synopsis "Get, unpack, build and install modules from CPAN")
(description "Get, unpack, build and install modules from CPAN.")
(license license:perl-license)))
(define-public imapsync
(package
(name "imapsync")
(version "2.140")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/imapsync/imapsync")
(commit (string-append "imapsync-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1k4rf582c3434yxj9brsjz0awakd84xwikghyq0h54darqwfm23j"))))
(build-system gnu-build-system)
(native-inputs (list inetutils perl))
;; TODO: these should be normal inputs, but currently the executable produced is not wrapped, so it fails to load the required libs
(propagated-inputs (list perl-cgi
perl-app-cpanminus
perl-crypt-openssl-rsa
perl-data-uniqid
perl-digest-hmac
perl-dist-checkconflicts
perl-encode
perl-encode-imaputf7
perl-file-copy-recursive
perl-file-tail
perl-io-socket-inet6
perl-io-socket-ssl
perl-io-tee
perl-json
perl-json-webtoken
perl-libwww
perl-mail-imapclient
perl-module-implementation
perl-module-scandeps
perl-net-ssleay
perl-ntlm
perl-package-stash
perl-par-packer
perl-parse-recdescent
perl-readonly
perl-regexp-common
perl-sys-meminfo
perl-term-readkey
perl-test-deep
perl-test-fatal
perl-test-mock-guard
perl-test-mockobject
perl-test-pod
perl-test-requires
perl-unicode-string
perl-uri
perl-try-tiny))
(arguments
`(#:phases (modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(invoke "make") #t)))
(delete 'check)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(mkdir-p "./W") ;make install fails unless a W directory exists
(invoke "make" "install" "PREFIX=/"
(string-append "DESTDIR=" out)) #t))))))
(synopsis "Imapsync is an IMAP transfers tool")
(description
"Imapsync is an IMAP transfers tool. The purpose of imapsync is to
migrate IMAP accounts or to backup IMAP accounts. IMAP is one of the three
current standard protocols to access mailboxes, the two others are POP3 and HTTP
with webmails, webmails are often tied to an IMAP server.")
(home-page "https://imapsync.lamiral.info/")
(license license:public-domain)))

View File

@ -1,525 +0,0 @@
;;; Copyright © 2020 Collin J. Doering <collin@rekahsoft.ca>
;;;
;;; This file is part of the GNU Guix channel rekahsoft-guix
;;;
;;; The rekahsoft-guix channel for GNU Guix is free software; you can
;;; redistribute it and/or modify it under the terms of the GNU General Public
;;; License as published by the Free Software Foundation; either version 3 of
;;; the License, or (at your option) any later version.
;;;
;;; The rekahsoft-guix channel for GNU Guix is distributed in the hope that it
;;; will be useful, but WITHOUT ANY WARRANTY; without even the implied
;;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License along
;;; with the rekahsoft-guix channel for GNU Guix. If not, see
;;; <http://www.gnu.org/licenses/>.
(define-module (rekahsoft-gnu packages python-xyz)
#:use-module ((guix licenses)
#:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages commencement)
#:use-module (gnu packages glib)
#:use-module (gnu packages groff)
#:use-module (gnu packages libffi)
#:use-module (gnu packages maths)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
#:use-module (gnu packages xml)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (srfi srfi-1))
;; TODO: Candidate for upstream
(define-public python-virtualenv-clone
(package
(name "python-virtualenv-clone")
(version "0.5.7")
(source (origin
(method url-fetch)
(uri (pypi-uri "virtualenv-clone" version))
(sha256
(base32
"06jhhf8hndcgyk9k3bjbk3vz1xpajfxj9667agqzhlk1qcsyk3j1"))))
(build-system python-build-system)
;; (native-inputs
;; `(("python-pytest" ,python-pytest)
;; ("python-tox" ,python-tox)
;; ("python-virtualenv" ,python-virtualenv)))
(arguments
;; FIXME: Tests currently fail
`(#:tests? #f))
(home-page "https://github.com/edwardgeorge/virtualenv-clone")
(synopsis "Script to clone virtualenvs.")
(description "Script to clone virtualenvs.")
(license license:expat)))
;; TODO: Candidate for upstream
(define-public python-arpeggio
(package
(name "python-arpeggio")
(version "1.9.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "Arpeggio" version))
(sha256
(base32
"0aq2pmhfyq7vhbhyq8jgxiphncy1s79rmrsggz4p52m4cdhy134l"))))
(build-system python-build-system)
(native-inputs `(("python-pytest" ,python-pytest)
("python-pytest-runner" ,python-pytest-runner)))
(arguments
;; FIXME: Tests currently fail
`(#:tests? #f))
(home-page "https://github.com/textX/Arpeggio")
(synopsis "Packrat parser interpreter")
(description "Packrat parser interpreter")
(license license:expat)))
;; TODO: Candidate for upstream
(define-public python-parver
(package
(name "python-parver")
(version "0.3.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "parver" version))
(sha256
(base32
"0a6jp17c1ag6b9yp5xgy9wvznk3g0v2f8gpwkcwxpyc9ygk98zdm"))))
(build-system python-build-system)
(native-inputs `(("python-six" ,python-six)
("python-attrs" ,python-attrs)
("python-arpeggio" ,python-arpeggio)
("python-pytest" ,python-pytest)
("python-hypothesis" ,python-hypothesis)
("python-pretend" ,python-pretend)))
(home-page "https://github.com/RazerM/parver")
(synopsis "Parse and manipulate version numbers")
(description "Parse and manipulate version numbers.")
(license license:expat)))
(define-public python-bs4
(package
(name "python-bs4")
(version "0.0.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "bs4" version))
(sha256
(base32
"0fnxhql23ql6q5n64xjknx3sc3fm4vgpbw0z99p0qp6cswgymv1n"))))
(build-system python-build-system)
(propagated-inputs (list python-beautifulsoup4))
(home-page "https://pypi.python.org/pypi/beautifulsoup4")
(synopsis "Dummy package for Beautiful Soup")
(description "Dummy package for Beautiful Soup")
(license #f)))
(define-public python-towncrier
(package
(name "python-towncrier")
(version "21.3.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "towncrier" version))
(sha256
(base32
"1znxavwsiy6czirjn0qi1p5yarnm7gg692nb0309hb6p4k4hpvbf"))))
(build-system python-build-system)
(propagated-inputs (list python-click python-click-default-group
python-incremental python-jinja2 python-toml))
(native-inputs (list python-packaging))
(home-page "https://github.com/hawkowl/towncrier")
(synopsis "Building newsfiles for your project.")
(description "Building newsfiles for your project.")
(license license:expat)))
;; TODO: Candidate for upstream
(define-public python-pipenv
(package
(name "python-pipenv")
(version "2022.1.8")
(source (origin
(method url-fetch)
(uri (pypi-uri "pipenv" version))
(sha256
(base32
"1l4zabd1q5aggjhp4v906l8z8g6q37bcgyxqq8man8lv4ccp2kgq"))))
(build-system python-build-system)
(propagated-inputs (list python-certifi python-pip python-setuptools
python-virtualenv python-virtualenv-clone))
(native-inputs (list python-black
python-bs4
python-flake8
python-flaky
python-invoke
python-mock
python-parver
python-pytest
python-pytest-timeout
python-pytest-xdist
python-sphinx
python-towncrier
python-twine))
(arguments
;; FIXME: Tests fail with: "TypeError: don't know how to make test from: 2022.1.8"
'(#:tests? #f))
(home-page "https://github.com/pypa/pipenv")
(synopsis "Python Development Workflow for Humans.")
(description "Python Development Workflow for Humans.")
(license license:expat)))
;; TODO: Candidate for upstream; upstream has version 4.0.2;
(define-public python-ujson
(package
(name "python-ujson")
(version "2.0.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "ujson" version))
(sha256
(base32
"18z9gb9ggy1r464b9q1gqs078mqgrkj6dys5a47529rqk3yfybdx"))
(modules '((guix build utils)))
(snippet '(begin
(delete-file-recursively "deps") #t))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-after 'unpack 'link-to-system-double-conversion
(lambda* (#:key inputs #:allow-other-keys)
(let ((d-c (assoc-ref inputs "double-conversion")))
(substitute* "setup.py"
(("./deps/double-conversion/double-conversion\"")
(string-append d-c "/include/double-conversion\""))
(("-lstdc++" stdc)
(string-append "-L"
d-c
"/lib\","
" \"-ldouble-conversion\","
" \""
stdc))) #t)))
(replace 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(invoke "pytest"))))))
(native-inputs `(("double-conversion" ,double-conversion)
("python-setuptools-scm" ,python-setuptools-scm)
("python-pytest" ,python-pytest)))
(home-page "https://github.com/ultrajson/ultrajson")
(synopsis "Ultra fast JSON encoder and decoder for Python")
(description
"UltraJSON is an ultra fast JSON encoder and decoder written in pure C with
bindings for Python 3.")
(license license:bsd-3)))
;; python-prompt-toolkit-2 was removed upstream from guix's channel; added here as awscliv2 depends on it
;; awscliv2 depends on 'prompt-toolkit<3.0.29,>=3.0.24', however upstream 3.0.29 is packaged
(define-public python-prompt-toolkit-3.0.28
(package/inherit python-prompt-toolkit
(name "python-prompt-toolkit")
(version "3.0.28")
(source (origin
(method url-fetch)
(uri (pypi-uri "prompt_toolkit" version))
(sha256 (base32
"0l0nnm9fvs8lklk2qq8mylb9jrlxvlqzpmqr4n7rdhl63rmx274z"))))))
;; awscliv2 is a little bit of a packaging mess. They vendor multiple modified
;; forks of software also maintained by the same company. Namely:
;;
;; - botocore@2.0.0dev155 and some of its dependencies:
;; - python-six@1.10.0
;; - Fragments (exceptions only) were extracted from:
;; - requests
;; - urllib3
;; - s3transfer@0.5.1
;;
;; botocore@2.0.0dev155 is incompatable with the same upstream version. For example:
;; https://github.com/aws/aws-cli/blob/2.15.4/awscli/botocore/httpchecksum.py
;; does not exist upstream (see: https://github.com/boto/botocore/tree/7083e5c204e139dc41f646e0ad85286b5e7c0c23/botocore)
(define-public awscliv2
(package
(name "awscliv2")
(version "2.15.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aws/aws-cli")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"02lq4zxnksx1ab8lyzbyl1lay884xbrxp77rbhn5mrfib9mqmvs0"))))
(native-inputs (list python-distro-1.5
python-docutils-0.15
python-awscrt-0.19.18
python-flit-core
python-prompt-toolkit-3.0.28
python-ruamel.yaml
python-cryptography
python-botocore-2.0.0dev155))
(inputs
(list groff
python-colorama-for-awscli
python-docutils-0.15
python-pyyaml
python-rsa))
(build-system pyproject-build-system)
(arguments
`(#:build-backend "backends.pep517"
#:phases (modify-phases %standard-phases
(add-after 'unpack 'use-cryptography-v41
(lambda _
(substitute* '("pyproject.toml")
(("cryptography>=3.3.2,<40.0.2") "cryptography>=3.3.2"))))
(add-after 'unpack 'fix-reference-to-groff
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "awscli/help.py"
(("if not self._exists_on_path\\('groff'\\):") "")
(("raise ExecutableNotFoundError\\('groff'\\)") "")
(("cmdline = \\['groff'")
(string-append "cmdline = ['"
(search-input-file inputs "bin/groff")
"'")))))
(add-after 'install 'install-completions
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bash-completion (string-append out
"/share/bash-completion/completions"))
(zsh-site-functions (string-append out
"/share/zsh/site-functions")))
(mkdir-p bash-completion)
(call-with-output-file (string-append bash-completion
"/aws")
(lambda (port)
(format port
(string-join (list "complete" "-C"
(string-append out
"/bin/aws_completer")
"aws")))))
(mkdir-p zsh-site-functions)
(rename-file (string-append out
"/bin/aws_zsh_completer.sh")
(string-append zsh-site-functions "/_aws"))
#t))))
;; FIXME: Tests currently fail
#:tests? #f))
(home-page "https://aws.amazon.com/cli/")
(synopsis "Command line client for AWS v2")
(description "AWS CLI provides a unified command line interface to the
Amazon Web Services (AWS) API.")
(license license:asl2.0)))
(define-public python-jmespath-0.10
(package
(inherit python-jmespath)
(version "0.10.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "jmespath" version))
(sha256
(base32
"1yflbqggg1z9ndw9ps771hy36d07j9l2wwbj66lljqb6p1khapdq"))))))
(define-public python-distro-1.5
(package
(inherit python-distro)
(version "1.5.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "distro" version))
(sha256
(base32
"14nz51cqlnxmgfqqilxyvjwwa5xfivdvlm0d0b1qzgcgwdm7an0f"))))))
(define-public python-awscrt
(package
(name "python-awscrt")
(version "0.12.4")
(source (origin
(method url-fetch)
(uri (pypi-uri "awscrt" version))
(sha256
(base32
"1cmfkcv2zzirxsb989vx1hvna9nv24pghcvypl0zaxsjphv97mka"))))
(build-system python-build-system)
(arguments
'(#:tests? #f))
(native-inputs `(,cmake ,gcc-toolchain-10))
; (propagated-inputs `(("python-boto3" ,python-boto3)))
(home-page "https://github.com/awslabs/aws-crt-python")
(synopsis "Common runtime for AWS Python projects")
(description "Common runtime for AWS Python projects")
(license license:asl2.0)))
(define-public python-awscrt-0.19.18
(package
(name "python-awscrt")
(version "0.19.18")
(source (origin
(method url-fetch)
(uri (pypi-uri "awscrt" version))
(sha256
(base32
"17f8j3n9zsywad48pnq1mz6r9i9y7jdcaliy7zm85q5yivynw2rm"))))
(build-system pyproject-build-system)
(arguments
'(#:tests? #f))
(native-inputs `(,cmake))
; (propagated-inputs `(("python-boto3" ,python-boto3)))
(home-page "https://github.com/awslabs/aws-crt-python")
(synopsis "Common runtime for AWS Python projects")
(description "Common runtime for AWS Python projects")
(license license:asl2.0)))
(define-public python-botocore-2.0.0dev155
(let ((commit "7083e5c204e139dc41f646e0ad85286b5e7c0c23")
(revision "2"))
(package
(inherit python-botocore)
(name "python-botocore")
(version "2.0.0dev155")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/boto/botocore")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0lr98h80fgs6kplv52y92pcf1ba4041zq26wdfsfjkg84py9q83a"))))
(propagated-inputs `(("python-awscrt" ,python-awscrt)
("python-jmespath" ,python-jmespath-0.10)
("python-urllib3" ,python-urllib3)
("python-dateutil" ,python-dateutil)
,@(package-propagated-inputs python-awscrt))))))
(define-public python-htmlark
(package
(name "python-htmlark")
(version "1.0.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "HTMLArk" version))
(sha256
(base32
"0qg2vwnlqhdhxxkji3l6ls4ycsrjmhvjizsa7hw08373f69mj68v"))))
(build-system python-build-system)
(propagated-inputs `(("python-beautifulsoup4" ,python-beautifulsoup4)
("python-lxml" ,python-lxml)
("python-html5lib" ,python-html5lib)
("python-requests" ,python-requests)))
(home-page "https://github.com/BitLooter/htmlark")
(synopsis "Pack a webpage including support files into a single HTML file")
(description
"Pack a webpage including support files into a single HTML file.")
(license license:expat)))
(define-public python-ofxhome
(package
(name "python-ofxhome")
(version "0.3.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "ofxhome" version))
(sha256
(base32
"1rpyfqr2q9pnin47rjd4qapl8ngk1m9jx36iqckhdhr8s8gla445"))))
(build-system python-build-system)
(arguments
`( ;TODO: tests currently fail due to missing test file:
;; FileNotFoundError: [Errno 2] No such file or directory: '/tmp/guix-build-python-ofxhome-0.3.3.drv-0/ofxhome-0.3.3/ofxhome/tests/testfiles/jpmorgan.xml'
#:tests? #f))
(home-page "https://github.com/captin411/ofxhome")
(synopsis "ofxhome.com financial institution lookup REST client")
(description "ofxhome.com financial institution lookup REST client")
(license license:expat)))
;; Can be removed (only used by python-ofxclient, but is not actually needed
;; once upstream changes (https://issues.guix.gnu.org/54768) are merged
(define-public python-argparse
(package
(name "python-argparse")
(version "1.4.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "argparse" version))
(sha256
(base32
"1r6nznp64j68ih1k537wms7h57nvppq0szmwsaf99n71bfjqkc32"))))
(build-system python-build-system)
(home-page "https://github.com/ThomasWaldmann/argparse/")
(synopsis "Python command-line parsing library")
(description "Python command-line parsing library")
(license license:psfl)))
;; Sent upstream: https://issues.guix.gnu.org/54768
(define-public python-ofxclient
(package
(name "python-ofxclient")
(version "2.0.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "ofxclient" version))
(sha256
(base32
"0jdhqsbl34yn3n0x6mwsnl58c25v5lp6vr910c2hk7l74l5y7538"))))
(build-system python-build-system)
(propagated-inputs `(("python-beautifulsoup4" ,python-beautifulsoup4)
("python-keyring" ,python-keyring)
("python-lxml" ,python-lxml)
("python-ofxhome" ,python-ofxhome)
("python-ofxparse" ,python-ofxparse)
("python-argparse" ,python-argparse)))
(home-page "https://github.com/captin411/ofxclient")
(synopsis "OFX client for dowloading transactions from banks")
(description "OFX client for dowloading transactions from banks")
(license license:expat)))
;; Sent upstream: https://issues.guix.gnu.org/54768
(define-public ledger-autosync
(package
(name "ledger-autosync")
(version "1.0.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "ledger-autosync" version))
(sha256
(base32
"0i4942qbsphq72zx7kd3rgw25rpq4fg4vl43akkl189wzcrgwv6j"))))
(build-system python-build-system)
(inputs (list python-ofxclient python-ofxparse))
(home-page "https://gitlab.com/egh/ledger-autosync")
(synopsis "Automatically sync your bank's data with ledger")
(description "Automatically sync your bank's data with ledger")
(license license:gpl3)))
(define-public python-pyyaml-5
(package
(inherit python-pyyaml)
(version "5.4.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "PyYAML" version))
(sha256
(base32
"0pm440pmpvgv5rbbnm8hk4qga5a292kvlm1bh3x2nwr8pb5p8xv0"))))))

View File

@ -1,154 +0,0 @@
;;; Copyright © 2020 Collin J. Doering <collin@rekahsoft.ca>
;;;
;;; This file is part of the GNU Guix channel rekahsoft-guix
;;;
;;; The rekahsoft-guix channel for GNU Guix is free software; you can
;;; redistribute it and/or modify it under the terms of the GNU General Public
;;; License as published by the Free Software Foundation; either version 3 of
;;; the License, or (at your option) any later version.
;;;
;;; The rekahsoft-guix channel for GNU Guix is distributed in the hope that it
;;; will be useful, but WITHOUT ANY WARRANTY; without even the implied
;;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License along
;;; with the rekahsoft-guix channel for GNU Guix. If not, see
;;; <http://www.gnu.org/licenses/>.
(define-module (rekahsoft-gnu packages shellutils)
#:use-module ((guix licenses)
#:prefix license:)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system python)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gawk)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby)
#:use-module (gnu packages shells)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tmux)
#:use-module (rekahsoft-gnu packages golang))
;; TODO: merge with upstream, adding missing functionality that is captured in this package (zsh keybindings)
(define-public fzf
(package
(name "fzf")
(version "0.29.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/junegunn/fzf")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0hyxydrk057pcaqqfbbi0a4zrfxgx7688rm466a7ambl3vsrdscv"))))
(build-system go-build-system)
(native-inputs `(("github.com/mattn/go-isatty" ,go-github-com-mattn-go-isatty)
("github.com/mattn/go-runewidth" ,go-github-com-mattn-go-runewidth)
("github.com/mattn/go-shellwords" ,go-github-com-mattn-go-shellwords)
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
("go-golang-org-x-sys" ,go-golang-org-x-sys)
("go-github-com-saracen-walker" ,go-github-com-saracen-walker)
("go-golang.org-x-sync-errgroup" ,go-golang.org-x-sync-errgroup)
("go-github-com-rivo-uniseg" ,go-github-com-rivo-uniseg)
("go-golang-org-x-term" ,go-golang-org-x-term)))
(propagated-inputs `(("tmux" ,tmux)
("perl" ,perl)))
(arguments
`(#:import-path "github.com/junegunn/fzf"
#:install-source? #f
#:phases (modify-phases %standard-phases
(add-before 'build 'setup-env
(lambda _
(setenv "FZF_VERSION"
,version)
(setenv "FZF_REVISION"
,version)))
(replace 'build
(lambda _
(with-directory-excursion "src/github.com/junegunn/fzf"
(invoke "make"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/share"))
(with-directory-excursion "src/github.com/junegunn/fzf"
(invoke "make" "install")
(copy-recursively "bin"
(string-append out "/bin"))
(copy-recursively "man"
(string-append out "/share/man"))
(copy-recursively "shell"
(string-append out "/share/fzf")))))))))
(synopsis "Command line fuzzy finder")
(description
"@command{fzf} is a general purpose command line fuzzy finder. It's an
interactive uniz filter for command-line that can be used with any lists;
files, command history, processes, hostnames, bookmarks, git commits, etc..")
(home-page "https://github.com/junegunn/fzf")
(license license:expat)))
;; TODO: Candidate for upstream
(define-public spaceship-prompt
(package
(name "spaceship-prompt")
(version "4.15.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/denysdovhan/spaceship-prompt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0fndp1kvp7wayw2hmkx9j0pl3d850gcnl232fxy13r10504rj9j0"))))
(build-system gnu-build-system)
(propagated-inputs
`(("sed" ,sed)
("gawk" ,gawk)))
(arguments
`(#:phases (modify-phases %standard-phases
(delete 'configure)
(delete 'build)
(delete 'check)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(func-path (string-append out
"/share/zsh/site-functions"))
(install-path (string-append out
"/lib/spaceship-prompt")))
(for-each mkdir-p
`(,func-path ,install-path))
(for-each (lambda (dir)
(copy-recursively dir
(string-append
install-path "/" dir)))
'("lib" "sections"))
(for-each (lambda (f l)
(copy-file f (string-append install-path "/" f))
(symlink (string-append install-path "/" f)
(string-append func-path "/" l)))
'("spaceship.zsh" "async.zsh") '("prompt_spaceship_setup" "async"))))))))
(synopsis "Zsh prompt for Astronauts")
(description
"Spaceship is a minimalistic, powerful and extremely customizable
Zsh prompt. It combines everything you may need for convenient work,
without unecessary complications, like a real spaceship.")
(home-page "https://github.com/denysdovhan/spaceship-prompt")
(license license:expat)))

View File

@ -1,824 +0,0 @@
;;; Copyright © 2020 Collin J. Doering <collin@rekahsoft.ca>
;;;
;;; This file is part of the GNU Guix channel rekahsoft-guix
;;;
;;; The rekahsoft-guix channel for GNU Guix is free software; you can
;;; redistribute it and/or modify it under the terms of the GNU General Public
;;; License as published by the Free Software Foundation; either version 3 of
;;; the License, or (at your option) any later version.
;;;
;;; The rekahsoft-guix channel for GNU Guix is distributed in the hope that it
;;; will be useful, but WITHOUT ANY WARRANTY; without even the implied
;;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License along
;;; with the rekahsoft-guix channel for GNU Guix. If not, see
;;; <http://www.gnu.org/licenses/>.
(define-module (rekahsoft-gnu packages terraform)
#:use-module ((guix licenses)
#:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages golang)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system go)
#:use-module (guix build-system trivial)
#:use-module (rekahsoft-gnu packages golang)
#:use-module (rekahsoft-gnu utils))
;; TODO: Uses vendored dependencies
(define-public terraform-0.13
(package
(name "terraform")
(version "0.13.7")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hashicorp/terraform")
(commit (string-append "v" version))))
(patches (search-rekahsoft-gnu-patches
"terraform-provider-path.patch"))
(file-name (git-file-name name version))
(sha256
(base32
"0a4f32g6irmjnfqa8p0ydnlk1hk2749ifp4r7dalxl4687qzxz17"))))
(build-system go-build-system)
(native-inputs `(("go-gox" ,go-github-com-mitchellh-gox)))
(native-search-paths
(list (search-path-specification
(variable "SSL_CERT_DIR")
(separator #f) ;single entry
(files '("etc/ssl/certs")))
(search-path-specification
(variable "SSL_CERT_FILE")
(file-type 'regular)
(separator #f) ;single entry
(files '("etc/ssl/certs/ca-certificates.crt")))
(search-path-specification
(variable "GUIX_TERRAFORM_PLUGIN_DIR")
(separator #f) ;single entry
(files '("libexec/terraform")))))
(arguments
`(#:import-path "github.com/hashicorp/terraform"
#:install-source? #f
#:modules ((guix build go-build-system)
(guix build utils)
(srfi srfi-1))
#:phases (modify-phases %standard-phases
(replace 'build
(lambda _
(with-directory-excursion "src/github.com/hashicorp/terraform"
(setenv "TF_RELEASE" "")
(setenv "XC_OS" "linux")
(setenv "XC_ARCH"
(let ((system ,(or (%current-target-system)
(%current-system))))
(cond
((string-prefix? "x86_64" system)
"amd64")
((string-prefix? "i686" system)
"386")
(else ""))))
(invoke "./scripts/build.sh"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(version (last (string-split out #\-)))
(components (string-split version #\.))
(major+minor (take components 2))
(executable (string-append "terraform-"
(string-join
major+minor "."))))
(with-directory-excursion "src/github.com/hashicorp/terraform/bin"
(rename-file "terraform" executable)
(install-file executable bin) #t)))))))
(synopsis
"Safely and predictably create, change, and improve infrastructure")
(description
"Terraform is a tool for building, changing, and versioning
infrastructure safely and efficiently. Terraform can manage existing and
popular service providers as well as custom in-house solutions.")
(home-page "https://github.com/hashicorp/terraform")
(license license:mpl2.0)))
(define-public terraform-0.12
(package/inherit terraform-0.13
(name "terraform")
(version "0.12.31")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/hashicorp/terraform")
(commit (string-append "v" version))))
(patches (search-rekahsoft-gnu-patches
"terraform-provider-path.patch"))
(file-name (git-file-name name version))
(sha256 (base32
"03p698xdbk5gj0f9v8v1fpd74zng3948dyy4f2hv7zgks9hid7fg"))))))
(define-public terraform-0.11
(package/inherit terraform-0.13
(name "terraform")
(version "0.11.15")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/hashicorp/terraform")
(commit (string-append "v" version))))
(patches (search-rekahsoft-gnu-patches
"terraform-provider-path.patch"))
(file-name (git-file-name name version))
(sha256 (base32
"15qs7zwz18cmp8xnkf9rwqmracy7va1n480apxiaijrgvai8sv8n"))))))
(define* (wrap-terraform terraform
#:optional (name (string-append (package-name
terraform)
"-wrapper")))
(package/inherit terraform
(name name)
(source #f)
(build-system trivial-build-system)
(outputs '("out"))
(propagated-inputs `(("terraform" ,terraform)))
(arguments `(#:modules ((guix build utils)
(srfi srfi-1))
#:builder (begin
(use-modules (guix build utils)
(srfi srfi-1))
(let* ((out (assoc-ref %outputs
"out"))
(bin (string-append out
"/bin"))
(terraform (string-append (assoc-ref
%build-inputs
"terraform")
"/bin/"))
(version (last (string-split
out #\-)))
(components (string-split
version #\.))
(major+minor (take
components 2)))
(mkdir-p bin)
(symlink (string-append
terraform "terraform-"
(string-join
major+minor "."))
(string-append bin "/"
"terraform")) #t))))
(synopsis "Wrapper for terraform commands")
(description
"This package provides wrappers for the commands of Terraform@tie{}MAJOR.MINOR.x such
that they can be invoked under their usual name---e.g., @command{terraform}
instead of @command{terraform-MAJOR.MINOR}.")))
(define-public terraform-wrapper-0.13
(wrap-terraform terraform-0.13))
(define-public terraform-wrapper-0.12
(wrap-terraform terraform-0.12))
(define-public terraform-wrapper-0.11
(wrap-terraform terraform-0.11))
(define terraform-provider-phases
'(modify-phases %standard-phases
(add-after 'remove-go-references 'change-out
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(original-path (string-append out "/bin"))
(install-path (string-append out "/libexec/terraform")))
(mkdir-p install-path)
(copy-recursively original-path install-path)
(delete-file-recursively original-path))))))
(define (make-terraform-provider package)
(package/inherit package
(arguments (substitute-keyword-arguments (package-arguments
package)
((#:phases phases
'%standard-phases)
`(modify-phases ,phases
(delete 'change-out) ;Delete phase if it already exists
(add-after 'install 'change-out
(lambda* (#:key outputs
#:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(tf-provider-name ,(package-name
package))
(tf-provider-name+version (string-append
tf-provider-name
"_v"
,(package-version
package)))
(libexec (string-append out
"/libexec/terraform")))
(mkdir-p libexec)
(rename-file (string-append bin "/"
tf-provider-name)
(string-append libexec
"/"
tf-provider-name+version))
(delete-file-recursively bin))))))))))
(define-public terraform-provider-aws
(make-terraform-provider (package
(name "terraform-provider-aws")
(version "2.70.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-aws")
(commit (string-append "v"
version))))
(file-name (git-file-name name version))
(sha256
(base32
"1swmkyi8yv1rpkzn283lm9kqjyzscvjfzm8smn0sxcniwx7002js"))))
(build-system go-build-system)
(arguments
`(#:import-path
"github.com/terraform-providers/terraform-provider-aws"
#:install-source? #f))
(synopsis "@command{Terraform} AWS provider")
(description "Terraform AWS provider.")
(home-page
"https://github.com/terraform-providers/terraform-provider-aws")
(license license:mpl2.0))))
(define-public terraform-provider-template
(make-terraform-provider (package
(name "terraform-provider-template")
(version "2.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-template")
(commit (string-append "v"
version))))
(file-name (git-file-name name version))
(sha256
(base32
"12pn1i06jz4xl50md94yfdggg3pg5bv1viwf35izizm5rnyksyv2"))))
(build-system go-build-system)
(arguments
`(#:import-path
"github.com/terraform-providers/terraform-provider-template"
#:install-source? #f))
(synopsis "@command{Terraform} AWS provider")
(description "Terraform template provider.")
(home-page
"https://github.com/terraform-providers/terraform-provider-template")
(license license:mpl2.0))))
(define-public terraform-provider-google
(make-terraform-provider (package
(name "terraform-provider-google")
(version "2.8.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-google")
(commit (string-append "v"
version))))
(file-name (git-file-name name version))
(sha256
(base32
"1r4x7l20w8wb6a356vx71lra466p7hfww1jyv0bg7z1f015qs91l"))))
(build-system go-build-system)
(arguments
`(#:import-path
"github.com/terraform-providers/terraform-provider-google"
#:install-source? #f))
(synopsis
"Terraform Google Cloud Platform provider ")
(description
"Terraform Google Cloud Platform provider.")
(home-page
"https://github.com/terraform-providers/terraform-provider-google")
(license license:mpl2.0))))
(define-public terraform-provider-kubernetes
(make-terraform-provider (package
(name "terraform-provider-kubernetes")
(version "1.7.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-kubernetes")
(commit (string-append "v"
version))))
(file-name (git-file-name name version))
(sha256
(base32
"0fah2310hic2svjfya3051sv8sp5gwgrfc1y2ggdn66hjz0x6ir3"))))
(build-system go-build-system)
(arguments
`(#:import-path
"github.com/terraform-providers/terraform-provider-kubernetes"
#:install-source? #f))
(synopsis "Terraform Kubernetes provider ")
(description "Terraform Kubernetes provider.")
(home-page
"https://github.com/terraform-providers/terraform-provider-kubernetes")
(license license:mpl2.0))))
(define-public terraform-provider-azurerm
(make-terraform-provider (package
(name "terraform-provider-azurerm")
(version "1.30.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-azurerm")
(commit (string-append "v"
version))))
(file-name (git-file-name name version))
(sha256
(base32
"0zxvj6k1xs151dik8yhjl31r563dsc7iykv32g10w5szyigvxqfd"))))
(build-system go-build-system)
(arguments
`(#:import-path
"github.com/terraform-providers/terraform-provider-azurerm"
#:install-source? #f))
(synopsis
"Terraform Azure Resource Manager provider")
(description
"Terraform Azure Resource Manager provider.")
(home-page
"https://github.com/terraform-providers/terraform-provider-azurerm")
(license license:mpl2.0))))
(define-public terraform-provider-alicloud
(make-terraform-provider (package
(name "terraform-provider-alicloud")
(version "1.46.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-alicloud")
(commit (string-append "v"
version))))
(file-name (git-file-name name version))
(sha256
(base32
"0cndsc0k7mk5xmaakszbl680igxfvxzlcnrfr07qz6bk796p9sfp"))))
(build-system go-build-system)
(arguments
`(#:import-path
"github.com/terraform-providers/terraform-provider-alicloud"
#:install-source? #f))
(synopsis "Terraform Alicloud provider")
(description "Terraform Alicloud provider.")
(home-page
"https://github.com/terraform-providers/terraform-provider-alicloud")
(license license:mpl2.0))))
(define-public terraform-provider-vsphere
(make-terraform-provider (package
(name "terraform-provider-vsphere")
(version "1.11.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-vsphere")
(commit (string-append "v"
version))))
(file-name (git-file-name name version))
(sha256
(base32
"02qkm8n0z8v8xfjkvy5nkjc4p37xqp5xsds10b3b060vb5l6yfg4"))))
(build-system go-build-system)
(arguments
`(#:import-path
"github.com/terraform-providers/terraform-provider-vsphere"
#:install-source? #f))
(synopsis "Terraform Vsphere provider")
(description "Terraform Vsphere provider.")
(home-page
"https://github.com/terraform-providers/terraform-provider-vsphere")
(license license:mpl2.0))))
(define-public terraform-provider-cloudflare
(make-terraform-provider (package
(name "terraform-provider-cloudflare")
(version "1.15.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-cloudflare")
(commit (string-append "v"
version))))
(file-name (git-file-name name version))
(sha256
(base32
"0mb771dw5fw2s6jd63sybwza49axyj9967fl454m3sznhpl96y8z"))))
(build-system go-build-system)
(arguments
`(#:import-path
"github.com/terraform-providers/terraform-provider-cloudflare"
#:install-source? #f))
(synopsis "Terraform Cloudflare provider")
(description "Terraform Cloudflare provider.")
(home-page
"https://github.com/terraform-providers/terraform-provider-cloudflare")
(license license:mpl2.0))))
(define-public terraform-provider-vault
(make-terraform-provider (package
(name "terraform-provider-vault")
(version "1.9.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-vault")
(commit (string-append "v"
version))))
(file-name (git-file-name name version))
(sha256
(base32
"19ckfm89877s7jp8vssph9mdjr3srq4m6kc2zn2ky979775bi5lw"))))
(build-system go-build-system)
(arguments
`(#:import-path
"github.com/terraform-providers/terraform-provider-vault"
#:install-source? #f))
(synopsis "Terraform Vault provider")
(description "Terraform Vault provider.")
(home-page
"https://github.com/terraform-providers/terraform-provider-vault")
(license license:mpl2.0))))
(define-public terraform-provider-gitlab
(make-terraform-provider (package
(name "terraform-provider-gitlab")
(version "1.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-gitlab")
(commit (string-append "v"
version))))
(file-name (git-file-name name version))
(sha256
(base32
"11j84kyw2lsqsn6ya070hx0k6igb3hhjl8zlnr4q3gpmv51y23qc"))))
(build-system go-build-system)
(arguments
`(#:import-path
"github.com/terraform-providers/terraform-provider-gitlab"
#:install-source? #f))
(synopsis "Terraform Gitlab provider")
(description "Terraform Gitlab provider.")
(home-page
"https://github.com/terraform-providers/terraform-provider-gitlab")
(license license:mpl2.0))))
(define-public terraform-provider-github
(make-terraform-provider (package
(name "terraform-provider-github")
(version "2.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-github")
(commit (string-append "v"
version))))
(file-name (git-file-name name version))
(sha256
(base32
"05ca0vw6s7q40zcs50mr6k2swwx3a3njd4dxdz00qki58hgb87y6"))))
(build-system go-build-system)
(arguments
`(#:import-path
"github.com/terraform-providers/terraform-provider-github"
#:install-source? #f))
(synopsis "Terraform Github provider")
(description "Terraform Github provider.")
(home-page
"https://github.com/terraform-providers/terraform-provider-github")
(license license:mpl2.0))))
(define-public terraform-provider-digitalocean
(make-terraform-provider (package
(name "terraform-provider-digitalocean")
(version "1.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-digitalocean")
(commit (string-append "v"
version))))
(file-name (git-file-name name version))
(sha256
(base32
"1x55clpy3i2jrnmdwlya82vd3aiyvrzpx5y57xjs29x232cygw7r"))))
(build-system go-build-system)
(arguments
`(#:import-path
"github.com/terraform-providers/terraform-provider-digitalocean"
#:install-source? #f))
(synopsis "Terraform Digitalocean provider")
(description "Terraform Digitalocean provider.")
(home-page
"https://github.com/terraform-providers/terraform-provider-digitalocean")
(license license:mpl2.0))))
(define-public terraform-provider-helm
(make-terraform-provider (package
(name "terraform-provider-helm")
(version "0.9.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-helm")
(commit (string-append "v"
version))))
(file-name (git-file-name name version))
(sha256
(base32
"1bni05ski94w3ihhf0jp3mk8dzkbm9jlgv6xb23403ppcbgy7s9d"))))
(build-system go-build-system)
(arguments
`(#:import-path
"github.com/terraform-providers/terraform-provider-helm"
#:install-source? #f))
(synopsis "Terraform Helm provider")
(description "Terraform Helm provider.")
(home-page
"https://helm.com/terraform-providers/terraform-provider-helm")
(license license:mpl2.0))))
(define-public terraform-provider-linode
(make-terraform-provider (package
(name "terraform-provider-linode")
(version "1.6.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-linode")
(commit (string-append "v"
version))))
(file-name (git-file-name name version))
(sha256
(base32
"0i2x0jd26qanziihlc38s7rxiab66ld2s5gz18rrmrbwhcl95fwj"))))
(build-system go-build-system)
(arguments
`(#:import-path
"github.com/terraform-providers/terraform-provider-linode"
#:install-source? #f))
(synopsis "Terraform Linode provider")
(description "Terraform Linode provider.")
(home-page
"https://github.com/terraform-providers/terraform-provider-linode")
(license license:mpl2.0))))
(define-public terraform-provider-random
(make-terraform-provider (package
(name "terraform-provider-random")
(version "2.1.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-random")
(commit (string-append "v"
version))))
(file-name (git-file-name name version))
(sha256
(base32
"102bgd8s9yhm2ny2akv04mhwf5mphqhsxx9vxjbg7ygqnz9ka5nw"))))
(build-system go-build-system)
(arguments
`(#:import-path
"github.com/terraform-providers/terraform-provider-random"
#:install-source? #f))
(synopsis "Terraform random provider")
(description "Terraform Random provider.")
(home-page
"https://github.com/terraform-providers/terraform-provider-random")
(license license:mpl2.0))))
(define-public terraform-provider-null
(make-terraform-provider (package
(name "terraform-provider-null")
(version "3.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-null")
(commit (string-append "v"
version))))
(file-name (git-file-name name version))
(sha256
(base32
"0s6j2py9bb3knrn0f8aga8ypkxj6v5ns08k7zgw26h3wwdxwyd12"))))
(build-system go-build-system)
(arguments
`(#:import-path
"github.com/terraform-providers/terraform-provider-null"
#:install-source? #f))
(synopsis "Terraform null provider")
(description "Terraform null provider.")
(home-page
"https://github.com/terraform-providers/terraform-provider-null")
(license license:mpl2.0))))
(define-public terraform-provider-null-2.1
(make-terraform-provider (package/inherit terraform-provider-null
(name "terraform-provider-null")
(version "2.1.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-null")
(commit (string-append
"v"
version))))
(file-name (git-file-name
name version))
(sha256 (base32
"0di1hxmd3s80sz8hl5q2i425by8fbk15f0r4jmnm6vra0cq89jw2"))))
(description
"Terraform null provider. Supports terraform => 0.11."))))
(define-public terraform-provider-heroku
(make-terraform-provider (package
(name "terraform-provider-heroku")
(version "2.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-heroku")
(commit (string-append "v"
version))))
(file-name (git-file-name name version))
(sha256
(base32
"161pc6s4ifzi58cx32sdk9nan4kz6gn3mch1pnmp03f6390s2pcm"))))
(build-system go-build-system)
(arguments
`(#:import-path
"github.com/terraform-providers/terraform-provider-heroku"
#:install-source? #f))
(synopsis "Terraform heroku provider")
(description "Terraform Heroku provider.")
(home-page
"https://github.com/terraform-providers/terraform-provider-heroku")
(license license:mpl2.0))))
(define-public terraform-provider-nomad
(make-terraform-provider (package
(name "terraform-provider-nomad")
(version "1.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-nomad")
(commit (string-append "v"
version))))
(file-name (git-file-name name version))
(sha256
(base32
"04dh7gas6viny6bkx89fkwmxrw101b8bmw14m2mzfkxn70cl2na4"))))
(build-system go-build-system)
(arguments
`(#:import-path
"github.com/terraform-providers/terraform-provider-nomad"
#:install-source? #f))
(synopsis "Terraform nomad provider")
(description "Terraform Nomad provider.")
(home-page
"https://github.com/terraform-providers/terraform-provider-nomad")
(license license:mpl2.0))))
(define-public terraform-provider-postgresql
(make-terraform-provider (package
(name "terraform-provider-postgresql")
(version "0.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-postgresql")
(commit (string-append "v"
version))))
(file-name (git-file-name name version))
(sha256
(base32
"0fywq1vzm8fcd0jcvzx1n3jilrk0r6ylqz9r4dwsyc64iqvmrpps"))))
(build-system go-build-system)
(arguments
`(#:import-path
"github.com/terraform-providers/terraform-provider-postgresql"
#:install-source? #f))
(synopsis "Terraform postgresql provider")
(description "Terraform Postgresql provider.")
(home-page
"https://github.com/terraform-providers/terraform-provider-postgresql")
(license license:mpl2.0))))
(define-public terraform-provider-grafana
(make-terraform-provider (package
(name "terraform-provider-grafana")
(version "1.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-grafana")
(commit (string-append "v"
version))))
(file-name (git-file-name name version))
(sha256
(base32
"1y41yhp82phgw83frkgrjzpymsys2abvdwa1n905rz7i15ybasqc"))))
(build-system go-build-system)
(arguments
`(#:import-path
"github.com/terraform-providers/terraform-provider-grafana"
#:install-source? #f))
(synopsis "Terraform grafana provider")
(description "Terraform Grafana provider.")
(home-page
"https://github.com/terraform-providers/terraform-provider-grafana")
(license license:mpl2.0))))
(define-public terraform-provider-docker
(make-terraform-provider (package
(name "terraform-provider-docker")
(version "1.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-docker")
(commit (string-append "v"
version))))
(file-name (git-file-name name version))
(sha256
(base32
"1w69kjlrgy4397c9nz3llqsqcjzchwqw1ksw4wg34xnnq20pd4ql"))))
(build-system go-build-system)
(arguments
`(#:import-path
"github.com/terraform-providers/terraform-provider-docker"
#:install-source? #f))
(synopsis "Terraform docker provider")
(description "Terraform Docker provider.")
(home-page
"https://github.com/terraform-providers/terraform-provider-docker")
(license license:mpl2.0))))
(define-public terraform-provider-openstack
(make-terraform-provider (package
(name "terraform-provider-openstack")
(version "1.19.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/terraform-providers/terraform-provider-openstack")
(commit (string-append "v"
version))))
(file-name (git-file-name name version))
(sha256
(base32
"1y9b9h523zflq4z9cwjgfa0l92j4ac5pc1r6vja1aw3gg2ln80x9"))))
(build-system go-build-system)
(arguments
`(#:import-path
"github.com/terraform-providers/terraform-provider-openstack"
#:install-source? #f))
(synopsis "Terraform openstack provider")
(description "Terraform Openstack provider.")
(home-page
"https://github.com/terraform-providers/terraform-provider-openstack")
(license license:mpl2.0))))

View File

@ -1,105 +0,0 @@
;;; Copyright © 2023 Collin J. Doering <collin@rekahsoft.ca>
;;;
;;; This file is part of the GNU Guix channel rekahsoft-guix
;;;
;;; The rekahsoft-guix channel for GNU Guix is free software; you can
;;; redistribute it and/or modify it under the terms of the GNU General Public
;;; License as published by the Free Software Foundation; either version 3 of
;;; the License, or (at your option) any later version.
;;;
;;; The rekahsoft-guix channel for GNU Guix is distributed in the hope that it
;;; will be useful, but WITHOUT ANY WARRANTY; without even the implied
;;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License along
;;; with the rekahsoft-guix channel for GNU Guix. If not, see
;;; <http://www.gnu.org/licenses/>.
(define-module (rekahsoft-gnu services ceph)
#:use-module (gnu services configuration)
#:use-module (gnu packages storage)
#:use-module (guix packages)
#:use-module (ice-9 match)
#:use-module (gnu services shepherd)
#:use-module (gnu)
#:export (cephfs-configuration cephfs-configuration? cephfs-service-type))
(define-configuration/no-serialization cephfs-configuration
(package
(package ceph)
"The ceph package to use.")
(mount-point
(string)
"Mount point used for cephfs filesystem.")
(name
(string)
"The Rados client (user) name.")
(fsid
(string)
"The CephFS file-system id.")
(fs-name
(string)
"A symbolic name to use for the CephFS mount.")
(options
(string "rw,relatime,acl")
"File-system mount options. Defaults to 'rw,relatime,acl'")
(secret-file
(string)
"Secret file path to use for authentication.")
(monitors
(list-of-strings)
"A list of monitor addresses in the form of <host>:<port>.")
(subdir
(string "/")
"An optional subdirectory to mount (defaults to '/').")
(legacy-mount-syntax?
(boolean #f)
"Use the legacy mount.ceph syntax; see ceph.mount documentation for more details."))
(define cephfs-shepherd-service
(match-lambda
(($ <cephfs-configuration> package mount-point name fsid fs-name options secret-file monitors subdir legacy-mount-syntax?)
(list (shepherd-service
(provision (list (string->symbol (string-append "cephfs-" mount-point))))
(documentation (string-append "Mount cephfs filesystem '" fsid "' (" mount-point ")."))
(requirement `(networking ,(string->symbol (string-append "file-system-" mount-point))))
(start #~(make-system-constructor "/run/setuid-programs/mount /mnt/cephfs"))
(stop #~(make-system-constructor "/run/setuid-programs/umount /mnt/cephfs"))
(respawn? #f))))))
;; Mount syntax changed between ceph 16 and 17, however the old syntax is still supported
;;
;; 16.x Pacific - https://docs.ceph.com/en/pacific/man/8/mount.ceph/
;; mount.ceph [mon1_socket,mon2_socket,…]:/[subdir] dir [-o options]
;; 17.x Quincy - https://docs.ceph.com/en/quincy/man/8/mount.ceph/
;; mount.ceph name*@*fsid.*fs_name*=/[subdir] dir [-o options]
(define cephfs-file-systems
(match-lambda
(($ <cephfs-configuration> package mount-point name fsid fs-name options secret-file monitors subdir legacy-mount-syntax?)
(list (file-system
(device (if legacy-mount-syntax?
(string-append (string-join monitors ",") ":" subdir)
(string-append name "@" fsid "." fs-name "=" subdir)))
(options (string-append options ","
(if legacy-mount-syntax?
(string-append "name=" name)
(string-append "mon_addr=" (string-join monitors "/")))
",secretfile=" secret-file))
;; Filesystem cannot be mounted as its not a real device; instead a shepherd service is used to mount the file-system
(mount? #f)
(create-mount-point? #t)
(mount-point mount-point)
(type "ceph"))))))
(define cephfs-profile
(compose list cephfs-configuration-package))
(define cephfs-service-type
(service-type
(name 'cephfs)
(description "Mount cephfs filesystems.")
(extensions
(list (service-extension shepherd-root-service-type cephfs-shepherd-service)
(service-extension file-system-service-type cephfs-file-systems)
(service-extension profile-service-type cephfs-profile)))))

View File

@ -1,29 +0,0 @@
;; (C) Copyright Collin J. Doering 2023
;;
;; This program is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;; File: util.scm
;; Author: Collin J. Doering <collin.doering@rekahsoft.ca>
;; Date: Dec 30, 2023
(define-module (rekahsoft-gnu utils)
#:use-module (gnu packages)
#:export (search-rekahsoft-gnu-patches))
(define (search-rekahsoft-gnu-patches patch)
(parameterize ((%patch-path (map (lambda (directory)
(string-append directory
"/rekahsoft-gnu/packages/patches"))
%load-path)))
(search-patches patch)))