aboutsummaryrefslogtreecommitdiff
path: root/textproc/adabrowse
diff options
context:
space:
mode:
authorJohn Marino <marino@FreeBSD.org>2014-03-12 23:00:09 +0000
committerJohn Marino <marino@FreeBSD.org>2014-03-12 23:00:09 +0000
commitc7dba22f726744545fff6f0aa0873dd4565512d0 (patch)
tree483fa3db0a47ecb17c5dd1d9ddd609f58399fcb0 /textproc/adabrowse
parentaf83d5986391f8bdb59bb6e6321cfae7a083739c (diff)
downloadports-c7dba22f726744545fff6f0aa0873dd4565512d0.tar.gz
ports-c7dba22f726744545fff6f0aa0873dd4565512d0.zip
Notes
Diffstat (limited to 'textproc/adabrowse')
-rw-r--r--textproc/adabrowse/Makefile30
-rw-r--r--textproc/adabrowse/files/ad-projects-impl.ads8
-rw-r--r--textproc/adabrowse/files/build.gpr16
-rw-r--r--textproc/adabrowse/files/patch-Makefile129
4 files changed, 49 insertions, 134 deletions
diff --git a/textproc/adabrowse/Makefile b/textproc/adabrowse/Makefile
index 006203f6508c..4ed95dc95d96 100644
--- a/textproc/adabrowse/Makefile
+++ b/textproc/adabrowse/Makefile
@@ -3,6 +3,7 @@
PORTNAME= adabrowse
PORTVERSION= 4.0.3
+PORTREVISION= 1
CATEGORIES= textproc
MASTER_SITES= http://home.datacomm.ch/t_wolf/tw/ada95/adabrowse/
DISTNAME= ${PORTNAME}_${PORTVERSION}_src
@@ -10,17 +11,36 @@ DISTNAME= ${PORTNAME}_${PORTVERSION}_src
MAINTAINER= marino@FreeBSD.org
COMMENT= HTML generator for Ada 95 library unit specifications
+LICENSE= GPLv2
+
BUILD_DEPENDS= asis>=2011:${PORTSDIR}/lang/asis \
gnat_util>=2013:${PORTSDIR}/lang/gnat_util
-LICENSE= GPLv2
-
-USES= ada gmake
+USES= ada
WRKSRC= ${WRKDIR}/${PORTNAME}_${PORTVERSION}
-MAKE_ENV= ADA_INCLUDE_PATH=${LOCALBASE}/lib/asis
-MAKE_JOBS_UNSAFE=yes
+PORTDOCS= *.html *.css
+
+OPTIONS_DEFINE= DOCS
+
+.include <bsd.port.options.mk>
+
+post-extract:
+ ${CP} ${FILESDIR}/ad-* ${FILESDIR}/build.gpr ${WRKSRC}
+ ${RM} ${WRKSRC}/sdefault.adb
+
+do-build:
+# Since we only need one C object, just compile it manually rather
+# than bring in GPRBuild as a dependency
+ ${MKDIR} ${WRKSRC}/obj
+ (cd ${WRKSRC}/obj && ${SETENV} ${MAKE_ENV} ada -c -O2 ../util-nl.c)
+ (cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} gnatmake -Pbuild)
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/adabrowse ${STAGEDIR}${PREFIX}/bin/adabrowse
+.if ${PORT_OPTIONS:MDOCS}
+ ${MKDIR} ${STAGEDIR}/${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/doc/*.html ${WRKSRC}/doc/*.css \
+ ${STAGEDIR}/${DOCSDIR}/
+.endif
.include <bsd.port.mk>
diff --git a/textproc/adabrowse/files/ad-projects-impl.ads b/textproc/adabrowse/files/ad-projects-impl.ads
new file mode 100644
index 000000000000..7b6e154553f6
--- /dev/null
+++ b/textproc/adabrowse/files/ad-projects-impl.ads
@@ -0,0 +1,8 @@
+-- The FSF GNAT 4.9 Project code is hopelessly too modern for AdaBrowse to
+-- hook into it. Just build AdaBrowse without it.
+
+pragma License (GPL);
+
+with AD.Projects.Impl_No;
+private package AD.Projects.Impl
+ renames AD.Projects.Impl_No;
diff --git a/textproc/adabrowse/files/build.gpr b/textproc/adabrowse/files/build.gpr
new file mode 100644
index 000000000000..f1546dc1256b
--- /dev/null
+++ b/textproc/adabrowse/files/build.gpr
@@ -0,0 +1,16 @@
+with "asis";
+with "gnat_util";
+project Build is
+
+ for Languages use ("Ada", "C");
+ for Source_Dirs use (".");
+ for Object_dir use "obj";
+ for Exec_Dir use ".";
+ for Main use ("adabrowse");
+
+ package Compiler is
+ for Default_Switches ("C") use ("-O2");
+ for Default_Switches ("ada") use ("-O2", "-gnatwa");
+ end Compiler;
+
+end Build;
diff --git a/textproc/adabrowse/files/patch-Makefile b/textproc/adabrowse/files/patch-Makefile
deleted file mode 100644
index 6747046f6986..000000000000
--- a/textproc/adabrowse/files/patch-Makefile
+++ /dev/null
@@ -1,129 +0,0 @@
---- Makefile.orig 2005-04-28 20:10:20.000000000 +0000
-+++ Makefile
-@@ -71,7 +71,7 @@
- # it has to work with the ancient GNU make 3.77 (distributed with GNAT 3.15p).
-
- GCC_OPTIONS = -O2
--LD_OPTIONS = -lasis
-+LD_OPTIONS = -L$(PREFIX)/lib/asis -lasis -L$(PREFIX)/lib/gnat_util -lgnat_util
-
- host := $(shell gcc -dumpmachine)
-
-@@ -79,23 +79,10 @@ RM := rm -f
- CP := cp
- ADABROWSE := adabrowse
- NASTY := nasty
--GET_GCC := get_gcc
- EXE :=
- CONFIGURE := adconf
- PATH_SEP := :
-
--ifeq "$(findstring mingw32, $(host))" "mingw32"
-- # Assume we're on Windows
-- RM := cmd.exe /c del
-- CP := cmd.exe /c copy
-- ADABROWSE := adabrowse.exe
-- NASTY := nasty.exe
-- GET_GCC := get_gcc.exe
-- CONFIGURE := adconf.exe
-- EXE := .exe
-- PATH_SEP := ;
--endif
--
- # GNAT-specific gcc options: enable all warnings, and style checking.
- # The style checking flags are nearly as plain "-gnaty", but do not
- # check comment format, and do not require explicit specs for all
-@@ -104,9 +91,6 @@ endif
-
- GNAT_OPTIONS := -gnatwa -gnaty3abefhiklmprt
-
--GET_GCC_GEN = get_gcc.o get_gcc.ali
--GET_GCC_FULL = $(GET_GCC_GEN) get_gcc.txt get_gcc.use
--
- ifdef GNATSRC
-
- INTERNAL_GNAT_SRC := $(subst \,/,$(subst \\,/,$(GNATSRC)))
-@@ -201,14 +185,14 @@ endif
-
- all: ./config/$(CONFIGURE) run-conf
- $(MAKE) $(ADABROWSE) \
-- ADABROWSE_GCC_LIB=$(dir $(subst \,/,$(shell $(shell ./get_gcc -gcc get_gcc.use) -print-libgcc-file-name)))adainclude \
-+ ADABROWSE_GCC_LIB=$(dir $(subst \,/,$(shell ada -print-libgcc-file-name)))adainclude \
- ADABROWSE_GNATSRC=$(INTERNAL_GNAT_SRC)
-
- # Configuration stuff. We build an executable adconf, which then figures out
- # from its parameters and by trying to compile a certain file whether or not
- # we do have project manager support.
-
--./config/$(CONFIGURE): get_gcc.use ./config/adconf.adb
-+./config/$(CONFIGURE): ./config/adconf.adb
- cd ./config; gnatmake -q -I.. adconf
-
- # If adconf is called with two argument only (i.e., GNATSRC is not set), it
-@@ -223,39 +207,13 @@ all: ./config/$(CONFIGURE) run-conf
-
- run-conf:
- cd ./config; \
-- ./$(CONFIGURE) $(shell ./get_gcc -gcc get_gcc.use) \
-+ ./$(CONFIGURE) ada \
- $(ASIS_DIR) \
- $(INTERNAL_GNAT_SRC) \
-- $(dir $(subst \,/,$(shell $(shell ./get_gcc -gcc get_gcc.use) -print-libgcc-file-name)))adainclude
-+ $(dir $(subst \,/,$(shell ada -print-libgcc-file-name)))adainclude
- -cd ./config; $(CP) ad-projects-impl.ads ..
- -cd ./config; $(CP) ad-projects-impl_yes-get_parent.adb ..
-
--# All this 'get_gcc' stuff here is GNAT specific: we try to dynamically
--# figure out the name of the gcc used by GNAT. On some systems, it
--# appears that this name is "gnatgcc", not "gcc"!
--
--get_gcc.o :
-- gnatmake -q -c -f get_gcc.adb
--
--get_gcc.ali:
-- gnatmake -q -c -f get_gcc.adb
--
--$(GET_GCC): get_gcc.o get_gcc.ali get_gcc.adb
-- gnatmake -q get_gcc
--
--# Note: the dependency below first ensures that all the files we're
--# going to delete in the rm command actually exist. This is a work-
--# around for Win 2k, where make stops because cmd.exe /c del returns
--# a failure exit code because some files may not exist. However, they
--# must not exist when we run gnatmake, or we won't have the desired
--# output in get_gcc.err. (The trick is that the first line in that
--# file will be the compile command gnatmake uses for get_gcc.adb,
--# which will start with the compiler name.)
--
--get_gcc.use: $(GET_GCC)
-- $(RM) $(GET_GCC) $(GET_GCC_GEN)
-- gnatmake get_gcc 2>get_gcc.use
--
- # Ok, finally we can build adabrowse! The first dependency handles the
- # C file in the distribution. All the others may be regenerated.
-
-@@ -271,18 +229,17 @@ endif
- $(ADABROWSE): util-nl.o \
- ad-setup.ads \
- ad-projects-impl.ads ad-projects-impl_yes-get_parent.adb
-- gnatmake $(GCC_OPTIONS) adabrowse -cargs $(GNAT_OPTIONS) \
-- -largs $(LD_OPTIONS)
-+ gnatmake $(GCC_OPTIONS) \
-+ -aI$(PREFIX)/include/asis -aO${PREFIX}/lib/asis \
-+ -aI$(PREFIX)/include/gnat_util -aO/${PREFIX}/lib/gnat_util \
-+ adabrowse -cargs $(GNAT_OPTIONS) -largs $(LD_OPTIONS)
- strip $(ADABROWSE)
-
- $(NASTY): nasty.adb
- gnatmake nasty -cargs $(GCC_OPTIONS)
-
--ad-setup.ads: get_gcc.use
-- $(shell ./get_gcc -setup get_gcc.use)
--
--util-nl.o: get_gcc.use util-nl.c
-- $(shell ./get_gcc -gcc get_gcc.use) -c $(GCC_OPTIONS) util-nl.c
-+util-nl.o: util-nl.c
-+ ada -c $(GCC_OPTIONS) util-nl.c
-
- clean:
- $(RM) $(ADABROWSE) $(NASTY) $(GET_GCC) *.o *.ali