summaryrefslogtreecommitdiff
path: root/math/libranlip
diff options
context:
space:
mode:
authorMartin Wilke <miwi@FreeBSD.org>2010-05-09 08:26:50 +0000
committerMartin Wilke <miwi@FreeBSD.org>2010-05-09 08:26:50 +0000
commit5c51d5a546bfe7b8d8240e99b7554a1a0292f141 (patch)
treeb2746eb1efa70fa00b0b4b8ec21643bfeeb6ad7e /math/libranlip
parent- Update to 0.24 (diff)
libranlip is a C++ library created by G. Beliakin, which generates random
variates with arbitrary Lipschitz-continuous densities via the acceptance / rejection method. The density should have a dimension of no more than about five. The user needs to supply the density function using a simple syntax, and then call the methods of construction and generation provided in libranlip. WWW: http://www.deakin.edu.au/~gleb/ranlip.html PR: ports/143624 Submitted by: bf <bf1783 at gmail.com>
Notes
Notes: svn path=/head/; revision=253982
Diffstat (limited to 'math/libranlip')
-rw-r--r--math/libranlip/Makefile50
-rw-r--r--math/libranlip/distinfo3
-rw-r--r--math/libranlip/files/patch-examples__makefile115
-rw-r--r--math/libranlip/pkg-descr7
4 files changed, 175 insertions, 0 deletions
diff --git a/math/libranlip/Makefile b/math/libranlip/Makefile
new file mode 100644
index 000000000000..78f5e4ea97be
--- /dev/null
+++ b/math/libranlip/Makefile
@@ -0,0 +1,50 @@
+# New ports collection makefile for: libranlip
+# Date created: 6 Feb 2010
+# Whom: bf <bf1783@gmail.com>
+# $FreeBSD$
+
+PORTNAME= libranlip
+DISTVERSION= 1.0
+CATEGORIES= math
+MASTER_SITES= http://freebsd.unixfreunde.de/sources/ \
+ http://www.deakin.edu.au/~gleb/
+
+MAINTAINER= bf1783@gmail.com
+COMMENT= A random variate generator for Lipschitz-continuous densities
+
+GNU_CONFIGURE= yes
+USE_LDCONFIG= yes
+
+INFO= ranlip
+PLIST_FILES= include/ranlip.h include/ranlipdist.h include/ranlipproc.h lib/libranlip.so.${PORTVERSION} \
+ lib/libranlip.so.${PORTVERSION:R} lib/libranlip.la lib/libranlip.a
+PORTDOCS= ranlip.ps
+PORTEXAMPLES= makefile ranliptest.cpp ranliptestproc.cpp
+TESTPROGS= static_example static_example2 static_example3 shared_example
+
+.include <bsd.port.pre.mk>
+
+post-install:
+ ${LN} -s ${PREFIX}/lib/libranlip.so.${PORTVERSION} ${PREFIX}/lib/libranlip.so.${PORTVERSION:R}
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${DOCSDIR}
+ ${INSTALL_MAN} ${WRKSRC}/docs/ranlip.ps ${DOCSDIR}
+.endif
+.if !defined(NOPORTEXAMPLES)
+ ${MKDIR} ${EXAMPLESDIR}
+.for _file in ${PORTEXAMPLES}
+ ${INSTALL_DATA} ${WRKSRC}/examples/${_file} ${EXAMPLESDIR}
+.endfor
+.endif
+
+test: build
+ @(cd ${WRKSRC}/examples; ${SETENV} ${MAKE_ENV} ${MAKE} ${_MAKE_JOBS} ${MAKE_ARGS} all)
+.for _prog in ${TESTPROGS}
+ @(cd ${WRKSRC}/examples && ./${_prog})
+.endfor
+
+.if ${OSVERSION} < 700000
+BROKEN= fails to build
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/math/libranlip/distinfo b/math/libranlip/distinfo
new file mode 100644
index 000000000000..cbc80f6edd8d
--- /dev/null
+++ b/math/libranlip/distinfo
@@ -0,0 +1,3 @@
+MD5 (libranlip-1.0.tar.gz) = fc56eb62531549304600941cc65a18e8
+SHA256 (libranlip-1.0.tar.gz) = 885ad15711a6eddc2af4ded3a7bc4a3ca864e3b4ba2952f3e0c988961a05222a
+SIZE (libranlip-1.0.tar.gz) = 477069
diff --git a/math/libranlip/files/patch-examples__makefile b/math/libranlip/files/patch-examples__makefile
new file mode 100644
index 000000000000..1b2ba35c1209
--- /dev/null
+++ b/math/libranlip/files/patch-examples__makefile
@@ -0,0 +1,115 @@
+--- examples/makefile.orig 2004-05-19 05:53:57.000000000 -0400
++++ examples/makefile 2010-02-06 20:58:35.000000000 -0500
+@@ -11,7 +11,7 @@
+ # distribution of RANLIP assuming different installations of the library. this
+ # include the following examples for both static and shared linking.
+ #
+-# shared_example and staic_example:
++# shared_example and static_example:
+ #
+ # shows how to compile and link library when install
+ # in the library search path used to load libraries
+@@ -20,16 +20,13 @@
+ # shows how to compile and link by implicitly telling
+ # the linker where to look for the library
+ #
+-# static_example3: s
++# static_example3:
+ # hows how to compile and link procedural C conde.
+ #
+ ############################################################################
+
+-# compiler
+-CC = g++
+-
+ # Some options probably not needed: -g (which enables the debugger options).
+-FLAGS = -g -O -Wno-deprecated
++FLAGS = ${CXXFLAGS}
+
+ # Object file fo the example
+ OBJ = ranliptest.o
+@@ -38,68 +35,68 @@
+
+ # LIB_PATH used to store the path in which the library files were installed.
+ # The commented out assignment is for when the library is installed into the
+-# users home directory. NOTE: $(HOME) referes to env varialble HOME.
++# user's home directory. NOTE: $(HOME) refers to env variable HOME.
+
+ #LIB_PATH = $(HOME)/ranlip/lib/
+-LIB_PATH = /usr/local/lib/
++LIB_PATH = ../src/.libs
+
+ # INCLUDE_PATH used to store the path in which the *.h files have been
+-# placed. The commented out assignment is for when the *.h files are placed
+-# in the users home directory.
++# placed. The commented-out assignment is for when the *.h files are placed
++# in the user's home directory.
+
+ #INCLUDE_PATH = $(HOME)/ranlip/include/
+-INCLUDE_PATH = /usr/local/include/
++INCLUDE_PATH = ../src
+
+ all: static_example2 static_example3 shared_example static_example
+
+ #################################################################################
+ # linking ranliptest.o . If you have succesfully installed lip library and have
+-# LIB_PATH to /etc/ld.soconf Or you have added LIB_PATH TO LD_LIBRARY_PATH
+-# then compiling is as eassy as this.
++# LIB_PATH to /etc/ld.so.conf Or you have added LIB_PATH TO LD_LIBRARY_PATH
++# then compiling is as easy as this.
+
+ # shared_example target links ranliptest.o to the lip shared library. To make
+ # up shared_example executable.
+
+ shared_example: $(OBJ)
+- $(CC) -o shared_example $(OBJ) $(FLAGS) -lranlip -lm
++ $(CXX) -o shared_example $(OBJ) $(FLAGS) -L${LIB_PATH} -lranlip -lm
+
+ # static_example target links ranliptest.o to the lip static library. To make
+ # up static_example executable.
+
+ static_example: $(OBJ)
+- $(CC) -o static_example -static $(OBJ) $(FLAGS) -lranlip -lm
++ $(CXX) -o static_example -static $(OBJ) $(FLAGS) -L${LIB_PATH} -lranlip -lm
+
+
+ #################################################################################
+ # linking ranliptest.o .
+
+ # static_example target links ranliptest.o to the lip static library. To make
+-# up static_example executable.
++# up static_example2 executable.
+
+ static_example2:$(OBJ2)
+- $(CC) -o static_example2 $(OBJ2) $(FLAGS) $(LIB_PATH)libranlip.a -lm
++ $(CXX) -o static_example2 $(OBJ2) $(FLAGS) $(LIB_PATH)/libranlip.a -lm
+
+
+ #################################################################################
+ # linking ranlipporc.o
+
+ # static_example target links ranliptestproc.o to the lip static library. To make
+-# up static_example executable.
++# up static_example3 executable.
+
+ static_example3:$(OBJ3)
+- $(CC) -o static_example3 -static $(OBJ3) $(FLAGS) $(LIB_PATH)libranlip.a -lm
++ $(CXX) -o static_example3 -static $(OBJ3) $(FLAGS) $(LIB_PATH)/libranlip.a -lm
+
+
+ #################################################################################
+ # compiling examples to objectfiles.
+
+ ranliptest.o: ranliptest.cpp
+- $(CC) -c ranliptest.cpp $(FLAGS) -I$(INCLUDE_PATH)
++ $(CXX) -c ranliptest.cpp $(FLAGS) -I$(INCLUDE_PATH)
+
+-# compiling proccedual example using C compiler
++# compiling procedural example using C compiler
+ #
+ ranliptestproc.o: ranliptestproc.cpp
+- gcc -c ranliptestproc.cpp $(FLAGS) -I$(INCLUDE_PATH)
++ ${CC} -c ranliptestproc.cpp $(FLAGS) -I$(INCLUDE_PATH)
+
+ .PHONY: clean all
+
diff --git a/math/libranlip/pkg-descr b/math/libranlip/pkg-descr
new file mode 100644
index 000000000000..9759939d7922
--- /dev/null
+++ b/math/libranlip/pkg-descr
@@ -0,0 +1,7 @@
+libranlip is a C++ library created by G. Beliakin, which generates random
+variates with arbitrary Lipschitz-continuous densities via the acceptance /
+rejection method. The density should have a dimension of no more than about
+five. The user needs to supply the density function using a simple syntax, and
+then call the methods of construction and generation provided in libranlip.
+
+WWW: http://www.deakin.edu.au/~gleb/ranlip.html