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
clpm: init at 0.3.5 #108849
clpm: init at 0.3.5 #108849
Conversation
Add clpm (common lisp package manager).
@ofborg eval |
rev = "v${version}"; | ||
url = "https://gitlab.common-lisp.net/clpm/clpm"; | ||
sha256 = "0jivnnp3z148yf4c2nzzr5whz76w5kjhsb97z2vs5maiwf79y2if"; | ||
fetchSubmodules = true; |
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.
rev = "v${version}"; | |
url = "https://gitlab.common-lisp.net/clpm/clpm"; | |
sha256 = "0jivnnp3z148yf4c2nzzr5whz76w5kjhsb97z2vs5maiwf79y2if"; | |
fetchSubmodules = true; | |
url = "https://gitlab.common-lisp.net/clpm/clpm"; | |
rev = "v${version}"; | |
fetchSubmodules = true; | |
sha256 = "0jivnnp3z148yf4c2nzzr5whz76w5kjhsb97z2vs5maiwf79y2if"; |
Also I would prefer if we used fetchFromGitLab and not venodr 20 submodules.
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.
Thanks for the feedback @SuperSandro2000 ! How would you suggest avoid vendoring submodules? Is it possible to run git submodules init
and git submodules update
in the configurePhase? It seems that theres no fetchSubmodules in fetchFromGitlab.
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.
There isn't? That should be added.
You don't have network access in the all the phases so that wont work.
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 can use fetchFromGitHub
and then set githubBase = "gitlab.common-lisp.net"
, but don't know if that's any better than fethgit
? It seems like fetchFromGitLab
could be rewritten to be pretty similar to it's GitHub equivalent. I can look into rewriting fetchFromGitLab
, need some projects to make me more comfortable with nix. Should we just use fetchgit
for now?
libssl = openssl.out; | ||
|
||
buildPhase = '' | ||
# Libs are copied working directory to avoid error when build script tries to deploy them | ||
cp $libssl/lib/libcrypto.so.* . | ||
cp $libssl/lib/libssl.so.* . |
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.
libssl = openssl.out; | |
buildPhase = '' | |
# Libs are copied working directory to avoid error when build script tries to deploy them | |
cp $libssl/lib/libcrypto.so.* . | |
cp $libssl/lib/libssl.so.* . | |
buildPhase = '' | |
# Libs are copied working directory to avoid error when build script tries to deploy them | |
ln -s $openssl/lib/libcrypto.so.* . | |
ln -s $openssl/lib/libssl.so.* . |
I think that should work.
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 can confirm that it's working with symlink too. However I still have to set libssl = openssl.out
as $openssl
points to openssl-1.1.1i-bin/
and libraries are present in openssl-1.1.1i/
. Openssl is a "multi output package" it seems. Is it ok to replace cp
with ln
but keep libssl
?
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.
ln -s ${openssl.out}/lib/libssl.so.* .
Does that work?
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.
Ahh, of course. Thanks for this!
This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch) Result of 1 package failed to build and are new build failure:
|
Avoid copying libraries to build dir, use symlink instead.
@SuperSandro2000 I have added a new commit which implements some of the improvements you mentioned above. Everything seems to be working now. |
This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch) Result of 1 package built:
|
Motivation for this change
Add common lisp package manager to nix, used it for a while now and everything seems to be working.
My first contribution here so feedback is much appreciated.
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)