mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-05-04 20:06:43 +02:00
testing/snowstorm: new aport; work-in-progress arch=none
This commit is contained in:
parent
6e49e8ddee
commit
c1936150c0
72
testing/snowstorm/APKBUILD
Normal file
72
testing/snowstorm/APKBUILD
Normal file
@ -0,0 +1,72 @@
|
||||
# Contributor: William Pitcock <nenolod@dereferenced.org>
|
||||
# Maintainer:
|
||||
pkgname=snowstorm
|
||||
pkgver=2.5.2
|
||||
pkgrel=0
|
||||
pkgdesc="snowstorm viewer for secondlife (and compatible servers)"
|
||||
url="http://wiki.secondlife.com/wiki/Project_Snowstorm"
|
||||
arch=""
|
||||
license="GPL"
|
||||
depends=
|
||||
depends_dev="mesa-dev sdl-dev openal-soft-dev apr-dev
|
||||
apr-util-dev libvorbis-dev
|
||||
libogg-dev freealut-dev db-dev boost-dev c-ares-dev
|
||||
xmlrpc-epi-dev libpng-dev tut-dev openjpeg-dev gtk+-dev
|
||||
qt-dev dbus-glib-dev gstreamer-dev gst-plugins-base-dev
|
||||
jsoncpp-dev boost-coroutine pth-dev"
|
||||
makedepends="$depends_dev cmake"
|
||||
install=""
|
||||
subpackages=""
|
||||
source="http://67.202.104.180/~nenolod/secondlife-${pkgver}-sourcebundle.tar.gz
|
||||
indra-no-breakpad.patch"
|
||||
|
||||
_builddir="${srcdir}/build"
|
||||
_srcdir="${srcdir}/viewer-release/indra"
|
||||
prepare() {
|
||||
local i
|
||||
mkdir "$_builddir"
|
||||
|
||||
cd "$_srcdir/.."
|
||||
|
||||
msg "Copying indra to indra.orig for easy patching"
|
||||
cp -R indra indra.orig
|
||||
|
||||
cd "$_srcdir"
|
||||
|
||||
for i in $source; do
|
||||
case $i in
|
||||
*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
build() {
|
||||
msg "Preparing llqtwebkit"
|
||||
cd "$_builddir/../llqtwebkit"
|
||||
|
||||
qmake CONFIG-=debug
|
||||
make
|
||||
|
||||
msg "Building indra"
|
||||
cd "$_builddir"
|
||||
cmake -DCMAKE_INSTALL_PREFIX=/usr -DPACKAGE:BOOL=FALSE \
|
||||
-DLLQTWEBKIT_INCLUDE_DIR:STRING=${srcdir}/llqtwebkit \
|
||||
-DLLQTWEBKIT_LIBRARY:STRING=${srcdir}/llqtwebkit \
|
||||
-DCMAKE_BUILD_TYPE:STRING=RELWITHDEBINFO \
|
||||
-DOPENAL:BOOL=TRUE \
|
||||
-DFMOD:BOOL=FALSE \
|
||||
-DUNATTENDED:BOOL=TRUE \
|
||||
-DSTANDALONE:BOOL=TRUE \
|
||||
-DLL_TESTS:BOOL=FALSE \
|
||||
-DNDOF:BOOL=FALSE \
|
||||
-DVIEWER:BOOL=TRUE "$_srcdir" || return 1
|
||||
make || return 1
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$_builddir"
|
||||
make DESTDIR="$pkgdir" install || return 1
|
||||
}
|
||||
|
||||
md5sums="e16f67d04813953e5eadc1beafc435dd secondlife-2.5.2-sourcebundle.tar.gz
|
||||
c75027c0a6f7c52e0ae2b8008ca99f9e indra-no-breakpad.patch"
|
||||
179
testing/snowstorm/indra-no-breakpad.patch
Normal file
179
testing/snowstorm/indra-no-breakpad.patch
Normal file
@ -0,0 +1,179 @@
|
||||
--- indra.orig/cmake/GoogleBreakpad.cmake
|
||||
+++ indra/cmake/GoogleBreakpad.cmake
|
||||
@@ -2,7 +2,7 @@
|
||||
include(Prebuilt)
|
||||
|
||||
if (STANDALONE)
|
||||
- set(BREAKPAD_EXCEPTION_HANDLER_FIND_REQUIRED ON)
|
||||
+ set(BREAKPAD_EXCEPTION_HANDLER_FIND_REQUIRED OFF)
|
||||
include(FindGoogleBreakpad)
|
||||
else (STANDALONE)
|
||||
use_prebuilt_binary(google_breakpad)
|
||||
--- indra.orig/llcommon/llapp.cpp
|
||||
+++ indra/llcommon/llapp.cpp
|
||||
@@ -46,7 +46,9 @@
|
||||
#include "llstring.h"
|
||||
#include "lleventtimer.h"
|
||||
|
||||
+#if 0
|
||||
#include "google_breakpad/exception_handler.h"
|
||||
+#endif
|
||||
|
||||
//
|
||||
// Signal handling
|
||||
@@ -143,8 +145,6 @@
|
||||
// Set the application to this instance.
|
||||
sApplication = this;
|
||||
|
||||
- mExceptionHandler = 0;
|
||||
-
|
||||
// initialize the buffer to write the minidump filename to
|
||||
// (this is used to avoid allocating memory in the crash handler)
|
||||
memset(minidump_path, 0, MAX_MINDUMP_PATH_LENGTH);
|
||||
@@ -177,8 +177,6 @@
|
||||
mThreadErrorp = NULL;
|
||||
}
|
||||
|
||||
- if(mExceptionHandler != 0) delete mExceptionHandler;
|
||||
-
|
||||
LLCommon::cleanupClass();
|
||||
}
|
||||
|
||||
@@ -284,75 +282,7 @@
|
||||
|
||||
void LLApp::setupErrorHandling()
|
||||
{
|
||||
- // Error handling is done by starting up an error handling thread, which just sleeps and
|
||||
- // occasionally checks to see if the app is in an error state, and sees if it needs to be run.
|
||||
-
|
||||
-#if LL_WINDOWS
|
||||
- // This sets a callback to handle w32 signals to the console window.
|
||||
- // The viewer shouldn't be affected, sicne its a windowed app.
|
||||
- SetConsoleCtrlHandler( (PHANDLER_ROUTINE) ConsoleCtrlHandler, TRUE);
|
||||
-
|
||||
- // Install the Google Breakpad crash handler for Windows
|
||||
- if(mExceptionHandler == 0)
|
||||
- {
|
||||
- llwarns << "adding breakpad exception handler" << llendl;
|
||||
- mExceptionHandler = new google_breakpad::ExceptionHandler(
|
||||
- L"C:\\Temp\\", 0, windows_post_minidump_callback, 0, google_breakpad::ExceptionHandler::HANDLER_ALL);
|
||||
- }
|
||||
-
|
||||
-#else
|
||||
- //
|
||||
- // Start up signal handling.
|
||||
- //
|
||||
- // There are two different classes of signals. Synchronous signals are delivered to a specific
|
||||
- // thread, asynchronous signals can be delivered to any thread (in theory)
|
||||
- //
|
||||
- setup_signals();
|
||||
-
|
||||
- // Add google breakpad exception handler configured for Darwin/Linux.
|
||||
- bool installHandler = true;
|
||||
-#ifdef LL_DARWIN
|
||||
- // For the special case of Darwin, we do not want to install the handler if
|
||||
- // the process is being debugged as the app will exit with value ABRT (6) if
|
||||
- // we do. Unfortunately, the code below which performs that test relies on
|
||||
- // the structure kinfo_proc which has been tagged by apple as an unstable
|
||||
- // API. We disable this test for shipping versions to avoid conflicts with
|
||||
- // future releases of Darwin. This test is really only needed for developers
|
||||
- // starting the app from a debugger anyway.
|
||||
- #ifndef LL_RELEASE_FOR_DOWNLOAD
|
||||
- int mib[4];
|
||||
- mib[0] = CTL_KERN;
|
||||
- mib[1] = KERN_PROC;
|
||||
- mib[2] = KERN_PROC_PID;
|
||||
- mib[3] = getpid();
|
||||
-
|
||||
- struct kinfo_proc info;
|
||||
- memset(&info, 0, sizeof(info));
|
||||
-
|
||||
- size_t size = sizeof(info);
|
||||
- int result = sysctl(mib, sizeof(mib) / sizeof(*mib), &info, &size, NULL, 0);
|
||||
- if((result == 0) || (errno == ENOMEM))
|
||||
- {
|
||||
- // P_TRACED flag is set, so this process is being debugged; do not install
|
||||
- // the handler
|
||||
- if(info.kp_proc.p_flag & P_TRACED) installHandler = false;
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- // Failed to discover if the process is being debugged; default to
|
||||
- // installing the handler.
|
||||
- installHandler = true;
|
||||
- }
|
||||
- #endif
|
||||
-#endif
|
||||
- if(installHandler && (mExceptionHandler == 0))
|
||||
- {
|
||||
- std::string dumpPath = "/tmp/";
|
||||
- mExceptionHandler = new google_breakpad::ExceptionHandler(dumpPath, 0, &unix_post_minidump_callback, 0, true);
|
||||
- }
|
||||
-#endif
|
||||
-
|
||||
- startErrorThread();
|
||||
+ sDisableCrashlogger = TRUE;
|
||||
}
|
||||
|
||||
void LLApp::startErrorThread()
|
||||
@@ -403,20 +333,10 @@
|
||||
|
||||
void LLApp::setMiniDumpDir(const std::string &path)
|
||||
{
|
||||
- if(mExceptionHandler == 0) return;
|
||||
-#ifdef LL_WINDOWS
|
||||
- wchar_t buffer[MAX_MINDUMP_PATH_LENGTH];
|
||||
- mbstowcs(buffer, path.c_str(), MAX_MINDUMP_PATH_LENGTH);
|
||||
- mExceptionHandler->set_dump_path(std::wstring(buffer));
|
||||
-#else
|
||||
- mExceptionHandler->set_dump_path(path);
|
||||
-#endif
|
||||
}
|
||||
|
||||
void LLApp::writeMiniDump()
|
||||
{
|
||||
- if(mExceptionHandler == 0) return;
|
||||
- mExceptionHandler->WriteMinidump();
|
||||
}
|
||||
|
||||
// static
|
||||
@@ -473,13 +393,6 @@
|
||||
|
||||
void LLApp::disableCrashlogger()
|
||||
{
|
||||
- // Disable Breakpad exception handler.
|
||||
- if (mExceptionHandler != 0)
|
||||
- {
|
||||
- delete mExceptionHandler;
|
||||
- mExceptionHandler = 0;
|
||||
- }
|
||||
-
|
||||
sDisableCrashlogger = TRUE;
|
||||
}
|
||||
|
||||
--- indra.orig/llcommon/llapp.h
|
||||
+++ indra/llcommon/llapp.h
|
||||
@@ -60,9 +60,11 @@
|
||||
};
|
||||
#endif
|
||||
|
||||
+#if 0
|
||||
namespace google_breakpad {
|
||||
class ExceptionHandler; // See exception_handler.h
|
||||
}
|
||||
+#endif
|
||||
|
||||
class LL_COMMON_API LLApp : public LLOptionInterface
|
||||
{
|
||||
@@ -330,9 +332,9 @@
|
||||
private:
|
||||
// the static application instance if it was created.
|
||||
static LLApp* sApplication;
|
||||
-
|
||||
+#if 0
|
||||
google_breakpad::ExceptionHandler * mExceptionHandler;
|
||||
-
|
||||
+#endif
|
||||
|
||||
#if !LL_WINDOWS
|
||||
friend void default_unix_signal_handler(int signum, siginfo_t *info, void *);
|
||||
Loading…
x
Reference in New Issue
Block a user