Hi, On ven., 14 oct. 2022 at 11:09, Wojtek Kosior via <help-guix@gnu.org> wrote:
> I accidently just replied to you, Simon, instead of making a "reply > all". I'm reposting the same now, sorry for the nuisance... Do not worry. :-) > So, I did run `guix shell -L. hydrilla`. First, I got a warning about > >> ambiguous package specification `hydrilla' That’s expected because: --8<---------------cut here---------------start------------->8--- (define-public hydrilla (package (name "hydrilla") [...] (define-public hydrilla-dist-tarball (let ((base hydrilla) (filename (string-append "hydrilla-" %hydrilla-version ".tar.gz"))) (package (inherit base) (source (local-file --8<---------------cut here---------------end--------------->8--- It means that the package ’hydrilla’ has the name “hydrilla” and because the package ’hydrilla-dist-tarball’ inherits then it also has the name “hydrilla”. Idem for the version field. Therefore, guix shell -L . hydrilla refers to 2 possible packages. All Guix CLI commands use “name“ and “version” for looking up to packages and not the symbols. Well, then I tried to reproduce your failure in order to understand what is going wrong but I hit this: --8<---------------cut here---------------start------------->8--- $ guix build -L . python-pyopenssl@22.0.0 The following derivations will be built: /gnu/store/gyc6sw8a9vq09z6p7plv3k5sjjvrcz9i-python-pyopenssl-22.0.0.drv /gnu/store/rfawn8bnr1vz71gcm6dz171gfpk0fwai-pyOpenSSL-22.0.0.tar.xz.drv building /gnu/store/rfawn8bnr1vz71gcm6dz171gfpk0fwai-pyOpenSSL-22.0.0.tar.xz.drv... pyOpenSSL-22.0.0/ [...] pyOpenSSL-22.0.0/tox.ini patching file src/OpenSSL/SSL.py Hunk #1 FAILED at 1421. Hunk #2 FAILED at 2449. 2 out of 2 hunks FAILED -- saving rejects to file src/OpenSSL/SSL.py.rej patching file tests/test_ssl.py Hunk #1 FAILED at 1928. 1 out of 1 hunk FAILED -- saving rejects to file tests/test_ssl.py.rej source is at 'pyOpenSSL-22.0.0' applying '/gnu/store/4cd1x970w3jg3rwaiqg174x56mvkihij-python2-pyopenssl-openssl-compat.patch'... Backtrace: [...] ERROR: 1. &invoke-error: program: "/gnu/store/z39hnrwds1dgcbpfgj8dnv2cngjb2xbl-patch-2.7.6/bin/patch" arguments: ("--force" "--no-backup-if-mismatch" "-p1" "--input" "/gnu/store/4cd1x970w3jg3rwaiqg174x56mvkihij-python2-pyopenssl-openssl-compat.patch") [...] builder for `/gnu/store/rfawn8bnr1vz71gcm6dz171gfpk0fwai-pyOpenSSL-22.0.0.tar.xz.drv' failed with exit code 1 build of /gnu/store/rfawn8bnr1vz71gcm6dz171gfpk0fwai-pyOpenSSL-22.0.0.tar.xz.drv failed View build log at '/var/log/guix/drvs/rf/awn8bnr1vz71gcm6dz171gfpk0fwai-pyOpenSSL-22.0.0.tar.xz.drv.gz'. cannot build derivation `/gnu/store/gyc6sw8a9vq09z6p7plv3k5sjjvrcz9i-python-pyopenssl-22.0.0.drv': 1 dependencies couldn't be built guix build: error: build of `/gnu/store/gyc6sw8a9vq09z6p7plv3k5sjjvrcz9i-python-pyopenssl-22.0.0.drv' failed --8<---------------cut here---------------end--------------->8--- That’s because your package ’python-pyopenssl-for-haketilo’ inherit from ’python-pyopenssl’ defined in (gnu packages python-crypto). The issue is that the ’origin’ also inherits (origin (inherit (package-source base)) and thus (patches (search-patches "python2-pyopenssl-openssl-compat.patch")))) does not make sense anymore because this patch is against 21.0.0 and your variant is about 22.0.0. Well, further investigations about what could be wrong for “guix pack” needs a way to reproduce. :-) Could you fix or point a working example in your Git repository? Thanks, simon