slic3r-prusa3d: 1.40.1 -> 1.41.0

This commit is contained in:
André-Patrick Bubel 2018-10-02 09:23:14 +02:00
parent 2125e07024
commit 0dd86a350d
No known key found for this signature in database
GPG Key ID: 28925CBA8869FF29

View File

@ -1,6 +1,6 @@
{ stdenv, fetchFromGitHub, makeWrapper, which, cmake, perl, perlPackages, { stdenv, fetchFromGitHub, makeWrapper, which, cmake, perl, perlPackages,
boost, tbb, wxGTK30, pkgconfig, gtk3, fetchurl, gtk2, libGLU, boost, tbb, wxGTK30, pkgconfig, gtk3, fetchurl, gtk2, libGLU,
glew, eigen, curl }: glew, eigen, curl, gtest, nlopt, pcre, xorg }:
let let
AlienWxWidgets = perlPackages.buildPerlPackage rec { AlienWxWidgets = perlPackages.buildPerlPackage rec {
name = "Alien-wxWidgets-0.69"; name = "Alien-wxWidgets-0.69";
@ -33,22 +33,28 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "slic3r-prusa-edition-${version}"; name = "slic3r-prusa-edition-${version}";
version = "1.40.1"; version = "1.41.0";
enableParallelBuilding = true; enableParallelBuilding = true;
buildInputs = [ nativeBuildInputs = [
cmake cmake
curl
perl
makeWrapper makeWrapper
];
buildInputs = [
curl
eigen eigen
glew glew
pcre
perl
tbb tbb
which which
Wx Wx
WxGLCanvas WxGLCanvas
] ++ (with perlPackages; [ xorg.libXdmcp
xorg.libpthreadstubs
] ++ checkInputs ++ (with perlPackages; [
boost boost
ClassXSAccessor ClassXSAccessor
EncodeLocale EncodeLocale
@ -72,16 +78,24 @@ stdenv.mkDerivation rec {
XMLSAX 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 = '' prePatch = ''
# In nix ioctls.h isn't available from the standard kernel-headers package # 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 # on other distributions. As the copy in glibc seems to be identical to the
# one in the kernel, we use that one instead. # 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 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 # 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 # doesn't work though, so substituting the paths directly in CMakeLists.txt
# seems to be the easisest way. # seems to be the easiest way.
sed -i "s|\''${PERL_VENDORARCH}|$out/lib/slic3r-prusa3d|g" xs/CMakeLists.txt 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 sed -i "s|\''${PERL_VENDORLIB}|$out/lib/slic3r-prusa3d|g" xs/CMakeLists.txt
''; '';
@ -100,7 +114,7 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "prusa3d"; owner = "prusa3d";
repo = "Slic3r"; repo = "Slic3r";
sha256 = "022mdz8824wg68qwgd49gnplw7wn84hqw113xh8l25v3j1jb9zmc"; sha256 = "1al60hrqbhl05dnsr99hzbmxmn26fyx19sc5zxv816x3q6px9n2d";
rev = "version_${version}"; rev = "version_${version}";
}; };
@ -108,7 +122,7 @@ stdenv.mkDerivation rec {
description = "G-code generator for 3D printer"; description = "G-code generator for 3D printer";
homepage = https://github.com/prusa3d/Slic3r; homepage = https://github.com/prusa3d/Slic3r;
license = licenses.agpl3; license = licenses.agpl3;
platforms = platforms.linux; platforms = subtractLists ["aarch64-linux"] platforms.linux;
maintainers = with maintainers; [ tweber ]; maintainers = with maintainers; [ tweber ];
}; };
} }