ports/160153: Attempt to port dynare to FreeBSD

Fernando fernando.apesteguia at gmail.com
Wed Aug 24 19:10:11 UTC 2011


>Number:         160153
>Category:       ports
>Synopsis:       Attempt to port dynare to FreeBSD
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Aug 24 19:10:10 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Fernando
>Release:        FreeBSD 8.1-RELEASE-p2
>Organization:
None
>Environment:
FreeBSD hammer 8.1-RELEASE-p2 FreeBSD 8.1-RELEASE-p2 #16: Sun Mar 20 21:15:13 CET 2011     root at hammer:/usr/obj/usr/src/sys/APEKERNEL  amd64

>Description:
This is a first attempt to port dynare to FreeBSD.

Dynare is a software platform for handling a wide class of economic models, in 
particular dynamic stochastic general equilibrium (DSGE) and overlapping 
generations (OLG) models.

Please, note that portlint(1) complains about a critical error in the URL where to fetch the file. However this is due to the way in which the authors host the files.
>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:
#
#	dynare
#	dynare/files
#	dynare/files/patch-parser-exception.h
#	dynare/files/patch-journal.cweb
#	dynare/pkg-plist
#	dynare/pkg-descr
#	dynare/distinfo
#	dynare/Makefile
#
echo c - dynare
mkdir -p dynare > /dev/null 2>&1
echo c - dynare/files
mkdir -p dynare/files > /dev/null 2>&1
echo x - dynare/files/patch-parser-exception.h
sed 's/^X//' >dynare/files/patch-parser-exception.h << '12d137912663861280922773d971ad6c'
X--- dynare++/parser/cc/parser_exception.h.orig	2011-08-21 19:10:51.000000000 +0200
X+++ dynare++/parser/cc/parser_exception.h	2011-08-21 19:31:06.000000000 +0200
X@@ -6,6 +6,7 @@
X #define OG_FORMULA_PARSER_H
X 
X #include <string>
X+#include <stdio.h>
X 
X namespace ogp {
X 	using std::string;
12d137912663861280922773d971ad6c
echo x - dynare/files/patch-journal.cweb
sed 's/^X//' >dynare/files/patch-journal.cweb << '754f1ab4ca76eb543dda3fdd77883a6a'
X--- dynare++/kord/journal.cweb.orig	2011-08-21 20:56:09.000000000 +0200
X+++ dynare++/kord/journal.cweb	2011-08-21 23:02:31.000000000 +0200
X@@ -5,6 +5,8 @@
X @c
X #include "journal.h"
X #include "kord_exception.h"
X+#include <sys/types.h>
X+#include <sys/sysctl.h>
X 
X #if !defined(__MINGW32__)
X # include <sys/resource.h>
X@@ -72,7 +74,16 @@
X @<|SystemResources::availableMemory| code@>=
X long int SystemResources::availableMemory()
X {
X-	return pageSize()*sysconf(_SC_AVPHYS_PAGES);
X+	long value;
X+	size_t len;
X+	char *path = "vm.stats.vm.v_free_count";
X+
X+	if (sysctlbyname(path, &value, &len, NULL, 0) == -1) {
X+		return (-1);
X+	}
X+
X+
X+	return pageSize() * value;
X }
X 
X @ Here we read the current values of resource usage. For MinGW, we
X@@ -84,6 +95,10 @@
X 							 long int& idrss, long int& majflt)
X {
X 	struct timeval now;
X+	long value;
X+	size_t len;
X+	char *path = "vm.stats.vm.v_free_count";
X+
X 	gettimeofday(&now, NULL);
X 	elapsed = now.tv_sec-start.tv_sec + (now.tv_usec-start.tv_usec)*1.0e-6;
X 
X@@ -107,7 +122,11 @@
X 	load_avg = -1.0;
X #endif
X 
X-	pg_avail = sysconf(_SC_AVPHYS_PAGES);
X+	if (sysctlbyname(path, &value, &len, NULL, 0) == -1) {
X+		pg_avail = -1;
X+	}
X+
X+	pg_avail = value;
X }
X 
X @ 
754f1ab4ca76eb543dda3fdd77883a6a
echo x - dynare/pkg-plist
sed 's/^X//' >dynare/pkg-plist << 'b2aabc1cdf1eec78b38e669989c0363f'
X at dirrm etc/devd
X at dirrm etc/man.d
X at dirrm include/X11
X at dirrm lib/X11
X at dirrm lib/X11/app-defaults
X at dirrm lib/X11/fonts
X at dirrm lib/X11/fonts/local
X at dirrm lib/matlab
X at dirrm share/locale/be
X at dirrm share/locale/be/LC_MESSAGES
X at dirrm share/locale/ca
X at dirrm share/locale/ca/LC_MESSAGES
X at dirrm share/locale/cs
X at dirrm share/locale/cs/LC_MESSAGES
X at dirrm share/locale/de_AT
X at dirrm share/locale/de_AT/LC_MESSAGES
X at dirrm share/locale/el
X at dirrm share/locale/el/LC_MESSAGES
X at dirrm share/locale/en_AU
X at dirrm share/locale/en_AU/LC_MESSAGES
X at dirrm share/locale/fa_IR
X at dirrm share/locale/fa_IR/LC_MESSAGES
X at dirrm share/locale/fi
X at dirrm share/locale/fi/LC_MESSAGES
X at dirrm share/locale/fr_FR
X at dirrm share/locale/fr_FR/LC_MESSAGES
X at dirrm share/locale/gl
X at dirrm share/locale/gl/LC_MESSAGES
X at dirrm share/locale/ko
X at dirrm share/locale/ko/LC_MESSAGES
X at dirrm share/locale/li
X at dirrm share/locale/li/LC_MESSAGES
X at dirrm share/locale/ne
X at dirrm share/locale/ne/LC_MESSAGES
X at dirrm share/locale/nn
X at dirrm share/locale/nn/LC_MESSAGES
X at dirrm share/locale/no
X at dirrm share/locale/no/LC_MESSAGES
X at dirrm share/locale/pl
X at dirrm share/locale/pl/LC_MESSAGES
X at dirrm share/locale/pt
X at dirrm share/locale/pt/LC_MESSAGES
X at dirrm share/locale/ro
X at dirrm share/locale/ro/LC_MESSAGES
X at dirrm share/locale/sk
X at dirrm share/locale/sk/LC_MESSAGES
X at dirrm share/locale/sl
X at dirrm share/locale/sl/LC_MESSAGES
X at dirrm share/locale/sr
X at dirrm share/locale/sr/LC_MESSAGES
X at dirrm share/locale/tg
X at dirrm share/locale/tg/LC_MESSAGES
X at dirrm share/locale/tk
X at dirrm share/locale/tk/LC_MESSAGES
X at dirrm share/locale/uk
X at dirrm share/locale/uk/LC_MESSAGES
X at dirrm share/locale/uz
X at dirrm share/locale/uz/LC_MESSAGES
X at dirrm share/locale/zh_CN
X at dirrm share/locale/zh_CN/LC_MESSAGES
X at dirrm share/locale/zh_TW
X at dirrm share/locale/zh_TW/LC_MESSAGES
X at dirrm share/pixmaps
Xbin/dynare++
Xinfo/dir
Xinfo/dynare.info
Xlib/matlab/dynare_m
b2aabc1cdf1eec78b38e669989c0363f
echo x - dynare/pkg-descr
sed 's/^X//' >dynare/pkg-descr << 'd2809c7549fc75da1099bed1064679ec'
XDynare is a software platform for handling a wide class of economic models, in 
Xparticular dynamic stochastic general equilibrium (DSGE) and overlapping 
Xgenerations (OLG) models.
d2809c7549fc75da1099bed1064679ec
echo x - dynare/distinfo
sed 's/^X//' >dynare/distinfo << '22c4b6701c3137d508d022004a33438b'
XSHA256 (dynare-4.2.1.tar.gz) = 65b30a6524843a5751387cf962a10ba104042bef7932c472254f3bbf03aa044d
XSIZE (dynare-4.2.1.tar.gz) = 13634307
22c4b6701c3137d508d022004a33438b
echo x - dynare/Makefile
sed 's/^X//' >dynare/Makefile << '48ab9be55a7498f4ff23bb79cb374b86'
X# New ports collection makefile for:   dynare
X# Date created:                Aug 17 2011
X# Whom:                        Fernando Apesteguia <fernando.apesteguia at gmail.com>
X#
X# $FreeBSD$
X
XPORTNAME=	dynare
XPORTVERSION=	4.2.1
XCATEGORIES=	math
XMASTER_SITES=	http://www.dynare.org/download/dynare-4.2/source/dynare-2.4.1/at_download/file
X
XMAINTAINER=	fernando.apesteguia at gmail.com
XCOMMENT=	Software platform for handling a wide class of economic models
X
XBUILD_DEPENDS=  ${LOCALBASE}/include/boost/unordered_set.hpp:${PORTSDIR}/devel/boost-libs
X
XWRKSRC=                ${WRKDIR}/${DISTNAME}
XGNU_CONFIGURE=	yes
XUSE_GMAKE=	yes
XUSE_FORTRAN=	yes
X
XOPTIONS+=	OCTAVE	"Enable compilation of MEX files for Octave"	on
XOPTIONS+=	MATLAB	"Enable compilation of MEX files for MATLAB"	off
X
X.if defined(WITHOUT_MATLAB)
XCONFIGURE_ARGS+=	--disable-matlab
X.endif
X
X.if defined(WITHOUT_OCTAVE)
XCONFIGURE_ARGS+=	--disable-octave
X.else
XBUILD_DEPENDS+=		octave:${PORTSDIR}/math/octave
X.endif
X
Xdo-fetch:
X	fetch -o ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX} http://www.dynare.org/download/dynare-4.2/source/${DISTNAME}${EXTRACT_SUFX}/at_download/file
X
Xpost-configure:
X	@${ECHO_MSG} ""
X	@${ECHO_MSG} ""
X	@${ECHO_MSG} "*******************************************************************************"
X	@${ECHO_MSG} "Follow instructions at http://www.freebsd.org/doc/handbook/linuxemu-matlab.html"
X	@${ECHO_MSG} "on how to install MATLAB on FreeBSD"
X	@${ECHO_MSG} "*******************************************************************************"
X	@${ECHO_MSG} ""
X	@${ECHO_MSG} ""
X
X.include <bsd.port.mk>
48ab9be55a7498f4ff23bb79cb374b86
exit


Patch attached with submission follows:

# 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:
#
#	dynare
#	dynare/files
#	dynare/files/patch-parser-exception.h
#	dynare/files/patch-journal.cweb
#	dynare/pkg-plist
#	dynare/pkg-descr
#	dynare/distinfo
#	dynare/Makefile
#
echo c - dynare
mkdir -p dynare > /dev/null 2>&1
echo c - dynare/files
mkdir -p dynare/files > /dev/null 2>&1
echo x - dynare/files/patch-parser-exception.h
sed 's/^X//' >dynare/files/patch-parser-exception.h << '12d137912663861280922773d971ad6c'
X--- dynare++/parser/cc/parser_exception.h.orig	2011-08-21 19:10:51.000000000 +0200
X+++ dynare++/parser/cc/parser_exception.h	2011-08-21 19:31:06.000000000 +0200
X@@ -6,6 +6,7 @@
X #define OG_FORMULA_PARSER_H
X 
X #include <string>
X+#include <stdio.h>
X 
X namespace ogp {
X 	using std::string;
12d137912663861280922773d971ad6c
echo x - dynare/files/patch-journal.cweb
sed 's/^X//' >dynare/files/patch-journal.cweb << '754f1ab4ca76eb543dda3fdd77883a6a'
X--- dynare++/kord/journal.cweb.orig	2011-08-21 20:56:09.000000000 +0200
X+++ dynare++/kord/journal.cweb	2011-08-21 23:02:31.000000000 +0200
X@@ -5,6 +5,8 @@
X @c
X #include "journal.h"
X #include "kord_exception.h"
X+#include <sys/types.h>
X+#include <sys/sysctl.h>
X 
X #if !defined(__MINGW32__)
X # include <sys/resource.h>
X@@ -72,7 +74,16 @@
X @<|SystemResources::availableMemory| code@>=
X long int SystemResources::availableMemory()
X {
X-	return pageSize()*sysconf(_SC_AVPHYS_PAGES);
X+	long value;
X+	size_t len;
X+	char *path = "vm.stats.vm.v_free_count";
X+
X+	if (sysctlbyname(path, &value, &len, NULL, 0) == -1) {
X+		return (-1);
X+	}
X+
X+
X+	return pageSize() * value;
X }
X 
X @ Here we read the current values of resource usage. For MinGW, we
X@@ -84,6 +95,10 @@
X 							 long int& idrss, long int& majflt)
X {
X 	struct timeval now;
X+	long value;
X+	size_t len;
X+	char *path = "vm.stats.vm.v_free_count";
X+
X 	gettimeofday(&now, NULL);
X 	elapsed = now.tv_sec-start.tv_sec + (now.tv_usec-start.tv_usec)*1.0e-6;
X 
X@@ -107,7 +122,11 @@
X 	load_avg = -1.0;
X #endif
X 
X-	pg_avail = sysconf(_SC_AVPHYS_PAGES);
X+	if (sysctlbyname(path, &value, &len, NULL, 0) == -1) {
X+		pg_avail = -1;
X+	}
X+
X+	pg_avail = value;
X }
X 
X @ 
754f1ab4ca76eb543dda3fdd77883a6a
echo x - dynare/pkg-plist
sed 's/^X//' >dynare/pkg-plist << 'b2aabc1cdf1eec78b38e669989c0363f'
X at dirrm etc/devd
X at dirrm etc/man.d
X at dirrm include/X11
X at dirrm lib/X11
X at dirrm lib/X11/app-defaults
X at dirrm lib/X11/fonts
X at dirrm lib/X11/fonts/local
X at dirrm lib/matlab
X at dirrm share/locale/be
X at dirrm share/locale/be/LC_MESSAGES
X at dirrm share/locale/ca
X at dirrm share/locale/ca/LC_MESSAGES
X at dirrm share/locale/cs
X at dirrm share/locale/cs/LC_MESSAGES
X at dirrm share/locale/de_AT
X at dirrm share/locale/de_AT/LC_MESSAGES
X at dirrm share/locale/el
X at dirrm share/locale/el/LC_MESSAGES
X at dirrm share/locale/en_AU
X at dirrm share/locale/en_AU/LC_MESSAGES
X at dirrm share/locale/fa_IR
X at dirrm share/locale/fa_IR/LC_MESSAGES
X at dirrm share/locale/fi
X at dirrm share/locale/fi/LC_MESSAGES
X at dirrm share/locale/fr_FR
X at dirrm share/locale/fr_FR/LC_MESSAGES
X at dirrm share/locale/gl
X at dirrm share/locale/gl/LC_MESSAGES
X at dirrm share/locale/ko
X at dirrm share/locale/ko/LC_MESSAGES
X at dirrm share/locale/li
X at dirrm share/locale/li/LC_MESSAGES
X at dirrm share/locale/ne
X at dirrm share/locale/ne/LC_MESSAGES
X at dirrm share/locale/nn
X at dirrm share/locale/nn/LC_MESSAGES
X at dirrm share/locale/no
X at dirrm share/locale/no/LC_MESSAGES
X at dirrm share/locale/pl
X at dirrm share/locale/pl/LC_MESSAGES
X at dirrm share/locale/pt
X at dirrm share/locale/pt/LC_MESSAGES
X at dirrm share/locale/ro
X at dirrm share/locale/ro/LC_MESSAGES
X at dirrm share/locale/sk
X at dirrm share/locale/sk/LC_MESSAGES
X at dirrm share/locale/sl
X at dirrm share/locale/sl/LC_MESSAGES
X at dirrm share/locale/sr
X at dirrm share/locale/sr/LC_MESSAGES
X at dirrm share/locale/tg
X at dirrm share/locale/tg/LC_MESSAGES
X at dirrm share/locale/tk
X at dirrm share/locale/tk/LC_MESSAGES
X at dirrm share/locale/uk
X at dirrm share/locale/uk/LC_MESSAGES
X at dirrm share/locale/uz
X at dirrm share/locale/uz/LC_MESSAGES
X at dirrm share/locale/zh_CN
X at dirrm share/locale/zh_CN/LC_MESSAGES
X at dirrm share/locale/zh_TW
X at dirrm share/locale/zh_TW/LC_MESSAGES
X at dirrm share/pixmaps
Xbin/dynare++
Xinfo/dir
Xinfo/dynare.info
Xlib/matlab/dynare_m
b2aabc1cdf1eec78b38e669989c0363f
echo x - dynare/pkg-descr
sed 's/^X//' >dynare/pkg-descr << 'd2809c7549fc75da1099bed1064679ec'
XDynare is a software platform for handling a wide class of economic models, in 
Xparticular dynamic stochastic general equilibrium (DSGE) and overlapping 
Xgenerations (OLG) models.
d2809c7549fc75da1099bed1064679ec
echo x - dynare/distinfo
sed 's/^X//' >dynare/distinfo << '22c4b6701c3137d508d022004a33438b'
XSHA256 (dynare-4.2.1.tar.gz) = 65b30a6524843a5751387cf962a10ba104042bef7932c472254f3bbf03aa044d
XSIZE (dynare-4.2.1.tar.gz) = 13634307
22c4b6701c3137d508d022004a33438b
echo x - dynare/Makefile
sed 's/^X//' >dynare/Makefile << '48ab9be55a7498f4ff23bb79cb374b86'
X# New ports collection makefile for:   dynare
X# Date created:                Aug 17 2011
X# Whom:                        Fernando Apesteguia <fernando.apesteguia at gmail.com>
X#
X# $FreeBSD$
X
XPORTNAME=	dynare
XPORTVERSION=	4.2.1
XCATEGORIES=	math
XMASTER_SITES=	http://www.dynare.org/download/dynare-4.2/source/dynare-2.4.1/at_download/file
X
XMAINTAINER=	fernando.apesteguia at gmail.com
XCOMMENT=	Software platform for handling a wide class of economic models
X
XBUILD_DEPENDS=  ${LOCALBASE}/include/boost/unordered_set.hpp:${PORTSDIR}/devel/boost-libs
X
XWRKSRC=                ${WRKDIR}/${DISTNAME}
XGNU_CONFIGURE=	yes
XUSE_GMAKE=	yes
XUSE_FORTRAN=	yes
X
XOPTIONS+=	OCTAVE	"Enable compilation of MEX files for Octave"	on
XOPTIONS+=	MATLAB	"Enable compilation of MEX files for MATLAB"	off
X
X.if defined(WITHOUT_MATLAB)
XCONFIGURE_ARGS+=	--disable-matlab
X.endif
X
X.if defined(WITHOUT_OCTAVE)
XCONFIGURE_ARGS+=	--disable-octave
X.else
XBUILD_DEPENDS+=		octave:${PORTSDIR}/math/octave
X.endif
X
Xdo-fetch:
X	fetch -o ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX} http://www.dynare.org/download/dynare-4.2/source/${DISTNAME}${EXTRACT_SUFX}/at_download/file
X
Xpost-configure:
X	@${ECHO_MSG} ""
X	@${ECHO_MSG} ""
X	@${ECHO_MSG} "*******************************************************************************"
X	@${ECHO_MSG} "Follow instructions at http://www.freebsd.org/doc/handbook/linuxemu-matlab.html"
X	@${ECHO_MSG} "on how to install MATLAB on FreeBSD"
X	@${ECHO_MSG} "*******************************************************************************"
X	@${ECHO_MSG} ""
X	@${ECHO_MSG} ""
X
X.include <bsd.port.mk>
48ab9be55a7498f4ff23bb79cb374b86
exit



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



More information about the freebsd-ports-bugs mailing list