1 # Created by: Holger Lamm <holger@e-gitt.net>
10 EXTRA_PATCHES= ${FILESDIR}/git-30e77e2:-p1
12 MAINTAINER?= danfe@FreeBSD.org
13 COMMENT?= Multi-protocol peer-to-peer client written in OCaml
16 LICENSE_FILE= ${WRKSRC}/Copying.txt
18 CONFLICTS= mldonkey{-{core,gui},}-devel-[0-9]*
20 USES= gmake iconv pkgconfig tar:bzip2
24 CONFIGURE_ARGS= ac_cv_lib_charset_locale_charset=no
26 MAKE_ENV+= OCAMLRUNPARAM="l=256M"
29 SUB_FILES= pkg-message
35 OPTIONS_DEFINE= GD DOCS EXAMPLES
36 OPTIONS_DEFAULT=CORE GD GUI
38 OPTIONS_MULTI_CLIENT=CORE GUI
39 CORE_DESC= Client 'core' support
41 .include <bsd.port.options.mk>
43 .if ${PORT_OPTIONS:MGUI} && ${PORT_OPTIONS:MCORE}
44 CONFLICTS+= mldonkey-core-[0.9]*
45 CONFLICTS+= mldonkey-gui-[0.9]*
47 PLIST_SUB+= CORE="" GUI="" GUICORE=""
48 .else # (${PORT_OPTIONS:MGUI} && ${PORT_OPTIONS:MCORE})
50 . if !${PORT_OPTIONS:MGUI}
53 CONFLICTS+= mldonkey-gui-[0.9]*
55 CONFIGURE_ARGS+=--disable-gui
56 PLIST_SUB+= CORE="" GUI="@comment " GUICORE="@comment "
57 . endif # !${PORT_OPTIONS:MGUI}
59 . if !${PORT_OPTIONS:MCORE}
62 CONFLICTS+= mldonkey-core-[0.9]*
64 PLIST_SUB+= CORE="@comment " GUI="" GUICORE="@comment "
65 . endif # !${PORT_OPTIONS:MCORE}
67 .endif # ${PORT_OPTIONS:MGUI} && ${PORT_OPTIONS:MCORE}
69 .if ${PORT_OPTIONS:MGUI}
70 BUILD_DEPENDS+= ${LOCALBASE}/lib/ocaml/site-lib/lablgtk2/lablrsvg.cma:x11-toolkits/ocaml-lablgtk2
71 LIB_DEPENDS+= librsvg-2.so:graphics/librsvg2
73 CONFIGURE_ARGS+=--enable-gui=newgui2
74 # we don't need lablgtk as RUN dependency, but we need gtk+glib
76 .endif # ${PORT_OPTIONS:MGUI}
78 .if ${PORT_OPTIONS:MCORE}
82 . if ${PORT_OPTIONS:MGD}
83 LIB_DEPENDS+= libgd.so:graphics/gd
85 CONFIGURE_ARGS+=--disable-gd
89 PORTDOCS= Authors.txt Bugs.txt ChangeLog Developers.txt \
90 Install.txt Todo.txt ed2k_links.txt
92 # build additional tools
96 .include <bsd.port.pre.mk>
100 -e "s|%%PREFIX%%|${PREFIX}|" \
101 -e "s|%%SH%%|${SH}|" \
102 ${FILESDIR}/wrapper.sh > \
105 -e 's|$$OCAMLLIB/$$LABLGTK_NAME|$$OCAMLLIB/site-lib/$$LABLGTK_NAME|' \
106 ${WRKSRC}/config/configure
108 -e 's|+labl|+site-lib/labl|' \
109 ${WRKSRC}/config/Makefile.in
110 @${REINPLACE_CMD} -E \
111 -e 's@(#include <)(lablgtk2/)@\1site-lib/\2@' \
112 ${WRKSRC}/src/gtk2/gui/x11/systraystubs.c
113 # update server.met provider
114 @${REINPLACE_CMD} -E \
115 -e 's|http://www.gruk.org/server.met.gz|http://www.jd2k.com/server.met|' \
116 -e 's|http://www.bluetack.co.uk/config/antip2p.txt|http://www.bluetack.co.uk/config/level1.gz|' \
117 ${WRKSRC}/src/daemon/common/commonOptions.ml \
118 ${WRKSRC}/src/networks/donkey/donkeyServers.ml
120 -e 's/[u(]int32/&_t/' ${WRKSRC}/src/utils/cdk/zlibstubs.c
122 -e 's/int64/&_t/' ${WRKSRC}/src/config/unix/os_stubs_c.c \
123 ${WRKSRC}/src/utils/lib/os_stubs.h
126 .if ${PORT_OPTIONS:MCORE}
127 ${INSTALL_PROGRAM} ${WRKSRC}/mld_hash ${STAGEDIR}${PREFIX}/bin
128 ${INSTALL_PROGRAM} ${WRKSRC}/mlnet ${STAGEDIR}${PREFIX}/bin/mlnet-real
129 ${INSTALL_SCRIPT} ${WRKDIR}/wrapper.sh ${STAGEDIR}${PREFIX}/bin/mlnet
130 .if ${PORT_OPTIONS:MEXAMPLES}
131 @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
132 ${INSTALL_SCRIPT} ${FILESDIR}/kill_mldonkey ${STAGEDIR}${EXAMPLESDIR}
135 .if ${PORT_OPTIONS:MGUI}
136 ${INSTALL_PROGRAM} ${WRKSRC}/mlgui ${STAGEDIR}${PREFIX}/bin
138 .if ${PORT_OPTIONS:MGUI} && ${PORT_OPTIONS:MCORE}
139 ${INSTALL_SCRIPT} ${WRKSRC}/distrib/mldonkey_previewer ${STAGEDIR}${PREFIX}/bin
140 ${INSTALL_PROGRAM} ${WRKSRC}/mlguistarter ${STAGEDIR}${PREFIX}/bin
141 ${INSTALL_PROGRAM} ${WRKSRC}/mlnet+gui ${STAGEDIR}${PREFIX}/bin
143 .if ${PORT_OPTIONS:MDOCS}
144 @${MKDIR} ${STAGEDIR}${DOCSDIR}
145 .for _file in ${PORTDOCS}
146 ${INSTALL_DATA} ${WRKSRC}/distrib/${_file} ${STAGEDIR}${DOCSDIR}
150 install-user: extract
151 .if !defined(LANGUAGE)
152 @${ECHO_MSG} "Please call as: make install-user LANGUAGE=<lang>"
153 @${ECHO_MSG} "with <lang> one of en,de,fr,fr.noaccents,sp !"
155 @${CP} ${WRKSRC}/distrib/i18n/gui_messages.ini.${LANGUAGE}\
156 ${HOME}/.mldonkey_gui_messages.ini
159 .include <bsd.port.post.mk>