aboutsummaryrefslogtreecommitdiff
path: root/science/qcl
diff options
context:
space:
mode:
authorPawel Pekala <pawel@FreeBSD.org>2013-10-30 17:57:33 +0000
committerPawel Pekala <pawel@FreeBSD.org>2013-10-30 17:57:33 +0000
commit46c96104c7d82566198ff6ad5b894e31277467bd (patch)
treeff235b4b02e7f85fa8641836cfbda88fed4244a4 /science/qcl
parentff058e31764c43fe88a9ae1f35378cca35194c64 (diff)
downloadports-46c96104c7d82566198ff6ad5b894e31277467bd.tar.gz
ports-46c96104c7d82566198ff6ad5b894e31277467bd.zip
Notes
Diffstat (limited to 'science/qcl')
-rw-r--r--science/qcl/Makefile46
-rw-r--r--science/qcl/distinfo4
-rw-r--r--science/qcl/files/patch-aa136
-rw-r--r--science/qcl/files/patch-options.cc14
-rw-r--r--science/qcl/files/patch-qc-Makefile49
-rw-r--r--science/qcl/pkg-plist12
6 files changed, 56 insertions, 205 deletions
diff --git a/science/qcl/Makefile b/science/qcl/Makefile
index 6ab3df08db25..8b57c6e09e5b 100644
--- a/science/qcl/Makefile
+++ b/science/qcl/Makefile
@@ -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>
diff --git a/science/qcl/distinfo b/science/qcl/distinfo
index 3382a9840fed..68e77c1482b9 100644
--- a/science/qcl/distinfo
+++ b/science/qcl/distinfo
@@ -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
diff --git a/science/qcl/files/patch-aa b/science/qcl/files/patch-aa
deleted file mode 100644
index 8e8a53392ec3..000000000000
--- a/science/qcl/files/patch-aa
+++ /dev/null
@@ -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)
diff --git a/science/qcl/files/patch-options.cc b/science/qcl/files/patch-options.cc
new file mode 100644
index 000000000000..715c374f4741
--- /dev/null
+++ b/science/qcl/files/patch-options.cc
@@ -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"
diff --git a/science/qcl/files/patch-qc-Makefile b/science/qcl/files/patch-qc-Makefile
deleted file mode 100644
index ae6da3f42dc4..000000000000
--- a/science/qcl/files/patch-qc-Makefile
+++ /dev/null
@@ -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
-
diff --git a/science/qcl/pkg-plist b/science/qcl/pkg-plist
deleted file mode 100644
index 5a6cf3f01213..000000000000
--- a/science/qcl/pkg-plist
+++ /dev/null
@@ -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