./0000755000004100000410000000000012757036204011251 5ustar www-datawww-data./ubuntu-sdk-qmake-extras.pro0000644000004100000410000000060112757036174016477 0ustar www-datawww-dataTEMPLATE = aux FEATURE_FILES = \ ubuntu-click-tools.prf \ ubuntu-click.prf OTHER_FILES += $${FEATURE_FILES} \ $$files(debian/*,true) qt_install_libs = $$[QT_INSTALL_LIBS] QMAKE_INST_EXTRA_FILES.path=/lib/$$basename(qt_install_libs)/qt5/mkspecs/features QMAKE_INST_EXTRA_FILES.files= $${FEATURE_FILES} INSTALLS+=QMAKE_INST_EXTRA_FILES ./ubuntu-click.prf0000644000004100000410000000043512757036174014377 0ustar www-datawww-dataUBUNTU_CLICK_ARCH=$$system(dpkg-architecture -qDEB_HOST_ARCH) qt_install_libs = $$[QT_INSTALL_LIBS] UBUNTU_CLICK_PLUGIN_PATH=/lib/$$basename(qt_install_libs) UBUNTU_CLICK_BINARY_PATH=/lib/$$basename(qt_install_libs)/bin !contains(CONFIG,ubuntu-click-tools):CONFIG+=ubuntu-click-tools ./ubuntu-click-tools.prf0000644000004100000410000001400512757036204015525 0ustar www-datawww-data#handle and install the manifest file !defined(UBUNTU_CLICK_ARCH) { load(ubuntu-click) } defineTest(ubuntuAddPreTargetDep) { equals(TEMPLATE,subdirs) { #this hack adds a extra "first" target dependency #because subdirs can not handle build dependencies isEmpty(target_first.target){ target_first.target = first QMAKE_EXTRA_TARGETS += target_first export(QMAKE_EXTRA_TARGETS) } target_first.depends += $$1 export(target_first) export(target_first.target) export(target_first.depends) } else { PRE_TARGETDEPS+=$$1 export(PRE_TARGETDEPS) } } !isEmpty(UBUNTU_MANIFEST_FILE){ OTHER_FILES+=$$UBUNTU_MANIFEST_FILE manifest_file.target = $$shadowed($$_PRO_FILE_PWD_)/manifest.json manifest_file.commands = sed s/@CLICK_ARCH@/$$UBUNTU_CLICK_ARCH/g $$absolute_path($${UBUNTU_MANIFEST_FILE},$$_PRO_FILE_PWD_) > $${manifest_file.target} manifest_file.depends = $$absolute_path($${UBUNTU_MANIFEST_FILE},$$_PRO_FILE_PWD_) QMAKE_EXTRA_TARGETS+=manifest_file QMAKE_CLEAN += $${manifest_file.target} ubuntuAddPreTargetDep($${manifest_file.target}) manifest_file_install.path = / manifest_file_install.files = $$manifest_file.target manifest_file_install.CONFIG +=no_check_exist INSTALLS+=manifest_file_install } !isEmpty(UBUNTU_TRANSLATION_SOURCES){ isEmpty(UBUNTU_TRANSLATION_DOMAIN):error("UBUNTU_TRANSLATION_DOMAIN not defined") # iterate over all QML/JS files and create a basic translation template template_pot.target=$$_PRO_FILE_PWD_/po/$${UBUNTU_TRANSLATION_DOMAIN}.pot for(filelist, UBUNTU_TRANSLATION_SOURCES) { resolved_filelist = $$absolute_path($$filelist,$$_PRO_FILE_PWD_) resolved_filelist = $$files($$resolved_filelist) for(file,resolved_filelist) { RESULT = $$find(file, "\\.desktop(\\.in)?$") count(RESULT, 1) { # extract the strings from the desktop file, and feed them to xgettext target_file = "$$shadowed($$_PRO_FILE_PWD_)/$$relative_path($$file,$$_PRO_FILE_PWD_).h" target_dir = $$dirname(target_file) target_name = $$replace(target_file,"[/.-]","_") $${target_name}.target=$$target_file $${target_name}.commands=mkdir -p $$target_dir && cd $$target_dir && intltool-extract --type="gettext/ini" --update --srcdir=$$dirname(file) $$basename(file) $${target_name}.depends+=$$file QMAKE_EXTRA_TARGETS+=$$target_name template_pot.depends+=$$target_file QMAKE_CLEAN += $$target_file translated_desktop_files+=$$file } else { template_pot.depends+=$$file } } } !isEmpty(template_pot.depends) { template_pot.commands=mkdir -p $$_PRO_FILE_PWD_/po && xgettext -o $$template_pot.target --qt --c++ --from-code=UTF-8 --add-comments=TRANSLATORS --keyword=tr --keyword=tr:1,2 --keyword=N_ $$template_pot.depends QMAKE_EXTRA_TARGETS+=template_pot ubuntuAddPreTargetDep($${template_pot.target}) } !isEmpty(UBUNTU_PO_FILES){ # compile the mo files into po files for(filelist, UBUNTU_PO_FILES) { resolved_filelist = $$absolute_path($$filelist,$$_PRO_FILE_PWD_) resolved_filelist = $$files($$resolved_filelist) for(file,resolved_filelist) { lang=$$basename(file) lang=$$split(lang, .) lang=$$first(lang) # add a target that automatically updates the po files from the template update_target_file = $$shadowed($$_PRO_FILE_PWD_)/po/$$basename(file).updated target_name=update_po_target_$$lang $${target_name}.target = $${update_target_file} $${target_name}.commands =cd $$_PRO_FILE_PWD_/po && LC_ALL=C intltool-update -d $$lang -g $${UBUNTU_TRANSLATION_DOMAIN} -x && mkdir -p $$shadowed($$_PRO_FILE_PWD_)/po && touch $${update_target_file} $${target_name}.depends+=$${template_pot.target} QMAKE_EXTRA_TARGETS+=$$target_name QMAKE_CLEAN += $$update_target_file ubuntuAddPreTargetDep($${update_target_file}) # build the .mo files target_name=mo_target_$$lang target_file=$$shadowed($$_PRO_FILE_PWD_)/po/$${lang}/$${UBUNTU_TRANSLATION_DOMAIN}.mo $${target_name}.target=$$target_file $${target_name}.commands=mkdir -p po/$${lang} && LC_ALL=C msgfmt -o $${target_file} $$absolute_path($$file,$$_PRO_FILE_PWD_) $${target_name}.depends+=$$absolute_path($$file,$$_PRO_FILE_PWD_) $${update_target_file} $${target_name}_inst.path =/share/locale/$${lang}/LC_MESSAGES $${target_name}_inst.CONFIG +=no_check_exist $${target_name}_inst.files=$$target_file registered_po_files+=$$absolute_path($$file,$$_PRO_FILE_PWD_) QMAKE_EXTRA_TARGETS+=$$target_name QMAKE_CLEAN += $$target_file ubuntuAddPreTargetDep($${target_file}) INSTALLS += $${target_name}_inst } } } !isEmpty(translated_desktop_files) { #merge the translations into the desktop files for(file, translated_desktop_files) { target_file = $$shadowed($$_PRO_FILE_PWD_)/$$relative_path($$file,$$_PRO_FILE_PWD_) target_file = $$replace(target_file,"\\.in$","") target_name = $$replace(target_file,"[/.-]","_") $${target_name}.target=$$target_file $${target_name}.commands=LC_ALL=C intltool-merge -d -u $$_PRO_FILE_PWD_/po $$file $$target_file > /dev/null $${target_name}.depends+=$$registered_po_files \ $$file QMAKE_EXTRA_TARGETS+=$$target_name QMAKE_CLEAN += $$target_file ubuntuAddPreTargetDep($${target_file}) } } }