New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RFC] pythonPackages.libnl: init+bump at 3.4.0 #40470
Conversation
It looks like we have a name collision here. Is something else importing |
|
||
nativeBuildInputs = libnl.nativeBuildInputs ++ [ swig file ]; | ||
|
||
propagatedBuildInputs = [ libnl ]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should not be required if libnl
is used to build an internal binding.
''; | ||
|
||
postConfigure='' | ||
cd python |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we should have a python output in libnl
instead? What python versions does libnl support at the moment?
@FRidh might have a better idea how optional python bindings in libraries is handled better. |
The rebuild is triggered only if the derivation .drv file changes right ? could my addition of the |
All packages in python that do not take |
Typically we build packages with bindings, and put those in a separate output. We can then wrap that output in |
Could you give an example? I have not found any example so far. |
fontforge/gpgpme ? but those 2 have specifc targets for bindings. Anyway I
am now modifying the package.
Should I add python to outputs = [ "bin" "dev" "out" "man" "python" ];
inconditionally and/or remove the folder when !withPython ?
2018-05-15 18:00 GMT+09:00 Jörg Thalheim <notifications@github.com>:
… Could you give an example? I have not found any example so far.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#40470 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AA2FOkMQbA_Pd_6DTRQw1Ijf4fabqS2oks5typk_gaJpZM4T9GgU>
.
|
Related issue regarding bindings #20516. Look for Some examples:
|
The examples you've shown seem to all have the binding generation part of their buildsystem. That's not the case for libnl so I will still need some kind of python packaging (to run python tests)
what I don't get though is why the python package won't compile even though I provided the libnl.dev output aong with pkgconfig; the correct include path (sthg like /nix/store/d29dwbldfg8qsgcsgp4ic14av9iw5rlw-libnl-3.4.0-dev/include/libnl3) won't appear in gcc command line:
|
I think this addresses the concern: I run the |
Success on x86_64-linux (full log) Attempted: libnl Partial log (click to expand)
|
Success on aarch64-linux (full log) Attempted: libnl Partial log (click to expand)
|
|
||
postBuild = lib.optionalString (pythonSupport) '' | ||
cd python | ||
${python}/bin/python setup.py install --prefix=../pythonlib |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe I could just use --prefix=$py straightaway ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Try it.
It's a pity building a wheel does not work.
${python.interpreter} instead of ${python}/bin/python
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried it and it generates the folder so that I don't need the postFixup phase anymore \o/
''; | ||
|
||
postFixup = lib.optionalString pythonSupport '' | ||
mv "pythonlib/" "$py" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use moveToOutput
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had tried several times but I could never get moveToOutput to do anything. I wonder if I don't get the usag right.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
anyway this hook is not needed anymore
Success on x86_64-linux (full log) Attempted: libnl Partial log (click to expand)
|
Success on aarch64-linux (full log) Attempted: libnl Partial log (click to expand)
|
Netlink is the userspace <-> kernelspace communication protocol.
Success on x86_64-linux (full log) Attempted: libnl Partial log (click to expand)
|
@FRidh package looks good to me. What do you say? |
Success on aarch64-linux (full log) Attempted: libnl Partial log (click to expand)
|
thanks for the guidance. |
Netlink is the userspace <-> kernelspace coomunication protocol.
Motivation for this change
I need it
Note: I don't know if it's because netlink examples are outdated or because of my packaging but
import netlink.genl.capi
, one would need to doimport netlink.genl._capi
. Maybe I should rename _capi.so to capi.so ?Things done
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)