1 # Created by: Holger Lamm <holger@e-gitt.net>
9 EXTRA_PATCHES= ${FILESDIR}/git-30e77e2:-p1
11 MAINTAINER?= danfe@FreeBSD.org
12 COMMENT?= Multi-protocol peer-to-peer client written in OCaml
15 LICENSE_FILE= ${WRKSRC}/Copying.txt
17 CONFLICTS= mldonkey{-{core,gui},}-devel
19 USES= compiler:c++11-lang cpe gmake iconv pkgconfig tar:bzip2
23 CONFIGURE_ARGS= ac_cv_lib_charset_locale_charset=no
25 MAKE_ENV+= OCAMLRUNPARAM="l=256M"
28 SUB_FILES= pkg-message
34 OPTIONS_DEFINE= GD DOCS EXAMPLES
35 OPTIONS_DEFAULT=CORE GD GUI
37 OPTIONS_MULTI_CLIENT=CORE GUI
38 CORE_DESC= Client 'core' support
40 .include <bsd.port.options.mk>
42 .if ${PORT_OPTIONS:MGUI} && ${PORT_OPTIONS:MCORE}
43 CONFLICTS+= mldonkey-core-[0.9]*
44 CONFLICTS+= mldonkey-gui-[0.9]*
46 PLIST_SUB+= CORE="" GUI="" GUICORE=""
47 .else # (${PORT_OPTIONS:MGUI} && ${PORT_OPTIONS:MCORE})
49 . if !${PORT_OPTIONS:MGUI}
52 CONFLICTS+= mldonkey-gui-[0.9]*
54 CONFIGURE_ARGS+=--disable-gui
55 PLIST_SUB+= CORE="" GUI="@comment " GUICORE="@comment "
56 . endif # !${PORT_OPTIONS:MGUI}
58 . if !${PORT_OPTIONS:MCORE}
61 CONFLICTS+= mldonkey-core-[0.9]*
63 PLIST_SUB+= CORE="@comment " GUI="" GUICORE="@comment "
64 . endif # !${PORT_OPTIONS:MCORE}
66 .endif # ${PORT_OPTIONS:MGUI} && ${PORT_OPTIONS:MCORE}
68 .if ${PORT_OPTIONS:MGUI}
69 BUILD_DEPENDS+= ${LOCALBASE}/lib/ocaml/site-lib/lablgtk2/lablrsvg.cma:x11-toolkits/ocaml-lablgtk2
71 CONFIGURE_ARGS+=--enable-gui=newgui2
72 # we don't need lablgtk as RUN dependency, but we need gtk+glib
74 USE_GNOME= gtk20 librsvg2
75 .endif # ${PORT_OPTIONS:MGUI}
77 .if ${PORT_OPTIONS:MCORE}
81 . if ${PORT_OPTIONS:MGD}
82 LIB_DEPENDS+= libgd.so:graphics/gd
84 CONFIGURE_ARGS+=--disable-gd
88 PORTDOCS= Authors.txt Bugs.txt ChangeLog Developers.txt \
89 Install.txt Todo.txt ed2k_links.txt
91 # build additional tools
95 .include <bsd.port.pre.mk>
97 .if ${ARCH:Mpowerpc64*}
103 -e "s|%%PREFIX%%|${PREFIX}|" \
104 -e "s|%%SH%%|${SH}|" \
105 ${FILESDIR}/wrapper.sh > \
108 -e 's|$$OCAMLLIB/$$LABLGTK_NAME|$$OCAMLLIB/site-lib/$$LABLGTK_NAME|' \
109 ${WRKSRC}/config/configure
111 -e 's|+labl|+site-lib/labl|' \
112 ${WRKSRC}/config/Makefile.in
113 @${REINPLACE_CMD} -E \
114 -e 's@(#include <)(lablgtk2/)@\1site-lib/\2@' \
115 ${WRKSRC}/src/gtk2/gui/x11/systraystubs.c
116 # update server.met provider
117 @${REINPLACE_CMD} -E \
118 -e 's|http://www.gruk.org/server.met.gz|http://www.jd2k.com/server.met|' \
119 -e 's|http://www.bluetack.co.uk/config/antip2p.txt|http://www.bluetack.co.uk/config/level1.gz|' \
120 ${WRKSRC}/src/daemon/common/commonOptions.ml \
121 ${WRKSRC}/src/networks/donkey/donkeyServers.ml
123 -e 's/[u(]int32/&_t/' ${WRKSRC}/src/utils/cdk/zlibstubs.c \
124 ${WRKSRC}/src/utils/cdk/gdstubs.c
126 -e 's/int64/&_t/' ${WRKSRC}/src/config/unix/os_stubs_c.c \
127 ${WRKSRC}/src/utils/lib/os_stubs.h \
128 ${WRKSRC}/src/utils/lib/fst_hash.c
131 .if ${PORT_OPTIONS:MCORE}
132 ${INSTALL_PROGRAM} ${WRKSRC}/mld_hash ${STAGEDIR}${PREFIX}/bin
133 ${INSTALL_PROGRAM} ${WRKSRC}/mlnet ${STAGEDIR}${PREFIX}/bin/mlnet-real
134 ${INSTALL_SCRIPT} ${WRKDIR}/wrapper.sh ${STAGEDIR}${PREFIX}/bin/mlnet
135 .if ${PORT_OPTIONS:MEXAMPLES}
136 @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
137 ${INSTALL_SCRIPT} ${FILESDIR}/kill_mldonkey ${STAGEDIR}${EXAMPLESDIR}
140 .if ${PORT_OPTIONS:MGUI}
141 ${INSTALL_PROGRAM} ${WRKSRC}/mlgui ${STAGEDIR}${PREFIX}/bin
143 .if ${PORT_OPTIONS:MGUI} && ${PORT_OPTIONS:MCORE}
144 ${INSTALL_SCRIPT} ${WRKSRC}/distrib/mldonkey_previewer ${STAGEDIR}${PREFIX}/bin
145 ${INSTALL_PROGRAM} ${WRKSRC}/mlguistarter ${STAGEDIR}${PREFIX}/bin
146 ${INSTALL_PROGRAM} ${WRKSRC}/mlnet+gui ${STAGEDIR}${PREFIX}/bin
148 .if ${PORT_OPTIONS:MDOCS}
149 @${MKDIR} ${STAGEDIR}${DOCSDIR}
150 .for _file in ${PORTDOCS}
151 ${INSTALL_DATA} ${WRKSRC}/distrib/${_file} ${STAGEDIR}${DOCSDIR}
155 install-user: extract
156 .if !defined(LANGUAGE)
157 @${ECHO_MSG} "Please call as: make install-user LANGUAGE=<lang>"
158 @${ECHO_MSG} "with <lang> one of en,de,fr,fr.noaccents,sp !"
160 @${CP} ${WRKSRC}/distrib/i18n/gui_messages.ini.${LANGUAGE}\
161 ${HOME}/.mldonkey_gui_messages.ini
164 .include <bsd.port.post.mk>