## ## chuffed.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 information Name: chuffed Summary: Contraint Solver URL: https://github.com/chuffed/chuffed Vendor: Geoffrey Chu, Peter J. Stuckey, Andreas Schutt, Thorsten Ehlers, Graeme Gange, Kathryn Francis Packager: OpenPKG Project Distribution: OpenPKG Community Class: EVAL Group: Language License: MIT Version: 0.10.4 Release: 20190625 # list of sources Source0: https://github.com/chuffed/chuffed/archive/%{version}.tar.gz # build information BuildPreReq: OpenPKG, openpkg >= 20160101, gcc, gcc::with_cxx = yes, cmake PreReq: OpenPKG, openpkg >= 20160101 %description Chuffed is a state of the art lazy clause solver designed from the ground up with lazy clause generation in mind. Lazy clause generation is a hybrid approach to constraint solving that combines features of finite domain propagation and Boolean satisfiability. The easiest way to use Chuffed is as a backend to the MiniZinc constraint modelling language. Compiling Chuffed using the instructions below will create the fzn-chuffed(1) executable that can interpret MiniZinc's FlatZinc solver language. %track prog chuffed = { version = %{version} url = https://github.com/chuffed/chuffed/releases regex = (\d+\.\d+\.\d+)\.tar\.gz } %prep %setup -q -n chuffed-%{version} %build mkdir build cd build export HOME=`pwd` cmake \ -DCMAKE_BUILD_TYPE="Release" \ -DCMAKE_INSTALL_PREFIX="%{l_prefix}" \ -DCMAKE_C_COMPILER="%{l_cc}" \ -DCMAKE_C_FLAGS="%{l_cflags} %{l_cppflags}" \ -DCMAKE_EXE_LINKER_FLAGS="%{l_ldflags}" \ -DCMAKE_CXX_COMPILER="%{l_cxx}" \ -DCMAKE_CXX_FLAGS="%{l_cxxflags} %{l_cppflags}" \ .. %{l_make} %{l_mflags -O} %install ( cd build export HOME=`pwd` %{l_make} %{l_mflags} install DESTDIR="$RPM_BUILD_ROOT" ) || exit $? %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} %files -f files %clean