-
-
Notifications
You must be signed in to change notification settings - Fork 15k
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
sile: v0.9.5.1 -> v0.10.3; adjust build process #77738
Conversation
''; | ||
|
||
postInstall = '' | ||
install -D -t $out/share/doc/sile documentation/*.pdf | ||
install -D -t $out/share/doc/sile documentation/sile.pdf |
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.
shouldn't upstream install the doc ? or provide a target install-doc
?
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.
Can you point me do documentation or a good case study for how make install-doc
should work? I'd be happy to get it setup properly upstream but I'm unsure what the outcome should look like.
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.
The manual (documentation/sile.pdf) actually comes precompiled in the source tarballs now so you can skip the make documentation
unless you are building from git HEAD. Note this is also why Gentium-Book and DeJavu fonts are not requirements. If building the manual you'd need those back.
@@ -46,11 +44,12 @@ stdenv.mkDerivation rec { | |||
enableParallelBuilding = true; | |||
|
|||
checkPhase = '' | |||
make documentation/developers.pdf documentation/sile.pdf | |||
make documentation examples |
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.
weird to build documentation in a checkPhase. Eventually documentation generation could be toggled via a withDoc flag.
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.
Should I be adding --with-documentation
as a ./configure
flag so that make all
includes these (or not) without needing to know to trigger the extra targets?
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.
Documentation can be dropped from here, make examples
is actually not a bad way to do a simple check that everything is working. The downside is going to be that it downloads a bunch of fonts to do that. make busted
would be a better check, but requires extra dependencies. Just checking ./sile --version
might be an acceptable check phase.
}: | ||
|
||
with stdenv.lib; | ||
|
||
let | ||
luaEnv = lua.withPackages(ps: with ps;[ lpeg luaexpat lua-zlib luafilesystem luasocket luasec]); | ||
luaEnv = lua.withPackages(ps: with ps;[cassowary linenoise lpeg lua-zlib lua_cliargs luaepnf luaexpat luafilesystem luarepl luasec luasocket stdlib vstruct]); |
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 believe some of these packages cassowary/linenoise should be added to nixpkgs since they don't appear in pkgs/development/lua-modules/generated-packages.nix
I tried to get the package working, but I struggled with the new lua package dependencies. Could someone who has experience with lua packages decide which way to go:
|
We should strive for 1: I can help with packaging the missing lua packages see the (slightly outdated) doc https://github.com/NixOS/nixpkgs/pull/55302/files . |
v0.10.1 is out upstream. There are no changes that should affect packaging. |
I've packaged the missing lua packages to help with this. |
@GrahamcOfBorg eval |
3deed57
to
4993695
Compare
@marsam Thanks for your work on this. Please instruct me if I'm doing something wrong handling this PR. I just rebased on master and cherry picked your commits. Something doesn't seem right about the addition of |
it's required by configure for lua<5.3, and currently nixpkgs uses lua 5.2, if you don't want compat53 I think you can either patch configure.ac or use lua5_3 |
878d08b
to
984256e
Compare
@marsam My apologies, I thought Nix was at Lua 5.3. I have removed that commit as it was completely bogus. |
I see CI has passed. Dose that mean anything? From the upstream side the only remaining question I have about this is whether the man page ended up where it was supposed to. Otherwise I think it's up to you Nix folks to review and help check off the regular PR checklist ;-) Thanks for the help everybody. |
Thank you @alerque, I'm going to address the man page installation in another PR |
@marsam It seems like |
Motivation for this change
New release of SILE upstream (announcement) has new dependencies and a different build system. Overall it should be easier to packages, but for this release cycle there are several changes.
Note I am not a Nix user, I am an upstream maintainer trying to facilitate this update. There are several things NOT done yet that I don't know how to fix:
./configure
command needs to be passed the--with-system-luarocks
argument if, as in the current package, all the external Lua Rocks are being supplied by the package manager. Alternatively if it would be better for Nix not to bother with those and just have SILE bundle the deps itself, you can just drop all the Lua package deps and not pass this argument and it will bundle everything.If there is anything else I can facilitate so this packages easily let me know.
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)