MyGUI: add recipe for 3.2.3~git version

This commit is contained in:
Gerasim Troeglazov
2018-10-04 23:09:28 +10:00
parent 951f08c95e
commit 2d945b5d31
6 changed files with 387 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
resource app_flags B_SINGLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "MyGUI: FontEditor",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource vector_icon array {
$"6E63696602036976E90501010613EE8EB3BB3C28273A28B9ACB616C10BB64956"
$"25552DC859B68D543454374532C3F1BA75BF5EB9DC3937404040BE5F40444048"
$"4844C308C02DC2D5C291464C4048444ABE93C2593646354EBB76C2E3BB44C7DD"
$"395E272A4CB6C8C755B723C26A2A3DB6E4C100B72BB987020A010100123FB17B"
$"0000000000003F9E7942EB744030C101178810040A000100023FB17B00000000"
$"00003F9E7942EB744030C1"
};

View File

@@ -0,0 +1,21 @@
resource app_flags B_SINGLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "MyGUI: ImageEditor",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource vector_icon array {
$"6E63696602036976E90501010606BE0C29273A2736273A27384038BD4F38473B"
$"5D292B402B482BBDB7020A010100123FB17B0000000000003FC3D4477ADDBC7F"
$"6401178810040A000100023FB17B0000000000003FC3D4477ADDBC7F64"
};

View File

@@ -0,0 +1,23 @@
resource app_flags B_SINGLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "MyGUI: LayoutEditor",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource vector_icon array {
$"6E63696602036976E9050101060CEEEEF228273A28B9ACB616C10BB649562555"
$"2DC863B68F543353384534C3F1BB41BF5EBAA838323644BBDCBEE7BBAAC3E139"
$"5E272A4CB6C8C755B723C26A2A3DB6E4C100B72BB987020A010100123FB17B00"
$"0000000000BF9C2342EB744BE5F801178810040A000100023FB17B0000000000"
$"00BF9C2342EB744BE5F8"
};

View File

@@ -0,0 +1,22 @@
resource app_flags B_SINGLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "MyGUI: SkinEditor",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource vector_icon array {
$"6E63696602036976E9050101060AFAEB0F4E2D4A343333BBBEB547313C50544E"
$"39C681CCE2345EBE5CCCEF295A24522A4B4351BF3BCAA248452735B600BE8C26"
$"263C24BBBEB45F4725020A010100123FB17B0000000000003F9E7945F5BA4218"
$"6001178810040A000100023FB17B0000000000003F9E7945F5BA421860"
};

View File

@@ -0,0 +1,181 @@
SUMMARY="A library for creating GUIs for games"
DESCRIPTION="MyGUI is a library for creating Graphical User Interfaces (GUIs) for \
games and 3D applications. The main goals of mygui are: speed, flexibility and easy \
of use. Speed We speed up our system by using our own batching subsystem which \
combines geometry. It is also possible for the more experienced developers to \
write their own render system or new subsystems Flexibility The library supports \
plugins that allows you to create dynamically loaded custom controls or subsystems. \
Most subsystems are expandable with plugins without the need to touch the core code. \
All resources and settings are described in XML files. It is possible to load \
resources like fonts, cursors, images, skins, etc. Forms (layouts) via dynamically \
by using XML files. Simplicity The user interface is easy to use and uses delegates \
(Signals and slots) for easy to use event handling."
HOMEPAGE="http://mygui.info/"
COPYRIGHT="Albert Semenov
George Evmenov"
LICENSE="MIT"
REVISION="1"
srcGitRev="a021cc7e70b143c46688fcf29a0379571203beb4"
SOURCE_URI="https://github.com/MyGUI/mygui/archive/$srcGitRev.tar.gz"
CHECKSUM_SHA256="4dfc6b696c834c0da1cf6d1f84b3e36c96e2873c69312ba4a2ada50e9cc6caa0"
SOURCE_FILENAME="MyGUI-$srcGitRev.tar.gz"
SOURCE_DIR="mygui-$srcGitRev"
PATCHES="mygui-$portVersion.patchset"
ADDITIONAL_FILES="
skin_editor.rdef.in
layout_editor.rdef.in
image_editor.rdef.in
font_editor.rdef.in
"
ARCHITECTURES="x86_gcc2 x86_64"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
mygui$secondaryArchSuffix = $portVersion compat >= 3
lib:libMyGUIEngine$secondaryArchSuffix
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libglew$secondaryArchSuffix
lib:libGLU$secondaryArchSuffix
lib:libSDL2_2.0$secondaryArchSuffix
lib:libSDL2_image_2.0$secondaryArchSuffix
"
PROVIDES_devel="
mygui${secondaryArchSuffix}_devel = $portVersion
devel:libmygui.openglplatform$secondaryArchSuffix = $portVersion
devel:libmyguiengine$secondaryArchSuffix = $portVersion
"
REQUIRES_devel="
mygui$secondaryArchSuffix == $portVersion base
haiku$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libglew$secondaryArchSuffix
lib:libGLU$secondaryArchSuffix
lib:libSDL2_2.0$secondaryArchSuffix
lib:libSDL2_image_2.0$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libfreetype$secondaryArchSuffix
devel:libGL$secondaryArchSuffix
devel:libglew$secondaryArchSuffix
devel:libGLU$secondaryArchSuffix
devel:libSDL2_2.0$secondaryArchSuffix
devel:libSDL2_image_2.0$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
mkdir -p build && cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$prefix \
-DMYGUI_RENDERSYSTEM=4 \
-DMYGUI_SAMPLES_INPUT=4 \
-DMYGUI_BUILD_TOOLS=TRUE \
-DMYGUI_BUILD_DEMOS=FALSE \
-DMYGUI_DISABLE_PLUGINS=FALSE \
-DMYGUI_INSTALL_TOOLS=TRUE \
-DMYGUI_INSTALL_MEDIA=TRUE \
-DMYGUI_USE_SYSTEM_GLEW=TRUE
make $jobArgs
}
INSTALL()
{
cd build
make install
mkdir -p $includeDir
mv $prefix/include/MYGUI $includeDir
rm -rf $prefix/{include,lib}
mkdir -p $libDir $developLibDir
cp lib/libMyGUI.OpenGLPlatform.a $developLibDir
cp lib/libMyGUIEngine.* $libDir
cp -r pkgconfig $libDir
mkdir -p $appsDir/MyGUI/lib
cp lib/libEditorFramework.so $appsDir/MyGUI/lib
cp bin/Plugin_StrangeButton.so $appsDir/MyGUI/lib
cp bin/*Editor $appsDir/MyGUI
cp bin/resources.xml $appsDir/MyGUI
rm -rf $prefix/bin
fixPkgconfig
sed -i "s|libdir=.*|libdir=$developLibDir|" $developLibDir/pkgconfig/MYGUI.pc
sed -i "s|includedir=.*|includedir=$includeDir|" $developLibDir/pkgconfig/MYGUI.pc
mkdir -p ${dataDir}/deskbar/menu/Applications/MyGUI
local APP_SIGNATURE="application/x-vnd.mygui-font-editor"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3 | cut -d~ -f1`"
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/font_editor.rdef.in > $sourceDir/build/font_editor.rdef
addResourcesToBinaries $sourceDir/build/font_editor.rdef $appsDir/MyGUI/FontEditor
addAppDeskbarSymlink $appsDir/MyGUI/FontEditor "MyGUI/Font Editor"
local APP_SIGNATURE="application/x-vnd.mygui-image-editor"
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/image_editor.rdef.in > $sourceDir/build/image_editor.rdef
addResourcesToBinaries $sourceDir/build/image_editor.rdef $appsDir/MyGUI/ImageEditor
addAppDeskbarSymlink $appsDir/MyGUI/ImageEditor "MyGUI/Image Editor"
local APP_SIGNATURE="application/x-vnd.mygui-layout-editor"
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/layout_editor.rdef.in > $sourceDir/build/layout_editor.rdef
addResourcesToBinaries $sourceDir/build/layout_editor.rdef $appsDir/MyGUI/LayoutEditor
addAppDeskbarSymlink $appsDir/MyGUI/LayoutEditor "MyGUI/Layout Editor"
local APP_SIGNATURE="application/x-vnd.mygui-skin-editor"
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/skin_editor.rdef.in > $sourceDir/build/skin_editor.rdef
addResourcesToBinaries $sourceDir/build/skin_editor.rdef $appsDir/MyGUI/SkinEditor
addAppDeskbarSymlink $appsDir/MyGUI/SkinEditor "MyGUI/Skin Editor"
prepareInstalledDevelLib libMyGUIEngine
packageEntries devel \
$appsDir \
$dataDir \
$developDir
}

View File

@@ -0,0 +1,116 @@
From 40640b29115eac5339721a78654e245278028339 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 4 Oct 2018 19:55:34 +1000
Subject: Fix data dir for Haiku
diff --git a/Media/CMakeLists.txt b/Media/CMakeLists.txt
index c644ed1..41172f3 100644
--- a/Media/CMakeLists.txt
+++ b/Media/CMakeLists.txt
@@ -5,6 +5,8 @@
# Set media target directory
if (WIN32)
set(MYGUI_MEDIA_PATH "Media")
+elseif (HAIKU)
+ set(MYGUI_MEDIA_PATH "data/MYGUI/Media")
elseif (UNIX)
set(MYGUI_MEDIA_PATH "share/MYGUI/Media")
elseif (APPLE)
--
2.19.0
From aa46ff1e95801bcfee50e052c82220ca8866ae3d Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 4 Oct 2018 20:54:38 +1000
Subject: Fix resource path
diff --git a/CMake/InstallResources.cmake b/CMake/InstallResources.cmake
index 47f28f1..c771423 100644
--- a/CMake/InstallResources.cmake
+++ b/CMake/InstallResources.cmake
@@ -45,6 +45,8 @@ endif ()
if (MYGUI_INSTALL_SAMPLES OR MYGUI_INSTALL_TOOLS)
if (WIN32)
set(MYGUI_MEDIA_DIR "../../Media")
+ elseif (HAIKU)
+ set(MYGUI_MEDIA_DIR "/system/data/MYGUI/Media")
elseif (UNIX)
set(MYGUI_MEDIA_DIR "../share/MYGUI/Media")
else ()
--
2.19.0
From 9f39d1b46430ac7d0750779c9f5d8f83d611b56e Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 4 Oct 2018 20:54:56 +1000
Subject: Fix crash
diff --git a/Common/FileSystemInfo/FileSystemInfo.h b/Common/FileSystemInfo/FileSystemInfo.h
index f1324cb..be25f24 100644
--- a/Common/FileSystemInfo/FileSystemInfo.h
+++ b/Common/FileSystemInfo/FileSystemInfo.h
@@ -39,9 +39,14 @@ namespace common
{
std::wstring result;
result.resize(_input.size());
+#ifndef __HAIKU__
static std::locale sLocale("");
for (unsigned int i=0; i<_input.size(); ++i)
result[i] = std::tolower(_input[i], sLocale);
+#else
+ for (unsigned int i=0; i<_input.size(); ++i)
+ result[i] = std::tolower(_input[i]);
+#endif
return result;
}
--
2.19.0
From 8627190f4cbc8f0c1bb27b193fe0110c92e6fbb5 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 4 Oct 2018 22:00:45 +1000
Subject: Set app dir
diff --git a/Common/Base/Main.h b/Common/Base/Main.h
index 426ba4d..6a20e86 100644
--- a/Common/Base/Main.h
+++ b/Common/Base/Main.h
@@ -15,6 +15,9 @@
#include <windows.h>
#include <direct.h>
#endif
+#ifdef __HAIKU__
+#include <unistd.h>
+#endif
#if MYGUI_PLATFORM == MYGUI_PLATFORM_WIN32
# ifdef MYGUI_CHECK_MEMORY_LEAKS
@@ -22,6 +25,17 @@
# else
# define MYGUI_APP(cls) INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT argc) { return startApp<cls>(); }
# endif
+#elif defined(__HAIKU__)
+# define MYGUI_APP(cls) \
+ int main(int argc, char **argv) \
+ { \
+ char *ptr; \
+ if(ptr = strrchr(argv[0], '/')) { \
+ *ptr = '\0'; \
+ chdir(argv[0]); \
+ } \
+ return startApp<cls>(); \
+ }
#else
# define MYGUI_APP(cls) int main(int argc, char **argv) { return startApp<cls>(); }
#endif
--
2.19.0