- 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:
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
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
14
science/qcl/files/patch-options.cc
Normal file
14
science/qcl/files/patch-options.cc
Normal 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"
|
|
@ -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
|
||||
|
|
@ -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
|
Loading…
Reference in a new issue