## ## valgrind.spec -- OpenPKG RPM Package Specification ## Copyright (c) 2000-2022 OpenPKG Project ## ## 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 version %define V_valgrind 3.17.0 %define V_valgrind_bsd 3.10.1.20160113 %define V_valgrind_bsd_subdir ce1acb28953f # package information Name: valgrind Summary: A memory debugger URL: http://www.valgrind.org/ Vendor: Julian Seward Packager: OpenPKG Project Distribution: OpenPKG Community Class: EVAL Group: Debugging License: Development Version: %{V_valgrind} Release: 20210505 # list of sources Source0: ftp://sourceware.org/pub/valgrind/valgrind-%{V_valgrind}.tar.bz2 Source1: http://mirror.shatow.net/freebsd/valgrind/valgrind-freebsd-%{V_valgrind_bsd}.tar.gz # build information BuildPreReq: OpenPKG, openpkg >= 20160101, gcc, make PreReq: OpenPKG, openpkg >= 20160101 %description Valgrind is a tool that helps you find memory management problems in programs. When a program is run under Valgrind's supervision, all reads and writes of memory are checked, and calls to malloc/new/free/delete are intercepted. As a result, Valgrind can detect problems such as use of uninitialized memory, reading/writing of memory after it has been freed, reading/writing off the end of malloced blocks, reading/writing inappropriate areas on the stack, memory leaks in which pointers to malloced blocks are lost forever, passing of uninitialized and/or unaddressable memory to system calls, and mismatched use of malloc/new/new [] vs. free/delete/delete [] %track prog valgrind = { version = %{version} url = http://www.valgrind.org/downloads/current.html regex = valgrind-(__VER__)\.tar\.bz2 } %prep %setup -q -c %setup -q -T -D -a 1 %build export CC="%{l_cc}" export CXX="%{l_cxx}" export CFLAGS="%{l_cflags -O}" export CXXFLAGS="%{l_cxxflags -O}" export CPPFLAGS="%{l_cppflags}" export LDFLAGS="%{l_ldflags}" subdir="valgrind-%{V_valgrind}" case "%{l_platform -t}" in *-freebsd* ) CC="/usr/bin/cc" CFLAGS="-O" subdir="stass-valgrind-freebsd-%{V_valgrind_bsd_subdir}" ;; esac cd $subdir if [ ! -f ./configure ]; then sh autogen.sh fi ./configure \ --prefix=%{l_prefix} %{l_make} %{l_mflags -O} %install subdir="valgrind-%{V_valgrind}" case "%{l_platform -t}" in *-freebsd* ) subdir="stass-valgrind-freebsd-%{V_valgrind_bsd_subdir}" ;; esac ( cd $subdir %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" ) || exit $? strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} %files -f files %clean