Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 May 2001 17:40:30 -0600 (MDT)
From:      Brad Huntting <huntting@glarp.com>
To:        FreeBSD-gnats-submit@freebsd.org
Cc:        oemer@tph.tuwien.ac.at, huntting@glarp.com
Subject:   ports/27628: New port: QCL is a Quantum Computer Language/Simulator.
Message-ID:  <200105242340.f4ONeUr47557@hunkular.glarp.com>

next in thread | raw e-mail | index | archive | help

>Number:         27628
>Category:       ports
>Synopsis:       New port: QCL is a Quantum Computer Language/Simulator.
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu May 24 16:50:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Brad Huntting
>Release:        FreeBSD 4.3-RELEASE i386 / FreeBSD 5.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD hunkular.glarp.com 4.3-STABLE FreeBSD 4.3-STABLE #0: Mon May 14 18:39:38 MDT 2001 root@hunkular.glarp.com:/usr/src/sys/compile/HUNKULAR i386


	
>Description:
	The documentation for QCL is in a ps/pdf file and is not
	included in this port.  It can be found on Bernhard Oemers
	web page (http://tph.tuwien.ac.at/~oemer/qcl.html).

>How-To-Repeat:
>Fix:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	qcl
#	qcl/Makefile
#	qcl/distinfo
#	qcl/files
#	qcl/files/patch-aa
#	qcl/scripts
#	qcl/scripts/configure
#	qcl/pkg-plist
#	qcl/pkg-comment
#	qcl/pkg-descr
#
echo c - qcl
mkdir -p qcl > /dev/null 2>&1
echo x - qcl/Makefile
sed 's/^X//' >qcl/Makefile << 'END-of-qcl/Makefile'
X# ports collection makefile for:	qcl
X# Date created:        23 May 2001
X# Whom:                Brad Huntting <huntting@glarp.com>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	qcl
XPORTVERSION=	0.4.1
XCATEGORIES=	emulators math
XMASTER_SITES=	http://tph.tuwien.ac.at/~oemer/tgz/
XEXTRACT_SUFX=	.tgz
X
XMAINTAINER=	huntting@glarp.com
X
XLIB_DEPENDS=	gnugetopt.1:${PORTSDIR}/devel/libgnugetopt
X
Xpost-install:
X	strip ${PREFIX}/bin/qcl
X
X.include <bsd.port.mk>
END-of-qcl/Makefile
echo x - qcl/distinfo
sed 's/^X//' >qcl/distinfo << 'END-of-qcl/distinfo'
XMD5 (qcl-0.4.1.tgz) = 0ff6cdb3c29cc3c533f3b27018662a57
END-of-qcl/distinfo
echo c - qcl/files
mkdir -p qcl/files > /dev/null 2>&1
echo x - qcl/files/patch-aa
sed 's/^X//' >qcl/files/patch-aa << 'END-of-qcl/files/patch-aa'
X--- Makefile.orig	Wed Jan 17 13:17:06 2001
X+++ Makefile	Thu May 24 15:51:01 2001
X@@ -14,29 +14,25 @@
X 
X # Directory for Standard .qcl files
X 
X-QCLDIR = /usr/local/lib/qcl
X+QCLDIR = ${PREFIX}/share/qcl
X 
X # Path for qcl binaries
X 
X-QCLBIN = /usr/local/bin
X+QCLBIN = ${PREFIX}/bin
X 
X # Debugging options
X 
X-DEBUG = -g -DQCL_DEBUG -DQC_DEBUG
X-#DEBUG = -O2
X+DEBUG = -O2
X 
X # Comment out if you don't have GNU readline on your system
X # explicit linking against libtermcap or libncurses may be required
X 
X RLOPT = -DQCL_USE_READLINE
X-#RLLIB = -lreadline
X-RLLIB = -lreadline -lncurses
X+RLLIB = -lreadline
X 
X # Replace with lex and yacc on non-GNU systems (untested)
X 
X-LEX = flex
X-YACC = bison
X-INSTALL = install
X+INSTALL = install -c
X 
X ##### You shouldn't have to edit the stuff below #####
X 
X@@ -44,13 +40,15 @@
X QCLIB = $(QCDIR)/libqc.a
X QCLINC = lib
X 
X-CC = g++
X-CPP = $(CC) -E
X-CFLAGS = -c -Wall $(DEBUG) $(RLOPT) -I$(QCDIR) -DDEF_INCLUDE_PATH="\"$(QCLDIR)\""
X-LFLAGS = -L$(QCDIR) $(DEBUG) -lm -lfl -lqc $(RLLIB) 
X+CXXFLAGS += -Wall $(DEBUG) $(RLOPT) -I$(QCDIR) -I${PREFIX}/include -DDEF_INCLUDE_PATH="\"$(QCLDIR)\""
X+LDFLAGS += -L$(QCDIR) $(DEBUG) -L${PREFIX}/lib -lgnugetopt -lm -lfl -lqc $(RLLIB) 
X+
X+FILESCC = debug.cc error.cc eval.cc exec.cc extern.cc lex.cc \
X+	options.cc parse.cc print.cc qcl.cc quheap.cc symbols.cc \
X+	syntax.cc typcheck.cc types.cc yacc.cc
X+FILESH = debug.h error.h extern.h options.h parse.h quheap.h \
X+	symbols.h syntax.h types.h yacc.h
X 
X-FILESCC = $(wildcard *.cc)
X-FILESH = $(wildcard *.h)
X 
X SOURCE = $(FILESCC) $(FILESH) qcl.lex qcl.y Makefile
X 
X@@ -58,23 +56,11 @@
X           lex.o yacc.o print.o quheap.o extern.o eval.o exec.o \
X           parse.o options.o debug.o
X 
X-all: do-it-all
X+all: build
X+
X 
X-ifeq (.depend,$(wildcard .depend))
X-include .depend
X-do-it-all: build
X-else
X-do-it-all: dep
X-	make
X-endif
X-
X-#### Rules for depend
X-
X-dep: lex.cc yacc.cc yacc.h $(QCLIB)
X-	for i in *.cc; do \
X-	  $(CPP) -I$(QCDIR) -MM $$i; \
X-	  echo -e '\t$(CC) $(CFLAGS)' $$i '\n'; \
X-	done > .depend
X+dep: $(FILESCC) $(FILESH)
X+	$(CXX) -M $(CXXFLAGS) $(FILESCC) >.depend
X 
X lex.cc: qcl.lex
X 	$(LEX) -olex.cc qcl.lex
X@@ -86,24 +72,24 @@
X 	mv yacc.cc.h yacc.h
X 
X $(QCLIB):
X-	cd $(QCDIR) && make libqc.a
X+	cd $(QCDIR) && $(MAKE) $(MAKEFLAGS) libqc.a
X 
X #### Rules for build
X 
X build: qcl $(QCLINC)/default.qcl
X 
X qcl: $(OBJECTS) qcl.o $(QCLIB)
X-	$(CC) $(OBJECTS) qcl.o $(LFLAGS) -o qcl
X+	$(CXX) $(OBJECTS) qcl.o $(LDFLAGS) -o qcl
X 
X qcl-static: $(OBJECTS) qcl.o $(QCLIB)
X-	$(CC) -static $(OBJECTS) qcl.o $(LFLAGS) -o qcl-static
X+	$(CXX) -static $(OBJECTS) qcl.o $(LDFLAGS) -o qcl-static
X 	strip qcl-static
X 
X $(QCLINC)/default.qcl: extern.cc
X 	grep "^//!" extern.cc | cut -c5- > $(QCLINC)/default.qcl
X 
X install: build
X-	$(INSTALL) -m 0755 -d $(QCLBIN) $(QCLDIR)
X+	umask 022; mkdir -p $(QCLDIR); chmod 0755 $(QCLDIR)
X 	$(INSTALL) -m 0755 ./qcl $(QCLBIN)
X 	$(INSTALL) -m 0644 ./lib/default.qcl $(QCLDIR)
X 	$(INSTALL) -m 0644 ./lib/dft.qcl $(QCLDIR)
X@@ -115,6 +101,7 @@
X 	$(INSTALL) -m 0644 ./lib/roulette.qcl $(QCLDIR)
X 	$(INSTALL) -m 0644 ./lib/shor.qcl $(QCLDIR)
X 	$(INSTALL) -m 0644 ./lib/swap.qcl $(QCLDIR)
X+	$(INSTALL) -m 0644 ./lib/grover.qcl $(QCLDIR)
X 
X #### Other Functions
X 
END-of-qcl/files/patch-aa
echo c - qcl/scripts
mkdir -p qcl/scripts > /dev/null 2>&1
echo x - qcl/scripts/configure
sed 's/^X//' >qcl/scripts/configure << 'END-of-qcl/scripts/configure'
X#!/bin/sh
X
Xcd $WRKSRC
Xrm -f .depend
Xmake dep
END-of-qcl/scripts/configure
echo x - qcl/pkg-plist
sed 's/^X//' >qcl/pkg-plist << 'END-of-qcl/pkg-plist'
Xbin/qcl
Xshare/qcl/default.qcl
Xshare/qcl/dft.qcl
Xshare/qcl/expmod.qcl
Xshare/qcl/fanout.qcl
Xshare/qcl/functions.qcl
Xshare/qcl/modarith.qcl
Xshare/qcl/qufunct.qcl
Xshare/qcl/roulette.qcl
Xshare/qcl/shor.qcl
Xshare/qcl/swap.qcl
Xshare/qcl/grover.qcl
X@dirrm share/qcl
END-of-qcl/pkg-plist
echo x - qcl/pkg-comment
sed 's/^X//' >qcl/pkg-comment << 'END-of-qcl/pkg-comment'
XA quantum computer simulator
END-of-qcl/pkg-comment
echo x - qcl/pkg-descr
sed 's/^X//' >qcl/pkg-descr << 'END-of-qcl/pkg-descr'
XThis is a port of qcl, a quantum computer simulator.
X
XWWW: http://tph.tuwien.ac.at/~oemer/qcl.html
X
X- brad.huntting@glarp.com
END-of-qcl/pkg-descr
exit

>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200105242340.f4ONeUr47557>