;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Danny Milosavljevic ;;; Copyright © 2020 Tobias Geerinckx-Rice ;;; Copyright © 2021 Efraim Flashner ;;; ;;; 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 ada) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system gnu) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (ice-9 match)) (define-public ada/ed (package (name "ada-ed") (version "1.11.2") (source (origin (method git-fetch) (uri (git-reference ;; The HOME-PAGE sources, mirrored by one of the original authors. (url "https://github.com/daveshields/AdaEd") (commit "57daecfb7ccadfd9aaf13b4d54f51065affbe599"))) (sha256 (base32 "1k97a8nqsvbsadizrmhhypcx758sxqkai8wq3ckk853qxvzaasd8")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (supported-systems (list "i686-linux" "x86_64-linux" "armhf-linux" "aarch64-linux" "powerpc-linux")) (outputs (list "out" "debug")) (arguments `(#:system ,@(match (%current-system) ;; This package predates 64-bit PCs: a ‘64-bit’ adaexec segfaults. ;; Force a 32-bit build targeting a similar architecture. ("aarch64-linux" `("armhf-linux")) ("x86_64-linux" `("i686-linux")) (_ (list (%current-system)))) #:make-flags (let ((out (assoc-ref %outputs "out"))) (list (string-append "CFLAGS=-g" ; compile with :debug symbols " -DOP_SYS='\"GNU\"'" ; sic; quoting gets mangled somewhere " -DSYSTEM_V" ; closest to modern GNU " -DWORDSIZE32" " -DALIGN4") ; suffices on both x86 and ARM "LFLAGS=" ; don't link against -lg (string-append "BINDIR=" out "/bin") (string-append "LIBDIR=" out "/lib") (string-append "MANDIR=" out "/share/man"))) #:modules ((guix build gnu-build-system) (guix build utils) (srfi srfi-26)) #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-sources (lambda _ ;; Rename the custom (and incompatible) getline() implementation. (substitute* "adalex.c" (("getline") "adaed_getline")) ;; Work around ‘error: initializer element is not constant’ by not ;;2023-05-04transformations: Add '--with-configure-flag'....* guix/transformations.scm (transform-package-configure-flag): New procedure. (%transformation-options, %transformation-options) (show-transformation-options-help/detailed): Add it. * tests/transformations.scm ("options->transformation, with-configure-flag"): New test. * doc/guix.texi (Package Transformation Options): Document it. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Sarthak Shah 2023-01-16transformations: Add '--with-version'....This is a followup to 8aeccc6240ec45f0bc7bed655e0c8149ae4253eb. * guix/transformations.scm (package-with-upstream-version): New procedure. (transform-package-latest)[package-with-latest-upstream]: Remove. Use 'package-with-upstream-version' instead. (transform-package-version): New procedure. (%transformations, %transformation-options) (show-transformation-options-help/detailed): Add '-with-version'. * tests/transformations.scm ("options->transformation, with-version"): New test. * doc/guix.texi (Package Transformation Options): Document '--with-version'. (Defining Package Variants): Mention it. Ludovic Courtès 2022-12-26upstream-updater: Rename record field....The next commits will make the functions, which are currently importing the latest version of a package, change into importing the latest or a given version of the package (for those updaters supporting specifying a version). Thus the name ‘latest‘ is no longer appropriate. * guix/upstream.scm (upstream-updater) Rename field [latest] to [import]. (lookup-updater, package-latest-release) Adjust fieldname accordingly. * guix/gnu-maintenance.scm (%gnu-updater, %gnu-ftp-updater, %savannah-updater, %sourceforge-updater, %xorg-updater, %kernel.org-updater, %generic-html-updater), guix/import/cpan.scm (%cpan-updater), guix/import/cran.scm (%cran-updater, %bioconductor-updater), guix/import/crate.scm (%crate-updater), guix/import/egg.scm (%egg-updater), guix/import/elpa.scm (%elpa-updater), guix/import/gem.scm (%gem-updater), guix/import/git.scm (%generic-git-updater), guix/import/github.scm (%github-updater), guix/import/gnome.scm (%gnome-updater), guix/import/hackage.scm (%hackage-updater), guix/import/hexpm.scm (%hexpm-updater), guix/import/kde.scm (%kde-updater), guix/import/launchpad.scm (%launchpad-updater), guix/import/minetest.scm (%minetest-updater), guix/import/opam.scm (%opam-updater), guix/import/pypi.scm (%pypi-updater), guix/import/stackage.scm (%stackage-updater), tests/import-github.scm (found-