diff options
author | Matthew Bauer <mjbauer95@gmail.com> | 2018-07-23 11:38:06 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-23 11:38:06 -0400 |
commit | 6d880d2d5b1fd53c25206d07ed33c4004fe0af13 (patch) | |
tree | 132e8ef33c263bb12b52579b78eb954a28d9fbc6 /pkgs/applications/science/astronomy/openspace/default.nix | |
parent | 1b40dda8a707a8de8eec3f5cbef7028cde931f8e (diff) | |
parent | cb597c229b74a07773571af2596f27bc14e3056f (diff) | |
download | nixlib-6d880d2d5b1fd53c25206d07ed33c4004fe0af13.tar nixlib-6d880d2d5b1fd53c25206d07ed33c4004fe0af13.tar.gz nixlib-6d880d2d5b1fd53c25206d07ed33c4004fe0af13.tar.bz2 nixlib-6d880d2d5b1fd53c25206d07ed33c4004fe0af13.tar.lz nixlib-6d880d2d5b1fd53c25206d07ed33c4004fe0af13.tar.xz nixlib-6d880d2d5b1fd53c25206d07ed33c4004fe0af13.tar.zst nixlib-6d880d2d5b1fd53c25206d07ed33c4004fe0af13.zip |
Merge pull request #42149 from timjrd/openspace-rebase
openspace: init at 0.11.1
Diffstat (limited to 'pkgs/applications/science/astronomy/openspace/default.nix')
-rw-r--r-- | pkgs/applications/science/astronomy/openspace/default.nix | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/pkgs/applications/science/astronomy/openspace/default.nix b/pkgs/applications/science/astronomy/openspace/default.nix new file mode 100644 index 000000000000..ee3a71cf1813 --- /dev/null +++ b/pkgs/applications/science/astronomy/openspace/default.nix @@ -0,0 +1,89 @@ +{ stdenv, fetchFromGitHub, fetchurl, makeWrapper, cmake +, curl, boost, gdal, glew, soil +, libX11, libXi, libXxf86vm, libXcursor, libXrandr, libXinerama }: + +stdenv.mkDerivation rec { + version = "0.11.1"; + name = "openspace-${version}"; + + src = fetchFromGitHub { + owner = "OpenSpace"; + repo = "OpenSpace"; + rev = "a65eea61a1b8807ce3d69e9925e75f8e3dfb085d"; + sha256 = "0msqixf30r0d41xmfmzkdfw6w9jkx2ph5clq8xiwrg1jc3z9q7nv"; + fetchSubmodules = true; + }; + + buildInputs = [ + makeWrapper cmake + curl boost gdal glew soil + libX11 libXi libXxf86vm libXcursor libXrandr libXinerama + ]; + + glmPlatformH = fetchurl { + url = "https://raw.githubusercontent.com/g-truc/glm/dd48b56e44d699a022c69155c8672caacafd9e8a/glm/simd/platform.h"; + sha256 = "0y91hlbgn5va7ijg5mz823gqkq9hqxl00lwmdwnf8q2g086rplzw"; + }; + + # See <https://github.com/g-truc/glm/issues/726> + prePatch = '' + cp ${glmPlatformH} ext/sgct/include/glm/simd/platform.h + cp ${glmPlatformH} ext/ghoul/ext/glm/glm/simd/platform.h + ''; + + patches = [ + # See <https://github.com/opensgct/sgct/issues/13> + ./vrpn.patch + + ./constexpr.patch + ./config.patch + + # WARNING: This patch disables some slow torrents in a very dirty way. + ./assets.patch + ]; + + bundle = "$out/usr/share/openspace"; + + preConfigure = '' + cmakeFlagsArray=( + $cmakeFlagsArray + "-DCMAKE_BUILD_TYPE=" + "-DCMAKE_INSTALL_PREFIX=${bundle}" + ) + ''; + + preInstall = '' + mkdir -p $out/bin + mkdir -p ${bundle} + ''; + + postInstall = '' + cp ext/spice/libSpice.so ${bundle}/lib + cp ext/ghoul/ext/lua/libLua.so ${bundle}/lib + ''; + + postFixup = '' + for bin in ${bundle}/bin/* + do + rpath=$(patchelf --print-rpath $bin) + patchelf --set-rpath $rpath:${bundle}/lib $bin + + name=$(basename $bin) + makeWrapper $bin $out/bin/$name --run "cd ${bundle}" + done + ''; + + meta = { + description = "Open-source astrovisualization project"; + longDescription = '' + OpenSpace is open source interactive data visualization software + designed to visualize the entire known universe and portray our + ongoing efforts to investigate the cosmos. + + WARNING: This build is not very usable for now. + ''; + homepage = https://www.openspaceproject.com/; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.linux; + }; +} |