You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Yes - coming up with a nix package definition that will work on all platforms.
Describe the solution you'd like
Instead of using homebrew, I am using nix to manage packages installed on my MacOS systems. As it turns out, there is a nix package definition that would install 2.11.0 for linux systems, but it does not support Darwin as a target.
I set out to update that nix definition to a) support Darwin and b) upgrade igir to 3.0.1, but I am currently struggling with chdman and maxcso:
Due to the way that nix operates, path-based dependencies to dynamic libraries need to be updated via patchelf (linux) or install_name_tool (MacOS). This helps retargeting dependencies to e.g. /opt/homebrew/opt/lz4/lib/liblz4.1.dylibto the corresponding library in the local nix store. This works well for all the binary components that I've found to be part of igir: lza, chdman, and maxcso.
It also seems to work well for Linux build. However, for some reason unknown to me, the Linux build does not contain the module that contains maxcso, while the Darwin build does:
Initially, I thought this might be related to emmercm/homebrew-igir#22 though I am not so sure anymore. Anyway...
I've already tried a few things, but given that my understanding of the NodeJS eco-system is rather limited, I a) have no idea what's causing this and thus b) not the slightest idea how to fix it.
Does anything come to mind there?
Additional context
No response
The text was updated successfully, but these errors were encountered:
The only obvious difference between chdman-js and macxso-js seems to be that chdman-js also contains a package called chdman-linux-arm while maxcso-js does not have any package for -arm. But I would've expected the arm64 package to be used in either case...
Is your feature request related to a problem?
Yes - coming up with a nix package definition that will work on all platforms.
Describe the solution you'd like
Instead of using homebrew, I am using nix to manage packages installed on my MacOS systems. As it turns out, there is a nix package definition that would install 2.11.0 for linux systems, but it does not support Darwin as a target.
I set out to update that nix definition to a) support Darwin and b) upgrade igir to 3.0.1, but I am currently struggling with
chdman
andmaxcso
:Due to the way that nix operates, path-based dependencies to dynamic libraries need to be updated via patchelf (linux) or
install_name_tool
(MacOS). This helps retargeting dependencies to e.g./opt/homebrew/opt/lz4/lib/liblz4.1.dylib
to the corresponding library in the local nix store. This works well for all the binary components that I've found to be part of igir:lza
,chdman
, andmaxcso
.It also seems to work well for Linux build. However, for some reason unknown to me, the Linux build does not contain the module that contains
maxcso
, while the Darwin build does:Linux (arm64)
Darwin (arm64)
Initially, I thought this might be related to emmercm/homebrew-igir#22 though I am not so sure anymore. Anyway...
I've already tried a few things, but given that my understanding of the NodeJS eco-system is rather limited, I a) have no idea what's causing this and thus b) not the slightest idea how to fix it.
Does anything come to mind there?
Additional context
No response
The text was updated successfully, but these errors were encountered: