## ## memphis.spec -- OpenPKG RPM Package Specification ## Copyright (c) 2000-2017 OpenPKG Foundation e.V. ## ## Permission to use, copy, modify, and distribute this software for ## any purpose with or without fee is hereby granted, provided that ## the above copyright notice and this permission notice appear in all ## copies. ## ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## # package information Name: memphis Summary: Tree Builder & Tree Walker Tool URL: http://memphis.compilertools.net/ Vendor: GMD/FIRST Packager: OpenPKG Foundation e.V. Distribution: OpenPKG Community Class: PLUS Group: CompilerCompiler License: GPL Version: 1.9 Release: 20080101 # list of sources Source0: http://memphis.compilertools.net/memphis-%{version}.tar.gz # build information BuildPreReq: OpenPKG, openpkg >= 20160101, gcc PreReq: OpenPKG, openpkg >= 20160101 %description Memphis is a C/C++ extension for compiler writers and other programmers having to manipulate symbolic data. It is well suited for the definition of abstract syntax trees and the implementation of tree walkers. A precompiler extends C/C++ by domain declarations that describe data types in a grammatical style. It also supports match statements that process these data using tree pattern matching. %track prog memphis = { version = %{version} url = http://memphis.compilertools.net/distribution.html regex = memphis-(__VER__)\.tar\.gz } %prep %setup -q %{l_shtool} subst -e 's;cc;%{l_cc} %{l_cflags -O};' memphis/build %{l_shtool} subst -e 's;gcc;%{l_cc} %{l_cflags -O};' mrts/build %build ( cd memphis && ./build ) || exit $? ( cd mrts && ./build ) || exit $? ar cr libmemphis.a mrts/mrts.o %install %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/bin \ $RPM_BUILD_ROOT%{l_prefix}/lib \ $RPM_BUILD_ROOT%{l_prefix}/share/memphis %{l_shtool} install -c -s -m 755 \ memphis/memphis $RPM_BUILD_ROOT%{l_prefix}/bin/ %{l_shtool} install -c -m 755 \ libmemphis.a $RPM_BUILD_ROOT%{l_prefix}/lib/ %{l_shtool} install -c -m 644 \ doc/*.pdf $RPM_BUILD_ROOT%{l_prefix}/share/memphis/ %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} %files -f files %clean