From cfe6e9364d9d1a80e7dd437aa2d6bfad4ed77d09 Mon Sep 17 00:00:00 2001 From: Ying-Chieh Liao Date: Tue, 29 May 2001 16:56:08 +0000 Subject: add qcl A quantum computer simulator PR: 27628 Submitted by: Brad Huntting --- emulators/qcl/Makefile | 21 +++++++ emulators/qcl/distinfo | 1 + emulators/qcl/files/patch-aa | 124 ++++++++++++++++++++++++++++++++++++++++ emulators/qcl/pkg-comment | 1 + emulators/qcl/pkg-descr | 5 ++ emulators/qcl/pkg-plist | 13 +++++ emulators/qcl/scripts/configure | 5 ++ 7 files changed, 170 insertions(+) create mode 100644 emulators/qcl/Makefile create mode 100644 emulators/qcl/distinfo create mode 100644 emulators/qcl/files/patch-aa create mode 100644 emulators/qcl/pkg-comment create mode 100644 emulators/qcl/pkg-descr create mode 100644 emulators/qcl/pkg-plist create mode 100644 emulators/qcl/scripts/configure (limited to 'emulators/qcl') diff --git a/emulators/qcl/Makefile b/emulators/qcl/Makefile new file mode 100644 index 000000000000..251e5de939e4 --- /dev/null +++ b/emulators/qcl/Makefile @@ -0,0 +1,21 @@ +# ports collection makefile for: qcl +# Date created: 23 May 2001 +# Whom: Brad Huntting +# +# $FreeBSD$ +# + +PORTNAME= qcl +PORTVERSION= 0.4.1 +CATEGORIES= emulators math +MASTER_SITES= http://tph.tuwien.ac.at/~oemer/tgz/ +EXTRACT_SUFX= .tgz + +MAINTAINER= huntting@glarp.com + +LIB_DEPENDS= gnugetopt.1:${PORTSDIR}/devel/libgnugetopt + +post-install: + strip ${PREFIX}/bin/qcl + +.include diff --git a/emulators/qcl/distinfo b/emulators/qcl/distinfo new file mode 100644 index 000000000000..55e5672d43a3 --- /dev/null +++ b/emulators/qcl/distinfo @@ -0,0 +1 @@ +MD5 (qcl-0.4.1.tgz) = 0ff6cdb3c29cc3c533f3b27018662a57 diff --git a/emulators/qcl/files/patch-aa b/emulators/qcl/files/patch-aa new file mode 100644 index 000000000000..1910760c87cb --- /dev/null +++ b/emulators/qcl/files/patch-aa @@ -0,0 +1,124 @@ +--- Makefile.orig Wed Jan 17 13:17:06 2001 ++++ Makefile Thu May 24 15:51:01 2001 +@@ -14,29 +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 -DQCL_DEBUG -DQC_DEBUG +-#DEBUG = -O2 ++DEBUG = -O2 + + # Comment out if you don't have GNU readline on your system + # explicit linking against libtermcap or libncurses may be required + + RLOPT = -DQCL_USE_READLINE +-#RLLIB = -lreadline +-RLLIB = -lreadline -lncurses ++RLLIB = -lreadline + + # Replace with lex and yacc on non-GNU systems (untested) + +-LEX = flex +-YACC = bison +-INSTALL = install ++INSTALL = install -c + + ##### You shouldn't have to edit the stuff below ##### + +@@ -44,13 +40,15 @@ + QCLIB = $(QCDIR)/libqc.a + QCLINC = lib + +-CC = g++ +-CPP = $(CC) -E +-CFLAGS = -c -Wall $(DEBUG) $(RLOPT) -I$(QCDIR) -DDEF_INCLUDE_PATH="\"$(QCLDIR)\"" +-LFLAGS = -L$(QCDIR) $(DEBUG) -lm -lfl -lqc $(RLLIB) ++CXXFLAGS += -Wall $(DEBUG) $(RLOPT) -I$(QCDIR) -I${PREFIX}/include -DDEF_INCLUDE_PATH="\"$(QCLDIR)\"" ++LDFLAGS += -L$(QCDIR) $(DEBUG) -L${PREFIX}/lib -lgnugetopt -lm -lfl -lqc $(RLLIB) ++ ++FILESCC = debug.cc error.cc eval.cc exec.cc extern.cc lex.cc \ ++ options.cc parse.cc print.cc qcl.cc quheap.cc symbols.cc \ ++ syntax.cc typcheck.cc types.cc yacc.cc ++FILESH = debug.h error.h extern.h options.h parse.h quheap.h \ ++ symbols.h syntax.h types.h yacc.h + +-FILESCC = $(wildcard *.cc) +-FILESH = $(wildcard *.h) + + SOURCE = $(FILESCC) $(FILESH) qcl.lex qcl.y Makefile + +@@ -58,23 +56,11 @@ + lex.o yacc.o print.o quheap.o extern.o eval.o exec.o \ + parse.o options.o debug.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: $(FILESCC) $(FILESH) ++ $(CXX) -M $(CXXFLAGS) $(FILESCC) >.depend + + lex.cc: qcl.lex + $(LEX) -olex.cc qcl.lex +@@ -86,24 +72,24 @@ + mv yacc.cc.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) ++ umask 022; mkdir -p $(QCLDIR); chmod 0755 $(QCLDIR) + $(INSTALL) -m 0755 ./qcl $(QCLBIN) + $(INSTALL) -m 0644 ./lib/default.qcl $(QCLDIR) + $(INSTALL) -m 0644 ./lib/dft.qcl $(QCLDIR) +@@ -115,6 +101,7 @@ + $(INSTALL) -m 0644 ./lib/roulette.qcl $(QCLDIR) + $(INSTALL) -m 0644 ./lib/shor.qcl $(QCLDIR) + $(INSTALL) -m 0644 ./lib/swap.qcl $(QCLDIR) ++ $(INSTALL) -m 0644 ./lib/grover.qcl $(QCLDIR) + + #### Other Functions + diff --git a/emulators/qcl/pkg-comment b/emulators/qcl/pkg-comment new file mode 100644 index 000000000000..4b54f54940b8 --- /dev/null +++ b/emulators/qcl/pkg-comment @@ -0,0 +1 @@ +A quantum computer simulator diff --git a/emulators/qcl/pkg-descr b/emulators/qcl/pkg-descr new file mode 100644 index 000000000000..272a6df15c1b --- /dev/null +++ b/emulators/qcl/pkg-descr @@ -0,0 +1,5 @@ +This is a port of qcl, a quantum computer simulator. + +WWW: http://tph.tuwien.ac.at/~oemer/qcl.html + +- brad.huntting@glarp.com diff --git a/emulators/qcl/pkg-plist b/emulators/qcl/pkg-plist new file mode 100644 index 000000000000..3df3c22741f3 --- /dev/null +++ b/emulators/qcl/pkg-plist @@ -0,0 +1,13 @@ +bin/qcl +share/qcl/default.qcl +share/qcl/dft.qcl +share/qcl/expmod.qcl +share/qcl/fanout.qcl +share/qcl/functions.qcl +share/qcl/modarith.qcl +share/qcl/qufunct.qcl +share/qcl/roulette.qcl +share/qcl/shor.qcl +share/qcl/swap.qcl +share/qcl/grover.qcl +@dirrm share/qcl diff --git a/emulators/qcl/scripts/configure b/emulators/qcl/scripts/configure new file mode 100644 index 000000000000..24c2ff96fdd1 --- /dev/null +++ b/emulators/qcl/scripts/configure @@ -0,0 +1,5 @@ +#!/bin/sh + +cd $WRKSRC +rm -f .depend +make dep -- cgit v1.2.3