1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-07 13:40:36 +02:00
Files
guix/gnu/packages/nutrition.scm
Nicolas Graves 266d84d922 guix: build-system: Set pypi-uri in pyproject, drop python module.
After this commit, when both modules are imported:

- if pyproject is imported before, the warning is 'pypi-uri' is
deprecated, use '(@ (guix build-system pyproject) pypi-uri)' instead

- if python is imported before, the warning is `pypi-uri' imported from
both (guix build-system python) and (guix build-system pyproject)

This seems convenient enough to warn for deprecation in the short term,
while avoiding any breaking changes.

* guix/build-system/pyproject.scm (pypi-uri): Move the procedure from
(guix build-system python) here.

* guix/build-system/python (pypi-uri): Drop definition, import it
from (guix build-system pyproject) and deprecate it.

* gnu/packages/openldap.scm: Reorder modules to get the right warning.

* gnu/packages/pypy.scm: Likewise.

* gnu/packages/*.scm : Drop module (guix build-system python).

* tests/import/pypi.scm: Likewise.

Merges: https://codeberg.org/guix/guix/pulls/7448
Change-Id: Ib42f53bc545052eb7918a25afe9db6d5fc2cb834
Reviewed-by: Nguyễn Gia Phong <cnx@loang.net>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-04 22:42:07 +01:00

152 lines
5.8 KiB
Scheme

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2022 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2024 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; 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 nutrition)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system pyproject)
#:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages databases)
#:use-module (gnu packages enchant)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages image)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages time)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xml))
(define-public python-scrape-schema-recipe
(package
(name "python-scrape-schema-recipe")
(version "0.2.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/micahcochran/scrape-schema-recipe")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1yrqawnxp1k9ps0c920qjbbaxpmz3cf8bzyjs1kimvlxym78b614"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'configure-tests
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(substitute* "test_scrape.py"
(("DISABLE_NETWORK_TESTS = False")
"DISABLE_NETWORK_TESTS = True"))))))))
(native-inputs (list python-pytest python-setuptools))
(propagated-inputs
(list python-extruct
python-importlib-resources
python-isodate
python-requests))
(home-page "https://github.com/micahcochran/scrape-schema-recipe")
(synopsis "HTML Recipe format extractor")
(description "This tool extracts cooking recipe from HTML structured data
in the @url{https://schema.org/Recipe} format.")
(license asl2.0)))
(define-public gourmet
;; Use the latest commit to gain Python 3 support.
(let ((revision "0")
(commit "8af29c8ded24528030e5ae2ea3461f61c1e5a575"))
(package
(name "gourmet")
(version (git-version "0.17.4" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thinkle/gourmet")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"08fbw6zp32ws6w9czwy2sqc9c9izlkglsskshj2114d0l79z4gj8"))
(patches (search-patches "gourmet-sqlalchemy-compat.patch"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
;; XXX: Some tests in deeper directories or otherwise discovered by
;; Pytest are broken.
#~(list "--ignore-glob=gourmet/tests/**/*.py")
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'set-environemnt
(lambda _
(setenv "HOME" "/tmp")
(system "Xvfb &")
(setenv "DISPLAY" ":0")))
(add-after 'install 'install-dekstop-file-and-icons
(lambda _
(define share (string-append #$output "/share"))
(install-file ".flatpak/io.github.thinkle.Gourmet.desktop"
(string-append share "/applications"))
(install-file ".flatpak/io.github.thinkle.Gourmet.svg"
(string-append share "/icons/Gourmet")))))))
(native-inputs
(list python-dogtail
python-pytest
python-selenium
python-setuptools
xorg-server-for-tests))
(inputs
(list gtk+
python-argcomplete
python-beautifulsoup4
python-gst
python-keyring
python-lxml
python-pillow
python-pycairo
python-pyenchant
python-pygobject
python-requests
python-scrape-schema-recipe
python-sqlalchemy
python-toml))
(home-page "https://thinkle.github.io/gourmet/")
(synopsis "Recipe organizer")
(description
"Gourmet Recipe Manager is a recipe organizer that allows you to collect,
search, organize, and browse your recipes. Gourmet can also generate shopping
lists and calculate nutritional information. It imports Mealmaster,
MasterCook and KRecipe files and exports PDFs, webpages, and other formats.")
(license gpl2+))))