Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Mar 2006 02:21:03 +0300 (MSK)
From:      Dmitry Marakasov <amdmi3@mail.ru>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/94521: New port: graphics/geomorph Height field generator and editor
Message-ID:  <20060315232103.ED1591EF@hades.panopticon>
Resent-Message-ID: <200603161508.k2GF8fk0081868@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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@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@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@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@dirrm %%DATADIR%%/0.31/scenes
X@dirrm %%DATADIR%%/0.31
X@dirrm %%DATADIR%%
END-of-geomorph/pkg-plist
exit
--- geomorph-0.31.shar ends here ---


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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060315232103.ED1591EF>