- Update to version 0.6.3

- Add PLOTUTILS option
- Support staging

PR:		ports/182800
Submitted by:	KATO Tsuguru <tkato432@yahoo.com>
This commit is contained in:
Pawel Pekala 2013-10-30 17:57:33 +00:00
parent ff058e3176
commit 46c96104c7
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=332159
6 changed files with 56 additions and 205 deletions

View file

@ -2,17 +2,51 @@
# $FreeBSD$
PORTNAME= qcl
PORTVERSION= 0.6.1
PORTVERSION= 0.6.3
CATEGORIES= science math
MASTER_SITES= http://tph.tuwien.ac.at/~oemer/tgz/
EXTRACT_SUFX= .tgz
MAINTAINER= ports@FreeBSD.org
COMMENT= A quantum computer simulator
COMMENT= Quantum computer simulator
NO_STAGE= yes
do-configure:
echo 'PREFIX=${PREFIX}' >>${WRKSRC}/Makefile
cd ${WRKSRC} && make dep
LICENSE= GPLv2 # (or later)
OPTIONS_DEFINE= PLOTUTILS
PLOTUTILS_DESC= Plotting support via plotutils
USES= bison gmake readline
USE_GCC= any
PLIST_FILES= bin/qcl \
%%DATADIR%%/default.qcl %%DATADIR%%/deutsch.qcl \
%%DATADIR%%/dft.qcl %%DATADIR%%/examples.qcl \
%%DATADIR%%/grover.qcl %%DATADIR%%/linalg.qcl \
%%DATADIR%%/modarith.qcl %%DATADIR%%/primes.qcl \
%%DATADIR%%/shor.qcl %%DATADIR%%/test.qcl
PLIST_DIRS= %%DATADIR%%
PLOTUTILS_LIB_DEPENDS= libplotter.so:${PORTSDIR}/graphics/plotutils
PLOTUTILS_CXXFLAGS= -I${LOCALBASE}/include -DQCL_PLOT
PLOTUTILS_LDFLAGS= -L${LOCALBASE}/lib -lplotter
post-patch:
@${REINPLACE_CMD} -e \
's|/usr/local|${PREFIX}| ; \
s|lib/qcl|share/qcl| ; \
s|-O2 -g|| ; \
s|^PLOPT|#PLOPT| ; \
s|^PLLIB|#PLLIB| ; \
/^CXXFLAGS/s| =| +=| ; \
/^LDFLAGS/s| =| +=|' ${WRKSRC}/Makefile
@${REINPLACE_CMD} -e \
's|-g -O2|| ; \
/^CXXFLAGS/s| =| +=| ; \
/^LDFLAGS/s| =| +=|' ${WRKSRC}/qc/Makefile
do-install:
(cd ${WRKSRC} && ${INSTALL_PROGRAM} qcl ${STAGEDIR}${PREFIX}/bin)
@${MKDIR} ${STAGEDIR}${DATADIR}
(cd ${WRKSRC}/lib && ${INSTALL_DATA} *.qcl ${STAGEDIR}${DATADIR})
.include <bsd.port.mk>

View file

@ -1,2 +1,2 @@
SHA256 (qcl-0.6.1.tgz) = 3e7195fd0a2a65aed5868d40d4dfeccbc0151674682a68d4214332f65ee4338c
SIZE (qcl-0.6.1.tgz) = 130922
SHA256 (qcl-0.6.3.tgz) = c9f459b265ca181fdd4023cfb0d41a93a245eb5d47948a4002263384658d7cbb
SIZE (qcl-0.6.3.tgz) = 133786

View file

@ -1,136 +0,0 @@
--- Makefile.orig Mon Mar 29 15:24:31 2004
+++ Makefile Tue Feb 1 01:37:09 2005
@@ -14,25 +14,25 @@
# Directory for Standard .qcl files
-QCLDIR = /usr/local/lib/qcl
+QCLDIR = ${PREFIX}/share/qcl
# Path for qcl binaries
-QCLBIN = /usr/local/bin
+QCLBIN = ${PREFIX}/bin
# Debugging options
#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
#
# Comment out if you don't have GNU libplotter and X
-PLOPT = -DQCL_PLOT
-PLLIB = -L/usr/X11/lib -lplotter -lXaw -lXmu -lXt -lXext -lXpm -lSM -lICE -lX11
+#PLOPT = -DQCL_PLOT
+#PLLIB = -L/usr/X11/lib -lplotter -lXaw -lXmu -lXt -lXext -lXpm -lSM -lICE -lX11
#PLLIB = -L/usr/X11/lib -lplotter -lXaw -lXmu -lXt -lXext -lX11
#PLLIB = -L/usr/X11/lib -lplotter -lXaw -lXmu -Xt -lSM -ICE -lXext -lX11
@@ -42,8 +42,8 @@
# explicit linking against libtermcap or libncurses may be required
RLOPT = -DQCL_USE_READLINE
-#RLLIB = -lreadline
-RLLIB = -lreadline -lncurses
+RLLIB = -lreadline
+#RLLIB = -lreadline -lncurses
# Interrupt support
#
@@ -51,12 +51,6 @@
IRQOPT = -DQCL_IRQ
-# Replace with lex and yacc on non-GNU systems (untested)
-
-LEX = flex
-YACC = bison
-INSTALL = install
-
##### You shouldn't have to edit the stuff below #####
DATE = `date +"%y.%m.%d-%H%M"`
@@ -65,13 +59,11 @@
QCLIB = $(QCDIR)/libqc.a
QCLINC = lib
-CC = g++
-CPP = $(CC) -E
-CFLAGS = -c -Wall $(DEBUG) $(PLOPT) $(RLOPT) $(IRQOPT) -I$(QCDIR) -DDEF_INCLUDE_PATH="\"$(QCLDIR)\""
-LFLAGS = -L$(QCDIR) $(DEBUG) $(PLLIB) -lm -lfl -lqc $(RLLIB)
+CXXFLAGS += $(DEBUG) $(PLOPT) $(RLOPT) $(IRQOPT) -I$(QCDIR) -DDEF_INCLUDE_PATH="\"$(QCLDIR)\""
+LDFLAGS += -L$(QCDIR) $(DEBUG) $(PLLIB) -lm -lfl -lqc $(RLLIB)
-FILESCC = $(wildcard *.cc)
-FILESH = $(wildcard *.h)
+FILESCC = *.cc
+FILESH = *.h
SOURCE = $(FILESCC) $(FILESH) qcl.lex qcl.y Makefile
@@ -79,23 +71,11 @@
lex.o yacc.o print.o quheap.o extern.o eval.o exec.o \
parse.o options.o debug.o cond.o dump.o plot.o format.o
-all: do-it-all
+all: build
-ifeq (.depend,$(wildcard .depend))
-include .depend
-do-it-all: build
-else
-do-it-all: dep
- make
-endif
-
-#### Rules for depend
-
-dep: lex.cc yacc.cc yacc.h $(QCLIB)
- for i in *.cc; do \
- $(CPP) -I$(QCDIR) -MM $$i; \
- echo -e '\t$(CC) $(CFLAGS)' $$i '\n'; \
- done > .depend
+
+dep:
+ mkdep ${CXXFLAGS} ${FILESCC}
lex.cc: qcl.lex
$(LEX) -olex.cc qcl.lex
@@ -107,26 +87,26 @@
mv yacc.*?h yacc.h
$(QCLIB):
- cd $(QCDIR) && make libqc.a
+ +cd ${QCDIR} && ${MAKE} ${MAKEFLAGS} libqc.a
#### Rules for build
build: qcl $(QCLINC)/default.qcl
qcl: $(OBJECTS) qcl.o $(QCLIB)
- $(CC) $(OBJECTS) qcl.o $(LFLAGS) -o qcl
+ $(CXX) $(OBJECTS) qcl.o $(LDFLAGS) -o qcl
qcl-static: $(OBJECTS) qcl.o $(QCLIB)
- $(CC) -static $(OBJECTS) qcl.o $(LFLAGS) -o qcl-static
+ $(CXX) -static $(OBJECTS) qcl.o $(LDFLAGS) -o qcl-static
strip qcl-static
$(QCLINC)/default.qcl: extern.cc
grep "^//!" extern.cc | cut -c5- > $(QCLINC)/default.qcl
install: build
- $(INSTALL) -m 0755 -d $(QCLBIN) $(QCLDIR)
- $(INSTALL) -m 0755 ./qcl $(QCLBIN)
- $(INSTALL) -m 0644 ./lib/*.qcl $(QCLDIR)
+ umask 022; mkdir -p $(QCLDIR); chmod 0755 $(QCLDIR)
+ ${INSTALL} -m 0755 ./qcl $(QCLBIN)
+ ${INSTALL} -m 0644 ./lib/*.qcl $(QCLDIR)
uninstall:
rm -f $(QCLBIN)

View file

@ -0,0 +1,14 @@
--- options.cc.orig
+++ options.cc
@@ -13,8 +13,9 @@
************************************************************************/
-#include <stdio.h>
-#include <time.h>
+#include <cstdio>
+#include <cstring>
+#include <ctime>
#include "options.h"
#include "error.h"

View file

@ -1,49 +0,0 @@
--- qc/Makefile.orig Mon Mar 29 15:24:31 2004
+++ qc/Makefile Tue Feb 1 01:27:33 2005
@@ -12,7 +12,7 @@
# Debugging options
-DEBUG = -g -O2 -DQC_DEBUG
+DEBUG = -DQC_DEBUG
#DEBUG = -g -pg -DQC_DEBUG
#DEBUG = -O2
@@ -21,10 +21,8 @@
#PRGOPT = -DQC_USE_RAND48
-CC = g++
-CFLAGS = -c -pedantic -Wall $(DEBUG) $(PRGOPT)
-
-LNKOPT = -L. -lm -lqc
+CXXFLAGS += $(DEBUG) $(PRGOPT)
+LDFLAGS += -L. -lm -lqc
FILESCC = bitvec.cc terms.cc qustates.cc operator.cc
FILESH = bitvec.h terms.h qustates.h operator.h qc.h
@@ -36,23 +34,9 @@
ar rc libqc.a bitvec.o terms.o qustates.o operator.o
ranlib libqc.a
-bitvec.o: bitvec.cc bitvec.h
- $(CC) bitvec.cc -o bitvec.o $(CFLAGS)
-
-terms.o: terms.cc terms.h bitvec.h
- $(CC) terms.cc -o terms.o $(CFLAGS)
-
-qustates.o: qustates.cc qustates.h terms.h bitvec.h
- $(CC) qustates.cc -o qustates.o $(CFLAGS)
-
-operator.o: operator.cc operator.h qustates.h terms.h bitvec.h
- $(CC) operator.cc -o operator.o $(CFLAGS)
-
-shor.o: shor.cc qustates.h terms.h bitvec.h
- $(CC) shor.cc -o shor.o $(CFLAGS)
shor: shor.o libqc.a
- $(CC) shor.o -o shor $(LNKOPT)
+ $(CXX) shor.o -o shor $(LDFLAGS)
# Other Functions

View file

@ -1,12 +0,0 @@
bin/qcl
share/qcl/default.qcl
share/qcl/deutsch.qcl
share/qcl/dft.qcl
share/qcl/examples.qcl
share/qcl/grover.qcl
share/qcl/linalg.qcl
share/qcl/modarith.qcl
share/qcl/primes.qcl
share/qcl/shor.qcl
share/qcl/test.qcl
@dirrm share/qcl