commit:     c6c93bbbc8d75d5ee0dff344851c104b477f6cc0
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Thu Apr 28 07:45:13 2022 +0000
Commit:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
CommitDate: Thu Apr 28 07:45:13 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=c6c93bbb

sci-mathematics/mccs: new package, add 1.1

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 sci-mathematics/mccs/Manifest                      |  2 +
 sci-mathematics/mccs/files/mccs-1.1-fix-Wl.patch   | 12 ++++
 sci-mathematics/mccs/files/mccs-1.1-glpk.patch     | 20 ++++++
 .../mccs/files/mccs-1.1-respect-flags.patch        | 12 ++++
 sci-mathematics/mccs/mccs-1.1.ebuild               | 73 ++++++++++++++++++++++
 sci-mathematics/mccs/metadata.xml                  | 15 +++++
 6 files changed, 134 insertions(+)

diff --git a/sci-mathematics/mccs/Manifest b/sci-mathematics/mccs/Manifest
new file mode 100644
index 000000000..da9bbea2a
--- /dev/null
+++ b/sci-mathematics/mccs/Manifest
@@ -0,0 +1,2 @@
+DIST mccs-1.1-srcs.tgz 65553 BLAKE2B 
be7a1852bb6adaba6e8e02b1efbed44a1b60ef856facb55ca9a572a6ade77b8f24616feba9ac73a587f81a09c4ea19d1ec25281b49962bfbc2c35dc469cdeb29
 SHA512 
95cd0af58115202dc1bb8deaae28b25662e06cbbcb195c608a01083d4c602bcc1ede213dbc4e8ece7b9ab4afc9ef419fa57c284602dc0c908595e77710281de4
+DIST mccs_1.1-9.debian.tar.xz 7360 BLAKE2B 
cbd52e4b30db898648348c0b6486c4338bb417b38ff7c982df246c985a017d4064b7816f44fc71df11a11bcc0260c20feb075384e9b8a0d0aa1d16dae7a65b99
 SHA512 
dcdb6296647748d0a484c48b5ef9fe1e663bf0a54e170e0418b9a7a791d2f7f5d6de20543e2c593721fc6dca2f43f7dc4f0c61b87295b8db96dd58b6bf75d700

diff --git a/sci-mathematics/mccs/files/mccs-1.1-fix-Wl.patch 
b/sci-mathematics/mccs/files/mccs-1.1-fix-Wl.patch
new file mode 100644
index 000000000..05231563c
--- /dev/null
+++ b/sci-mathematics/mccs/files/mccs-1.1-fix-Wl.patch
@@ -0,0 +1,12 @@
+diff '--color=auto' -ru 
/var/tmp/portage/sci-mathematics/mccs-1.1/work/mccs-1.1/makefile 
mccs-1.1/makefile
+--- /var/tmp/portage/sci-mathematics/mccs-1.1/work/mccs-1.1/makefile   
2022-04-28 09:30:48.441298635 +0200
++++ mccs-1.1/makefile  2022-04-28 09:36:58.810650226 +0200
+@@ -163,7 +163,7 @@
+       ar rcs libccudf.a $(OBJDIR)/cudf.tab.o $(OBJDIR)/cudf.l.o 
$(OBJDIR)/cudf_hash_table.o $(OBJDIR)/cudf_tools.o
+ 
+ libccudf.so: $(OBJDIR)/cudf.tab.o $(OBJDIR)/cudf.l.o 
$(OBJDIR)/cudf_hash_table.o $(OBJDIR)/cudf_tools.o
+-      $(CCC) -shared -W1,-soname,libccudf.so -o libccudf.so \
++      $(CCC) -shared -Wl,-soname,libccudf.so -o libccudf.so \
+               $(OBJDIR)/cudf.tab.o $(OBJDIR)/cudf.l.o 
$(OBJDIR)/cudf_hash_table.o $(OBJDIR)/cudf_tools.o
+ 
+ $(OBJDIR)/cudf_hash_table.o: $(SRCLIB)/cudf_hash_table.c 
$(SRCLIB)/cudf_hash_table.h

diff --git a/sci-mathematics/mccs/files/mccs-1.1-glpk.patch 
b/sci-mathematics/mccs/files/mccs-1.1-glpk.patch
new file mode 100644
index 000000000..55fb1d2c9
--- /dev/null
+++ b/sci-mathematics/mccs/files/mccs-1.1-glpk.patch
@@ -0,0 +1,20 @@
+diff '--color=auto' -ru 
/var/tmp/portage/sci-mathematics/mccs-1.1/work/mccs-1.1/make.local 
mccs-1.1/make.local
+--- /var/tmp/portage/sci-mathematics/mccs-1.1/work/mccs-1.1/make.local 
2022-04-28 09:26:16.480900398 +0200
++++ mccs-1.1/make.local        2022-04-28 09:29:29.136724492 +0200
+@@ -11,13 +11,13 @@
+ ifeq ($(USEGLPK),1)
+ 
+ # Path to GLPK main dir
+-GLPKDIR=$(PWD)/../glpk
++GLPKDIR=/usr/lib
+ 
+ # Path to the GPLK include files
+-GLPKINC=$(GLPKDIR)/include/
++GLPKINC=/usr/include
+ 
+ # GPLK library path and options
+-GLPKLD=-L${GLPKDIR}/lib -lglpk -Wl,-rpath,${GLPKDIR}/lib
++GLPKLD=-L${GLPKDIR} -lglpk
+ 
+ endif
+ 

diff --git a/sci-mathematics/mccs/files/mccs-1.1-respect-flags.patch 
b/sci-mathematics/mccs/files/mccs-1.1-respect-flags.patch
new file mode 100644
index 000000000..11b5454ce
--- /dev/null
+++ b/sci-mathematics/mccs/files/mccs-1.1-respect-flags.patch
@@ -0,0 +1,12 @@
+diff '--color=auto' -ru 
/var/tmp/portage/sci-mathematics/mccs-1.1/work/mccs-1.1/make.local 
mccs-1.1/make.local
+--- a/make.local       2022-04-28 08:46:08.604422769 +0200
++++ b/make.local       2022-04-28 08:47:58.444566394 +0200
+@@ -107,7 +107,7 @@
+ 
+ INC=-I$(OBJDIR) -I$(SRCDIR) -I$(SRCLIB)
+ #CCCOPT=-g -Wall
+-CCCOPT=-Wall -O6
++CCCOPT=-Wall $(CXXFLAGS)
+ CCC=$(CXX) $(CCCOPT) $(LDFLAGS)
+ 
+ 

diff --git a/sci-mathematics/mccs/mccs-1.1.ebuild 
b/sci-mathematics/mccs/mccs-1.1.ebuild
new file mode 100644
index 000000000..91d76b64d
--- /dev/null
+++ b/sci-mathematics/mccs/mccs-1.1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic optfeature toolchain-funcs
+
+DESCRIPTION="Multi Criteria CUDF Solver"
+HOMEPAGE="https://www.i3s.unice.fr/~cpjm/misc/mccs.html";
+SRC_URI="
+       https://www.i3s.unice.fr/~cpjm/misc/${P}-srcs.tgz
+       
http://deb.debian.org/debian/pool/main/m/mccs/${PN}_${PV}-9.debian.tar.xz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="glpk lpsolve"
+
+RDEPEND="
+       glpk? ( sci-mathematics/glpk )
+       lpsolve? ( sci-mathematics/lpsolve )
+"
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+       dev-util/quilt
+       sys-devel/bison
+       virtual/yacc
+"
+
+src_prepare() {
+       export QUILT_PATCHES="${WORKDIR}/debian/patches"
+       export QUILT_SERIES="${QUILT_PATCHES}/series"
+       quilt push -a || die
+       eapply "${FILESDIR}/${P}-respect-flags.patch"
+       eapply "${FILESDIR}/${P}-glpk.patch"
+       eapply "${FILESDIR}/${P}-fix-Wl.patch"
+       eapply_user
+
+       if use glpk; then
+               sed \
+                       -e "s|#USEGLPK=1|USEGLPK=1|g" \
+                       -e "s|GLPKDIR=/usr/lib|GLPKDIR=/usr/$(get_libdir)|g" \
+                       -i make.local || die
+       fi
+       if use lpsolve; then
+               sed -e "s|LPSOLVEDIR=/usr/lib|LPSOLVEDIR=/usr/$(get_libdir)|g" 
-i make.local || die
+       else
+               sed -e "s|USELPSOLVE=1|#USELPSOLVE=1|g" -i make.local || die
+       fi
+}
+
+src_compile() {
+       tc-export CXX
+       append-cxxflags "-std=c++14"
+       MAKEOPTS="-j1" emake libccudf.so
+       MAKEOPTS="-j1" emake mccs
+}
+
+src_install() {
+       dodoc README CHANGES
+       dodoc -r examples
+
+       dobin sciplp cbclp wbopb mccs
+       exeinto "/usr/libexec/${PN}"
+       doexe solve{paranoid,trendy}
+       dolib.so libccudf.so
+}
+
+pkg_postinst() {
+       optfeature "in order to use cbclp" sci-libs/coinor-cbc
+}

diff --git a/sci-mathematics/mccs/metadata.xml 
b/sci-mathematics/mccs/metadata.xml
new file mode 100644
index 000000000..be6050f22
--- /dev/null
+++ b/sci-mathematics/mccs/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+  <maintainer type="person">
+    <email>[email protected]</email>
+    <name>Alessandro Barbieri</name>
+  </maintainer>
+  <use>
+    <flag name="glpk">enable GLPK as solver</flag>
+    <flag name="lpsolve">enable lpsolve as solver </flag>
+  </use>
+  <longdescription lang="en">
+mccs (which stands for Multi Criteria CUDF Solver) is a CUDF problem solver 
developed at UNS during the European MANCOOSI project. mccs take as input a 
CUDF problem and computes the best solution according to a set of criteria. It 
relies on a Integer Programming solver or a Pseudo Boolean solver to achieve 
its task. mccs can use a wide set of underlying solvers like Cplex, Gurobi, 
Lpsolver, Glpk, CbC, SCIP or WBO.
+  </longdescription>
+</pkgmetadata>

Reply via email to