ports/90073: possible fix to unbreak biology/LBreeder
Fernan Aguero
fernan at iib.unsam.edu.ar
Wed Dec 7 14:31:39 UTC 2005
>Number: 90073
>Category: ports
>Synopsis: possible fix to unbreak biology/LBreeder
>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 Dec 07 14:30:04 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Fernan Aguero
>Release: FreeBSD 4.10-RELEASE i386
>Organization:
IIB-UNSAM
>Environment:
FreeBSD pi.iib.unsam.edu.ar 4.10-RELEASE FreeBSD 4.10-RELEASE #0: Wed May 26 12:56:43 ART 2004 fernan at pi.iib.unsam.edu.ar:/usr/obj/usr/src/sys/PI i386
>Description:
L-Breeder is currently marked unfetchable:
http://people.freebsd.org/~fenner/portsurvey/biology.html#L-Breeder
So I tried to investigate the problem and I'm now submitting my
homework so it doesn't get lost.
This is what I noticed:
i) L-Breeder upstream sources have "stagnated for some time, but
now a new simplified version is available" (sic, from the web
site)
So, the fetch issue is resolved. And the pkg-descr is also
updated to reflect the new home page. However:
ii) L-Breeder is now called LBreeder. I have changed PORTNAME to
reflect this, although I don't know if this is the right thing
to do. Should the port be moved to biology/LBreeder? Or perhaps
just leaving PORTNAME pointing to the old name and then work
inside the Makefile to point the build/install to the correct
name?
iii) the sources have been reorganized so I have to update the
port's Makefile to reflect this. The attached patch works for me
under FreeBSD-4.11 (although it's possible that I may have missed a
dependency if I already have a required library installed in my
box. Sorry, I don't have a tinderbox-like setup to test builds)
iv) the program does not have a version number, nor did I find
one by looking inside the sources. To avoid changing too much
the port I just left PORTVERSION at 1.0 and bumped PORTREVISION
to 6
Finally, do note that I am not a user of LBreeder, so I cannot
test the program myself. I just noticed that by calling the
executable I get a black X screen, that I can quit by
pressing 'q' as documented in Readme.txt, but I can't tell
myself if this is the expected behaviour. Nor do I know how to
use the example files. Caveat emptor.
>How-To-Repeat:
>Fix:
--- L-Breeder.diff begins here ---
diff -ruN /usr/ports/biology/L-Breeder/Makefile L-Breeder/Makefile
--- /usr/ports/biology/L-Breeder/Makefile Sun Dec 4 09:56:03 2005
+++ L-Breeder/Makefile Wed Dec 7 07:51:25 2005
@@ -1,3 +1,4 @@
+# ex:ts=8
# New ports collection makefile for: L-Breeder
# Date created: 30 May 2002
# Whom: David Yeske <dyeske at yahoo.com> et al
@@ -5,26 +6,22 @@
# $FreeBSD: ports/biology/L-Breeder/Makefile,v 1.17 2005/11/11 14:29:09 garga Exp $
#
-PORTNAME= L-Breeder
+PORTNAME= LBreeder
PORTVERSION= 1.0
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= biology
-MASTER_SITES= http://pixie.oum.ox.ac.uk/L-Breeder/
-DISTNAME= LBreeder
-EXTRACT_SUFX= .tgz
+MASTER_SITES= http://www.simonyi.ox.ac.uk/dawkins/software/yan/L-Breeder/
+DISTNAME= ${PORTNAME}-source
MAINTAINER= dyeske at yahoo.com
COMMENT= Allows you to display and breed L-system forms
LIB_DEPENDS= wx_gtk2_gl-2.4.0:${PORTSDIR}/x11-toolkits/wxgtk24
-DEPRECATED= "mastersite disappeared, no longer maintained by author"
-EXPIRATION_DATE= 2005-12-31
-
-WRKSRC= ${WRKDIR}/LBreeder/LBreeder
-PATCH_WRKSRC= ${WRKDIR}/LBreeder
-PLIST_FILES= bin/L-Breeder
+NO_WRKSUBDIR= yes
+BUILD_WRKSRC= ${WRKSRC}/Unix
+USE_ZIP= yes
USE_X_PREFIX= yes
USE_GL= yes
USE_GMAKE= yes
@@ -42,26 +39,14 @@
@${ECHO_MSG} "by defining WITH_OPTIMIZED_CFLAGS"
.endif
-post-patch:
- @${FIND} ${WRKDIR} -type f -name Makefile | \
- ${XARGS} -n 10 ${REINPLACE_CMD} -E -e \
- 's|/usr/lib/libm.a||; \
- s|-ldl||; \
- s|-lgtk||; \
- s|-lgmodule||; \
- s|-lpthread||; \
- s|-lgthread||; \
- s|/usr/lib/libGL.a|-lGL|; \
- s|/usr/lib/libGLU.so|-lGLU|; \
- s|-O2|"${CFLAGS} ${PTHREAD_CFLAGS}"|; \
- s|-lglib||; \
- s|g\+\+|${CXX} -I${X11BASE}/include|; \
- s|-lgdk||; \
- s|wx-config|${WX_CONFIG}|; \
- s|-lwx_gtk[[:space:]]|`${WX_CONFIG} --libs`|; \
- s|-lwx_gtk_gl|-lwx_gtk2_gl-2.4|'
-
+
do-install:
- @${INSTALL_PROGRAM} ${WRKSRC}/L-Breeder ${PREFIX}/bin
+ @${INSTALL_PROGRAM} ${BUILD_WRKSRC}/${PORTNAME} ${PREFIX}/bin
+.if !defined(NOPORTDOCS)
+ @${MKDIR} ${DOCSDIR}
+ @${INSTALL_DATA} ${WRKSRC}/documentation/* ${DOCSDIR}
+.endif
+ @${MKDIR} ${EXAMPLESDIR}
+ @${INSTALL_DATA} ${WRKSRC}/Lsystems/* ${EXAMPLESDIR}
.include <bsd.port.mk>
diff -ruN /usr/ports/biology/L-Breeder/distinfo L-Breeder/distinfo
--- /usr/ports/biology/L-Breeder/distinfo Sat Apr 3 01:03:35 2004
+++ L-Breeder/distinfo Wed Dec 7 06:38:04 2005
@@ -1,2 +1,3 @@
-MD5 (LBreeder.tgz) = a9ce83f618217cf29fdf816f35ac7400
-SIZE (LBreeder.tgz) = 205110
+MD5 (LBreeder-source.zip) = 446a6cf44460ed7e4bb2eecfe33dae4a
+SHA256 (LBreeder-source.zip) = e6c5189a3b3bfdc6911a1cd0cba3f440f2e4fa67d9cadc411ded1f6b1400026a
+SIZE (LBreeder-source.zip) = 131306
diff -ruN /usr/ports/biology/L-Breeder/files/patch-LBreeder::MyTextFrame.cpp L-Breeder/files/patch-LBreeder::MyTextFrame.cpp
--- /usr/ports/biology/L-Breeder/files/patch-LBreeder::MyTextFrame.cpp Sat Nov 8 01:03:34 2003
+++ L-Breeder/files/patch-LBreeder::MyTextFrame.cpp Wed Dec 31 21:00:00 1969
@@ -1,9 +0,0 @@
---- LBreeder/MyTextFrame.cpp.orig Wed Aug 16 22:08:11 2000
-+++ LBreeder/MyTextFrame.cpp Wed Nov 5 01:03:54 2003
-@@ -1,5 +1,5 @@
--#include "wx/filedlg.h"
- #include "MyTextFrame.h"
-+#include "wx/filedlg.h"
- #include "Ltypes.h" //for debugging messages
-
- BEGIN_EVENT_TABLE(MyTextFrame, wxDialog)
diff -ruN /usr/ports/biology/L-Breeder/files/patch-LBreeder::MyTextFrame.h L-Breeder/files/patch-LBreeder::MyTextFrame.h
--- /usr/ports/biology/L-Breeder/files/patch-LBreeder::MyTextFrame.h Wed Nov 5 07:26:00 2003
+++ L-Breeder/files/patch-LBreeder::MyTextFrame.h Wed Dec 31 21:00:00 1969
@@ -1,10 +0,0 @@
---- LBreeder/MyTextFrame.h.orig Wed Nov 5 01:03:14 2003
-+++ LBreeder/MyTextFrame.h Wed Nov 5 01:03:22 2003
-@@ -7,6 +7,7 @@
- TF_TEXT};
-
- #include <wx/dialog.h>
-+#include <wx/button.h>
- #include <wx/textctrl.h>
- #include <wx/layout.h>
-
diff -ruN /usr/ports/biology/L-Breeder/files/patch-Lsystem::Lstring.cpp L-Breeder/files/patch-Lsystem::Lstring.cpp
--- /usr/ports/biology/L-Breeder/files/patch-Lsystem::Lstring.cpp Thu Nov 20 06:28:34 2003
+++ L-Breeder/files/patch-Lsystem::Lstring.cpp Wed Dec 31 21:00:00 1969
@@ -1,28 +0,0 @@
---- Lsystem/Lstring.cpp.orig Wed Aug 16 18:54:26 2000
-+++ Lsystem/Lstring.cpp Wed Nov 19 22:05:11 2003
-@@ -199,7 +199,7 @@
-
- if (sscanf(the_text.c_str(),"%f",&temp)==1)
- return temp;
-- return sqrt(-1);
-+ return sqrtf(-1);
-
- }
-
-@@ -329,13 +329,13 @@
- float param;
- int conv,dummy;
- the_length=0;
-- if (the_pos==info_length()-1) return sqrt(-1);
-- if (bracketed_chars.find(the_text[the_pos])==string::npos) return sqrt(-1);
-+ if (the_pos==info_length()-1) return sqrt(-1.0);
-+ if (bracketed_chars.find(the_text[the_pos])==string::npos) return sqrt(-1.0);
-
- conv=sscanf(&(the_text.data()[the_pos+1]),"(%f)%n",¶m,&the_length);
- if (conv==sscanf("","%n",&dummy)) {
- the_length=0;
-- return sqrt(-1);
-+ return sqrt(-1.0);
- } else {
- return param;
- };
diff -ruN /usr/ports/biology/L-Breeder/files/patch-Unix-Makefile L-Breeder/files/patch-Unix-Makefile
--- /usr/ports/biology/L-Breeder/files/patch-Unix-Makefile Wed Dec 31 21:00:00 1969
+++ L-Breeder/files/patch-Unix-Makefile Wed Dec 7 07:46:59 2005
@@ -0,0 +1,14 @@
+--- Unix/Makefile.orig Fri Jul 2 10:06:30 2004
++++ Unix/Makefile Wed Dec 7 07:46:56 2005
+@@ -1,9 +1,10 @@
+ src=../src/
++C_FLAGS= -I$(X11BASE)/include -I$(LOCALBASE)/include
+
+ .PHONY : clean all
+
+ all : probability.o mutprobs.o trackball.o Lparse.o GL_Ldraw.o Lline.o Lsys.o GLUT_LBreeder.o
+- g++ probability.o mutprobs.o trackball.o Lparse.o GL_Ldraw.o Lline.o Lsys.o GLUT_LBreeder.o ${src}main.cpp -lGL -lGLU -lglut -o LBreeder-${OSTYPE}
++ g++ probability.o mutprobs.o trackball.o Lparse.o GL_Ldraw.o Lline.o Lsys.o GLUT_LBreeder.o ${src}main.cpp -L$(X11BASE)/lib -L$(LOCALBASE)/lib -lGL -lGLU -lglut -o LBreeder
+
+ GLUT_LBreeder.o : ${src}GLUT_LBreeder.cpp ${src}GLUT_LBreeder.h
+ g++ -c ${src}GLUT_LBreeder.cpp ${C_FLAGS}
diff -ruN /usr/ports/biology/L-Breeder/files/patch-thinair::environ.h L-Breeder/files/patch-thinair::environ.h
--- /usr/ports/biology/L-Breeder/files/patch-thinair::environ.h Thu Nov 20 06:28:34 2003
+++ L-Breeder/files/patch-thinair::environ.h Wed Dec 31 21:00:00 1969
@@ -1,25 +0,0 @@
---- thinair/environ.h.orig Wed Aug 16 17:08:27 2000
-+++ thinair/environ.h Wed Nov 19 21:54:56 2003
-@@ -35,17 +35,20 @@
- #include <minmax.h>
- #endif
-
-- #if __GNUC__ >= 2 && __GNUC_MINOR__ >= 6 && defined( __cplusplus )
-+ #if ((__GNUC__ == 2 && __GNUC_MINOR__ >= 6) || __GNUC__ > 2) && defined( __cplusplus )
- #define _HAS_BOOL
- #define _STRING_CLASS
-- #if __GNUC__ >= 2 && __GNUC_MINOR__ < 7
-+ #define _ANSI_CPP_HEADERS
-+ #if __GNUC__ == 2 && __GNUC_MINOR__ < 7
- #define _STRING_HEADER <g++/String.h>
- #define _STRING String
- #else
- #define _STRING_HEADER <string>
- #define _STRING string
- #define _DIFFERING_RETURNS_ALLOWED
-+ #if __GNUC__ == 2
- #include <stl.h>
-+ #endif
- #endif
- #define _HAS_INT64
-
diff -ruN /usr/ports/biology/L-Breeder/pkg-descr L-Breeder/pkg-descr
--- /usr/ports/biology/L-Breeder/pkg-descr Tue Aug 20 21:01:58 2002
+++ L-Breeder/pkg-descr Wed Dec 7 06:36:15 2005
@@ -1,7 +1,7 @@
L-Breeder is a program which allows you to display, breed, and
genetically engineered L-system forms.
-WWW: http://pixie.oum.ox.ac.uk/L-Breeder/
+WWW: http://www.simonyi.ox.ac.uk/dawkins/software/yan/L-Breeder/
- David
dyeske at yahoo.com
diff -ruN /usr/ports/biology/L-Breeder/pkg-plist L-Breeder/pkg-plist
--- /usr/ports/biology/L-Breeder/pkg-plist Wed Dec 31 21:00:00 1969
+++ L-Breeder/pkg-plist Wed Dec 7 08:02:31 2005
@@ -0,0 +1,24 @@
+bin/LBreeder
+%%PORTDOCS%%%%DOCSDIR%%/ReadMe.txt
+%%PORTDOCS%%%%DOCSDIR%%/commands.html
+%%PORTDOCS%%%%DOCSDIR%%/tutorial.html
+%%EXAMPLESDIR%%/AIRHORSE.LS
+%%EXAMPLESDIR%%/AXIS.LS
+%%EXAMPLESDIR%%/BASETREE.LS
+%%EXAMPLESDIR%%/FERN.LS
+%%EXAMPLESDIR%%/FRACT00.LS
+%%EXAMPLESDIR%%/FRACT01.LS
+%%EXAMPLESDIR%%/FRACT02.LS
+%%EXAMPLESDIR%%/FRACT03.LS
+%%EXAMPLESDIR%%/TREE00B.LS
+%%EXAMPLESDIR%%/TREE00C.LS
+%%EXAMPLESDIR%%/TREE02.LS
+%%EXAMPLESDIR%%/TREE03.LS
+%%EXAMPLESDIR%%/TREE04.LS
+%%EXAMPLESDIR%%/TREE05.LS
+%%EXAMPLESDIR%%/TREE06.LS
+%%EXAMPLESDIR%%/TREE07.LS
+%%EXAMPLESDIR%%/TREE11.LS
+%%EXAMPLESDIR%%/TROPISM.LS
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+ at dirrm %%EXAMPLESDIR%%
--- L-Breeder.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list