This was working for me in the previous PKGBUILD, but now it runs through a ton of tests and fails spectacularly. Should this even be running tests just to install it?
Search Criteria
Package Details: papis 0.14-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/papis.git (read-only, click to copy) |
---|---|
Package Base: | papis |
Description: | Command-line document and bibliography manager |
Upstream URL: | https://github.com/papis/papis |
Licenses: | GPL-3.0-or-later |
Submitter: | JP-Ellis |
Maintainer: | gesh (tuurep) |
Last Packager: | gesh |
Votes: | 17 |
Popularity: | 0.61 |
First Submitted: | 2018-08-13 20:42 (UTC) |
Last Updated: | 2024-11-11 15:05 (UTC) |
Dependencies (44)
- python (python37AUR, python311AUR, python310AUR)
- python-arxivAUR
- python-beautifulsoup4
- python-bibtexparser (python-bibtexparser-gitAUR)
- python-click
- python-colorama (python-colorama-gitAUR)
- python-doiAUR
- python-dominate
- python-filetype
- python-habaneroAUR
- python-isbnlibAUR
- python-lxml
- python-platformdirs
- python-prompt_toolkit
- python-pygments
- python-pyparsing
- python-requests
- python-slugify
- python-stevedore
- python-yaml (python-yaml-gitAUR)
- python-build (make)
- python-hatchling (python-hatchling-gitAUR) (make)
- python-installer (python-installer-gitAUR) (make)
- python-sphinx-click (make)
- python-sphinx-design (python-sphinx_designAUR) (make)
- git (git-gitAUR, git-glAUR) (check)
- python-jinja (check)
- python-markdownifyAUR (check)
- python-pytest (check)
- python-pytest-cov (check)
- python-whoosh (check)
- fzf (fzf-gitAUR, skim-fzf-dropinAUR, skim-symlinksAUR) (optional) – alternative picker
- git (git-gitAUR, git-glAUR) (optional) – integration with git
- papis-rofi (papis-rofi-gitAUR) (optional) – alternative picker
- papis-zoteroAUR (optional) – imports from zotero
- python-chardet (optional) – improved encoding autodetection when scraping
- python-docutils (optional) – for papis.sphinx_ext (used by some plugins)
- python-jinja (optional) – jinja formatting
- python-markdownifyAUR (optional) – convert zenodo imports to markdown
- python-papis-scihub (python-papis-scihub-gitAUR) (optional) – imports from scihub
- python-pytest (optional) – for papis.testing (used by some plugins)
- python-sphinx (python-sphinx-gitAUR) (optional) – for papis.sphinx_ext (used by some plugins)
- python-sphinx-click (optional) – for papis.sphinx_ext (used by some plugins)
- python-whoosh (optional) – whoosh database backend
Required by (3)
Sources (2)
ExpandingMan commented on 2024-05-20 13:13 (UTC)
gesh commented on 2024-05-16 19:25 (UTC)
Oh, and BTW, you do need typing_extensions
in v0.13 -- it does get removed in v0.14, though.
gesh commented on 2024-05-16 19:22 (UTC)
So I ended up giving up on searching the precise fix to backport, but there's no need to disable tests entirely -- it suffices to disable this one test, by adding
-k 'not (test_config.py and test_get_configuration)'
to the pytest
invocation.
Double checking this works, then pushing.
gesh commented on 2024-05-16 12:44 (UTC) (edited on 2024-05-16 12:46 (UTC) by gesh)
Yeah, that one was failing for me as well.
Checking papis-git
to see if I can backport the fix.
... or in hindsight, can contact upstream to ask what I need to backport, they'll know better.
BoostCookie commented on 2024-05-16 12:31 (UTC)
@gesh I'm giving up on the tests. I just commented them out. Maybe they will work in v0.14. This is what I was getting btw:
=================================== FAILURES ===================================
____________________________ test_get_configuration ____________________________
def test_get_configuration() -> None:
settings = papis.config.get_general_settings_name()
config = papis.config.get_configuration()
assert type(config) is papis.config.Configuration
assert settings in config.keys()
> assert id(_CONFIGURATION) == id(config)
E assert 140158974375696 == 140158789915120
E + where 140158974375696 = id(<papis.config.Configuration object at 0x7f794de13710>)
E + and 140158789915120 = id(<papis.config.Configuration object at 0x7f7942e291f0>)
/build/papis/src/papis-0.13/tests/test_config.py:184: AssertionError
gesh commented on 2024-05-16 11:45 (UTC) (edited on 2024-05-16 11:46 (UTC) by gesh)
Actually, I had a different error in my commit -- I was missing python-setuptools
as a makedep (note that PEP517 just codifies a consistent invocation style for build backends, it doesn't itself contain a build backend.
I'm guessing the complaint about markdownify
a paru
bug, not a packaging bug. Just tested with a clean chroot, and after the above edits it builds fine, albeit failing one pytest
check.
In any case, as noted by the comment above that dep, it's only strictly needed if you want to test out the markdownify
integration ahead of installing that optdepend
, you can comment it out of the `checkdepends if you want.
Updated patch is attached:
commit 5e56daa16d75b848332414fa52417caf3af1370b (HEAD -> local)
Author: gesh <gesh@gesh.uni.cx>
Date: Wed May 15 13:29:24 2024 +0300
Fix deps, add optdeps, checks, cleanup
diff --git a/PKGBUILD b/PKGBUILD
index 99e0575..d893387 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,37 +1,66 @@
+# Contributor: Gesh <gesh@gesh.uni.cx>
# Maintainer: Stefan Gehr <stefan@gehr.xyz>
pkgname=papis
pkgver=0.13
-pkgrel=3
-pkgdesc="Papis is a powerful and highly extensible command-line based document and bibliography manager."
+pkgrel=4
+pkgdesc="Command-line document and bibliography manager"
arch=('any')
url="https://github.com/papis/papis"
-license=('GPL')
-depends=('python-pyaml'
- 'python-arxiv2bib'
- 'python-beautifulsoup4'
- 'python-bibtexparser'
- 'python-click'
- 'python-colorama'
- 'python-dominate'
- 'python-filetype'
- 'python-habanero'
- 'python-isbnlib'
- 'python-lxml'
- 'python-platformdirs'
- 'python-prompt_toolkit'
- 'python-pygments'
- 'python-pyparsing'
- 'python-doi'
- 'python-slugify'
- 'python-requests'
- 'python-stevedore'
- )
+license=('GPL-3.0-or-later')
+depends=('python'
+ 'python-arxiv2bib'
+ 'python-beautifulsoup4'
+ 'python-bibtexparser'
+ 'python-click'
+ 'python-colorama'
+ 'python-doi'
+ 'python-dominate'
+ 'python-filetype'
+ 'python-habanero'
+ 'python-isbnlib'
+ 'python-lxml'
+ 'python-platformdirs'
+ 'python-prompt_toolkit'
+ 'python-pygments'
+ 'python-pyparsing'
+ 'python-requests'
+ 'python-slugify'
+ 'python-stevedore'
+ 'python-yaml'
+)
optdepends=(
- 'papis-rofi: integration with rofi'
- 'python-whoosh'
+ 'fzf: fzf picker'
+ 'papis-rofi: integration with rofi'
+ 'papis-zotero: imports from zotero'
+ 'pdfjs: pdf reader in the web app'
+ 'python-chardet: improved encoding autodetection when scraping'
+ 'python-jinja: jinja formatting'
+ 'python-papis-scihub: imports from scihub'
+ 'python-markdownify: convert zenodo imports to markdown'
+ 'python-whoosh: whoosh database backend'
+ 'python-docutils: for papis.sphinx_ext (used by some plugins)'
+ 'python-sphinx: for papis.sphinx_ext (used by some plugins)'
+ 'python-sphinx-click: for papis.sphinx_ext (used by some plugins)'
+ 'python-pytest: for papis.testing (used by some plugins)'
+)
+makedepends=(
+ 'python-build'
+ 'python-installer'
+ 'python-wheel'
+
+ 'python-setuptools'
+)
+checkdepends=(
+ 'python-pytest'
+ 'python-pytest-cov'
+ # These are optional -- if they're not installed, papis will automatically
+ # skip these tests -- and are only necessary if you intend to use the
+ # optdeps as well
+ 'python-jinja'
+ 'python-markdownify'
+ 'python-whoosh'
)
-makedepends=(python-build python-installer python-wheel)
source=("https://github.com/papis/papis/archive/refs/tags/v${pkgver}.tar.gz")
b2sums=("efff09aeaaacf170ef5c01170f1c856dbe09566096deb7ae649bfe755d58f225467241464e4b4bf8f36c25898fc7e9f689358073ab45e81d651defd127729af3")
@@ -41,6 +70,11 @@ build() {
python -m build --wheel --no-isolation
}
+check() {
+ cd "${pkgname}-${pkgver}"
+ python -m pytest papis tests
+}
+
package() {
cd "${pkgname}-${pkgver}"
python -m installer --destdir="$pkgdir" dist/*.whl
BoostCookie commented on 2024-05-15 10:52 (UTC)
@gesh
I don't know. From paru -U
I'm getting
error: could not find all required packages:
python-markdownify (wanted by: papis)
Even though it is only an optdepends. There is no need to hurry. You can do it in the evening or tomorrow.
gesh commented on 2024-05-15 10:31 (UTC)
@BoostCookie Need to leave home and won't be back until much later today, so I can't test the edits yet. Mind doing so? Patch is attached below, just copy to a .patch
file and do git apply cleanup.patch
commit 016a103514306e8a25fd97afe7ee86d6fe5defa7
Author: gesh <gesh@gesh.uni.cx>
Date: Wed May 15 13:29:24 2024 +0300
Fix deps, add optdeps, checks, cleanup
diff --git a/PKGBUILD b/PKGBUILD
index 99e0575..505c85e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,37 +1,64 @@
+# Contributor: Gesh <gesh@gesh.uni.cx>
# Maintainer: Stefan Gehr <stefan@gehr.xyz>
pkgname=papis
pkgver=0.13
-pkgrel=3
-pkgdesc="Papis is a powerful and highly extensible command-line based document and bibliography manager."
+pkgrel=4
+pkgdesc="Command-line document and bibliography manager"
arch=('any')
url="https://github.com/papis/papis"
-license=('GPL')
-depends=('python-pyaml'
- 'python-arxiv2bib'
- 'python-beautifulsoup4'
- 'python-bibtexparser'
- 'python-click'
- 'python-colorama'
- 'python-dominate'
- 'python-filetype'
- 'python-habanero'
- 'python-isbnlib'
- 'python-lxml'
- 'python-platformdirs'
- 'python-prompt_toolkit'
- 'python-pygments'
- 'python-pyparsing'
- 'python-doi'
- 'python-slugify'
- 'python-requests'
- 'python-stevedore'
- )
+license=('GPL-3.0-or-later')
+depends=('python'
+ 'python-arxiv2bib'
+ 'python-beautifulsoup4'
+ 'python-bibtexparser'
+ 'python-click'
+ 'python-colorama'
+ 'python-doi'
+ 'python-dominate'
+ 'python-filetype'
+ 'python-habanero'
+ 'python-isbnlib'
+ 'python-lxml'
+ 'python-platformdirs'
+ 'python-prompt_toolkit'
+ 'python-pygments'
+ 'python-pyparsing'
+ 'python-requests'
+ 'python-slugify'
+ 'python-stevedore'
+ 'python-yaml'
+)
optdepends=(
- 'papis-rofi: integration with rofi'
- 'python-whoosh'
+ 'fzf: fzf picker'
+ 'papis-rofi: integration with rofi'
+ 'papis-zotero: imports from zotero'
+ 'pdfjs: pdf reader in the web app'
+ 'python-chardet: improved encoding autodetection when scraping'
+ 'python-jinja: jinja formatting'
+ 'python-papis-scihub: imports from scihub'
+ 'python-markdownify: convert zenodo imports to markdown'
+ 'python-whoosh: whoosh database backend'
+ 'python-docutils: for papis.sphinx_ext (used by some plugins)'
+ 'python-sphinx: for papis.sphinx_ext (used by some plugins)'
+ 'python-sphinx-click: for papis.sphinx_ext (used by some plugins)'
+ 'python-pytest: for papis.testing (used by some plugins)'
+)
+makedepends=(
+ 'python-build'
+ 'python-installer'
+ 'python-wheel'
+)
+checkdepends=(
+ 'python-pytest'
+ 'python-pytest-cov'
+ # These are optional -- if they're not installed, papis will automatically
+ # skip these tests -- and are only necessary if you intend to use the
+ # optdeps as well
+ 'python-jinja'
+ 'python-markdownify'
+ 'python-whoosh'
)
-makedepends=(python-build python-installer python-wheel)
source=("https://github.com/papis/papis/archive/refs/tags/v${pkgver}.tar.gz")
b2sums=("efff09aeaaacf170ef5c01170f1c856dbe09566096deb7ae649bfe755d58f225467241464e4b4bf8f36c25898fc7e9f689358073ab45e81d651defd127729af3")
@@ -41,6 +68,11 @@ build() {
python -m build --wheel --no-isolation
}
+check() {
+ cd "${pkgname}-${pkgver}"
+ python -m pytest papis tests
+}
+
package() {
cd "${pkgname}-${pkgver}"
python -m installer --destdir="$pkgdir" dist/*.whl
BoostCookie commented on 2024-05-15 10:15 (UTC)
@gesh I've added you as co-maintainer. Can you add your changes?
gesh commented on 2024-05-15 10:05 (UTC)
Thanks for picking this up, was intending to do so once 0.14 was released.
A few remarks: You want python-yaml
in your depends
, not pyaml
-- I recently pushed a commit to papis-git
that fixes that. You might also want to pick up the optdepends
from there. Also, licenses should be specified in SPDX nowadays, ie GPL-3.0-or-later
.
I'm pretty sure you'll need to add python-chardet
and switch python-arxiv2bib -> python-arxiv
once 0.14 drops, though I don't 100% recall whether python-typing_extensions
is necessary. (Actually, going over things like this makes me wonder at the status of python-chardet
-- is it a hard or optdepend? Will need to contact upstream later today to check).
You may want to add at least the pytest
checks, I added the others out of perfectionism.
Last and least, you probably want to sort the depends
array and break makedepends
into multiple lines -- that makes it more legible.
Thanks again for picking this up, I prefer only packaging things I actually use, which in my case is papis-git
.
Pinned Comments