summaryrefslogtreecommitdiff
path: root/lang/yap
diff options
context:
space:
mode:
authorjoerg <joerg>2012-06-15 18:53:30 +0000
committerjoerg <joerg>2012-06-15 18:53:30 +0000
commitb124b1159ae4359244e08d063cd5d4865332a479 (patch)
treeae47f9a7d03b63231c2abdc11c1f59b0d761f2c3 /lang/yap
parenta77982ad074936281a97a439a1fb72acc39d81fd (diff)
downloadpkgsrc-b124b1159ae4359244e08d063cd5d4865332a479.tar.gz
Deal with broken name lookup in GCC.
Diffstat (limited to 'lang/yap')
-rw-r--r--lang/yap/distinfo4
-rw-r--r--lang/yap/patches/patch-packages_swi-minisat2_C_Solver.C21
-rw-r--r--lang/yap/patches/patch-packages_swi-minisat2_C_SolverTypes.h19
3 files changed, 43 insertions, 1 deletions
diff --git a/lang/yap/distinfo b/lang/yap/distinfo
index 779cc484c7b..c48996f08eb 100644
--- a/lang/yap/distinfo
+++ b/lang/yap/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.12 2011/07/09 21:15:48 asau Exp $
+$NetBSD: distinfo,v 1.13 2012/06/15 18:53:30 joerg Exp $
SHA1 (yap-6.2.1.tar.gz) = e6076a501aaee9e8a6a484a34308c32ca1193a95
RMD160 (yap-6.2.1.tar.gz) = 702a72a1e02e1a8e107f2b0888ae7c26132ae417
@@ -9,3 +9,5 @@ SHA1 (patch-ae) = cf4a79ccd0c34e42ca3d8a108619a9974288cde6
SHA1 (patch-af) = a042950ee63fac0f5863c3caa3f7c07227c46b4b
SHA1 (patch-ah) = 572e29729d97d5e9942a3d2c22e121d4e756d648
SHA1 (patch-aj) = 61a53b4ef921270544edc79ddcb0f816824fd3ce
+SHA1 (patch-packages_swi-minisat2_C_Solver.C) = 1f4ec1fa258d61906d59d8a236d40653d16f0cd3
+SHA1 (patch-packages_swi-minisat2_C_SolverTypes.h) = 37b7ba75614340d09c9d82d5f29e66cbdfbded94
diff --git a/lang/yap/patches/patch-packages_swi-minisat2_C_Solver.C b/lang/yap/patches/patch-packages_swi-minisat2_C_Solver.C
new file mode 100644
index 00000000000..946e3afa79a
--- /dev/null
+++ b/lang/yap/patches/patch-packages_swi-minisat2_C_Solver.C
@@ -0,0 +1,21 @@
+$NetBSD: patch-packages_swi-minisat2_C_Solver.C,v 1.1 2012/06/15 18:53:30 joerg Exp $
+
+See SolverType.h.
+
+--- packages/swi-minisat2/C/Solver.C.orig 2012-06-15 18:36:17.000000000 +0000
++++ packages/swi-minisat2/C/Solver.C
+@@ -26,6 +26,14 @@ OF OR IN CONNECTION WITH THE SOFTWARE OR
+ //=================================================================================================
+ // Constructor/Destructor:
+
++template<class V> Clause* Clause_new(const V& ps, bool learnt)
++{
++ assert(sizeof(Lit) == sizeof(uint32_t));
++ assert(sizeof(float) == sizeof(uint32_t));
++ void* mem = malloc(sizeof(Clause) + sizeof(uint32_t)*(ps.size()));
++ return new (mem) Clause(ps, learnt);
++}
++
+
+ Solver::Solver() :
+
diff --git a/lang/yap/patches/patch-packages_swi-minisat2_C_SolverTypes.h b/lang/yap/patches/patch-packages_swi-minisat2_C_SolverTypes.h
new file mode 100644
index 00000000000..121cdfc30b9
--- /dev/null
+++ b/lang/yap/patches/patch-packages_swi-minisat2_C_SolverTypes.h
@@ -0,0 +1,19 @@
+$NetBSD: patch-packages_swi-minisat2_C_SolverTypes.h,v 1.1 2012/06/15 18:53:30 joerg Exp $
+
+Templated friend must be declared outside class.
+
+--- packages/swi-minisat2/C/SolverTypes.h.orig 2011-06-11 15:38:37.000000000 +0000
++++ packages/swi-minisat2/C/SolverTypes.h
+@@ -119,11 +119,7 @@ public:
+
+ // -- use this function instead:
+ template<class V>
+- friend Clause* Clause_new(const V& ps, bool learnt = false) {
+- assert(sizeof(Lit) == sizeof(uint32_t));
+- assert(sizeof(float) == sizeof(uint32_t));
+- void* mem = malloc(sizeof(Clause) + sizeof(uint32_t)*(ps.size()));
+- return new (mem) Clause(ps, learnt); }
++ friend Clause* Clause_new(const V& ps, bool learnt = false);
+
+ int size () const { return size_etc >> 3; }
+ void shrink (int i) { assert(i <= size()); size_etc = (((size_etc >> 3) - i) << 3) | (size_etc & 7); }