diff --git a/configure.ac b/configure.ac index 107e6ca..20e9019 100644 --- a/configure.ac +++ b/configure.ac @@ -2,6 +2,7 @@ dnl Guile-Git --- GNU Guile bindings of libgit2 dnl Copyright © 2016-2018 Erik Edrosa dnl Copyright © 2017, 2019, 2020, 2021 Ludovic Courtès dnl Copyright © 2019 Mathieu Othacehe +dnl Copyright © 2021 Maxim Cournoyer dnl dnl This file is part of Guile-Git. dnl @@ -43,15 +44,20 @@ AS_IF([test "x$LIBGIT2_LIBDIR" = "x"], [ ]) AC_SUBST([LIBGIT2_LIBDIR]) +dnl Does the 'git_remote_callbacks' struct have a 'remote_ready' field? +dnl It was added in 1.2.0, obsoleting 'resolve_url'. +AC_CHECK_MEMBER([git_remote_callbacks.remote_ready], + [HAVE_REMOTE_CALLBACKS_REMOTE_READY="#true"], + [HAVE_REMOTE_CALLBACKS_REMOTE_READY="#false"], + [[#include ]]) +AC_SUBST([HAVE_REMOTE_CALLBACKS_REMOTE_READY]) + dnl Does the 'git_remote_callbacks' struct have a 'resolve_url' field? dnl It's missing in libgit2 0.28.5, added in 1.0. -AC_CHECK_MEMBER([git_remote_callbacks.resolve_url], [], [], +AC_CHECK_MEMBER([git_remote_callbacks.resolve_url], + [HAVE_REMOTE_CALLBACKS_RESOLVE_URL="#true"], + [HAVE_REMOTE_CALLBACKS_RESOLVE_URL="#false"], [[#include ]]) -if test "x$ac_cv_member_git_remote_callbacks_resolve_url" = "xyes"; then - HAVE_REMOTE_CALLBACKS_RESOLVE_URL="#true" -else - HAVE_REMOTE_CALLBACKS_RESOLVE_URL="#false" -fi AC_SUBST([HAVE_REMOTE_CALLBACKS_RESOLVE_URL]) dnl Those binaries are required for ssh authentication tests. diff --git a/git/configuration.scm.in b/git/configuration.scm.in index c45f698..64c4360 100644 --- a/git/configuration.scm.in +++ b/git/configuration.scm.in @@ -19,11 +19,17 @@ (define-module (git configuration) #:export (%libgit2 + %have-remote-callbacks-remote-ready? %have-remote-callbacks-resolve-url?)) (define %libgit2 "@LIBGIT2_LIBDIR@/libgit2") +(define %have-remote-callbacks-remote-ready? + ;; True if the 'git_remote_callbacks' struct has a + ;; 'remote_ready' field. + @HAVE_REMOTE_CALLBACKS_REMOTE_READY@) + (define %have-remote-callbacks-resolve-url? ;; True if the 'git_remote_callbacks' struct has a 'resolve_url' field. @HAVE_REMOTE_CALLBACKS_RESOLVE_URL@) diff --git a/git/structs.scm b/git/structs.scm index ca51728..be3d050 100644 --- a/git/structs.scm +++ b/git/structs.scm @@ -637,6 +637,12 @@ type to 'specified for this to take effect." (push-update-reference ,(bs:pointer uint8)) (push-negotiation ,(bs:pointer uint8)) (transport ,(bs:pointer uint8)) + + ;; Added in libgit2 1.2.0. + ,@(if %have-remote-callbacks-remote-ready? + `((remote-ready ,(bs:pointer uint8))) + '()) + (payload ,(bs:pointer uint8)) ;; libgit2 1.0 added this field, which is missing from 0.28.5, ces/networking.scm (%ntp-servers): Replace 0.guix.pool.ntp.org with 2.guix.pool.ntp.org. Fixes: <https://issues.guix.gnu.org/71462> Change-Id: I8bf3dc1cec58e7977c5369739b8662f817eeb186 Maxim Cournoyer 2024-10-16Add copyright lines....They are related to commit eb1515849efa3e0d3d838cb04ea87100084068a0. * doc/guix.texi: Add copyright message. * gnu/services/networking.scm: Add copyright message. Change-Id: Ica510fd6e80228f124f0c084403e1dea7c9baa1b Signed-off-by: Ludovic Courtès <ludo@gnu.org> Nigko Yerden 2022-12-10install: 'umount-cow-store' retries upon EBUSY....Possibly fixes <https://issues.guix.gnu.org/59884>. * gnu/build/install.scm (umount*): New procedure. (unmount-cow-store): Use it instead of 'umount'. Ludovic Courtès 2022-11-15install: Validate symlink target in evaluate-populate-directive....* gnu/build/install.scm (evaluate-populate-directive): By default, error when the target of a symlink doesn't exist. Always ensure TARGET ends with "/". (populate-root-file-system): Call evaluate-populate-directive with #:error-on-dangling-symlink #t and add comment. Maxim Cournoyer content to 'torrc' computed-file. (tor-shepherd-service): Add file-system-mapping(s). Change-Id: I1b0319358778c7aee650bc843e021a6803a1cf3a Signed-off-by: Ludovic Courtès <ludo@gnu.org> Nigko Yerden 2024-10-07services: networking: Add 'version' field to dhcp-client-configuration....* gnu/services/networking.scm (<dhcp-client-configuration>) [version]: New field. (dhcp-client-shepherd-service): Use 'match-record' instead of various accessors. Honor the new 'version field'. Include the version the PID file name when a non-default version is used. * doc/guix.texi (Networking Setup) <dhcp-client-configuration> [version]: Document it. Change-Id: I6236ae160967c95fe7a2c1785821cc9b0c183e77 Maxim Cournoyer 2024-06-24services: networking: Allow dhcp-client to use a config file....* gnu/services/networking.scm (dhcp-client-configuration) [config-file]: New field. (dhcp-client-configuration-config-file): New accessor. (dhcp-client-shepherd-service): Use the config file when invoking dhclient if supplied. * doc/guix.texi: Document it. Change-Id: I286de4ddf59c5e606bf1fe0a7510570869e62b1a Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Richard Sent 2024-06-02services: tor: Log to stderr rather than syslog....* gnu/services/networking.scm (tor-configuration->torrc): Change ‘Log’ directive to ‘stderr’. (tor-shepherd-service): Remove /dev/log file system mapping. Change-Id: I2e33ad8033f884ce59d929a4181172325331efe0 Ludovic Courtès