ports/94521: New port: graphics/geomorph Height field generator and editor
Dmitry Marakasov
amdmi3 at mail.ru
Thu Mar 16 15:08:49 UTC 2006
>Number: 94521
>Category: ports
>Synopsis: New port: graphics/geomorph Height field generator and editor
>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: Thu Mar 16 15:08:41 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: Dmitry Marakasov
>Release: FreeBSD 6.0-RELEASE-p4 i386
>Organization:
>Environment:
System: FreeBSD hades.panopticon 6.0-RELEASE-p4 FreeBSD 6.0-RELEASE-p4 #1: Fri Jan 27 12:07:19 MSK 2006 amdmi3 at hades.panopticon:/usr/obj/usr/src/sys/HADES i386
>Description:
Geomorph is a height field generator and editor for the Linux
operating system.
A height field is a kind of topographic map. It is a 2D projection
of a 3D landscape.
Geomorph generates square images and shows a 3D preview of the
resulting landscape. The resulting 2D image can be processed with
a tool like Povray for rendering the landscape.
WWW: http://geomorph.sourceforge.net/
>How-To-Repeat:
>Fix:
--- geomorph-0.31.shar begins here ---
# 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:
#
# geomorph
# geomorph/Makefile
# geomorph/distinfo
# geomorph/files
# geomorph/files/patch-src-app-main.c
# geomorph/files/extra-patch-src-hf-gl_preview.c
# geomorph/files/extra-patch-src-hf-hf_calc.c
# geomorph/files/extra-patch-src-hf-subdiv1_dialog.c
# geomorph/pkg-descr
# geomorph/pkg-plist
#
echo c - geomorph
mkdir -p geomorph > /dev/null 2>&1
echo x - geomorph/Makefile
sed 's/^X//' >geomorph/Makefile << 'END-of-geomorph/Makefile'
X# ports collection makefile for: geomorph
X# Date created: 24 Feb 2006
X# Whom: Dmitry Marakasov <amdmi3 at mail.ru>
X#
X# $FreeBSD$
X#
X
XPORTNAME= geomorph
XPORTVERSION= 0.31
XCATEGORIES= graphics
XMASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
XMASTER_SITE_SUBDIR= ${PORTNAME}
XEXTRACT_SUFX= .tgz
X
XMAINTAINER= amdmi3 at mail.ru
XCOMMENT= Height field generator and editor
X
XLIB_DEPENDS= gtkglext-x11-1.0.2:${PORTSDIR}/x11-toolkits/gtkglext
X
XUSE_X_PREFIX= yes
XUSE_GL= yes
XUSE_GMAKE= yes
XGNU_CONFIGURE= yes
X
X.include <bsd.port.pre.mk>
X
X.if ${OSVERSION} < 500000
XEXTRA_PATCHES= ${PATCHDIR}/extra-patch-*
X.endif
X
Xpost-patch:
X @${REINPLACE_CMD} -e 's|libpng|libpng12|' ${WRKSRC}/configure
X @${REINPLACE_CMD} -e 's|/usr/local/share/geomorph|${DATADIR}|' ${WRKSRC}/install-step* ${WRKSRC}/install-user ${WRKSRC}/src/app/app.c
X @${REINPLACE_CMD} -e 's|\$$HOME/geomorph|\$$HOME/.geomorph|' ${WRKSRC}/install-step* ${WRKSRC}/install-user
X @${REINPLACE_CMD} -e 's|>&|>|' ${WRKSRC}/install-step2-rcfile
X @${REINPLACE_CMD} -e '/DEFAULT_DIR/ s|geomorph|.geomorph|' ${WRKSRC}/src/app/globals.h ${WRKSRC}/src/hf/globals.h
X @${RM} ${WRKSRC}/install-step*.bak ${WRKSRC}/install-user*.bak
X
X.include <bsd.port.post.mk>
END-of-geomorph/Makefile
echo x - geomorph/distinfo
sed 's/^X//' >geomorph/distinfo << 'END-of-geomorph/distinfo'
XMD5 (geomorph-0.31.tgz) = 778b2ec4efba77b7efb402bc17dc90ac
XSHA256 (geomorph-0.31.tgz) = 8c505f6ee9a0d4c53565e608e68a62b54b966bbae41ced562fabcb191f0097a1
XSIZE (geomorph-0.31.tgz) = 1041449
END-of-geomorph/distinfo
echo c - geomorph/files
mkdir -p geomorph/files > /dev/null 2>&1
echo x - geomorph/files/patch-src-app-main.c
sed 's/^X//' >geomorph/files/patch-src-app-main.c << 'END-of-geomorph/files/patch-src-app-main.c'
X--- src/app/main.c.orig Sun Nov 6 08:52:50 2005
X+++ src/app/main.c Tue Feb 28 04:00:28 2006
X@@ -19,6 +19,7 @@
X * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
X */
X
X+#include <sys/param.h>
X #include "./main.h"
X #include "./globals.h"
X // Gtkglext - 2005-11
X@@ -48,37 +49,21 @@
X if (command) free(command);
X }
X
X+char *get_current_dir_name() {
X+ char *buf = malloc(MAXPATHLEN);
X+ getwd(buf);
X+ return buf;
X+}
X+
X gchar *find_config_file() {
X // Returns the config file name (name OPTIONS_FILE, defined in globals.h),
X // with its full path
X gchar *default_dir, *path_n_file, *buf, *command;
X gboolean shortcuts;
X
X-// We try:
X-// 1. in the current directory. (./OPTIONS_FILE = ./geomorphrc)
X-// 2. if not found, we try ./DEFAULT_DIR/OPTIONS_FILE (./geomorph/geomorphrc)
X-// 3. if not found, we try $HOME/OPTIONS_FILE (~/geomorphrc)
X-// 4. if not found, we try in $HOME/DEFAULT_DIR (~/geomorph/geomorphrc)
X-// --> if OPTIONS_FILE was not found, and
X-// if $HOME/DEFAULT_DIR doesn't exist, we create the required files
X-// The directory where OPTIONS_FILE is found becomes the default one (DEF_DIR)
X-
X- // Try ./OPTIONS_FILE
X- default_dir = (gchar *) get_current_dir_name();
X- path_n_file = concat_dname_fname(default_dir,OPTIONS_FILE);
X- if (!filexists(path_n_file)) { // Try ./DEFAULT_DIR/OPTIONS_FILE
X- default_dir = concat_dname_fname(default_dir,DEFAULT_DIR);
X- if (path_n_file)
X- free(path_n_file);
X- path_n_file = concat_dname_fname(default_dir,OPTIONS_FILE);
X- if (!filexists(path_n_file)) { // Try in the home directory - ~/OPTIONS_FILE
X+ // Config file is located under $HOME/.geomorph/geomorphrc
X default_dir = getenv("HOME");
X- if (path_n_file)
X- free(path_n_file);
X- path_n_file = concat_dname_fname(default_dir, OPTIONS_FILE);
X- if (!filexists(path_n_file)) { // Try ~/DEFAULT_DIR/OPTIONS_FILE
X default_dir = concat_dname_fname(default_dir,DEFAULT_DIR);
X- if (path_n_file) free(path_n_file);
X path_n_file = concat_dname_fname(default_dir, OPTIONS_FILE);
X if (directory_exists(default_dir)) {
X if (!filexists(path_n_file)) {
X@@ -109,9 +94,6 @@
X }
X if (path_n_file) free(path_n_file);
X }
X- }
X- }
X- }
X return add_filesep(default_dir);
X }
X
END-of-geomorph/files/patch-src-app-main.c
echo x - geomorph/files/extra-patch-src-hf-gl_preview.c
sed 's/^X//' >geomorph/files/extra-patch-src-hf-gl_preview.c << 'END-of-geomorph/files/extra-patch-src-hf-gl_preview.c'
X--- src/hf/gl_preview.c.orig Wed Nov 23 06:44:22 2005
X+++ src/hf/gl_preview.c Mon Mar 6 12:59:24 2006
X@@ -337,10 +337,10 @@
X // printf ("Realize Event\n");
X
X gl_preview_struct *gl_hf;
X- gl_hf = ((hf_wrapper_struct *) data)->gl_preview;
X
X GdkGLContext *glcontext = gtk_widget_get_gl_context (widget);
X GdkGLDrawable *gldrawable = gtk_widget_get_gl_drawable (widget);
X+ gl_hf = ((hf_wrapper_struct *) data)->gl_preview;
X
X /*** OpenGL BEGIN ***/
X if (!gdk_gl_drawable_gl_begin (gldrawable, glcontext)) {
X@@ -588,6 +588,8 @@
X gint i;
X camera_struct *camera;
X gl_preview_struct *gl_hf;
X+ GdkGLContext *glcontext;
X+ GdkGLDrawable *gldrawable;
X gl_hf = ((hf_wrapper_struct *) data)->gl_preview;
X camera = gl_hf->cameras[gl_hf->current_camera_id];
X /* Draw only on the last expose event. */
X@@ -600,8 +602,8 @@
X
X // printf("************* GL DRAWING 2 ************** - HFW: %d\n", data);
X
X- GdkGLContext *glcontext = gtk_widget_get_gl_context (widget);
X- GdkGLDrawable *gldrawable = gtk_widget_get_gl_drawable (widget);
X+ glcontext = gtk_widget_get_gl_context (widget);
X+ gldrawable = gtk_widget_get_gl_drawable (widget);
X
X /*** OpenGL BEGIN ***/
X if (!gdk_gl_drawable_gl_begin (gldrawable, glcontext))
END-of-geomorph/files/extra-patch-src-hf-gl_preview.c
echo x - geomorph/files/extra-patch-src-hf-hf_calc.c
sed 's/^X//' >geomorph/files/extra-patch-src-hf-hf_calc.c << 'END-of-geomorph/files/extra-patch-src-hf-hf_calc.c'
X--- src/hf/hf_calc.c.orig Tue Nov 22 07:25:40 2005
X+++ src/hf/hf_calc.c Mon Mar 6 13:08:02 2006
X@@ -1298,6 +1298,8 @@
X overflow);
X }
X
X+#define lround(x) (((x) - (gdouble)(long int)(x)) < 0.5 ? (x) : (x+1.0))
X+
X void hf_fast_rotate (hf_type *hf_in, hf_type *hf_out, gint hf_size, gint angle) {
X // Rotation of a square HF, preview style, with aliasing
X // "Wraps"
END-of-geomorph/files/extra-patch-src-hf-hf_calc.c
echo x - geomorph/files/extra-patch-src-hf-subdiv1_dialog.c
sed 's/^X//' >geomorph/files/extra-patch-src-hf-subdiv1_dialog.c << 'END-of-geomorph/files/extra-patch-src-hf-subdiv1_dialog.c'
X--- src/hf/subdiv1_dialog.c.orig Thu Apr 7 05:34:56 2005
X+++ src/hf/subdiv1_dialog.c Mon Mar 6 12:55:02 2006
X@@ -55,9 +55,9 @@
X }
X
X gint change_subdiv1_seed(GtkWidget *entry, gpointer data) {
X+ unsigned int s;
X hf_wrapper_struct *hfw;
X hfw = (hf_wrapper_struct *) * (hf_wrapper_struct **) data;
X- unsigned int s;
X // Avoid double display... the callback seems always to be called twice,
X // the first time with an empty entry, I don't know why
X // (maybe because "gtk_entry_set_text" blanks the field before writing in it??)
END-of-geomorph/files/extra-patch-src-hf-subdiv1_dialog.c
echo x - geomorph/pkg-descr
sed 's/^X//' >geomorph/pkg-descr << 'END-of-geomorph/pkg-descr'
XGeomorph is a height field generator and editor for the Linux
Xoperating system.
X
XA height field is a kind of topographic map. It is a 2D projection
Xof a 3D landscape.
X
XGeomorph generates square images and shows a 3D preview of the
Xresulting landscape. The resulting 2D image can be processed with
Xa tool like Povray for rendering the landscape.
X
XWWW: http://geomorph.sourceforge.net/
END-of-geomorph/pkg-descr
echo x - geomorph/pkg-plist
sed 's/^X//' >geomorph/pkg-plist << 'END-of-geomorph/pkg-plist'
Xbin/geomorph
X%%DATADIR%%/0.31/AFAIRE
X%%DATADIR%%/0.31/FAQ
X%%DATADIR%%/0.31/FAQ-fr
X%%DATADIR%%/0.31/LISEZMOI
X%%DATADIR%%/0.31/README
X%%DATADIR%%/0.31/TODO
X%%DATADIR%%/0.31/geomorphrc
X%%DATADIR%%/0.31/geomorphrc_de
X%%DATADIR%%/0.31/geomorphrc_en
X%%DATADIR%%/0.31/geomorphrc_fr
X%%DATADIR%%/0.31/install-step1-dir
X%%DATADIR%%/0.31/install-step2-rcfile
X%%DATADIR%%/0.31/install-step3-desktop
X%%DATADIR%%/0.31/install-user
X%%DATADIR%%/0.31/scenes/canyon.pov
X%%DATADIR%%/0.31/scenes/colmap
X%%DATADIR%%/0.31/scenes/colmap.c
X%%DATADIR%%/0.31/scenes/desert.pov
X%%DATADIR%%/0.31/scenes/desert_new.pov
X%%DATADIR%%/0.31/scenes/desert_with_tree.pov
X%%DATADIR%%/0.31/scenes/geomorph_txtr.inc
X%%DATADIR%%/0.31/scenes/global_settings.inc
X%%DATADIR%%/0.31/scenes/iced_satellite.pov
X%%DATADIR%%/0.31/scenes/maprock1.inc
X%%DATADIR%%/0.31/scenes/moon.pov
X%%DATADIR%%/0.31/scenes/mountains.pov
X%%DATADIR%%/0.31/scenes/olivier4.inc
X%%DATADIR%%/0.31/scenes/painted_desert.pov
X%%DATADIR%%/0.31/scenes/painted_desert_map1.inc
X%%DATADIR%%/0.31/scenes/painted_desert_map2.inc
X%%DATADIR%%/0.31/scenes/painted_desert_map3.inc
X%%DATADIR%%/0.31/scenes/sea_and_fog.pov
X%%DATADIR%%/0.31/scenes/sea_and_rocks.pov
X%%DATADIR%%/0.31/scenes/sea_n_moon.pov
X%%DATADIR%%/0.31/scenes/simple_terrain.pov
X%%DATADIR%%/0.31/scenes/slope_patterns.inc
X%%DATADIR%%/0.31/scenes/stars.inc
X%%DATADIR%%/0.31/scenes/sunseta.pov
X%%DATADIR%%/0.31/scenes/sunsetb.pov
X%%DATADIR%%/0.31/scenes/uranus.inc
X%%DATADIR%%/0.31/splash.jpg
X%%DATADIR%%/0.31/update-rc
X%%DATADIR%%/0.31/v0_30_new_sections
X%%DATADIR%%/GeoMorph.xpm
X%%DATADIR%%/Geomorph-gnome.desktop
X%%DATADIR%%/Geomorph-kde.desktop
X at dirrm %%DATADIR%%/0.31/scenes
X at dirrm %%DATADIR%%/0.31
X at dirrm %%DATADIR%%
END-of-geomorph/pkg-plist
exit
--- geomorph-0.31.shar ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list