├── .guix-channel ├── .projectile ├── LICENSE ├── README.md └── bin-guix └── packages ├── apache.scm ├── babashka.scm ├── bytecodealliance.scm ├── clojure.scm ├── datalevin.scm ├── gum.scm ├── hashicorp.scm ├── lokke.scm ├── nitrokey.scm ├── opentofu.scm ├── oras.scm ├── protojure.scm ├── regclient.scm ├── slackhq-nebula.scm └── updatecli.scm /.guix-channel: -------------------------------------------------------------------------------- 1 | ;; -*- mode: scheme; -*- 2 | 3 | (channel 4 | (version 0) 5 | (news-file "news.txt") 6 | (url "https://github.com/ieugen/bin-guix")) 7 | -------------------------------------------------------------------------------- /.projectile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ieugen/bin-guix/22b421bdfd82a342042f75089e8453b5b58df28a/.projectile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # binary-guix 2 | 3 | Binary packages for guix. 4 | This is a guix channel that aims to package binary releases of popular applications to make them available in guix. 5 | 6 | People should use native guix packages (packages that are built from sources) whenever they get the chance. 7 | But let's face it, it's not always possible. 8 | For situations when your favorite app is not packages for guix and has linux binary release, bin-guix channel should provide an escape hatch. 9 | 10 | ## Why binary apps 11 | 12 | I do a lot of devops tinkering and I need specific tools that are not available (or up to date) from Guix or the GNU/Linux distribution of choice (Debian in my case). 13 | 14 | This led me to use a bunch of tooling to fix this. 15 | Some of the tooling I use/used for package installation is in the list bellow: 16 | - distribution native package manager: apt / apt-get 17 | - nvm - node version manager to install node.js releases 18 | - sdkman.io - version manager to install specific java / jdk releases 19 | - flatpak - for gui apps 20 | - snaps - I prefer flatpak but sometimes there is no choice 21 | - docker containers - mostly for services but also for some cli apps 22 | - manual installation scripts 23 | 24 | NOTE: Most packaged apps are (should be) statically linked to work without issues. This is the case with most apps available as a single binary. 25 | 26 | I faced issues when working with other people of setting up new computers or servers. 27 | It's a lot of work to keep every system with all the required tools installed and up to date. 28 | 29 | This is especially true when working in a team and you have many developers. 30 | 31 | It would be nice to have a single tool that can produce the environment that people can use to get their job done. 32 | 33 | I believe that Guix is a tool that can be used for such a thing. 34 | 35 | 36 | ## How to use this channel 37 | 38 | - Add bin-guix channel to your list of channels 39 | - Run `guix pull` 40 | - Install packages 41 | 42 | On Debian, my channels configuration file is in `$HOME/.config/guix/channels.scm` 43 | It might be different on your distribution. 44 | When in doubt see https://guix.gnu.org/manual/en/html_node/Specifying-Additional-Channels.html 45 | 46 | I believe the order is important and since bin-guix is before `%default-channels` packages 47 | will be pulled from bin-guix first if they have the same name. 48 | 49 | ```scheme 50 | (cons* 51 | ;; My other channels here 52 | (channel 53 | (name 'bin-guix) 54 | (url "https://github.com/ieugen/bin-guix") 55 | (branch "main") 56 | ;;Enable signature verification: 57 | ;;TBA 58 | ) 59 | %default-channels) 60 | ``` 61 | 62 | 63 | ## Development 64 | 65 | You can add new packages as `*.scm` (scheme) files under `bin-guix/packages`. 66 | See the definitions for the other packags as examples. 67 | 68 | Before we begin the package, download a release and get the hash: 69 | 70 | ``` shell 71 | # Use `guix download` to fetch file and compute hash 72 | guix download https://github.com/oras-project/oras/releases/download/v0.16.0/oras_0.16.0_linux_amd64.tar.gz --hash=sha256 73 | 74 | ``` 75 | 76 | Then you can create your `bin-guix/packages/.scm` module that contains the package definition. 77 | Once you added a new package, test it works locally then commit and push. 78 | 79 | ``` shell 80 | # Build a package from definition, keeping directory if build fails 81 | guix build -L . -K babashka 82 | 83 | # Force rebuild a package 84 | guix build --check --no-grafts babashka 85 | 86 | # To "clean" remove the package from guix run: 87 | guix gc -D 88 | 89 | ``` 90 | 91 | https://www.alexandrostheodotou.com/guix-packagers-guide.html 92 | -------------------------------------------------------------------------------- /bin-guix/packages/apache.scm: -------------------------------------------------------------------------------- 1 | (define-module (bin-guix packages apache) 2 | #:use-module (guix packages) 3 | #:use-module (guix download) 4 | #:use-module (guix build-system copy) 5 | #:use-module ((guix licenses) #:prefix licenses:)) 6 | 7 | 8 | (define-public jena 9 | (package 10 | (name "jena") 11 | (version "4.10.0") 12 | (source (origin 13 | (method url-fetch) 14 | (uri (string-append "https://archive.apache.org/dist/jena/binaries/apache-jena-" version ".tar.gz")) 15 | (sha256 16 | (base32 "1qs7rfm133cip6vyrn6max4lwsfsni1przia739glnbnj63h4s8v")))) 17 | (build-system copy-build-system) 18 | (supported-systems '("x86_64-linux" "i686-linux")) 19 | (arguments 20 | `(#:install-plan '(("." "jena") 21 | ("bin" "bin") 22 | ("log4j2.properties" "log4j2.properties") 23 | ("lib" "lib")))) 24 | (synopsis "A free and open source Java framework for building Semantic Web and Linked Data applications.") 25 | (description "A free and open source Java framework for building Semantic Web and Linked Data applications.") 26 | (home-page "https://jena.apache.org/") 27 | (license licenses:asl2.0))) 28 | 29 | 30 | 31 | (define-public jena-fuseki 32 | (package 33 | (name "jena-fuseki") 34 | (version "4.9.0") 35 | (source (origin 36 | (method url-fetch) 37 | (uri (string-append "https://archive.apache.org/dist/jena/binaries/apache-jena-fuseki-" version ".tar.gz")) 38 | (sha256 39 | (base32 "0lh2pf1fbs3b2k796ri4dp2wnz36ksgddhy0v5sw8ygyav950vmp")))) 40 | (build-system copy-build-system) 41 | (supported-systems '("x86_64-linux" "i686-linux")) 42 | (arguments 43 | `(#:install-plan '(("." "fuseki") 44 | ("bin" "bin") 45 | ("webapp" "webapp") 46 | ("fuseki" "bin/") 47 | ("fuseki-backup" "bin/") 48 | ("fuseki-server" "fuseki-server") 49 | ("fuseki-server.jar" "fuseki-server.jar") 50 | ("log4j2.properties" "log4j2.properties")))) 51 | (synopsis "Expose your triples as a SPARQL end-point accessible over HTTP. Fuseki provides REST-style interaction with your RDF data.") 52 | (description "Expose your triples as a SPARQL end-point accessible over HTTP. Fuseki provides REST-style interaction with your RDF data.") 53 | (home-page "https://jena.apache.org/") 54 | (license licenses:asl2.0))) 55 | -------------------------------------------------------------------------------- /bin-guix/packages/babashka.scm: -------------------------------------------------------------------------------- 1 | (define-module (bin-guix packages babashka) 2 | #:use-module (guix packages) 3 | #:use-module (guix download) 4 | #:use-module (guix build-system copy) 5 | #:use-module ((guix licenses) #:prefix licenses:)) 6 | 7 | (define-public babashka 8 | (package 9 | (name "babashka") 10 | (version "1.3.187") 11 | (source (origin 12 | (method url-fetch) 13 | (uri (string-append "https://github.com/babashka/babashka/releases/download/v" 14 | version "/babashka-" version "-linux-amd64-static.tar.gz" )) 15 | (sha256 16 | (base32 "0q9myvfnmhwzdsj92zzpz13m8ci54zd2k7lkmjbvcgbkr8g2kcwz")))) 17 | (build-system copy-build-system) 18 | (supported-systems '("x86_64-linux" "i686-linux")) 19 | (arguments 20 | `(#:install-plan '(("bb" "bin/")))) 21 | (synopsis "Native, fast starting Clojure interpreter for scripting") 22 | (description "Babashka is a native Clojure interpreter for scripting with fast startup. Its main goal is to leverage Clojure in places where you would be using bash otherwise.") 23 | (home-page "https://babashka.org/") 24 | (license licenses:epl1.0))) 25 | -------------------------------------------------------------------------------- /bin-guix/packages/bytecodealliance.scm: -------------------------------------------------------------------------------- 1 | (define-module (bin-guix packages bytecodealliance) 2 | #:use-module (guix packages) 3 | #:use-module (guix download) 4 | #:use-module (guix build-system copy) 5 | #:use-module ((guix licenses) #:prefix licenses:)) 6 | 7 | 8 | (define-public javy 9 | (package 10 | (name "javy") 11 | (version "1.4.0") 12 | (source (origin 13 | (method url-fetch) 14 | (uri (string-append "https://github.com/bytecodealliance/javy/releases/download/v" 15 | version "/javy-x86_64-linux-v" version ".gz")) 16 | (sha256 17 | (base32 "1pydsqf9nq8q965vv6mxcx6kjlb3hksphnvl2fi05djxq17k74im")))) 18 | (build-system copy-build-system) 19 | (supported-systems '("x86_64-linux")) 20 | (arguments 21 | ;; I have no idea how to unpack the archive as javy (FileRoller does this) 22 | `(#:install-plan '(("javy-x86_64-linux-v1.4.0" "bin/javy")) 23 | ;; Requires libstdc++ and ld and libgcc - we are ignoring those 24 | ;; Maybe we can fix it by depending on gcc:lib 25 | #:validate-runpath? #f 26 | 27 | #:phases (modify-phases %standard-phases 28 | (add-after 'unpack 'make-file-exec 29 | (lambda _ 30 | (for-each 31 | (lambda (file) 32 | (let ((stat (lstat file))) 33 | ;;(display (string-append "File-> " file "\n")) 34 | (chmod file #o755))) 35 | (find-files "." #:directories? #f))))) 36 | 37 | )) 38 | (synopsis "JS to WebAssembly toolchain") 39 | (description "Run your JavaScript on WebAssembly. Javy takes your JavaScript code, and executes it in a WebAssembly embedded JavaScript runtime.") 40 | (home-page "https://github.com/bytecodealliance/javy") 41 | (license licenses:asl2.0))) 42 | 43 | 44 | (define-public wasmtime 45 | (package 46 | (name "wasmtime") 47 | (version "18.0.1") 48 | (source (origin 49 | (method url-fetch) 50 | (uri (string-append "https://github.com/bytecodealliance/wasmtime/releases/download/v" 51 | version "/wasmtime-v" version "-x86_64-linux.tar.xz")) 52 | (sha256 53 | (base32 "1bc0lzni6q17a0daxdm2cc43s40s0vw153wgnqk197mbgjac0lcr")))) 54 | (build-system copy-build-system) 55 | (supported-systems '("x86_64-linux")) 56 | (arguments 57 | ;; I have no idea how to unpack the archive as javy (FileRoller does this) 58 | `(#:install-plan '(("wasmtime" "bin/") 59 | ("wasmtime-min" "bin/") 60 | ("LICENSE" "share/doc/") 61 | ("README.md" "share/doc/")) 62 | ;; Requires libstdc++ and ld and libgcc - we are ignoring those 63 | ;; Maybe we can fix it by depending on gcc:lib 64 | #:validate-runpath? #f)) 65 | (synopsis "A fast and secure runtime for WebAssembly") 66 | (description "A standalone runtime for WebAssembly") 67 | (home-page "https://github.com/bytecodealliance/wasmtime") 68 | (license licenses:asl2.0))) 69 | -------------------------------------------------------------------------------- /bin-guix/packages/clojure.scm: -------------------------------------------------------------------------------- 1 | ;; 2 | ;; This file is licensed under the same license as guix - GPLv3 3 | ;; This file should be removed once guix is updated. See 4 | ;; https://issues.guix.gnu.org/67425 5 | ;; https://issues.guix.gnu.org/67426 6 | ;; https://issues.guix.gnu.org/67328 7 | (define-module (bin-guix packages clojure) 8 | #:use-module (gnu packages clojure) 9 | #:use-module (gnu packages java) 10 | #:use-module (gnu packages maven) 11 | #:use-module (gnu packages readline) 12 | #:use-module ((guix licenses) #:prefix license:) 13 | #:use-module (guix packages) 14 | #:use-module (guix download) 15 | #:use-module (guix git-download) 16 | #:use-module (guix build-system ant) 17 | #:use-module (guix build-system clojure) 18 | #:use-module (guix build-system copy)) 19 | 20 | 21 | (define-public clojure-tools 22 | (package 23 | (name "clojure-tools") 24 | (version "1.11.2.1446") 25 | (source 26 | (origin 27 | (method url-fetch) 28 | (uri (string-append "https://download.clojure.org/install/clojure-tools-" 29 | version 30 | ".tar.gz")) 31 | (sha256 (base32 "0wggjbbzvds9jhx2qw3wyxdw0n0605awd5mp7kczh3cmzjqgyzma")) 32 | ;; Remove AOT compiled JAR. The other JAR only contains uncompiled 33 | ;; Clojure source code. 34 | (snippet 35 | `(delete-file ,(string-append "clojure-tools-" version ".jar"))))) 36 | (build-system copy-build-system) 37 | (arguments 38 | `(#:install-plan 39 | '(("deps.edn" "lib/clojure/") 40 | ("example-deps.edn" "lib/clojure/") 41 | ("tools.edn" "lib/clojure/") 42 | ("exec.jar" "lib/clojure/libexec/") 43 | ("clojure" "bin/") 44 | ("clj" "bin/")) 45 | #:modules ((guix build copy-build-system) 46 | (guix build utils) 47 | (srfi srfi-1) 48 | (ice-9 match)) 49 | #:phases 50 | (modify-phases %standard-phases 51 | (add-after 'unpack 'fix-paths 52 | (lambda* (#:key outputs #:allow-other-keys) 53 | (substitute* "clojure" 54 | (("PREFIX") (string-append (assoc-ref outputs "out") "/lib/clojure"))) 55 | (substitute* "clj" 56 | (("BINDIR") (string-append (assoc-ref outputs "out") "/bin")) 57 | (("rlwrap") (which "rlwrap"))))) 58 | (add-after 'fix-paths 'copy-tools-deps-alpha-jar 59 | (lambda* (#:key inputs outputs #:allow-other-keys) 60 | (substitute* "clojure" 61 | (("\\$install_dir/libexec/clojure-tools-\\$version\\.jar") 62 | (string-join 63 | (append-map (match-lambda 64 | ((label . dir) 65 | (find-files dir "\\.jar$"))) 66 | inputs) 67 | ":")))))))) 68 | (inputs (list rlwrap 69 | clojure 70 | clojure-tools-deps 71 | java-commons-logging-minimal)) 72 | (home-page "https://clojure.org/releases/tools") 73 | (synopsis "CLI tools for the Clojure programming language") 74 | (description "The Clojure command line tools can be used to start a 75 | Clojure repl, use Clojure and Java libraries, and start Clojure programs.") 76 | (license license:epl1.0))) 77 | 78 | 79 | (define-public clojure-tools-deps 80 | (package 81 | (name "clojure-tools-deps") 82 | (version "0.19.1417") 83 | (home-page "https://github.com/clojure/tools.deps") 84 | (source (origin 85 | (method git-fetch) 86 | (uri (git-reference 87 | (url home-page) 88 | (commit (string-append "v" version)))) 89 | (file-name (git-file-name name version)) 90 | (sha256 91 | (base32 92 | "1hdv0wv92gn305jkxkbmhmpdl1i9fx5qx77q1hjr4y66kwaz5x53")))) 93 | (build-system clojure-build-system) 94 | (arguments 95 | `(#:source-dirs '("src/main/clojure" "src/main/resources") 96 | #:test-dirs '("src/test/clojure") 97 | #:doc-dirs '() 98 | ;; FIXME: Could not initialize class org.eclipse.aether.transport.http.SslSocketFactory 99 | #:tests? #f 100 | #:phases 101 | (modify-phases %standard-phases 102 | ;; FIXME: Currently, the S3 transporter depends on ClojureScript, 103 | ;; which is very difficult to package due to dependencies on Java 104 | ;; libraries with non-standard build systems. Instead of actually 105 | ;; packaging these libraries, we just remove the S3 transporter that 106 | ;; depends on them. 107 | (add-after 'unpack 'remove-s3-transporter 108 | (lambda _ 109 | (for-each delete-file 110 | (list 111 | (string-append 112 | "src/main/clojure/clojure/" 113 | "tools/deps/util/s3_aws_client.clj") 114 | (string-append 115 | "src/main/clojure/clojure/" 116 | "tools/deps/util/s3_transporter.clj") 117 | (string-append 118 | "src/test/clojure/clojure/" 119 | "tools/deps/util/test_s3_transporter.clj"))) 120 | (substitute* 121 | "src/main/clojure/clojure/tools/deps/util/maven.clj" 122 | (("clojure.tools.deps.util.s3-transporter") 123 | ""))))))) 124 | (propagated-inputs (list maven-resolver-api 125 | maven-resolver-spi 126 | maven-resolver-impl 127 | maven-resolver-util 128 | maven-resolver-connector-basic 129 | maven-resolver-provider 130 | maven-core 131 | maven-resolver-transport-http 132 | maven-resolver-transport-file 133 | clojure-tools-gitlibs 134 | clojure-tools-cli 135 | clojure-data-xml)) 136 | (synopsis "Clojure library supporting clojure-tools") 137 | (description "This package provides a functional API for transitive 138 | dependency graph expansion and the creation of classpaths.") 139 | (license license:epl1.0))) 140 | -------------------------------------------------------------------------------- /bin-guix/packages/datalevin.scm: -------------------------------------------------------------------------------- 1 | (define-module (bin-guix packages datalevin) 2 | #:use-module (guix packages) 3 | #:use-module (guix download) 4 | #:use-module (guix build-system copy) 5 | #:use-module ((guix licenses) #:prefix licenses:) 6 | #:use-module (gnu packages compression)) 7 | 8 | (define-public datalevin 9 | (package 10 | (name "datalevin") 11 | (version "0.8.20") 12 | (source (origin 13 | (method url-fetch) 14 | (uri (string-append "https://github.com/juji-io/datalevin/releases/download/" 15 | version "/dtlv-" version "-ubuntu-latest-amd64.zip")) 16 | (sha256 17 | (base32 "1pxalakz7bp5r9yfpa450hzj3mxr2vgda2m2sbxd0xdb7zrncphv")))) 18 | (build-system copy-build-system) 19 | (arguments 20 | `(#:install-plan '(("dtlv" "bin/")) 21 | ;; datalevin fails w/ RUNPATH error because of shared libraries 22 | ;; remove this once we have static binary 23 | #:validate-runpath? #f)) 24 | (native-inputs 25 | `(("unzip" ,unzip))) 26 | (inputs 27 | `(("zlib" ,zlib))) 28 | (synopsis "A simple, fast and versatile Datalog database") 29 | (description "The rationale is to have a simple, fast and open source Datalog query engine running on durable storage. It is our observation that many developers prefer the flavor of Datalog popularized by Datomic® over any flavor of SQL, once they get to use it. Perhaps it is because Datalog is more declarative and composable than SQL, e.g. the automatic implicit joins seem to be its killer feature.") 30 | (home-page "https://github.com/juji-io/datalevin") 31 | (license licenses:epl1.0))) 32 | -------------------------------------------------------------------------------- /bin-guix/packages/gum.scm: -------------------------------------------------------------------------------- 1 | (define-module (bin-guix packages gum) 2 | #:use-module (guix packages) 3 | #:use-module (guix download) 4 | #:use-module (guix build-system copy) 5 | #:use-module ((guix licenses) #:prefix licenses:)) 6 | 7 | (define-public gum 8 | (package 9 | (name "gum") 10 | (version "0.9.0") 11 | (source (origin 12 | (method url-fetch) 13 | (uri (string-append "https://github.com/charmbracelet/gum/releases/download/v" 14 | version "/gum_" version "_Linux_x86_64.tar.gz")) 15 | (sha256 16 | (base32 "0jvsjamz8rlrjymcbmd8wi7b6a0bn10ckd437zj9na5a8x56ig4p")))) 17 | (build-system copy-build-system) 18 | (supported-systems '("x86_64-linux" "i686-linux")) 19 | (arguments 20 | `(#:install-plan '(("../gum" "bin/") 21 | ;; we should install the other provided completions 22 | ("../completions/gum.bash" "share/bash-completion/completions/gum") 23 | ("../manpages/" "share/man/man1/")))) 24 | (synopsis "A tool for glamorous shell scripts ribbon") 25 | (description "Gum provides highly configurable, ready-to-use utilities to help you write useful shell scripts and dotfiles aliases with just a few lines of code.") 26 | (home-page "https://github.com/charmbracelet/gum") 27 | (license licenses:expat))) 28 | -------------------------------------------------------------------------------- /bin-guix/packages/hashicorp.scm: -------------------------------------------------------------------------------- 1 | (define-module (bin-guix packages hashicorp) 2 | #:use-module (guix packages) 3 | #:use-module (guix download) 4 | #:use-module (guix build-system copy) 5 | #:use-module ((guix licenses) #:prefix licenses:) 6 | #:use-module (gnu packages compression)) 7 | 8 | (define-public consul 9 | (package 10 | (name "consul") 11 | (version "1.15.0") 12 | ;;TODO check signature file https://releases.hashicorp.com/consul/1.15.0/consul_1.15.0_SHA256SUMS.sig 13 | (source (origin 14 | (method url-fetch) 15 | (uri (string-append "https://releases.hashicorp.com/consul/" 16 | version "/consul_" version "_linux_amd64.zip")) 17 | (sha256 18 | (base32 "094cf5d6bdzaahsf2yknbamlgd851c9s6bm92ngx221w5kzmi8v2")))) 19 | (build-system copy-build-system) 20 | (supported-systems '("x86_64-linux" "i686-linux")) 21 | (arguments 22 | `(#:install-plan '(("consul" "bin/")))) 23 | (native-inputs 24 | `(("unzip" ,unzip))) 25 | (synopsis "Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.") 26 | (description "Consul is a service networking solution that enables teams to manage secure network connectivity between services and across multi-cloud environments and runtimes. Consul offers service discovery, identity-based authorization, L7 traffic management, and service-to-service encryption.") 27 | (home-page "https://www.consul.io/") 28 | (license licenses:mpl2.0))) 29 | 30 | (define-public packr 31 | (package 32 | (name "packer") 33 | (version "1.9.4") 34 | ;;TODO check signature file https://releases.hashicorp.com/packer/1.8.5/packer_1.8.5_SHA256SUMS.sig 35 | (source (origin 36 | (method url-fetch) 37 | (uri (string-append "https://releases.hashicorp.com/packer/" 38 | version "/packer_" version "_linux_amd64.zip")) 39 | (sha256 40 | (base32 "1nc05r4zh9fyz8ccdgjq3iqzwqqd8ribilaiwncqraj58af2dmbc")))) 41 | (build-system copy-build-system) 42 | (supported-systems '("x86_64-linux" "i686-linux")) 43 | (arguments 44 | `(#:install-plan '(("packer" "bin/")))) 45 | (native-inputs 46 | `(("unzip" ,unzip))) 47 | (synopsis "Packer is a tool for building identical machine images for multiple platforms from a single source configuration.") 48 | (description "Packer is lightweight, runs on every major operating system, and is highly performant, creating machine images for multiple platforms in parallel.") 49 | (home-page "https://www.packer.io/") 50 | (license licenses:mpl2.0))) 51 | 52 | (define-public terraform 53 | (package 54 | (name "terraform") 55 | (version "1.6.1") 56 | ;;TODO check signature file https://releases.hashicorp.com/terraform/1.3.7/terraform_1.3.7_SHA256SUMS.sig 57 | (source (origin 58 | (method url-fetch) 59 | (uri (string-append "https://releases.hashicorp.com/terraform/" 60 | version "/terraform_" version "_linux_amd64.zip")) 61 | (sha256 62 | (base32 "19p2jbfg76663q4vanr02f97l6zaf7s2g59c65496kf41j2pi9yi")))) 63 | (build-system copy-build-system) 64 | (supported-systems '("x86_64-linux" "i686-linux")) 65 | (arguments 66 | `(#:install-plan '(("terraform" "bin/")))) 67 | (native-inputs 68 | `(("unzip" ,unzip))) 69 | (synopsis "Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently.") 70 | (description "Terraform enables you to safely and predictably create, change, and improve infrastructure. It is an open source tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.") 71 | (home-page "https://www.terraform.io/") 72 | (license licenses:mpl2.0))) 73 | 74 | (define-public vault 75 | (package 76 | (name "vault") 77 | (version "1.14.1") 78 | (source (origin 79 | (method url-fetch) 80 | (uri (string-append "https://releases.hashicorp.com/vault/" 81 | version "/vault_" version "_linux_amd64.zip")) 82 | (sha256 83 | (base32 "18vyymcz62ilfxd15sf8jjfrdahqq17w81nj4djpzq1xzhnl6cb0")))) 84 | (build-system copy-build-system) 85 | (supported-systems '("x86_64-linux" "i686-linux")) 86 | (arguments 87 | `(#:install-plan '(("vault" "bin/")))) 88 | (inputs 89 | `(("unzip" ,unzip))) 90 | (synopsis "A tool for secrets management, encryption as a service, and privileged access management") 91 | (description "Vault is a tool for securely accessing secrets. A secret is anything that you want to tightly control access to, such as API keys, passwords, certificates, and more. Vault provides a unified interface to any secret, while providing tight access control and recording a detailed audit log.") 92 | (home-page "https://www.vaultproject.io/") 93 | (license licenses:mpl2.0))) 94 | -------------------------------------------------------------------------------- /bin-guix/packages/lokke.scm: -------------------------------------------------------------------------------- 1 | ;; This file is licensed under the same license as guix: 2 | ;; GNU General Public License as published by 3 | ;; the Free Software Foundation; either version 3 of the License, or (at 4 | ;; your option) any later version. 5 | (define-module (bin-guix packages lokke) 6 | #:use-module ((guix licenses) #:prefix license:) 7 | #:use-module (gnu packages autotools) 8 | #:use-module (gnu packages gettext) 9 | #:use-module (gnu packages guile) 10 | #:use-module (gnu packages pcre) 11 | #:use-module (gnu packages pkg-config) 12 | #:use-module (guix packages) 13 | #:use-module (guix git-download) 14 | #:use-module (guix build-system gnu)) 15 | 16 | 17 | (define-public lokke 18 | (let ((commit "10dfebe0d7e601760802114abb274a3dc889305a") 19 | (revision "1")) 20 | (package 21 | (name "lokke-next") 22 | (version (git-version "0.0.0" revision commit)) 23 | (home-page "https://github.com/lokke-org/lokke") 24 | (source (origin 25 | (method git-fetch) 26 | (uri (git-reference (url home-page) (commit commit))) 27 | (file-name (git-file-name name version)) 28 | (sha256 29 | (base32 30 | "0vd90ir7ypqhzh5swqmixvnm9napk87hp53ipxla6jiqdrlzbd5q")))) 31 | (build-system gnu-build-system) 32 | (arguments 33 | '(#:phases 34 | (modify-phases %standard-phases 35 | (add-before 'bootstrap 'pre-bootstrap 36 | (lambda _ 37 | (for-each patch-shebang 38 | '("setup" "gen-makefile" 39 | "dev/gen-module-paths" 40 | "dev/refresh")) 41 | (invoke "./setup"))) 42 | (add-before 'build 'set-home 43 | (lambda _ 44 | (setenv "HOME" (getcwd))))))) 45 | (native-inputs 46 | (list autoconf 47 | automake 48 | libtool 49 | gnu-gettext 50 | pkg-config 51 | 52 | ;; Use Guile >= 3.0.8 to work around 53 | ;; . 54 | guile-3.0-latest)) 55 | (inputs 56 | (list pcre2)) 57 | (synopsis "Clojure implementation in Guile") 58 | (description 59 | "Lokke intends to provide a full dialect of Clojure for Guile. It also 60 | consists of a set of Guile modules providing some of Clojure's functionality 61 | in two different guises.") 62 | ;; Dual license: LGPLv2.1+ or EPLv1.0+ at the user's option. 63 | (license (list license:lgpl2.1+ license:epl1.0))))) 64 | -------------------------------------------------------------------------------- /bin-guix/packages/nitrokey.scm: -------------------------------------------------------------------------------- 1 | (define-module (bin-guix packages nitrokey) 2 | #:use-module (guix packages) 3 | #:use-module (guix download) 4 | #:use-module (guix build utils) 5 | #:use-module (guix build-system copy) 6 | #:use-module ((guix licenses) #:prefix licenses:) 7 | #:use-module (gnu packages compression)) 8 | 9 | (define-public nitrokey-app2 10 | (package 11 | (name "nitrokey-app2") 12 | (version "2.3.2") 13 | (source (origin 14 | (method url-fetch) 15 | (uri (string-append "https://github.com/Nitrokey/nitrokey-app2/releases/download/v" 16 | version "/nitrokey-app-v" version "-x64-linux-binary")) 17 | (sha256 18 | (base32 "1rsbr1qmd9dfalp6yayq15n53qg3s3mfi8l956xn6mzdk288xrni")))) 19 | (build-system copy-build-system) 20 | (supported-systems '("x86_64-linux" "i686-linux")) 21 | (arguments 22 | `(#:install-plan '(("nitrokey-app-v2.3.2-x64-linux-binary" "bin/nitrokey-app2")) 23 | #:validate-runpath? #f 24 | #:phases (modify-phases %standard-phases 25 | (add-after 'unpack 'make-file-exec 26 | (lambda _ 27 | (for-each 28 | (lambda (file) 29 | (let ((stat (lstat file))) 30 | ;;(display (string-append "File-> " file "\n")) 31 | (chmod file #o755))) 32 | (find-files "." #:directories? #f))))) )) 33 | (synopsis "Manage Nitrokey 3, Nitrokey Pro and Nitrokey Storage devices.") 34 | (description "This application allows to manage Nitrokey 3 devicese 35 | To manage Nitrokey Pro and Nitrokey Storage devices, use the older Nitrokey App.") 36 | (home-page "https://github.com/Nitrokey/nitrokey-app2") 37 | (license licenses:asl2.0))) 38 | -------------------------------------------------------------------------------- /bin-guix/packages/opentofu.scm: -------------------------------------------------------------------------------- 1 | (define-module (bin-guix packages opentofu) 2 | #:use-module (guix packages) 3 | #:use-module (guix download) 4 | #:use-module (guix build-system copy) 5 | #:use-module ((guix licenses) #:prefix licenses:) 6 | #:use-module (gnu packages compression)) 7 | 8 | (define-public opentofu 9 | (package 10 | (name "opentofu") 11 | (version "1.7.2") 12 | (source 13 | (origin 14 | (method url-fetch) 15 | (uri (string-append "https://github.com/opentofu/opentofu/releases/download/v" 16 | version "/tofu_" version "_linux_amd64.zip")) 17 | (sha256 (base32 "0d2l7fc7y8pxa0189l0gj51yk329fvcjkrgnpm1h2b49g97kd26s")))) 18 | (supported-systems '("x86_64-linux")) 19 | (build-system copy-build-system) 20 | (arguments 21 | `(#:install-plan '(("tofu" "bin/")))) 22 | (native-inputs 23 | `(("unzip" ,unzip))) 24 | (home-page "https://opentofu.org/") 25 | (synopsis "OpenTofu lets you declaratively manage your cloud infrastructure") 26 | (description "OpenTofu lets you declaratively manage your cloud infrastructure.") 27 | (license licenses:mpl2.0))) 28 | -------------------------------------------------------------------------------- /bin-guix/packages/oras.scm: -------------------------------------------------------------------------------- 1 | (define-module (bin-guix packages oras) 2 | #:use-module (guix packages) 3 | #:use-module (guix download) 4 | #:use-module (guix build-system copy) 5 | #:use-module ((guix licenses) #:prefix licenses:)) 6 | 7 | (define-public oras 8 | (package 9 | (name "oras") 10 | (version "1.0.0") 11 | (source (origin 12 | (method url-fetch) 13 | (uri (string-append "https://github.com/oras-project/oras/releases/download/v" 14 | version "/oras_" version "_linux_amd64.tar.gz")) 15 | (sha256 16 | (base32 "0cr1xlvqky28fl3ik8gqc9ad21piiq74q2f5vyqmw3as3vmcjcw5")))) 17 | (build-system copy-build-system) 18 | (supported-systems '("x86_64-linux" "i686-linux")) 19 | (arguments 20 | `(#:install-plan '(("oras" "bin/") 21 | ;;("LICENSE" "share/doc/LICENSE") 22 | ))) 23 | (synopsis "OCI registry client - managing content like artifacts, images, packages") 24 | (description "ORAS works similarly to tools you may already be familiar with, such as docker. It allows you to push (upload) and pull (download) things to and from an OCI Registry, and also handles login (authentication) and token flow (authorization). What ORAS does differently is shift the focus from container images to other types of artifacts.") 25 | (home-page "https://oras.land/cli") 26 | (license licenses:asl2.0))) 27 | -------------------------------------------------------------------------------- /bin-guix/packages/protojure.scm: -------------------------------------------------------------------------------- 1 | (define-module (bin-guix packages protojure) 2 | #:use-module (guix packages) 3 | #:use-module (guix download) 4 | #:use-module (guix build-system copy) 5 | #:use-module ((guix licenses) #:prefix licenses:)) 6 | 7 | (define-public protoc-gen-clojure 8 | (package 9 | (name "protoc-gen-clojure") 10 | (version "v2.1.2") 11 | (source (origin 12 | (method url-fetch) 13 | (uri (string-append "https://github.com/protojure/protoc-plugin/releases/download/" 14 | version "/protoc-gen-clojure")) 15 | (sha256 16 | (base32 "0vzz78fd4awbsc5iykych9yqd86yab18f8fbbgydrw556lmhv8hh")))) 17 | (build-system copy-build-system) 18 | (supported-systems '("x86_64-linux" "i686-linux")) 19 | (arguments 20 | `(#:install-plan '(("protoc-gen-clojure" "bin/")))) 21 | (synopsis "Protojure protoc compiler plugin") 22 | (description "Protoc compiler plugin to generate native Clojure support for Google Protocol Buffers and GRPC.") 23 | (home-page "https://github.com/protojure/protoc-plugin") 24 | (license licenses:asl2.0))) 25 | -------------------------------------------------------------------------------- /bin-guix/packages/regclient.scm: -------------------------------------------------------------------------------- 1 | (define-module (bin-guix packages regclient) 2 | #:use-module (guix packages) 3 | #:use-module (guix download) 4 | #:use-module (guix build utils) 5 | #:use-module (guix build-system copy) 6 | #:use-module ((guix licenses) #:prefix licenses:)) 7 | 8 | (define-public regbot 9 | (package 10 | (name "regbot") 11 | (version "0.4.8") 12 | (source (origin 13 | (method url-fetch) 14 | (uri (string-append "https://github.com/regclient/regclient/releases/download/v" 15 | version "/regbot-linux-amd64" )) 16 | (file-name "regbot") 17 | (sha256 18 | (base32 "0p81d9jnhmiac61nxpnl75m6gljrwc68nlxh794r5czww9a2ax0j")))) 19 | (build-system copy-build-system) 20 | (supported-systems '("x86_64-linux" "i686-linux")) 21 | (arguments 22 | `(#:install-plan '(("regbot" "bin/")) 23 | #:phases (modify-phases %standard-phases 24 | (add-after 'unpack 'make-file-exec 25 | (lambda _ 26 | (for-each 27 | (lambda (file) 28 | (let ((stat (lstat file))) 29 | ;;(display (string-append "File-> " file "\n")) 30 | (chmod file #o755))) 31 | (find-files "." #:directories? #f))))))) 32 | (synopsis "regbot is a scripting tool on top of the regclient API") 33 | (description "Client interface for the registry API.") 34 | (home-page "https://github.com/regclient/regclient") 35 | (license licenses:asl2.0))) 36 | 37 | 38 | (define-public regctl 39 | (package 40 | (name "regctl") 41 | (version "0.4.8") 42 | (source (origin 43 | (method url-fetch) 44 | (uri (string-append "https://github.com/regclient/regclient/releases/download/v" 45 | version "/regctl-linux-amd64" )) 46 | (file-name "regctl") 47 | (sha256 48 | (base32 "1da589yks4n6pcc0sp948whqfmxwapx7n72pfdd50917h2h1s0w9")))) 49 | (build-system copy-build-system) 50 | (supported-systems '("x86_64-linux" "i686-linux")) 51 | (arguments 52 | `(#:install-plan '(("regctl" "bin/")) 53 | #:phases (modify-phases %standard-phases 54 | (add-after 'unpack 'make-file-exec 55 | (lambda _ 56 | (for-each 57 | (lambda (file) 58 | (let ((stat (lstat file))) 59 | ;;(display (string-append "File-> " file "\n")) 60 | (chmod file #o755))) 61 | (find-files "." #:directories? #f))))))) 62 | (synopsis "regctl is a CLI interface to the regclient library.") 63 | (description "Client interface for the registry API.") 64 | (home-page "https://github.com/regclient/regclient") 65 | (license licenses:asl2.0))) 66 | 67 | (define-public regsync 68 | (package 69 | (name "regsync") 70 | (version "0.4.8") 71 | (source (origin 72 | (method url-fetch) 73 | (uri (string-append "https://github.com/regclient/regclient/releases/download/v" 74 | version "/regsync-linux-amd64" )) 75 | (file-name "regsync") 76 | (sha256 77 | (base32 "1sgwzphy4qw78xi9yz5zwgwmnz71dxcdivyp41xrw0g3k6da831c")))) 78 | (build-system copy-build-system) 79 | (supported-systems '("x86_64-linux" "i686-linux")) 80 | (arguments 81 | `(#:install-plan '(("regsync" "bin/")) 82 | #:phases (modify-phases %standard-phases 83 | (add-after 'unpack 'make-file-exec 84 | (lambda _ 85 | (for-each 86 | (lambda (file) 87 | (let ((stat (lstat file))) 88 | ;;(display (string-append "File-> " file "\n")) 89 | (chmod file #o755))) 90 | (find-files "." #:directories? #f))))))) 91 | (synopsis "regsync is an image mirroring tool. It will copy images between two locations") 92 | (description "Client interface for the registry API.") 93 | (home-page "https://github.com/regclient/regclient") 94 | (license licenses:asl2.0))) 95 | -------------------------------------------------------------------------------- /bin-guix/packages/slackhq-nebula.scm: -------------------------------------------------------------------------------- 1 | (define-module (bin-guix packages slackhq-nebula) 2 | #:use-module (guix packages) 3 | #:use-module (guix download) 4 | #:use-module (guix build-system copy) 5 | #:use-module ((guix licenses) #:prefix licenses:) 6 | #:use-module (gnu packages compression)) 7 | 8 | 9 | (define-public nebula 10 | (package 11 | (name "nebula") 12 | (version "1.9.2") 13 | (source (origin 14 | (method url-fetch) 15 | (uri (string-append "https://github.com/slackhq/nebula/releases/download/v" 16 | version "/nebula-linux-amd64.tar.gz")) 17 | (sha256 18 | (base32 "01cp943myzwchb62kmzm4jf20mq3fn58j17y05jznl3bka2kh4kz")))) 19 | (build-system copy-build-system) 20 | (arguments 21 | `(#:install-plan '(("nebula" "bin/") 22 | ("nebula-cert" "bin/")))) 23 | (synopsis "performant, scalable network overlay") 24 | (description "Nebula is a scalable overlay networking tool with a focus on performance, 25 | simplicity and security. It is intended to be more robust than current virtual 26 | networking solutions by providing peer-to-peer connectivity and NAT traversal 27 | mechanisms. Nebula uses state-of-the-art cryptography based on the \"Noise\" protocol.") 28 | (home-page "https://github.com/slackhq/nebula") 29 | (license licenses:expat))) 30 | -------------------------------------------------------------------------------- /bin-guix/packages/updatecli.scm: -------------------------------------------------------------------------------- 1 | (define-module (bin-guix packages updatecli) 2 | #:use-module (guix packages) 3 | #:use-module (guix download) 4 | #:use-module (guix build utils) 5 | #:use-module (guix build-system copy) 6 | #:use-module ((guix licenses) #:prefix licenses:)) 7 | 8 | (define-public updatecli 9 | (package 10 | (name "updatecli") 11 | (version "0.52.0") 12 | (source (origin 13 | ;; https://lists.gnu.org/archive/html/help-guix/2020-12/msg00218.html 14 | (method url-fetch/tarbomb) ;; contents are not in a firectory => url-fetch/tarbomb 15 | (uri (string-append "https://github.com/updatecli/updatecli/releases/download/v" version 16 | "/updatecli_Linux_x86_64.tar.gz")) 17 | (sha256 18 | (base32 "02ily73fpcdzjyx11ls0jdqd381flm53cf3555z7plhqaa01nwl4")))) 19 | (build-system copy-build-system) 20 | (supported-systems '("x86_64-linux")) 21 | (arguments 22 | `(#:install-plan '(("updatecli" "bin/") 23 | ("manpages/updatecli.1.gz" "share/man/man1/") 24 | ("completions/updatecli.bash" "etc/completion/bash/updatecli") 25 | ("completions/updatecli.fish" "etc/completion/fish/updatecli") 26 | ("completions/updatecli.zsh" "etc/completion/zsh/updatecli")))) 27 | (synopsis "A Declarative Dependency Management tool") 28 | (description "Updatecli is a tool used to apply file update strategies.") 29 | (home-page "https://github.com/updatecli/updatecli") 30 | (license licenses:asl2.0))) 31 | --------------------------------------------------------------------------------