-
-
Notifications
You must be signed in to change notification settings - Fork 14.2k
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: 0.10.12 → 0.10.13 #105438
sile: 0.10.12 → 0.10.13 #105438
Conversation
Result of 1 package built:
|
Fails to build on darwin:
|
@SuperSandro2000 I'm not exactly sure what that error is about, but here are a couple things to note:
I don't know what to say is causing this, that's just some info that might help narrow it down. |
Full log https://termbin.com/w11x I found something interesting.
If this does not help just mark it broken on darwin. I have no idea right now either. |
I think we discussed in the past how we usually handle autoconf / automake (vs Nixpkgs' I tried getting it to build from a git checkout with this diff: diff --git i/pkgs/tools/typesetting/sile/default.nix w/pkgs/tools/typesetting/sile/default.nix
index 239bafa05c9..2d22dff650f 100644
--- i/pkgs/tools/typesetting/sile/default.nix
+++ w/pkgs/tools/typesetting/sile/default.nix
@@ -1,10 +1,10 @@
{ stdenv
, darwin
-, fetchurl
+# , fetchurl
+, fetchFromGitHub
, makeWrapper
, pkg-config
-, autoconf
-, automake
+, autoreconfHook
, poppler_utils
, harfbuzz
, icu
@@ -38,21 +38,28 @@ in
stdenv.mkDerivation rec {
pname = "sile";
- version = "0.10.12";
+ version = "0.10.13";
- src = fetchurl {
- url = "https://github.com/sile-typesetter/sile/releases/download/v${version}/${pname}-${version}.tar.xz";
- sha256 = "0bxm3vhba289vcgpzbs1hz5fjamf0zgxkr7h8vcsiijjjavmv64a";
+ src = fetchFromGitHub {
+ owner = "sile-typesetter";
+ repo = "sile";
+ rev = "v${version}";
+ # url = "https://github.com/sile-typesetter/sile/releases/download/v${version}/${pname}-${version}.tar.xz";
+ sha256 = "pNV2xdFjL3f91rnDLPs1DMr24Mz+ZasOarI+D4q/E+4=";
+ fetchSubmodules = true;
};
+ postUnpack = ''
+ patchShebangs $sourceRoot/build-aux/{decore-automake.sh,list-dist-files.sh,git-version-gen}
+ '';
+
configureFlags = [
"--with-system-luarocks"
"--with-manual"
];
nativeBuildInputs = [
- autoconf
- automake
+ autoreconfHook
pkg-config
makeWrapper
]; But due to the build being sandboxed I encountered issues with the fonts that are supposed to be downloaded if the build is done from a git checkout due to: So @alerque if you could find a way to make it easy for Nix to download all the necessary fonts, that would be great. Otherwise, we can mark it as broken for Darwin. |
Result of 1 package built:
|
@@ -109,6 +109,7 @@ stdenv.mkDerivation rec { | |||
''; | |||
homepage = "https://sile-typesetter.org/"; | |||
platforms = platforms.unix; | |||
broken = stdenv.isDarwin; # https://github.com/NixOS/nixpkgs/issues/23018 |
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.
@marsam how is this related to the build errors we got on darwin?
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 error happens during the checkPhase because it tries to call the sile
executable, which shebang points to the luaEnv wrapper, hence it refers to that issue.
Thanks for the follow up on this @doronbehar. Sorry I've been AWOL for a while. I got a bit buried by life and FOSS stuff got really patchy. Just to clarify here, building from Git requires font downloads because the manual is not prebuilt in the Git repository (it would be a huge binary blob that updates on every commit). There already is a helper in the Makefile for downloading fonts, but you don't need it. The source tarballs have a prebuilt PDF manual in the package and don't need to download any fonts. What was really wrong here is that autoconf/automake should not be required by builds from the tarball. I don't quite understand what the resolution was here, but if there is still something in the source tarballs that requires autoconf I'd like to fix it. |
Could it be it's needed for the tests? The fact that we need autoconf & automake (for whatever rightful or not reasons), it's not the reason it was broken on Darwin.
See #105438 (review) - it's totally a Nix issue on Darwin. It's possible that prior to this update, sile was broken on darwin, but we didn't know it. |
Yes, that's possible.
I'd like to get to the bottom of this and eliminate whatever reasons there may be. Lets say I had a working Docker or VirtualBox image spun up with Nix on board (I have both). What would be the most expeditious way to play with this formula such that I can edit it to experiment without waiting for CI and such that I can feed it test tarballs of unreleased sources. For science. |
The issue due to it this is broken on Darwin is very old: #23018 and only a few weeks ago at NixOS/rfcs#75 (comment) we sort of only slightly tackled a close issue related to it. |
Motivation for this change
Upstream release.
Bumping in the blind here but CI should check this okay ... there are no dependency changes or anything else significant to build & packaging in this release.
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)