mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 11:40:06 +02:00
abaddon: new recipe (#10367)
Co-authored-by: zeldakatze <mail@zeldakatze.de>
This commit is contained in:
150
net-im/abaddon/abaddon-0.2.1.recipe
Normal file
150
net-im/abaddon/abaddon-0.2.1.recipe
Normal file
@@ -0,0 +1,150 @@
|
||||
SUMMARY="An alternative Discord client made in C++ with GTK"
|
||||
DESCRIPTION="
|
||||
Abaddon is an alternative Discord client which supports most chat message types.
|
||||
|
||||
To Log In, you either have to use the mobile app or extract the login token from
|
||||
the discord web client.
|
||||
|
||||
Please note that alternative discord clients have a higher risk of tripping discord's
|
||||
spam filter. If you should get caught in the spam filter, you can usually appeal at
|
||||
discord.
|
||||
|
||||
NOTE: currently this port does not support sound!
|
||||
"
|
||||
HOMEPAGE="https://github.com/uowuo/abaddon/"
|
||||
COPYRIGHT="2024 uowuo"
|
||||
LICENSE="GNU GPL v3"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://github.com/uowuo/abaddon/archive/refs/tags/v0.2.1.tar.gz"
|
||||
CHECKSUM_SHA256="407d14bc7659c65eca1c5266fb96a60b1e169b31c122159ae7f54e69a86e0b45"
|
||||
SOURCE_URI_2="https://github.com/machinezone/IXWebSocket/archive/refs/tags/v11.4.5.tar.gz"
|
||||
CHECKSUM_SHA256_2="c5fc225edec32bf7d583e55347ef2c9c4940d005c13ef5e848354a85602f5fd6"
|
||||
SOURCE_DIR_2="IXWebSocket-11.4.5"
|
||||
SOURCE_URI_3="https://github.com/mackron/miniaudio/archive/refs/tags/0.11.21.tar.gz"
|
||||
CHECKSUM_SHA256_3="6afb5c231613d2fab4f1c668b7243ff9a7d6d78a7f5a2692c133f026fe508506"
|
||||
SOURCE_DIR_3="miniaudio-0.11.21"
|
||||
SOURCE_URI_4="https://github.com/nayuki/QR-Code-generator/archive/refs/tags/v1.8.0.tar.gz"
|
||||
CHECKSUM_SHA256_4="2ec0a4d33d6f521c942eeaf473d42d5fe139abcfa57d2beffe10c5cf7d34ae60"
|
||||
SOURCE_DIR_4="QR-Code-generator-1.8.0"
|
||||
|
||||
PATCHES="abaddon-0.2.1.patchset"
|
||||
ADDITIONAL_FILES="abaddon.rdef.in"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
USER_SETTINGS_FILES="
|
||||
settings/abaddon directory
|
||||
"
|
||||
|
||||
PROVIDES="
|
||||
abaddon$secondaryArchSuffix
|
||||
app:Abaddon
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libatk_1.0$secondaryArchSuffix
|
||||
lib:libatkmm_1.6$secondaryArchSuffix
|
||||
lib:libcairo$secondaryArchSuffix
|
||||
lib:libcairomm_1.0$secondaryArchSuffix
|
||||
lib:libcrypto$secondaryArchSuffix
|
||||
lib:libcurl$secondaryArchSuffix
|
||||
lib:libfmt$secondaryArchSuffix
|
||||
lib:libfontconfig$secondaryArchSuffix
|
||||
lib:libfreetype$secondaryArchSuffix
|
||||
lib:libgdk_3$secondaryArchSuffix
|
||||
lib:libgdkmm_3.0$secondaryArchSuffix
|
||||
lib:libgdk_pixbuf_2.0$secondaryArchSuffix
|
||||
lib:libglib_2.0$secondaryArchSuffix
|
||||
lib:libglibmm$secondaryArchSuffix
|
||||
lib:libgtk_3$secondaryArchSuffix
|
||||
lib:libgtkmm_3.0$secondaryArchSuffix
|
||||
lib:libhandy_1${secondaryArchSuffix}
|
||||
lib:libharfbuzz$secondaryArchSuffix
|
||||
lib:libopus$secondaryArchSuffix
|
||||
lib:libpango_1.0$secondaryArchSuffix
|
||||
lib:libpangomm_1.4$secondaryArchSuffix
|
||||
lib:librnnoise$secondaryArchSuffix
|
||||
lib:libsigc_2.0$secondaryArchSuffix
|
||||
lib:libsodium$secondaryArchSuffix
|
||||
lib:libssl$secondaryArchSuffix
|
||||
lib:libspdlog$secondaryArchSuffix
|
||||
lib:libsqlite3$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libatk_1.0$secondaryArchSuffix
|
||||
devel:libatkmm_1.6$secondaryArchSuffix
|
||||
devel:libcairo$secondaryArchSuffix
|
||||
devel:libcrypto$secondaryArchSuffix
|
||||
devel:libcairomm_1.0$secondaryArchSuffix
|
||||
devel:libcurl$secondaryArchSuffix
|
||||
devel:libfmt$secondaryArchSuffix
|
||||
devel:libfontconfig$secondaryArchSuffix
|
||||
devel:libfreetype$secondaryArchSuffix
|
||||
devel:libgdk_3$secondaryArchSuffix
|
||||
devel:libgdkmm_3.0$secondaryArchSuffix
|
||||
devel:libgdk_pixbuf_2.0$secondaryArchSuffix
|
||||
devel:libglib_2.0$secondaryArchSuffix
|
||||
devel:libglibmm$secondaryArchSuffix
|
||||
devel:libgtk_3$secondaryArchSuffix
|
||||
devel:libgtkmm_3.0$secondaryArchSuffix
|
||||
devel:libhandy_1${secondaryArchSuffix}
|
||||
devel:libharfbuzz$secondaryArchSuffix
|
||||
devel:nlohmann_json
|
||||
devel:libopus$secondaryArchSuffix
|
||||
devel:libpango_1.0$secondaryArchSuffix
|
||||
devel:libpangomm_1.4$secondaryArchSuffix
|
||||
devel:librnnoise$secondaryArchSuffix
|
||||
devel:libsigc_2.0$secondaryArchSuffix
|
||||
devel:libsodium$secondaryArchSuffix
|
||||
devel:libssl$secondaryArchSuffix
|
||||
devel:libspdlog$secondaryArchSuffix
|
||||
devel:libsqlite3$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:cmake
|
||||
cmd:make
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD() {
|
||||
mkdir -p subprojects/ixwebsocket/
|
||||
mkdir -p subprojects/miniaudio/
|
||||
mkdir -p subprojects/qrcodegen/
|
||||
cp -r $sourceDir2/* subprojects/ixwebsocket/
|
||||
cp -r $sourceDir3/* subprojects/miniaudio/
|
||||
cp -r $sourceDir4/* subprojects/qrcodegen/
|
||||
|
||||
cmake -Bbuild \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DUSE_KEYCHAIN=0 \
|
||||
-DENABLE_VOICE=OFF
|
||||
make -C build $jobArgs
|
||||
}
|
||||
|
||||
INSTALL() {
|
||||
local APP_SIGNATURE="application/x-vnd.abaddon"
|
||||
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
|
||||
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
|
||||
local MINOR="`echo "$portVersion" | cut -d. -f3`"
|
||||
sed \
|
||||
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
|
||||
-e "s|@MAJOR@|$MAJOR|" \
|
||||
-e "s|@MIDDLE@|$MIDDLE|" \
|
||||
-e "s|@MINOR@|$MINOR|" \
|
||||
-e "s|@LONG_INFO@|$SUMMARY|" \
|
||||
$portDir/additional-files/abaddon.rdef.in > abaddon.rdef
|
||||
|
||||
mkdir -p $dataDir/abaddon
|
||||
mkdir -p $appsDir
|
||||
cp -r res/* $dataDir/abaddon
|
||||
cp build/abaddon $appsDir/Abaddon
|
||||
|
||||
addResourcesToBinaries abaddon.rdef $appsDir/Abaddon
|
||||
addAppDeskbarSymlink $appsDir/Abaddon
|
||||
}
|
||||
28
net-im/abaddon/additional-files/abaddon.rdef.in
Normal file
28
net-im/abaddon/additional-files/abaddon.rdef.in
Normal file
@@ -0,0 +1,28 @@
|
||||
resource app_flags B_EXCLUSIVE_LAUNCH;
|
||||
|
||||
resource app_version {
|
||||
major = @MAJOR@,
|
||||
middle = @MIDDLE@,
|
||||
minor = @MINOR@,
|
||||
|
||||
variety = B_APPV_FINAL,
|
||||
|
||||
short_info = "Abaddon",
|
||||
long_info = "@LONG_INFO@"
|
||||
};
|
||||
|
||||
resource app_signature "@APP_SIGNATURE@";
|
||||
|
||||
resource vector_icon {
|
||||
$"6E63696604050003FFB852038C6F4403900303050000020743274724BE20B7E6"
|
||||
$"33362F2DBB29BD193E44BDBBC0494D515239C65CBD64CC19B8F94F37C5A137C7"
|
||||
$"4C374D2EC5DCB9BE4929452CC185B800C456B52F02043824C01524B90A242C34"
|
||||
$"2CB7722CBE7D4B55C09C55C7A7555B3A5BC0E15BB9D6020D4030C34530BEEC30"
|
||||
$"2F2AB8F6B672B8FDB7852938B619BC5EB851BD40273BB53BBE09293A294229BF"
|
||||
$"AC29C126274EB646C429B54DC67EB895C3F8B896C3E7B8934B334AB9DAC444BB"
|
||||
$"D4C2CC3652BAC9C7C5BCBEC612335EB9BA5EBBE95E4657C1DBC8C4C244C8FA52"
|
||||
$"4FC58CC5CAC84BC5A95040504350BC3A02044030C34530BC3A30304030BC3A30"
|
||||
$"C3454050BC3A50C34550504050C34550BC3A050A020103000A010102000A0001"
|
||||
$"01201F250A0301040238000000000000000037FFFF49E0004860000A03010402"
|
||||
$"38000000000000000037FFFF4A7000492000"
|
||||
};
|
||||
186
net-im/abaddon/patches/abaddon-0.2.1.patchset
Normal file
186
net-im/abaddon/patches/abaddon-0.2.1.patchset
Normal file
@@ -0,0 +1,186 @@
|
||||
From 0dbd41d190666118220a41e539bd53b90b0486b3 Mon Sep 17 00:00:00 2001
|
||||
From: zeldakatze <mail@zeldakatze.de>
|
||||
Date: Wed, 10 Apr 2024 23:11:58 +0200
|
||||
Subject: fix build for haiku
|
||||
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index d1b56fc..6e1d906 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -74,12 +74,17 @@ endif ()
|
||||
|
||||
target_precompile_headers(abaddon PRIVATE <gtkmm.h> src/abaddon.hpp src/util.hpp)
|
||||
|
||||
-if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR
|
||||
+if (NOT (CMAKE_SYSTEM_NAME STREQUAL "Haiku") AND
|
||||
+((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR
|
||||
(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
|
||||
-((CMAKE_SYSTEM_NAME STREQUAL "Linux") OR (CMAKE_CXX_COMPILER_VERSION LESS 9))))
|
||||
+((CMAKE_SYSTEM_NAME STREQUAL "Linux") OR (CMAKE_CXX_COMPILER_VERSION LESS 9)))))
|
||||
target_link_libraries(abaddon stdc++fs)
|
||||
endif ()
|
||||
|
||||
+if (CMAKE_SYSTEM_NAME STREQUAL "Haiku")
|
||||
+ target_link_libraries(abaddon network)
|
||||
+endif ()
|
||||
+
|
||||
if (NOT WIN32)
|
||||
target_sources(abaddon PRIVATE src/notifications/notifier_gio.cpp)
|
||||
else ()
|
||||
diff --git a/cmake/Findatkmm.cmake b/cmake/Findatkmm.cmake
|
||||
index 68c3bc6..623d0e1 100644
|
||||
--- a/cmake/Findatkmm.cmake
|
||||
+++ b/cmake/Findatkmm.cmake
|
||||
@@ -25,7 +25,8 @@ find_path(ATKMM_CONFIG_INCLUDE_DIR
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/opt/local/lib
|
||||
- PATH_SUFFIXES ${ATKMM_LIBRARY_NAME}/include)
|
||||
+ PATH_SUFFIXES ${ATKMM_LIBRARY_NAME}/include
|
||||
+ ${ATKMM_LIBRARY_NAME})
|
||||
|
||||
find_library(ATKMM_LIBRARY
|
||||
NAMES ${ATKMM_LIBRARY_NAME}
|
||||
diff --git a/cmake/Findgdkmm.cmake b/cmake/Findgdkmm.cmake
|
||||
index 5316bb7..23077ca 100644
|
||||
--- a/cmake/Findgdkmm.cmake
|
||||
+++ b/cmake/Findgdkmm.cmake
|
||||
@@ -1,4 +1,5 @@
|
||||
set(gdkmm_LIBRARY_NAME gdkmm-3.0)
|
||||
+set(gtkmm_LIBRARY_NAME gtkmm-3.0)
|
||||
|
||||
find_package(PkgConfig)
|
||||
if (PKG_CONFIG_FOUND)
|
||||
@@ -23,7 +24,8 @@ find_path(gdkmm_CONFIG_INCLUDE_DIR
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/opt/local/lib
|
||||
- PATH_SUFFIXES ${gdkmm_LIBRARY_NAME}/include)
|
||||
+ PATH_SUFFIXES ${gdkmm_LIBRARY_NAME}/include
|
||||
+ ${gtkmm_LIBRARY_NAME})
|
||||
|
||||
find_library(gdkmm_LIBRARY
|
||||
NAMES ${gdkmm_LIBRARY_NAME}
|
||||
diff --git a/cmake/Findglibmm.cmake b/cmake/Findglibmm.cmake
|
||||
index 27220e6..11bd996 100644
|
||||
--- a/cmake/Findglibmm.cmake
|
||||
+++ b/cmake/Findglibmm.cmake
|
||||
@@ -22,7 +22,8 @@ find_path(GLIBMM_INCLUDE_DIR
|
||||
find_path(GLIBMM_CONFIG_INCLUDE_DIR
|
||||
NAMES glibmmconfig.h
|
||||
HINTS ${GLIBMM_LIBRARY_HINTS}
|
||||
- PATH_SUFFIXES ${GLIBMM_LIBRARY_NAME}/include)
|
||||
+ PATH_SUFFIXES ${GLIBMM_LIBRARY_NAME}/include
|
||||
+ ${GLIBMM_LIBRARY_NAME})
|
||||
|
||||
find_library(GLIBMM_LIBRARY
|
||||
NAMES ${GLIBMM_LIBRARY_NAME}
|
||||
diff --git a/cmake/Findgtkmm.cmake b/cmake/Findgtkmm.cmake
|
||||
index addbede..908a08c 100644
|
||||
--- a/cmake/Findgtkmm.cmake
|
||||
+++ b/cmake/Findgtkmm.cmake
|
||||
@@ -32,12 +32,15 @@ find_path(GTKMM_INCLUDE_DIR
|
||||
find_path(GTKMM_CONFIG_INCLUDE_DIR
|
||||
NAMES gtkmmconfig.h
|
||||
HINTS ${GTKMM_LIBRARY_HINTS}
|
||||
+ PATH_SUFFIXES ${GTKMM_LIBRARY_NAME}
|
||||
PATH_SUFFIXES ${GTKMM_LIBRARY_NAME}/include)
|
||||
|
||||
find_library(GTKMM_LIB
|
||||
NAMES ${GTKMM_LIBRARY_NAME}
|
||||
gtkmm
|
||||
HINTS ${GTKMM_LIBRARY_HINTS}
|
||||
+ HINTS ${GTKMM_INCLUDE_DIR}
|
||||
+ PATH ${GTKMM_INCLUDE_DIR}
|
||||
PATH_SUFFIXES ${GTKMM_LIBRARY_NAME}
|
||||
${GTKMM_LIBRARY_NAME}/include)
|
||||
|
||||
diff --git a/cmake/Findsigc++.cmake b/cmake/Findsigc++.cmake
|
||||
index e0f56c0..d81eb15 100644
|
||||
--- a/cmake/Findsigc++.cmake
|
||||
+++ b/cmake/Findsigc++.cmake
|
||||
@@ -19,7 +19,8 @@ find_path(SIGC++_INCLUDE_DIR
|
||||
find_path(SIGC++_CONFIG_INCLUDE_DIR
|
||||
NAMES sigc++config.h
|
||||
HINTS ${SIGC++_LIBRARY_HINTS}
|
||||
- PATH_SUFFIXES ${SIGC++_LIBRARY_NAME}/include)
|
||||
+ PATH_SUFFIXES ${SIGC++_LIBRARY_NAME}/include
|
||||
+ ${SIGC++_LIBRARY_NAME})
|
||||
|
||||
find_library(SIGC++_LIBRARY
|
||||
NAMES ${SIGC++_LIBRARY_FILE}
|
||||
--
|
||||
2.43.2
|
||||
|
||||
|
||||
From 3059f8468983a8db4bc5bd70768ab004926510a7 Mon Sep 17 00:00:00 2001
|
||||
From: zeldakatze <mail@zeldakatze.de>
|
||||
Date: Thu, 11 Apr 2024 00:16:45 +0200
|
||||
Subject: abaddon: add haiku platform code
|
||||
|
||||
|
||||
diff --git a/src/platform.cpp b/src/platform.cpp
|
||||
index 0a69721..47b6bbc 100644
|
||||
--- a/src/platform.cpp
|
||||
+++ b/src/platform.cpp
|
||||
@@ -215,6 +215,56 @@ std::string Platform::FindStateCacheFolder() {
|
||||
return home_path;
|
||||
}
|
||||
|
||||
+#elif __HAIKU__
|
||||
+#include <FindDirectory.h>
|
||||
+#include <fs_info.h>
|
||||
+
|
||||
+std::string Platform::FindResourceFolder() {
|
||||
+ static std::string found_path;
|
||||
+ static bool found = false;
|
||||
+ if (found) return found_path;
|
||||
+
|
||||
+ dev_t volume = dev_for_path("/boot");
|
||||
+ char buffer[B_PATH_NAME_LENGTH+B_FILE_NAME_LENGTH];
|
||||
+ find_directory(B_SYSTEM_DATA_DIRECTORY, volume, false, buffer, sizeof(buffer));
|
||||
+ strcat(buffer, "/abaddon/");
|
||||
+ found_path = std::string(buffer);
|
||||
+ return found_path;
|
||||
+}
|
||||
+
|
||||
+std::string Platform::FindConfigFile() {
|
||||
+ const auto cfg = std::getenv("ABADDON_CONFIG");
|
||||
+ if (cfg != nullptr) return cfg;
|
||||
+
|
||||
+ static std::string found_path;
|
||||
+ static bool found = false;
|
||||
+ if (found) return found_path;
|
||||
+
|
||||
+ dev_t volume = dev_for_path("/boot");
|
||||
+ char buffer[B_PATH_NAME_LENGTH+B_FILE_NAME_LENGTH];
|
||||
+ char cmdbuffer[B_PATH_NAME_LENGTH+B_FILE_NAME_LENGTH] = "mkdir -p ";
|
||||
+ find_directory(B_USER_SETTINGS_DIRECTORY, volume, false, buffer, sizeof(buffer));
|
||||
+ strcat(buffer, "/abaddon/");
|
||||
+ strcat(cmdbuffer, buffer);
|
||||
+ system(cmdbuffer);
|
||||
+ strcat(buffer, "abaddon.ini");
|
||||
+ found_path = std::string(buffer);
|
||||
+ return found_path;
|
||||
+}
|
||||
+
|
||||
+std::string Platform::FindStateCacheFolder() {
|
||||
+ static std::string found_path;
|
||||
+ static bool found = false;
|
||||
+ if (found) return found_path;
|
||||
+
|
||||
+ dev_t volume = dev_for_path("/boot");
|
||||
+ char buffer[B_PATH_NAME_LENGTH+B_FILE_NAME_LENGTH];
|
||||
+ find_directory(B_SYSTEM_CACHE_DIRECTORY, volume, false, buffer, sizeof(buffer));
|
||||
+ strcat(buffer, "/abaddon/");
|
||||
+ found_path = std::string(buffer);
|
||||
+ return found_path;
|
||||
+}
|
||||
+
|
||||
|
||||
#else
|
||||
std::string Platform::FindResourceFolder() {
|
||||
--
|
||||
2.43.2
|
||||
|
||||
Reference in New Issue
Block a user