From 2ea5ab7cc2408b316edfea947c5c522d57031758 Mon Sep 17 00:00:00 2001 From: Dale Mellor Date: Mon, 26 Feb 2024 10:37:51 +0000 Subject: [PATCH] The DMBCS Guix channel. --- .gitignore | 1 + .guix-authorizations | 4 + dmbcs/development/packages/guile.scm | 137 +++++++++ dmbcs/development/packages/mcron.scm | 56 ++++ dmbcs/development/packages/micro-server.scm | 38 +++ gnu/packages/curl.scm | 293 ++++++++++++++++++++ packages/curlpp.scm | 39 +++ packages/hack-font.scm | 28 ++ 8 files changed, 596 insertions(+) create mode 100644 .gitignore create mode 100644 .guix-authorizations create mode 100644 dmbcs/development/packages/guile.scm create mode 100644 dmbcs/development/packages/mcron.scm create mode 100644 dmbcs/development/packages/micro-server.scm create mode 100644 gnu/packages/curl.scm create mode 100644 packages/curlpp.scm create mode 100644 packages/hack-font.scm diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b25c15b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*~ diff --git a/.guix-authorizations b/.guix-authorizations new file mode 100644 index 0000000..76030c9 --- /dev/null +++ b/.guix-authorizations @@ -0,0 +1,4 @@ +(authorizations + (version 0) + (("E23C 21ED 864F F4F3 A711 4CDF CA47 1FD5 0161 8A49" + (name "dale")))) diff --git a/dmbcs/development/packages/guile.scm b/dmbcs/development/packages/guile.scm new file mode 100644 index 0000000..6f6c2ac --- /dev/null +++ b/dmbcs/development/packages/guile.scm @@ -0,0 +1,137 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès +;;; Copyright © 2014 Cyril Roelandt +;;; Copyright © 2014, 2016, 2018 David Thompson +;;; Copyright © 2014, 2017, 2018 Mark H Weaver +;;; Copyright © 2015, 2017 Christopher Allan Webber +;;; Copyright © 2016 Jan Nieuwenhuizen +;;; Copyright © 2016, 2017 Leo Famulari +;;; Copyright © 2016, 2019, 2020 Ricardo Wurmus +;;; Copyright © 2017 Andy Wingo +;;; Copyright © 2017 Marius Bakke +;;; Copyright © 2017, 2019 Mathieu Othacehe +;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Amirouche +;;; Copyright © 2018 Danny Milosavljevic +;;; Copyright © 2018 Eric Bavier +;;; Copyright © 2019 Taylan Kammer +;;; +;;; This file is part of GNU Guix. +;;; +;;; 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. +;;; +;;; 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 GNU Guix. If not, see . + +(define-module (dmbcs development packages guile) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) + #:use-module (gnu packages bdw-gc) + #:use-module (gnu packages compression) + #:use-module (gnu packages dbm) + #:use-module (gnu packages flex) + #:use-module (gnu packages gawk) + #:use-module (gnu packages gettext) + #:use-module (gnu packages guile) + #:use-module (gnu packages hurd) + #:use-module (gnu packages libffi) + #:use-module (gnu packages libunistring) + #:use-module (gnu packages linux) + #:use-module (gnu packages m4) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages readline) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages version-control) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #:use-module (guix build-system guile) + #:use-module (guix deprecation) + #:use-module (guix utils) + #:use-module (ice-9 match) + #:use-module ((srfi srfi-1) #:prefix srfi-1:)) + +;;; Commentary: +;;; +;;; GNU Guile, and modules and extensions. +;;; +;;; Code: + + +(define-public guile + ;; This is the latest Guile stable version. + (package + (inherit guile-2.2) + (name "guile") + (version "3.0.4+dmbcs") + (source (origin + (inherit (package-source guile-2.2)) + (method git-fetch) + (uri (git-reference + (url "https://rdmp.org/dmbcs/guile.git") + (commit "a3a28334a3d5c397dfc24dfbceab113f993c5f0b"))) + (sha256 + (base32 + "0zw2s748d0gj31q9wc23mmgdjc8fpl6577v5b2lqj5ca4m69d8x0")) + (patches '()))) + (arguments + ;; XXX: JIT-enabled Guile crashes in obscure ways on GNU/Hurd. + (if #f ;; (hurd-target?) + (substitute-keyword-arguments (package-arguments guile-2.2) + ((#:configure-flags flags ''()) + `(cons "--disable-jit" ,flags))) + (substitute-keyword-arguments (package-arguments guile-2.2) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (replace 'bootstrap + (lambda _ + ;; Disable broken tests. + ;; TODO: Fix them! + (substitute* "test-suite/tests/gc.test" + (("\\(pass-if \"after-gc-hook gets called\"" m) + (string-append "#;" m))) + (substitute* "test-suite/tests/version.test" + (("\\(pass-if \"version reporting works\"" m) + (string-append "#;" m))) + ;; Warning: Unwind-only `out-of-memory' exception; skipping pre-unwind handler. + ;; FAIL: test-out-of-memory + (substitute* "test-suite/standalone/Makefile.am" + (("(check_SCRIPTS|TESTS) \\+= test-out-of-memory") "")) + + (patch-shebang "build-aux/git-version-gen") + (invoke "sh" "autogen.sh") + #t))))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("flex" ,flex) + ("texinfo" ,texinfo) + ("gettext" ,gettext-minimal) + ,@(package-native-inputs guile-2.2))) + (native-search-paths + (list (search-path-specification + (variable "GUILE_LOAD_PATH") + (files '("share/guile/site/3.0"))) + (search-path-specification + (variable "GUILE_LOAD_COMPILED_PATH") + (files '("lib/guile/3.0/site-ccache" + "share/guile/site/3.0"))))))) + + +;;; guile.scm ends here + diff --git a/dmbcs/development/packages/mcron.scm b/dmbcs/development/packages/mcron.scm new file mode 100644 index 0000000..87b7172 --- /dev/null +++ b/dmbcs/development/packages/mcron.scm @@ -0,0 +1,56 @@ +;;;; mcron.scm -- Guix package definition +;;; Copyright © 2016 Mathieu Lirzin +;;; Copyright © 2018 宋文武 +;;; Copyright © 2019 Efraim Flashner +;;; +;;; This file is part of GNU Mcron. +;;; +;;; GNU Mcron 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. +;;; +;;; GNU Mcron 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 GNU Mcron. If not, see . + +(define-module (dmbcs development packages mcron) + #:use-module (ice-9 popen) + #:use-module (ice-9 rdelim) + #:use-module (gnu) + #:use-module (guix) + #:use-module (guix build-system gnu) + #:use-module (guix git-download) + #:use-module (guix licenses) + #:use-module (srfi srfi-1)) + +(define-public mcron +(package + (name "mcron") + (version "1.2.0+dmbcs") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://rdmp.org/dmbcs/mcron.git") + (commit "833ae20c31d9951e7721bb55441df2630aae4765"))) + (sha256 (base32 "0a5smlnmkcgccam0hgcwcxr7b5df3sxbb2bikxrv13qxfr4xpbwg")))) + (inputs + `(("guile" ,(specification->package "guile@3.0.4+dmbcs")))) + (native-inputs + `(("autoconf" ,(specification->package "autoconf")) + ("automake" ,(specification->package "automake")) + ("help2man" ,(specification->package "help2man")) + ("pkg-config" ,(specification->package "pkg-config")) + ("texinfo" ,(specification->package "texinfo")) + ("tzdata" ,(specification->package "tzdata")))) + (build-system gnu-build-system) + (arguments `(#:phases (modify-phases %standard-phases (delete 'check)))) + (synopsis "Daemon to schedule unattended jobs") + (description "Daemon to schedule unattended jobs") + (home-page "https://gnu.org/software/mcron") + (license gpl3+))) diff --git a/dmbcs/development/packages/micro-server.scm b/dmbcs/development/packages/micro-server.scm new file mode 100644 index 0000000..cd7ca83 --- /dev/null +++ b/dmbcs/development/packages/micro-server.scm @@ -0,0 +1,38 @@ +(define-module (dmbcs development packages micro-server) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system cmake) + #:use-module (guix licenses) + #:use-module (packages curlpp) + #:use-module (gnu packages) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages gawk)) + + +(define-public dmbcs-micro-server + (package + (name "dmbcs-micro-server") + (version "0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://rdmp.org/dmbcs/micro-server.git") + (commit "4e10087710a3591b228f845e36c6171f4b1feac3"))) + (sha256 (base32 "1gp9ax7x3mc9zzi0b3fgynsr9bn12cmdysbkylsva7544vzgdd5a")))) + (build-system cmake-build-system) + (arguments `(#:phases (modify-phases %standard-phases (delete 'check)))) + (native-inputs + `(("gcc-toolchain" ,(specification->package "gcc-toolchain@10")) + ("texinfo" ,(specification->package "texinfo")) + ("pkg-config" ,pkg-config))) + (propagated-inputs `(("curlpp" ,curlpp) ("libgcrypt" ,libgcrypt) )) + (synopsis "Yet another C++ web server class") + (description + (string-append "A C++ web service module.")) + (home-page "https://rdmp.org/dmbcs/micro-server") + (license gpl3+))) + + +dmbcs-micro-server diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm new file mode 100644 index 0000000..c8db551 --- /dev/null +++ b/gnu/packages/curl.scm @@ -0,0 +1,293 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013, 2014, 2015 Andreas Enge +;;; Copyright © 2015 Mark H Weaver +;;; Copyright © 2015 Tomáš Čech +;;; Copyright © 2015 Ludovic Courtès +;;; Copyright © 2016, 2017, 2019 Leo Famulari +;;; Copyright © 2017, 2019, 2020 Marius Bakke +;;; Copyright © 2017 Efraim Flashner +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018 Roel Janssen +;;; Copyright © 2019 Ricardo Wurmus +;;; Copyright © 2020 Jakub Kądziołka +;;; Copyright © 2020 Dale Mellor +;;; +;;; This file is part of GNU Guix. +;;; +;;; 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. +;;; +;;; 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 GNU Guix. If not, see . + +(define-module (gnu packages curl) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix utils) + #:use-module (guix build-system cmake) + #:use-module (guix build-system gnu) + #:use-module (guix build-system go) + #:use-module (gnu packages) + #:use-module (gnu packages compression) + #:use-module (gnu packages gawk) + #:use-module (gnu packages golang) + #:use-module (gnu packages guile) + #:use-module (gnu packages kerberos) + #:use-module (gnu packages libidn) + #:use-module (gnu packages openldap) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages tls) + #:use-module (gnu packages web) + #:use-module (srfi srfi-1)) + +(define-public curl + (package + (name "curl") + (version "7.69.1") + (source (origin + (method url-fetch) + (uri (string-append "https://curl.haxx.se/download/curl-" + version ".tar.xz")) + (sha256 + (base32 + "0kwxh76iq9fblk7iyv4f75bmcmasarp2bcm1mm07wyvzd7kdbiq3")) + (patches (search-patches "curl-use-ssl-cert-env.patch")))) + (build-system gnu-build-system) + (outputs '("out" + "doc")) ;1.2 MiB of man3 pages + (inputs `(("gnutls" ,gnutls) + ("libidn" ,libidn) + ("openldap" ,openldap) + ("mit-krb5" ,mit-krb5) + ("nghttp2" ,nghttp2 "lib") + ("zlib" ,zlib))) + (native-inputs + `(("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper))) + (native-search-paths + ;; These variables are introduced by curl-use-ssl-cert-env.patch. + (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"))) + ;; Note: This search path is respected by the `curl` command-line + ;; tool only. Patching libcurl to read it too would bring no + ;; advantages and require maintaining a more complex patch. + (search-path-specification + (variable "CURL_CA_BUNDLE") + (file-type 'regular) + (separator #f) ;single entry + (files '("etc/ssl/certs/ca-certificates.crt"))))) + (arguments + `(#:disallowed-references ("doc") + #:configure-flags (list "--with-gnutls" + (string-append "--with-gssapi=" + (assoc-ref %build-inputs "mit-krb5")) + "--disable-static") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'do-not-record-configure-flags + (lambda _ + ;; Do not save the configure options to avoid unnecessary references. + (substitute* "curl-config.in" + (("@CONFIGURE_OPTIONS@") + "\"not available\"")) + #t)) + (add-after + 'install 'move-man3-pages + (lambda* (#:key outputs #:allow-other-keys) + ;; Move section 3 man pages to "doc". + (let ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share/man")) + (rename-file (string-append out "/share/man/man3") + (string-append doc "/share/man/man3")) + #t))) + (replace + 'check + (lambda _ + (substitute* "tests/runtests.pl" + (("/bin/sh") (which "sh"))) + + ;; XXX FIXME: Test #1510 seems to work on some machines and not + ;; others, possibly based on the kernel version. It works on Guix System + ;; on x86_64 with linux-libre-4.1, but fails on Hydra for both i686 + ;; and x86_64 with the following error: + ;; + ;; test 1510...[HTTP GET connection cache limit (CURLOPT_MAXCONNECTS)] + ;; + ;; 1510: output (log/stderr1510) FAILED: + ;; --- log/check-expected 2015-06-27 07:45:53.166720834 +0000 + ;; +++ log/check-generated 2015-06-27 07:45:53.166720834 +0000 + ;; @@ -1,5 +1,5 @@ + ;; * Connection #0 to host server1.example.com left intact[LF] + ;; * Connection #1 to host server2.example.com left intact[LF] + ;; * Connection #2 to host server3.example.com left intact[LF] + ;; -* Closing connection 0[LF] + ;; +* Closing connection 1[LF] + ;; * Connection #3 to host server4.example.com left intact[LF] + (delete-file "tests/data/test1510") + + ;; The top-level "make check" does "make -C tests quiet-test", which + ;; is too quiet. Use the "test" target instead, which is more + ;; verbose. + (invoke "make" "-C" "tests" "test")))))) + (synopsis "Command line tool for transferring data with URL syntax") + (description + "curl is a command line tool for transferring data with URL syntax, +supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, +LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. +curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP +form based upload, proxies, cookies, file transfer resume, user+password +authentication (Basic, Digest, NTLM, Negotiate, kerberos...), proxy +tunneling, and so on.") + (license (license:non-copyleft "file://COPYING" + "See COPYING in the distribution.")) + (home-page "https://curl.haxx.se/"))) + +;; This package exists mainly to bootstrap CMake. It must not depend on +;; anything that uses cmake-build-system. +(define-public curl-minimal + (hidden-package + (package/inherit + curl + (name "curl-minimal") + (inputs (alist-delete "openldap" (package-inputs curl)))))) + +(define-public kurly + (package + (name "kurly") + (version "1.2.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/davidjpeacock/kurly.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "003jv2k45hg2svhjpy5253ccd250vi2r17x2zhm51iw54kgwxipm")))) + (build-system go-build-system) + (arguments + `(#:import-path "gitlab.com/davidjpeacock/kurly" + #:install-source? #f + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-documentation + (lambda* (#:key import-path outputs #:allow-other-keys) + (let* ((source (string-append "src/" import-path)) + (out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" ,name "-" ,version)) + (man (string-append out "/share/man/man1"))) + (with-directory-excursion source + (install-file "README.md" doc) + (mkdir-p man) + (copy-file "doc/kurly.man" + (string-append man "/kurly.1"))) + #t)))))) + (inputs + `(("go-github-com-alsm-ioprogress" ,go-github-com-alsm-ioprogress) + ("go-github-com-aki237-nscjar" ,go-github-com-aki237-nscjar) + ("go-github-com-urfave-cli" ,go-github-com-urfave-cli))) + (synopsis "Command-line HTTP client") + (description "kurly is an alternative to the @code{curl} program written in +Go. kurly is designed to operate in a similar manner to curl, with select +features. Notably, kurly is not aiming for feature parity, but common flags and +mechanisms particularly within the HTTP(S) realm are to be expected. kurly does +not offer a replacement for libcurl.") + (home-page "https://gitlab.com/davidjpeacock/kurly") + (license license:asl2.0))) + +(define-public guile-curl + (package + (name "guile-curl") + (version "0.6") + (source (origin + (method url-fetch) + (uri (string-append "http://www.lonelycactus.com/tarball/" + "guile_curl-" version ".tar.gz")) + (sha256 + (base32 + "1pxdhnk288ky6gkpad8i60m0p6404rdvls43lr1b5d3csrklyc70")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags (list (string-append + "--with-guilesitedir=" + (assoc-ref %outputs "out") + "/share/guile/site/2.2") + (string-append + "-with-guileextensiondir=" + (assoc-ref %outputs "out") + "/lib/guile/2.2/extensions")) + #:phases + (modify-phases %standard-phases + (add-after 'install 'patch-extension-path + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (curl.scm (string-append + out "/share/guile/site/2.2/curl.scm")) + (curl.go (string-append + out "/lib/guile/2.2/site-ccache/curl.go")) + (ext (string-append out "/lib/guile/2.2/" + "extensions/libguile-curl"))) + (substitute* curl.scm (("libguile-curl") ext)) + ;; The build system does not actually compile the Scheme module. + ;; So we can compile it and put it in the right place in one go. + (invoke "guild" "compile" curl.scm "-o" curl.go))))))) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs + `(("curl" ,curl) + ("guile" ,guile-2.2))) + (home-page "http://www.lonelycactus.com/guile-curl.html") + (synopsis "Curl bindings for Guile") + (description "@code{guile-curl} is a project that has procedures that allow +Guile to do client-side URL transfers, like requesting documents from HTTP or +FTP servers. It is based on the curl library.") + (license license:gpl3+))) + +(define-public curlpp + (package + (name "curlpp") + (version "0.8.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/jpbarrette/curlpp.git") + (commit "v0.8.1"))) + (sha256 + (base32 "1b0ylnnrhdax4kwjq64r1fk0i24n5ss6zfzf4hxwgslny01xiwrk")))) + (build-system cmake-build-system) + ;; There are no build tests to be had. + (arguments + '(#:tests? #f)) + ;; The installed version needs the header files from the C library. + (propagated-inputs + `(("curl" ,curl))) + (synopsis "C++ wrapper around libcURL") + (description + "A free and easy-to-use client-side C++ URL transfer library, +supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP; in +particular it supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, +kerberos, HTTP form based upload, proxies, cookies, user+password +authentication, file transfer resume, http proxy tunneling and more!") + (home-page "http://www.curlpp.org") + (license license:x11-style))) diff --git a/packages/curlpp.scm b/packages/curlpp.scm new file mode 100644 index 0000000..5b33385 --- /dev/null +++ b/packages/curlpp.scm @@ -0,0 +1,39 @@ +(define-module (packages curlpp) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #:use-module (guix build-system cmake) + #:use-module (guix licenses) + #:use-module (gnu packages curl) + #:use-module (gnu packages gawk)) + + +(define-public curlpp + (package + (name "curlpp") + (version "0.8.1") + (source (origin (method git-fetch) + (uri (git-reference + (url "https://github.com/jpbarrette/curlpp.git") + (commit "v0.8.1"))) + (sha256 (base32 "1b0ylnnrhdax4kwjq64r1fk0i24n5ss6zfzf4hxwgslny01xiwrk")))) + (build-system cmake-build-system) + (arguments `(#:phases (modify-phases %standard-phases (delete 'check)))) + (propagated-inputs `(("curl" ,curl))) + (synopsis "C++ wrapper around libcURL") + (description + (string-append + "A free and easy-to-use client-side URL transfer library," + "supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and" + "LDAP. libcurl supports HTTPS certificates, HTTP POST, HTTP PUT," + "FTP uploading, kerberos, HTTP form based upload, proxies," + "cookies, user+password authentication, file transfer resume, http" + "proxy tunneling and more! libcurl is highly portable, it builds" + "and works identically on numerous platforms, including Solaris," + "NetBSD, FreeBSD, OpenBSD, Darwin, HPUX, IRIX, AIX, Tru64, Linux," + "Windows, Amiga, OS/2, BeOs, Mac OS X, Ultrix, QNX, OpenVMS, RISC" + "OS, Novell NetWare, DOS and more... libcurl is free, thread-safe," + "IPv6 compatible, feature rich, well supported and fast." )) + (home-page "http://www.curlpp.org") + (license (non-copyleft "file://COPYING" + "See COPYING in the distribution.")))) diff --git a/packages/hack-font.scm b/packages/hack-font.scm new file mode 100644 index 0000000..3e5d773 --- /dev/null +++ b/packages/hack-font.scm @@ -0,0 +1,28 @@ +(define-module (packages hack-font) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system font) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages gawk)) + + +(define-public hack-font + (package + (name "hack-font") + (version "3.003") + (source (origin (method url-fetch) + (uri "https://github.com/source-foundry/Hack/releases/download/v3.003/Hack-v3.003-ttf.zip") + (sha256 (base32 "1b4hh8zkrx92m2v2vfkja1napb0192p0j3laqr0m018z3dih89hc")))) + (build-system font-build-system) + (synopsis "A typeface designed for source code") + (description + (string-append "A workhorse for code. No frills. No gimmicks. " + "Hack is hand-groomed and optically balanced to be " + "your go-to code face.")) + (home-page "https://sourcefoundry.org/hack/") + (license + ;; See https://github.com/source-foundry/Hack/issues/271 for details. + (list license:expat ; the Hack modifications to... + license:public-domain ; ...the DejaVu modifications to... + (license:x11-style ; ...the Bitstream Vera typeface + "file://LICENSE.md" "Bitstream Vera License")))))