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