# Copyright (c) 2018 Dave Love, University of Manchester # Licence: MIT, per Fedora policy # FIxme: Don't use bundled libs %global commit 6b9c9766433fda14e4103d20b9f754aab0d3a6e4 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %undefine _enable_debug_packages Name: maqao Version: 2.11.0 Release: 1%{?dist} Summary: Modular Assembly Quality Analyzer and Optimizer # MIT for Luajit License: LGPLv3 and MIT URL: http://www.maqao.org/ # Downloaded with wget since spectool fails with expired certificate Source0: https://git.maqao.org/MAQAO/MAQAO/-/archive/%commit/%name-%shortcommit.tar.gz BuildRequires: cmake gcc-c++ # No luadoc in epel; fails in Fedora anyhow (as below). #%%{?fedora:BuildRequires: doxygen luadoc} # Fixme: These aren't actually used, but cmake requires them. BuildRequires: glibc-static libstdc++-static ExclusiveArch: x86_64 %description MAQAO (Modular Assembly Quality Analyzer and Optimizer) is a performance analysis and optimization tool suite operating at binary level (no recompilation necessary). The main goal of MAQAO is to provide application developers with synthetic reports in order to help them optimizing their code. The tool mixes both dynamic and static analyses based on its ability to reconstruct high level structures such as functions and loops from an application binary. This package does not include the lprof and oneview components of the binary distribution, which are propretary, despite the copyleft licence. %prep %setup -q -n MAQAO-%commit %build mkdir build cd build %cmake .. -DMAQAO_LINKING=EXTERNAL_DYNAMIC -DCMAKE_BUILD_TYPE=RelWithDebInfo %make_build V=1 # Fixme: # make doc fails with: # cd /builddir/build/BUILD/maqao-2.6.4/build/doc && /usr/bin/luadoc -d /builddir/build/BUILD/maqao-2.6.4/doc/internals/lua_API /builddir/build/BUILD/maqao-2.6.4/src/plugins/built_in/abstract_objects/stub/ao_*.luadoc /builddir/build/BUILD/maqao-2.6.4/src/plugins/built_in/classes/stub/cl_*.luadoc # BUILDSTDERR: /usr/bin/lua: /usr/share/lua/5.3/luadoc/taglet/standard.lua:469: attempt to call a nil value (field 'foreachi') # BUILDSTDERR: stack traceback: # BUILDSTDERR: /usr/share/lua/5.3/luadoc/taglet/standard.lua:469: in function 'luadoc.taglet.standard.start' # BUILDSTDERR: /usr/share/lua/5.3/luadoc/init.lua:44: in function 'luadoc.main' # BUILDSTDERR: (...tail calls...) # BUILDSTDERR: /usr/bin/luadoc:121: in main chunk # BUILDSTDERR: [C]: in ? make doc V=1 %install cd build %make_install V=1 mkdir -p %buildroot%_mandir mv %buildroot%_prefix/man/* %buildroot%_mandir rmdir %buildroot%_prefix/man # Otherwise it's 0555 chmod 0755 %buildroot%_bindir/maqao %files %license LICENSE LGPL2.1 LGPL3.0 %_bindir/maqao %_mandir/man1/* %changelog * Mon Aug 3 2020 Dave Love - 2.11.0-1 - New version * Sun Jun 23 2019 Dave Love - 2.9.0-1 - New version * Mon Apr 15 2019 Dave Love - 2.8.0-1 - New version * Thu Jan 24 2019 Dave Love - 2.7.0-1 - New version * Wed Oct 24 2018 Dave Love - 2.6.4-1 - Initial packaging