#!/usr/bin/make -f
export DH_VERBOSE = 1
# Suppress __pycache__ pollution
export PYTHONDONTWRITEBYTECODE = 1
include /usr/share/dpkg/pkg-info.mk
# Upstream's CMakeLists.txt is a leftover from their Conan based build (it only
# drives the translation scripts), so do the packaging by hand.
%:
dh $@ --with python3
override_dh_auto_configure:
:
override_dh_auto_build:
sed -e 's/{{ cura_app_name }}/cura/g' \
-e 's/{{ cura_app_display_name }}/UltiMaker Cura/g' \
-e 's/{{ cura_version }}/$(DEB_VERSION_UPSTREAM)/g' \
-e 's/{{ cura_build_type }}//g' \
-e 's/{{ cura_debug_mode }}/False/g' \
-e 's#{{ cura_cloud_api_root }}#https://api.ultimaker.com#g' \
-e 's/{{ cura_cloud_api_version }}/1/g' \
-e 's#{{ cura_cloud_account_api_root }}#https://account.ultimaker.com#g' \
-e 's#{{ cura_marketplace_root }}#https://marketplace.ultimaker.com#g' \
-e 's#{{ cura_digital_factory_url }}#https://digitalfactory.ultimaker.com#g' \
-e 's#{{ cura_latest_url }}#https://software.ultimaker.com/latest.json#g' \
CuraVersion.py.jinja > cura/CuraVersion.py
set -e; for po in $$(find resources/i18n -name '*.po'); do \
d=$$(dirname "$$po"); \
mkdir -p "$$d/LC_MESSAGES"; \
msgfmt "$$po" -o "$$d/LC_MESSAGES/$$(basename "$$po" .po).mo" -f; \
done
override_dh_auto_install:
install -d debian/cura/usr/lib/python3/dist-packages
cp -a cura debian/cura/usr/lib/python3/dist-packages/
install -d debian/cura/usr/share/cura
cp -a resources debian/cura/usr/share/cura/
# The bundled Open Sans/Noto fonts are provided by fonts-open-sans and
# fonts-noto-core; ship only the font configuration files.
rm -rf debian/cura/usr/share/cura/resources/themes/cura-light/fonts
install -d debian/cura/usr/lib/cura
cp -a plugins debian/cura/usr/lib/cura/
# Upstream keeps many data and Python files executable in git; normalise
# them to 0644 like the previous CMake based packaging did.
find debian/cura/usr/lib/python3/dist-packages debian/cura/usr/share/cura debian/cura/usr/lib/cura -type f -exec chmod 0644 {} +
install -Dm755 cura_app.py debian/cura/usr/bin/cura
install -Dm644 resources/images/cura-icon.png debian/cura/usr/share/icons/hicolor/128x128/apps/cura-icon.png
install -d debian/cura/usr/share/metainfo
sed 's#com.ultimaker.cura#com.ultimaker.cura\n\tcom.ultimaker.cura.desktop#' \
packaging/AppImage/cura.appdata.xml > debian/cura/usr/share/metainfo/com.ultimaker.cura.appdata.xml
install -Dm644 cura.sharedmimeinfo debian/cura/usr/share/mime/packages/cura.xml
install -d debian/cura/usr/share/applications
sed -e 's/{{ cura_version }}/$(DEB_VERSION_UPSTREAM)/g' \
-e 's#^Exec=.*#Exec=cura %F#' \
-e 's#^Categories=.*#Categories=Graphics;Education;Development;Science;#' \
-e '/^X-AppImage-Version=/d' \
packaging/AppImage/cura.desktop.jinja > debian/cura/usr/share/applications/com.ultimaker.cura.desktop
echo 'StartupWMClass=cura' >> debian/cura/usr/share/applications/com.ultimaker.cura.desktop
override_dh_auto_clean:
dh_clean
rm -rf .cache
find . -name __pycache__ -print0 | xargs -0 rm -rf
rm -f cura/CuraVersion.py
find resources/i18n -name '*.mo' -delete
override_dh_auto_test:
# Upstream's test suite is not suitable for the Debian build.