From 5fe59ff8717a4d6eea5bd61966bace5212b5c56e Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Sat, 2 Jan 2021 19:23:54 +1000 Subject: [PATCH] KDiamond: add recipe --- .../additional-files/kdiamond.rdef.in | 68 +++++++++ kde-apps/kdiamond/kdiamond-20.12.0.recipe | 135 ++++++++++++++++++ .../patches/kdiamond-20.12.0.patchset | 23 +++ 3 files changed, 226 insertions(+) create mode 100644 kde-apps/kdiamond/additional-files/kdiamond.rdef.in create mode 100644 kde-apps/kdiamond/kdiamond-20.12.0.recipe create mode 100644 kde-apps/kdiamond/patches/kdiamond-20.12.0.patchset diff --git a/kde-apps/kdiamond/additional-files/kdiamond.rdef.in b/kde-apps/kdiamond/additional-files/kdiamond.rdef.in new file mode 100644 index 000000000..b091f8cec --- /dev/null +++ b/kde-apps/kdiamond/additional-files/kdiamond.rdef.in @@ -0,0 +1,68 @@ + +resource app_flags B_MULTIPLE_LAUNCH; + +resource app_version { + major = @MAJOR@, + middle = @MIDDLE@, + minor = @MINOR@, + + variety = B_APPV_FINAL, + internal = 0, + + short_info = "KDiamond", + long_info = "@LONG_INFO@" +}; + +resource app_signature "@APP_SIGNATURE@"; + +resource("QT:QPA_FLAGS") "Q_KILL_ON_EXIT"; + +resource vector_icon { + $"6E6369660A05010304719A020106033E60000000000000003DA00049200045FF" + $"FF00FFFFFF7EC7EEFFFF8FC9DC020006023C3EA33AD7A3BABA323C276347A2F1" + $"48322600FFFFFFFF71B2C702000602BA87BEBCB85E3B6676B929AD4AB4294931" + $"6500035975FF77B7CD020006023D00000000000000003CC00048A00049000000" + $"C7F1FFFF37A7CC020006023B64D2339416B41AAF3BFDC84A930C49797C0067D5" + $"FFFF4C8FA7020006023A6693BC31673C15553A47D84AEDD84B7B5E00046D94FF" + $"09567304016A020112023C20000000000000003C800047000045800000FFF2FF" + $"FF00090213BBCCB527BBCCB527BD31B4F7BFF9B494BE95B4C5C03AB48BC0B7B4" + $"ABC078B4A0C1DDB4E3C428B553C303B51BC453B55CC4A8B56EC47FB55FC4D4B5" + $"8DC51EB5DBC4F5B5B8C596B651C684B73FC60DB6C8C69DB757C6CBB78AC6B7B7" + $"6EC62AB846C4E6B9BCC587B900C4D1B9D5C497B9F2C4B9B9EFC2C8BA42BF28BA" + $"E1C0F7BA90BEF3BAEDBE8DBACCBEC0BAD8BD29BA73BA60B9C336BA1BBA2BB9B4" + $"B9C1B998B9F4B9ADB9B2B98AB9A2B963B9ABB975B94EB8A6B89CB72FB8EDB7EE" + $"B97AB689BB41B54CBA61B5F0BB68B52DBBCCB527BB9DB52FBBCCB527BBCCB527" + $"BBCCB527BBCCB527020DB88BB745B88BB745B8BFB791B905B83CB8DCB7EAB939" + $"B8A1B996B96EB964B909B9A3B988B9C7B9B2B9B4B99DB99CB9DDB97BBA51B98E" + $"BA19B877BD24B66FC2C9B773BFF7B656C291B63AC219B64AC254B5E7C0E2B540" + $"BE76B594BFACB534BE43B531BDD9B515BE0BB5A1BCFFB67FBB4AB60BBC22B6F9" + $"BA58B7F0B874B771B964B825B810B88BB745B852B7A8B88BB745B88BB745B88B" + $"B745B88BB745020AC67FB7FCC67FB7FCC69BB7DAC6D9B79AC6B6B7B6C80BB9EA" + $"CA6EBE8CC93BBC3CCA7FBEA8CA6EBEE55BBEC9C9F6BFB3C909C150C981C082C8" + $"9FC206C7CCC373C83AC2BFC7A4C343C786C2CBC798C305C69CBFDAC4C5B9FAC5" + $"AEBCEBC558B950C67FB7FCC5EBB8A6C67FB7FCC67FB7FCC67FB7FCC67FB7FC02" + $"17B9C7B9B2B9C7B9B2BA18B9C1BAB9B9EBBA68B9D8BC07BA3EBEA3BAE4BD56BA" + $"8DBEC5BAECBF0ABAF3BEE7BAF1BF00BB06BEF3BB2EBEF5BB19BEE2BBAFBEE4BC" + $"B3BEF3BC32BED8BD2EBED9BE25BEE6BDAABECCBE98BECEBF80BEDABF0CBEC6BF" + $"CCBEC7C065BEC6C018BEC9C0BCBEBBC16BBEBAC113BEBBC1BCBEB5C260BEBDC2" + $"0FBEA8C2D7BEA9C3C5BEB6C34EBE9FC426BEA3C4E8BEA6C487BEA1C525BEA6C5" + $"9F3DC564BEA7C5A2BEA9C5A9BEA8C5A5BDCAC552BC03C4BCBCE3C510BB5FC486" + $"BA1BC415BABCC450B992C3E8B883C389B90A4AB7F2C358B6D0C2F5B760C32BB6" + $"B0C2E7B66FC2C9B687C2E5B773BFF7B97BBA51B877BD24B98EBA19B9C7B9B2B9" + $"9CB9DDB9C7B9B2B9C7B9B2B9C7B9B2B9C7B9B20213C018BAC9C018BAC9C1A7BA" + $"84C4C5B9FAC336BA40C5AEBCEBC786C2CBC69CBFDAC798C305C7CCC373C7A4C3" + $"43C7C7C37CC7BEC38FC7C2C385C6CDC3BEC4F0C42FC5E0C3FBC2D7C4AABEA6C5" + $"9FC0BFC5253DC564BEA3C4E8BEA1C525BEA6C487BEA9C3C5BE9FC426BEB6C34E" + $"BEB5C260BEA8C2D7BEBDC20FBEBBC16BBEBBC1BCBEBAC113BEC7C065BEC9C0BC" + $"BEC6C018BECEBF80BEC6BFCCBEDABF0CBED9BE25BECCBE98BEE6BDAABEE4BCB3" + $"BED8BD2EBEF3BC32BEF3BB2EBEE2BBAFBEF5BB19BF0ABAF3BF00BB06BF65BAEC" + $"C018BAC9BFBEBAD6C018BAC9C018BAC9C018BAC9C018BAC9020BC4F0C42FC4F0" + $"C42FC5E0C3FBC7BEC38FC6CDC3BEC7C2C392C7CEC39BC7CAC398C7BAC3B0C78F" + $"C3D5C7A5C3C3C4FAC5E8BFD4CA13C269C80140C9FEBFA6C9CBBFACC9E8BF83C9" + $"45BF44C837BF68C8BDBF10C75DBEA9C5A9BED3C685BEA8C5A5BEA6C59FBEA7C5" + $"A2C0BFC525C4F0C42FC2D7C4AAC4F0C42FC4F0C42FC4F0C42FC4F0C42F0A0329" + $"483E4F405A0A05405C5858604C564143450A0824292C282D212E283D292E2A2D" + $"372C2A0A0A080107000A0007000102030405061001178423040A020100000A03" + $"0101000A040102000A050103000A060104000A070105000A010106000A090108" + $"3022240117820004" +}; diff --git a/kde-apps/kdiamond/kdiamond-20.12.0.recipe b/kde-apps/kdiamond/kdiamond-20.12.0.recipe new file mode 100644 index 000000000..8089dc061 --- /dev/null +++ b/kde-apps/kdiamond/kdiamond-20.12.0.recipe @@ -0,0 +1,135 @@ +SUMMARY="The object of the game is to build lines of three similar diamonds" +DESCRIPTION="KDiamond is a single player puzzle game. +The player is presented with a rectangular grid containing several types of diamonds.\ +The object of the game is to swap neighbored diamonds to assemble a line of three similar \ +diamonds. These lines will vanish and the board will be refilled with new diamonds. +The game time is limited, try to build as much lines as possible to earn a high score. \ +Click on one diamond, then on one of its neighbors. The diamonds will then be swapped. \ +If no line of at least three diamonds is formed by the swap, it will be reverted. \ +The status bar displays the game time left, and the number of points you have earned." +HOMEPAGE="https://apps.kde.org/kdiamond" +COPYRIGHT="2010-2020 KDE Organisation" +LICENSE="GNU GPL v2" +REVISION="1" +SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/kdiamond-$portVersion.tar.xz" +CHECKSUM_SHA256="f1531c598595c2765d7ba6faccd82cba6d1de2e651033851515a094146cfddc7" +SOURCE_DIR="kdiamond-$portVersion" +PATCHES="kdiamond-$portVersion.patchset" +ADDITIONAL_FILES="kdiamond.rdef.in" + +ARCHITECTURES="!x86_gcc2 x86_64" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + kdiamond$secondaryArchSuffix = $portVersion + app:KDiamond$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libKF5Auth$secondaryArchSuffix + lib:libKF5Codecs$secondaryArchSuffix + lib:libKF5Completion$secondaryArchSuffix + lib:libKF5ConfigCore$secondaryArchSuffix + lib:libKF5ConfigGui$secondaryArchSuffix + lib:libKF5ConfigWidgets$secondaryArchSuffix + lib:libKF5CoreAddons$secondaryArchSuffix + lib:libKF5Crash$secondaryArchSuffix + lib:libKF5DBusAddons$secondaryArchSuffix + lib:libKF5GuiAddons$secondaryArchSuffix + lib:libKF5I18n$secondaryArchSuffix + lib:libKF5IconThemes$secondaryArchSuffix + lib:libKF5ItemViews$secondaryArchSuffix + lib:libKF5JobWidgets$secondaryArchSuffix + lib:libKF5KDEGames$secondaryArchSuffix + lib:libKF5KIOCore$secondaryArchSuffix + lib:libKF5Notifications$secondaryArchSuffix + lib:libKF5NotifyConfig$secondaryArchSuffix + lib:libKF5Package$secondaryArchSuffix + lib:libKF5WidgetsAddons$secondaryArchSuffix + lib:libKF5WindowSystem$secondaryArchSuffix + lib:libKF5XmlGui$secondaryArchSuffix + lib:libQt5Core$secondaryArchSuffix + lib:libQt5DBus$secondaryArchSuffix + lib:libQt5Gui$secondaryArchSuffix + lib:libQt5Widgets$secondaryArchSuffix + lib:libQt5Xml$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + extra_cmake_modules$secondaryArchSuffix >= 5.77 + devel:libKF5Auth$secondaryArchSuffix + devel:libKF5Codecs$secondaryArchSuffix + devel:libKF5Completion$secondaryArchSuffix + devel:libKF5ConfigCore$secondaryArchSuffix + devel:libKF5ConfigWidgets$secondaryArchSuffix + devel:libKF5CoreAddons$secondaryArchSuffix + devel:libKF5Crash$secondaryArchSuffix + devel:libKF5DBusAddons$secondaryArchSuffix + devel:libKF5DocTools$secondaryArchSuffix + devel:libKF5GuiAddons$secondaryArchSuffix + devel:libKF5I18n$secondaryArchSuffix + devel:libKF5IconThemes$secondaryArchSuffix + devel:libKF5ItemModels$secondaryArchSuffix + devel:libKF5ItemViews$secondaryArchSuffix + devel:libKF5JobWidgets$secondaryArchSuffix + devel:libKF5KDEGames$secondaryArchSuffix + devel:libKF5KIOCore$secondaryArchSuffix + devel:libKF5Notifications$secondaryArchSuffix + devel:libKF5NotifyConfig$secondaryArchSuffix + devel:libKF5Package$secondaryArchSuffix + devel:libKF5WidgetsAddons$secondaryArchSuffix + devel:libKF5WindowSystem$secondaryArchSuffix + devel:libKF5XmlGui$secondaryArchSuffix + devel:libQt5Core$secondaryArchSuffix >= 5.15 + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:g++$secondaryArchSuffix + cmd:lrelease$secondaryArchSuffix >= 5 + cmd:make + cmd:pkg_config$secondaryArchSuffix + " + +BUILD() +{ + # disable docs generation + sed -e '/add_subdirectory(doc)/ s/^#*/#/' -i CMakeLists.txt + sed -e '/kdoctools_install(po)/ s/^#*/#/' -i CMakeLists.txt + + mkdir -p build + cd build + + cmake .. \ + -DCMAKE_INSTALL_PREFIX=$appsDir \ + -DCMAKE_INSTALL_DATADIR=$dataDir \ + -DCMAKE_INSTALL_DATAROOTDIR=$dataDir \ + -DSHARE_INSTALL_PREFIX=$dataDir \ + -DECM_DIR=/system/data/cmake/Modules/ECM/cmake + make $jobArgs +} + +INSTALL() +{ + cd build + make install + + mv $appsDir/bin/kdiamond $appsDir/KDiamond + rm -rf $appsDir/bin + + local APP_SIGNATURE="application/x-vnd.kde-kdiamond" + local MAJOR="`echo "$portVersion" | cut -d. -f1`" + local MIDDLE="`echo "$portVersion" | cut -d. -f2`" + local MINOR="`echo "$portVersion" | cut -d. -f3`" + local LONG_INFO="$SUMMARY" + sed \ + -e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \ + -e "s|@MAJOR@|$MAJOR|" \ + -e "s|@MIDDLE@|$MIDDLE|" \ + -e "s|@MINOR@|$MINOR|" \ + -e "s|@LONG_INFO@|$LONG_INFO|" \ + $portDir/additional-files/kdiamond.rdef.in > kdiamond.rdef + + addResourcesToBinaries kdiamond.rdef $appsDir/KDiamond + addAppDeskbarSymlink $appsDir/KDiamond +} diff --git a/kde-apps/kdiamond/patches/kdiamond-20.12.0.patchset b/kde-apps/kdiamond/patches/kdiamond-20.12.0.patchset new file mode 100644 index 000000000..8f5ca188d --- /dev/null +++ b/kde-apps/kdiamond/patches/kdiamond-20.12.0.patchset @@ -0,0 +1,23 @@ +From f9a5aa30d9bc4635696f684734e2784006f5f151 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Sat, 2 Jan 2021 18:47:07 +1000 +Subject: Disable dbus + + +diff --git a/src/main.cpp b/src/main.cpp +index ffa598b..7d8a2e3 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -70,7 +70,9 @@ int main(int argc, char **argv) + KgDifficultyLevel::VeryEasy, + KgDifficultyLevel::VeryHard + ); ++#ifndef __HAIKU__ + KDBusService service; ++#endif + // see if we are starting with session management + if (app.isSessionRestored()) { + kRestoreMainWindows(); +-- +2.28.0 +