[gnutls-devel] GnuTLS | Various improvements leading to more easily build with GNU Guix (!1931)

Read-only notification of GnuTLS library development activities gnutls-devel at lists.gnutls.org
Sun Feb 9 14:46:04 CET 2025



Maxim Cournoyer created a merge request: https://gitlab.com/gnutls/gnutls/-/merge_requests/1931

Project:Branches: apteryks/gnutls:add-guix-scm-file-and-related-improvements to gnutls/gnutls:master
Author:   Maxim Cournoyer




This makes it easier to build on Guix System or other non File-Hierarchy-Standard distributions (e.g. NixOS).  It also add a `guix.scm` file which can be used to enter a complete development environment with just `guix shell`.

The build environment of GnuTLS is complex enough that this should help when wanting to run for example `make distcheck`, as I need to do to investigate a fix for https://gitlab.com/gnutls/gnutls/-/merge_requests/1911, now reverted.

* tests: Remove dependency on `which' command.

A POSIX equivalent (command) works just as well.

* tests/pkcs11-tool.sh: Replace 'which' invocations with 'command'.
* tests/tpm2.sh: Likewise.
* tests/tpmtool_test.sh: Likewise.

* tests: Lookup softhsm tools from PATH.

This is more portable, e.g. on non-FHS systems.

* tests/testpkcs11.softhsm (init_card): Use POSIX's 'command' to test
if softhsm2-util or softhsm is available from PATH.
tests: Check softhsm2-util from PATH.
* tests/pkcs11/softhsm.h (softhsm_bin): Check from PATH.

* bootstrap: Invoke gnulib-tool script via 'sh'.

This is to workaround the lack /bin/sh on non-FHS systems such as
Guix.

* guix.scm: New file.

This is to make bootstrapping a complete development environment
easier, along other Guix-provided perks such as build isolation and
reproducibility tooling, etc.

* README.md: Document.
* guix.scm: New file.
* Makefile.am (EXTRA_DIST): Register it.

* Makefile.am: Hint at libdane requirement for distcheck target.

* scripts: Use /usr/bin/env for more portable shebangs.

Lookup perl from PATH instead of from its fixed expected location,
which may not exist on non-FHS systems like Guix System and NixOS.

* doc/scripts/gdoc: Adjust shebang to use /usr/bin/env.
* doc/scripts/getfuncs.pl: Likewise.

## Checklist
 * [ ] Commits have `Signed-off-by:` with name/author being identical to the commit author
 * [ ] Code modified for feature
 * [ ] Test suite updated with functionality tests
 * [ ] Test suite updated with negative tests
 * [ ] Documentation updated / NEWS entry present (for non-trivial changes)
 * [ ] CI timeout is 2h or higher (see Settings/CICD/General pipelines/Timeout)

## Reviewer's checklist:
 * [ ] Any issues marked for closing are addressed
 * [ ] There is a test suite reasonably covering new functionality or modifications
 * [ ] Function naming, parameters, return values, types, etc., are consistent and according to `CONTRIBUTION.md`
 * [ ] This feature/change has adequate documentation added
 * [ ] No obvious mistakes in the code

-- 
Reply to this email directly or view it on GitLab: https://gitlab.com/gnutls/gnutls/-/merge_requests/1931
You're receiving this email because of your account on gitlab.com.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gnupg.org/pipermail/gnutls-devel/attachments/20250209/8abae8b9/attachment.html>


More information about the Gnutls-devel mailing list