- Video conference
- GitHub project board
- Team details
- Past meeting notes
- Attendees: @infinisil @brianmcgee @zmitchell @henrik-ch @pennae (no mic, left early) @StefanSchroeder
- Notes by: @infinisil
Notes
As discussed in the last meeting, we’ll do a mob programming session where @zmitchell tries to package and upstream a package to see what problems somebody new runs into.
Mob programming
- @zmitchell will try to upstream GitHub - wpilibsuite/sphinxext-rediraffe: Sphinx extension to redirect files for Automatically update _redirects file · Issue #522 · NixOS/nix.dev · GitHub
- Searching for “nixpkgs python”, Python | nixpkgs comes up, section “Python library packages in Nixpkgs” seems relevant
- Checking pypi for the package for
fetchPypi
, does exist - Not sure about the hash, remember can put in a bogus one and it will spit out the right one
- Looking for other python packages in Nixpkgs, found a bunch of sphinx extensions in https://github.com/NixOS/nixpkgs/tree/master/pkgs/development/python-modules,
- Doesn’t know the difference between buildPythonPackage and buildPythonApplication, just going for buildPythonPackage for now and hope it works
- Copying https://github.com/NixOS/nixpkgs/blob/8dd0f0a459b206fc4209570f6b7ce44ae66f264e/pkgs/development/python-modules/sphinx-book-theme/default.nix
- Trying to build the copied package with
cd pkgs/development/python-modules/sphinx-rediraffe && nix-build .
Error: "Cannot evaluate a function that has an argument without a value (lib
) …
→ Not supplying arguments, no defaults - @infinisil: Take a look at contributing to nixpkgs section
- Seeing the step to add package to
all-packages.nix
, thennix-build -A <name>
works - Grepping for “sphinx” in
all-packages.nix
, trying to put the new package next tosphinx-serve
- Notices that these are python applications, what do other sphinx libraries do?
- Can’t find sphinx-book-theme in
all-packages.nix
→ trying to find it in all of nixpkgs, found a definition mention inpython-packages.nix
- Adding a definition like
sphinx-rediraffe = callPackage ... { };
- Going to root of nixpkgs and trying
nix-build -A sphinx-rediraffe
Error: Attributesphinx-rediraffe
in selection path not found - Going back to the manual section to see if something was missed
- Noticing that
-A <name>
was written forall-packages.nix
, but now it’s inpython-packages.nix
,nix-build -A sphinx-book-theme
also doesn’t work - Looking at Python section in the manual, no good ToC but found a Contributing guidelines section
- Seeing a mention of
python-packages.nix
- Doesn’t seem to mention how to build Python packages
- Seeing a mention of
-
@infinisil: Grep for
nix-build
, found a mention in Python | nixpkgs - Trying out
nix-build -A pythonPackages....
Error: Python 2.7 is not supported, also doesn’t seem to work for the sphinx-book-theme - No clue why it’s using 2.7, where is 2 declared?
-
@infinisil: Try grepping for “python3”
- Found a mention of
python39Packages
- Found a mention of
- Why separate
python-packages.nix
andpython2-packages.nix
, yet my package is added topython-packages.nix
but it builds with Python 2 - It finally builds with
nix-build -A python3Packages.sphinx-rediraffe
! - Proceeds to edit the
default.nix
, changing it according to the package and deleting everything that doesn’t seem to be needed, should get an error if it ends up being needed after all - Regarding
propagatedBuildInputs
, also know that there’sbuildInputs
,nativeBuildInputs
and a whole bunch of others in a Matrix, got previous suggestion to not worry about it.propagatedBuildInputs
seems to for things you want at build time and at runtime. - Leaving the hash the same since it’s already formatted as expected but incorrect
- Not sure about
meta.changelog
,sphinx-rediraffe
doesn’t seem to have one, not sure if it’s fine to not have one, deleting it - What is
meta.maintainers
, Python package maintainer or Nixpkgs maintainer?- Grepping for “maintainers” in the manual, not a lot of results, but adding myself now
- Trying to build it, download failed, correct hash is output
- @infinisil: Huh? Did you change the hash?
- @zmitchell: Nope
- @infinisil: (not sure why)
- Getting error about import not working, seems to be related to
pythonImportsCheck
- Fixing it by changing it to the correct python module name after checking upstream readme
- Wondering about
passthru.tests
, found section onpkgs.testers
, no explanation ofpassthru
, found section on meta tests - Found
passthru
section in the stdenv section, but not entirely sure what it means, mentions dependency specification. Not sure why it sayspassthru
can hold arbitrary values, but then some conventions seem to be explained. - Looking at other packages to see if they have
passthru.tests
, finds another package that doesn’t have it → Not needed for now - @henrik-ch: We should test it too
- @zmitchell: Not sure how to test it, would have to point nix.dev to my local directory
- @infinisil: Can explain it next time, it’s important to test new packages