aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019, 2023 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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 (test-store-deduplication)
  #:use-module (guix tests)
  #:use-module (guix store)
  #:use-module (guix store roots)
  #:use-module ((guix utils) #:select (call-with-temporary-directory))
  #:use-module ((guix build utils) #:select (delete-file-recursively))
  #:use-module ((guix config) #:select (%state-directory))
  #:use-module (srfi srfi-1)
  #:use-module (srfi srfi-64))

(define %store #f)

(test-begin "store-roots")

;; The 'open-connection' call below gets guix-daemon to create
;; %STATE-DIRECTORY/profiles.
(set! %store (open-connection))

(test-assert "gc-roots, regular root"
  (let* ((item (add-text-to-store %store "something"
                                  (random-text)))
         (root (string-append %gc-roots-directory "/test-gc-root")))
    (symlink item root)
    (let ((result (member root (gc-roots))))
      (delete-file root)
      result)))

(test-assert "gc-roots, indirect root"
  (call-with-temporary-directory
   (lambda (directory)
     (let* ((item (add-text-to-store %store "something"
                                     (random-text)))
            (root (string-append directory "/gc-root")))
       (symlink item root)
       (add-indirect-root %store root)
       (let ((result (member root (gc-roots))))
         (delete-file root)
         result)))))

(test-end "store-roots")
yspnego: Update to 0.8.0.c4droid * gnu/packages/python-xyz.scm (python-pyspnego): Update to 0.8.0. [source]: Download from pypi. [arguments]: Remove custom 'check phase. [build-system]: Switch to pyproject-build-system. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> 2023-09-07gnu: python-duckdb: Update to 0.8.1.Greg Hogan * gnu/packages/python-xyz.scm (python-duckdb): Update to 0.8.1. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> 2023-09-03gnu: python-pint: Fix build.Vinicius Monego * gnu/packages/python-xyz (python-pint)[build-system]: Switch to pyproject-build-system. [arguments]: Skip a failing test. [native-inputs]: Sort alphabetically and add python-importlib-metadata. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> 2023-09-03gnu: python-sparse: Update to 0.14.0.Vinicius Monego * gnu/packages/python-xyz.scm (python-sparse): Update to 0.14.0. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> 2023-09-03gnu: python-sparse: Fix build.Vinicius Monego * gnu/packages/python-xyz.scm (python-sparse)[native-inputs]: Add python-importlib-metadata. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> 2023-09-02gnu: python-itemloaders: Update to 1.1.0.Vinicius Monego * gnu/packages/python-xyz.scm (python-itemloaders): Update to 1.1.0. [build-system]: Use pyproject-build-system. [native-inputs]: Add python-pytest. 2023-09-02gnu: python-itemadapter: Update to 0.8.0.Vinicius Monego * gnu/packages/python-xyz.scm (python-itemadapter): Update to 0.8.0. 2023-08-30gnu: Add python-glcontext.Daniel Meißner * gnu/packages/python-xyz.scm (python-glcontext): New variable. Signed-off-by: Andreas Enge <andreas@enge.fr> 2023-08-29gnu: Add python-milc.Jean-Pierre De Jesus DIAZ * gnu/packages/python-xyz.scm (python-milc): New variable. Signed-off-by: Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com> Signed-off-by: Vagrant Cascadian <vagrant@debian.org> 2023-08-29gnu: Add python-dotty-dict.Jean-Pierre De Jesus DIAZ * gnu/packages/python-xyz.scm (python-dotty-dict): New variable. Signed-off-by: Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com> Signed-off-by: Vagrant Cascadian <vagrant@debian.org> 2023-08-29gnu: Add python-hjson.Jean-Pierre De Jesus DIAZ * gnu/packages/python-xyz.scm (python-hjson): New variable. Signed-off-by: Jean-Pierre De Jesus DIAZ <jean@foundationdevices.com> Signed-off-by: Vagrant Cascadian <vagrant@debian.org> 2023-08-20gnu: Add python-ffmpeg-python.Parnikkapore * gnu/packages/python-xyz.scm (python-ffmpeg-python): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org> 2023-08-18gnu: python-asn1tools: Update to 0.166.0.fanquake * gnu/packages/python-xyz.scm (python-asn1tools): Update to 0.166.0. Signed-off-by: Andreas Enge <andreas@enge.fr> 2023-08-14gnu: python-setuptools-rust: Update to 1.6.0.Efraim Flashner * gnu/packages/python-xyz.scm (python-setuptools-rust): Update to 1.6.0. [build-system]: Switch to pyproject-build-system. [native-inputs]: Remove python-setuptools-scm. 2023-08-01 gnu: Add python-pymentjgart * gnu/packages/python-xyz.scm (python-pyment): New public variable. 2023-08-01gnu: snakemake-7: Fix version reporting.Ricardo Wurmus * gnu/packages/python-xyz.scm (snakemake-7)[arguments]: Add phase 'patch-version and use G-exp. [build-system]: Use pyproject-build-system. 2023-08-01gnu: snakemake-6: Fix version reporting.Ricardo Wurmus * gnu/packages/python-xyz.scm (snakemake-6)[arguments]: Add phase 'patch-version and use G-exp. [build-system]: Use pyproject-build-system. 2023-07-23gnu: python-srsly: Update to 2.4.7.Tobias Geerinckx-Rice * gnu/packages/python-xyz.scm (python-srsly): Update to 2.4.7. 2023-07-23gnu: python-llfuse: Update to 1.4.4.Tobias Geerinckx-Rice * gnu/packages/python-xyz.scm (python-llfuse): Update to 1.4.4. 2023-07-23gnu: fuse@3: Bind to default FUSE variable.Tobias Geerinckx-Rice * gnu/packages/linux.scm (fuse): Rename this… (fuse-2): …to this, and… (fuse-3): …rename this… (fuse): …to this! (fuse-static): Rename this… (fuse-2-static): …to this. Adjust all users. 2023-07-19gnu: python-nbconvert: Remove texlive-updmap.cfg as propagated input.Nicolas Goaziou `texlive-updmap.cfg' builds "updmap.cfg" file for texlive packages in native inputs, because those do not benefit from the profile hook doing the very same thing. Consequently, `texlive-updmap.cfg' should not appear in propagated inputs. Moreover, XeTeX do not rely on "updmap.cfg" to find fonts; this is a second reason to remove it from propagated inputs in this particular package. * gnu/packages/python-xyz.scm (python-nbconvert)[propagated-inputs]: Remove TEXLIVE-UPDMAP.CFG call. Add TEXLIVE-COLLECTION-BASIC. Remove TEXLIVE-IFTEX, which is already included in TEXLIVE-COLLECTION-BASIC. Sort inputs alphabetically. 2023-07-19gnu: python-nbconvert: Fix build.Nicolas Goaziou This fixes <https://issues.guix.gnu.org/64729>. * gnu/packages/python-xyz.scm (python-nbconvert)[propagated-inputs]: Add TEXLIVE-ENVIRON, TEXLIVE-PDFCOL, TEXLIVE-PGF, and TEXLIVE-XETEX. 2023-07-16gnu: python-sshtunnel: Fix build.Tobias Geerinckx-Rice * gnu/packages/python-xyz.scm (python-sshtunnel)[native-inputs]: Add python-mock. 2023-07-16gnu: python-wand: Fix build.Hilton Chain Fixes <https://issues.guix.gnu.org/64350>. * gnu/packages/python-xyz.scm (python-wand)[arguments]<#:phases>: Pass tests? to 'check. Reported-by: Thorsten Wilms <t_w_@freenet.de> Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr> 2023-07-18gnu: python-numpy-documentation: Fix build.Nicolas Goaziou * gnu/packages/python-xyz.scm (python-numpy-documentation)[native-inputs]: Use TEXLIVE-UPDMAP.CFG. Add TEXLIVE-LATEXMK and TEXLIVE-XETEX. 2023-07-18gnu: python-ipython-documentation: Fix build.Nicolas Goaziou * gnu/packages/python-xyz.scm (python-ipython-documentation)[native-inputs]: Use TEXLIVE-UPDMAP.CFG. Add TEXLIVE-LATEXMK and TEXLIVE-XETEX. 2023-07-18gnu: Rationalize texlive-updmap.cfg and texlive-tiny inputs.Nicolas Goaziou TEXLIVE-UPDMAP.CFG and TEXLIVE-TINY should only be used as native inputs. Also remove texlive packages already provided by them. * doc/build.scm (pdf-manual): * gnu/packages/algebra.scm (pari-gp): * gnu/packages/bioinformatics.scm (discrover): (phyml): (velvet): * gnu/packages/chemistry.scm (yaehmop): * gnu/packages/chez.scm (stex-bootstrap): (chez-web): (chez-sockets): * gnu/packages/cran.scm (r-prereg): * gnu/packages/docbook.scm (dblatex): * gnu/packages/emacs-xyz.scm (emacs-auctex): * gnu/packages/engineering.scm (fastcap): * gnu/packages/fsf.scm (book-faif): * gnu/packages/graphviz.scm (dot2tex): * gnu/packages/maths.scm (hypre): * gnu/packages/ocaml.scm (unison): (ocaml-bibtex2html): * gnu/packages/plotutils.scm (asymptote): * gnu/packages/python-xyz.scm (python-nbconvert): (python-pypandoc): * gnu/packages/radio.scm (gnuradio): (libosmo-dsp): * gnu/packages/statistics.scm (r-with-tests): * gnu/packages/tex.scm (texlive-makecmds): (texlive-innerscript): (teximpatient): (texlive-xkeyval): Remove texlive packages already provided by TEXLIVE-UPDMAP.CFG. Don't add TEXLIVE-TINY or TEXLIVE-UPDMAP.CFG as inputs.