Skip to content

Instantly share code, notes, and snippets.

@webhive
Created January 2, 2018 08:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save webhive/8b731522a85e2159449725094b925a14 to your computer and use it in GitHub Desktop.
Save webhive/8b731522a85e2159449725094b925a14 to your computer and use it in GitHub Desktop.
Arch slic3r-prusa3d
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 43d7dee7..7939a767 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -45,13 +45,13 @@ find_package(Perl REQUIRED)
add_subdirectory(xs)
enable_testing ()
-get_filename_component(PERL_BIN_PATH "${PERL_EXECUTABLE}" DIRECTORY)
-add_test (NAME xs COMMAND "${PERL_EXECUTABLE}" ${PERL_BIN_PATH}/prove -I ${PROJECT_SOURCE_DIR}/local-lib/lib/perl5 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/xs)
-add_test (NAME integration COMMAND "${PERL_EXECUTABLE}" ${PERL_BIN_PATH}/prove WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
+add_test (NAME xs COMMAND prove -I ${PROJECT_SOURCE_DIR}/local-lib/lib/perl5 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/xs)
+add_test (NAME integration COMMAND prove WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
install(PROGRAMS slic3r.pl DESTINATION bin RENAME slic3r-prusa3d)
file(GLOB MyVar var/*.png)
+
install(FILES ${MyVar} DESTINATION share/slic3r-prusa3d)
install(FILES lib/Slic3r.pm DESTINATION lib/slic3r-prusa3d)
install(DIRECTORY lib/Slic3r DESTINATION lib/slic3r-prusa3d)
diff --git a/lib/Slic3r.pm b/lib/Slic3r.pm
index 66039ddf..bb7e1eb5 100644
--- a/lib/Slic3r.pm
+++ b/lib/Slic3r.pm
@@ -41,7 +41,7 @@ warn "Running Slic3r under Perl 5.16 is neither supported nor recommended\n"
use FindBin;
# Let the XS module know where the GUI resources reside.
-set_resources_dir(decode_path($FindBin::Bin) . (($^O eq 'darwin') ? '/../Resources' : '/resources'));
+set_resources_dir("/usr/share/slic3r-prusa3d");
set_var_dir(resources_dir() . "/icons");
use Moo 1.003001;
diff --git a/slic3r.pl b/slic3r.pl
index 4b6e43e4..d833ed1b 100755
--- a/slic3r.pl
+++ b/slic3r.pl
@@ -5,8 +5,7 @@ use warnings;
BEGIN {
use FindBin;
- use lib "$FindBin::Bin/lib";
- use local::lib '--no-create', "$FindBin::Bin/local-lib";
+ use lib "$FindBin::Bin/lib", "/usr/lib/slic3r-prusa3d/";
}
use File::Basename qw(basename);
# Maintainer: Christopher Reimer <mail+aur[at]c-reimer[dot]de>
# Contributor: Swift Geek <swifgeek ɐ google m č0m>
# Contributor: Nick Østergaard <oe.nick at gmail dot com>
# Contributor: olasd
_pkgname=slic3r-prusa3d
pkgname=${_pkgname}
pkgver=1.38.6
pkgrel=1
pkgdesc="Updated Slic3r by Prusa3D with many bugfixes and new features"
arch=('i686' 'x86_64' 'armv6' 'armv6h' 'armv7h')
url="http://www.prusa3d.com/"
license=('AGPL3')
depends=('boost-libs' 'intel-tbb' 'perl' 'perl-class-accessor' 'perl-libwww' 'perl-encode-locale'
'perl-moo' 'perl-opengl' 'perl-sub-quote' 'perl-wx-glcanvas')
makedepends=('boost' 'git' 'perl-alien-wxwidgets' 'perl-devel-checklib' 'perl-extutils-cppguess'
'perl-extutils-typemaps-default' 'perl-module-build-withxspp')
checkdepends=('perl-io-stringy' 'perl-local-lib')
optdepends=('perl-net-dbus: notifications support via any dbus-based notifier'
'perl-net-bonjour: support for autodiscovery of printers on network (octoprint)'
'perl-class-xsaccessor: creating faster accessor methods')
source=("git+https://github.com/prusa3d/Slic3r.git#tag=version_$pkgver"
"Move-Slic3r-data-to-usr-share-slic3r.patch"
'slic3r.desktop')
md5sums=('SKIP'
'87c8e0bfdd7e132938ec0ff9edb5dc18'
'1941c1ede2f03774ffb77f68a7c33572')
prepare() {
cd "${srcdir}/Slic3r"
patch -p1 -i "$srcdir/Move-Slic3r-data-to-usr-share-slic3r.patch"
mkdir -p build
}
build() {
cd "${srcdir}/Slic3r"
# Moved this here from prepare(). Because prepare() runs before pkgver() we always set the wrong version.
sed -i "s/define SLIC3R_VERSION .*/define SLIC3R_VERSION \"$pkgver\"/" xs/src/libslic3r/libslic3r.h
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr \
..
make
}
check() {
cd "${srcdir}/Slic3r/t" # We're on linux. We don't want to user local::lib
#sed -i '/local::lib/d' *.t
cd "${srcdir}/Slic3r/build"
ctest -V
}
package () {
cd "$srcdir/Slic3r/build"
make DESTDIR="$pkgdir" install
cd "${srcdir}/Slic3r"
# ZSH autocompletion
install -Dm 0644 "utils/zsh/functions/_slic3r" "$pkgdir/usr/share/zsh/site-functions/_${_pkgname}"
# Resources
mkdir -p "$pkgdir/usr/share/${_pkgname}"
cp -R resources/icons "$pkgdir/usr/share/${_pkgname}/"
cp -R resources/profiles "$pkgdir/usr/share/${_pkgname}/"
# Desktop file
install -d "$pkgdir/usr/share/applications"
install -m 644 "$srcdir/slic3r.desktop" "$pkgdir/usr/share/applications/${_pkgname}.desktop"
# Desktop icon
mkdir -p "$pkgdir/usr/share/icons/hicolor/"{128x128,192x192}/apps/
ln -s "/usr/share/${_pkgname}/icons/Slic3r_128px.png" "$pkgdir/usr/share/icons/hicolor/128x128/apps/${_pkgname}.png"
ln -s "/usr/share/${_pkgname}/icons/Slic3r_192px.png" "$pkgdir/usr/share/icons/hicolor/192x192/apps/${_pkgname}.png"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment