feature(siril): make siril plugins work by exposing shared objects
This commit is contained in:
+18
-1
@@ -1,10 +1,27 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
# Siril's Python plugins (sirilpy) run in a venv that pip-installs foreign
|
||||
# manylinux wheels (numpy, GraXpert deps, ...). Those .so files need
|
||||
# libstdc++ at runtime. nix-ld does NOT cover this: it only handles the
|
||||
# initial exec of a foreign binary, but here a *native* nixpkgs python
|
||||
# dlopen()s the foreign wheel. So we put the libs on LD_LIBRARY_PATH, which
|
||||
# the python subprocess inherits from the Siril process.
|
||||
sirilWithPlugins = pkgs.symlinkJoin {
|
||||
name = "siril-with-plugins";
|
||||
paths = [ pkgs.siril ];
|
||||
nativeBuildInputs = [ pkgs.makeWrapper ];
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/siril \
|
||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.stdenv.cc.cc.lib pkgs.zlib ]}
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
# install stellarium for target finding and siril for stacking
|
||||
environment.systemPackages = with pkgs; [
|
||||
stellarium
|
||||
siril
|
||||
sirilWithPlugins
|
||||
];
|
||||
|
||||
# StarNet++ has no nixpkgs package. Download the StarNet v2 ORT CLI build
|
||||
|
||||
Reference in New Issue
Block a user