%global upver 1.4 %global uprel 18 Name: mona Version: %{upver}r%{uprel} Release: 7%{?dist} Summary: A decision procedure for the WS1S and WS2S logics License: GPLv2+ URL: https://www.brics.dk/mona/ Source0: https://www.brics.dk/mona/download/%{name}-%{upver}-%{uprel}.tar.gz Source1: https://www.brics.dk/mona/mona14.pdf # Make an intentionally-undefined symbol ("guide") weak Patch0: %{name}-weak-guide.patch BuildRequires: emacs BuildRequires: emacs-el BuildRequires: flex BuildRequires: gcc-c++ BuildRequires: make Requires: %{name}-libs%{?_isa} = %{version}-%{release} # This can be removed when Fedora 39 reaches EOL Obsoletes: %{name}-xemacs < 1.4r18-5 %description MONA is a tool that translates formulas in the logics WS1S or WS2S into finite-state automata represented by BDDs. The formulas may express search patterns, temporal properties of reactive systems, parse tree constraints, etc. MONA also analyzes the automaton resulting from the compilation, and determines whether the formula is valid and, if the formula is not valid, generates a counterexample. %package libs Summary: Supporting libraries for Mona %description libs Supporting libraries for Mona. %package devel Summary: Header files for developing applications with Mona Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description devel Header files for developing applications that use the Mona libraries. %package examples Summary: Example Mona source files and C programs Requires: %{name}-libs = %{version}-%{release} BuildArch: noarch %description examples Example Mona source files, for use with the mona executable, and also sample C programs that access the Mona library interfaces. %package emacs Summary: Emacs mode for editing Mona files Requires: %{name}-libs = %{version}-%{release} Requires: emacs(bin) >= %{_emacs_version} BuildArch: noarch %description emacs Emacs mode for editing Mona files. %prep %autosetup -n %{name}-%{upver} -p1 cp -p %{SOURCE1} . %build export CFLAGS="%{build_cflags} -DNDEBUG" export CXXFLAGS="%{build_cxxflags} -DNDEBUG" %configure --disable-static # Get rid of undesirable hardcoded rpaths; workaround libtool reordering # -Wl,--as-needed after all the libraries. sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \ -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \ -e 's|CC="\(.*g..\)"|CC="\1 -Wl,--as-needed"|' \ -i libtool %make_build %install %make_install # Get rid of the .la files; we don't want them rm -f $RPM_BUILD_ROOT%{_libdir}/*.la # Install the examples cp -p Examples/bdd_example $RPM_BUILD_ROOT%{_bindir} cp -p Examples/gta_example $RPM_BUILD_ROOT%{_bindir} cp -p Examples/presburger_analysis $RPM_BUILD_ROOT%{_bindir} cp -p Examples/presburger_transduction $RPM_BUILD_ROOT%{_bindir} # Move the Emacs lisp file to the right places mkdir -p $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/mona cd $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/mona mv $RPM_BUILD_ROOT%{_datadir}/mona-mode.el . %_emacs_bytecompile mona-mode.el %files %doc mona14.pdf %{_bindir}/mona %{_bindir}/dfa2dot %{_bindir}/gta2dot %{_mandir}/man1/* %files devel %{_includedir}/mona %{_libdir}/*.so %files examples %doc Examples/*.mona Examples/bdd_volatility %{_bindir}/bdd_example %{_bindir}/gta_example %{_bindir}/presburger_analysis %{_bindir}/presburger_transduction %files libs %doc AUTHORS ChangeLog NEWS README %license COPYING %{_libdir}/*.so.* %files emacs %dir %{_emacs_sitelispdir}/mona %{_emacs_sitelispdir}/mona/mona-mode.el* %changelog * Thu Jul 21 2022 Fedora Release Engineering - 1.4r18-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Thu Jan 20 2022 Fedora Release Engineering - 1.4r18-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Tue Nov 9 2021 Jerry James - 1.4r18-5 - Drop XEmacs support * Thu Jul 22 2021 Fedora Release Engineering - 1.4r18-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Tue Jan 26 2021 Fedora Release Engineering - 1.4r18-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Tue Jul 28 2020 Fedora Release Engineering - 1.4r18-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Mon Feb 10 2020 Jerry James - 1.4r18-1 - Update to 1.4-18 * Wed Jan 29 2020 Fedora Release Engineering - 1.4r17-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Sat Dec 14 2019 Jeff Law - 1.4r17-9 - Fix inline vs static inline issue for gcc-10 * Thu Jul 25 2019 Fedora Release Engineering - 1.4r17-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Fri Feb 01 2019 Fedora Release Engineering - 1.4r17-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Fri Jul 13 2018 Fedora Release Engineering - 1.4r17-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Thu Feb 08 2018 Fedora Release Engineering - 1.4r17-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Thu Aug 03 2017 Fedora Release Engineering - 1.4r17-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 1.4r17-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Fri Feb 10 2017 Fedora Release Engineering - 1.4r17-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Mon Mar 28 2016 Jerry James - 1.4r17-1 - Update to 1.4-17 * Thu Feb 04 2016 Fedora Release Engineering - 1.4r16-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Thu Oct 8 2015 Jerry James - 1.4r16-1 - Update to 1.4-16 * Wed Jun 17 2015 Fedora Release Engineering - 1.4r15-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Sat May 02 2015 Kalev Lember - 1.4r15-6 - Rebuilt for GCC 5 C++11 ABI change * Tue Feb 10 2015 Jerry James - 1.4r15-5 - Add -inline patch to fix a build failure with gcc 5.0 - Use the license macro * Sun Aug 17 2014 Fedora Release Engineering - 1.4r15-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sat Jun 07 2014 Fedora Release Engineering - 1.4r15-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Sat Aug 03 2013 Fedora Release Engineering - 1.4r15-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Tue Jul 2 2013 Jerry James - 1.4r15-1 - Update to 1.4-15 * Mon Apr 29 2013 Jerry James - 1.4r14-1 - Update to 1.4-14 - Make "guide", which is undefined on purpose, a weak symbol * Thu Feb 14 2013 Fedora Release Engineering - 1.4r13-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Fri Jul 20 2012 Fedora Release Engineering - 1.4r13-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Fri Jan 6 2012 Jerry James - 1.4r13-5 - Rebuild for GCC 4.7 - Spec file cleanups * Tue Feb 08 2011 Fedora Release Engineering - 1.4r13-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Mon Nov 29 2010 Jerry James - 1.4r13-4 - Move COPYING and other docs to -libs, which is required by the main package. - Remove unnecessary libtool BR. - Remove BuildRoot tag. * Sat Jul 25 2009 Fedora Release Engineering - 1.4r13-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Wed Feb 25 2009 Fedora Release Engineering - 1.4r13-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Mon Aug 11 2008 Jerry James - 1.4r13-1 - Update to 1.4-13 * Tue Jun 17 2008 Jerry James - 1.4r11-1 - Update to 1.4-11 - Add the user manual to the main package docs * Mon Mar 10 2008 Jerry James - 1.4r10-1 - Initial RPM