summaryrefslogtreecommitdiff
path: root/multimedia/lightspark
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia/lightspark')
-rw-r--r--multimedia/lightspark/lightspark.SlackBuild16
-rw-r--r--multimedia/lightspark/lightspark.info6
-rw-r--r--multimedia/lightspark/llvm.patch366
3 files changed, 8 insertions, 380 deletions
diff --git a/multimedia/lightspark/lightspark.SlackBuild b/multimedia/lightspark/lightspark.SlackBuild
index 209f60e0d2..1c63d41310 100644
--- a/multimedia/lightspark/lightspark.SlackBuild
+++ b/multimedia/lightspark/lightspark.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for lightspark
-# Copyright 2016-2018 Hunter Sezen California, USA
+# Copyright 2016-2019 Hunter Sezen California, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,8 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=lightspark
-VERSION=${VERSION:-0.8.1}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-0.8.2}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -69,11 +69,6 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-# make llvm dependency optional (disabled by default)
-# https://github.com/lightspark/lightspark/issues/336
-# https://github.com/lightspark/lightspark/commit/aa970bcfa33cf9e88647e8268c4a18f7670c8d75
-patch -p1 < $CWD/llvm.patch
-
mkdir -p build
cd build
cmake \
@@ -83,7 +78,6 @@ cd build
-DMANUAL_DIRECTORY=man \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DGNASH_EXE_PATH=/usr/bin/gtk-gnash \
- -Wno-dev \
-DCMAKE_BUILD_TYPE=Release ..
make
make install DESTDIR=$PKG
@@ -91,8 +85,8 @@ cd ..
mv $PKG/etc/xdg/lightspark.conf $PKG/etc/xdg/lightspark.conf.new
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" |
+ grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
diff --git a/multimedia/lightspark/lightspark.info b/multimedia/lightspark/lightspark.info
index 527f59bcf8..97dc5b2655 100644
--- a/multimedia/lightspark/lightspark.info
+++ b/multimedia/lightspark/lightspark.info
@@ -1,8 +1,8 @@
PRGNAM="lightspark"
-VERSION="0.8.1"
+VERSION="0.8.2"
HOMEPAGE="https://lightspark.github.io/"
-DOWNLOAD="https://github.com/lightspark/lightspark/archive/0.8.1/lightspark-0.8.1.tar.gz"
-MD5SUM="231aaafe3fb3bdeaa30bfc1bc0c71f82"
+DOWNLOAD="https://github.com/lightspark/lightspark/archive/0.8.2/lightspark-0.8.2.tar.gz"
+MD5SUM="297f20078ca7f14b85ece994910a937b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="ffmpeg rtmpdump SDL2_mixer"
diff --git a/multimedia/lightspark/llvm.patch b/multimedia/lightspark/llvm.patch
deleted file mode 100644
index fd210e598c..0000000000
--- a/multimedia/lightspark/llvm.patch
+++ /dev/null
@@ -1,366 +0,0 @@
-From aa970bcfa33cf9e88647e8268c4a18f7670c8d75 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ludger=20Kr=C3=A4mer?= <dbluelle@onlinehome.de>
-Date: Mon, 17 Sep 2018 18:57:48 +0200
-Subject: [PATCH] make llvm dependency optional (disabled by default)
-
----
- CMakeLists.txt | 82 ++++++++++++++++-------------
- README | 5 +-
- src/main.cpp | 5 +-
- src/scripting/abc.cpp | 6 +++
- src/scripting/abc.h | 21 ++++++--
- src/scripting/abc_codesynt.cpp | 3 ++
- src/scripting/toplevel/toplevel.cpp | 2 +
- 7 files changed, 82 insertions(+), 42 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b76e228fe..6fc6d174e 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -194,6 +194,7 @@ SET(ENABLE_CURL TRUE CACHE BOOL "Enable CURL? (Required for Downloader functiona
- SET(ENABLE_GLES2 FALSE CACHE BOOL "Build with OpenGLES 2.0 support instead of OpenGL")
- SET(ENABLE_LIBAVCODEC TRUE CACHE BOOL "Enable libavcodec and dependent functionality?")
- SET(ENABLE_RTMP TRUE CACHE BOOL "Enable librtmp and dependent functionality?")
-+SET(ENABLE_LLVM FALSE CACHE BOOL "Enable support for llvm based jit execution (currently broken)")
- SET(ENABLE_PROFILING FALSE CACHE BOOL "Enable profiling support? (Causes performance issues)")
- SET(ENABLE_MEMORY_USAGE_PROFILING FALSE CACHE BOOL "Enable profiling of memory usage? (Causes performance issues)")
- SET(PLUGIN_DIRECTORY "${LIBDIR}/mozilla/plugins" CACHE STRING "Directory to install Firefox plugin to")
-@@ -217,40 +218,45 @@ SET(CMAKE_INSTALL_RPATH "${PRIVATELIBDIR}")
- # Libraries we need
- INCLUDE(FindPkgConfig REQUIRED)
- INCLUDE(FindGettext REQUIRED)
--INCLUDE(FindLLVM REQUIRED)
--IF(${LLVM_STRING_VERSION} VERSION_LESS 2.8)
-- MESSAGE(FATAL_ERROR "LLVM >=2.8 is required!")
--ENDIF(${LLVM_STRING_VERSION} VERSION_LESS 2.8)
--IF(${LLVM_STRING_VERSION} VERSION_EQUAL 2.9)
-- MESSAGE(FATAL_ERROR "LLVM !=2.9 is required!")
--ENDIF(${LLVM_STRING_VERSION} VERSION_EQUAL 2.9)
--IF(${LLVM_STRING_VERSION} VERSION_EQUAL 2.8)
-- ADD_DEFINITIONS(-DLLVM_28)
--ENDIF(${LLVM_STRING_VERSION} VERSION_EQUAL 2.8)
--IF(${LLVM_STRING_VERSION} VERSION_EQUAL 3.0)
-- ADD_DEFINITIONS(-DLLVM_30)
--ENDIF(${LLVM_STRING_VERSION} VERSION_EQUAL 3.0)
--IF(${LLVM_STRING_VERSION} VERSION_GREATER 3.0)
-- ADD_DEFINITIONS(-DLLVM_31)
--ENDIF(${LLVM_STRING_VERSION} VERSION_GREATER 3.0)
--IF(${LLVM_STRING_VERSION} VERSION_GREATER 3.3)
-- ADD_DEFINITIONS(-DLLVM_34)
--ENDIF(${LLVM_STRING_VERSION} VERSION_GREATER 3.3)
--IF(${LLVM_STRING_VERSION} VERSION_GREATER 3.4)
-- ADD_DEFINITIONS(-DLLVM_35)
--ENDIF(${LLVM_STRING_VERSION} VERSION_GREATER 3.4)
--IF(NOT (${LLVM_STRING_VERSION} VERSION_LESS 3.6))
-- ADD_DEFINITIONS(-DLLVM_36)
--ENDIF(NOT (${LLVM_STRING_VERSION} VERSION_LESS 3.6))
--IF(NOT ${LLVM_STRING_VERSION} VERSION_LESS 3.7)
-- ADD_DEFINITIONS(-DLLVM_37)
--ENDIF(NOT ${LLVM_STRING_VERSION} VERSION_LESS 3.7)
--IF(NOT ${LLVM_STRING_VERSION} VERSION_LESS 3.8)
-- ADD_DEFINITIONS(-DLLVM_38)
--ENDIF(NOT ${LLVM_STRING_VERSION} VERSION_LESS 3.8)
--IF(NOT ${LLVM_STRING_VERSION} VERSION_LESS 5.0)
-- ADD_DEFINITIONS(-DLLVM_50)
--ENDIF(NOT ${LLVM_STRING_VERSION} VERSION_LESS 5.0)
-+
-+IF (ENABLE_LLVM)
-+ ADD_DEFINITIONS(-DLLVM_ENABLED)
-+ INCLUDE(FindLLVM REQUIRED)
-+ IF(${LLVM_STRING_VERSION} VERSION_LESS 2.8)
-+ MESSAGE(FATAL_ERROR "LLVM >=2.8 is required!")
-+ ENDIF(${LLVM_STRING_VERSION} VERSION_LESS 2.8)
-+ IF(${LLVM_STRING_VERSION} VERSION_EQUAL 2.9)
-+ MESSAGE(FATAL_ERROR "LLVM !=2.9 is required!")
-+ ENDIF(${LLVM_STRING_VERSION} VERSION_EQUAL 2.9)
-+ IF(${LLVM_STRING_VERSION} VERSION_EQUAL 2.8)
-+ ADD_DEFINITIONS(-DLLVM_28)
-+ ENDIF(${LLVM_STRING_VERSION} VERSION_EQUAL 2.8)
-+ IF(${LLVM_STRING_VERSION} VERSION_EQUAL 3.0)
-+ ADD_DEFINITIONS(-DLLVM_30)
-+ ENDIF(${LLVM_STRING_VERSION} VERSION_EQUAL 3.0)
-+ IF(${LLVM_STRING_VERSION} VERSION_GREATER 3.0)
-+ ADD_DEFINITIONS(-DLLVM_31)
-+ ENDIF(${LLVM_STRING_VERSION} VERSION_GREATER 3.0)
-+ IF(${LLVM_STRING_VERSION} VERSION_GREATER 3.3)
-+ ADD_DEFINITIONS(-DLLVM_34)
-+ ENDIF(${LLVM_STRING_VERSION} VERSION_GREATER 3.3)
-+ IF(${LLVM_STRING_VERSION} VERSION_GREATER 3.4)
-+ ADD_DEFINITIONS(-DLLVM_35)
-+ ENDIF(${LLVM_STRING_VERSION} VERSION_GREATER 3.4)
-+ IF(NOT (${LLVM_STRING_VERSION} VERSION_LESS 3.6))
-+ ADD_DEFINITIONS(-DLLVM_36)
-+ ENDIF(NOT (${LLVM_STRING_VERSION} VERSION_LESS 3.6))
-+ IF(NOT ${LLVM_STRING_VERSION} VERSION_LESS 3.7)
-+ ADD_DEFINITIONS(-DLLVM_37)
-+ ENDIF(NOT ${LLVM_STRING_VERSION} VERSION_LESS 3.7)
-+ IF(NOT ${LLVM_STRING_VERSION} VERSION_LESS 3.8)
-+ ADD_DEFINITIONS(-DLLVM_38)
-+ ENDIF(NOT ${LLVM_STRING_VERSION} VERSION_LESS 3.8)
-+ IF(NOT ${LLVM_STRING_VERSION} VERSION_LESS 5.0)
-+ ADD_DEFINITIONS(-DLLVM_50)
-+ ENDIF(NOT ${LLVM_STRING_VERSION} VERSION_LESS 5.0)
-+ENDIF(ENABLE_LLVM)
-+
- INCLUDE(FindZLIB REQUIRED)
- INCLUDE(FindFreetype REQUIRED)
- IF(NOT(ENABLE_GLES2))
-@@ -405,7 +411,9 @@ IF(GTHREAD_FOUND AND (GTHREAD_VERSION VERSION_LESS 2.32.0))
- ADD_DEFINITIONS(-DHAVE_G_THREAD_INIT)
- ENDIF(GTHREAD_FOUND AND (GTHREAD_VERSION VERSION_LESS 2.32.0))
-
--INCLUDE_DIRECTORIES(${LLVM_INCLUDE_DIR})
-+IF (ENABLE_LLVM)
-+ INCLUDE_DIRECTORIES(${LLVM_INCLUDE_DIR})
-+ENDIF(ENABLE_LLVM)
- INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
- INCLUDE_DIRECTORIES(${FREETYPE_INCLUDE_DIRS})
- IF(ENABLE_GLES2)
-@@ -445,7 +453,9 @@ IF(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
- SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE "-s")
- ENDIF(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
-
--LINK_DIRECTORIES(${LLVM_LIB_DIR})
-+IF(ENABLE_LLVM)
-+ LINK_DIRECTORIES(${LLVM_LIB_DIR})
-+ENDIF(ENABLE_LLVM)
-
- IF(ENABLE_CURL)
- pkg_check_modules(CURL REQUIRED libcurl)
-diff --git a/README b/README
-index 231d54b7b..0d693e98d 100644
---- a/README
-+++ b/README
-@@ -10,10 +10,13 @@ INSTALLATION
- ============
-
- To compile this software you need to install development packages for
--llvm (version 2.8 or >= 3.0), opengl, curl, zlib, libavcodec, libavresample
-+opengl, curl, zlib, libavcodec, libavresample
- libglew, pcre, librtmp, cairo, libboost-filesystem,
- sdl2, sdl2_mixer, libjpeg, libavformat, pango, liblzma
-
-+If jit compilation using llvm is enabled(disabled by default),
-+you also need the development packages for llvm (version 2.8 or >= 3.0)
-+
- If compiling the PPAPI (Chromium) plugin is enabled (on by default), keep in mind that
- it will replace the adobe flash plugin, as only one flash plugin is allowed in chromium.
-
-diff --git a/src/main.cpp b/src/main.cpp
-index cb3c7573b..4de0e748e 100644
---- a/src/main.cpp
-+++ b/src/main.cpp
-@@ -342,7 +342,10 @@ int main(int argc, char* argv[])
- if(fileName==NULL)
- {
- LOG(LOG_ERROR, "Usage: " << argv[0] << " [--url|-u http://loader.url/file.swf]" <<
-- " [--disable-interpreter|-ni] [--enable-fast-interpreter|-fi] [--enable-jit|-j]" <<
-+ " [--disable-interpreter|-ni] [--enable-fast-interpreter|-fi]" <<
-+#ifdef LLVM_ENABLED
-+ " [--enable-jit|-j]" <<
-+#endif
- " [--log-level|-l 0-4] [--parameters-file|-p params-file] [--security-sandbox|-s sandbox]" <<
- " [--exit-on-error] [--HTTP-cookies cookie] [--air] [--avmplus] [--disable-rendering]" <<
- #ifdef PROFILING_SUPPORT
-diff --git a/src/scripting/abc.cpp b/src/scripting/abc.cpp
-index c99f89d6e..9e8d36fdc 100644
---- a/src/scripting/abc.cpp
-+++ b/src/scripting/abc.cpp
-@@ -23,6 +23,7 @@
-
- #include "compat.h"
-
-+#ifdef LLVM_ENABLED
- #include <llvm/ExecutionEngine/ExecutionEngine.h>
- #ifndef LLVM_36
- #include <llvm/ExecutionEngine/JIT.h>
-@@ -60,6 +61,7 @@
- #ifdef HAVE_TRANSFORMS_SCALAR_GVN_H
- # include <llvm/Transforms/Scalar/GVN.h>
- #endif
-+#endif
- #include "logger.h"
- #include "swftypes.h"
- #include <sstream>
-@@ -1940,6 +1942,7 @@ void ABCVm::Run(ABCVm* th)
- #endif
- if(th->m_sys->useJit)
- {
-+#ifdef LLVM_ENABLED
- #ifdef LLVM_31
- llvm::TargetOptions Opts;
- #ifndef LLVM_34
-@@ -2006,6 +2009,7 @@ void ABCVm::Run(ABCVm* th)
- th->FPM->add(llvm::createDeadStoreEliminationPass());
-
- th->registerFunctions();
-+#endif
- }
- th->registerClasses();
-
-@@ -2052,11 +2056,13 @@ void ABCVm::Run(ABCVm* th)
- snapshotCount++;
- #endif
- }
-+#ifdef LLVM_ENABLED
- if(th->m_sys->useJit)
- {
- th->ex->clearAllGlobalMappings();
- delete th->module;
- }
-+#endif
- #ifndef NDEBUG
- inStartupOrClose= true;
- #endif
-diff --git a/src/scripting/abc.h b/src/scripting/abc.h
-index 63bf51b05..467eccb5f 100644
---- a/src/scripting/abc.h
-+++ b/src/scripting/abc.h
-@@ -34,6 +34,7 @@
- #include "scripting/flash/system/flashsystem.h"
- #include "scripting/toplevel/toplevel.h"
-
-+#ifdef LLVM_ENABLED
- namespace llvm {
- class ExecutionEngine;
- #ifdef LLVM_36
-@@ -50,9 +51,12 @@ namespace legacy {
- class Value;
- class LLVMContext;
- }
-+#endif // LLVM_ENABLED
-
- namespace lightspark
- {
-+
-+#ifdef LLVM_ENABLED
- struct block_info;
- #ifdef LLVM_28
- typedef const llvm::Type* LLVMTYPE;
-@@ -60,8 +64,6 @@ typedef const llvm::Type* LLVMTYPE;
- typedef llvm::Type* LLVMTYPE;
- #endif
-
--bool isVmThread();
--
- std::ostream& operator<<(std::ostream& o, const block_info& b);
-
- typedef std::pair<llvm::Value*, STACK_TYPE> stack_entry;
-@@ -69,6 +71,9 @@ inline stack_entry make_stack_entry(llvm::Value* v, STACK_TYPE t)
- {
- return std::make_pair(v, t);
- }
-+#endif
-+
-+bool isVmThread();
-
- class method_info
- {
-@@ -78,6 +83,7 @@ friend class SyntheticFunction;
- private:
- struct method_info_simple info;
-
-+#ifdef LLVM_ENABLED
- typedef std::vector<std::pair<int, STACK_TYPE> > static_stack_types_vector;
- //Helper function to sync only part of the static stack to the memory
- void consumeStackForRTMultiname(static_stack_types_vector& stack, int multinameIndex) const;
-@@ -92,7 +98,7 @@ friend class SyntheticFunction;
- struct BuilderWrapper;
- //Does analysis on function code to find optimization chances
- void doAnalysis(std::map<unsigned int,block_info>& blocks, BuilderWrapper& builderWrapper);
--
-+#endif
- public:
- #ifdef PROFILING_SUPPORT
- std::map<method_info*,uint64_t> profCalls;
-@@ -104,7 +110,9 @@ friend class SyntheticFunction;
- SyntheticFunction::synt_function f;
- ABCContext* context;
- method_body_info* body;
-+#ifdef LLVM_ENABLED
- SyntheticFunction::synt_function synt_method(SystemState* sys);
-+#endif
- bool needsArgs() { return info.needsArgs(); }
- bool needsActivation() { return info.needsActivation(); }
- bool needsRest() { return info.needsRest(); }
-@@ -121,7 +129,9 @@ friend class SyntheticFunction;
- const Type* returnType;
- bool hasExplicitTypes;
- method_info():
-+#ifdef LLVM_ENABLED
- llvmf(NULL),
-+#endif
- #ifdef PROFILING_SUPPORT
- profTime(0),
- validProfName(false),
-@@ -469,6 +479,7 @@ friend class asAtom;
- static void constructFunction(asAtom & ret, call_context* th, asAtom& f, asAtom* args, int argslen);
- void parseRPCMessage(_R<ByteArray> message, _NR<ASObject> client, _NR<Responder> responder);
-
-+#ifdef LLVM_ENABLED
- //Opcode tables
- void register_table(LLVMTYPE ret_type,typed_opcode_handler* table, int table_len);
- static opcode_handler opcode_table_args_pointer_2int[];
-@@ -479,7 +490,7 @@ friend class asAtom;
- static typed_opcode_handler opcode_table_void[];
- static typed_opcode_handler opcode_table_voidptr[];
- static typed_opcode_handler opcode_table_bool_t[];
--
-+#endif
-
- //Synchronization
- Mutex event_queue_mutex;
-@@ -873,6 +884,7 @@ friend class asAtom;
-
- MemoryAccount* vmDataMemory;
-
-+#ifdef LLVM_ENABLED
- llvm::ExecutionEngine* ex;
- llvm::Module* module;
-
-@@ -882,6 +894,7 @@ friend class asAtom;
- llvm::FunctionPassManager* FPM;
- #endif
- llvm::LLVMContext& llvm_context();
-+#endif
-
- ABCVm(SystemState* s, MemoryAccount* m) DLL_PUBLIC;
- /**
-diff --git a/src/scripting/abc_codesynt.cpp b/src/scripting/abc_codesynt.cpp
-index 5b71b289e..6ee977b3e 100644
---- a/src/scripting/abc_codesynt.cpp
-+++ b/src/scripting/abc_codesynt.cpp
-@@ -17,6 +17,8 @@
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- **************************************************************************/
-
-+#ifdef LLVM_ENABLED
-+
- #ifdef LLVM_28
- #define alignof alignOf
- #define LLVMMAKEARRAYREF(T) T
-@@ -4783,3 +4785,4 @@ void ABCVm::wrong_exec_pos()
- {
- assert_and_throw(false && "wrong_exec_pos");
- }
-+#endif //LLVM_ENABLED
-diff --git a/src/scripting/toplevel/toplevel.cpp b/src/scripting/toplevel/toplevel.cpp
-index 55ee6028f..c2c5bce10 100644
---- a/src/scripting/toplevel/toplevel.cpp
-+++ b/src/scripting/toplevel/toplevel.cpp
-@@ -345,6 +345,7 @@ void SyntheticFunction::call(asAtom& ret, asAtom& obj, asAtom *args, uint32_t nu
- ABCVm::optimizeFunction(this);
- }
-
-+#ifdef LLVM_ENABLED
- //Temporarily disable JITting
- if(getSystemState()->useJit && mi->body->exceptions.size()==0 && ((hit_count>=jit_hit_threshold && codeStatus==method_body_info::OPTIMIZED) || getSystemState()->useInterpreter==false))
- {
-@@ -352,6 +353,7 @@ void SyntheticFunction::call(asAtom& ret, asAtom& obj, asAtom *args, uint32_t nu
- val=mi->synt_method(getSystemState());
- assert(val);
- }
-+#endif
- ++mi->body->hit_count;
-
- //Prepare arguments