From 35655ceb12babb5dbcffd4150e497a55b48502fc Mon Sep 17 00:00:00 2001 From: Schrijvers Luc Date: Sat, 2 Mar 2024 10:04:57 +0100 Subject: [PATCH] Add Tokodon, a mastodon client (#9949) --- .../tokodon/additional-files/tokodon.rdef.in | 98 ++++++++++++ .../tokodon/patches/tokodon-23.08.5.patchset | 24 +++ net-im/tokodon/tokodon-23.08.5.recipe | 140 ++++++++++++++++++ 3 files changed, 262 insertions(+) create mode 100644 net-im/tokodon/additional-files/tokodon.rdef.in create mode 100644 net-im/tokodon/patches/tokodon-23.08.5.patchset create mode 100644 net-im/tokodon/tokodon-23.08.5.recipe diff --git a/net-im/tokodon/additional-files/tokodon.rdef.in b/net-im/tokodon/additional-files/tokodon.rdef.in new file mode 100644 index 000000000..f0b9dcc26 --- /dev/null +++ b/net-im/tokodon/additional-files/tokodon.rdef.in @@ -0,0 +1,98 @@ +resource app_flags B_SINGLE_LAUNCH; + +resource app_version { + major = @MAJOR@, + middle = @MIDDLE@, + minor = @MINOR@, + + variety = B_APPV_FINAL, + internal = 0, + + short_info = "@APP_NAME@", + long_info = "@LONG_INFO@" +}; + +resource app_signature "@APP_SIGNATURE@"; + +resource vector_icon { + $"6E6369661102000603BDDF4BA7031C27031CBDDF4B4A01EF4A0FB8003DAEE983" + $"3498DBFF3DAEE9033DAEE70193CEE9F904003F04002B02001202376AAC386362" + $"386362B76AAC4ADB624A2B4D0000FFFF000002001202395EA6394A94B94A9439" + $"5EA64728EB4A5A4D0000FFFF000002001202B76AAC386362B86362B76AAC47AD" + $"2B4A41B90000FFFF000003F6FFD5020012023C368C395973B959733C368C4A96" + $"A54C01320000FFFFB300020012022CB150352A48B52A482CB1504A3ABA49B008" + $"0000FFFF00000200120234CEDE342394B4239434CEDE48D1C349CA950000FFFF" + $"000004004C054D0200120236A24C36A292B6A29236A24C4A40FC492DC50000FF" + $"FF000001F6FFD5F90200120236D79F36CDDCB6CDDC36D79F493ECE493DE90000" + $"FFFF00001B0606FF07BFBDCC7ABFBDCC7AB8F4CC7AB374C031B374C6FAB374B9" + $"69BFBDB3E9B8F4B3E951B3E9CC06C031CC06B969CC06C6FABFBDCC7A51CC7ABF" + $"BDCC7ACC7A0206BEDDE7A9BEDDE7A9BEA9E8CFBE01E8DDBDD4E8B6BE2BE902BF" + $"86E805BEEEE918BF82E80ABF12E7B2BF2BE7D7BEEBE79DBEDDE7A9BEDDE7A9BE" + $"DDE7A9BEDDE7A9BEDDE7A9BEDDE7A90606FF07B8C2E6F8B8C2E6F8B8C2E71BB8" + $"87E737B8A8E737B867E737B84DE6F8B84DE71BB84DE6D5B887E6B9B867E6B9B8" + $"A8E6B9B8C2E6F8B8C2E6D5B8C2E6F8E6F80606FF07C788E6F8C788E6F8C788E7" + $"1BC74DE737C76EE737C72DE737C713E6F8C713E71BC713E6D5C74DE6B9C72DE6" + $"B9C76EE6B9C788E6F8C788E6D5C788E6F8E6F80606FF07BFBDCB91BFBDCB91B8" + $"F4CB91B374BF48B374C611B374B87FBFBD1FB8F41F511FCC06BF48CC06B87FCC" + $"06C611BFBDCB9151CB91BFBDCB91CB910605BF01C598C728C598C728C64FC787" + $"C743C72AC6F3C6D3C793C781C750C842C7BAC7FDC6E7C888C598C728C7280605" + $"BF01C598C728C598C728C64FC787C743C72AC6F3C6D3C793C781C750C842C7BA" + $"C7FDC6E7C888C598C728C728020AB8FEBD79B8FEBD79BA00BE7BBC5F3EBAA9BE" + $"E0BDCCBEF7C4C4C755BED4C767C3B5C6B2C260C29BC2A2C602C260C29BC285BE" + $"FAC27FBF78C3D0BEC9C63CBEBFC619BED5C726BDFCC734BCCFC734BE0BC734BB" + $"93C6F0BA19C760BA97C680B99AC514B8A7C514B8A7C10DBA43B8FEBD79BD05BB" + $"DEB8FEBD79020AB8FEBD79B8FEBD79BA00BE7BBC5F3EBAA9BEE0BDCCBEF7C4C4" + $"C755BED4C767C3B5C6B2C260C29BC2A2C602C260C29BC285BEFAC27FBF78C3D0" + $"BEC9C63CBEBFC619BED5C726BDFCC734BCCFC734BE0BC734BB93C6F0BA19C760" + $"BA97C680B99AC514B8A7C514B8A7C10DBA43B8FEBD79BD05BBDEB8FEBD790208" + $"C255BFAEC255BFAEC2DFC0F1C41EC2FCC347C23EC4CEC398C5F7C465C5FFC44F" + $"C5CEC4B2C2B6C381C3DEC43EC2B6C381C163C212C191C2B8C117C25DC163C212" + $"C16EC206C116C268C140C099C140C099C19CC04AC255BFAEC1F8BFFCC255BFAE" + $"0206BBEEC09CBBEEC09CBAC5BF77B873BD2EB99CBE52B84ABC31B7F6BA37B820" + $"BB34B8F2BA6DBAE9BADBB9EEBAA4BC96BBEEBFEEBE14BE42BD01BE99BEECBBEE" + $"C09CBD44BFC4BBEEC09C0208BC58BFA1BC58BFA1BBCEC0E4B9F4C38BBACAC2CD" + $"B944C427B81BC4F4B813C4DEB844C541BB48C3F2BA82C4D6BC40C2FABD5FC197" + $"BD22C1E63BC1FDBDE4C2BBBDDAC2AEBE31C311BD6D42BD6D42BD11C03EBC58BF" + $"A1BCB5BFF0BC58BFA10205BC12BD1EBC12BD1EBAEBC278B862C2B1B869C278B8" + $"5BC2E6BCB5C04EBA48C3A3BEB0BD95BDC7BD3BBDC7BD3BBD35BD31BC12BD1EBC" + $"A4BD28BC12BD1E0205C2EBBD1EC2EBBD1EC411C278C64DC2B1C646C278C654C2" + $"E6C1FAC04EC467C3A3BFFFBD95C0E7BD3BC0E7BD3BC193BD31C2EBBD1EC23FBD" + $"28C2EBBD1E0609FFFF01C381CAF8C381CAF8C25ECA08BF7CC788C148C902BF69" + $"C32ABF43BA6DBF56BECBC0FEB9CBC476B887C2BAB929C505B89EC623B8CCC594" + $"B8B5C793BA8BCC02BFA7CABFBE0FCBBBBF98C85EC820CD0CC33EC58ECB0FC381" + $"CAF8C514CA65C381CAF8CAF80205C1ADBF14C1ADBF14C1D3BE89C353BEA0C339" + $"BE99C346BE74C32ABE1DC338BE49C29CBE12C180BDFBC20EBE07C18FBE59C1AD" + $"BF14C19EBEB6C1ADBF140606FF07BB87BEFFBB87BEFFBBA6BEADBBDBBDF4BBCB" + $"BE40BC54BDE4BD46BDC4BCCDBDD4BD1FBE21BCD1BEDABCF8BE7EBCAFBECDBB87" + $"BEFFBBBFBEAEBB87BEFFBEFF0205BF13C761BF13C761C0D2C8AAC3F7C8BFC238" + $"C953C5B6C82CC5D8C700C5F7C771C30AC6E2BDDDC588BDDDC588BE45C626BF13" + $"C761BEACC6C3BF13C7610205BF13C761BF13C761C0D2C8AAC3F7C8BFC238C953" + $"C5B6C82CC5D8C700C5F7C771C30AC6E2BDDDC588BDDDC588BE45C626BF13C761" + $"BEACC6C3BF13C7610605BF01C50BC6D6C50BC6D6C5CEC690C62FC59DC5B9C59D" + $"C6A5C59DC706C652C71BC5D5C6F1C6CFC50BC6D6C6D60605BF01C50BC6D6C50B" + $"C6D6C5CEC690C62FC59DC5B9C59DC6A5C59DC706C652C71BC5D5C6F1C6CFC50B" + $"C6D6C6D60217B89FB7B3B89FB7B3BC6EB7B3C40EB7B3C03EB7B3C5D3B7B3C6C8" + $"BAECC6CAB994C6C8BC8BC6CABCE3C6CABC6BC6CABD82C588BE22C5F3BE22C4E0" + $"BE22C1D5BE23C1D5BE23C1D4BE60C1D4C0CCC1D3BE75C1D4C251C251C4D4C1E2" + $"C3C9C2A1C596C420C687C32DC66BC499C696C579C632C557C65AC5B6C5EBC609" + $"C540C4FAC512C68EC556C623C670C649C632C6D6C692C6EFC75CC71DC70DC6A6" + $"C7D9C5E1C74CC5FEC745C3BFC7D7C165C85BC327C89EC01FC82BBD6DC4DBBE4F" + $"C71BBD02C3C9BCA7C0D0BCB0C25DBC94BDA8BCA4BE24BCA4BE24BBE8BE23BA6F" + $"BE21BB2BBE22B936BE20B79DBB55B79DBCC4B79DBAA4B79CB8E3B79CB92FB79C" + $"B896B8E3B7B3B836B7B3B8CCB7B3B89FB7B3B8B5B7B3B89FB7B30205C0C6BBEF" + $"C0C6BBEFC127BB54C1E9BA1EC188BAB9C2B6BACFC451BC2FC383BB7FC3EFBCA6" + $"C32DBD94C38EBD1DC260BD07C0C6BBEFC193BC7BC0C6BBEF0606FF07C1E2BA1E" + $"C1E2BA1EC242BA55C206BB70C252BAEDC1BABBF4C0CFBBFAC12FBC31C070BBC3" + $"C0ACBAA8C060BB2CC0F8BA25C1E2BA1EC183B9E7C1E2BA1EBA1E0205BCECBBEF" + $"BCECBBEFBD2EBB62BDB2BA49BD70BAD6BE99BB0CC066BC93BF7FBBD0C014BCF0" + $"BF72BDA9BFC3BD4CBE9BBD16BCECBBEFBDC3BC82BCECBBEF0606FF07BCC2BA2A" + $"BCC2BA2ABC5EBA63BC9DBB8CBC4DBB02BCEDBC16BDE3BC1DBD7EBC57BE47BBE3" + $"BE08BABBBE57BB45BDB8BA31BCC2BA2ABD26B9F0BCC2BA2ABA2A0206C0E8E7B5" + $"C0E8E7B5C11CE8DBC1C4E8E9C1F0E8C2C19AE90EC03FE811C0D7E924C043E816" + $"C0B3E7BEC09AE7E3C0D9E7A9C0E8E7B5C0E8E7B5C0E8E7B5C0E8E7B5C0E8E7B5" + $"C0E8E7B51B0A000100000A010101000A010102000A010103000A020104000A03" + $"0105000A0301061001178000040A040107000A0401081001178000040A050109" + $"000A06010A000A07010B000A08010C000A08010D000A09010E000A0A010F000A" + $"0B0110000A0C0111000A0C01121001178000040A030113000A03011410011780" + $"00040A0D0115000A0E0116000A0F0117000A100118000A0F0119000A01011A00" +}; diff --git a/net-im/tokodon/patches/tokodon-23.08.5.patchset b/net-im/tokodon/patches/tokodon-23.08.5.patchset new file mode 100644 index 000000000..0d222ff66 --- /dev/null +++ b/net-im/tokodon/patches/tokodon-23.08.5.patchset @@ -0,0 +1,24 @@ +From 758238050753a17fef2887040c0307331dc16a08 Mon Sep 17 00:00:00 2001 +From: Schrijvers Luc +Date: Fri, 1 Mar 2024 15:03:22 +0100 +Subject: undef HAVE_KDBUSADDONS + + +diff --git a/src/main.cpp b/src/main.cpp +index a48773d..7438cc8 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -19,6 +19,10 @@ + #include + #endif + ++#ifdef Q_OS_HAIKU ++#undef HAVE_KDBUSADDONS ++#endif ++ + #include + #ifdef HAVE_KDBUSADDONS + #include +-- +2.43.2 + diff --git a/net-im/tokodon/tokodon-23.08.5.recipe b/net-im/tokodon/tokodon-23.08.5.recipe new file mode 100644 index 000000000..c27b5d5c9 --- /dev/null +++ b/net-im/tokodon/tokodon-23.08.5.recipe @@ -0,0 +1,140 @@ +SUMMARY="KDE Mastodon client" +DESCRIPTION="Tokodon is a Mastodon client. It allows you to interact with the Fediverse community." +HOMEPAGE="https://invent.kde.org/network/tokodon" +COPYRIGHT="2021-2023 Carl Schlwan + 2002-2023 KDE Organisation" +LICENSE="GNU GPL v3" +REVISION="1" +SOURCE_URI="$HOMEPAGE/-/archive/v$portVersion/tokodon-v$portVersion.tar.bz2" +CHECKSUM_SHA256="66052291bae51b2c6396343aec309e77660829b66b8d5b0013a17443e778b84f" +SOURCE_DIR="tokodon-v$portVersion" +PATCHES="tokodon-$portVersion.patchset" +ADDITIONAL_FILES="tokodon.rdef.in" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + tokodon$secondaryArchSuffix = $portVersion + cmd:tokodon$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libmpv$secondaryArchSuffix + # KF5 + kirigami_addons$secondaryArchSuffix + lib:libKF5Auth$secondaryArchSuffix + lib:libKF5Codecs$secondaryArchSuffix + lib:libKF5Completion$secondaryArchSuffix + lib:libKF5ConfigCore$secondaryArchSuffix + lib:libKF5ConfigGui$secondaryArchSuffix + lib:libKF5ConfigWidgets$secondaryArchSuffix + lib:libKF5CoreAddons$secondaryArchSuffix + lib:libKF5DbusAddons$secondaryArchSuffix + lib:libKF5I18n$secondaryArchSuffix + lib:libKF5KIOCore$secondaryArchSuffix + lib:libKF5Kirigami2$secondaryArchSuffix + lib:libKF5JobWidgets$secondaryArchSuffix + lib:libKF5Notifications$secondaryArchSuffix + lib:libKF5Purpose$secondaryArchSuffix + lib:libKF5Service$secondaryArchSuffix + lib:libKF5Solid$secondaryArchSuffix + lib:libKF5WidgetsAddons$secondaryArchSuffix + lib:libKF5WindowSystem$secondaryArchSuffix + # Qt5 + lib:libQt5Core$secondaryArchSuffix + lib:libQt5DBus$secondaryArchSuffix + lib:libQt5Gui$secondaryArchSuffix + lib:libQT5Keychain$secondaryArchSuffix + lib:libQt5Network$secondaryArchSuffix + lib:libQt5Qml$secondaryArchSuffix + lib:libQt5Quick$secondaryArchSuffix + lib:libQt5Webengine$secondaryArchSuffix + lib:libQt5Widgets$secondaryArchSuffix + lib:libQt5Xml$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libmpv$secondaryArchSuffix + # KF5 + extra_cmake_modules$secondaryArchSuffix >= 5.93.0 + kirigami_addons$secondaryArchSuffix + qqc2_desktop_style${secondaryArchSuffix}_devel + devel:libKF5Auth$secondaryArchSuffix + devel:libKF5Bookmarks$secondaryArchSuffix + devel:libKF5Codecs$secondaryArchSuffix + devel:libKF5Completion$secondaryArchSuffix + devel:libKF5ConfigCore$secondaryArchSuffix + devel:libKF5ConfigWidgets$secondaryArchSuffix + devel:libKF5CoreAddons$secondaryArchSuffix + devel:libKF5DbusAddons$secondaryArchSuffix + devel:libKF5I18n$secondaryArchSuffix + devel:libKF5ItemModels$secondaryArchSuffix + devel:libKF5ItemViews$secondaryArchSuffix + devel:libKF5KIOCore$secondaryArchSuffix + devel:libKF5JobWidgets$secondaryArchSuffix + devel:libKF5Kirigami2$secondaryArchSuffix + devel:libKF5Notifications$secondaryArchSuffix + devel:libKF5Service$secondaryArchSuffix + devel:libKF5Solid$secondaryArchSuffix + devel:libKF5WidgetsAddons$secondaryArchSuffix + devel:libKF5WindowSystem$secondaryArchSuffix + devel:libKF5XmlGui$secondaryArchSuffix + # Qt5 + devel:libQt5Core$secondaryArchSuffix + devel:libQT5Keychain$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:g++$secondaryArchSuffix + cmd:make + cmd:msgfmt + cmd:msgmerge + cmd:pkg_config$secondaryArchSuffix + cmd:qdbuscpp2xml$secondaryArchSuffix >= 5 + " + +TEST_REQUIRES=" + qthaikuplugins$secondaryArchSuffix + " + +BUILD() +{ + cmake -Bbuild -S. $cmakeDirArgs \ + -DCMAKE_BUILD_TYPE=Release \ + -DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt5 \ + -DKDE_INSTALL_QMLDIR=$dataDir/Qt5/qml \ + -DECM_DIR=/system/data/cmake/Modules/ECM/cmake + make -C build $jobArgs +} + +INSTALL() +{ + make -C build install + + local MAJOR="`echo "$portVersion" | cut -d. -f1`" + local MIDDLE="`echo "$portVersion" | cut -d. -f2`" + local MINOR="`echo "$portVersion" | cut -d. -f3`" + local APP_NAME="Tokodon" + local LONG_INFO="$SUMMARY" + local APP_SIGNATURE="application/x-vnd.tokodon" + sed \ + -e "s|@MAJOR@|$MAJOR|" \ + -e "s|@MIDDLE@|$MIDDLE|" \ + -e "s|@MINOR@|$MINOR|" \ + -e "s|@LONG_INFO@|$LONG_INFO|" \ + -e "s|@APP_NAME@|$APP_NAME|" \ + -e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \ + $portDir/additional-files/tokodon.rdef.in > tokodon.rdef + + addResourcesToBinaries tokodon.rdef $binDir/tokodon + + addAppDeskbarSymlink $binDir/tokodon Tokodon +} + +TEST() +{ + export LIBRARY_PATH="$sourceDir/build/bin${LIBRARY_PATH:+:$LIBRARY_PATH}" + make -C build test +}