GNU bug report logs -
#60358
[PATCH] gnu: Add gnulib.
Previous Next
Reported by: Vivien Kraus <vivien <at> planete-kraus.eu>
Date: Tue, 27 Dec 2022 17:05:01 UTC
Severity: normal
Tags: patch
Done: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
Message #17 received at 60358 <at> debbugs.gnu.org (full text, mbox):
Am Dienstag, dem 27.12.2022 um 17:23 +0100 schrieb Vivien Kraus:
> * gnu/packages/build-tools.scm (gnulib-latest): New variable. This
> one always
> tracks the latest upstream commit, so don’t use it as an input.
> (gnulib): New variable. This is a "recent" snapshot.
The preferred package:patch ratio is 1:1.
> ---
> gnu/packages/build-tools.scm | 71
> ++++++++++++++++++++++++++++++++++++
> 1 file changed, 71 insertions(+)
>
> diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-
> tools.scm
> index 6c1350c44f..062956f685 100644
> --- a/gnu/packages/build-tools.scm
> +++ b/gnu/packages/build-tools.scm
> @@ -38,6 +38,7 @@ (define-module (gnu packages build-tools)
> #:use-module (guix gexp)
> #:use-module (guix download)
> #:use-module (guix git-download)
> + #:use-module (guix git)
> #:use-module (guix build-system cmake)
> #:use-module (gnu packages)
> #:use-module (gnu packages adns)
> @@ -48,11 +49,13 @@ (define-module (gnu packages build-tools)
> #:use-module (gnu packages cpp)
> #:use-module (gnu packages elf)
> #:use-module (gnu packages linux)
> + #:use-module (gnu packages lisp)
> #:use-module (gnu packages logging)
> #:use-module (gnu packages lua)
> #:use-module (gnu packages ninja)
> #:use-module (gnu packages package-management)
> #:use-module (gnu packages pcre)
> + #:use-module (gnu packages perl)
> #:use-module (gnu packages pkg-config)
> #:use-module (gnu packages pretty-print)
> #:use-module (gnu packages protobuf)
> @@ -803,3 +806,71 @@ (define-public genie
> same settings to multiple projects. It supports generating projects
> using GNU
> Makefiles, JSON Compilation Database, and experimentally Ninja.")
> (license license:bsd-3))))
> +
> +;; Gnulib is a source code library. The developers encourage you to
> develop
> +;; your programs with the latest commit of gnulib. However, gnulib
> is also
> +;; used to bootstrap some GNU programs. To avoid rebuilding the
> world when a
> +;; new gnulib commit is pushed, gnulib as a native input must use a
> known
> +;; snapshot of the library.
> +
> +(define-public gnulib-latest
> + ;; Use this to develop.
> + (package
> + (name "gnulib-latest")
> + (version "latest")
> + (source
> + (git-checkout
> + (url "https://git.savannah.gnu.org/git/gnulib.git")))
Don't. If you need to check out a particular commit, use the --with-
commit CLI option or a transformer.
> + (build-system gnu-build-system)
> + (arguments
> + (list
> + #:phases
> + #~(modify-phases %standard-phases
> + (delete 'configure)
> + (replace 'install
> + (lambda _
> + (install-file "gnulib-tool"
> + (string-append #$output "/bin"))
> + (copy-recursively "."
> + (string-append #$output
> "/share/gnulib-srcdir")))))
> + #:tests? #f)) ;; Tests are syntax and indentation checks for
> the
> + ;; maintainer.
> + (inputs ;; Shebangs for some auxiliary build files.
> + (list python perl clisp))
> + (home-page "https://www.gnu.org/software/gnulib/")
> + (synopsis "GNU portability library")
> + (description
> + "Gnulib is a library that provides common functions from the
> glibc to your
> +programs, in order to enhance portability across operating systems.
> It also
> +provides common maintainer tools for gnu packages. This package
> always tracks
> +the latest commit in gnulib. @strong{For packages dependencies,
> please use the
> +@code{gnulib} package instead.} The latter provides a recent enough
> snapshot.")
> + (native-search-paths
> + (list
> + (search-path-specification
> + (variable "GNULIB_SRCDIR")
> + (files (list "share/gnulib-srcdir")))))
> + (license
> + (list license:lgpl2.0+ license:gpl3+))))
> +
> +(define-public gnulib
> + ;; Use this as a native input.
> + (package
> + (inherit gnulib-latest)
> + (name "gnulib")
> + (version "2022-12-27")
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://git.savannah.gnu.org/git/gnulib.git")
> + (commit "fde75446490e18d2539817ca418ab8adf73b02d3")))
Don't throw together raw commits and commit-less versions. Use git-
version instead.
> + (sha256
> + (base32
> + "0fjbdhwi9025wyq39rwc2j6aazfmagx056kkbvxx6bs97i80dcim"))))
> + (synopsis "GNU portability library")
> + (description
> + "Gnulib is a library that provides common functions from the
> glibc to your
> +programs, in order to enhance portability across operating systems.
> It also
> +provides common maintainer tools for gnu packages. This package
> provides a
> +recent snapshot of gnulib.")))
Cheers
This bug report was last modified 2 years and 131 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.