summary refs log tree commit diff
path: root/pkgs/applications/misc/slic3r
diff options
context:
space:
mode:
authorAndré-Patrick Bubel <code@andre-bubel.de>2018-10-02 09:23:14 +0200
committerAndré-Patrick Bubel <code@andre-bubel.de>2018-10-03 19:55:54 +0200
commit0dd86a350d54a5bcdb6f8b969f18bd94e2275214 (patch)
treeda62a109b89e25dbbf599d6c0fa98cd302b620bb /pkgs/applications/misc/slic3r
parent2125e07024ba75dda187e607739f13c4b9537415 (diff)
downloadnixpkgs-0dd86a350d54a5bcdb6f8b969f18bd94e2275214.tar
nixpkgs-0dd86a350d54a5bcdb6f8b969f18bd94e2275214.tar.gz
nixpkgs-0dd86a350d54a5bcdb6f8b969f18bd94e2275214.tar.bz2
nixpkgs-0dd86a350d54a5bcdb6f8b969f18bd94e2275214.tar.lz
nixpkgs-0dd86a350d54a5bcdb6f8b969f18bd94e2275214.tar.xz
nixpkgs-0dd86a350d54a5bcdb6f8b969f18bd94e2275214.tar.zst
nixpkgs-0dd86a350d54a5bcdb6f8b969f18bd94e2275214.zip
slic3r-prusa3d: 1.40.1 -> 1.41.0
Diffstat (limited to 'pkgs/applications/misc/slic3r')
-rw-r--r--pkgs/applications/misc/slic3r/prusa3d.nix36
1 files changed, 25 insertions, 11 deletions
diff --git a/pkgs/applications/misc/slic3r/prusa3d.nix b/pkgs/applications/misc/slic3r/prusa3d.nix
index f871b07b85c..15517de3aed 100644
--- a/pkgs/applications/misc/slic3r/prusa3d.nix
+++ b/pkgs/applications/misc/slic3r/prusa3d.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, makeWrapper, which, cmake, perl, perlPackages,
   boost, tbb, wxGTK30, pkgconfig, gtk3, fetchurl, gtk2, libGLU,
-  glew, eigen, curl }:
+  glew, eigen, curl, gtest, nlopt, pcre, xorg }:
 let
   AlienWxWidgets = perlPackages.buildPerlPackage rec {
     name = "Alien-wxWidgets-0.69";
@@ -33,22 +33,28 @@ let
 in
 stdenv.mkDerivation rec {
   name = "slic3r-prusa-edition-${version}";
-  version = "1.40.1";
+  version = "1.41.0";
 
   enableParallelBuilding = true;
 
-  buildInputs = [
+  nativeBuildInputs = [
     cmake
-    curl
-    perl
     makeWrapper
+  ];
+
+  buildInputs = [
+    curl
     eigen
     glew
+    pcre
+    perl
     tbb
     which
     Wx
     WxGLCanvas
-  ] ++ (with perlPackages; [
+    xorg.libXdmcp
+    xorg.libpthreadstubs
+  ] ++ checkInputs ++ (with perlPackages; [
     boost
     ClassXSAccessor
     EncodeLocale
@@ -72,16 +78,24 @@ stdenv.mkDerivation rec {
     XMLSAX
   ]);
 
+  checkInputs = [ gtest ];
+
+  # The build system uses custom logic - defined in
+  # xs/src/libnest2d/cmake_modules/FindNLopt.cmake in the package source -
+  # for finding the nlopt library, which doesn't pick up the package in the nix store.
+  # We need to set the path via the NLOPT environment variable instead.
+  NLOPT = "${nlopt}";
+
   prePatch = ''
     # In nix ioctls.h isn't available from the standard kernel-headers package
     # on other distributions. As the copy in glibc seems to be identical to the
     # one in the kernel, we use that one instead.
     sed -i 's|"/usr/include/asm-generic/ioctls.h"|<asm-generic/ioctls.h>|g' xs/src/libslic3r/GCodeSender.cpp
 
-    # PERL_VENDORARCH and PERL_VENDORLIB aren't detected correctly by the build
+    # PERL_VENDORARCH and PERL_VENDORLIB aren't set correctly by the build
     # system, so we have to override them. Setting them as environment variables
-    # doesn't work though, so patching the paths directly in the CMakeLists.txt
-    # seems to be the easisest way.
+    # doesn't work though, so substituting the paths directly in CMakeLists.txt
+    # seems to be the easiest way.
     sed -i "s|\''${PERL_VENDORARCH}|$out/lib/slic3r-prusa3d|g" xs/CMakeLists.txt
     sed -i "s|\''${PERL_VENDORLIB}|$out/lib/slic3r-prusa3d|g" xs/CMakeLists.txt
   '';
@@ -100,7 +114,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "prusa3d";
     repo = "Slic3r";
-    sha256 = "022mdz8824wg68qwgd49gnplw7wn84hqw113xh8l25v3j1jb9zmc";
+    sha256 = "1al60hrqbhl05dnsr99hzbmxmn26fyx19sc5zxv816x3q6px9n2d";
     rev = "version_${version}";
   };
 
@@ -108,7 +122,7 @@ stdenv.mkDerivation rec {
     description = "G-code generator for 3D printer";
     homepage = https://github.com/prusa3d/Slic3r;
     license = licenses.agpl3;
-    platforms = platforms.linux;
+    platforms = subtractLists ["aarch64-linux"] platforms.linux;
     maintainers = with maintainers; [ tweber ];
   };
 }