You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
238 lines
8.1 KiB
238 lines
8.1 KiB
#!/bin/sh
|
|
# Generated by Alien's SlackBuild Toolkit: http://slackware.com/~alien/AST
|
|
# Copyright 2009, 2010, 2011, 2012, 2013, 2014, 2015 Eric Hameleers, Eindhoven, Netherlands
|
|
# Copyright 2015-2017 Thorn Inurcide
|
|
# Copyright 2015-2017 tde-slackbuilds project on GitHub
|
|
# All rights reserved.
|
|
#
|
|
# Permission to use, copy, modify, and distribute this software for
|
|
# any purpose with or without fee is hereby granted, provided that
|
|
# the above copyright notice and this permission notice appear in all
|
|
# copies.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
|
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
|
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
|
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
# SUCH DAMAGE.
|
|
|
|
PRGNAM=inkscape
|
|
VERSION=1.3.2
|
|
BUILD=${BUILD:-1}
|
|
|
|
ARCHIVE_TYPE="tar.xz"
|
|
SRCURL="https://media.inkscape.org/dl/resources/file/$PRGNAM-$VERSION.$ARCHIVE_TYPE"
|
|
|
|
source ../../get-source.sh
|
|
## need this here for CXX_FLAGS for double-conversion
|
|
getsource_fn
|
|
|
|
## inkscape needs double-conversion
|
|
[[ $(cat $TMPVARS/PRE_DOWNLOAD) != yes ]] && {
|
|
# ### double-conversion - start
|
|
{
|
|
## If it is already installed, go to end
|
|
pkg-config double-conversion || ldconfig -p|grep libdouble-conversion 1>/dev/null || { # ldconfig if no .pc file
|
|
## otherwise, if the source archive is in 'src' ..
|
|
[[ -s $BUILD_TDE_ROOT/src/v3.3.0.tar.gz ]] && {
|
|
## .. build, package, and install ..
|
|
(
|
|
echo -e "\n building double-conversion \n"
|
|
|
|
cd /$TMP_BUILD
|
|
rm -rf *double-conversion*
|
|
tar xf $BUILD_TDE_ROOT/src/v3.3.0.tar.gz
|
|
cd double-conversion-3.3.0/
|
|
|
|
## add a pkg-config .pc file
|
|
echo 'prefix=@CMAKE_INSTALL_PREFIX@
|
|
exec_prefix=${prefix}
|
|
libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
|
|
includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
|
|
|
|
Name: Double conversion
|
|
Description: Provides binary-decimal and decimal-binary routines for IEEE doubles
|
|
Version: @PROJECT_VERSION@
|
|
|
|
Requires:
|
|
Libs: -L${libdir} -l@PROJECT_NAME@
|
|
Cflags: -I${includedir}/@PROJECT_NAME@
|
|
' > double-conversion.pc.in
|
|
#
|
|
echo '
|
|
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc.in
|
|
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc @ONLY )
|
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc" DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
|
' >> CMakeLists.txt
|
|
|
|
cd cmake/
|
|
# LIBDIRSUFFIX not required - include(GNUInstallDirs) sets lib64 where appropriate ..
|
|
cmake ${G_NINJA:-} \
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
-DBUILD_TESTING=OFF \
|
|
-DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
|
|
-DCMAKE_CXX_COMPILER=$COMPILER_CXX \
|
|
..
|
|
|
|
PKG=$TMP_BUILD/package-double-conversion
|
|
make_fn
|
|
|
|
cd $TMP_BUILD/package-double-conversion
|
|
makepkg -l y -c n $OUTPUT/double-conversion-3.3.0-$ARCH-$BUILD.txz
|
|
installpkg $OUTPUT/double-conversion-3.3.0-$ARCH-$BUILD.txz
|
|
)
|
|
echo -e "\n now building inkscape \n"
|
|
} || { ## .. but if the source archive isn't in 'src', display download URL ..
|
|
echo -e "
|
|
############
|
|
|
|
double-conversion is required for building inkscape
|
|
|
|
Download:
|
|
\033[39;1m
|
|
( cd $BUILD_TDE_ROOT/src
|
|
wget https://github.com/google/double-conversion/archive/v3.3.0.tar.gz )
|
|
\033[0m
|
|
and re-run ./BUILD-TDE.sh, choosing Re-use ..
|
|
|
|
############
|
|
" ; exit 1 ; }
|
|
}
|
|
}
|
|
# ### double-conversion - end
|
|
}
|
|
|
|
untar_fn
|
|
|
|
## set internal 2geom lib paths to lib$LIBDIRSUFFIX
|
|
sed -i 's|set(CMAKE_INSTALL_RPATH.*$|set(CMAKE_INSTALL_RPATH $ORIGIN)|' src/3rdparty/2geom/CMakeLists.txt
|
|
sed -i 's|libdir=.*$|libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@|' src/3rdparty/2geom/2geom.pc.in
|
|
|
|
### only build for required locales, always including en[_US]
|
|
## .. for translations and slack-desc
|
|
locas=""
|
|
## .. for tutorials
|
|
tuts="tutorial-tracing.svg tutorial-tracing-pixelart.svg tutorial-tips.svg tutorial-shapes.svg tutorial-interpolate.svg tutorial-elements.svg tutorial-calligraphy.svg tutorial-basic.svg tutorial-advanced.svg tux.png potrace.png pixelart-dialog.png oldguitar.jpg making_markers.svg edge3d.svg"
|
|
## .. for man pages
|
|
pods="inkscape.pod.in inkview.pod.in"
|
|
## .. for welcome screen text
|
|
I18N_SVG="about.svg start-welcome-text.svg"
|
|
#
|
|
for locale in $I18N
|
|
do
|
|
# only add translations where inkscape supports the locale
|
|
[[ $(grep $locale po/LINGUAS) ]] && locas="$locas $locale"
|
|
tuts="$tuts $(ls share/tutorials/*.$locale.*)" || true
|
|
pods="$pods $(ls man/*.$locale.pod.in)" || true
|
|
[[ -s share/screens/start-welcome-text.$locale.svg ]] && I18N_SVG="$I18N_SVG start-welcome-text.$locale.svg" && COUNT_TEXT=$[${COUNT_TEXT:-}+1]
|
|
COUNT_I18N=$[${COUNT_I18N:-}+1]
|
|
done
|
|
[[ ${locas:-} ]] && NLS=ON
|
|
#
|
|
pos=$(echo $locas | sed 's| |.po |g;s|$|.po|')
|
|
sed -i "s|*.po|$pos|" po/CMakeLists.txt
|
|
#
|
|
tuts=$(echo $tuts|sed 's|share/tutorials/||g')
|
|
sed -i "s|GLOB.*$|GLOB _FILES README $tuts)|" share/tutorials/CMakeLists.txt
|
|
#
|
|
pods=$(echo $pods|sed 's|man/||g')
|
|
sed -i "s|*.pod.in|$pods|" man/CMakeLists.txt
|
|
## and install man pages to $prefix, as per most other Slackware packages
|
|
sed -i 's|MANFILE_DEST "${CMAKE_INSTALL_FULL_MANDIR}|MANFILE_DEST "${CMAKE_INSTALL_PREFIX}/man|' CMakeScripts/Pod2man.cmake
|
|
#
|
|
## Add the TRANSLATING file if any of the locales has no start-welcome-text.$locale.svg
|
|
[[ ${COUNT_I18N:-} != ${COUNT_TEXT:-} ]] && I18N_SVG="TRANSLATING $I18N_SVG"
|
|
sed -i "s|\"\*.svg\"|$I18N_SVG|" share/screens/CMakeLists.txt
|
|
|
|
listdocs_fn
|
|
|
|
chown_fn
|
|
|
|
cd_builddir_fn
|
|
|
|
## for a clang/i586 build, linking inkscape and inkview:
|
|
##| /usr/bin/ld: lib/libinkscape_base.so: undefined reference to `__atomic_store'
|
|
##| /usr/bin/ld: lib/libinkscape_base.so: undefined reference to `__atomic_load'
|
|
## Override the LIBATOMIC_NOT_NEEDED test in DefineDependsandFlags.cmake to add -latomic to the linker flags
|
|
[[ $COMPILER == clang && $ARCH == i586 ]] && LIBATOMIC=-DLIBATOMIC_NOT_NEEDED=0
|
|
## options have been pulled from CMakeLists.txt
|
|
cmake ${G_NINJA:-} ${LIBATOMIC:-} \
|
|
-DCMAKE_C_FLAGS="$SLKCFLAGS" \
|
|
-DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
|
|
-DCMAKE_C_COMPILER=$COMPILER \
|
|
-DCMAKE_CXX_COMPILER=$COMPILER_CXX \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_INSTALL_PREFIX=/usr/local \
|
|
-DBUILD_SHARED_LIBS="ON" \
|
|
-DBUILD_TESTING="OFF" \
|
|
-DENABLE_BINRELOC="OFF" \
|
|
-DENABLE_LCMS="ON" \
|
|
-DENABLE_POPPLER="ON" \
|
|
-DENABLE_POPPLER_CAIRO="ON" \
|
|
-DWITH_ASAN="OFF" \
|
|
-DWITH_FUZZ="OFF" \
|
|
-DWITH_GNU_READLINE="ON" \
|
|
-DWITH_GRAPHICS_MAGICK="ON" \
|
|
-DWITH_GSOURCEVIEW="OFF" \
|
|
-DWITH_GSPELL="OFF" \
|
|
-DWITH_IMAGE_MAGICK="ON" \
|
|
-DWITH_INTERNAL_2GEOM="ON" \
|
|
-DWITH_INTERNAL_CAIRO="OFF" \
|
|
-DWITH_JEMALLOC="OFF" \
|
|
-DWITH_LIBCDR="ON" \
|
|
-DWITH_LIBVISIO="OFF" \
|
|
-DWITH_LIBWPG="OFF" \
|
|
-DWITH_LPETOOL="OFF" \
|
|
-DLPE_ENABLE_TEST_EFFECTS="OFF" \
|
|
-DWITH_MANPAGE_COMPRESSION="ON" \
|
|
-DWITH_NLS="${NLS:-OFF}" \
|
|
-DWITH_OPENMP="ON" \
|
|
-DWITH_PROFILING="OFF" \
|
|
-DWITH_SVG2="ON" \
|
|
-DWITH_X11="ON" \
|
|
-Wno-dev \
|
|
..
|
|
|
|
make_fn
|
|
|
|
INSTALL_TDE="/usr/local"
|
|
installdocs_fn
|
|
|
|
strip_fn
|
|
|
|
mkdir_install_fn
|
|
|
|
INSTALL_TDE=/usr/local
|
|
doinst_sh_fn
|
|
|
|
echo "
|
|
# HOW TO EDIT THIS FILE:
|
|
# The 'handy ruler' below makes it easier to edit a package description. Line
|
|
# up the first '|' above the ':' following the base package name, and the '|' on
|
|
# the right side marks the last column you can put a character in. You must make
|
|
# exactly 11 lines for the formatting to be correct. It's also customary to
|
|
# leave one space after the ':'.
|
|
|-----handy-ruler------------------------------------------------------|
|
|
$PRGNAM: Inkscape (Open Source vector graphics editor)
|
|
$PRGNAM:
|
|
$PRGNAM: Inkscape is an Open Source vector graphics editor, with capabilities
|
|
$PRGNAM: similar to Illustrator, Freehand, CorelDraw, or Xara X using the W3C
|
|
$PRGNAM: standard Scalable Vector Graphics (SVG) file format.
|
|
$PRGNAM:
|
|
$PRGNAM: With language support for:
|
|
$PRGNAM: en$locas
|
|
$PRGNAM:
|
|
$PRGNAM:
|
|
$PRGNAM:
|
|
$PRGNAM:
|
|
" > $PKG/install/slack-desc
|
|
|
|
makepkg_fn
|