From: Thomas Krennwallner Date: Tue, 20 Dec 2016 04:10:36 +0000 (+0000) Subject: gringo (5.1.0-4) unstable; urgency=medium X-Git-Tag: archive/raspbian/5.3.0-13+rpi1~1^2^2~6 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=90973bd033ffb9f0041f80ca94cf0c1563c65432;p=gringo.git gringo (5.1.0-4) unstable; urgency=medium * fix FTBFS on alpha: do not define FPU_SWITCH_DOUBLE on alpha, _FPU_GETCW and friends are undefined on this arch [dgit import unpatched gringo 5.1.0-4] --- 90973bd033ffb9f0041f80ca94cf0c1563c65432 diff --cc debian/NEWS.Debian index 0000000,0000000..c870da2 new file mode 100644 --- /dev/null +++ b/debian/NEWS.Debian @@@ -1,0 -1,0 +1,12 @@@ ++gringo (5.1.0-1) unstable; urgency=medium ++ ++ The gringo and reify programs drop direct support for smodels output ++ format and use the new asp intermediate format (aspif) instead. The ++ clasp solver automatically supports aspif starting with version 3.2.0 ++ and later. If you need to ground a logic program to smodels format, ++ you can translate aspif to smodels format with the lpconvert tool, ++ which is part of this package. See also ++ for a ++ detailed description of the asp intermediate format. ++ ++ -- Thomas Krennwallner , Sun, 11 Dec 2016 09:51:56 +0100 diff --cc debian/changelog index 0000000,0000000..806909a new file mode 100644 --- /dev/null +++ b/debian/changelog @@@ -1,0 -1,0 +1,364 @@@ ++gringo (5.1.0-4) unstable; urgency=medium ++ ++ * fix FTBFS on alpha: do not define FPU_SWITCH_DOUBLE on alpha, ++ _FPU_GETCW and friends are undefined on this arch ++ ++ -- Thomas Krennwallner Tue, 20 Dec 2016 05:10:36 +0100 ++ ++gringo (5.1.0-3) unstable; urgency=medium ++ ++ * debian/rules: fix FTBFS on architectures that require -latomic ++ ++ -- Thomas Krennwallner Fri, 16 Dec 2016 08:13:33 +0100 ++ ++gringo (5.1.0-2) unstable; urgency=medium ++ ++ * debian/rules: fix C++11 threads ++ - link with libatomic on architectures that need it ++ - disable threads and define BROKEN_STD_EXCEPTION_PTR on armel ++ * gringo-broken-std-exception_ptr.patch: add support for armel ++ ++ -- Thomas Krennwallner Thu, 15 Dec 2016 06:49:16 +0100 ++ ++gringo (5.1.0-1) unstable; urgency=medium ++ ++ * New upstream version 5.1.0 ++ * debian/copyright: update copyright year and github source ++ * debian/control ++ - Build-Depends on g++ >= 4:6.1.1 replaces libtbb-dev ++ - point Homepage to https://www.potassco.org ++ - use https for Vcs-* ++ - add Breaks clasp (<< 3.2.1-1) ++ * debian/rules ++ - build lpconvert ++ - drop libtbb-dev and use c++11 multi-threading ++ - disable threads on powerpc,powerpcspe,m68k,mips,mipsel,sh4 ++ * drop already applied upstream patches: gringo-include-math.patch, ++ gringo-solve-multi.patch, gringo-translate-minmax.patch ++ * gringo-fix-body-literals-as-auxiliary.patch: add upstream patch ++ cherry-picked from d6cfb89df6bbf138ca3e259d71ca7050b322b5d5 ++ ++ -- Thomas Krennwallner Sun, 11 Dec 2016 13:12:35 +0100 ++ ++gringo (4.5.4-4) unstable; urgency=medium ++ ++ * Bug fix: "please make the build reproducible", thanks to ++ Reiner Herrmann (Closes: #844096). ++ ++ -- Thomas Krennwallner Wed, 07 Dec 2016 08:27:20 +0100 ++ ++gringo (4.5.4-3) unstable; urgency=medium ++ ++ * Fix gringo-multi-solver.patch: this fixes an FTBFS on architectures ++ that have WITH_THREAD=0, i.e., all architectures except amd64 and ++ ppc64. ++ ++ -- Thomas Krennwallner Mon, 02 May 2016 07:18:34 +0200 ++ ++gringo (4.5.4-2) unstable; urgency=medium ++ ++ * Bug fix: "FTBFS: error: 'pow' is not a member of 'std'", thanks to ++ Martin Michlmayr (Closes: #822383). ++ * Add patch to fix random python multithreading segfaults (upstream bug 117) ++ * Add patch to fix #min/#max translation bug (upstream bug 119) ++ * Build with liblua5.3 ++ * Bump Standards-Version to 3.9.8 ++ ++ -- Thomas Krennwallner Sun, 01 May 2016 08:47:29 +0200 ++ ++gringo (4.5.4-1) unstable; urgency=medium ++ ++ * Imported Upstream version 4.5.4 ++ ++ -- Thomas Krennwallner Sat, 19 Dec 2015 14:07:05 +0100 ++ ++gringo (4.5.3-1) unstable; urgency=medium ++ ++ * Imported Upstream version 4.5.3 ++ ++ -- Thomas Krennwallner Sat, 26 Sep 2015 09:31:03 +0200 ++ ++gringo (4.5.1-1) unstable; urgency=medium ++ ++ * Imported Upstream version 4.5.1 ++ * Add reify.1 manpage ++ ++ -- Thomas Krennwallner Mon, 13 Jul 2015 09:01:56 +0200 ++ ++gringo (4.5.0-1) unstable; urgency=medium ++ ++ * Bump Standards-Version to 3.9.6. ++ * Imported Upstream version 4.5.0 ++ * debian/control: Add Breaks: aspcud (<= 1.9.0-2). Add reify description. ++ * debian/copyright: Update copyright information, remove outdated files. ++ * debian/docs: Remove NOTES. ++ * debian/install: Install reify. ++ * debian/rules: Build reify. ++ ++ -- Thomas Krennwallner Sat, 11 Jul 2015 09:36:10 +0200 ++ ++gringo (4.4.0-1) unstable; urgency=low ++ ++ * New upstream release. ++ * debian/control: Remove Suggests on potassco-guide. ++ * debian/control: Fix Vcs fields to use anonscm.debian.org. ++ * Setup git repository to use git-buildpackage. ++ * Import upstream sources with git-import-orig --pristine-tar. ++ ++ -- Thomas Krennwallner Mon, 18 Aug 2014 17:10:34 +0200 ++ ++gringo (4.3.0-2) unstable; urgency=low ++ ++ * Bug fix: "non-standard gcc/g++ used for build (gcc-4.8)", thanks to ++ Matthias Klose (Closes: #751317). ++ * Build with system-wide liblua5.2-dev. ++ ++ -- Thomas Krennwallner Thu, 12 Jun 2014 09:16:31 +0200 ++ ++gringo (4.3.0-1) unstable; urgency=low ++ ++ * New upstream release. ++ ++ -- Thomas Krennwallner Wed, 26 Feb 2014 13:06:29 +0100 ++ ++gringo (4.2.1-4) unstable; urgency=low ++ ++ * Bug fix: "add ppc64el to architecture list for libtbb-dev to fix ++ FTBFS", thanks to Logan Rosen (Closes: #735005). ++ ++ -- Thomas Krennwallner Sun, 12 Jan 2014 19:22:44 +0100 ++ ++gringo (4.2.1-3) unstable; urgency=low ++ ++ * debian/control: Breaks aspcud <= 2012.10.24-6 after discussion with ++ upstream. ++ Remove spurious Build-Depends on libboost-filesystem-dev and ++ libboost-system-dev. ++ ++ -- Thomas Krennwallner Wed, 18 Dec 2013 09:42:59 +0100 ++ ++gringo (4.2.1-2) unstable; urgency=low ++ ++ * debian/control: FTBFS on ia64 sparc powerpc, Build-Depends is now ++ g++-4.8 >= 4.8.0. ++ * debian/rules: Set CXX to g++-4.8. ++ ++ -- Thomas Krennwallner Tue, 17 Dec 2013 07:07:54 +0100 ++ ++gringo (4.2.1-1) unstable; urgency=low ++ ++ gringo 4.2 adds support for {i,o,}clingo again. ++ ++ * New upstream release. ++ * debian/watch: Back to watching all releases of gringo. ++ * debian/rules: Add scons, python, tbb, and hardening support. ++ * debian/install: Install gringo and clingo. ++ * debian/gringo.links: Symlink clingo binary and manpage to {i,o}clingo. ++ * debian/gringo.manpages: Remove iclingo manpage. ++ * debian/control: Build-Depends on bison, scons, g++ >= 4.8.0, ++ libpython2.7-dev, libtbb-dev. ++ Bump Standards-Version to 3.9.5. ++ ++ -- Thomas Krennwallner Mon, 16 Dec 2013 16:28:42 +0100 ++ ++gringo (3.0.5-1) unstable; urgency=low ++ ++ * New upstream release. ++ * debian/copyright: Update copyright years. ++ * debian/compat: Bump to version 9. ++ * debian/control: ++ - Remove DM-Upload-Allowed. ++ - Build-Depends on debhelper >= 9. ++ * debian/watch: Only watch upstream gringo >= 3. ++ * debian/patches/gringo-clang-gcc.patch debian/patches/gringo-cond.patch ++ debian/patches/gringo-domain-fwd-decl.patch ++ debian/patches/gringo-unpool-pred.patch debian/patches/series: Remove ++ already applied patches. ++ ++ -- Thomas Krennwallner Tue, 21 May 2013 19:04:24 +0200 ++ ++gringo (3.0.4-4) unstable; urgency=low ++ ++ * Apply upstream patches from subversion r6200 and r6237 for fixing ++ potassco bugs 75 and 76, resp. ++ * debian/patches/gringo-cond.patch: New file originally from ++ http://sourceforge.net/p/potassco/code/6291/tree/tags/gringo-3.0.4/patches/patch-cond.diff?format=raw. ++ * debian/patches/gringo-unpool-pred.patch: New file originally from ++ http://sourceforge.net/p/potassco/code/6291/tree/tags/gringo-3.0.4/patches/patch-unpool-pred.diff?format=raw. ++ * debian/control: Bump Standards-Version to 3.9.4. ++ ++ -- Thomas Krennwallner Thu, 22 Nov 2012 10:40:56 +0100 ++ ++gringo (3.0.4-3) unstable; urgency=low ++ ++ * Bug fix: "please build-depend on unversionend boost libraries", thanks ++ to Ralf Treinen (Closes: #672933). ++ ++ -- Thomas Krennwallner Wed, 23 May 2012 15:25:09 +0200 ++ ++gringo (3.0.4-2) unstable; urgency=low ++ ++ * debian/patches/gringo-clang-gcc.patch: New file originally from ++ https://potassco.svn.sourceforge.net/svnroot/potassco/tags/gringo-3.0.4/patches/patch-clang.diff. ++ * Bug fix: "ftbfs with GCC-4.7", thanks to Matthias Klose (Closes: ++ #667193). ++ * debian/control: Bump Standards-Version to 3.9.3. ++ ++ -- Thomas Krennwallner Tue, 10 Apr 2012 16:48:52 +0200 ++ ++gringo (3.0.4-1ubuntu1~oneiric1) oneiric; urgency=low ++ ++ * Upload to ppa:~tkren/asp. ++ ++ -- Thomas Krennwallner Fri, 27 Jan 2012 08:08:04 +0100 ++ ++gringo (3.0.4-1) unstable; urgency=low ++ ++ * New upstream release. ++ ++ -- Thomas Krennwallner Thu, 26 Jan 2012 14:59:59 +0100 ++ ++gringo (3.0.3-7) unstable; urgency=low ++ ++ * debian/copyright: Fix comma-separated-files-in-dep5-copyright, ++ obsolete-field-in-dep5-copyright and unversioned-copyright-format-uri ++ lintian warnings. ++ * Bug fix: "FTBFS: clone_allocator.hpp:34:27: error: invalid use of ++ incomplete type ", thanks to Lucas Nussbaum ++ (Closes: #652787). ++ * debian/patches/gringo-domain-fwd-decl.patch: New file. ++ * debian/control: Build-Depends on re2c to recreate parser.cpp from ++ parser.r2c, add boost version libboost-*N.MM-dev. ++ * debian/rules: Add override_dh_auto_configure and remove parser.cpp and ++ converter.cpp to force recreation of re2c lexer files. ++ ++ -- Thomas Krennwallner Sun, 25 Dec 2011 18:44:20 +0100 ++ ++gringo (3.0.3-6) unstable; urgency=low ++ ++ * debian/control: Setup as Debian Science project. ++ - Set Maintainer to Debian Science Maintainers and Uploaders to Thomas ++ Krennwallner. ++ - Set DM-Upload-Allowed to yes. ++ - Convert bzr repository to git and use Vcs-Git and Vcs-Browser ++ accordingly. ++ - Build-Depends on debhelper >= 8.0.0. ++ * debian/rules: Add override_dh_auto_build to get rid off ++ debian/patches/gringo-makefile.patch. ++ * debian/patches/gringo-makefile.patch debian/patches/series: Remove ++ debian/patches/gringo-makefile.patch. ++ ++ -- Thomas Krennwallner Mon, 05 Sep 2011 13:21:51 +0200 ++ ++gringo (3.0.3-5~natty1) natty; urgency=low ++ ++ * debian/watch: Fix lintian debian-watch-contains-dh_make-template. ++ * debian/control: Lower Priority to extra and bump Standards-Version to ++ 3.9.2. ++ ++ -- Thomas Krennwallner Fri, 29 Apr 2011 07:11:12 +0200 ++ ++gringo (3.0.3-4) unstable; urgency=low ++ ++ * debian/control: Combine gringo, clingo, and iclingo binary packages ++ into gringo. ++ + Conflicts and Replaces clingo and iclingo. ++ * debian/copyright: Convert to DEP-5 format and add missing licenses. ++ * debian/rules: Add override_dh_installchangelogs for CHANGES file. ++ * debian/install: Install gringo, clingo and iclingo. ++ * Refresh debian/patches/gringo-makefile.patch; do not install anything ++ here. ++ ++ -- Thomas Krennwallner Tue, 22 Feb 2011 09:38:26 +0100 ++ ++gringo (3.0.3-3) unstable; urgency=low ++ ++ * Initial upload (Closes: #605879) ++ ++ -- Thomas Krennwallner Sun, 05 Dec 2010 18:01:28 +0100 ++ ++gringo (3.0.3-2) unstable; urgency=low ++ ++ * Upload to mentors.debian.net. ++ ++ -- Thomas Krennwallner Sat, 20 Nov 2010 09:43:35 +0100 ++ ++gringo (3.0.3-1~maverick1) maverick; urgency=low ++ ++ * New upstream release. ++ ++ * Fix changelog entries. ++ ++ -- Thomas Krennwallner Fri, 12 Nov 2010 05:53:36 +0100 ++ ++gringo (3.0.2-2~maverick1) maverick; urgency=low ++ ++ * Tag distro-series. ++ ++ * Fix Standards-Version and Priority. ++ ++ * Suggest potassco-guide. ++ ++ * Fix missing changelog. ++ ++ * Add additional authors to copyright. ++ ++ -- Thomas Krennwallner Sun, 10 Oct 2010 08:50:01 +0200 ++ ++gringo (3.0.2-1) lucid; urgency=low ++ ++ * New upstream release. ++ ++ -- Thomas Krennwallner Mon, 04 Oct 2010 22:03:12 +0200 ++ ++gringo (3.0.1-2) lucid; urgency=low ++ ++ * Build with system-wide liblua5.1-dev. ++ ++ -- Thomas Krennwallner Wed, 28 Jul 2010 06:15:10 +0200 ++ ++gringo (3.0.1-1) lucid; urgency=low ++ ++ * New upstream release. ++ ++ -- Thomas Krennwallner Tue, 27 Jul 2010 06:00:34 +0200 ++ ++gringo (2.0.5-6) lucid; urgency=low ++ ++ * Switch to dpkg-source 3.0 (quilt) format. ++ ++ * Fix lintian warning debhelper-but-no-misc-depends: add ${misc:Depends} to potassco-guide. ++ ++ -- Thomas Krennwallner Sun, 06 Jun 2010 18:18:22 +0200 ++ ++gringo (2.0.5-5) lucid; urgency=low ++ ++ * Added watch file. ++ ++ * Added Vcs-Bzr to control. ++ ++ -- Thomas Krennwallner Tue, 01 Jun 2010 14:47:13 +0200 ++ ++gringo (2.0.5-4) lucid; urgency=low ++ ++ * Set Architecture of all binary packages to "any". ++ ++ -- Thomas Krennwallner Fri, 28 May 2010 09:21:58 +0200 ++ ++gringo (2.0.5-3) lucid; urgency=low ++ ++ * Set Architecture of all binary packages to "all". ++ ++ -- Thomas Krennwallner Fri, 28 May 2010 07:04:46 +0200 ++ ++gringo (2.0.5-2) lucid; urgency=low ++ ++ * Moved to Ubuntu PPA. ++ ++ -- Thomas Krennwallner Wed, 26 May 2010 00:33:32 +0200 ++ ++gringo (2.0.5-1) unstable; urgency=low ++ ++ * Initial release. ++ ++ -- Thomas Krennwallner Thu, 04 Mar 2010 19:47:14 +0100 diff --cc debian/compat index 0000000,0000000..ec63514 new file mode 100644 --- /dev/null +++ b/debian/compat @@@ -1,0 -1,0 +1,1 @@@ ++9 diff --cc debian/control index 0000000,0000000..078503d new file mode 100644 --- /dev/null +++ b/debian/control @@@ -1,0 -1,0 +1,48 @@@ ++Source: gringo ++Section: interpreters ++Priority: extra ++Maintainer: Debian Science Maintainers ++Uploaders: Thomas Krennwallner ++Build-Depends: debhelper (>= 9), ++ g++ (>= 4:6.1.1), ++ scons, ++ re2c, ++ bison, ++ liblua5.3-dev, ++ libpython2.7-dev ++Standards-Version: 3.9.8 ++Vcs-Git: https://anonscm.debian.org/git/debian-science/packages/gringo.git ++Vcs-Browser: https://anonscm.debian.org/cgit/debian-science/packages/gringo.git ++Homepage: https://www.potassco.org/clasp/ ++ ++Package: gringo ++Architecture: any ++Depends: ${shlibs:Depends}, ${misc:Depends} ++Recommends: clasp ++Replaces: clingo, iclingo ++Conflicts: clingo, iclingo ++Breaks: ++ aspcud (<= 1.9.0-2), ++ clasp (<< 3.2.1-1) ++Description: grounding tools for (disjunctive) logic programs ++ Current answer set solvers work on variable-free programs. Hence, a ++ grounder is needed that, given an input program with first-order ++ variables, computes an equivalent ground (variable-free) program. ++ . ++ This package contains the following tools: ++ . ++ - gringo: a grounder that, given an input program with first-order ++ variables, computes an equivalent ground (variable-free) program in ++ aspif format. Its output can be processed further with answer set ++ solver clasp. Starting with gringo series 5, its output is no longer ++ directly compatible with solvers like smodels or cmodels reading ++ smodels format. Use lpconvert for translating aspif format to ++ smodels format. ++ - clingo: combines both gringo and clasp into a monolithic system. ++ This way it offers more control over the grounding and solving ++ process than gringo and clasp can offer individually: multi-shot ++ solving. ++ - lpconvert: converter between gringo's aspif and smodels format. ++ - reify: small utility that reifies logic programs given in aspif ++ format. It produces a set of facts, which can be processed further ++ with gringo. diff --cc debian/copyright index 0000000,0000000..57aa1f6 new file mode 100644 --- /dev/null +++ b/debian/copyright @@@ -1,0 -1,0 +1,229 @@@ ++Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ ++Upstream-Name: gringo ++Upstream-Contact: Roland Kaminski ++Source: https://github.com/potassco/clingo/releases ++ ++Files: * ++Copyright: 2008-2013, Roland Kaminski ++License: GPL-3+ ++ ++Files: app/* ++Copyright: 2013, 2015, 2016, Benjamin Kaufmann ++License: GPL-3+ ++ ++Files: app/cexample/* ++Copyright: 2008-2013, Roland Kaminski ++License: GPL-3+ ++ ++Files: app/clingo/* ++Copyright: 2008-2013, Roland Kaminski ++License: GPL-3+ ++ ++Files: app/clingo/src/* ++Copyright: 2013, Roland Kaminski ++ 2013, Benjamin Kaufmann ++License: GPL-3+ ++ ++Files: app/clingo/src/clasp/* ++Copyright: 2006-2016, Benjamin Kaufmann ++License: GPL-2+ ++ ++Files: app/clingo/src/main.cc ++Copyright: 2013, 2015, 2016, Benjamin Kaufmann ++License: GPL-3+ ++ ++Files: app/example/* ++Copyright: 2013, Roland Kaminski ++ 2013, Benjamin Kaufmann ++License: GPL-3+ ++ ++Files: app/gringo/* ++Copyright: 2013, Roland Kaminski ++License: GPL-3+ ++ ++Files: app/reify/* ++Copyright: 2013, Roland Kaminski ++License: GPL-3+ ++ ++Files: debian/* ++Copyright: 2010-2016, Thomas Krennwallner ++License: GPL-3+ ++ ++Files: libclasp/* ++Copyright: 2006-2014, Benjamin Kaufmann ++License: GPL-2+ ++ ++Files: libclasp/clasp/* ++Copyright: 2006-2016, Benjamin Kaufmann ++License: GPL-2+ ++ ++Files: libclasp/clasp/parser.h ++Copyright: Benjamin Kaufmann ++License: GPL-2+ ++ ++Files: libclasp/clasp/util/hash_map.h ++Copyright: 2006-2014, Benjamin Kaufmann ++License: GPL-2+ ++ ++Files: libclasp/src/* ++Copyright: 2006-2016, Benjamin Kaufmann ++License: GPL-2+ ++ ++Files: libclasp/src/parser.cpp ++ libclasp/src/solver_strategies.cpp ++Copyright: Benjamin Kaufmann ++License: GPL-2+ ++ ++Files: libclingo/* ++Copyright: 2013, Roland Kaminski ++ 2013, Benjamin Kaufmann ++License: GPL-3+ ++ ++Files: libclingo/tests/* ++Copyright: Roland Kaminski ++License: GPL-3+ ++ ++Files: libclingo/tests/catch.hpp ++Copyright: 2012, Two Blue Cubes Ltd. ++License: BSL-1.0 ++ ++Files: libclingo/tests/variant.cc ++Copyright: 2008-2013, Roland Kaminski ++License: GPL-3+ ++ ++Files: libgringo/* ++Copyright: 2013, Roland Kaminski ++License: GPL-3+ ++ ++Files: libgringo/clingo.h ++ libgringo/clingo.hh ++Copyright: Roland Kaminski ++License: GPL-3+ ++ ++Files: libgringo/gringo/symbol.hh ++Copyright: Roland Kaminski ++License: GPL-3+ ++ ++Files: libgringo/src/control.cc ++ libgringo/src/symbol.cc ++Copyright: Roland Kaminski ++License: GPL-3+ ++ ++Files: libgringo/src/output/literal.cc ++Copyright: 2008-2013, Roland Kaminski ++License: GPL-3+ ++ ++Files: libgringo/tests/catch.hpp ++Copyright: 2012, Two Blue Cubes Ltd. ++License: BSL-1.0 ++ ++Files: liblp/* ++Copyright: 2013, 2015, 2016, Benjamin Kaufmann ++License: GPL-3+ ++ ++Files: liblp/potassco/theory_data.h ++Copyright: 2006-2016, Benjamin Kaufmann ++License: GPL-2+ ++ ++Files: liblp/src/theory_data.cpp ++Copyright: 2006-2016, Benjamin Kaufmann ++License: GPL-2+ ++ ++Files: liblp/tests/catch.hpp ++Copyright: 2012, Two Blue Cubes Ltd. ++License: BSL-1.0 ++ ++Files: libprogram_opts/* ++Copyright: Benjamin Kaufmann ++License: GPL-2+ ++ ++Files: libprogram_opts/program_opts/* ++Copyright: 2004, Benjamin Kaufmann ++License: GPL-2+ ++ ++Files: libprogram_opts/program_opts/detail/* ++Copyright: 2010, Benjamin Kaufmann ++License: GPL-2+ ++ ++Files: libprogram_opts/program_opts/mapped_value.h ++ libprogram_opts/program_opts/value_store.h ++Copyright: 2010, Benjamin Kaufmann ++License: GPL-2+ ++ ++Files: libprogram_opts/src/value_store.cpp ++Copyright: 2010, Benjamin Kaufmann ++License: GPL-2+ ++ ++Files: libreify/reify/util.hh ++Copyright: 2013, Roland Kaminski ++License: GPL-3+ ++ ++Files: libreify/tests/catch.hpp ++Copyright: 2012, Two Blue Cubes Ltd. ++License: BSL-1.0 ++ ++License: BSL-1.0 ++ Permission is hereby granted, free of charge, to any person or organization ++ obtaining a copy of the software and accompanying documentation covered by ++ this license (the "Software") to use, reproduce, display, distribute, ++ execute, and transmit the Software, and to prepare derivative works of the ++ Software, and to permit third-parties to whom the Software is furnished to ++ do so, all subject to the following: ++ . ++ The copyright notices in the Software and this entire statement, including ++ the above license grant, this restriction and the following disclaimer, ++ must be included in all copies of the Software, in whole or in part, and ++ all derivative works of the Software, unless such copies or derivative ++ works are solely in the form of machine-executable object code generated by ++ a source language processor. ++ . ++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT ++ SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE ++ FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ++ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++ DEALINGS IN THE SOFTWARE. ++ ++License: GPL-2+ ++ This program is free software; you can redistribute it ++ and/or modify it under the terms of the GNU General Public ++ License as published by the Free Software Foundation; either ++ version 2 of the License, or (at your option) any later ++ version. ++ . ++ This program is distributed in the hope that it will be ++ useful, but WITHOUT ANY WARRANTY; without even the implied ++ warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ++ PURPOSE. See the GNU General Public License for more ++ details. ++ . ++ You should have received a copy of the GNU General Public ++ License along with this package; if not, write to the Free ++ Software Foundation, Inc., 51 Franklin St, Fifth Floor, ++ Boston, MA 02110-1301 USA ++ . ++ On Debian systems, the full text of the GNU General Public ++ License version 2 can be found in the file ++ `/usr/share/common-licenses/GPL-2'. ++ ++License: GPL-3+ ++ This program is free software: you can redistribute it ++ and/or modify it under the terms of the GNU General Public ++ License as published by the Free Software Foundation, either ++ version 3 of the License, or (at your option) any later ++ version. ++ . ++ This program is distributed in the hope that it will be ++ useful, but WITHOUT ANY WARRANTY; without even the implied ++ warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ++ PURPOSE. See the GNU General Public License for more ++ details. ++ . ++ You should have received a copy of the GNU General Public ++ License along with this program. If not, see ++ . ++ . ++ On Debian systems, the full text of the GNU General Public ++ License version 3 can be found in the file ++ `/usr/share/common-licenses/GPL-3'. diff --cc debian/docs index 0000000,0000000..b9de7ba new file mode 100644 --- /dev/null +++ b/debian/docs @@@ -1,0 -1,0 +1,2 @@@ ++README.md ++examples diff --cc debian/gringo.links index 0000000,0000000..1f295db new file mode 100644 --- /dev/null +++ b/debian/gringo.links @@@ -1,0 -1,0 +1,4 @@@ ++usr/bin/clingo usr/bin/iclingo ++usr/bin/clingo usr/bin/oclingo ++usr/share/man/man1/clingo.1 usr/share/man/man1/iclingo.1 ++usr/share/man/man1/clingo.1 usr/share/man/man1/oclingo.1 diff --cc debian/gringo.manpages index 0000000,0000000..8d0e373 new file mode 100644 --- /dev/null +++ b/debian/gringo.manpages @@@ -1,0 -1,0 +1,4 @@@ ++gringo.1 ++clingo.1 ++reify.1 ++lpconvert.1 diff --cc debian/install index 0000000,0000000..57650b3 new file mode 100644 --- /dev/null +++ b/debian/install @@@ -1,0 -1,0 +1,4 @@@ ++build/release/gringo usr/bin/ ++build/release/clingo usr/bin/ ++build/release/reify usr/bin/ ++build/release/lpconvert usr/bin/ diff --cc debian/patches/gringo-alpha-fpu-getcw.patch index 0000000,0000000..d8cf944 new file mode 100644 --- /dev/null +++ b/debian/patches/gringo-alpha-fpu-getcw.patch @@@ -1,0 -1,0 +1,23 @@@ ++From: Thomas Krennwallner ++Date: Sat, 17 Dec 2016 07:27:31 +0100 ++Subject: alpha FTBFS: _FPU_GETCW is undefined ++Forwarded: https://github.com/potassco/clasp/pull/3 ++ ++=================================================================== ++--- ++ app/clingo/src/clasp/clasp_app.cpp | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++diff --git a/app/clingo/src/clasp/clasp_app.cpp b/app/clingo/src/clasp/clasp_app.cpp ++index 31f2b70..cb4294e 100644 ++--- a/app/clingo/src/clasp/clasp_app.cpp +++++ b/app/clingo/src/clasp/clasp_app.cpp ++@@ -32,7 +32,7 @@ ++ #endif ++ #include ++ ++-#if defined( __linux__ ) +++#if defined( __linux__ ) && !defined(__alpha__) ++ #include ++ #if defined(_FPU_EXTENDED) && defined(_FPU_SINGLE) && defined(_FPU_DOUBLE) ++ #define FPU_SWITCH_DOUBLE(oldW) _FPU_GETCW(oldW);\ diff --cc debian/patches/gringo-broken-std-exception_ptr.patch index 0000000,0000000..e852a89 new file mode 100644 --- /dev/null +++ b/debian/patches/gringo-broken-std-exception_ptr.patch @@@ -1,0 -1,0 +1,179 @@@ ++From: Thomas Krennwallner ++Date: Wed, 14 Dec 2016 08:37:15 +0100 ++Subject: add support for architectures with broken std::exception_ptr ++ std::exception_ptr is currently not supported on armel, see libstdc++ ++ bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58938 ++Forwarded: not-needed ++ ++=================================================================== ++--- ++ libgringo/gringo/control.hh | 22 +++++++++++++++++++++- ++ libgringo/src/control.cc | 39 ++++++++++++++++++++++++++++++++------- ++ 2 files changed, 53 insertions(+), 8 deletions(-) ++ ++diff --git a/libgringo/gringo/control.hh b/libgringo/gringo/control.hh ++index 6338d6f..197eb1e 100644 ++--- a/libgringo/gringo/control.hh +++++ b/libgringo/gringo/control.hh ++@@ -270,11 +270,31 @@ void inline clingo_expect(bool expr) { ++ if (!expr) { throw std::runtime_error("unexpected"); } ++ } ++ ++-void handleCError(bool ret, std::exception_ptr *exc = nullptr); +++#ifndef BROKEN_STD_EXCEPTION_PTR +++typedef std::exception_ptr clingo_exception_holder_t; ++ void handleCXXError(); +++#else +++typedef std::shared_ptr clingo_exception_holder_t; +++void handleCXXError(const char *what, clingo_error_t err); +++#endif +++ +++void handleCError(bool ret, clingo_exception_holder_t *exc = nullptr); ++ ++ #define GRINGO_CLINGO_TRY try +++ +++#ifndef BROKEN_STD_EXCEPTION_PTR ++ #define GRINGO_CLINGO_CATCH catch (...) { Gringo::handleCXXError(); return false; } return true +++#else +++#define GRINGO_CLINGO_CATCH \ +++ catch (Gringo::GringoError const &e) { Gringo::handleCXXError(e.what(), clingo_error_runtime); return false; } \ +++ catch (Gringo::ClingoError const &e) { return false; } \ +++ catch (Gringo::MessageLimitError const &e) { Gringo::handleCXXError(e.what(), clingo_error_runtime); return false; } \ +++ catch (std::bad_alloc const &e) { Gringo::handleCXXError(e.what(), clingo_error_bad_alloc); return false; } \ +++ catch (std::runtime_error const &e) { Gringo::handleCXXError(e.what(), clingo_error_runtime); return false; } \ +++ catch (std::logic_error const &e) { Gringo::handleCXXError(e.what(), clingo_error_logic); return false; } \ +++ catch (...) { Gringo::handleCXXError("", clingo_error_unknown); return false; } \ +++ return true +++#endif ++ ++ // }}}1 ++ ++diff --git a/libgringo/src/control.cc b/libgringo/src/control.cc ++index 67c6691..384f3cb 100644 ++--- a/libgringo/src/control.cc +++++ b/libgringo/src/control.cc ++@@ -72,18 +72,18 @@ void print(char *ret, size_t n, F f) { ++ } ++ ++ #ifndef GRINGO_NO_THREAD_LOCAL ++- thread_local std::exception_ptr g_lastException; +++ thread_local clingo_exception_holder_t g_lastException; ++ thread_local std::string g_lastMessage; ++ thread_local clingo_error_t g_lastCode; ++ #else ++ struct TLData { ++- std::exception_ptr lastException; +++ clingo_exception_holder_t lastException; ++ std::string lastMessage; ++ clingo_error_t lastCode; ++ }; ++ std::mutex g_tLMut; ++ std::unordered_map g_tLData; ++- std::exception_ptr &tLlastException() { +++ clingo_exception_holder_t &tLlastException() { ++ std::lock_guard lock(g_tLMut); ++ return g_tLData[std::this_thread::get_id()].lastException; ++ } ++@@ -102,9 +102,13 @@ void print(char *ret, size_t n, F f) { ++ ++ } // namespace ++ ++-void handleCError(bool ret, std::exception_ptr *exc) { +++void handleCError(bool ret, clingo_exception_holder_t *exc) { ++ if (!ret) { +++#ifndef BROKEN_STD_EXCEPTION_PTR ++ if (exc && *exc) { std::rethrow_exception(*exc); } +++#else +++ if (exc && *exc) { throw std::runtime_error(**exc); } +++#endif ++ char const *msg = clingo_error_message(); ++ if (!msg) { msg = "no message"; } ++ switch (static_cast(clingo_error_code())) { ++@@ -117,6 +121,7 @@ void handleCError(bool ret, std::exception_ptr *exc) { ++ } ++ } ++ +++#ifndef BROKEN_STD_EXCEPTION_PTR ++ void handleCXXError() { ++ try { throw; } ++ catch (Gringo::GringoError const &) { g_lastException = std::current_exception(); g_lastCode = clingo_error_runtime; return; } ++@@ -130,6 +135,12 @@ void handleCXXError() { ++ catch (std::logic_error const &) { g_lastException = std::current_exception(); g_lastCode = clingo_error_logic; return; } ++ g_lastCode = clingo_error_unknown; ++ } +++#else +++void handleCXXError(const char *what, clingo_error_t err) { +++ g_lastException = clingo_exception_holder_t(new std::string(what)); +++ g_lastCode = err; +++} +++#endif ++ ++ // }}}1 ++ ++@@ -261,7 +272,12 @@ SymbolType Symbol::type() const { ++ } ++ ++ #define CLINGO_CALLBACK_TRY try +++ +++#ifndef BROKEN_STD_EXCEPTION_PTR ++ #define CLINGO_CALLBACK_CATCH(ref) catch (...){ (ref) = std::current_exception(); return false; } return true +++#else +++#define CLINGO_CALLBACK_CATCH(ref) catch (std::exception &e){ (ref) = clingo_exception_holder_t(new std::string(e.what())); return false; } return true +++#endif ++ ++ std::string Symbol::to_string() const { ++ return ::to_string(clingo_symbol_to_string_size, clingo_symbol_to_string, sym_); ++@@ -1588,7 +1604,7 @@ void Control::add(char const *name, StringSpan params, char const *part) { ++ } ++ ++ void Control::ground(PartSpan parts, GroundCallback cb) { ++- using Data = std::pair; +++ using Data = std::pair; ++ Data data(cb, nullptr); ++ handleCError(clingo_control_ground(*impl_, reinterpret_cast(parts.begin()), parts.size(), ++ [](clingo_location_t loc, char const *name, clingo_symbol_t const *args, size_t n, void *data, clingo_symbol_callback_t *cb, void *cbdata) -> bool { ++@@ -1612,7 +1628,7 @@ clingo_control_t *Control::to_c() const { return *impl_; } ++ ++ SolveResult Control::solve(ModelCallback mh, SymbolicLiteralSpan assumptions) { ++ clingo_solve_result_bitset_t ret; ++- using Data = std::pair; +++ using Data = std::pair; ++ Data data(mh, nullptr); ++ handleCError(clingo_control_solve(*impl_, [](clingo_model_t *m, void *data, bool *ret) -> bool { ++ auto &d = *static_cast(data); ++@@ -2590,7 +2606,7 @@ std::ostream &operator<<(std::ostream &out, Statement const &x) { ++ } // namespace AST ++ ++ void parse_program(char const *program, StatementCallback cb, Logger logger, unsigned message_limit) { ++- using Data = std::pair; +++ using Data = std::pair; ++ Data data(cb, nullptr); ++ handleCError(clingo_parse_program(program, [](clingo_ast_statement_t const *stm, void *data) -> bool { ++ auto &d = *static_cast(data); ++@@ -2612,17 +2628,26 @@ void parse_program(char const *program, StatementCallback cb, Logger logger, uns ++ ++ extern "C" void clingo_set_error(clingo_error_t code, char const *message) { ++ g_lastCode = code; +++#ifndef BROKEN_STD_EXCEPTION_PTR ++ try { g_lastException = std::make_exception_ptr(std::runtime_error(message)); } +++#else +++ try { g_lastException = clingo_exception_holder_t(new std::string(message)); } +++#endif ++ catch (...) { g_lastException = nullptr; } ++ } ++ extern "C" char const *clingo_error_message() { ++ if (g_lastException) { +++#ifndef BROKEN_STD_EXCEPTION_PTR ++ try { std::rethrow_exception(g_lastException); } ++ catch (std::bad_alloc const &) { return "bad_alloc"; } ++ catch (std::exception const &e) { ++ g_lastMessage = e.what(); ++ return g_lastMessage.c_str(); ++ } +++#else +++ g_lastMessage = *g_lastException; +++ return g_lastMessage.c_str(); +++#endif ++ } ++ return nullptr; ++ } diff --cc debian/patches/gringo-fix-body-literals-as-auxiliary.patch index 0000000,0000000..a3ce644 new file mode 100644 --- /dev/null +++ b/debian/patches/gringo-fix-body-literals-as-auxiliary.patch @@@ -1,0 -1,0 +1,302 @@@ ++From: Roland Kaminski ++Date: Wed, 16 Nov 2016 12:12:52 +0100 ++Subject: bugfix: correctly mark body literals as auxiliary in all cases ++Origin: upstream, https://github.com/potassco/clingo/commit/d6cfb89df6bbf138ca3e259d71ca7050b322b5d5 ++Bug: https://sourceforge.net/p/potassco/mailman/message/35493632/ ++ ++--- ++ app/clingo/tests/lp/aggregates.lp | 38 +++++++++++++++++++++++++++++++++ ++ app/clingo/tests/lp/aggregates.sol | 2 ++ ++ libgringo/gringo/ground/statements.hh | 20 ++++++++++------- ++ libgringo/src/ground/statements.cc | 20 ++++++++++------- ++ libgringo/src/input/aggregates.cc | 16 +++++++------- ++ libgringo/tests/ground/instantiation.cc | 8 +++++++ ++ 6 files changed, 80 insertions(+), 24 deletions(-) ++ create mode 100644 app/clingo/tests/lp/aggregates.lp ++ create mode 100644 app/clingo/tests/lp/aggregates.sol ++ ++diff --git a/app/clingo/tests/lp/aggregates.lp b/app/clingo/tests/lp/aggregates.lp ++new file mode 100644 ++index 0000000..40d6748 ++--- /dev/null +++++ b/app/clingo/tests/lp/aggregates.lp ++@@ -0,0 +1,38 @@ +++arg(s3). sat(s3):-ass(s3,Y_s3),lt(Y_s3,Z_s3),V_t_0=0, V_3_1=-V_t_0, V_t_2=0, V_2_1=-2*V_t_2+V_3_1, dom(V_t_3), V_t_3 #sum{Z_s3,s3}V_t_3, V_1_1=1*V_t_3+V_2_1, V_t_4=0, V_0_1=2*V_t_4+V_1_1, dom(V_1), V_1 #sum{1:V_0_1>0} V_1, V_1=1. +++inv(s3):-ass(s3,Y_s3),lt(Y_s3,Z_s3),V_t_0=0, V_3_1=-V_t_0, V_t_2=0, V_2_1=-2*V_t_2+V_3_1, dom(V_t_3), V_t_3 #sum{Z_s3,s3} V_t_3, V_1_1=1*V_t_3+V_2_1, V_t_4=0, V_0_1=2*V_t_4+V_1_1, dom(V_1), V_1 #sum{1:V_0_1>0}V_1, V_1=0. +++sattwo(s3):-asstwo(s3,Y_s3),lt(Y_s3,Z_s3),V_t_0=0, V_3_1=-V_t_0, V_t_2=0, V_2_1=-2*V_t_2+V_3_1, dom(V_t_3), V_t_3#sum{Z_s3,s3}V_t_3, V_1_1=1*V_t_3+V_2_1, V_t_4=0, V_0_1=2*V_t_4+V_1_1, dom(V_1), V_1 #sum{1:V_0_1>0}V_1, V_1=1. +++invtwo(s3):-asstwo(s3,Y_s3),lt(Y_s3,Z_s3),V_t_0=0, V_3_1=-V_t_0, V_t_2=0, V_2_1=-2*V_t_2+V_3_1, dom(V_t_3), V_t_3#sum{Z_s3,s3}V_t_3, V_1_1=1*V_t_3+V_2_1, V_t_4=0, V_0_1=2*V_t_4+V_1_1, dom(V_1), V_1 #sum{1:V_0_1>0}V_1, V_1=0. +++arg(s2). +++sat(s2):-V_t_5=0, V_3_6=-V_t_5, V_t_7=0, V_2_6=-2*V_t_7+V_3_6, V_t_8=0, V_1_6=1*V_t_8+V_2_6, V_t_9=0, V_0_6=2*V_t_9+V_1_6, dom(V_6), V_6#sum{1:V_0_6>0}V_6, V_6=1. +++inv(s2):-V_t_5=0, V_3_6=-V_t_5, V_t_7=0, V_2_6=-2*V_t_7+V_3_6, V_t_8=0, V_1_6=1*V_t_8+V_2_6, V_t_9=0, V_0_6=2*V_t_9+V_1_6, dom(V_6), V_6#sum{1:V_0_6>0}V_6, V_6=0. +++sattwo(s2):-V_t_5=0, V_3_6=-V_t_5, V_t_7=0, V_2_6=-2*V_t_7+V_3_6, V_t_8=0, V_1_6=1*V_t_8+V_2_6, V_t_9=0, V_0_6=2*V_t_9+V_1_6, dom(V_6), V_6#sum{1:V_0_6>0}V_6, V_6=1. +++invtwo(s2):-V_t_5=0, V_3_6=-V_t_5, V_t_7=0, V_2_6=-2*V_t_7+V_3_6, V_t_8=0, V_1_6=1*V_t_8+V_2_6, V_t_9=0, V_0_6=2*V_t_9+V_1_6, dom(V_6), V_6#sum{1:V_0_6>0}V_6, V_6=0. +++arg(s1). +++sat(s1):-ass(s2,Y_s2),lt(Y_s2,Z_s2),ass(s3,Y_s3),lt(Y_s3,Z_s3),dom(V_t_10), V_t_10#sum{Z_s2,s2}V_t_10, V_3_11=-V_t_10, V_t_12=0, V_2_11=-2*V_t_12+V_3_11, dom(V_t_13), V_t_13 #sum{Z_s3,s3}V_t_13, V_1_11=1*V_t_13+V_2_11, V_t_14=0, V_0_11=2*V_t_14+V_1_11, dom(V_11), V_11#sum{1:V_0_11>0}V_11, V_11=1. +++inv(s1):-ass(s2,Y_s2),lt(Y_s2,Z_s2),ass(s3,Y_s3),lt(Y_s3,Z_s3),dom(V_t_10), V_t_10#sum{Z_s2,s2}V_t_10, V_3_11=-V_t_10, V_t_12=0, V_2_11=-2*V_t_12+V_3_11, dom(V_t_13), V_t_13 #sum{Z_s3,s3}V_t_13, V_1_11=1*V_t_13+V_2_11, V_t_14=0, V_0_11=2*V_t_14+V_1_11, dom(V_11), V_11#sum{1:V_0_11>0}V_11, V_11=0. +++sattwo(s1):-asstwo(s2,Y_s2),lt(Y_s2,Z_s2),asstwo(s3,Y_s3),lt(Y_s3,Z_s3),dom(V_t_10), V_t_10#sum{Z_s2,s2}V_t_10, V_3_11=-V_t_10, V_t_12=0, V_2_11=-2*V_t_12+V_3_11, dom(V_t_13), V_t_13#sum{Z_s3,s3}V_t_13, V_1_11=1*V_t_13+V_2_11, V_t_14=0, V_0_11=2*V_t_14+V_1_11, dom(V_11), V_11#sum{1:V_0_11>0}V_11, V_11=1. +++invtwo(s1):-asstwo(s2,Y_s2),lt(Y_s2,Z_s2),asstwo(s3,Y_s3),lt(Y_s3,Z_s3),dom(V_t_10), V_t_10#sum{Z_s2,s2}V_t_10, V_3_11=-V_t_10, V_t_12=0, V_2_11=-2*V_t_12+V_3_11, dom(V_t_13), V_t_13#sum{Z_s3,s3}V_t_13, V_1_11=1*V_t_13+V_2_11, V_t_14=0, V_0_11=2*V_t_14+V_1_11, dom(V_11), V_11#sum{1:V_0_11>0}V_11, V_11=0. +++saturate:-ass(s3,X_1),asstwo(s3,X_1),ass(s2,X_2),asstwo(s2,X_2),ass(s1,X_3),asstwo(s1,X_3). +++dom(0..1). +++lt(u,0).lt(u,1).lt(1,1).lt(0,0). +++ass(S,0):-not ass(S,1),not ass(S,u),arg(S). +++ass(S,1):-not ass(S,u),not ass(S,0),arg(S). +++ass(S,u):-not ass(S,0),not ass(S,1),arg(S). +++:-arg(S),ass(S,1),inv(S). +++:-arg(S),ass(S,0),sat(S). +++asstwo(S,0):-ass(S,0). +++asstwo(S,1):-ass(S,1). +++asstwo(S,0)|asstwo(S,1)|asstwo(S,u):-ass(S,u). +++saturate:-arg(S),asstwo(S,1),invtwo(S). +++saturate:-arg(S),asstwo(S,0),sattwo(S). +++asstwo(S,0):-arg(S),ass(S,u),saturate. +++asstwo(S,1):-arg(S),ass(S,u),saturate. +++asstwo(S,u):-arg(S),ass(S,u),saturate. +++sattwo(S):-arg(S),ass(S,u),saturate. +++:-not saturate. +++#show ass/2. +++ +++:-ass(s1, 0),ass(s2, 0),ass(s3, 0). +++:-ass(s1, 1),ass(s2, 0),ass(s3, 1). +++ +++%unfounded: saturate, asstwo(s1,0), asstwo(s1,0) ++\ No newline at end of file ++diff --git a/app/clingo/tests/lp/aggregates.sol b/app/clingo/tests/lp/aggregates.sol ++new file mode 100644 ++index 0000000..94dc765 ++--- /dev/null +++++ b/app/clingo/tests/lp/aggregates.sol ++@@ -0,0 +1,2 @@ +++Step: 1 +++UNSAT ++diff --git a/libgringo/gringo/ground/statements.hh b/libgringo/gringo/ground/statements.hh ++index 5b26c65..f1804e7 100644 ++--- a/libgringo/gringo/ground/statements.hh +++++ b/libgringo/gringo/ground/statements.hh ++@@ -376,7 +376,7 @@ private: ++ ++ class BodyAggregateLiteral : public Literal, private BodyOcc { ++ public: ++- BodyAggregateLiteral(BodyAggregateComplete &complete, NAF naf); +++ BodyAggregateLiteral(BodyAggregateComplete &complete, NAF naf, bool auxiliary); ++ virtual ~BodyAggregateLiteral() noexcept; ++ ++ // {{{2 Printable interface ++@@ -388,7 +388,7 @@ public: ++ void collect(VarTermBoundVec &vars) const override; ++ Score score(Term::VarSet const &bound, Logger &log) override; ++ std::pair toOutput(Logger &log) override; ++- bool auxiliary() const override { return false; } // by construction +++ bool auxiliary() const override { return auxiliary_; } ++ // }}}2 ++ ++ private: ++@@ -407,6 +407,7 @@ private: ++ DefinedBy defs_; ++ Potassco::Id_t offset_ = 0; ++ NAF naf_; +++ bool auxiliary_; ++ OccurrenceType type_ = OccurrenceType::POSITIVELY_STRATIFIED; ++ }; ++ ++@@ -499,7 +500,7 @@ private: ++ ++ class AssignmentAggregateLiteral : public Literal, private BodyOcc { ++ public: ++- AssignmentAggregateLiteral(AssignmentAggregateComplete &complete); +++ AssignmentAggregateLiteral(AssignmentAggregateComplete &complete, bool auxiliary); ++ virtual ~AssignmentAggregateLiteral() noexcept; ++ // {{{2 Printable interface ++ void print(std::ostream &out) const override; ++@@ -510,7 +511,7 @@ public: ++ void collect(VarTermBoundVec &vars) const override; ++ Score score(Term::VarSet const &bound, Logger &log) override; ++ std::pair toOutput(Logger &log) override; ++- bool auxiliary() const override { return false; } // by construction +++ bool auxiliary() const override { return auxiliary_; } ++ // }}}2 ++ ++ private: ++@@ -529,6 +530,7 @@ private: ++ DefinedBy defs_; ++ Id_t offset_ = InvalidId; ++ OccurrenceType type_ = OccurrenceType::POSITIVELY_STRATIFIED; +++ bool auxiliary_; ++ }; ++ ++ // }}}1 ++@@ -667,7 +669,7 @@ private: ++ ++ class ConjunctionLiteral : public Literal, private BodyOcc { ++ public: ++- ConjunctionLiteral(ConjunctionComplete &complete); +++ ConjunctionLiteral(ConjunctionComplete &complete, bool auxiliary); ++ virtual ~ConjunctionLiteral() noexcept; ++ // {{{2 Printable interface ++ void print(std::ostream &out) const override; ++@@ -678,7 +680,7 @@ public: ++ void collect(VarTermBoundVec &vars) const override; ++ Score score(Term::VarSet const &bound, Logger &log) override; ++ std::pair toOutput(Logger &log) override; ++- bool auxiliary() const override { return false; } // by construction +++ bool auxiliary() const override { return auxiliary_; } ++ // }}}2 ++ ++ private: ++@@ -697,6 +699,7 @@ private: ++ DefinedBy defs_; ++ Id_t offset_; ++ OccurrenceType type_ = OccurrenceType::POSITIVELY_STRATIFIED; +++ bool auxiliary_; ++ }; ++ ++ // }}}1 ++@@ -786,7 +789,7 @@ private: ++ ++ class DisjointLiteral : public Literal, private BodyOcc { ++ public: ++- DisjointLiteral(DisjointComplete &complete, NAF naf); +++ DisjointLiteral(DisjointComplete &complete, NAF naf, bool auxiliary); ++ virtual ~DisjointLiteral() noexcept; ++ // {{{2 Printable interface ++ void print(std::ostream &out) const override; ++@@ -797,7 +800,7 @@ public: ++ void collect(VarTermBoundVec &vars) const override; ++ Score score(Term::VarSet const &bound, Logger &log) override; ++ std::pair toOutput(Logger &log) override; ++- bool auxiliary() const override { return false; } // by construction +++ bool auxiliary() const override { return auxiliary_; } ++ // }}}2 ++ private: ++ // {{{2 BodyOcc interface ++@@ -816,6 +819,7 @@ private: ++ Id_t offset_ = InvalidId; ++ OccurrenceType type_ = OccurrenceType::POSITIVELY_STRATIFIED; ++ NAF naf_; +++ bool auxiliary_; ++ }; ++ ++ // }}}1 ++diff --git a/libgringo/src/ground/statements.cc b/libgringo/src/ground/statements.cc ++index 17bbf6e..38a4562 100644 ++--- a/libgringo/src/ground/statements.cc +++++ b/libgringo/src/ground/statements.cc ++@@ -888,9 +888,10 @@ void BodyAggregateAccumulate::printHead(std::ostream &out) const { ++ ++ // {{{1 definition of BodyAggregateLiteral ++ ++-BodyAggregateLiteral::BodyAggregateLiteral(BodyAggregateComplete &complete, NAF naf) +++BodyAggregateLiteral::BodyAggregateLiteral(BodyAggregateComplete &complete, NAF naf, bool auxiliary) ++ : complete_(complete) ++-, naf_(naf) { } +++, naf_(naf) +++, auxiliary_(auxiliary) { } ++ ++ BodyAggregateLiteral::~BodyAggregateLiteral() noexcept = default; ++ ++@@ -1138,8 +1139,9 @@ void AssignmentAggregateAccumulate::printHead(std::ostream &out) const { ++ ++ // {{{1 Definition of AssignmentAggregateLiteral ++ ++-AssignmentAggregateLiteral::AssignmentAggregateLiteral(AssignmentAggregateComplete &complete) ++-: complete_(complete) { } +++AssignmentAggregateLiteral::AssignmentAggregateLiteral(AssignmentAggregateComplete &complete, bool auxiliary) +++: complete_(complete) +++, auxiliary_(auxiliary) { } ++ ++ AssignmentAggregateLiteral::~AssignmentAggregateLiteral() noexcept = default; ++ ++@@ -1206,8 +1208,9 @@ std::pair AssignmentAggregateLiteral::toOutput(Logger &) ++ ++ // {{{1 definition of ConjunctionLiteral ++ ++-ConjunctionLiteral::ConjunctionLiteral(ConjunctionComplete &complete) ++-: complete_(complete) { } +++ConjunctionLiteral::ConjunctionLiteral(ConjunctionComplete &complete, bool auxiliary) +++: complete_(complete) +++, auxiliary_(auxiliary) { } ++ ++ ConjunctionLiteral::~ConjunctionLiteral() noexcept = default; ++ ++@@ -1663,9 +1666,10 @@ void DisjointAccumulate::printHead(std::ostream &out) const { ++ ++ // {{{1 definition of DisjointLiteral ++ ++-DisjointLiteral::DisjointLiteral(DisjointComplete &complete, NAF naf) +++DisjointLiteral::DisjointLiteral(DisjointComplete &complete, NAF naf, bool auxiliary) ++ : complete_(complete) ++-, naf_(naf) { +++, naf_(naf) +++, auxiliary_(auxiliary) { ++ } ++ ++ DisjointLiteral::~DisjointLiteral() noexcept = default; ++diff --git a/libgringo/src/input/aggregates.cc b/libgringo/src/input/aggregates.cc ++index a77d5d9..98469a8 100644 ++--- a/libgringo/src/input/aggregates.cc +++++ b/libgringo/src/input/aggregates.cc ++@@ -324,8 +324,8 @@ CreateBody TupleBodyAggregate::toGround(ToGroundArg &x, Ground::UStmVec &stms) c ++ return std::move(ret); ++ }); ++ } ++- return CreateBody([&completeRef, this](Ground::ULitVec &lits, bool primary, bool) { ++- if (primary) { lits.emplace_back(gringo_make_unique(completeRef, naf)); } +++ return CreateBody([&completeRef, this](Ground::ULitVec &lits, bool primary, bool auxiliary) { +++ if (primary) { lits.emplace_back(gringo_make_unique(completeRef, naf, auxiliary)); } ++ }, std::move(split)); ++ } ++ else { ++@@ -362,8 +362,8 @@ CreateBody TupleBodyAggregate::toGround(ToGroundArg &x, Ground::UStmVec &stms) c ++ return std::move(ret); ++ }); ++ } ++- return CreateBody([&completeRef, this](Ground::ULitVec &lits, bool primary, bool) { ++- if (primary) { lits.emplace_back(gringo_make_unique(completeRef)); } +++ return CreateBody([&completeRef, this](Ground::ULitVec &lits, bool primary, bool auxiliary) { +++ if (primary) { lits.emplace_back(gringo_make_unique(completeRef, auxiliary)); } ++ }, std::move(split)); ++ } ++ } ++@@ -752,8 +752,8 @@ CreateBody Conjunction::toGround(ToGroundArg &x, Ground::UStmVec &stms) const { ++ return std::move(ret); ++ }); ++ ++- return CreateBody([&completeRef](Ground::ULitVec &lits, bool primary, bool) { ++- if (primary) { lits.emplace_back(gringo_make_unique(completeRef)); } +++ return CreateBody([&completeRef](Ground::ULitVec &lits, bool primary, bool auxiliary) { +++ if (primary) { lits.emplace_back(gringo_make_unique(completeRef, auxiliary)); } ++ }, std::move(split)); ++ } ++ ++@@ -1751,8 +1751,8 @@ CreateBody DisjointAggregate::toGround(ToGroundArg &x, Ground::UStmVec &stms) co ++ return std::move(ret); ++ }); ++ } ++- return CreateBody([&completeRef, this](Ground::ULitVec &lits, bool primary, bool) { ++- if (primary) { lits.emplace_back(gringo_make_unique(completeRef, naf)); } +++ return CreateBody([&completeRef, this](Ground::ULitVec &lits, bool primary, bool auxiliary) { +++ if (primary) { lits.emplace_back(gringo_make_unique(completeRef, naf, auxiliary)); } ++ }, std::move(split)); ++ } ++ ++diff --git a/libgringo/tests/ground/instantiation.cc b/libgringo/tests/ground/instantiation.cc ++index 22817af..7bc9d87 100644 ++--- a/libgringo/tests/ground/instantiation.cc +++++ b/libgringo/tests/ground/instantiation.cc ++@@ -1108,6 +1108,14 @@ TEST_CASE("ground-instantiation", "[ground]") { ++ "-q(X):-not not -q(X), p(X).\n" ++ " q(X):-not not q(X), p(X).\n")); ++ } +++ SECTION("two aggregates") { +++ REQUIRE( +++ "p:-#count{0,a:a}=0.\n" +++ "p:-#count{0,a:a}=1,1<=#count{0,b:b}.\n" +++ "{a;b}.\n" == ground( +++ "{a;b}.\n" +++ "p :- X = { a }, X { b }.\n")); +++ } ++ ++ SECTION("tuple") { ++ REQUIRE("p(((),())).\n" == ground("p(((),())).\n")); ++-- ++2.11.0 ++ diff --cc debian/patches/gringo-manpages.patch index 0000000,0000000..8a16f98 new file mode 100644 --- /dev/null +++ b/debian/patches/gringo-manpages.patch @@@ -1,0 -1,0 +1,265 @@@ ++From: Thomas Krennwallner ++Date: Wed, 7 Dec 2016 07:50:31 +0100 ++Subject: Add gringo.1, clingo.1, lpconvert.1, and reify.1 manpages ++ ++=================================================================== ++--- ++ clingo.1 | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++ gringo.1 | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++ lpconvert.1 | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ ++ reify.1 | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++ 4 files changed, 225 insertions(+) ++ create mode 100644 clingo.1 ++ create mode 100644 gringo.1 ++ create mode 100644 lpconvert.1 ++ create mode 100644 reify.1 ++ ++diff --git a/clingo.1 b/clingo.1 ++new file mode 100644 ++index 0000000..ba04b34 ++--- /dev/null +++++ b/clingo.1 ++@@ -0,0 +1,58 @@ +++.\" Hey, EMACS: -*- nroff -*- +++.\" First parameter, NAME, should be all caps +++.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +++.\" other parameters are allowed: see man(7), man(1) +++.TH CLINGO 1 "December 11, 2016" +++.\" Please adjust this date whenever revising the manpage. +++.\" +++.\" Some roff macros, for reference: +++.\" .nh disable hyphenation +++.\" .hy enable hyphenation +++.\" .ad l left justify +++.\" .ad b justify to both left and right margins +++.\" .nf disable filling +++.\" .fi enable filling +++.\" .br insert line break +++.\" .sp insert n+1 empty lines +++.\" for manpage-specific macros, see man(7) +++.SH NAME +++clingo \- a combination of clasp and gringo +++.SH SYNOPSIS +++.B clingo +++[\fIOPTION\fR]... \fR[\fIFILE\fR]... +++.SH DESCRIPTION +++This manual page documents briefly the +++.B clingo +++command. +++.PP +++.\" TeX users may be more comfortable with the \fB\fP and +++.\" \fI\fP escape sequences to invode bold face and italics, +++.\" respectively. +++\fBclingo\fP stands for clasp on gringo and combines both systems in a +++monolithic way. Its input language is that of gringo and its output +++corresponds to that of clasp. This way it offers more control over the +++grounding and solving process than gringo and clasp can offer +++individually: multi-shot solving. +++.SH OPTIONS +++These programs follow the usual GNU command line syntax, with long +++options starting with two dashes (`-'). +++A summary of options is included below. +++For a complete description, see the potassco-guide at +++https://sourceforge.net/projects/potassco/files/guide/. +++.TP +++.B \-h, \-\-help +++Show summary of options. +++.TP +++.B \-v, \-\-version +++Show version of program. +++.SH SEE ALSO +++.BR clasp (1), +++.BR gringo (1), +++.BR lpconvert (1), +++.BR reify (1) +++.br +++.SH AUTHOR +++clingo was written by Roland Kaminski +++.PP +++This manual page was written by Thomas Krennwallner , +++for the Debian project (and may be used by others). ++diff --git a/gringo.1 b/gringo.1 ++new file mode 100644 ++index 0000000..544a12a ++--- /dev/null +++++ b/gringo.1 ++@@ -0,0 +1,60 @@ +++.\" Hey, EMACS: -*- nroff -*- +++.\" First parameter, NAME, should be all caps +++.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +++.\" other parameters are allowed: see man(7), man(1) +++.TH GRINGO 1 "December 11, 2016" +++.\" Please adjust this date whenever revising the manpage. +++.\" +++.\" Some roff macros, for reference: +++.\" .nh disable hyphenation +++.\" .hy enable hyphenation +++.\" .ad l left justify +++.\" .ad b justify to both left and right margins +++.\" .nf disable filling +++.\" .fi enable filling +++.\" .br insert line break +++.\" .sp insert n+1 empty lines +++.\" for manpage-specific macros, see man(7) +++.SH NAME +++gringo \- a grounder for non-ground logic programs +++.SH SYNOPSIS +++.B gringo +++[\fIOPTION\fR]... \fR[\fIFILE\fR]... +++.SH DESCRIPTION +++This manual page documents briefly the +++.B gringo +++command. +++.PP +++.\" TeX users may be more comfortable with the \fB\fP and +++.\" \fI\fP escape sequences to invode bold face and italics, +++.\" respectively. +++\fBgringo\fP is a grounder that, given an input program with first-order +++variables, computes an equivalent ground (variable-free) program in +++aspif format. Its output can be processed further with answer set solver +++clasp. Starting with gringo series 5, its output is no longer directly +++compatible with solvers like smodels or cmodels reading smodels format. +++Use the \fBlpconvert\fP converter for translating aspif format to +++smodels format. +++.SH OPTIONS +++These programs follow the usual GNU command line syntax, with long +++options starting with two dashes (`-'). +++A summary of options is included below. +++For a complete description, see the potassco-guide at +++https://sourceforge.net/projects/potassco/files/guide/. +++.TP +++.B \-h, \-\-help +++Show summary of options. +++.TP +++.B \-v, \-\-version +++Show version of program. +++.SH SEE ALSO +++.BR clasp (1), +++.BR clingo (1), +++.BR lpconvert (1), +++.BR reify (1) +++.br +++.SH AUTHOR +++gringo was written by Roland Kaminski +++.PP +++This manual page was written by Thomas Krennwallner , +++for the Debian project (and may be used by others). ++diff --git a/lpconvert.1 b/lpconvert.1 ++new file mode 100644 ++index 0000000..f5d931e ++--- /dev/null +++++ b/lpconvert.1 ++@@ -0,0 +1,53 @@ +++.\" Hey, EMACS: -*- nroff -*- +++.\" First parameter, NAME, should be all caps +++.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +++.\" other parameters are allowed: see man(7), man(1) +++.TH LPCONVERT 1 "December 11, 2016" +++.\" Please adjust this date whenever revising the manpage. +++.\" +++.\" Some roff macros, for reference: +++.\" .nh disable hyphenation +++.\" .hy enable hyphenation +++.\" .ad l left justify +++.\" .ad b justify to both left and right margins +++.\" .nf disable filling +++.\" .fi enable filling +++.\" .br insert line break +++.\" .sp insert n+1 empty lines +++.\" for manpage-specific macros, see man(7) +++.SH NAME +++lpconvert \- converter between gringo's aspif and smodels format +++.SH SYNOPSIS +++.B lpconvert +++\fR[\fIOPTION\fR]... \fR[\fIFILE\fR]... +++.SH DESCRIPTION +++This manual page documents briefly the +++.B lpconvert +++command. +++.PP +++.\" TeX users may be more comfortable with the \fB\fP and +++.\" \fI\fP escape sequences to invode bold face and italics, +++.\" respectively. +++\fBlpconvert\fP is a converter between gringo's aspif and smodels +++format. +++.SH OPTIONS +++These programs follow the usual GNU command line syntax, with long +++options starting with two dashes (`-'). A summary of options is +++included below. For a complete description, see the potassco-guide +++https://sourceforge.net/projects/potassco/files/guide/2.0/. +++.TP +++.B \-h, \-\-help +++Show summary of options. +++.TP +++.B \-v, \-\-version +++Show version of program. +++.SH SEE ALSO +++.BR clasp (1), +++.BR gringo (1), +++.BR reify (1) +++.br +++.SH AUTHOR +++lpconvert was written by Roland Kaminski +++.PP +++This manual page was written by Thomas Krennwallner , +++for the Debian project (and may be used by others). ++diff --git a/reify.1 b/reify.1 ++new file mode 100644 ++index 0000000..aea2db7 ++--- /dev/null +++++ b/reify.1 ++@@ -0,0 +1,54 @@ +++.\" Hey, EMACS: -*- nroff -*- +++.\" First parameter, NAME, should be all caps +++.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +++.\" other parameters are allowed: see man(7), man(1) +++.TH REIFY 1 "December 11, 2016" +++.\" Please adjust this date whenever revising the manpage. +++.\" +++.\" Some roff macros, for reference: +++.\" .nh disable hyphenation +++.\" .hy enable hyphenation +++.\" .ad l left justify +++.\" .ad b justify to both left and right margins +++.\" .nf disable filling +++.\" .fi enable filling +++.\" .br insert line break +++.\" .sp insert n+1 empty lines +++.\" for manpage-specific macros, see man(7) +++.SH NAME +++reify \- a small utility that reifies logic programs +++.SH SYNOPSIS +++.B reify +++\fR[\fIOPTION\fR]... +++.SH DESCRIPTION +++This manual page documents briefly the +++.B reify +++command. +++.PP +++.\" TeX users may be more comfortable with the \fB\fP and +++.\" \fI\fP escape sequences to invode bold face and italics, +++.\" respectively. +++\fBreify\fP is a small utility that reifies logic programs given in +++aspif format by reading standard input. It produces a set of facts, +++which can be processed further with gringo. +++.SH OPTIONS +++These programs follow the usual GNU command line syntax, with long +++options starting with two dashes (`-'). A summary of options is +++included below. For a complete description, see the potassco-guide +++https://sourceforge.net/projects/potassco/files/guide/2.0/. +++.TP +++.B \-h, \-\-help +++Show summary of options. +++.TP +++.B \-v, \-\-version +++Show version of program. +++.SH SEE ALSO +++.BR clasp (1), +++.BR gringo (1), +++.BR lpconvert (1) +++.br +++.SH AUTHOR +++reify was written by Roland Kaminski +++.PP +++This manual page was written by Thomas Krennwallner , +++for the Debian project (and may be used by others). diff --cc debian/patches/reproducible-build.patch index 0000000,0000000..86ed8f2 new file mode 100644 --- /dev/null +++ b/debian/patches/reproducible-build.patch @@@ -1,0 -1,0 +1,24 @@@ ++From: Reiner Herrmann ++Date: Wed, 7 Dec 2016 08:08:36 +0100 ++Subject: Sort source files for deterministic linking order ++Origin: vendor, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=844096;msg=5 ++Bug-Debian: https://bugs.debian.org/844096 ++ ++=================================================================== ++--- ++ SConscript | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++diff --git a/SConscript b/SConscript ++index 0ab4e7a..9164cd1 100644 ++--- a/SConscript +++++ b/SConscript ++@@ -47,7 +47,7 @@ def find_files(env, path): ++ target = os.path.join(root, filename[:-4] + ".hh") ++ source = "#"+os.path.join(root, filename) ++ env.Re2cCond(target, source) ++- return sources +++ return sorted(sources) ++ finally: ++ os.chdir(oldcwd) ++ diff --cc debian/patches/series index 0000000,0000000..7d790fc new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,5 @@@ ++gringo-manpages.patch ++reproducible-build.patch ++gringo-fix-body-literals-as-auxiliary.patch ++gringo-broken-std-exception_ptr.patch ++gringo-alpha-fpu-getcw.patch diff --cc debian/rules index 0000000,0000000..70c31a2 new file mode 100755 --- /dev/null +++ b/debian/rules @@@ -1,0 -1,0 +1,73 @@@ ++#!/usr/bin/make -f ++# -*- makefile -*- ++ ++# Uncomment this to turn on verbose mode. ++#export DH_VERBOSE=1 ++ ++# gringo requires c++11 threads with 64bit __atomic_exchange, we need to ++# link with libatomic on powerpc, powerpcspe, m68k, mips, mipsel, and ++# sh4, see also ++# https://gcc.gnu.org/wiki/Atomic ++# https://gcc.gnu.org/wiki/Atomic/GCCMM/LIbrary ++arch = $(shell dpkg-architecture -qDEB_BUILD_ARCH | egrep -v -x "(powerpc|powerpcspe|m68k|mips|mipsel|sh4)") ++ ++# currently, libstdc++ on armel does not support std::exception_ptr, see ++# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58938 ++# ++# we define BROKEN_STD_EXCEPTION_PTR below to enable replacement code in ++# gringo-broken-std-exception_ptr.patch ++broken_exception_ptr = $(shell dpkg-architecture -qDEB_BUILD_ARCH | grep "armel") ++ ++# force g++ ++CONFIGPARMS = CXX='g++' ++ ++# use c++11 threads, lua5.3, and python2.7 ++ifneq ($(if $(broken_exception_ptr),broken), broken) ++ CONFIGPARMS += WITH_THREADS='posix' WITH_LUA='lua5.3' WITH_PYTHON='python2.7' CPPPATH='$${["/usr/include/lua5.3","/usr/include/python2.7"]}' ++endif ++ ++# ++# export CPPFLAGS, CXXFLAGS, and LDFLAGS for scons ++# ++# default to -O3 -std=c++11 -Wall -DNDEBUG and enable all hardening flags ++# ++DEB_CXXFLAGS_MAINT_APPEND = -std=c++11 -O3 -Wall ++DEB_CPPFLAGS_MAINT_APPEND = -DNDEBUG ++DEB_LDFLAGS_MAINT_APPEND = ++ ++ifeq ($(if $(broken_exception_ptr),broken), broken) ++ DEB_CPPFLAGS_MAINT_APPEND += -DBROKEN_STD_EXCEPTION_PTR ++endif ++ ++ifeq ($(and $(if $(arch),,atomic), $(if $(broken_exception_ptr),,atomic)), atomic) ++ DEB_LDFLAGS_MAINT_APPEND += -latomic ++endif ++ ++export DEB_BUILD_MAINT_OPTIONS = hardening=+all ++ ++DPKG_EXPORT_BUILDFLAGS = 1 ++include /usr/share/dpkg/buildflags.mk ++ ++# inject compiler and linker flags to scons variables ++SCCXXFLAGS = $(shell echo $(CXXFLAGS) $(CPPFLAGS) | sed -e 's/^/\$${["/;s/ -/","-/g;s/$$/"]}/') ++SCLINKFLAGS = $(shell echo $(LDFLAGS) | sed -e 's/^/\$${["/;s/ -/","-/g;s/$$/"]}/') ++ ++%: ++ dh $@ ++ ++# configure with LUA, Python; forcibly turn off threads if std::exception_ptr is broken ++override_dh_auto_configure: ++ scons configure --build-dir=release $(CONFIGPARMS) CXXFLAGS='$(SCCXXFLAGS)' LINKFLAGS='$(SCLINKFLAGS)' || cat build/release.log build/release.py ++ifeq ($(if $(broken_exception_ptr),broken), broken) ++ sed -i -e 's/WITH_THREADS =.*/WITH_THREADS = None/' -e 's/WITH_LUA =.*/WITH_LUA = None/' -e 's/WITH_PYTHON =.*/WITH_PYTHON = None/' ./build/release.py ++endif ++ ++# build gringo clingo reify ++override_dh_auto_build: ++ scons --build-dir=release gringo clingo reify lpconvert ++ ++override_dh_auto_clean: ++ rm -rf ./build .sconf_temp .sconsign.dblite ++ ++override_dh_installchangelogs: ++ dh_installchangelogs CHANGES diff --cc debian/source/format index 0000000,0000000..163aaf8 new file mode 100644 --- /dev/null +++ b/debian/source/format @@@ -1,0 -1,0 +1,1 @@@ ++3.0 (quilt) diff --cc debian/watch index 0000000,0000000..1f4fe2c new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -1,0 -1,0 +1,7 @@@ ++# watch control file for uscan ++ ++# Compulsory line, this is a version 3 file ++version=3 ++ ++opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/gringo-$1\.tar\.gz/ \ ++ https://github.com/potassco/gringo/tags .*/v?(\d\S+)\.tar\.gz