aboutsummaryrefslogtreecommitdiffstats
path: root/x11-toolkits/jx
diff options
context:
space:
mode:
authorsteve <steve@FreeBSD.org>2000-09-18 05:26:15 +0800
committersteve <steve@FreeBSD.org>2000-09-18 05:26:15 +0800
commit991e5673af7c6446577cfeddec2e113c934e62c6 (patch)
treec512ff134ee067a3b2adbf96cb2b281bcd7bca7f /x11-toolkits/jx
parent365eb4b8f82f1ed60d39ae934113fd4296dd2b43 (diff)
downloadfreebsd-ports-gnome-991e5673af7c6446577cfeddec2e113c934e62c6.tar.gz
freebsd-ports-gnome-991e5673af7c6446577cfeddec2e113c934e62c6.tar.zst
freebsd-ports-gnome-991e5673af7c6446577cfeddec2e113c934e62c6.zip
Major overhaul of this port so that we cleanly build the other ports
that depend on it. Submitted by: maintainer
Diffstat (limited to 'x11-toolkits/jx')
-rw-r--r--x11-toolkits/jx/Makefile97
-rw-r--r--x11-toolkits/jx/files/configure.in18
-rw-r--r--x11-toolkits/jx/files/patch-ag42
-rw-r--r--x11-toolkits/jx/files/post-patch-aa29
-rw-r--r--x11-toolkits/jx/pkg-comment2
5 files changed, 133 insertions, 55 deletions
diff --git a/x11-toolkits/jx/Makefile b/x11-toolkits/jx/Makefile
index e461403ea675..31fdd01ba2c0 100644
--- a/x11-toolkits/jx/Makefile
+++ b/x11-toolkits/jx/Makefile
@@ -7,6 +7,7 @@
PORTNAME= JX
PORTVERSION= 1.5.3
+PORTREVISION= 1
CATEGORIES= x11-toolkits
MASTER_SITES= ftp://ftp.newplanetsoftware.com/pub/jx/source-1.5.3/ \
ftp://ftp.newplanetsoftware.com/pub/jcc/source/ \
@@ -16,28 +17,26 @@ DISTNAME= ${PORTNAME}_source-${PORTVERSION}
MAINTAINER= lioux@linf.unb.br
+BUILD_DEPENDS= autoconf:${PORTSDIR}/devel/autoconf
LIB_DEPENDS= png.4:${PORTSDIR}/graphics/png
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
USE_X_PREFIX= yes
USE_XPM= yes
-INSTALLS_SHLIB= yes
USE_BISON= yes
+GNU_CONFIGURE= yes
+CONFIGURE_WRKSRC= ${WRKDIR}
USE_GMAKE= yes
-MAKE_ENV+= JX_INSTALL_ROOT="${PREFIX}/bin" \
+MAKE_ARGS= CC="${CC}" CXX="${CXX}" \
+ CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}"
+MAKE_ENV= JX_INSTALL_ROOT="${PREFIX}/bin" \
JX_LIB_ROOT="${PREFIX}/lib" \
- X11PREFIX="${X11PREFIX}" \
- PATH="${WRKSRC}/programs/makemake:${PATH}" \
- PORTCFLAGS="${CFLAGS}" \
- PORTCXXFLAGS="${CXXFLAGS}"
+ PATH="${WRKSRC}/programs/makemake:${PATH}"
PLIST_SUB= LIBACE="${LIBACE}" \
LIBJTOOL="${LIBJTOOL}" \
- LIBJX="${LIBJX}" \
- X11PREFIX="${X11PREFIX}"
-EXTRA_PATCHES= ${WRKDIR}/patch-aa ${WRKDIR}/patch-ab
-
-X11PREFIX?= ${X11BASE}
+ LIBJX="${LIBJX}"
+INSTALLS_SHLIB= yes
# Installs dir with proper permissions
INSTALL_DATA_DIR= ${INSTALL} -d -o ${SHAREOWN} -g ${SHAREGRP} -m 755
@@ -46,11 +45,10 @@ LIBFILES= libACE-5_0_2.so \
libjcore-1_5_3.a libjcore-1_5_3.so \
libjx-1_5_3.a libjx-1_5_3.so
# bin program files
-PROGRAMFILES= lib/util/autodoc/autodoc programs/makemake/makemake
-PROGRAMFILES_SCRIPT= makemake/makecheck makemake/maketouch
-# x11 program files
-X11R6FILES= jxlayout/jxlayout
-X11R6FILES_SCRIPT= jxlayout/jfdesign
+PROGRAMFILES= lib/util/autodoc/autodoc programs/jxlayout/jxlayout \
+ programs/makemake/makemake
+PROGRAMFILES_SCRIPT= jxlayout/jfdesign makemake/makecheck \
+ makemake/maketouch
# header files
INCLUDEDIR= jcore jx
INCLUDEDIR_ACE_WRKSRC= ACE/ACE_wrappers/ace
@@ -75,9 +73,11 @@ EXTRALIBFILES_MAKE_DIR= . sys
# odd behavior
POSTBUILD_WRKSRC= makemake jxlayout
# post patch preprocessing
-POSTPATCH_PREPROCESS_FILES= patch-aa patch-ab
-# post patch garbage colletion
-POSTPATCH_CLEAN_WRKSRC= include/make include/make/sys
+POSTPATCH_FILES= patch-aa
+# post configure placement directory
+POSTCONFIGURE_WRKSRC= include/make/sys
+# configuration preprocessing
+CONFIGURE_PREPROCESSING_FILES= FreeBSD-2.x_g++ FreeBSD-3.x_g++
.include <bsd.port.pre.mk>
@@ -99,20 +99,26 @@ PLIST_SUB+= PORTDOCS:="@comment "
PLIST_SUB+= PORTDOCS:=
.endif # !defined(NOPORTDOCS)
-pre-patch:
-.for i in ${POSTPATCH_PREPROCESS_FILES}
- @${SED} "s!X11PREFIX!${X11PREFIX}!g" ${FILESDIR}/${i} > ${WRKDIR}/${i}
+post-patch:
+.for i in ${CONFIGURE_PREPROCESSING_FILES}
+ @${CP} ${WRKSRC}/${POSTCONFIGURE_WRKSRC}/${i} ${WRKDIR}/${i}.in
+ @cd ${WRKDIR}; ${PATCH} -s ${i}.in < ${FILESDIR}/${POSTPATCH_FILES}
.endfor
-post-patch:
-.for i in ${POSTPATCH_CLEAN_WRKSRC}
- @cd ${WRKSRC}/${i} ; ${RM} *.orig
+pre-configure:
+ @${CP} ${FILESDIR}/configure.in ${WRKDIR}
+ @cd ${WRKDIR}; autoconf
+
+post-configure:
+.for i in ${CONFIGURE_PREPROCESSING_FILES}
+ @${CP} ${WRKDIR}/${i} ${WRKSRC}/${POSTCONFIGURE_WRKSRC}/${i}
.endfor
# odd behavior
post-build:
.for i in ${POSTBUILD_WRKSRC}
- @cd ${WRKSRC}/programs/${i}; ${SETENV} ${MAKE_ENV} ${GMAKE}
+ @cd ${WRKSRC}/programs/${i}; ${SETENV} ${MAKE_ENV} ${GMAKE} \
+ ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS}
.endfor
do-install:
@@ -155,7 +161,7 @@ do-install:
do \
${INSTALL_DATA} $${k} ${EXAMPLEDIR_PREFIX}/${i}/$${j} ; \
done; \
- fi; \
+ fi ; \
done
.endfor
.endif # !defined(NOPORTDOCS)
@@ -170,25 +176,28 @@ do-install:
# Install all header files
.for i in ${INCLUDEDIR}
@${INSTALL_DATA_DIR} ${PREFIX}/include/${i} ; \
- for j in ${WRKSRC}/include/${i}/*.h ${WRKSRC}/include/${i}/*.th ; \
+ for j in ${WRKSRC}/include/${i}/*.*h \
+ ${WRKSRC}/include/${i}/*.tmpl \
+ ${WRKSRC}/include/${i}/*.tmpls ; \
do \
- ${INSTALL_DATA} $${j} ${PREFIX}/include/${i} ; \
+ if [ -f $${j} ]; \
+ then \
+ ${INSTALL_DATA} $${j} ${PREFIX}/include/${i}/ ; \
+ fi ; \
done
.endfor
.for i in ${INCLUDEDIR_ACE_DIR}
- @${INSTALL_DATA_DIR} ${PREFIX}/include/ace/${i}
- @${INSTALL_DATA} ${WRKSRC}/${INCLUDEDIR_ACE_WRKSRC}/${i}/*.cpp \
- ${PREFIX}/include/ace/${i}/
- @${INSTALL_DATA} ${WRKSRC}/${INCLUDEDIR_ACE_WRKSRC}/${i}/*.h \
- ${PREFIX}/include/ace/${i}/
- @${INSTALL_DATA} ${WRKSRC}/${INCLUDEDIR_ACE_WRKSRC}/${i}/*.i \
- ${PREFIX}/include/ace/${i}/
-.endfor
-# Install all *.tmpl* files
- @for j in ${WRKSRC}/include/jcore/*.tmpl* ; \
+ @${INSTALL_DATA_DIR} ${PREFIX}/include/ace/${i} ; \
+ for j in ${WRKSRC}/${INCLUDEDIR_ACE_WRKSRC}/${i}/*.cpp \
+ ${WRKSRC}/${INCLUDEDIR_ACE_WRKSRC}/${i}/*.h \
+ ${WRKSRC}/${INCLUDEDIR_ACE_WRKSRC}/${i}/*.i ; \
do \
- ${INSTALL_DATA} $${j} ${PREFIX}/include/jcore ; \
+ if [ -f $${j} ]; \
+ then \
+ ${INSTALL_DATA} $${j} ${PREFIX}/include/ace/${i}/ ; \
+ fi ; \
done
+.endfor
# Install all libraries
.for i in ${LIBFILES}
@${INSTALL_PROGRAM} ${WRKSRC}/lib/${i} ${PREFIX}/lib
@@ -208,7 +217,7 @@ do-install:
if [ -f $${j} ]; \
then \
${INSTALL_DATA} $${j} ${EXTRALIB_PREFIX}/make/${i}/ ; \
- fi; \
+ fi ; \
done
.endfor
# Install all programs
@@ -218,12 +227,6 @@ do-install:
.for i in ${PROGRAMFILES_SCRIPT}
@${INSTALL_SCRIPT} ${WRKSRC}/programs/${i} ${PREFIX}/bin
.endfor
-.for i in ${X11R6FILES}
- @${INSTALL_PROGRAM} ${WRKSRC}/programs/${i} ${PREFIX}/bin
-.endfor
-.for i in ${X11R6FILES_SCRIPT}
- @${INSTALL_SCRIPT} ${WRKSRC}/programs/${i} ${PREFIX}/bin
-.endfor
post-install:
@${LN} -sf libACE-5_0_2.so \
diff --git a/x11-toolkits/jx/files/configure.in b/x11-toolkits/jx/files/configure.in
new file mode 100644
index 000000000000..7c22ea3c9237
--- /dev/null
+++ b/x11-toolkits/jx/files/configure.in
@@ -0,0 +1,18 @@
+dnl Process this file with autoconf to produce a configure script.
+AC_INIT(FreeBSD-3.x_g++.in)
+
+dnl Check for X library and header files
+AC_PATH_X
+
+AC_SUBST(x_includes)
+AC_SUBST(x_libraries)
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+
+dnl Checks sizeof long
+AC_CHECK_SIZEOF(long)
+
+dnl Checks sizeof int
+AC_CHECK_SIZEOF(int)
+
+AC_OUTPUT(FreeBSD-2.x_g++ FreeBSD-3.x_g++)
diff --git a/x11-toolkits/jx/files/patch-ag b/x11-toolkits/jx/files/patch-ag
new file mode 100644
index 000000000000..bed4d7983e44
--- /dev/null
+++ b/x11-toolkits/jx/files/patch-ag
@@ -0,0 +1,42 @@
+--- misc/regex/Makefile.orig Tue Jun 13 21:56:06 2000
++++ misc/regex/Makefile Tue Jun 13 21:58:03 2000
+@@ -4,13 +4,13 @@
+ include ${JX_ROOT}/include/make/jx_config
+ CPPFLAGS=
+
+-# You probably want to take -DREDEBUG out of CFLAGS, and put something like
++# You probably want to take -DREDEBUG out of MYCFLAGS, and put something like
+ # -O in, *after* testing (-DREDEBUG strengthens testing by enabling a lot of
+ # internal assertion checking and some debugging facilities).
+ # Put -Dconst= in for a pre-ANSI compiler.
+ # Do not take -DPOSIX_MISTAKE out.
+ # REGCFLAGS isn't important to you (it's for my use in some special contexts).
+-CFLAGS=-I. -DREDEBUG $(REGCFLAGS) $(J_REGEX_USE_BCOPY) $(J_BUILD_SHARED_LIB) # -DPOSIX_MISTAKE
++MYCFLAGS=-I. -DREDEBUG $(REGCFLAGS) $(J_REGEX_USE_BCOPY) $(J_BUILD_SHARED_LIB) # -DPOSIX_MISTAKE
+
+ # If you have a pre-ANSI compiler, put -o into MKHFLAGS. If you want
+ # the Berkeley __P macro, put -b in.
+@@ -35,10 +35,13 @@
+ JUNKLINT=possible pointer alignment|null effect
+
+ # arrangements to build forward-reference header files
+-.SUFFIXES: .ih .h
++.SUFFIXES: .ih .h .c .o
+ .c.ih:
+ sh ./mkh $(MKHFLAGS) -p $< >$@
+
++.c.o:
++ $(CC) $(MYCFLAGS) -fPIC -DPIC -o $@ -c $<
++
+ default: r
+
+ # JAFL: this target builds the .o files for libjcore.*
+@@ -70,7 +73,7 @@
+
+ # tester
+ re: $(OBJS)
+- $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
++ $(CC) $(MYCFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
+
+ # regression test
+ r: re tests
diff --git a/x11-toolkits/jx/files/post-patch-aa b/x11-toolkits/jx/files/post-patch-aa
index c7932e4d2877..4a25da9d6060 100644
--- a/x11-toolkits/jx/files/post-patch-aa
+++ b/x11-toolkits/jx/files/post-patch-aa
@@ -1,20 +1,35 @@
---- include/make/sys/FreeBSD-3.x_g++.orig Tue Aug 31 20:36:33 1999
-+++ include/make/sys/FreeBSD-3.x_g++ Tue May 30 21:08:07 2000
@@ -6,11 +6,11 @@
# This tells us where to find the X libraries.
-J_X11_LIB_DIR := -L/usr/X11R6/lib
-+J_X11_LIB_DIR := -LX11PREFIX/lib
++J_X11_LIB_DIR := -L@x_libraries@
# Uncomment this and change it if your X11 headers are not in /usr/include/X11.
-J_X11_INCLUDE_DIR := -I/usr/X11R6/include
-+J_X11_INCLUDE_DIR := -IX11PREFIX/include
++J_X11_INCLUDE_DIR := -I@x_includes@
# Uncomment this if you want to compile libXpm into libjx
-@@ -88,15 +88,15 @@
+@@ -66,7 +66,7 @@
+ # Adjust these until everything compiles
+
+ J_RAW_SYSTEM_STUFF := \
+- -DSIZEOF_LONG=4 -DSIZEOF_INT=4
++ @DEFS@
+
+ #
+ # Nothing below this line should ever need to be changed.
+@@ -79,7 +79,6 @@
+ J_COMPILER_DEPEND_FLAGS_FOR_BISON := \
+ -Wall -Wno-unused \
+ -fno-implicit-templates -fno-rtti \
+- -O${J_OPTIMIZE_LEVEL} \
+ -D_J_UNIX ${J_ISTRSTREAM_BROKEN} ${J_ARRAY_NEW_OVERRIDABLE} \
+ ${J_RAW_SYSTEM_STUFF}
+
+@@ -88,15 +87,15 @@
# makemake variables
@@ -30,8 +45,8 @@
CPPFLAGS = ${DEPENDFLAGS}
-CFLAGS = ${J_MAKE_NEEDS_OUTPUT_ARG}
-CXXFLAGS = ${J_MAKE_NEEDS_OUTPUT_ARG}
-+CFLAGS = ${J_MAKE_NEEDS_OUTPUT_ARG} ${PORTCFLAGS}
-+CXXFLAGS = ${J_MAKE_NEEDS_OUTPUT_ARG} ${PORTCXXFLAGS}
++CFLAGS := ${CFLAGS}
++CXXFLAGS := ${CXXFLAGS}
# libraries to link
diff --git a/x11-toolkits/jx/pkg-comment b/x11-toolkits/jx/pkg-comment
index 662d4f1d4e2f..d5527adcf6a0 100644
--- a/x11-toolkits/jx/pkg-comment
+++ b/x11-toolkits/jx/pkg-comment
@@ -1 +1 @@
-A C++ application framework and widget library for X Window System
+A C++ application framework and widget library for X Windows