#!/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.