Date: Wed, 24 Aug 2011 19:05:38 GMT From: Fernando <fernando.apesteguia@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/160153: Attempt to port dynare to FreeBSD Message-ID: <201108241905.p7OJ5cZE020973@red.freebsd.org> Resent-Message-ID: <201108241910.p7OJAAw3028795@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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@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@dirrm etc/devd X@dirrm etc/man.d X@dirrm include/X11 X@dirrm lib/X11 X@dirrm lib/X11/app-defaults X@dirrm lib/X11/fonts X@dirrm lib/X11/fonts/local X@dirrm lib/matlab X@dirrm share/locale/be X@dirrm share/locale/be/LC_MESSAGES X@dirrm share/locale/ca X@dirrm share/locale/ca/LC_MESSAGES X@dirrm share/locale/cs X@dirrm share/locale/cs/LC_MESSAGES X@dirrm share/locale/de_AT X@dirrm share/locale/de_AT/LC_MESSAGES X@dirrm share/locale/el X@dirrm share/locale/el/LC_MESSAGES X@dirrm share/locale/en_AU X@dirrm share/locale/en_AU/LC_MESSAGES X@dirrm share/locale/fa_IR X@dirrm share/locale/fa_IR/LC_MESSAGES X@dirrm share/locale/fi X@dirrm share/locale/fi/LC_MESSAGES X@dirrm share/locale/fr_FR X@dirrm share/locale/fr_FR/LC_MESSAGES X@dirrm share/locale/gl X@dirrm share/locale/gl/LC_MESSAGES X@dirrm share/locale/ko X@dirrm share/locale/ko/LC_MESSAGES X@dirrm share/locale/li X@dirrm share/locale/li/LC_MESSAGES X@dirrm share/locale/ne X@dirrm share/locale/ne/LC_MESSAGES X@dirrm share/locale/nn X@dirrm share/locale/nn/LC_MESSAGES X@dirrm share/locale/no X@dirrm share/locale/no/LC_MESSAGES X@dirrm share/locale/pl X@dirrm share/locale/pl/LC_MESSAGES X@dirrm share/locale/pt X@dirrm share/locale/pt/LC_MESSAGES X@dirrm share/locale/ro X@dirrm share/locale/ro/LC_MESSAGES X@dirrm share/locale/sk X@dirrm share/locale/sk/LC_MESSAGES X@dirrm share/locale/sl X@dirrm share/locale/sl/LC_MESSAGES X@dirrm share/locale/sr X@dirrm share/locale/sr/LC_MESSAGES X@dirrm share/locale/tg X@dirrm share/locale/tg/LC_MESSAGES X@dirrm share/locale/tk X@dirrm share/locale/tk/LC_MESSAGES X@dirrm share/locale/uk X@dirrm share/locale/uk/LC_MESSAGES X@dirrm share/locale/uz X@dirrm share/locale/uz/LC_MESSAGES X@dirrm share/locale/zh_CN X@dirrm share/locale/zh_CN/LC_MESSAGES X@dirrm share/locale/zh_TW X@dirrm share/locale/zh_TW/LC_MESSAGES X@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@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@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@dirrm etc/devd X@dirrm etc/man.d X@dirrm include/X11 X@dirrm lib/X11 X@dirrm lib/X11/app-defaults X@dirrm lib/X11/fonts X@dirrm lib/X11/fonts/local X@dirrm lib/matlab X@dirrm share/locale/be X@dirrm share/locale/be/LC_MESSAGES X@dirrm share/locale/ca X@dirrm share/locale/ca/LC_MESSAGES X@dirrm share/locale/cs X@dirrm share/locale/cs/LC_MESSAGES X@dirrm share/locale/de_AT X@dirrm share/locale/de_AT/LC_MESSAGES X@dirrm share/locale/el X@dirrm share/locale/el/LC_MESSAGES X@dirrm share/locale/en_AU X@dirrm share/locale/en_AU/LC_MESSAGES X@dirrm share/locale/fa_IR X@dirrm share/locale/fa_IR/LC_MESSAGES X@dirrm share/locale/fi X@dirrm share/locale/fi/LC_MESSAGES X@dirrm share/locale/fr_FR X@dirrm share/locale/fr_FR/LC_MESSAGES X@dirrm share/locale/gl X@dirrm share/locale/gl/LC_MESSAGES X@dirrm share/locale/ko X@dirrm share/locale/ko/LC_MESSAGES X@dirrm share/locale/li X@dirrm share/locale/li/LC_MESSAGES X@dirrm share/locale/ne X@dirrm share/locale/ne/LC_MESSAGES X@dirrm share/locale/nn X@dirrm share/locale/nn/LC_MESSAGES X@dirrm share/locale/no X@dirrm share/locale/no/LC_MESSAGES X@dirrm share/locale/pl X@dirrm share/locale/pl/LC_MESSAGES X@dirrm share/locale/pt X@dirrm share/locale/pt/LC_MESSAGES X@dirrm share/locale/ro X@dirrm share/locale/ro/LC_MESSAGES X@dirrm share/locale/sk X@dirrm share/locale/sk/LC_MESSAGES X@dirrm share/locale/sl X@dirrm share/locale/sl/LC_MESSAGES X@dirrm share/locale/sr X@dirrm share/locale/sr/LC_MESSAGES X@dirrm share/locale/tg X@dirrm share/locale/tg/LC_MESSAGES X@dirrm share/locale/tk X@dirrm share/locale/tk/LC_MESSAGES X@dirrm share/locale/uk X@dirrm share/locale/uk/LC_MESSAGES X@dirrm share/locale/uz X@dirrm share/locale/uz/LC_MESSAGES X@dirrm share/locale/zh_CN X@dirrm share/locale/zh_CN/LC_MESSAGES X@dirrm share/locale/zh_TW X@dirrm share/locale/zh_TW/LC_MESSAGES X@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@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@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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201108241905.p7OJ5cZE020973>