commit:     f7e784db2ef31b9df95670407c28cd6d740a597a
Author:     Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 30 05:41:12 2019 +0000
Commit:     Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
CommitDate: Wed Jan 30 05:41:12 2019 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=f7e784db

sci-physics/qcl: multiple improvements

- Update to EAPI 7
- Fix dependencies (RDEPEND were wrong)
- Install additional documentation
- Respect CFLAGS for qc lib as well
- Fix install paths so that qcl can find its lib

Package-Manager: Portage-2.3.58, Repoman-2.3.12
Signed-off-by: Andrew Savchenko <bircoph <AT> gentoo.org>

 sci-physics/qcl/files/qcl-0.6.4-Makefile.patch | 69 ++++++++++++++++++++++++++
 sci-physics/qcl/qcl-0.6.4-r2.ebuild            | 55 ++++++++++++++++++++
 2 files changed, 124 insertions(+)

diff --git a/sci-physics/qcl/files/qcl-0.6.4-Makefile.patch 
b/sci-physics/qcl/files/qcl-0.6.4-Makefile.patch
new file mode 100644
index 000000000..bbc3f0abd
--- /dev/null
+++ b/sci-physics/qcl/files/qcl-0.6.4-Makefile.patch
@@ -0,0 +1,69 @@
+diff --git a/Makefile b/Makefile
+index 2735f71..80f9b30 100644
+--- a/Makefile
++++ b/Makefile
+@@ -14,11 +14,11 @@ VERSION=0.6.4
+ 
+ # Directory for Standard .qcl files
+ 
+-QCLDIR = /usr/local/lib/qcl
++QCLDIR = /usr/lib/qcl
+ 
+ # Path for qcl binaries
+ 
+-QCLBIN = /usr/local/bin
++QCLBIN = /usr/bin
+ 
+ ARCH = `g++ -dumpmachine || echo bin`
+ 
+@@ -32,7 +32,7 @@ ARCH = `g++ -dumpmachine || echo bin`
+ 
+ #DEBUG = -g -pg -DQCL_DEBUG -DQC_DEBUG
+ #DEBUG = -g -DQCL_DEBUG -DQC_DEBUG
+-DEBUG = -O2 -g -DQCL_DEBUG -DQC_DEBUG
++DEBUG = -DQCL_DEBUG -DQC_DEBUG
+ #DEBUG = -O2
+ 
+ # Plotting support 
+@@ -81,8 +81,8 @@ QCLINC = lib
+ 
+ #CXX = g++
+ #CPP = $(CC) -E
+-CXXFLAGS = -c $(ARCHOPT) $(DEBUG) $(PLOPT) $(RLOPT) $(IRQOPT) $(ENCOPT) 
-I$(QCDIR) -DDEF_INCLUDE_PATH="\"$(QCLDIR)\""
+-LDFLAGS = $(ARCHOPT) -L$(QCDIR) $(DEBUG) $(PLLIB) -lm -lfl -lqc $(RLLIB) 
++CXXFLAGS += -c $(DEBUG) $(PLOPT) $(RLOPT) $(IRQOPT) $(ENCOPT) -I$(QCDIR) 
-DDEF_INCLUDE_PATH="\"$(QCLDIR)\""
++LIBS = -L$(QCDIR) $(PLLIB) -lm -lfl -lqc $(RLLIB)
+ 
+ FILESCC = $(wildcard *.cc)
+ FILESH = $(wildcard *.h)
+@@ -127,7 +127,7 @@ $(QCLIB):
+ build: qcl $(QCLINC)/default.qcl
+ 
+ qcl: $(OBJECTS) qcl.o $(QCLIB)
+-      $(CXX) $(OBJECTS) qcl.o $(LDFLAGS) -o qcl
++      $(CXX) $(LDFLAGS) $(OBJECTS) qcl.o $(LIBS) -o qcl
+ 
+ $(QCLINC)/default.qcl: extern.cc
+       grep "^//!" extern.cc | cut -c5- > $(QCLINC)/default.qcl
+diff --git a/qc/Makefile b/qc/Makefile
+index 191ffe5..79724a9 100644
+--- a/qc/Makefile
++++ b/qc/Makefile
+@@ -16,7 +16,7 @@
+ 
+ # Debugging options
+ 
+-DEBUG = -g -O2 -DQC_DEBUG
++#DEBUG = -g -O2 -DQC_DEBUG
+ #DEBUG = -g -pg -DQC_DEBUG
+ #DEBUG = -O2
+ 
+@@ -25,7 +25,7 @@ DEBUG = -g -O2 -DQC_DEBUG
+ 
+ #PRGOPT = -DQC_USE_RAND48
+ 
+-CXXFLAGS = $(ARCHOPT) -c -pedantic -Wall $(DEBUG) $(PRGOPT)
++CXXFLAGS += $(ARCHOPT) -c -pedantic -Wall $(DEBUG) $(PRGOPT)
+ 
+ LDFLAGS = $(ARCHOPT) -L. -lm -lqc
+ 

diff --git a/sci-physics/qcl/qcl-0.6.4-r2.ebuild 
b/sci-physics/qcl/qcl-0.6.4-r2.ebuild
new file mode 100644
index 000000000..b7eb2536b
--- /dev/null
+++ b/sci-physics/qcl/qcl-0.6.4-r2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Quantum Computation Language with an emulator of a quantum 
computer"
+HOMEPAGE="http://tph.tuwien.ac.at/~oemer/qcl.html";
+SRC_URI="
+       http://tph.tuwien.ac.at/~oemer/tgz/${P}.tgz
+       doc? (
+               http://tph.tuwien.ac.at/~oemer/doc/structquprog.pdf
+               http://tph.tuwien.ac.at/~oemer/doc/qcldoc.pdf
+               http://tph.tuwien.ac.at/~oemer/doc/quprog.pdf
+               https://dev.gentoo.org/~bircoph/distfiles/0211100.pdf -> 
ccquprog.pdf
+       )"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc plotutils readline"
+
+BDEPEND="
+       sys-devel/bison
+       sys-devel/flex"
+DEPEND="
+       plotutils? ( media-libs/plotutils[X,png] )
+       readline? (
+               sys-libs/ncurses:0=
+               sys-libs/readline:0=
+       )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+       "${FILESDIR}/${PN}"-0.6.3-gcc43.patch
+       "${FILESDIR}/${P}"-Makefile.patch
+)
+
+src_configure() {
+       # there is no configure, Makefile must be modified
+       if ! use plotutils; then
+               sed -i 's/^PL/#PL/' Makefile || die
+       fi
+       if ! use readline; then
+               sed -i 's/^RL/#RL/' Makefile || die
+       fi
+}
+
+src_install() {
+       emake \
+               QCLDIR="${D}/usr/lib/${PN}" \
+               QCLBIN="${D}/usr/bin" \
+               install
+       dodoc CHANGES README
+       use doc && dodoc "${DISTDIR}/"{ccquprog,structquprog,qcldoc,quprog}.pdf
+}

Reply via email to