1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-21 20:38:45 +00:00

Add dialyzer, a static analysis tool for Erlang/OTP applications.

This commit is contained in:
Jimmy Olgeni 2005-01-08 17:46:32 +00:00
parent 2dc8c5621f
commit d706c57c42
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=125849
8 changed files with 144 additions and 0 deletions

View File

@ -195,6 +195,7 @@
SUBDIR += devhelp
SUBDIR += devtodo
SUBDIR += dia2code
SUBDIR += dialyzer
SUBDIR += diffconvert
SUBDIR += directfb
SUBDIR += distcc

41
devel/dialyzer/Makefile Normal file
View File

@ -0,0 +1,41 @@
# New ports collection makefile for: dialyzer
# Date Created: 8 January 2005
# Whom: olgeni@FreeBSD.org
#
# $FreeBSD$
#
PORTNAME= dialyzer
PORTVERSION= 1.2.0
CATEGORIES= devel
MASTER_SITES= http://www.it.uu.se/research/group/hipe/dialyzer/snapshots/
MAINTAINER= olgeni@FreeBSD.org
COMMENT= Static analysis tool for Erlang/OTP applications
BUILD_DEPENDS= erlc:${PORTSDIR}/lang/erlang
RUN_DEPENDS= erl:${PORTSDIR}/lang/erlang
USE_REINPLACE= yes
WRKSRC= ${WRKDIR}/${PORTNAME}
PLIST_SUB= VERSION="${PORTVERSION}"
post-patch:
@${REINPLACE_CMD} -e 's|%%DIALYZER_DIR%%|${PREFIX}/lib/erlang/lib/${PORTNAME}-${PORTVERSION}|g' ${WRKSRC}/setup.sh
@${FIND} ${WRKSRC} -name .cvsignore | ${XARGS} ${RM}
do-build:
@cd ${WRKSRC} && ./setup.sh ${PREFIX}/lib/erlang
do-install:
@${MKDIR} ${PREFIX}/lib/erlang/lib/${PORTNAME}-${PORTVERSION}
@${LN} -sf ${PORTNAME}-${PORTVERSION} ${PREFIX}/lib/erlang/lib/${PORTNAME}
@cd ${WRKSRC} && ${CP} -r README RELEASE_NOTES dialyzer doc ebin plt src ${PREFIX}/lib/erlang/lib/${PORTNAME}-${PORTVERSION}
@${FIND} ${PREFIX}/lib/erlang/lib/${PORTNAME}-${PORTVERSION} -name \*.orig | ${XARGS} ${RM}
@${LN} -sf ${PREFIX}/lib/erlang/lib/${PORTNAME}-${PORTVERSION}/dialyzer ${PREFIX}/bin/dialyzer
post-install:
@${CAT} ${PKGMESSAGE}
.include <bsd.port.mk>

2
devel/dialyzer/distinfo Normal file
View File

@ -0,0 +1,2 @@
MD5 (dialyzer-1.2.0.tar.gz) = ed2bb42a7628f57950ca146e041a5f99
SIZE (dialyzer-1.2.0.tar.gz) = 33017

View File

@ -0,0 +1,26 @@
$FreeBSD$
--- setup.sh.orig
+++ setup.sh
@@ -87,19 +87,12 @@
echo "Compilation of $file failed"
exit 1
fi
- printf " Checking consistency of ebin/*.beam files... "
- $DIALYZER_OTP_OTP -pa utils/ -noshell -s dialyzer_chk test `pwd` -s init stop
- rm -f utils/dialyzer_chk.beam
## create the dialyzer script
sed -e "s;%OTP_DIR%;$DIALYZER_OTP_DIR;" \
-e "s;%VSN%;$VSN;" -e "s;%DATE%;`date`;" \
- -e "s;%DIALYZER_DIR%;`pwd`;" src/dialyzer.src > dialyzer
+ -e "s;%DIALYZER_DIR%;%%DIALYZER_DIR%%;" src/dialyzer.src > dialyzer
chmod +x dialyzer
- echo "Dialyzer is analyzing itself..."
- ./dialyzer --src --command-line "`pwd`/src"
- echo "Dialyzer setup done!"
- echo " For the full set of Dialyzer options type: ./dialyzer --help"
else
echo "Could not find ${DIALYZER_OTP_ERLC}"
fi

View File

@ -0,0 +1,25 @@
$FreeBSD$
--- src/dialyzer_gui.erl.orig
+++ src/dialyzer_gui.erl
@@ -489,8 +489,8 @@
{'EXIT', BackendPid, Reason} when Reason /= normal ->
error(State, Reason),
gui_loop(State);
- Other ->
- io:format("Received ~p\n", [Other]),
+ _Other ->
+ %% io:format("Received ~p\n", [Other]),
gui_loop(State)
end.
@@ -1019,7 +1019,7 @@
ReAnalyze =
case filelib:is_file(Plt) of
true ->
- case dets:open_file(Plt) of
+ case dets:open_file(Plt,[{access,read}]) of
{ok, Dets} ->
Res =
case dets:lookup(Dets, md5) of

6
devel/dialyzer/pkg-descr Normal file
View File

@ -0,0 +1,6 @@
The Dialyzer is a static analysis tool that identifies software
discrepancies such as obvious type errors, unreachable code, redundant
tests, virtual machine bytecode which is unsafe, etc. in single
Erlang modules or entire applications.
WWW: http://www.it.uu.se/research/group/hipe/dialyzer/

View File

@ -0,0 +1,6 @@
=============================================================
You will have to run "dialyzer" as root for the first time to
initialize the PLT table.
=============================================================

37
devel/dialyzer/pkg-plist Normal file
View File

@ -0,0 +1,37 @@
lib/erlang/lib/dialyzer-%%VERSION%%/README
lib/erlang/lib/dialyzer-%%VERSION%%/RELEASE_NOTES
lib/erlang/lib/dialyzer-%%VERSION%%/dialyzer
lib/erlang/lib/dialyzer-%%VERSION%%/doc/about.txt
lib/erlang/lib/dialyzer-%%VERSION%%/doc/manual.txt
lib/erlang/lib/dialyzer-%%VERSION%%/doc/overview.txt
lib/erlang/lib/dialyzer-%%VERSION%%/doc/warnings.txt
lib/erlang/lib/dialyzer-%%VERSION%%/ebin/dialyzer.app
lib/erlang/lib/dialyzer-%%VERSION%%/ebin/dialyzer.beam
lib/erlang/lib/dialyzer-%%VERSION%%/ebin/dialyzer_analysis.beam
lib/erlang/lib/dialyzer-%%VERSION%%/ebin/dialyzer_cl.beam
lib/erlang/lib/dialyzer-%%VERSION%%/ebin/dialyzer_gui.beam
lib/erlang/lib/dialyzer-%%VERSION%%/ebin/dialyzer_module_callgraph.beam
lib/erlang/lib/dialyzer-%%VERSION%%/ebin/dialyzer_options.beam
lib/erlang/lib/dialyzer-%%VERSION%%/ebin/dialyzer_plt.beam
lib/erlang/lib/dialyzer-%%VERSION%%/plt/dialyzer_empty_plt
lib/erlang/lib/dialyzer-%%VERSION%%/src/dialyzer.app.src
lib/erlang/lib/dialyzer-%%VERSION%%/src/dialyzer.erl
lib/erlang/lib/dialyzer-%%VERSION%%/src/dialyzer.hrl
lib/erlang/lib/dialyzer-%%VERSION%%/src/dialyzer.hrl.src
lib/erlang/lib/dialyzer-%%VERSION%%/src/dialyzer.src
lib/erlang/lib/dialyzer-%%VERSION%%/src/dialyzer_analysis.erl
lib/erlang/lib/dialyzer-%%VERSION%%/src/dialyzer_cl.erl
lib/erlang/lib/dialyzer-%%VERSION%%/src/dialyzer_gui.erl
lib/erlang/lib/dialyzer-%%VERSION%%/src/dialyzer_module_callgraph.erl
lib/erlang/lib/dialyzer-%%VERSION%%/src/dialyzer_options.erl
lib/erlang/lib/dialyzer-%%VERSION%%/src/dialyzer_plt.erl
lib/erlang/lib/dialyzer-%%VERSION%%/src/hipe_icode_type.hrl
@dirrm lib/erlang/lib/dialyzer-%%VERSION%%/src
@dirrm lib/erlang/lib/dialyzer-%%VERSION%%/plt
@dirrm lib/erlang/lib/dialyzer-%%VERSION%%/ebin
@dirrm lib/erlang/lib/dialyzer-%%VERSION%%/doc
@dirrm lib/erlang/lib/dialyzer-%%VERSION%%
@exec ln -sf dialyzer-%%VERSION%% %D/lib/erlang/lib/dialyzer
@unexec rm -f %D/lib/erlang/lib/dialyzer 2>&1 >/dev/null || true
@exec ln -sf %D/lib/erlang/lib/dialyzer-%%VERSION%%/dialyzer %D/bin/dialyzer
@unexec rm %D/bin/dialyzer 2>&1 >/dev/null || true