# Copyright (c) 2018 Dave Love, University of Manchester # Licence: MIT, per Fedora policy # FIxme: Don't use bundled libs %global commit db3de724f76cd7c42e469077fed91923beffef20 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %undefine _enable_debug_packages Name: maqao Version: 2.18.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 Patch1: maqao-cmake.patch 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 %patch -p1 -P1 %build mkdir build cd build %cmake .. -DMAQAO_LINKING=EXTERNAL_DYNAMIC -DCMAKE_BUILD_TYPE=RelWithDebInfo %make_build V=1 -j1 # 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 Nov 22 2023 Dave Love - 2.18.0-1 - New version * Wed Nov 30 2022 Dave Love - 2.16.0-1 - New version * 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