diff options
author | Max Brazhnikov <makc@FreeBSD.org> | 2009-07-06 21:00:27 +0000 |
---|---|---|
committer | Max Brazhnikov <makc@FreeBSD.org> | 2009-07-06 21:00:27 +0000 |
commit | 61bd92933c96d045834953397f5a71d173f46d55 (patch) | |
tree | 06fda31ae141c13ec85903f512388c0178fb9836 | |
parent | 48d856c3b29ff02e3e19e4692577a86349b00b84 (diff) |
Notes
-rw-r--r-- | math/speedcrunch/Makefile | 48 | ||||
-rw-r--r-- | math/speedcrunch/distinfo | 6 | ||||
-rw-r--r-- | math/speedcrunch/files/patch-src__SourceFiles.cmake | 10 | ||||
-rw-r--r-- | math/speedcrunch/files/patch-src__gui__mainwindow.cpp | 47 | ||||
-rw-r--r-- | math/speedcrunch/pkg-plist | 316 |
5 files changed, 358 insertions, 69 deletions
diff --git a/math/speedcrunch/Makefile b/math/speedcrunch/Makefile index 146790863223..2d06dff87a14 100644 --- a/math/speedcrunch/Makefile +++ b/math/speedcrunch/Makefile @@ -6,59 +6,37 @@ # PORTNAME= speedcrunch -DISTVERSION= 0.8 -PORTREVISION= 3 +DISTVERSION= 0.10.1 CATEGORIES= math MASTER_SITES= ${MASTER_SITE_GOOGLE_CODE} -MAINTAINER= ports@FreeBSD.org +MAINTAINER= makc@FreeBSD.org COMMENT= A desktop calculator for power users USE_QT_VER= 4 -QT_COMPONENTS= qmake_build moc_build rcc_build gui +QT_COMPONENTS= qmake_build moc_build rcc_build gui xml USE_CMAKE= yes CMAKE_SOURCE_PATH= src CMAKE_USE_PTHREAD= yes -MYPORTDOCS= COPYING ChangeLog HACKING.txt INSTALL.txt LISEZMOI PACKAGERS README \ - TRANSLATORS doc/man.docbook doc/speedcrunch.docbook +MAKE_JOBS_SAFE= yes + +LRELEASE_CMD= ${LOCALBASE}/bin/lrelease-qt4 +LRELEASE_ARGS= -compress -silent .if !defined(WITHOUT_NLS) +QT_COMPONENTS+= linguist PLIST_SUB+= NLS="" .else PLIST_SUB+= NLS="@comment " .endif -DESKTOP_ENTRIES= "SpeedCrunch" \ - "A desktop calculator for power users" \ - "crunch" \ - "speedcrunch" \ - "Qt;KDE;Education;Math;" \ - "false" - -post-patch: - @${REINPLACE_CMD} -e 's|qwindowdefs.h|QtGui/qwindowdefs.h|g' \ - -e 's|qcolor.h|QtGui/qcolor.h|g' \ - -e 's|qfont.h|QtGui/qfont.h|g' \ - -e 's|qrect.h|QtCore/qrect.h|g' \ - -e 's|qstring.h|QtCore/qstring.h|g' \ - -e 's|qstringlist.h|QtCore/qstringlist.h|g' \ - ${WRKSRC}/src/settings.h - @${REINPLACE_CMD} -e 's|crunch\"|speedcrunch\"|g' \ - ${WRKSRC}/src/main.cpp - -do-install: - @${INSTALL_PROGRAM} ${WRKSRC}/speedcrunch ${PREFIX}/bin - @${INSTALL_DATA} ${WRKSRC}/src/crunch.png ${PREFIX}/share/pixmaps +pre-configure: .if !defined(WITHOUT_NLS) - @${MKDIR} ${DATADIR} - @${INSTALL_DATA} ${WRKSRC}/src/*.qm ${DATADIR} -.endif -.if !defined(NOPORTDOCS) - @${MKDIR} ${DOCSDIR} -.for doc in ${MYPORTDOCS} - @${INSTALL_DATA} ${WRKSRC}/${doc} ${DOCSDIR} -.endfor + cd ${WRKSRC}/src/i18n && ${LRELEASE_CMD} ${LRELEASE_ARGS} *.ts +.else + ${REINPLACE_CMD} -e '/speedcrunch_TRANSLATIONS/d' ${WRKSRC}/src/CMakeLists.txt .endif + ${REINPLACE_CMD} -e 's,%%PREFIX%%,${PREFIX},g' ${WRKSRC}/src/gui/mainwindow.cpp .include <bsd.port.mk> diff --git a/math/speedcrunch/distinfo b/math/speedcrunch/distinfo index b78deae2d2aa..f7f279f7dc89 100644 --- a/math/speedcrunch/distinfo +++ b/math/speedcrunch/distinfo @@ -1,3 +1,3 @@ -MD5 (speedcrunch-0.8.tar.gz) = 182508151b4d92a0f75b69b90214d3fc -SHA256 (speedcrunch-0.8.tar.gz) = 0a790b0baa58133b0112e94a2eefc0236a6304c95c1728b791eef55aa653ca93 -SIZE (speedcrunch-0.8.tar.gz) = 409075 +MD5 (speedcrunch-0.10.1.tar.gz) = 344ee1303b05502d28c58a2fff1ca6b2 +SHA256 (speedcrunch-0.10.1.tar.gz) = 9d4e4ddd8bc6a60d59b9cb4815511ba20a5767719928eae3729e4df6c96dec84 +SIZE (speedcrunch-0.10.1.tar.gz) = 1722124 diff --git a/math/speedcrunch/files/patch-src__SourceFiles.cmake b/math/speedcrunch/files/patch-src__SourceFiles.cmake new file mode 100644 index 000000000000..39746de58fa6 --- /dev/null +++ b/math/speedcrunch/files/patch-src__SourceFiles.cmake @@ -0,0 +1,10 @@ +--- ./src/SourceFiles.cmake.orig 2008-05-23 01:45:21.000000000 +0400 ++++ ./src/SourceFiles.cmake 2009-07-06 22:48:59.000000000 +0400 +@@ -43,7 +43,6 @@ + ) + + set(speedcrunch_SOURCES +-3rdparty/util/binreloc.c + base/constants.cpp + base/evaluator.cpp + base/functions.cpp diff --git a/math/speedcrunch/files/patch-src__gui__mainwindow.cpp b/math/speedcrunch/files/patch-src__gui__mainwindow.cpp new file mode 100644 index 000000000000..9839d4a7a8f3 --- /dev/null +++ b/math/speedcrunch/files/patch-src__gui__mainwindow.cpp @@ -0,0 +1,47 @@ +--- ./src/gui/mainwindow.cpp.orig 2008-05-23 01:45:21.000000000 +0400 ++++ ./src/gui/mainwindow.cpp 2009-07-06 22:50:48.000000000 +0400 +@@ -37,7 +37,6 @@ + #include "tipwidget.hxx" + #include "variablesdock.hxx" + +-#include "3rdparty/util/binreloc.h" + #include "base/constants.hxx" + #include "base/evaluator.hxx" + #include "base/functions.hxx" +@@ -340,17 +339,7 @@ + translator->load( fname ); + return translator; + #else +- +- BrInitError error; +- if ( br_init( & error ) == 0 && error != BR_INIT_ERROR_DISABLED ) +- { +- qDebug( "Warning: BinReloc failed to initialize (error code %d)", error ); +- qDebug( "Will fallback to hardcoded default path." ); +- } +- +- char * dataDir = br_find_data_dir( 0 ); +- QString localeDir = QString( dataDir ) + "/speedcrunch/locale"; +- free( dataDir ); ++ QString localeDir = "%%PREFIX%%/share/speedcrunch/locale"; + if ( translator->load( localeFile, localeDir ) ) + return translator; + else +@@ -1004,16 +993,7 @@ + appPath.remove( ii, appPath.length() ); + booksDir = appPath + '/' + QString( "books/" ); + #else +- BrInitError error; +- if ( br_init( & error ) == 0 && error != BR_INIT_ERROR_DISABLED ) +- { +- qDebug( "Warning: BinReloc failed to initialize (error code %d)", error ); +- qDebug( "Will fallback to hardcoded default path." ); +- } +- +- char * dataDir = br_find_data_dir( 0 ); +- booksDir = QString( dataDir ) + "/speedcrunch/books/"; +- free( dataDir ); ++ booksDir = "%%PREFIX%%/share/speedcrunch/books/"; + #endif + + docks.book = new BookDock( booksDir, "math_index.html", settings.language, diff --git a/math/speedcrunch/pkg-plist b/math/speedcrunch/pkg-plist index 78ece43c80ed..a15ff44120df 100644 --- a/math/speedcrunch/pkg-plist +++ b/math/speedcrunch/pkg-plist @@ -1,32 +1,286 @@ bin/speedcrunch -%%NLS%%%%DATADIR%%/crunch_cs.qm -%%NLS%%%%DATADIR%%/crunch_es_AR.qm -%%NLS%%%%DATADIR%%/crunch_he.qm -%%NLS%%%%DATADIR%%/crunch_nl.qm -%%NLS%%%%DATADIR%%/crunch_pt.qm -%%NLS%%%%DATADIR%%/crunch_ru.qm -%%NLS%%%%DATADIR%%/crunch_de.qm -%%NLS%%%%DATADIR%%/crunch_fi.qm -%%NLS%%%%DATADIR%%/crunch_id.qm -%%NLS%%%%DATADIR%%/crunch_no.qm -%%NLS%%%%DATADIR%%/crunch_pt_BR.qm -%%NLS%%%%DATADIR%%/crunch_sl.qm -%%NLS%%%%DATADIR%%/crunch_es.qm -%%NLS%%%%DATADIR%%/crunch_fr.qm -%%NLS%%%%DATADIR%%/crunch_it.qm -%%NLS%%%%DATADIR%%/crunch_pl.qm -%%NLS%%%%DATADIR%%/crunch_ro.qm -%%NLS%%%%DATADIR%%/crunch_sv.qm -%%PORTDOCS%%%%DOCSDIR%%/COPYING -%%PORTDOCS%%%%DOCSDIR%%/ChangeLog -%%PORTDOCS%%%%DOCSDIR%%/HACKING.txt -%%PORTDOCS%%%%DOCSDIR%%/INSTALL.txt -%%PORTDOCS%%%%DOCSDIR%%/LISEZMOI -%%PORTDOCS%%%%DOCSDIR%%/PACKAGERS -%%PORTDOCS%%%%DOCSDIR%%/README -%%PORTDOCS%%%%DOCSDIR%%/TRANSLATORS -%%PORTDOCS%%%%DOCSDIR%%/man.docbook -%%PORTDOCS%%%%DOCSDIR%%/speedcrunch.docbook -share/pixmaps/crunch.png -%%NLS%%@dirrm %%DATADIR%% -%%PORTDOCS%%@dirrm %%DOCSDIR%% +share/applications/speedcrunch.desktop +share/pixmaps/speedcrunch.png +share/speedcrunch/books/books.css +share/speedcrunch/books/ca/circle.html +share/speedcrunch/books/ca/cone.html +share/speedcrunch/books/ca/cube.html +share/speedcrunch/books/ca/cylinder.html +share/speedcrunch/books/ca/math_index.html +share/speedcrunch/books/ca/quadratic_equation.html +share/speedcrunch/books/ca/right_triangle.html +share/speedcrunch/books/ca/sector.html +share/speedcrunch/books/ca/sphere.html +share/speedcrunch/books/cs/circle.html +share/speedcrunch/books/cs/cone.html +share/speedcrunch/books/cs/cube.html +share/speedcrunch/books/cs/cylinder.html +share/speedcrunch/books/cs/index.html +share/speedcrunch/books/cs/math_index.html +share/speedcrunch/books/cs/quadratic_equation.html +share/speedcrunch/books/cs/right_triangle.html +share/speedcrunch/books/cs/sector.html +share/speedcrunch/books/cs/sphere.html +share/speedcrunch/books/de/circle.html +share/speedcrunch/books/de/cone.html +share/speedcrunch/books/de/cube.html +share/speedcrunch/books/de/cylinder.html +share/speedcrunch/books/de/index.html +share/speedcrunch/books/de/math_index.html +share/speedcrunch/books/de/quadratic_equation.html +share/speedcrunch/books/de/right_triangle.html +share/speedcrunch/books/de/sector.html +share/speedcrunch/books/de/sphere.html +share/speedcrunch/books/en/circle.html +share/speedcrunch/books/en/cone.html +share/speedcrunch/books/en/cube.html +share/speedcrunch/books/en/cylinder.html +share/speedcrunch/books/en/index.html +share/speedcrunch/books/en/math_index.html +share/speedcrunch/books/en/quadratic_equation.html +share/speedcrunch/books/en/right_triangle.html +share/speedcrunch/books/en/sector.html +share/speedcrunch/books/en/sphere.html +share/speedcrunch/books/es/circle.html +share/speedcrunch/books/es/cone.html +share/speedcrunch/books/es/cube.html +share/speedcrunch/books/es/cylinder.html +share/speedcrunch/books/es/index.html +share/speedcrunch/books/es/math_index.html +share/speedcrunch/books/es/quadratic_equation.html +share/speedcrunch/books/es/right_triangle.html +share/speedcrunch/books/es/sector.html +share/speedcrunch/books/es/sphere.html +share/speedcrunch/books/es_AR/circle.html +share/speedcrunch/books/es_AR/cone.html +share/speedcrunch/books/es_AR/cube.html +share/speedcrunch/books/es_AR/cylinder.html +share/speedcrunch/books/es_AR/index.html +share/speedcrunch/books/es_AR/math_index.html +share/speedcrunch/books/es_AR/quadratic_equation.html +share/speedcrunch/books/es_AR/right_triangle.html +share/speedcrunch/books/es_AR/sector.html +share/speedcrunch/books/es_AR/sphere.html +share/speedcrunch/books/eu/circle.html +share/speedcrunch/books/eu/cone.html +share/speedcrunch/books/eu/cube.html +share/speedcrunch/books/eu/cylinder.html +share/speedcrunch/books/eu/math_index.html +share/speedcrunch/books/eu/quadratic_equation.html +share/speedcrunch/books/eu/right_triangle.html +share/speedcrunch/books/eu/sector.html +share/speedcrunch/books/eu/sphere.html +share/speedcrunch/books/fi/circle.html +share/speedcrunch/books/fi/cone.html +share/speedcrunch/books/fi/cube.html +share/speedcrunch/books/fi/cylinder.html +share/speedcrunch/books/fi/index.html +share/speedcrunch/books/fi/math_index.html +share/speedcrunch/books/fi/quadratic_equation.html +share/speedcrunch/books/fi/right_triangle.html +share/speedcrunch/books/fi/sector.html +share/speedcrunch/books/fi/sphere.html +share/speedcrunch/books/fr/circle.html +share/speedcrunch/books/fr/cone.html +share/speedcrunch/books/fr/cube.html +share/speedcrunch/books/fr/cylinder.html +share/speedcrunch/books/fr/index.html +share/speedcrunch/books/fr/math_index.html +share/speedcrunch/books/fr/quadratic_equation.html +share/speedcrunch/books/fr/right_triangle.html +share/speedcrunch/books/fr/sector.html +share/speedcrunch/books/fr/sphere.html +share/speedcrunch/books/he/circle.html +share/speedcrunch/books/he/cone.html +share/speedcrunch/books/he/cube.html +share/speedcrunch/books/he/cylinder.html +share/speedcrunch/books/he/index.html +share/speedcrunch/books/he/math_index.html +share/speedcrunch/books/he/quadratic_equation.html +share/speedcrunch/books/he/right_triangle.html +share/speedcrunch/books/he/sector.html +share/speedcrunch/books/he/sphere.html +share/speedcrunch/books/id/circle.html +share/speedcrunch/books/id/cone.html +share/speedcrunch/books/id/cube.html +share/speedcrunch/books/id/cylinder.html +share/speedcrunch/books/id/index.html +share/speedcrunch/books/id/math_index.html +share/speedcrunch/books/id/quadratic_equation.html +share/speedcrunch/books/id/right_triangle.html +share/speedcrunch/books/id/sector.html +share/speedcrunch/books/id/sphere.html +share/speedcrunch/books/images/circle.png +share/speedcrunch/books/images/circle.svgz +share/speedcrunch/books/images/cone.png +share/speedcrunch/books/images/cone.svgz +share/speedcrunch/books/images/cube.png +share/speedcrunch/books/images/cube.svgz +share/speedcrunch/books/images/cylinder.png +share/speedcrunch/books/images/cylinder.svgz +share/speedcrunch/books/images/make_math_pngs.sh +share/speedcrunch/books/images/quadratic_equation.mml +share/speedcrunch/books/images/quadratic_equation.png +share/speedcrunch/books/images/right_triangle.png +share/speedcrunch/books/images/right_triangle.svgz +share/speedcrunch/books/images/sector.png +share/speedcrunch/books/images/sector.svgz +share/speedcrunch/books/images/sphere.png +share/speedcrunch/books/images/sphere.svgz +share/speedcrunch/books/it/circle.html +share/speedcrunch/books/it/cone.html +share/speedcrunch/books/it/cube.html +share/speedcrunch/books/it/cylinder.html +share/speedcrunch/books/it/index.html +share/speedcrunch/books/it/math_index.html +share/speedcrunch/books/it/quadratic_equation.html +share/speedcrunch/books/it/right_triangle.html +share/speedcrunch/books/it/sector.html +share/speedcrunch/books/it/sphere.html +share/speedcrunch/books/nb/circle.html +share/speedcrunch/books/nb/cone.html +share/speedcrunch/books/nb/cube.html +share/speedcrunch/books/nb/cylinder.html +share/speedcrunch/books/nb/index.html +share/speedcrunch/books/nb/math_index.html +share/speedcrunch/books/nb/quadratic_equation.html +share/speedcrunch/books/nb/right_triangle.html +share/speedcrunch/books/nb/sector.html +share/speedcrunch/books/nb/sphere.html +share/speedcrunch/books/nl/circle.html +share/speedcrunch/books/nl/cone.html +share/speedcrunch/books/nl/cube.html +share/speedcrunch/books/nl/cylinder.html +share/speedcrunch/books/nl/index.html +share/speedcrunch/books/nl/math_index.html +share/speedcrunch/books/nl/quadratic_equation.html +share/speedcrunch/books/nl/right_triangle.html +share/speedcrunch/books/nl/sector.html +share/speedcrunch/books/nl/sphere.html +share/speedcrunch/books/pl/circle.html +share/speedcrunch/books/pl/cone.html +share/speedcrunch/books/pl/cube.html +share/speedcrunch/books/pl/cylinder.html +share/speedcrunch/books/pl/index.html +share/speedcrunch/books/pl/math_index.html +share/speedcrunch/books/pl/quadratic_equation.html +share/speedcrunch/books/pl/right_triangle.html +share/speedcrunch/books/pl/sector.html +share/speedcrunch/books/pl/sphere.html +share/speedcrunch/books/pt/circle.html +share/speedcrunch/books/pt/cone.html +share/speedcrunch/books/pt/cube.html +share/speedcrunch/books/pt/cylinder.html +share/speedcrunch/books/pt/index.html +share/speedcrunch/books/pt/math_index.html +share/speedcrunch/books/pt/quadratic_equation.html +share/speedcrunch/books/pt/right_triangle.html +share/speedcrunch/books/pt/sector.html +share/speedcrunch/books/pt/sphere.html +share/speedcrunch/books/pt_BR/circle.html +share/speedcrunch/books/pt_BR/cone.html +share/speedcrunch/books/pt_BR/cube.html +share/speedcrunch/books/pt_BR/cylinder.html +share/speedcrunch/books/pt_BR/index.html +share/speedcrunch/books/pt_BR/math_index.html +share/speedcrunch/books/pt_BR/quadratic_equation.html +share/speedcrunch/books/pt_BR/right_triangle.html +share/speedcrunch/books/pt_BR/sector.html +share/speedcrunch/books/pt_BR/sphere.html +share/speedcrunch/books/ro/circle.html +share/speedcrunch/books/ro/cone.html +share/speedcrunch/books/ro/cube.html +share/speedcrunch/books/ro/cylinder.html +share/speedcrunch/books/ro/index.html +share/speedcrunch/books/ro/math_index.html +share/speedcrunch/books/ro/quadratic_equation.html +share/speedcrunch/books/ro/right_triangle.html +share/speedcrunch/books/ro/sector.html +share/speedcrunch/books/ro/sphere.html +share/speedcrunch/books/ru/circle.html +share/speedcrunch/books/ru/cone.html +share/speedcrunch/books/ru/cube.html +share/speedcrunch/books/ru/cylinder.html +share/speedcrunch/books/ru/index.html +share/speedcrunch/books/ru/math_index.html +share/speedcrunch/books/ru/quadratic_equation.html +share/speedcrunch/books/ru/right_triangle.html +share/speedcrunch/books/ru/sector.html +share/speedcrunch/books/ru/sphere.html +share/speedcrunch/books/sv/circle.html +share/speedcrunch/books/sv/cone.html +share/speedcrunch/books/sv/cube.html +share/speedcrunch/books/sv/cylinder.html +share/speedcrunch/books/sv/index.html +share/speedcrunch/books/sv/math_index.html +share/speedcrunch/books/sv/quadratic_equation.html +share/speedcrunch/books/sv/right_triangle.html +share/speedcrunch/books/sv/sector.html +share/speedcrunch/books/sv/sphere.html +share/speedcrunch/books/tr/circle.html +share/speedcrunch/books/tr/cone.html +share/speedcrunch/books/tr/cube.html +share/speedcrunch/books/tr/cylinder.html +share/speedcrunch/books/tr/index.html +share/speedcrunch/books/tr/math_index.html +share/speedcrunch/books/tr/quadratic_equation.html +share/speedcrunch/books/tr/right_triangle.html +share/speedcrunch/books/tr/sector.html +share/speedcrunch/books/tr/sphere.html +share/speedcrunch/books/zh_CN/circle.html +share/speedcrunch/books/zh_CN/cone.html +share/speedcrunch/books/zh_CN/cube.html +share/speedcrunch/books/zh_CN/cylinder.html +share/speedcrunch/books/zh_CN/math_index.html +share/speedcrunch/books/zh_CN/quadratic_equation.html +share/speedcrunch/books/zh_CN/right_triangle.html +share/speedcrunch/books/zh_CN/sector.html +share/speedcrunch/books/zh_CN/sphere.html +%%NLS%%share/speedcrunch/locale/ca.qm +%%NLS%%share/speedcrunch/locale/cs.qm +%%NLS%%share/speedcrunch/locale/de.qm +%%NLS%%share/speedcrunch/locale/es.qm +%%NLS%%share/speedcrunch/locale/es_AR.qm +%%NLS%%share/speedcrunch/locale/eu.qm +%%NLS%%share/speedcrunch/locale/fi.qm +%%NLS%%share/speedcrunch/locale/fr.qm +%%NLS%%share/speedcrunch/locale/he.qm +%%NLS%%share/speedcrunch/locale/id.qm +%%NLS%%share/speedcrunch/locale/it.qm +%%NLS%%share/speedcrunch/locale/nb.qm +%%NLS%%share/speedcrunch/locale/nl.qm +%%NLS%%share/speedcrunch/locale/pl.qm +%%NLS%%share/speedcrunch/locale/pt.qm +%%NLS%%share/speedcrunch/locale/pt_BR.qm +%%NLS%%share/speedcrunch/locale/ro.qm +%%NLS%%share/speedcrunch/locale/ru.qm +%%NLS%%share/speedcrunch/locale/sv.qm +%%NLS%%share/speedcrunch/locale/tr.qm +%%NLS%%share/speedcrunch/locale/zh_CN.qm +%%NLS%%@dirrm share/speedcrunch/locale +@dirrm share/speedcrunch/books/zh_CN +@dirrm share/speedcrunch/books/tr +@dirrm share/speedcrunch/books/sv +@dirrm share/speedcrunch/books/ru +@dirrm share/speedcrunch/books/ro +@dirrm share/speedcrunch/books/pt_BR +@dirrm share/speedcrunch/books/pt +@dirrm share/speedcrunch/books/pl +@dirrm share/speedcrunch/books/nl +@dirrm share/speedcrunch/books/nb +@dirrm share/speedcrunch/books/it +@dirrm share/speedcrunch/books/images +@dirrm share/speedcrunch/books/id +@dirrm share/speedcrunch/books/he +@dirrm share/speedcrunch/books/fr +@dirrm share/speedcrunch/books/fi +@dirrm share/speedcrunch/books/eu +@dirrm share/speedcrunch/books/es_AR +@dirrm share/speedcrunch/books/es +@dirrm share/speedcrunch/books/en +@dirrm share/speedcrunch/books/de +@dirrm share/speedcrunch/books/cs +@dirrm share/speedcrunch/books/ca +@dirrm share/speedcrunch/books +@dirrm share/speedcrunch +@dirrmtry share/applications |