# Copyright (c) 2018 Dave Love, University of Manchester # Licence: MIT, per Fedora policy # FIxme: Don't use bundled libs %global commit b8a7540102c6b13bf5d7c7a8dd7510ccc9dcf342 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %undefine _enable_debug_packages Name: maqao Version: 2.15.0 Release: 1%{?dist} Summary: Modular Assembly Quality Analyzer and Optimizer # MIT for Luajit License: LGPLv3 and MIT URL: http://www.maqao.org/ # Download like this fails #Source0: https://gitlab.exascale-computing.eu/MAQAO/MAQAO/-/archive/%commit/%name-%shortcommit.tar.gz Source0: https://gitlab.exascale-computing.eu/MAQAO/MAQAO/repository/archive.tar.gz?ref=%{shortcommit}#/maqao-%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-%shortcommit-%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 [ %_lib = lib ] || mv %buildroot%_prefix/lib %buildroot%_libdir %files %license LICENSE LGPL2.1 LGPL3.0 %_bindir/maqao %_mandir/man1/* %_libdir/libcounting.so %changelog * Wed Dec 15 2021 Dave Love - 2.15.0-1 - New version * Fri Sep 17 2021 Dave Love - 2.14.1-1 - New version * Sat Jun 19 2021 Dave Love - 2.14.0-1 - New version * Wed Mar 17 2021 Dave Love - 2.13.2-1 - New version * Sun Feb 28 2021 Dave Love - 2.13.0-1 - New version - Change git URL, fix installation * 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