unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Zelphir Kaltstahl <zelphirkaltstahl@posteo.de>
To: Efraim Flashner <efraim@flashner.co.il>
Cc: help-guix@gnu.org
Subject: Re: guix import error + New: setting up a jupyterlab environment
Date: Sun, 25 Oct 2020 12:49:50 +0100	[thread overview]
Message-ID: <acba4413-a4ca-d7e5-08f7-24ac9839b830@posteo.de> (raw)
In-Reply-To: <20201025085231.GB984@E5400>

Hi Efraim!

On 10/25/20 9:52 AM, Efraim Flashner wrote:
> On Sat, Oct 24, 2020 at 09:42:13PM +0200, Zelphir Kaltstahl wrote:
>> Hello Efraim!
>>
>> On 10/21/20 9:18 AM, Efraim Flashner wrote:
>>> On Mon, Oct 19, 2020 at 11:12:35PM +0200, Zelphir Kaltstahl wrote:
>>>> Meanwhile I have managed to run the jupyterlab-server tests, as
>>>> described in more details here:
>>>> https://github.com/jupyterlab/jupyterlab_server/issues/128
>>>>
>>>> Indeed, in version 1.2.0 the tests fail the same way they fail when I
>>>> try to create my environment. This means the next thing to fix would
>>>> probably be to use another version of jupyterlab-server. 1.2.0 is a tag
>>>> in the jupyterlab-server repository, which _seems_ to be the latest
>>>> "stable" version, before a lot of alpha, beta, and release-candidate
>>>> versions follow.
>>>>
>>>> I guess I could switch the commit in my `jupyterlab.scm` file to point
>>>> to a different one?
>>>>
>>>> I can change the version to `2.0.0rc1`, but I do not know how the
>>>> checksum is calculated. The checksum is shorter than what I see on
>>>> simply PyPI:
>>>>
>>>> https://files.pythonhosted.org/packages/79/43/5249be5ee741a93f3fa60823caf9a276cadc3103dae16d6e36cc534fefd8/jupyterlab_server-2.0.0rc1.tar.gz#sha256=733b149c5ab8e50ea5f2897c323047257060e7bf2dc0fa88663181427bec605d
>>>>
>>>> and base32 should only make it longer, not shorter.
>>>>
>>>> Can you explain how to switch a version manually and calculate the
>>>> checksum to match another version?
>>> For a tarball like the one at pythonhosted you'd download the file and
>>> then run 'guix hash the-file'. If you're using a source code repository
>>> then from the top level of the repo you'd run 'guix hash --exclude-vcs
>>> --recursive .', or 'guix hash -rx .' for short. The hash layout that
>>> Guix uses is the sha256 of the tarball base32 encoded, but with a change
>>> in the letters used.
>>>
>>> For python packages you can specify a version number, so in this case
>>> it'd be 'guix import pypi jupyterlab_server/2.0.0rc1'. Some other
>>> importers us the '@' symbol to specify version number and I think some
>>> don't support using other versions at all.
>>>
>>> I don't know how compatible different major versions of
>>> jupyterlab-server are with each other, so I'd stick with 1.2.0 for now.
>>
>> This means however, that the check phase will fail, because of the
>> failing tests in the jupyterlab_server repository on version 1.2.0.
>>
>> Unless there is a way to disable running those specific tests, I guess
>> this means, that only getting the tests to pass in the jupyterlab_server
>> repository will solve the problem?
>>
> I'd suggest starting with my suggestion from the other email, to try
> using 'add-installed-pythonpath' to make sure the library is in the
> PYTHONPATH. Perhaps that will help the tests pass.

The thing is, that I already tried to run the tests within the
jupyterlab_server repository and they do not pass there either. They are
simply failing currently / jupyterlab_server stable is not in a clean
state. At first I had to figure out how to get a test environment set
up, but I solved that one:
https://github.com/jupyterlab/jupyterlab_server/pull/129. I think there
is nothing on the Guix side to make them magically pass, when they even
fail in the original repository / code.

Where do you grep for add-installed-pythonpath in other packages? I have
looked here
https://git.savannah.gnu.org/cgit/guix.git/tree/guix/packages.scm, but
that seems to be the package implementation of Guix itself, not the
packages it offers. Ah, I think I found it:
https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages. Thanks!^^
It was clear from the `guix package -A <package>` command.

>>>> Regards,
>>>> Zelphir
>>>>
>>>> On 10/19/20 8:19 PM, Zelphir Kaltstahl wrote:
>>>>> Hello Efraim,
>>>>>
>>>>> Thanks for your patience! It seems with that I am getting quite far
>>>>> (at least it feels like making progress, or even being close to have a
>>>>> working environment), up to the "check phase". There some tests
>>>>> failing in the "check phase". Here is what I am getting now,
>>>>> regardless of whether I stick ("python-ipykernel" ,python-ipykernel)
>>>>> in the native inputs or propagated inputs:
>>>>>
>>>>> ~~~~START~~~~
>>>>> running install_egg_info
>>>>> Copying jupyterlab_server.egg-info to /gnu/store/2h44ldpcqqd0q7hqpbcqdavcnbjsibfb-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server-1.2.0-py3.8.egg-info
>>>>> running install_scripts
>>>>> phase `install' succeeded after 0.3 seconds
>>>>> starting phase `wrap'
>>>>> find-files: /gnu/store/2h44ldpcqqd0q7hqpbcqdavcnbjsibfb-python-jupyterlab-server-1.2.0/bin: No such file or directory
>>>>> find-files: /gnu/store/2h44ldpcqqd0q7hqpbcqdavcnbjsibfb-python-jupyterlab-server-1.2.0/sbin: No such file or directory
>>>>> phase `wrap' succeeded after 0.0 seconds
>>>>> starting phase `check'
>>>>> running "python setup.py" with command "test" and parameters ()
>>>>> running test
>>>>> running egg_info
>>>>> writing jupyterlab_server.egg-info/PKG-INFO
>>>>> writing dependency_links to jupyterlab_server.egg-info/dependency_links.txt
>>>>> writing requirements to jupyterlab_server.egg-info/requires.txt
>>>>> writing top-level names to jupyterlab_server.egg-info/top_level.txt
>>>>> reading manifest file 'jupyterlab_server.egg-info/SOURCES.txt'
>>>>> reading manifest template 'MANIFEST.in'
>>>>> warning: no previously-included files matching '*~' found anywhere in distribution
>>>>> warning: no previously-included files matching '*.pyc' found anywhere in distribution
>>>>> warning: no previously-included files matching '*.pyo' found anywhere in distribution
>>>>> warning: no previously-included files matching '.git' found anywhere in distribution
>>>>> warning: no previously-included files matching '.ipynb_checkpoints' found anywhere in distribution
>>>>> writing manifest file 'jupyterlab_server.egg-info/SOURCES.txt'
>>>>> running build_ext
>>>>> test_get (jupyterlab_server.tests.test_settings_api.SettingsAPITest) ... ERROR
>>>>> test_get_bad (jupyterlab_server.tests.test_settings_api.SettingsAPITest) ... ERROR
>>>>> test_listing (jupyterlab_server.tests.test_settings_api.SettingsAPITest) ... ERROR
>>>>> test_patch (jupyterlab_server.tests.test_settings_api.SettingsAPITest) ... ERROR
>>>>> test_patch_bad_data (jupyterlab_server.tests.test_settings_api.SettingsAPITest) ... ERROR
>>>>> test_patch_wrong_id (jupyterlab_server.tests.test_settings_api.SettingsAPITest) ... ERROR
>>>>> test_bad_put (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest) ... ERROR
>>>>> test_blank_put (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest) ... ERROR
>>>>> test_delete (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest) ... ERROR
>>>>> test_get (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest) ... ERROR
>>>>> test_listing (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest) ... ERROR
>>>>> test_put (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest) ... ERROR
>>>>>
>>>>> ======================================================================
>>>>> ERROR: test_get (jupyterlab_server.tests.test_settings_api.SettingsAPITest)
>>>>> ----------------------------------------------------------------------
>>>>> Traceback (most recent call last):
>>>>>   File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_settings_api.py", line 31, in setUp
>>>>>     dst = os.path.join(self.lab_config.schemas_dir, '@jupyterlab')
>>>>> AttributeError: 'SettingsAPITest' object has no attribute 'lab_config'
>>>>>
>>>>> ======================================================================
>>>>> ERROR: test_get_bad (jupyterlab_server.tests.test_settings_api.SettingsAPITest)
>>>>> ----------------------------------------------------------------------
>>>>> Traceback (most recent call last):
>>>>>   File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_settings_api.py", line 31, in setUp
>>>>>     dst = os.path.join(self.lab_config.schemas_dir, '@jupyterlab')
>>>>> AttributeError: 'SettingsAPITest' object has no attribute 'lab_config'
>>>>>
>>>>> ======================================================================
>>>>> ERROR: test_listing (jupyterlab_server.tests.test_settings_api.SettingsAPITest)
>>>>> ----------------------------------------------------------------------
>>>>> Traceback (most recent call last):
>>>>>   File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_settings_api.py", line 31, in setUp
>>>>>     dst = os.path.join(self.lab_config.schemas_dir, '@jupyterlab')
>>>>> AttributeError: 'SettingsAPITest' object has no attribute 'lab_config'
>>>>>
>>>>> ======================================================================
>>>>> ERROR: test_patch (jupyterlab_server.tests.test_settings_api.SettingsAPITest)
>>>>> ----------------------------------------------------------------------
>>>>> Traceback (most recent call last):
>>>>>   File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_settings_api.py", line 31, in setUp
>>>>>     dst = os.path.join(self.lab_config.schemas_dir, '@jupyterlab')
>>>>> AttributeError: 'SettingsAPITest' object has no attribute 'lab_config'
>>>>>
>>>>> ======================================================================
>>>>> ERROR: test_patch_bad_data (jupyterlab_server.tests.test_settings_api.SettingsAPITest)
>>>>> ----------------------------------------------------------------------
>>>>> Traceback (most recent call last):
>>>>>   File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_settings_api.py", line 31, in setUp
>>>>>     dst = os.path.join(self.lab_config.schemas_dir, '@jupyterlab')
>>>>> AttributeError: 'SettingsAPITest' object has no attribute 'lab_config'
>>>>>
>>>>> ======================================================================
>>>>> ERROR: test_patch_wrong_id (jupyterlab_server.tests.test_settings_api.SettingsAPITest)
>>>>> ----------------------------------------------------------------------
>>>>> Traceback (most recent call last):
>>>>>   File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_settings_api.py", line 31, in setUp
>>>>>     dst = os.path.join(self.lab_config.schemas_dir, '@jupyterlab')
>>>>> AttributeError: 'SettingsAPITest' object has no attribute 'lab_config'
>>>>>
>>>>> ======================================================================
>>>>> ERROR: test_bad_put (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest)
>>>>> ----------------------------------------------------------------------
>>>>> Traceback (most recent call last):
>>>>>   File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_workspaces_api.py", line 34, in setUp
>>>>>     dst = os.path.join(self.lab_config.workspaces_dir, item)
>>>>> AttributeError: 'WorkspacesAPITest' object has no attribute 'lab_config'
>>>>>
>>>>> ======================================================================
>>>>> ERROR: test_blank_put (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest)
>>>>> ----------------------------------------------------------------------
>>>>> Traceback (most recent call last):
>>>>>   File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_workspaces_api.py", line 34, in setUp
>>>>>     dst = os.path.join(self.lab_config.workspaces_dir, item)
>>>>> AttributeError: 'WorkspacesAPITest' object has no attribute 'lab_config'
>>>>>
>>>>> ======================================================================
>>>>> ERROR: test_delete (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest)
>>>>> ----------------------------------------------------------------------
>>>>> Traceback (most recent call last):
>>>>>   File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_workspaces_api.py", line 34, in setUp
>>>>>     dst = os.path.join(self.lab_config.workspaces_dir, item)
>>>>> AttributeError: 'WorkspacesAPITest' object has no attribute 'lab_config'
>>>>>
>>>>> ======================================================================
>>>>> ERROR: test_get (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest)
>>>>> ----------------------------------------------------------------------
>>>>> Traceback (most recent call last):
>>>>>   File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_workspaces_api.py", line 34, in setUp
>>>>>     dst = os.path.join(self.lab_config.workspaces_dir, item)
>>>>> AttributeError: 'WorkspacesAPITest' object has no attribute 'lab_config'
>>>>>
>>>>> ======================================================================
>>>>> ERROR: test_listing (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest)
>>>>> ----------------------------------------------------------------------
>>>>> Traceback (most recent call last):
>>>>>   File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_workspaces_api.py", line 34, in setUp
>>>>>     dst = os.path.join(self.lab_config.workspaces_dir, item)
>>>>> AttributeError: 'WorkspacesAPITest' object has no attribute 'lab_config'
>>>>>
>>>>> ======================================================================
>>>>> ERROR: test_put (jupyterlab_server.tests.test_workspaces_api.WorkspacesAPITest)
>>>>> ----------------------------------------------------------------------
>>>>> Traceback (most recent call last):
>>>>>   File "/tmp/guix-build-python-jupyterlab-server-1.2.0.drv-0/jupyterlab_server-1.2.0/jupyterlab_server/tests/test_workspaces_api.py", line 34, in setUp
>>>>>     dst = os.path.join(self.lab_config.workspaces_dir, item)
>>>>> AttributeError: 'WorkspacesAPITest' object has no attribute 'lab_config'
>>>>>
>>>>> ----------------------------------------------------------------------
>>>>> Ran 12 tests in 0.001s
>>>>>
>>>>> FAILED (errors=12)
>>>>> Test failed: <unittest.runner.TextTestResult run=12 errors=12 failures=0>
>>>>> error: Test failed: <unittest.runner.TextTestResult run=12 errors=12 failures=0>
>>>>> command "python" "-c" "import setuptools, tokenize;__file__='setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\\r\\n', '\\n');f.close();exec(compile(code, __file__, 'exec'))" "test" failed with status 1
>>>>> ~~~~~END~~~~~
>>>>>
>>>>> I have some thoughts about this:
>>>>>
>>>>> The Python error does not really tell me what is wrong. I don't know
>>>>> why the `WorkspacesAPITest` does not have an attribute named `lab_config`.
>>>>>
>>>>> One can see, that those are all API tests. Since there were problems
>>>>> in the previous step with network, perhaps it is a network thing here
>>>>> as well? (Is network, even if localhost for testing, available in the
>>>>> "check phase"?)
>>>>>
>>>>> It could also simply be, that some PyPI package has failing tests. I
>>>>> don't know how one could then skip such tests.
>>>>>
>>>>> I guess I will summarize everything in the end and put it in a
>>>>> repository as a kind of "guide", so that others can use it or learn
>>>>> from the process.
>>>>>
>>>>> Regards,
>>>>> Zelphir
>>>>>
>>>>> On 10/19/20 6:54 PM, Efraim Flashner wrote:
>>>>>> It looks like you need to add python-ipykernel to native-inputs.
>>>>>> Unless it's needed to run the program and not just for the test
>>>>>> suite, in which case it should go in propagated-inputs. There's no
>>>>>> network available in the build environment so it can't retrieve
>>>>>> ipykernel while building.
>>>>>>
>>>>>>
>>>>>> On October 19, 2020 2:31:53 PM UTC, Zelphir Kaltstahl
>>>>>> <zelphirkaltstahl@posteo.de> wrote:
>>>>>>
>>>>>>     Hello Efraim!
>>>>>>
>>>>>>     Thank you! Your idea of replacing "-" with "_" seems to partially
>>>>>>     help:
>>>>>>
>>>>>>     The package is downloaded and byte compiled. However, afterwards
>>>>>>     there is a problem, when it tries to copy the byte-compiled files
>>>>>>     in the "wrap phase" (comments inserted in some places):
>>>>>>
>>>>>>     ~~~~START~~~~
>>>>>>     ### ... a lot of output before this ...
>>>>>>
>>>>>>     byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/__init__.py to __init__.cpython-38.pyc
>>>>>>     byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/_version.py to _version.cpython-38.pyc
>>>>>>     byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/app.py to app.cpython-38.pyc
>>>>>>     byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/handlers.py to handlers.cpython-38.pyc
>>>>>>     byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/listings_handler.py to listings_handler.cpython-38.pyc
>>>>>>     byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/process.py to process.cpython-38.pyc
>>>>>>     byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/process_app.py to process_app.cpython-38.pyc
>>>>>>     byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/server.py to server.cpython-38.pyc
>>>>>>     byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/servertest.py to servertest.cpython-38.pyc
>>>>>>     byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/settings_handler.py to settings_handler.cpython-38.pyc
>>>>>>     byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/themes_handler.py to themes_handler.cpython-38.pyc
>>>>>>     byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/workspaces_handler.py to workspaces_handler.cpython-38.pyc
>>>>>>     byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/tests/__init__.py to __init__.cpython-38.pyc
>>>>>>     byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/tests/test_settings_api.py to test_settings_api.cpython-38.pyc
>>>>>>     byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/tests/test_workspaces_api.py to test_workspaces_api.cpython-38.pyc
>>>>>>     byte-compiling /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server/tests/utils.py to utils.cpython-38.pyc
>>>>>>
>>>>>>     ### ... seems byte-compiling went without problems, but not comes the problem ...
>>>>>>
>>>>>>     running install_egg_info
>>>>>>     Copying jupyterlab_server.egg-info to /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/lib/python3.8/site-packages/jupyterlab_server-1.2.0-py3.8.egg-info
>>>>>>     running install_scripts
>>>>>>     phase `install' succeeded after 0.3 seconds
>>>>>>     starting phase `wrap'
>>>>>>     find-files: /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/bin: No such file or directory
>>>>>>     find-files: /gnu/store/yr7q21bws1xgx3p2dy9cfdiknjpsajm6-python-jupyterlab-server-1.2.0/sbin: No such file or directory
>>>>>>     phase `wrap' succeeded after 0.0 seconds
>>>>>>     starting phase `check'
>>>>>>     running "python setup.py" with command "test" and parameters ()
>>>>>>     running test
>>>>>>     Searching for ipykernel
>>>>>>     Reading https://pypi.org/simple/ipykernel/
>>>>>>     Download error on https://pypi.org/simple/ipykernel/: [Errno -2] Name or service not known -- Some packages may not be found!
>>>>>>     Couldn't find index page for 'ipykernel' (maybe misspelled?)
>>>>>>     Scanning index of all packages (this may take a while)
>>>>>>     Reading https://pypi.org/simple/
>>>>>>     Download error on https://pypi.org/simple/: [Errno -2] Name or service not known -- Some packages may not be found!
>>>>>>     No local packages or working download links found for ipykernel
>>>>>>     error: Could not find suitable distribution for Requirement.parse('ipykernel')
>>>>>>     command "python" "-c" "import setuptools, tokenize;__file__='setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\\r\\n', '\\n');f.close();exec(compile(code, __file__, 'exec'))" "test" failed with status 1
>>>>>>     ~~~~~END~~~~~
>>>>>>
>>>>>>     So it seems, that while the download URL is corrected, there is
>>>>>>     another place, where Guix has an error now, resulting in a final
>>>>>>     error shown in command line:
>>>>>>
>>>>>>     ~~~~START~~~~
>>>>>>     $ guix time-machine --channels=channels.scm -- environment --manifest=manifest.scm --load=jupyterlab.scm
>>>>>>     Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
>>>>>>     substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
>>>>>>     The following derivations will be built:
>>>>>>        /gnu/store/wzmfn9m45bmsbrx094rv3lf3w0rpmw49-python-pytest-check-links-0.3.0.drv
>>>>>>        /gnu/store/96xf5mrg134mcsp01b0m1qs1lxkb401a-python-jupyterlab-server-1.2.0.drv
>>>>>>        /gnu/store/32a28hd7aainwn0hfsnf3blh8prmfz61-jupyterlab_server-1.2.0.tar.gz.drv
>>>>>>
>>>>>>     3,9 MB will be downloaded
>>>>>>     downloading from https://ci.guix.gnu.org/nar/lzip/54kpl9psx16jwic4gpnjwh44kim04wlk-python-notebook-5.7.4 ...
>>>>>>      python-notebook-5.7.4  3.7MiB                                                                                                                                                                                                        5.1MiB/s 00:01 [##################] 100.0%
>>>>>>
>>>>>>     building /gnu/store/32a28hd7aainwn0hfsnf3blh8prmfz61-jupyterlab_server-1.2.0.tar.gz.drv...
>>>>>>     downloading from https://files.pythonhosted.org/packages/source/j/jupyterlab_server/jupyterlab_server-1.2.0.tar.gz ...
>>>>>>     building /gnu/store/wzmfn9m45bmsbrx094rv3lf3w0rpmw49-python-pytest-check-links-0.3.0.drv...
>>>>>>     building /gnu/store/96xf5mrg134mcsp01b0m1qs1lxkb401a-python-jupyterlab-server-1.2.0.drv...
>>>>>>     \ 'check' phasebuilder for `/gnu/store/96xf5mrg134mcsp01b0m1qs1lxkb401a-python-jupyterlab-server-1.2.0.drv' failed with exit code 1
>>>>>>     build of /gnu/store/96xf5mrg134mcsp01b0m1qs1lxkb401a-python-jupyterlab-server-1.2.0.drv failed
>>>>>>     View build log at '/var/log/guix/drvs/96/xf5mrg134mcsp01b0m1qs1lxkb401a-python-jupyterlab-server-1.2.0.drv.bz2'.
>>>>>>     guix environment: error: build of `/gnu/store/96xf5mrg134mcsp01b0m1qs1lxkb401a-python-jupyterlab-server-1.2.0.drv' failed
>>>>>>     ~~~~~END~~~~~
>>>>>>
>>>>>>     Apparently ipykernel is not found, but when I visit
>>>>>>     https://pypi.org/simple/ipykernel/, I see packages there.
>>>>>>
>>>>>>     From the logs:
>>>>>>
>>>>>>     ~~~~START~~~~
>>>>>>     Download error on https://pypi.org/simple/ipykernel/: [Errno -2] Name or service not known -- Some packages may not be found!
>>>>>>     Couldn't find index page for 'ipykernel' (maybe misspelled?)
>>>>>>     ~~~~~END~~~~~
>>>>>>
>>>>>>     Do I need to add another input in my `jupyterlab.scm`? (How?) Or
>>>>>>     perhaps I need to create a separate `ipykernel.scm` which
>>>>>>     contains the output of `guix import pypi --recursive ipykernel`?
>>>>>>
>>>>>>     However, it somehow seems to fail for PyPI simple in general
>>>>>>     (from the logs again):
>>>>>>
>>>>>>     ~~~~START~~~~
>>>>>>     Reading https://pypi.org/simple/
>>>>>>     Download error on https://pypi.org/simple/: [Errno -2] Name or service not known -- Some packages may not be found!
>>>>>>     No local packages or working download links found for ipykernel
>>>>>>     error: Could not find suitable distribution for Requirement.parse('ipykernel')
>>>>>>     command "python" "-c" "import setuptools, tokenize;__file__='setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\\r\\n', '\\n');f.close();exec(compile(code, __file__, 'exec'))" "test" failed with status 1
>>>>>>     ~~~~~END~~~~~
>>>>>>
>>>>>>     Thanks,
>>>>>>     Zelphir
>>>>>>
>>>>>>
>>>>>>     On 10/18/20 6:35 PM, Efraim Flashner wrote:
>>>>>>>     On Sun, Oct 18, 2020 at 01:55:49PM +0200, Zelphir Kaltstahl wrote:
>>>>>>>>     Hello Guix Users, hello Zimoun and Tobias!
>>>>>>>>
>>>>>>>>     Thanks for your information regarding the importer syntax thing.
>>>>>>>>
>>>>>>>>     I continued trying to get a jupyterlab environment today.
>>>>>>>>
>>>>>>>>     Here is what I did so far:
>>>>>>>>
>>>>>>>>     (1) Create my manifest file:
>>>>>>>>
>>>>>>>>     ~~~~START~~~~
>>>>>>>>     (specifications->manifest
>>>>>>>>      '("python"))
>>>>>>>>     ~~~~~END~~~~~
>>>>>>>>
>>>>>>>>     (2) Create my channels file:
>>>>>>>>
>>>>>>>>     ~~~~START~~~~
>>>>>>>>     $ guix describe --format=channels > channels.scm
>>>>>>>>     $ cat channels.scm
>>>>>>>>     (list (channel
>>>>>>>>             (name 'guix)
>>>>>>>>             (url "https://git.savannah.gnu.org/git/guix.git")
>>>>>>>>             (commit
>>>>>>>>               "6ca673b30dac281ba27a8dac242c0ac83e5e354b")
>>>>>>>>             (introduction
>>>>>>>>               (make-channel-introduction
>>>>>>>>                 "9edb3f66fd807b096b48283debdcddccfea34bad"
>>>>>>>>                 (openpgp-fingerprint
>>>>>>>>                   "BBB0 2DDF 2CEA F6A8 0D1D  E643 A2A0 6DF2 A33A 54FA")))))
>>>>>>>>     ~~~~~END~~~~~
>>>>>>>>
>>>>>>>>     (3) Create my jupyterlab PyPI import file, this time around using the
>>>>>>>>     "/" instead of "@" for specifying the version:
>>>>>>>>
>>>>>>>>     ~~~~START~~~~
>>>>>>>>     $ guix import pypi --recursive jupyterlab/2.1.5 > jupyterlab.scm
>>>>>>>>     ~~~~~END~~~~~
>>>>>>>>
>>>>>>>>     (4) Add missing import expressions and add output expression at the end:
>>>>>>>>
>>>>>>>>     ~~~~START~~~~
>>>>>>>>     ;; add module imports
>>>>>>>>     (use-modules
>>>>>>>>      (guix packages)
>>>>>>>>      (guix download)
>>>>>>>>      (guix build-system python)
>>>>>>>>      ((guix licenses) #:prefix license:)
>>>>>>>>      ;; use `guix environment --ad-hoc python-jinja2 -- guix package -A python-jinja2` to find the location of python-jinja2, which is gnu/packages/python-xyz.scm
>>>>>>>     This can be just 'guix package -A python-jinja2', no need for the
>>>>>>>     environment.
>>>>>>>
>>>>>>>>      (gnu packages python-xyz)
>>>>>>>>      ;; for python-tornado
>>>>>>>>      (gnu packages python-web)
>>>>>>>>      ;; for python-pytest
>>>>>>>>      (gnu packages check))
>>>>>>>>
>>>>>>>>     ;; QUESTION: Why are those required packages not imported by guix automatically?
>>>>>>>>     ;; QUESTION: Why are the manually imported packages not actually in files with their own name, but instead jinja2 -> python-xyz, tornado -> python-web, and pytest -> check?
>>>>>>>>     ;; QUESTION: Is my process of finding the files in which the packages are correct or just working by chance?
>>>>>>>>
>>>>>>>>     (define-public python-jupyterlab-server
>>>>>>>>       (package
>>>>>>>>         (name "python-jupyterlab-server")
>>>>>>>>         (version "1.2.0")
>>>>>>>>         (source
>>>>>>>>           (origin
>>>>>>>>             (method url-fetch)
>>>>>>>>             (uri (pypi-uri "jupyterlab-server" version))
>>>>>>>>             (sha256
>>>>>>>>               (base32
>>>>>>>>                 "132xby7531rbrjg9bqvsx86birr1blynjxy8gi5kcnb6x7fxjcal"))))
>>>>>>>>         (build-system python-build-system)
>>>>>>>>         (propagated-inputs
>>>>>>>>           `(("python-jinja2" ,python-jinja2)
>>>>>>>>             ("python-json5" ,python-json5)
>>>>>>>>             ("python-jsonschema" ,python-jsonschema)
>>>>>>>>             ("python-notebook" ,python-notebook)
>>>>>>>>             ("python-requests" ,python-requests)))
>>>>>>>>         (native-inputs
>>>>>>>>           `(("python-pytest" ,python-pytest)
>>>>>>>>             ("python-requests" ,python-requests)))
>>>>>>>>         (home-page "https://jupyter.org")
>>>>>>>>         (synopsis "JupyterLab Server")
>>>>>>>>         (description "JupyterLab Server")
>>>>>>>>         (license license:bsd-3)))
>>>>>>>>
>>>>>>>>     (define-public python-jupyterlab
>>>>>>>>       (package
>>>>>>>>         (name "python-jupyterlab")
>>>>>>>>         (version "2.1.5")
>>>>>>>>         (source
>>>>>>>>           (origin
>>>>>>>>             (method url-fetch)
>>>>>>>>             (uri (pypi-uri "jupyterlab" version))
>>>>>>>>             (sha256
>>>>>>>>               (base32
>>>>>>>>                 "162jn51cg36fsn4l2zhnb5n4nbkhm9wlv974ggcnmdij3i4r4yya"))))
>>>>>>>>         (build-system python-build-system)
>>>>>>>>         (propagated-inputs
>>>>>>>>           `(("python-jinja2" ,python-jinja2)
>>>>>>>>             ("python-jupyterlab-server"
>>>>>>>>              ,python-jupyterlab-server)
>>>>>>>>             ("python-notebook" ,python-notebook)
>>>>>>>>             ("python-tornado" ,python-tornado)))
>>>>>>>>         (native-inputs
>>>>>>>>           `(("python-pytest" ,python-pytest)
>>>>>>>>             ("python-pytest-check-links"
>>>>>>>>              ,python-pytest-check-links)
>>>>>>>>             ("python-requests" ,python-requests)
>>>>>>>>             ("python-virtualenv" ,python-virtualenv)
>>>>>>>>             ("python-wheel" ,python-wheel)))
>>>>>>>>         (home-page "http://jupyter.org")
>>>>>>>>         (synopsis
>>>>>>>>           "The JupyterLab notebook server extension.")
>>>>>>>>         (description
>>>>>>>>           "The JupyterLab notebook server extension.")
>>>>>>>>         (license license:bsd-3)))
>>>>>>>>
>>>>>>>>     python-jupyterlab
>>>>>>>>     ~~~~~END~~~~~
>>>>>>>>
>>>>>>>>     And as noted in the comments, I have 3 questions at this point:
>>>>>>>>
>>>>>>>>     (Q1) Why are those required packages not imported by guix automatically?
>>>>>>>>     (My guess: This functionality simply has not yet been implemented.)
>>>>>>>>
>>>>>>>>     (Q2) Why are the manually imported packages not actually in files with
>>>>>>>>     their own name, but instead jinja2 -> python-xyt, tornado -> python-web,
>>>>>>>>     and pytest -> check? Why not (gnu packages python pytest) for example?
>>>>>>>>
>>>>>>>>     (Q3) Is my process of finding the files in which the packages are
>>>>>>>>     correct or just working by chance? Basically I am creating temporary
>>>>>>>>     environments, in which I then lookup "where would the package be
>>>>>>>>     installed" and then exit the temporary environment to use that
>>>>>>>>     information in my imported package file's import expressions /
>>>>>>>>     use-modules expression. This seems to be a bit of a convoluted process,
>>>>>>>>     though worth it, if it always works in the end.
>>>>>>>>
>>>>>>>>     (4) Now I run my time-machine command:
>>>>>>>>
>>>>>>>>     ~~~~START~~~~
>>>>>>>>     $ guix time-machine --channels=channels.scm -- environment --manifest=manifest.scm --load=jupyterlab.scm
>>>>>>>>     ~~~~~END~~~~~
>>>>>>>>
>>>>>>>>     This take a moment and then I get an error (the full output is longer,
>>>>>>>>     but when running it multiple times, already successful steps are not all
>>>>>>>>     done repeatedly, so the output is then reduced to what fails):
>>>>>>>>
>>>>>>>>     ~~~~START~~~~
>>>>>>>>     $ guix time-machine --channels=channels.scm -- environment --manifest=manifest.scm --load=jupyterlab.scm
>>>>>>>>     Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
>>>>>>>>     The following derivations will be built:
>>>>>>>>        /gnu/store/wzmfn9m45bmsbrx094rv3lf3w0rpmw49-python-pytest-check-links-0.3.0.drv
>>>>>>>>        /gnu/store/n9i421lrbwrr8d0947w5vma7rhy3iyba-python-jupyterlab-server-1.2.0.drv
>>>>>>>>        /gnu/store/s7jc2dbb0bnrahxklmszmpfv8klgw3sd-jupyterlab-server-1.2.0.tar.gz.drv
>>>>>>>>
>>>>>>>>     4,2 MB will be downloaded
>>>>>>>>     downloading from https://ci.guix.gnu.org/nar/lzip/2nahbs5v8q073gjmy224gk0h5lsh1kkw-python-nbconvert-5.0.0b1 ...
>>>>>>>>      python-nbconvert-5.0.0b1  301KiB                                                                                                                                                                                                     2.0MiB/s 00:00 [##################] 100.0%
>>>>>>>>
>>>>>>>>     building /gnu/store/s7jc2dbb0bnrahxklmszmpfv8klgw3sd-jupyterlab-server-1.2.0.tar.gz.drv...
>>>>>>>>     |builder for `/gnu/store/s7jc2dbb0bnrahxklmszmpfv8klgw3sd-jupyterlab-server-1.2.0.tar.gz.drv' failed to produce output path `/gnu/store/92md7gh966n4fzj6al267lqq4xjx0ncf-jupyterlab-server-1.2.0.tar.gz'
>>>>>>>>     build of /gnu/store/s7jc2dbb0bnrahxklmszmpfv8klgw3sd-jupyterlab-server-1.2.0.tar.gz.drv failed
>>>>>>>>     View build log at '/var/log/guix/drvs/s7/jc2dbb0bnrahxklmszmpfv8klgw3sd-jupyterlab-server-1.2.0.tar.gz.drv.bz2'.
>>>>>>>>     cannot build derivation `/gnu/store/n9i421lrbwrr8d0947w5vma7rhy3iyba-python-jupyterlab-server-1.2.0.drv': 1 dependencies couldn't be built
>>>>>>>>     killing process 7384
>>>>>>>>     guix environment: error: build of `/gnu/store/n9i421lrbwrr8d0947w5vma7rhy3iyba-python-jupyterlab-server-1.2.0.drv' failed
>>>>>>>>     ~~~~~END~~~~~
>>>>>>>>
>>>>>>>>     OK, an error, perhaps I can understand it. Lets look at that log file:
>>>>>>>>
>>>>>>>>     ~~~~START~~~~
>>>>>>>>     $ cp /var/log/guix/drvs/s7/jc2dbb0bnrahxklmszmpfv8klgw3sd-jupyterlab-server-1.2.0.tar.gz.drv.bz2 .
>>>>>>>>     $ bzip2 --decompress jc2dbb0bnrahxklmszmpfv8klgw3sd-jupyterlab-server-1.2.0.tar.gz.drv.bz2
>>>>>>>>     $ cat jc2dbb0bnrahxklmszmpfv8klgw3sd-jupyterlab-server-1.2.0.tar.gz.drv
>>>>>>>>
>>>>>>>>     Starting download of /gnu/store/92md7gh966n4fzj6al267lqq4xjx0ncf-jupyterlab-server-1.2.0.tar.gz
>>>>>>>>     From https://files.pythonhosted.org/packages/source/j/jupyterlab-server/jupyterlab-server-1.2.0.tar.gz...
>>>>>>>>     download failed "https://files.pythonhosted.org/packages/source/j/jupyterlab-server/jupyterlab-server-1.2.0.tar.gz" 404 "Not Found"
>>>>>>>>
>>>>>>>>     Starting download of /gnu/store/92md7gh966n4fzj6al267lqq4xjx0ncf-jupyterlab-server-1.2.0.tar.gz
>>>>>>>>     From https://ci.guix.gnu.org/file/jupyterlab-server-1.2.0.tar.gz/sha256/132xby7531rbrjg9bqvsx86birr1blynjxy8gi5kcnb6x7fxjcal...
>>>>>>>>     download failed "https://ci.guix.gnu.org/file/jupyterlab-server-1.2.0.tar.gz/sha256/132xby7531rbrjg9bqvsx86birr1blynjxy8gi5kcnb6x7fxjcal" 404 "Not Found"
>>>>>>>>
>>>>>>>>     Starting download of /gnu/store/92md7gh966n4fzj6al267lqq4xjx0ncf-jupyterlab-server-1.2.0.tar.gz
>>>>>>>>     From https://tarballs.nixos.org/sha256/132xby7531rbrjg9bqvsx86birr1blynjxy8gi5kcnb6x7fxjcal...
>>>>>>>>     download failed "https://tarballs.nixos.org/sha256/132xby7531rbrjg9bqvsx86birr1blynjxy8gi5kcnb6x7fxjcal" 404 "Not Found"
>>>>>>>>
>>>>>>>>     Starting download of /gnu/store/92md7gh966n4fzj6al267lqq4xjx0ncf-jupyterlab-server-1.2.0.tar.gz
>>>>>>>>     From https://archive.softwareheritage.org/api/1/content/sha256:5431d9dde96659364b7cc877693d5d21e7b80cea7ae3959ecc2b87518e5f5d8c/raw/...
>>>>>>>>     download failed "https://archive.softwareheritage.org/api/1/content/sha256:5431d9dde96659364b7cc877693d5d21e7b80cea7ae3959ecc2b87518e5f5d8c/raw/" 404 "Not Found"
>>>>>>>>     failed to download "/gnu/store/92md7gh966n4fzj6al267lqq4xjx0ncf-jupyterlab-server-1.2.0.tar.gz" from "https://files.pythonhosted.org/packages/source/j/jupyterlab-server/jupyterlab-server-1.2.0.tar.gz"
>>>>>>>>     ~~~~~END~~~~~
>>>>>>>>
>>>>>>>>     So it seems, that the jupyterlab-server file is simply not downloadable
>>>>>>>>     any longer!
>>>>>>>>
>>>>>>>>     Trying using wget:
>>>>>>>>
>>>>>>>>     ~~~~START~~~~
>>>>>>>>     $ wget https://files.pythonhosted.org/packages/source/j/jupyterlab-server/jupyterlab-server-1.2.0.tar.gz
>>>>>>>>     --2020-10-18 13:49:52--  https://files.pythonhosted.org/packages/source/j/jupyterlab-server/jupyterlab-server-1.2.0.tar.gz
>>>>>>>>     Resolving files.pythonhosted.org (files.pythonhosted.org)... 2a04:4e42:9::319, 151.101.37.63
>>>>>>>>     Connecting to files.pythonhosted.org (files.pythonhosted.org)|2a04:4e42:9::319|:443... failed: Connection refused.
>>>>>>>>     Connecting to files.pythonhosted.org (files.pythonhosted.org)|151.101.37.63|:443... connected.
>>>>>>>>     HTTP request sent, awaiting response... 404 Not Found
>>>>>>>>     2020-10-18 13:49:53 ERROR 404: Not Found.
>>>>>>>>     ~~~~~END~~~~~
>>>>>>>>
>>>>>>>>     So now I am out of ideas. It seems the file is not available any longer
>>>>>>>>     and the definition of jupyterlab needs to be updated somewhere, so that
>>>>>>>>     it does not try to download an old or non-existent version of
>>>>>>>>     jupyter-labserver. But how is this usually done? Can I specify it
>>>>>>>>     somewhere in one of the 3 files I have, or am I dependent on someone
>>>>>>>>     fixing the jupyterlab-server dependency / input for juypterlab?
>>>>>>>>
>>>>>>>>     Thanks for your help so far! Tell me, if I need to provide any more
>>>>>>>>     information to solve the problem.
>>>>>>>     Try chaning the URL line to (uri (pypi-uri "jupyterlab_server" version)),
>>>>>>>     with an underscore (_). I don't have any special suggestions for knowing
>>>>>>>     that it should be an underscore instead of a dash. The best I have is
>>>>>>>     the output from 'guix import pypi jupyterlab-server:
>>>>>>>
>>>>>>>     (ins)efraim@E5400 ~$ guix import pypi jupyterlab-server
>>>>>>>
>>>>>>>     Starting download of /tmp/guix-file.ayJ41F
>>>>>>>     From https://files.pythonhosted.org/packages/92/54/5f321ca4cebfb644ac59eb21601b46a2ff9831ffe1b4e5a588f2a7e98d48/jupyterlab_server-1.2.0.tar.gz...
>>>>>>>      …er-1.2.0.tar.gz  22KiB               57KiB/s 00:00 [##################] 100.0%
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>     Best regards,
>>>>>>>>     Zelphir
>>>>>>>>
>>>>>>>>
>>>>>>>>     On 10/16/20 2:25 PM, Tobias Geerinckx-Rice wrote:
>>>>>>>>>     Zelphir,
>>>>>>>>>
>>>>>>>>>     Zelphir Kaltstahl 写道:
>>>>>>>>>>     $ guix import pypi 'jupyterlab@2.1.5' --recursive
>>>>>>>>>     It will work if you substitute ‘/’ for ‘@’.  Yes, this is a happy
>>>>>>>>>     accident specific to the PyPI importer, and I'm sure you can guess why
>>>>>>>>>     it happens to work.
>>>>>>>>>
>>>>>>>>>>>     guix import hackage mtl@2.1.3.1
>>>>>>>>>>     But that is in the "hackage" import section. Is the same not available
>>>>>>>>>>     for PyPI?
>>>>>>>>>     [...]
>>>>>>>>>
>>>>>>>>>>     Do the various importers work differently?
>>>>>>>>>     Unfortunately so.  It would be great(TM) if PACKAGE[@VERSION] were
>>>>>>>>>     standard.  Each importer could handle it properly (e.g., by turning it
>>>>>>>>>     into "/") or return a friendlier ‘the foo importer does not yet
>>>>>>>>>     support versions’ error.
>>>>>>>>>
>>>>>>>>>     I don't have the time, but this sounds like a good intermediate-level
>>>>>>>>>     hack for someone who does :-)
>>>>>>>>>
>>>>>>>>>     Kind regards,
>>>>>>>>>
>>>>>>>>>     T G-R
>>>>>>>>     -- 
>>>>>>>>     repositories: https://notabug.org/ZelphirKaltstahl
>>>>>>     -- 
>>>>>>     repositories: https://notabug.org/ZelphirKaltstahl
>>>>>> -- 
>>>>>> Sent from my Android device with K-9 Mail. Please excuse my brevity. 
>>>>> -- 
>>>>> repositories: https://notabug.org/ZelphirKaltstahl
>>>> -- 
>>>> repositories: https://notabug.org/ZelphirKaltstahl
>> Regards,
>> Zelphir
>>
>> -- 
>> repositories: https://notabug.org/ZelphirKaltstahl

Thanks for all your help!
Zelphir

-- 
repositories: https://notabug.org/ZelphirKaltstahl




  reply	other threads:[~2020-10-25 11:58 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-16 11:50 guix import error Zelphir Kaltstahl
2020-10-16 12:19 ` zimoun
2020-10-16 12:25 ` Tobias Geerinckx-Rice
2020-10-16 13:51   ` zimoun
2020-10-18 11:55   ` guix import error + New: setting up a jupyterlab environment Zelphir Kaltstahl
2020-10-18 16:35     ` Efraim Flashner
2020-10-19 14:31       ` Zelphir Kaltstahl
2020-10-19 16:54         ` Efraim Flashner
2020-10-19 18:19           ` Zelphir Kaltstahl
2020-10-19 21:12             ` Zelphir Kaltstahl
2020-10-21  7:18               ` Efraim Flashner
2020-10-24 19:42                 ` Zelphir Kaltstahl
2020-10-25  8:52                   ` Efraim Flashner
2020-10-25 11:49                     ` Zelphir Kaltstahl [this message]
2020-10-21  7:09             ` Efraim Flashner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=acba4413-a4ca-d7e5-08f7-24ac9839b830@posteo.de \
    --to=zelphirkaltstahl@posteo.de \
    --cc=efraim@flashner.co.il \
    --cc=help-guix@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).