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
This commit is contained in:
Dirk Stoecker 2021-03-17 07:30:36 +00:00 committed by Git OBS Bridge
parent 2e436d5048
commit 970c41de2b
5 changed files with 327 additions and 16 deletions

View File

@ -0,0 +1,162 @@
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

View File

@ -1,3 +1,88 @@
-------------------------------------------------------------------
Sat Mar 13 13:14:00 UTC 2021 - Luigi Baldoni <aloisio@gmx.com>
- 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
-------------------------------------------------------------------
Fri Mar 27 13:18:01 UTC 2020 - Christophe Giboudeaux <christophe@krop.fr>

View File

@ -1,7 +1,7 @@
#
# spec file for package angelscript
#
# Copyright (c) 2020 SUSE LLC
# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -16,17 +16,21 @@
#
%define sover 2_34_0
%define sover 2_35_0
Name: angelscript
Version: 2.34.0
Version: 2.35.0
Release: 0
Summary: Scripting library
License: Zlib
Group: Development/Libraries/C and C++
URL: https://www.angelcode.com/angelscript/
Source: http://www.angelcode.com/angelscript/sdk/files/%{name}_%{version}.zip
Source: https://www.angelcode.com/angelscript/sdk/files/%{name}_%{version}.zip
# PATCH-FEATURE-OPENSUSE angelscript-addons_lib.patch aloisio@gmx.com -- build and install addons library
Patch0: angelscript-addons_lib.patch
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: meson >= 0.49.0
BuildRequires: pkgconfig
BuildRequires: unzip
%description
@ -49,10 +53,23 @@ functionality through external scripts.
It supports Unix sockets and TCP/IP sockets with optional
SSL/TLS support.
%package -n lib%{name}_addons%{sover}
Summary: Scripting library
Group: System/Libraries
%description -n lib%{name}_addons%{sover}
The AngelCode Scripting Library, or AngelScript as it is also known,
is a scripting library designed to allow applications to extend their
functionality through external scripts.
It supports Unix sockets and TCP/IP sockets with optional
SSL/TLS support.
%package devel
Summary: Development files for AngelScript
Group: Development/Libraries/C and C++
Requires: lib%{name}%{sover} = %{version}
Requires: lib%{name}_addons%{sover} = %{version}
%description devel
The AngelCode Scripting Library, or AngelScript as it is also known,
@ -63,28 +80,75 @@ This subpackage contains libraries and header files for developing
applications that want to make use of the AngelScript library.
%prep
%setup -q -n sdk/%{name}/projects/gnuc
%autosetup -p1 -n sdk
%build
export CXXFLAGS="%{optflags}"
%make_build shared
pushd %{name}/projects/meson
%meson
%meson_build
popd
%install
make install_shared install_header install_docs PREFIX=%{_prefix} DESTDIR=%{buildroot} LIBDIR_DEST=%{_libdir} DOCDIR_BASEDIR=%{_defaultdocdir}/%{name}
%fdupes %{buildroot} %{_defaultdocdir}/%{name}
pushd %{name}/projects/meson
%meson_install
popd
mv docs html
%post -n lib%{name}%{sover} -p /sbin/ldconfig
%postun -n lib%{name}%{sover} -p /sbin/ldconfig
%files
# manual also contains the license
%{_defaultdocdir}/%{name}
%post -n lib%{name}_addons%{sover} -p /sbin/ldconfig
%postun -n lib%{name}_addons%{sover} -p /sbin/ldconfig
%files -n lib%{name}%{sover}
%{_libdir}/libangelscript.so.*
%files -n lib%{name}_addons%{sover}
%{_libdir}/libangelscript_addons.so.*
%files devel
%attr(0644,root,root) %{_includedir}/*.h
# manual also contains the license
%doc html
%dir %{_includedir}/AngelScript
%dir %{_includedir}/AngelScript/autowrapper
%dir %{_includedir}/AngelScript/contextmgr
%dir %{_includedir}/AngelScript/datetime
%dir %{_includedir}/AngelScript/debugger
%dir %{_includedir}/AngelScript/scriptany
%dir %{_includedir}/AngelScript/scriptarray
%dir %{_includedir}/AngelScript/scriptbuilder
%dir %{_includedir}/AngelScript/scriptdictionary
%dir %{_includedir}/AngelScript/scriptfile
%dir %{_includedir}/AngelScript/scriptgrid
%dir %{_includedir}/AngelScript/scripthandle
%dir %{_includedir}/AngelScript/scripthelper
%dir %{_includedir}/AngelScript/scriptmath
%dir %{_includedir}/AngelScript/scriptstdstring
%dir %{_includedir}/AngelScript/serializer
%dir %{_includedir}/AngelScript/weakref
%{_includedir}/AngelScript/angelscript.h
%{_includedir}/AngelScript/autowrapper/aswrappedcall.h
%{_includedir}/AngelScript/contextmgr/contextmgr.h
%{_includedir}/AngelScript/datetime/datetime.h
%{_includedir}/AngelScript/debugger/debugger.h
%{_includedir}/AngelScript/scriptany/scriptany.h
%{_includedir}/AngelScript/scriptarray/scriptarray.h
%{_includedir}/AngelScript/scriptbuilder/scriptbuilder.h
%{_includedir}/AngelScript/scriptdictionary/scriptdictionary.h
%{_includedir}/AngelScript/scriptfile/scriptfile.h
%{_includedir}/AngelScript/scriptfile/scriptfilesystem.h
%{_includedir}/AngelScript/scriptgrid/scriptgrid.h
%{_includedir}/AngelScript/scripthandle/scripthandle.h
%{_includedir}/AngelScript/scripthelper/scripthelper.h
%{_includedir}/AngelScript/scriptmath/scriptmath.h
%{_includedir}/AngelScript/scriptmath/scriptmathcomplex.h
%{_includedir}/AngelScript/scriptstdstring/scriptstdstring.h
%{_includedir}/AngelScript/serializer/serializer.h
%{_includedir}/AngelScript/weakref/weakref.h
%{_libdir}/libangelscript.so
%{_libdir}/libangelscript_addons.so
%{_libdir}/pkgconfig/%{name}.pc
%{_libdir}/pkgconfig/%{name}_addons.pc
%changelog

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6faa043717522ae0fb2677d907ca5b0e35a79d28e5f83294565e6c6229bfbdf7
size 2020026

3
angelscript_2.35.0.zip Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:010dd45e23e734d46f5891d70e268607a12cb9ab12503dda42f842d9db7e8857
size 1971850