From 00d5930b9b5c1bb456b2f25b0558446843a312a3 Mon Sep 17 00:00:00 2001 From: Dale Mellor Date: Fri, 31 May 2024 10:56:45 +0100 Subject: [PATCH] Mcron update. * dmbcs/development/packages/mcron.scm: mostly re-written * gnu/packages/curl.scm: removed --- dmbcs/development/packages/mcron.scm | 44 ++-- gnu/packages/curl.scm | 293 --------------------------- 2 files changed, 16 insertions(+), 321 deletions(-) delete mode 100644 gnu/packages/curl.scm diff --git a/dmbcs/development/packages/mcron.scm b/dmbcs/development/packages/mcron.scm index cc97576..723922d 100644 --- a/dmbcs/development/packages/mcron.scm +++ b/dmbcs/development/packages/mcron.scm @@ -27,34 +27,22 @@ #:use-module (guix build-system gnu) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) + #:use-module ((gnu packages guile-xyz) #:prefix guix-base:) #:use-module (srfi srfi-1)) (define-public mcron -(package - (name "mcron") - (version "1.2.3+dmbcs") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://rdmp.org/dmbcs/mcron.git") - (commit "a9d16d8e7c902e178060b26cfd1f986b002669a2"))) - (sha256 (base32 "0y00r6vjlgv3i6rym3ky1392cch0xqnb04scakr550fpg09rlxp7")))) - ;; Be sure to un-comment the use-module line near the top. - ;; (inputs - ;; `(("guile" ,(specification->package "guile@3.0.4+dmbcs")))) - (inputs - `(("guile" ,(specification->package "guile@3")))) - (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 license:gpl3+))) + (package + (inherit guix-base:mcron) + (name "mcron") + (version "1.2.3+dmbcs") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://rdmp.org/dmbcs/mcron.git") + (commit "a16fd52bc5053032079533169baec131e271fbd4"))) + (sha256 (base32 "0gvhqq0cyjm6gd2jhvy8xfhny4mbdnp4z0nqzk11dvnwzs9wk09z")))) + ;; Be sure to un-comment the use-module line near the top. + ;; (inputs + ;; `(("guile" ,(specification->package "guile@3.0.4+dmbcs")))) + (home-page "https://rdmp.org/dmbcs/mcron"))) diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm deleted file mode 100644 index c8db551..0000000 --- a/gnu/packages/curl.scm +++ /dev/null @@ -1,293 +0,0 @@ -;;; 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)))