summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordmcmahill <dmcmahill>2001-04-25 14:55:59 +0000
committerdmcmahill <dmcmahill>2001-04-25 14:55:59 +0000
commitab1d195320582b570648be404a5a81cc49cf012e (patch)
tree13cebdccd544241a04b5492185e7f8718522b856
parentc1a842f6e334cc860f380ead9432bc50eb75c8ab (diff)
downloadpkgsrc-ab1d195320582b570648be404a5a81cc49cf012e.tar.gz
initial import of tmake-1.7
from pkg/DESCR: tmake is an easy-to-use tool from Trolltech to create and maintain makefiles for software projects. It can be a painful task to manage makefiles manually, especially if you develop for more than one platform or use more than one compiler. tmake automates and streamlines this process and lets you spend your valuable time on writing code, not makefiles. Our main motivation for developing tmake was that we spent far too much time maintaining makefiles for Qt, our cross-platform GUI toolkit. Qt supports around 15 flavors of Unix, Microsoft Windows, and around 15 different C++ compilers. We looked at GNU autoconf, but it was Unix-specific and not flexible enough in our opinion. Our makefile system also had to deal with Qt meta object compiler (moc) issues. The moc program extracts meta information from C++ files and generates a C++ file with data tables etc. It takes extra work to add makefile rules for the moc and wanted to automate this task.
-rw-r--r--devel/tmake/Makefile55
-rw-r--r--devel/tmake/distinfo7
-rw-r--r--devel/tmake/patches/patch-aa23
-rw-r--r--devel/tmake/patches/patch-ab32
-rw-r--r--devel/tmake/patches/patch-ac13
-rw-r--r--devel/tmake/pkg/DESCR16
-rw-r--r--devel/tmake/pkg/PLIST25
7 files changed, 171 insertions, 0 deletions
diff --git a/devel/tmake/Makefile b/devel/tmake/Makefile
new file mode 100644
index 00000000000..642d2035eeb
--- /dev/null
+++ b/devel/tmake/Makefile
@@ -0,0 +1,55 @@
+# $NetBSD: Makefile,v 1.1.1.1 2001/04/25 14:55:59 dmcmahill Exp $
+#
+
+DISTNAME= tmake-1.7
+CATEGORIES= devel
+MASTER_SITES= ftp://ftp.trolltech.com/freebies/tmake/
+
+MAINTAINER= packages@netbsd.org
+HOMEPAGE= http://www.trolltech.com/products/download/freebies/tmake.html
+COMMENT= Cross-platform Makefile Tool
+
+RESTRICTED= No paid redistribution
+NO_BIN_ON_CDROM= ${RESTRICTED}
+NO_SRC_ON_CDROM= ${RESTRICTED}
+
+USE_PERL5= YES
+
+TMAKEPATH= ${PREFIX}/lib/tmake/netbsd-g++
+GLBASE= ${X11BASE}
+
+do-build:
+ ${MV} ${WRKSRC}/bin/tmake ${WRKSRC}/bin/tmake.BAK
+ ${SED} -e 's;@PERL5@;${PERL5};g' \
+ -e 's;@TMAKEPATH@;${TMAKEPATH};g' \
+ ${WRKSRC}/bin/tmake.BAK > ${WRKSRC}/bin/tmake
+ ${RM} ${WRKSRC}/bin/tmake.BAK
+ ${MV} ${WRKSRC}/lib/netbsd-g++/tmake.conf ${WRKSRC}/lib/netbsd-g++/tmake.conf.BAK
+ ${SED} -e 's;@LOCALBASE@;${LOCALBASE};g' \
+ -e 's;@X11BASE@;${X11BASE};g' \
+ -e 's;@GLBASE@;${GLBASE};g' \
+ ${WRKSRC}/lib/netbsd-g++/tmake.conf.BAK > ${WRKSRC}/lib/netbsd-g++/tmake.conf
+ ${RM} ${WRKSRC}/lib/netbsd-g++/tmake.conf.BAK
+ ${MV} ${WRKSRC}/bin/progen ${WRKSRC}/bin/progen.BAK
+ ${SED} 's;/usr/bin/perl;${PERL5};g' \
+ ${WRKSRC}/bin/progen.BAK > ${WRKSRC}/bin/progen
+ ${RM} ${WRKSRC}/bin/progen.BAK
+
+# avoid installing .orig files
+pre-install:
+ ${RM} -f ${WRKSRC}/lib/netbsd-g++/*.orig
+ ${RM} -f ${WRKSRC}/lib/unix/*.orig
+
+do-install:
+ ${INSTALL_SCRIPT} ${WRKSRC}/bin/progen ${PREFIX}/bin/progen
+ ${INSTALL_SCRIPT} ${WRKSRC}/bin/tmake ${PREFIX}/bin/tmake
+ ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/tmake
+ ${INSTALL_DATA} ${WRKSRC}/doc/* ${PREFIX}/share/doc/tmake
+ ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/tmake
+ ${INSTALL_DATA} ${WRKSRC}/example/* ${PREFIX}/share/examples/tmake
+ ${INSTALL_DATA_DIR} ${PREFIX}/lib/tmake/netbsd-g++
+ ${INSTALL_DATA} ${WRKSRC}/lib/netbsd-g++/* ${PREFIX}/lib/tmake/netbsd-g++
+ ${INSTALL_DATA_DIR} ${PREFIX}/lib/tmake/unix
+ ${INSTALL_DATA} ${WRKSRC}/lib/unix/* ${PREFIX}/lib/tmake/unix
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/devel/tmake/distinfo b/devel/tmake/distinfo
new file mode 100644
index 00000000000..86dbea35737
--- /dev/null
+++ b/devel/tmake/distinfo
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.1.1.1 2001/04/25 14:55:59 dmcmahill Exp $
+
+SHA1 (tmake-1.7.tar.gz) = 39df9db9be67293694b82a944b38f17659d29a83
+Size (tmake-1.7.tar.gz) = 46518 bytes
+SHA1 (patch-aa) = daa9e10c3ae1dce66620657919e06b2db07049d1
+SHA1 (patch-ab) = b81f6022a9103a9ae0fe3d9adddbf57d374d51d9
+SHA1 (patch-ac) = 14c1cd48a8facdced5249c4ca0513b6b2a1c7799
diff --git a/devel/tmake/patches/patch-aa b/devel/tmake/patches/patch-aa
new file mode 100644
index 00000000000..02d685d0805
--- /dev/null
+++ b/devel/tmake/patches/patch-aa
@@ -0,0 +1,23 @@
+$NetBSD: patch-aa,v 1.1.1.1 2001/04/25 14:55:59 dmcmahill Exp $
+
+--- lib/netbsd-g++/tmake.conf.orig Thu Sep 7 02:21:26 2000
++++ lib/netbsd-g++/tmake.conf Wed Apr 25 10:04:11 2001
+@@ -26,12 +26,12 @@
+ TMAKE_CXXFLAGS_YACC = $$TMAKE_CFLAGS_YACC
+
+-TMAKE_INCDIR =
+-TMAKE_LIBDIR =
+-TMAKE_INCDIR_X11 = /usr/X11R6/include
+-TMAKE_LIBDIR_X11 = /usr/X11R6/lib
++TMAKE_INCDIR = @LOCALBASE@/include
++TMAKE_LIBDIR = @LOCALBASE@/lib
++TMAKE_INCDIR_X11 = @X11BASE@/include
++TMAKE_LIBDIR_X11 = @X11BASE@/lib
+ TMAKE_INCDIR_QT = $(QTDIR)/include
+ TMAKE_LIBDIR_QT = $(QTDIR)/lib
+-TMAKE_INCDIR_OPENGL = /usr/X11R6/include
+-TMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
++TMAKE_INCDIR_OPENGL = @GLBASE@/include
++TMAKE_LIBDIR_OPENGL = @GLBASE@/lib
+
+ TMAKE_LINK = g++
diff --git a/devel/tmake/patches/patch-ab b/devel/tmake/patches/patch-ab
new file mode 100644
index 00000000000..692bc2435e1
--- /dev/null
+++ b/devel/tmake/patches/patch-ab
@@ -0,0 +1,32 @@
+$NetBSD: patch-ab,v 1.1.1.1 2001/04/25 14:55:59 dmcmahill Exp $
+
+--- lib/unix/generic.t.orig Sun Dec 3 21:26:06 2000
++++ lib/unix/generic.t Wed Apr 25 09:24:19 2001
+@@ -32,5 +32,5 @@
+ }
+ if ( Project("TMAKE_LIBDIR") ) {
+- Project('TMAKE_LIBDIR_FLAGS *= -L$$TMAKE_LIBDIR');
++ Project('TMAKE_LIBDIR_FLAGS *= -Wl,-R$$TMAKE_LIBDIR -L$$TMAKE_LIBDIR');
+ }
+ if ( Config("qt") || Config("opengl") ) {
+@@ -65,5 +65,5 @@
+ Project("TMAKE_LIB_FLAG")) ) {
+ Project("TMAKE_LIBDIR_QT") &&
+- Project('TMAKE_LIBDIR_FLAGS *= -L$$TMAKE_LIBDIR_QT');
++ Project('TMAKE_LIBDIR_FLAGS *= -Wl,-R$$TMAKE_LIBDIR_QT -L$$TMAKE_LIBDIR_QT');
+ if (Config("thread") && Project("TMAKE_LIBS_QT_THREAD")) {
+ Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT_THREAD');
+@@ -76,5 +76,5 @@
+ AddIncludePath(Project("TMAKE_INCDIR_OPENGL"));
+ Project("TMAKE_LIBDIR_OPENGL") &&
+- Project('TMAKE_LIBDIR_FLAGS *= -L$$TMAKE_LIBDIR_OPENGL');
++ Project('TMAKE_LIBDIR_FLAGS *= -Wl,-R$$TMAKE_LIBDIR_OPENGL -L$$TMAKE_LIBDIR_OPENGL');
+ Project('TMAKE_LIBS *= $$TMAKE_LIBS_OPENGL');
+ }
+@@ -84,5 +84,5 @@
+ if ( Config("x11lib") ) {
+ Project("TMAKE_LIBDIR_X11") &&
+- Project('TMAKE_LIBDIR_FLAGS *= -L$$TMAKE_LIBDIR_X11');
++ Project('TMAKE_LIBDIR_FLAGS *= -Wl,-R$$TMAKE_LIBDIR_X11 -L$$TMAKE_LIBDIR_X11');
+ Project('TMAKE_LIBS *= $$TMAKE_LIBS_X11');
+ }
diff --git a/devel/tmake/patches/patch-ac b/devel/tmake/patches/patch-ac
new file mode 100644
index 00000000000..b4378f74719
--- /dev/null
+++ b/devel/tmake/patches/patch-ac
@@ -0,0 +1,13 @@
+$NetBSD: patch-ac,v 1.1.1.1 2001/04/25 14:55:59 dmcmahill Exp $
+
+--- bin/tmake.orig Thu Dec 21 18:38:41 2000
++++ bin/tmake Wed Apr 25 10:53:46 2001
+@@ -1,2 +1,2 @@
+-#!/usr/bin/perl
++#!@PERL5@
+ ############################################################################
+@@ -68,3 +68,3 @@
+
+-$project{"TMAKEPATH"} = $ENV{"TMAKEPATH"} . ";" . $ENV{"HOME"} . "/.tmake/";
++$project{"TMAKEPATH"} = $ENV{"TMAKEPATH"} . ";" . $ENV{"HOME"} . "/.tmake/;@TMAKEPATH@";
+
diff --git a/devel/tmake/pkg/DESCR b/devel/tmake/pkg/DESCR
new file mode 100644
index 00000000000..2a3d7b95552
--- /dev/null
+++ b/devel/tmake/pkg/DESCR
@@ -0,0 +1,16 @@
+tmake is an easy-to-use tool from Trolltech to create and maintain
+makefiles for software projects. It can be a painful task to manage
+makefiles manually, especially if you develop for more than one platform
+or use more than one compiler. tmake automates and streamlines this
+process and lets you spend your valuable time on writing code, not
+makefiles.
+
+Our main motivation for developing tmake was that we spent far too much
+time maintaining makefiles for Qt,
+our cross-platform GUI toolkit. Qt supports around 15 flavors of Unix,
+Microsoft Windows, and around 15 different C++ compilers. We looked at
+GNU autoconf, but it was Unix-specific and not flexible enough in our
+opinion. Our makefile system also had to deal with Qt meta object compiler
+(moc) issues. The moc program extracts meta information from C++ files and
+generates a C++ file with data tables etc. It takes extra work to add
+makefile rules for the moc and wanted to automate this task.
diff --git a/devel/tmake/pkg/PLIST b/devel/tmake/pkg/PLIST
new file mode 100644
index 00000000000..8d038caf498
--- /dev/null
+++ b/devel/tmake/pkg/PLIST
@@ -0,0 +1,25 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2001/04/25 14:55:59 dmcmahill Exp $
+bin/progen
+bin/tmake
+lib/tmake/${LOWER_OPSYS}-g++/app.t
+lib/tmake/${LOWER_OPSYS}-g++/lib.t
+lib/tmake/${LOWER_OPSYS}-g++/subdirs.t
+lib/tmake/${LOWER_OPSYS}-g++/tmake.conf
+lib/tmake/unix/app.t
+lib/tmake/unix/generic.t
+lib/tmake/unix/lib.t
+lib/tmake/unix/subdirs.t
+share/doc/tmake/m-linux-gcc.html
+share/doc/tmake/m-win32-msvc.html
+share/doc/tmake/tmake.html
+share/doc/tmake/tmake_ref.html
+share/examples/tmake/hello.cpp
+share/examples/tmake/hello.h
+share/examples/tmake/hello.pro
+share/examples/tmake/main.cpp
+share/examples/tmake/wc.t
+@dirrm share/examples/tmake
+@dirrm share/doc/tmake
+@dirrm lib/tmake/${LOWER_OPSYS}-g++
+@dirrm lib/tmake/unix
+@dirrm lib/tmake