aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2017 Kei Kebreau <address@hidden>
;;; Copyright © 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; 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 <http://www.gnu.org/licenses/>.

(define-module (gnu packages pascal)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module (guix gexp)
  #:use-module (guix utils)
  #:use-module (guix build-system gnu)
  #:use-module (gnu packages)
  #:use-module (gnu packages base)
  #:use-module (gnu packages bootstrap)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages gcc)
  #:use-module (gnu packages glib)
  #:use-module (gnu packages gtk)
  #:use-module (gnu packages ncurses)
  #:use-module (gnu packages perl)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages xml)
  #:use-module (gnu packages xorg)
  #:use-module (ice-9 match))

(define %fpc-version "3.2.2")
(define %fpc-release-date "2021/05/19")

;;; FIXME: Bootstrap properly; these are prebuilt binaries.
(define fpc-bootstrap-aarch64
  (origin
    (method url-fetch)
    (uri (string-append "mirror://sourceforge/freepascal/Linux/"
                        %fpc-version "/fpc-" %fpc-version ".aarch64-linux.tar"))
    (sha256
     (base32
      "0lalar6qk04acb2j8p6654hlz0yj6zdab046zi82zf5mnvwp155k"))))

(define fpc-bootstrap-i386
  (origin
    (method url-fetch)
    (uri (string-append "mirror://sourceforge/freepascal/Linux/"
                        %fpc-version "/fpc-" %fpc-version ".i386-linux.tar"))
    (sha256
     (base32
      "0n4r85dsr86zlk7r4hbd4nj14sda6rwgdgzxg4gj4q981fn80agn"))))

(define fpc-bootstrap-powerpc
  (origin
    (method url-fetch)
    (uri (string-append "mirror://sourceforge/freepascal/Linux/"
                        %fpc-version "/fpc-" %fpc-version ".powerpc-linux.tar"))
    (sha256
     (base32
      "1zhdypm99bzs5706g4nxwajiadv82jwd87cr300lrivy1rzj5h4a"))))

(define fpc-bootstrap-powerpc64le
  (origin
    (method url-fetch)
    (uri (string-append "mirror://sourceforge/freepascal/Linux/"
                        %fpc-version "/fpc-" %fpc-version ".powerpc64le-linux.tar"))
    (sha256
     (base32
      "12p3lmi1vn7agpw4pipp6ra8r85319sjcvbzh7z6kangmry7vic3"))))

(define fpc-bootstrap-x86_64
  (origin
    (method url-fetch)
    (uri (string-append "mirror://sourceforge/freepascal/Linux/"
                        %fpc-version "/fpc-" %fpc-version ".x86_64-linux.tar"))
    (sha256
     (base32
      "10qywczzz4qlcmmzxb7axnvwniq76ky130vd8iv6ljskll4c7njs"))))

(define-public fpc
  (package
    (name "fpc")
    (version %fpc-version)
    (source (origin
              (method url-fetch)
              (uri (string-append "mirror://sourceforge/freepascal/Source/"
                                  version "/fpcbuild-" version ".tar.gz"))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "07qna2pvlpa7j0i2wdixjxpizdvffv51nbr1waczk0xv8cq9kvw5"))
              (patches (search-patches "fpc-reproducibility.patch"
                                       "fpc-glibc-2.34-compat.patch"))
              (modules '((guix build utils)))
              (snippet
               '(begin
                  (rename-file "install/doc" "install-doc")
                  (rename-file "install/man" "install-man")
                  ;; Contains executables--some of them created by
                  ;; closed-source compilers.
                  (delete-file-recursively "install")
                  (mkdir-p "install")
                  (rename-file "install-doc" "install/doc")
                  (rename-file "install-man" "install/man")
                  (delete-file "fpcsrc/tests/utils/dosbox/exitcode.exe")))))
    (build-system gnu-build-system)
    (supported-systems '("i686-linux" "x86_64-linux"
                         "powerpc-linux" "powerpc64le-linux"
                         "aarch64-linux"))
    (inputs
     (list expat glibc ncurses zlib))
    (native-inputs
     ;; FPC is built with FPC, so we need bootstrap binaries.
     `(("fpc-binary" ,(match (or (%current-target-system)
                                 (%current-system))
                       ("aarch64-linux" fpc-bootstrap-aarch64)
                       ("i686-linux" fpc-bootstrap-i386)
                       ("powerpc-linux" fpc-bootstrap-powerpc)
                       ("powerpc64le-linux" fpc-bootstrap-powerpc64le)
                       ("x86_64-linux" fpc-bootstrap-x86_64)
                       ;; XXX: Wrong, but innocuous so long
                       ;; `supported-systems' is kept in sync.
                       (_ fpc-bootstrap-x86_64)))))
    (arguments
     `(#:tests? #f ; no tests available
       #:phases
       (let ((fpc-bootstrap-path
              (string-append (getcwd) "/" ,name "-" ,version "/fpc-bin"))
             (arch ,(cond
                      ((target-aarch64?) "aarch64")
                      ((target-x86-32?) "i386")
                      ((target-ppc32?) "powerpc")
                      ((target-ppc64le?) "powerpc64")
                      ((target-x86-64?) "x86_64")
                      (else "unknown"))))
         (modify-phases %standard-phases
           (add-after 'unpack 'unpack-bin
             (lambda* (#:key inputs #:allow-other-keys)
               (mkdir-p fpc-bootstrap-path)
               (with-directory-excursion fpc-bootstrap-path
                 (invoke "tar" "xvf" (assoc-ref inputs "fpc-binary")))))
           (add-after 'unpack-bin 'install-bin
             (lambda* (#:key inputs #:allow-other-keys)
               (with-directory-excursion
                 (string-append fpc-bootstrap-path "/fpc-" ,version "."
                                arch "-linux")
                 (let ((binary-tarball
                        (string-append "binary." arch "-linux.tar"))
                       (compiler-tarball
                        (string-append "base." arch "-linux.tar.gz"))
                       (fpcmake-tarball
                        (string-append "utils-fpcm." arch "-linux.tar.gz")))
                   ;; Only the base compiler and fpcmake are needed.
                   (invoke "tar" "xvf" binary-tarball compiler-tarball
                           fpcmake-tarball)
                   (invoke "tar" "xvf" compiler-tarball "-C..")
                   (invoke "tar" "xvf" fpcmake-tarball "-C..")))))
           (add-after 'patch-source-shebangs 'patch-inline-shebangs
             (lambda _
               (substitute* "fpcsrc/compiler/cscript.pas"
                 (("#!/bin/sh") (string-append "#!" (which "sh"))))))
           (add-before 'build 'patch-release-date
             (lambda _                  ; reproducibility
               (substitute* (list "fpcdocs/prog.tex"
                                  "fpcsrc/packages/amunits/examples/sortdemo.pas"
                                  "fpcsrc/packages/libogcfpc/src/ogc/libversion.inc"
                                  "fpcsrc/utils/fpcres/fpcjres.pas"
                                  "fpcsrc/utils/fpcres/fpcres.pas"
                                  "fpcsrc/utils/fpcm/fpcmmain.pp"
                                  "fpcsrc/utils/fpcreslipo/fpcreslipo.pp"
                                  "fpcsrc/compiler/version.pas")
                 (("\\{\\$I(NCLUDE)? %DATE%\\}")
                  (format #f "'~a'" ,%fpc-release-date)))))
           (replace 'configure
             (lambda* (#:key inputs outputs #:allow-other-keys)
               (substitute* "fpcsrc/compiler/systems/t_linux.pas"
                 ;; Point to the current glibc dynamic linker.
                 (("/lib/ld-linux.so.2")
                  (search-input-file inputs ,(glibc-dynamic-linker)))
                 (("/lib64/ld-linux-x86-64.so.2")
                  (search-input-file inputs ,(glibc-dynamic-linker)))
                 (("/lib/ld.so.1")
                  (search-input-file inputs ,(glibc-dynamic-linker)))
                 (("/lib64/ld64.so.[12]")
                  (search-input-file inputs ,(glibc-dynamic-linker)))
                 (("/lib/ld-linux(-armhf)?.so.3")
                  (search-input-file inputs ,(glibc-dynamic-linker)))
                 (("/lib/ld-linux-aarch64.so.1")
                  (search-input-file inputs ,(glibc-dynamic-linker)))
                 ;; Add glibc to ld's search path.
                 (("if \\(isdll\\) then")
                  (string-append
                   "Add('SEARCH_DIR(\""
                   (assoc-ref inputs "libc") "/lib"
                   "\")');\n"
                   "if (isdll) then")))
               (substitute* "fpcsrc/compiler/options.pas"
                 (("exepath\\+'../etc/'")
                  (string-append "'" (assoc-ref outputs "out") "/etc'")))))
           (replace 'build
             (lambda* (#:key inputs #:allow-other-keys)
               (let* ((fpc-bin (string-append fpc-bootstrap-path "/bin"))
                      (fpc (string-append fpc-bin "/fpc"))
                      (fpcmake (string-append fpc-bin "/fpcmake")))
                 ;; The fpc binary needs to run the ppc[arch] binary (which
                 ;; does the actual compiling) in this directory.
                 (setenv "PATH"
                        (string-append (getenv "PATH") ":"
                                       fpc-bootstrap-path
                                       "/lib/fpc/" ,version))
                 (setenv "FPC" fpc)
                 ;; Specify target operating system using "-T" option
                 (invoke fpcmake (string-append "-T" arch "-linux"))
                 (invoke "make" "build" "NOGDB=1"))))
           (replace 'install
             (lambda* (#:key outputs #:allow-other-keys)
               (let* ((out (assoc-ref outputs "out"))
                     ;; This is the suffix of the ppc[arch] binary.
                     (suffix ,(cond
                                ((target-aarch64?) "a64")
                                ((target-x86-32?) "386")
                                ((target-ppc32?) "ppc")
                                ((target-ppc64le?) "ppc64")
                                ((target-x86-64?) "x64")
                                (else "")))
                     (ppc (string-append "ppc" suffix)))
                 (invoke "make" "install" "NOGDB=1"
                         (string-append "INSTALL_PREFIX=" out))
                 ;; Remove files that fail RUNPATH validation.
                 ;; TODO: Fix it instead.
                 (delete-file (string-append out "/lib/libpas2jslib.so"))
                 ;; Add a symlink to the ppc[arch] binary so fpc works.
                 (symlink (string-append out "/lib/fpc/" ,version "/" ppc)
                          (string-append out "/bin/" ppc))
                 ;; Install the example configuration file.
                 (mkdir (string-append out "/etc"))
                 (invoke
                   (string-append out "/lib/fpc/" ,version "/samplecfg")
                   (string-append out "/lib/fpc/" ,version)
                   (string-append out "/etc")))))
           (add-after 'install 'wrap
             (lambda* (#:key inputs outputs #:allow-other-keys)
               (let* ((out (assoc-ref outputs "out"))
                      (fpc (string-append out "/bin/fpc"))
                      (ld (assoc-ref inputs "ld-wrapper"))
                      (glibc (assoc-ref inputs "glibc")))
                 (wrap-program fpc
                   `("PATH" ":" prefix (,(string-append ld "/bin")))
                   `("LIBRARY_PATH" ":" prefix
                     (,(string-append glibc "/lib")))))))))))
    ;; fpc invokes gcc, so make sure LIBRARY_PATH et.al are set.
    ;(native-search-paths (package-native-search-paths gcc))
    (home-page "https://www.freepascal.org")
    (synopsis "The Free Pascal Compiler")
    (description
     "Free Pascal is a professional Object Pascal compiler.  It supports the
Turbo Pascal 7.0, Delphi, and Mac Pascal dialects.  Free Pascal also supports
many useful extensions to the Pascal programming language.")
    ;; The majority of the software included is licensed under the GPLv2
    ;; or later.  For more licensing details, see the appropriate files in
    ;; the install/doc directory of the source distribution.
    (license license:gpl2+)))

(define-public p2c
  (package
    (name "p2c")
    (version "2.02")
    (source (origin
              (method url-fetch)
              (uri (string-append "http://users.fred.net/tds/lab/p2c/p2c-"
                                  version ".zip"))
              (sha256
               (base32
                "17q6s0vbz298pks80bxf4r6gm8kwbrml1q3vfs6g6yj75sqj58xs"))))
    (build-system gnu-build-system)
    (arguments
     (list
      #:make-flags
      #~(list (string-append "CC=" #$(cc-for-target))
              (string-append "HOMEDIR=" #$output "/lib/p2c")
              (string-append "INCDIR=" #$output "/include/p2c")
              (string-append "BINDIR=" #$output "/bin")
              (string-append "LIBDIR=" #$output "/lib")
              (string-append "MANDIR=" #$output "/share/man/man1")
              "MANFILE=p2c.man.inst")
      #:test-target "test"
      #:phases
      #~(modify-phases %standard-phases
          (delete 'configure)
          (add-before 'build 'mkdir
            (lambda _
              (mkdir-p (string-append #$output "/share/man"))
              (mkdir-p (string-append #$output "/lib"))
              (mkdir-p (string-append #$output "/bin"))
              (mkdir-p (string-append #$output "/include"))))
          (add-before 'build 'chdir
            (lambda _ (chdir "src"))))))
    (native-inputs
     (list perl unzip which))
    (synopsis "p2c converts Pascal programs to C programs")
    (description "This package provides @command{p2c}, a program to convert
Pascal source code to C source code, and @command{p2cc}, a compiler for
Pascal programs.")
    (home-page "http://users.fred.net/tds/lab/p2c/")
    (license license:gpl2+)))

(define-public lazarus
  (package
    (name "lazarus")
    (version "2.2.6")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url
                     "https://gitlab.com/freepascal.org/lazarus/lazarus.git")
                    (commit (string-append "lazarus_"
                                           (string-join (string-split version
                                                                      #\.)
                                                        "_")))))
              (file-name (string-append name "-" version "-checkout"))
              (sha256
               (base32
                "0hpk6fxmy1h1q0df41jg1vnp8g8vynrg5v5ad43lv229nizfs3wj"))))
    (build-system gnu-build-system)
    (arguments
     (list #:tests? #f ;No tests exist
           #:make-flags #~(list (string-append "INSTALL_PREFIX="
                                               #$output))
           #:phases #~(modify-phases %standard-phases
                        (delete 'configure)
                        (replace 'build
                          (lambda* (#:key inputs outputs #:allow-other-keys)
                            (let* ((libdirs (map (lambda (x)
                                                   (assoc-ref inputs x))
                                                 '("glib" "gdk-pixbuf"
                                                   "gtk+"
                                                   "libx11"
                                                   "libx11"
                                                   "pango"
                                                   "cairo"
                                                   "atk")))
                                   (libs (append (map (lambda (name)
                                                        (string-append "-Fl"
                                                                       name
                                                                       "/lib"))
                                                      libdirs)
                                                 (map (lambda (name)
                                                        (string-append
                                                         "-k-rpath=" name
                                                         "/lib")) libdirs))))
                              (setenv "LAZARUS_LIBPATHS"
                                      (string-join libs " "))
                              (setenv "MAKEFLAGS"
                                      (string-append "LHELP_OPT="
                                                     (string-join libs "\\ "))))
                            (invoke "make" "bigide"))))))
    (native-inputs (list fpc pkg-config))
    (inputs (list glib
                  gdk-pixbuf
                  gtk+-2
                  libx11
                  pango
                  cairo
                  atk))
    (synopsis "Integrated development environment for Pascal")
    (description "This package provides an integrated development environment
for Pascal.")
    (home-page "https://www.lazarus-ide.org/")
    ;; Some Android stuff is under asl2.0. Some artwork is under CC-BY-SA-3
    ;; or CC-BY-SA-4.
    ;; Some components are under MIT expat.
    ;; The Freetype components are under Freetype license.
    ;; A lot of components are under LGPL-2+.
    ;; synedit and turbopower_ipro are under MPL-1.1
    ;; PascalScript is under a zlib-like license.
    (license (list license:gpl2+ license:lgpl2.0+))))
sg-tooltip'>This reverts commit 07a80e30a10e2a6ed4760f12711f8a91391398e4. This commit affects rust crates that are inputs to librsvg, which causes many packages to be rebuilt. Efraim Flashner 2021-12-02gnu: Change source file-name suffix in rust packages....* gnu/packages/rust-apps.scm (rust-cbindgen)[source]: Change source file-name suffix from '.crate' to '.tar.gz'. * gnu/packages/crates-graphics.scm (rust-ansi-term-0.12): Likewise. (rust-ansi-term-0.11): Likewise. (rust-rgb-0.8): Likewise. * gnu/packages/crates-io.scm (rust-adler32-1): Likewise. (rust-antidote-1): Likewise. (rust-atty-0.2): Likewise. (rust-autocfg-0.1): Likewise. (rust-backtrace-sys-0.1): Likewise. (rust-base-x-0.2): Likewise. (rust-bencher-0.1): Likewise. (rust-bitflags-1): Likewise. (rust-blas-sys-0.7): Likewise. (rust-cargon-0.0): Likewise. (rust-cblas-sys-0.1): Likewise. (rust-cc-1): Likewise. (rust-cfg-if-0.1): Likewise. (rust-clang-sys-0.26): Likewise. (rust-clap-2): Likewise. (rust-clicolors-control-1): Likewise. (rust-cloudabi-0.1): Likewise. (rust-cloudabi-0.0): Likewise. (rust-cmake-0.1): Likewise. (rust-compiler-builtins-0.1): Likewise. (rust-constant-time-eq-0.1): Likewise. (rust-core-foundation-sys-0.6): Likewise. (rust-data-encoding-2): Likewise. (rust-defmac-0.2): Likewise. (rust-defmac-0.1): Likewise. (rust-dirs-1): Likewise. (rust-discard-1): Likewise. (rust-doc-comment-0.3): Likewise. (rust-dtoa-0.4): Likewise. (rust-dtoa-0.2): Likewise. (rust-fallible-iterator-0.2): Likewise. (rust-filetime-0.2): Likewise. (rust-findshlibs-0.5): Likewise. (rust-fixedbitset-0.2): Likewise. (rust-fixedbitset-0.1): Likewise. (rust-fnv-1): Likewise. (rust-foreign-types-shared-0.2): Likewise. (rust-fs-extra-1): Likewise. (rust-fuchsia-cprng-0.1): Likewise. (rust-fuchsia-zircon-0.3): Likewise. (rust-fuchsia-zircon-sys-0.3): Likewise. (rust-futures-0.1): Likewise. (rust-futures-core-preview-0.3): Likewise. (rust-futures-cpupool-0.1): Likewise. (rust-futures-io-preview-0.3): Likewise. (rust-futures-sink-preview-0.3): Likewise. (rust-getopts-0.2): Likewise. (rust-glob-0.3): Likewise. (rust-glob-0.2): Likewise. (rust-heapsize-0.4): Likewise. (rust-heapsize-0.3): Likewise. (rust-heapsize-plugin-0.1): Likewise. (rust-heck-0.3): Likewise. (rust-hex-0.3): Likewise. (rust-hex-0.2): Likewise. (rust-hostname-0.1): Likewise. (rust-iovec-0.1): Likewise. (rust-itoa-0.4): Likewise. (rust-itoa-0.1): Likewise. (rust-json-0.11): Likewise. (rust-kernel32-sys-0.2): Likewise. (rust-language-tags-0.2): Likewise. (rust-lazy-static-1): Likewise. (rust-libloading-0.5): Likewise. (rust-lock-api-0.1): Likewise. (rust-log-0.4): Likewise. (rust-maplit-1): Likewise. (rust-matches-0.1): Likewise. (rust-matrixmultiply-0.2): Likewise. (rust-matrixmultiply-0.1): Likewise. (rust-md5-0.7): Likewise. (rust-md5-0.6): Likewise. (rust-memmap-0.7): Likewise. (rust-memmap-0.6): Likewise. (rust-mime-0.3): Likewise. (rust-miniz-oxide-0.3): Likewise. (rust-miniz-sys-0.1): Likewise. (rust-miow-0.3): Likewise. (rust-miow-0.2): Likewise. (rust-modifier-0.1): Likewise. (rust-net2-0.2): Likewise. (rust-nodrop-0.1): Likewise. (rust-nodrop-union-0.1): Likewise. (rust-num-traits-0.1): Likewise. (rust-numtoa-0.1): Likewise. (rust-openssl-probe-0.1): Likewise. (rust-owning-ref-0.4): Likewise. (rust-parity-wasm-0.40): Likewise. (rust-peeking-take-while-0.1): Likewise. (rust-percent-encoding-2): Likewise. (rust-percent-encoding-1): Likewise. (rust-permutohedron-0.2): Likewise. (rust-pico-sys-0.0): Likewise. (rust-pkg-config-0.3): Likewise. (rust-plain-0.2): Likewise. (rust-plugin-0.2): Likewise. (rust-pocket-resources-0.3): Likewise. (rust-ppv-lite86-0.2): Likewise. (rust-proc-macro2-1): Likewise. (rust-quick-error-2): Likewise. (rust-quick-error-1): Likewise. (rust-quote-1): Likewise. (rust-rand-0.7): Likewise. (rust-rand-0.6): Likewise. (rust-rand-0.3): Likewise. (rust-rand-chacha-0.1): Likewise. (rust-rand-core-0.4): Likewise. (rust-rand-core-0.3): Likewise. (rust-rand-hc-0.2): Likewise. (rust-rand-hc-0.1): Likewise. (rust-rand-isaac-0.1): Likewise. (rust-rand-jitter-0.1): Likewise. (rust-rand-os-0.1): Likewise. (rust-rand-pcg-0.3): Likewise. (rust-rand-pcg-0.2): Likewise. (rust-rand-pcg-0.1): Likewise. (rust-rand-xorshift-0.1): Likewise. (rust-rawpointer-0.2): Likewise. (rust-rawpointer-0.1): Likewise. (rust-rdrand-0.4): Likewise. (rust-redox-syscall-0.1): Likewise. (rust-redox-termios-0.1): Likewise. (rust-resolv-conf-0.6): Likewise. (rust-rustc-demangle-0.1): Likewise. (rust-rustc-serialize-0.3): Likewise. (rust-rustc-std-workspace-core-1): Likewise. (rust-ryu-1): Likewise. (rust-safemem-0.3): Likewise. (rust-same-file-1): Likewise. (rust-schannel-0.1): Likewise. (rust-scoped-threadpool-0.1): Likewise. (rust-scoped-tls-1): Likewise. (rust-scoped-tls-0.1): Likewise. (rust-scopeguard-1): Likewise. (rust-scopeguard-0.3): Likewise. (rust-security-framework-sys-0.3): Likewise. (rust-semver-parser-0.9): Likewise. (rust-semver-parser-0.7): Likewise. (rust-serde-derive-1): Likewise. (rust-shlex-1): Likewise. (rust-shlex-0.1): Likewise. (rust-slab-0.4): Likewise. (rust-socket2-0.3): Likewise. (rust-sourcefile-0.1): Likewise. (rust-spin-0.5): Likewise. (rust-stacker-0.1): Likewise. (rust-static-assertions-1): Likewise. (rust-static-assertions-0.3): Likewise. (rust-stdweb-internal-runtime-0.1): Likewise. (rust-stdweb-internal-test-macro-0.1): Likewise. (rust-streaming-stats-0.2): Likewise. (rust-strsim-0.9): Likewise. (rust-strsim-0.8): Likewise. (rust-synstructure-test-traits-0.1): Likewise. (rust-tar-0.4): Likewise. (rust-tempdir-0.3): Likewise. (rust-tempfile-3): Likewise. (rust-term-0.4): Likewise. (rust-term-0.2): Likewise. (rust-termcolor-1): Likewise. (rust-termion-1): Likewise. (rust-termios-0.3): Likewise. (rust-thread-id-3): Likewise. (rust-thread-local-1): Likewise. (rust-thread-local-0.3): Likewise. (rust-threadpool-1): Likewise. (rust-time-0.1): Likewise. (rust-tokio-mock-task-0.1): Likewise. (rust-toml-0.5): Likewise. (rust-tracing-core-0.1): Likewise. (rust-traitobject-0.1): Likewise. (rust-try-from-0.3): Likewise. (rust-try-lock-0.2): Likewise. (rust-typeable-0.1): Likewise. (rust-typemap-0.3): Likewise. (rust-typenum-1): Likewise. (rust-ucd-trie-0.1): Likewise. (rust-ucd-util-0.1): Likewise. (rust-unicode-xid-0.2): Likewise. (rust-unicode-xid-0.1): Likewise. (rust-unreachable-1): Likewise. (rust-unsafe-any-0.4): Likewise. (rust-untrusted-0.7): Likewise. (rust-vcpkg-0.2): Likewise. (rust-vec-map-0.8): Likewise. (rust-version-check-0.9): Likewise. (rust-version-check-0.1): Likewise. (rust-void-1): Likewise. (rust-wasi-0.5): Likewise. (rust-wasm-bindgen-shared-0.2): Likewise. (rust-wasm-bindgen-test-macro-0.2): Likewise. (rust-widestring-0.4): Likewise. (rust-winapi-0.3): Likewise. (rust-winapi-0.2): Likewise. (rust-winapi-build-0.1): Likewise. (rust-winapi-util-0.1): Likewise. (rust-wincolor-1): Likewise. (rust-winutil-0.1): Likewise. (rust-ws2-32-sys-0.2): Likewise. (rust-xattr-0.2): Likewise. (rust-xdg-2): Likewise. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Z572 2021-11-11gnu: Build all Rust packages using the latest rustc....The older Rusts are made private variables; they shouldn't be used by users as they are not tested and are only built at stage 1, which makes them unsuitable to compile Rust applications. * gnu/packages/crates-io.scm (rust-cargo-0.53)[arguments]: Remove #:rust argument. (rust-cxx-1, rust-cxx-build-1, rust-cxx-gen-0.7): Likewise. * gnu/packages/crates-io.scm (rust-cxx-gen-0.7, rust-cxxbridge-macro-1, rust-postgres-0.19): Likewise. (rust-rust-decimal-1, rust-sized-chunks-0.6, rust-socket2-0.4): Likewise. (rust-tokio-postgres-0.7, rust-im-rc-15): Likewise. * gnu/packages/gnome.scm (librsvg): Likewise. * gnu/packages/gnuzilla.scm (mozjs-78): Likewise. * gnu/packages/rust-apps.scm (hyperfine, tectonic rust-analyzer, rust-cargo-c): Likewise. * gnu/packages/shells.scm (nushell): Likewise. * gnu/packages/syndication.scm (newsboat): Likewise. * gnu/packages/rust.scm: (rust-1.39, rust-1.40, rust-1.41, rust-1.42) (rust-1.43, rust-1.44, rust-1.45, rust-1.46, rust-1.47, rust-1.48, rust-1.49) (rust-1.50, rust-1.51, rust-1.52, rust-1.53, rust-1.54): Make variables private. Maxim Cournoyer 2021-11-08Merge remote-tracking branch 'origin/master' into core-updates-frozenEfraim Flashner 2021-11-04gnu: Add i3status-rust....* gnu/packages/rust-apps.scm (i3status-rust): New variable. * gnu/packages/patches/i3status-rust-enable-unstable-features.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> phodina