Replies: 1 comment
-
|
Okay, I kinda got most of the things with the current setup: {
lib,
stdenv,
autoPatchelfHook,
# runtime
geos,
opencv,
xercesc,
qt5,
libsForQt5,
}:
let
pname = "isis";
version = "8.3.0";
in
stdenv.mkDerivation {
inherit pname;
inherit version;
src = builtins.fetchTarball {
url = "https://anaconda.org/usgs-astrogeology/${pname}/${version}/download/linux-64/${pname}-${version}-0.tar.bz2";
sha256 = "sha256:0b0wlb9z9p5liws38bhbjvjpb2603355bwbkgv5x81p7pyf4wkdi"; # 8.3.0
};
buildInputs = [
xercesc
];
nativeBuildInputs = [
autoPatchelfHook
];
autoPatchelfIgnoreMissingDeps = [
# "libgeos.so.3.12.0"
# "libopencv_core.so.407"
# "libopencv_imgproc.so.407"
# "libqwt.so.6.2"
"libisis.so"
"libapollo.so"
"libcassini.so"
"libchandrayaan1.so"
"libclementine.so"
"libclipper.so"
"libcspice.so.67"
"libdawn.so"
"libgalileo.so"
"libhayabusa.so"
"libhayabusa2.so"
"libkaguya.so"
"liblo.so"
"liblro.so"
"libmer.so"
"libmessenger.so"
"libmex.so"
"libmgs.so"
"libmro.so"
"libnear.so"
"libnewhorizons.so"
"libodyssey.so"
"libosirisrex.so"
"librosetta.so"
"libtgo.so"
"libviking.so"
];
preBuild = ''
addAutoPatchelfSearchPath ${qt5.qtbase} ${libsForQt5.qwt}
'';
installPhase = ''
runHook preInstall
mkdir -p $out
cp -r . $out
ln -s ${geos}/lib/libgeos.so $out/lib/libgeos.so.3.12.0
ln -s ${opencv}/lib/libopencv_core.so $out/lib/libopencv_core.so.407
ln -s ${opencv}/lib/libopencv_imgproc.so $out/lib/libopencv_imgproc.so.407
'';
meta = with lib; {
homepage = "https://isis.astrogeology.usgs.gov";
description = "A digital image processing software package to manipulate imagery collected by current and past NASA and International planetary missions";
license = licenses.cc0;
platforms = platforms.linux;
maintainers = with maintainers; [ arunoruto ];
};
}The only thing which confuses me is the lack of the libraries listed in |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I am currently enjoying using NixOS on all of my devices and getting into packaging some applications. I thought maybe it would be a fun project to also package ISIS into nixpkgs and make it there available too! The main benefit would be to enable it to be installed anywhere you want, like it is a native CLI/GUI tool, but still keep the dependencies under control, i.e., no dependency hell like in arch.
Now, building via conda would not be feasible, since it isn't as reproducible as Nix needs it to be (solving the environment can get you different packages depending when you resolve them, or they are not found after a certain period of time). I was wondering if it would be possible to use the tarball found on anaconda to run it! I already tried to fetch and run it, but there are missing dependencies (mainly linking libraries). If someone is eager to see the beginning, here is a link to the
package.nixfile:https://github.com/arunoruto/flake/blob/5af036b25b3c4c30eb37e63154ab725a51ab71d9/pkgs/isis/package.nix (if I succeed in packaging it, I will probably move it to nixpkgs and it won't be in my repo anymore, thats the reason for the specific commit).
Hope to get some input or help on this!
Beta Was this translation helpful? Give feedback.
All reactions