angelscript/angelscript-addons_lib.patch
Dirk Stoecker 970c41de2b Accepting request 879480 from home:alois:branches:games
- Update to version 2.35.0
  Bug fixes:
  * asIScriptModule::GetGlobalVar was returning asSUCCESS when
    the given index was out of range
  * Compiler would give an error when compiling functions
    returning a reference to a type that cannot be instantiated
  * Fixed problem with LoadByteCode and shared classes
  * Fixed crash when using copy constructor declared as taking
    the object by value
  * Fixed memory invasion in compiler when compiling
    initialization lists with expressions using default arguments
  * Fixed memory invasion in compiler when compiling default
    arguments
  * Fixed an issue in compiler with auto type and constness
  * Fixed symbol lookup of child type from within class method
    while compiling a construct call
  * Fixed crash after a discarding a module that compiled a
    shared object type that continues to be used by other modules
  * Funcdefs are marked with asOBJ_GC as they can form circular
    references when used with delegates
  * Fixed memory leak when using CompileGlobalVar to add a
    variable to a module with an object type
  * Fixed error when loading bytecode that is using a list
    constructor for a value type
  * Fixed memory invasion in compiler when compiling default
    argument after an argument with index operator 
  Library:
  * asIScriptModule::GetFunctionByName now supports informing
    the scope in the name
  * asIScriptModule::GetGlobalVarByName and GetTypeInfoByName
    also support informing the scope in the name
  * asIScriptEngine::GetTypeInfoByName and
    GetGlobalPropertyIndexByName also support informing the scope in
    the name
  * The default opAssign implementation for script classes will
    use the base class' opAssign method to copy inherited properties
  * Added config for 64bit x86 CPU on Haiku OS
  * Added flag asOBJ_APP_CLASS_MORE_CONSTRUCTORS to inform when
    a class with defaulted constructors has additional non-trivial
    constructors
  * Added support for native calling conventions on Linux with
    ARM64
  * Improved time for compilation and loading pre-compiled
    bytecode for scripts with lots of type definitions
  * Added config to make the library buildable for Linux with
    Elbrus 2000 CPU 
  Library interface:
  * asIScriptObject::CopyFrom now takes a const pointer
  * RegisterGlobalProperty and RegisterObjectProperty now return
    the index of the property upon success 
  Virtual machine:
  * asBC_Thiscall1 bytecode instruction is now capable of
    catching and translating C++ exceptions to script exceptions 
  Add-ons & Samples:
  * Implemented to-string debug callback for datetime in asrun
  * Fixed a problem due to daylight time when initializing a
    datetime object with specific date
  * debugger add-on handles incorrect user commands better
  * Implemented a version of exec for asrun sample that captures
    the standard output from the system command into a string
  * Implemented getCreateDateTime and getModifyDateTime on the
    filesystem add-on
  * Improved performance on array sort for arrays holding object
    types
  * Fixed registration of the virtual property accessors in the
    game sample
  * Fixed compilation error in scriptstdstring.cpp with
    AS_USE_NAMESPACE
  * Registered the script array add-on in the console sample
  * Added generic calling convention bindings for datetime and
    filesystem add-ons 
  Project:
  * Fixed gnuc makefile to detect arm target and add a compiler
    flag to accept implicit IT constructs in thumb mode 
- Use https for source URL 
- Switch build to meson
- Add angelscript-addons_lib.patch
- Add pkgconfig support file
- Build addons library and install related headers
- Add angelscript_addons library subpackage
- Move docs to -devel and drop main package

OBS-URL: https://build.opensuse.org/request/show/879480
OBS-URL: https://build.opensuse.org/package/show/games/angelscript?expand=0&rev=15
2021-03-17 07:30:36 +00:00

163 lines
5.3 KiB
Diff

Index: sdk/angelscript/projects/meson/meson.build
===================================================================
--- sdk.orig/angelscript/projects/meson/meson.build
+++ sdk/angelscript/projects/meson/meson.build
@@ -1,6 +1,6 @@
project('angelscript', 'cpp',
version : run_command(find_program('python3'), 'detect_ver.py').stdout().strip(),
- meson_version : '>=0.28.0',
+ meson_version : '>=0.49.0',
license : 'zlib')
threads = dependency('threads')
@@ -42,6 +42,31 @@ angel_srcs = [
'../../source/as_typeinfo.cpp',
'../../source/as_variablescope.cpp',
]
+
+angel_incl_dir = get_option('includedir') / 'AngelScript'
+
+angel_addons_srcs = [
+ '../../../add_on/autowrapper/generator/generateheader.cpp',
+ '../../../add_on/contextmgr/contextmgr.cpp',
+ '../../../add_on/datetime/datetime.cpp',
+ '../../../add_on/debugger/debugger.cpp',
+ '../../../add_on/scriptany/scriptany.cpp',
+ '../../../add_on/scriptarray/scriptarray.cpp',
+ '../../../add_on/scriptbuilder/scriptbuilder.cpp',
+ '../../../add_on/scriptdictionary/scriptdictionary.cpp',
+ '../../../add_on/scriptfile/scriptfile.cpp',
+ '../../../add_on/scriptfile/scriptfilesystem.cpp',
+ '../../../add_on/scriptgrid/scriptgrid.cpp',
+ '../../../add_on/scripthandle/scripthandle.cpp',
+ '../../../add_on/scripthelper/scripthelper.cpp',
+ '../../../add_on/scriptmath/scriptmathcomplex.cpp',
+ '../../../add_on/scriptmath/scriptmath.cpp',
+ '../../../add_on/scriptstdstring/scriptstdstring.cpp',
+ '../../../add_on/scriptstdstring/scriptstdstring_utils.cpp',
+ '../../../add_on/serializer/serializer.cpp',
+ '../../../add_on/weakref/weakref.cpp'
+]
+
if host_machine.cpu_family() == 'arm'
add_languages('c')
angel_srcs += [
@@ -55,7 +80,8 @@ angelscript_lib = library(
'angelscript',
sources : angel_srcs,
dependencies : threads,
- version : angelscript_version_num,
+ soversion : meson.project_version(),
+ version : meson.project_version(),
install : true,
)
angelscript_inc = include_directories('../../include')
@@ -65,4 +91,93 @@ angelscript_dep = declare_dependency(
version : meson.project_version(),
)
-install_headers('../../include/angelscript.h')
+angelscript_addons_lib = library(
+ 'angelscript_addons',
+ sources : angel_addons_srcs,
+ link_with : angelscript_lib,
+ include_directories : angelscript_inc,
+ soversion : meson.project_version(),
+ version : meson.project_version(),
+ install : true
+ )
+
+pkg = import('pkgconfig')
+pkg.generate(angelscript_lib, filebase : 'angelscript', description : 'Scripting library', subdirs : 'AngelScript')
+pkg.generate(angelscript_addons_lib, filebase : 'angelscript_addons', description : 'Scripting library', subdirs : 'AngelScript')
+
+install_headers(
+ '../../include/angelscript.h',
+ install_dir : angel_incl_dir
+ )
+install_headers(
+ '../../../add_on/autowrapper/aswrappedcall.h',
+ install_dir : angel_incl_dir / 'autowrapper'
+ )
+install_headers(
+ '../../../add_on/contextmgr/contextmgr.h',
+ install_dir : angel_incl_dir / 'contextmgr'
+ )
+install_headers(
+ '../../../add_on/datetime/datetime.h',
+ install_dir : angel_incl_dir / 'datetime'
+ )
+install_headers(
+ '../../../add_on/debugger/debugger.h',
+ install_dir : angel_incl_dir / 'debugger'
+ )
+install_headers(
+ '../../../add_on/scriptany/scriptany.h',
+ install_dir : angel_incl_dir / 'scriptany'
+ )
+install_headers(
+ '../../../add_on/scriptarray/scriptarray.h',
+ install_dir : angel_incl_dir / 'scriptarray'
+ )
+install_headers(
+ '../../../add_on/scriptbuilder/scriptbuilder.h',
+ install_dir : angel_incl_dir / 'scriptbuilder'
+ )
+install_headers(
+ '../../../add_on/scriptdictionary/scriptdictionary.h',
+ install_dir : angel_incl_dir / 'scriptdictionary'
+ )
+install_headers(
+ '../../../add_on/scriptfile/scriptfile.h',
+ install_dir : angel_incl_dir / 'scriptfile'
+ )
+install_headers(
+ '../../../add_on/scriptfile/scriptfilesystem.h',
+ install_dir : angel_incl_dir / 'scriptfile'
+ )
+install_headers(
+ '../../../add_on/scriptgrid/scriptgrid.h',
+ install_dir : angel_incl_dir / 'scriptgrid'
+ )
+install_headers(
+ '../../../add_on/scripthandle/scripthandle.h',
+ install_dir : angel_incl_dir / 'scripthandle'
+ )
+install_headers(
+ '../../../add_on/scripthelper/scripthelper.h',
+ install_dir : angel_incl_dir / 'scripthelper'
+ )
+install_headers(
+ '../../../add_on/scriptmath/scriptmathcomplex.h',
+ install_dir : angel_incl_dir / 'scriptmath'
+ )
+install_headers(
+ '../../../add_on/scriptmath/scriptmath.h',
+ install_dir : angel_incl_dir / 'scriptmath'
+ )
+install_headers(
+ '../../../add_on/scriptstdstring/scriptstdstring.h',
+ install_dir : angel_incl_dir / 'scriptstdstring'
+ )
+install_headers(
+ '../../../add_on/serializer/serializer.h',
+ install_dir : angel_incl_dir / 'serializer'
+ )
+install_headers(
+ '../../../add_on/weakref/weakref.h',
+ install_dir : angel_incl_dir / 'weakref'
+ )
Index: sdk/add_on/scriptfile/scriptfilesystem.cpp
===================================================================
--- sdk.orig/add_on/scriptfile/scriptfilesystem.cpp
+++ sdk/add_on/scriptfile/scriptfilesystem.cpp
@@ -15,6 +15,8 @@
#endif
#include <assert.h> // assert
+#include <cstring>
+
using namespace std;
BEGIN_AS_NAMESPACE