diff --git a/angelscript-2.31.1-meson.diff b/angelscript-2.31.1-meson.diff index 54fdbe9..1f1672f 100644 --- a/angelscript-2.31.1-meson.diff +++ b/angelscript-2.31.1-meson.diff @@ -1,76 +1,168 @@ diff -uNr angelscript-2.31.1.orig/sdk/angelscript/projects/meson/detect_ver.py angelscript-2.31.1/sdk/angelscript/projects/meson/detect_ver.py --- angelscript-2.31.1.orig/sdk/angelscript/projects/meson/detect_ver.py 2015-05-21 23:01:38.000000000 +0200 -+++ angelscript-2.31.1/sdk/angelscript/projects/meson/detect_ver.py 2016-06-27 10:39:52.288537225 +0200 -@@ -1,5 +1,17 @@ -+import argparse -+import os - import re ++++ angelscript-2.31.1/sdk/angelscript/projects/meson/detect_ver.py 2016-11-20 14:14:03.213827982 +0100 +@@ -1,5 +1,28 @@ +-import re -with open('../../include/angelscript.h') as f: - for l in f.readlines(): - if l.startswith('#define ANGELSCRIPT_VERSION_STRING'): - print(re.search('[\d]+\.[\d]+\.[\d]+', l).group(0)) -+ -+if __name__ == "__main__": -+ parser = argparse.ArgumentParser() -+ parser.add_argument("--major", action="store_true") -+ args = parser.parse_args() -+ hdr = os.path.join(os.path.dirname(os.path.abspath(__file__)), -+ "..", "..", "include", "angelscript.h") -+ count = 2 if args.major else 3 -+ regex = re.compile(r"\.".join(count * [r"[\d]+"])) -+ with open(hdr, "r") as f: -+ for l in f.readlines(): -+ if l.startswith('#define ANGELSCRIPT_VERSION_STRING'): -+ print(re.search(regex, l).group(0)) -+ break ++import argparse ++import os ++import re ++ ++HEADER = os.path.join(os.path.dirname(os.path.abspath(__file__)), ++ "..", "..", "include", "angelscript.h") ++ ++def main(): ++ parser = argparse.ArgumentParser() ++ parser.add_argument("--num", action="store_true", help="Print numeric version") ++ args = parser.parse_args() ++ ++ if args.num: ++ regex = re.compile(r'^#define ANGELSCRIPT_VERSION\s+(\d+)') ++ else: ++ regex = re.compile(r'^#define ANGELSCRIPT_VERSION_STRING\s+"(\d+\.\d+\.\d+.*)"') ++ ++ with open(HEADER, "r") as fobj: ++ for l in fobj: ++ match = re.match(regex, l) ++ if match is not None: ++ print(match.group(1)) ++ return ++ ++ assert False, "Can't find version" ++ ++if __name__ == "__main__": ++ main() diff -uNr angelscript-2.31.1.orig/sdk/angelscript/projects/meson/meson.build angelscript-2.31.1/sdk/angelscript/projects/meson/meson.build --- angelscript-2.31.1.orig/sdk/angelscript/projects/meson/meson.build 2015-05-21 23:02:54.000000000 +0200 -+++ angelscript-2.31.1/sdk/angelscript/projects/meson/meson.build 2016-06-27 10:39:52.293537384 +0200 -@@ -1,9 +1,13 @@ ++++ angelscript-2.31.1/sdk/angelscript/projects/meson/meson.build 2016-11-20 14:14:03.214828011 +0100 +@@ -1,59 +1,68 @@ -project('angelscript', 'cpp', 'c') -+project('angelscript', 'cpp', 'c', -+ version : run_command(find_program('python3'), 'detect_ver.py').stdout().strip(), -+ meson_version : '>0.28.0', -+ license : 'zlib') - - arch = run_command('uname', '-p').stdout().strip() +- +-arch = run_command('uname', '-p').stdout().strip() -version = run_command(find_program('python3'), 'detect_ver.py').stdout().strip() -+major_version = run_command(find_program('python3'), 'detect_ver.py', '--major').stdout().strip() -+threads = dependency('threads') - +- -srcs = [ -+angel_srcs = [ - '../../source/as_atomic.cpp', - '../../source/as_builder.cpp', - '../../source/as_bytecode.cpp', -@@ -42,18 +46,21 @@ - '../../source/as_variablescope.cpp', - ] - if arch == 'armv7l' +- '../../source/as_atomic.cpp', +- '../../source/as_builder.cpp', +- '../../source/as_bytecode.cpp', +- '../../source/as_callfunc.cpp', +- '../../source/as_callfunc_arm.cpp', +- '../../source/as_callfunc_mips.cpp', +- '../../source/as_callfunc_ppc.cpp', +- '../../source/as_callfunc_ppc_64.cpp', +- '../../source/as_callfunc_sh4.cpp', +- '../../source/as_callfunc_x86.cpp', +- '../../source/as_callfunc_x64_gcc.cpp', +- '../../source/as_callfunc_x64_mingw.cpp', +- '../../source/as_compiler.cpp', +- '../../source/as_context.cpp', +- '../../source/as_configgroup.cpp', +- '../../source/as_datatype.cpp', +- '../../source/as_generic.cpp', +- '../../source/as_gc.cpp', +- '../../source/as_globalproperty.cpp', +- '../../source/as_memory.cpp', +- '../../source/as_module.cpp', +- '../../source/as_objecttype.cpp', +- '../../source/as_outputbuffer.cpp', +- '../../source/as_parser.cpp', +- '../../source/as_restore.cpp', +- '../../source/as_scriptcode.cpp', +- '../../source/as_scriptengine.cpp', +- '../../source/as_scriptfunction.cpp', +- '../../source/as_scriptnode.cpp', +- '../../source/as_scriptobject.cpp', +- '../../source/as_string.cpp', +- '../../source/as_string_util.cpp', +- '../../source/as_thread.cpp', +- '../../source/as_tokenizer.cpp', +- '../../source/as_typeinfo.cpp', +- '../../source/as_variablescope.cpp', +-] +-if arch == 'armv7l' - srcs = srcs + [ - '../../source/as_callfunc_arm.cpp', - '../../source/as_callfunc_arm_gcc.S' - ] -+ angel_srcs += ['../../source/as_callfunc_arm_gcc.S'] - endif -+angelscript_inc = include_directories('../../include/') - +-endif +- -shared_library( - 'angelscript', - sources : srcs, -+angelscript_lib = library('angelscript', angel_srcs, -+ dependencies : threads, - install : true, +- install : true, - soversion : '0', - version : version, -+ soversion : major_version, -+ version : meson.project_version() - ) - - install_headers('../../include/angelscript.h') -+ -+angelscript_dep = declare_dependency( -+ link_with : angelscript_lib, -+ include_directories : angelscript_inc, -+ version : meson.project_version() -+) +-) +- +-install_headers('../../include/angelscript.h') ++project('angelscript', 'cpp', ++ version : run_command(find_program('python3'), 'detect_ver.py').stdout().strip(), ++ meson_version : '>=0.28.0', ++ license : 'zlib') ++ ++threads = dependency('threads') ++ ++angel_srcs = [ ++ '../../source/as_atomic.cpp', ++ '../../source/as_builder.cpp', ++ '../../source/as_bytecode.cpp', ++ '../../source/as_callfunc.cpp', ++ '../../source/as_callfunc_mips.cpp', ++ '../../source/as_callfunc_ppc.cpp', ++ '../../source/as_callfunc_ppc_64.cpp', ++ '../../source/as_callfunc_sh4.cpp', ++ '../../source/as_callfunc_x86.cpp', ++ '../../source/as_callfunc_x64_gcc.cpp', ++ '../../source/as_callfunc_x64_mingw.cpp', ++ '../../source/as_compiler.cpp', ++ '../../source/as_context.cpp', ++ '../../source/as_configgroup.cpp', ++ '../../source/as_datatype.cpp', ++ '../../source/as_generic.cpp', ++ '../../source/as_gc.cpp', ++ '../../source/as_globalproperty.cpp', ++ '../../source/as_memory.cpp', ++ '../../source/as_module.cpp', ++ '../../source/as_objecttype.cpp', ++ '../../source/as_outputbuffer.cpp', ++ '../../source/as_parser.cpp', ++ '../../source/as_restore.cpp', ++ '../../source/as_scriptcode.cpp', ++ '../../source/as_scriptengine.cpp', ++ '../../source/as_scriptfunction.cpp', ++ '../../source/as_scriptnode.cpp', ++ '../../source/as_scriptobject.cpp', ++ '../../source/as_string.cpp', ++ '../../source/as_string_util.cpp', ++ '../../source/as_thread.cpp', ++ '../../source/as_tokenizer.cpp', ++ '../../source/as_typeinfo.cpp', ++ '../../source/as_variablescope.cpp', ++] ++if host_machine.cpu_family() == 'arm' ++ add_languages('c') ++ angel_scrs += [ ++ '../../source/as_callfunc_arm.cpp', ++ '../../source/as_callfunc_arm_gcc.S', ++ ] ++endif ++ ++angelscript_version_num = run_command(find_program('python3'), 'detect_ver.py', '--num').stdout().strip() ++angelscript_lib = library( ++ 'angelscript', ++ sources : angel_srcs, ++ dependencies : threads, ++ version : angelscript_version_num, ++ install : true, ++) ++angelscript_inc = include_directories('../../include') ++angelscript_dep = declare_dependency( ++ link_with : angelscript_lib, ++ include_directories : angelscript_inc, ++ version : meson.project_version(), ++) ++ ++install_headers('../../include/angelscript.h') diff --git a/angelscript.spec b/angelscript.spec index 97c2b78..c5abc4b 100644 --- a/angelscript.spec +++ b/angelscript.spec @@ -1,8 +1,10 @@ %global optflags %(echo %{optflags} -fno-strict-aliasing) +%global __sourcedir sdk/%{name}/projects/meson/ + Name: angelscript Version: 2.31.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Flexible cross-platform scripting library License: zlib @@ -12,7 +14,7 @@ Source0: %{url}/sdk/files/%{name}_%{version}.zip # Sent upstream via mail Patch0: angelscript-2.31.1-meson.diff -BuildRequires: meson >= 0.23.0-3 +BuildRequires: meson ExclusiveArch: x86_64 %{ix86} %{arm} @@ -34,21 +36,15 @@ developing applications that use %{name}. %prep %autosetup -c -p1 -mkdir build %build -pushd build - %meson ../sdk/%{name}/projects/meson/ - ninja-build -v -popd +%meson +%meson_build %install -pushd build - DESTDIR=%{buildroot} ninja-build -v install -popd +%meson_install %post -p /sbin/ldconfig - %postun -p /sbin/ldconfig %files @@ -61,6 +57,9 @@ popd %{_includedir}/%{name}.h %changelog +* Sun Nov 20 2016 Igor Gnatenko - 2.31.1-2 +- Fix FTBFS (RHBZ #1385042) + * Mon Jun 27 2016 Igor Gnatenko - 2.31.1-1 - Update to 2.31.1 (RHBZ #1350286)