cross compilation: don't emulate kitty

This commit is contained in:
Colin 2023-03-01 10:14:12 +00:00
parent 706cf3bac2
commit 7445adbea0
2 changed files with 33 additions and 5 deletions

View File

@ -258,7 +258,6 @@ in
# nixpkgs hdf5 is at commit 3e847e003632bdd5fdc189ccbffe25ad2661e16f
# hdf5 # configure: error: cannot run test program while cross compiling
# http2
kitty # "FileNotFoundError: [Errno 2] No such file or directory: 'pkg-config'"
libgccjit # "../../gcc-9.5.0/gcc/jit/jit-result.c:52:3: error: 'dlclose' was not declared in this scope" (needed by emacs!)
# libsForQt5 # qtbase # make: g++: No such file or directory
libtiger # "src/tiger_internal.h:24:10: fatal error: pango/pango.h: No such file or directory"
@ -733,10 +732,17 @@ in
nativeBuildInputs = orig.nativeBuildInputs ++ [ next.glib next.gtk-doc ];
});
# kitty = prev.kitty.override {
# # does not solve original error
# inherit (emulated) stdenv;
# };
kitty = prev.kitty.overrideAttrs (upstream: {
# fixes: "FileNotFoundError: [Errno 2] No such file or directory: 'pkg-config'"
PKGCONFIG_EXE = "${next.buildPackages.pkg-config}/bin/${next.buildPackages.pkg-config.targetPrefix}pkg-config";
# when building docs, kitty's setup.py invokes `sphinx`, which tries to load a .so for the host.
# on cross compilation, that fails
KITTY_NO_DOCS = true;
patches = upstream.patches ++ [
./kitty-no-docs.patch
];
});
libchamplain = prev.libchamplain.overrideAttrs (upstream: {
# fixes: "failed to produce output path for output 'devdoc'"

View File

@ -0,0 +1,22 @@
diff --git a/setup.py b/setup.py
index 2b9d240e..770bc5e7 100755
--- a/setup.py
+++ b/setup.py
@@ -1092,11 +1092,12 @@ def c(base_path: str, **kw: object) -> None:
def create_linux_bundle_gunk(ddir: str, libdir_name: str) -> None:
- if not os.path.exists('docs/_build/html'):
- make = 'gmake' if is_freebsd else 'make'
- run_tool([make, 'docs'])
- copy_man_pages(ddir)
- copy_html_docs(ddir)
+ if not os.getenv('KITTY_NO_DOCS'):
+ if not os.path.exists('docs/_build/html'):
+ make = 'gmake' if is_freebsd else 'make'
+ run_tool([make, 'docs'])
+ copy_man_pages(ddir)
+ copy_html_docs(ddir)
for (icdir, ext) in {'256x256': 'png', 'scalable': 'svg'}.items():
icdir = os.path.join(ddir, 'share', 'icons', 'hicolor', icdir, 'apps')
safe_makedirs(icdir)