Hi,

Mldonkey in difficult to adapt to the new 4.08.0 release of OCaml.
Its build system has the option to build against a private build of
OCaml 3.12 and a copy of lablgtk.
I adapted the port to use this option and therefore get rid of the
dependency on a system wide OCaml installation.
Tested to build and start up on amd64.
Not tested on bytecode-only archs.

Is this the way to go? OK to commit?
Is this port still in use?

Christopher



Index: Makefile
===================================================================
RCS file: /cvs/ports/net/mldonkey/Makefile,v
retrieving revision 1.30
diff -u -p -r1.30 Makefile
--- Makefile    20 May 2019 22:15:19 -0000      1.30
+++ Makefile    17 Jun 2019 19:07:35 -0000
@@ -21,13 +21,21 @@ WANTLIB += pthread rsvg-2 ${COMPILER_LIB
 
 COMPILER =             base-clang ports-gcc base-gcc
 
-MASTER_SITES = 
https://github.com/ygrek/mldonkey/releases/download/release-${VER:S/./-/g}/
+MASTER_SITES0 =        
https://github.com/ygrek/mldonkey/releases/download/release-${VER:S/./-/g}/
+MASTER_SITES1 =        http://caml.inria.fr/pub/distrib/ocaml-3.12/
+MASTER_SITES2 =        
http://www.math.nagoya-u.ac.jp/~garrigue/soft/olabl/dist/
 
+OCAML_SRC =    ocaml-3.12.0.tar.gz
+LAMLGTK_SRC =  lablgtk-2.14.2.tar.gz
 EXTRACT_SUFX =         .tar.bz2
+DISTFILES =    ${DISTNAME}${EXTRACT_SUFX}:0 ${OCAML_SRC}:1 ${LAMLGTK_SRC}:2
+
 
 CONFIGURE_STYLE =      gnu
 CONFIGURE_ARGS +=      --enable-gui=newgui2 \
-                       --enable-upnp-natpmp
+                       --enable-upnp-natpmp \
+                       --enable-force-ocaml \
+                       --enable-batch
 CONFIGURE_ENV +=       CPPFLAGS='-I${LOCALBASE}/include -I${X11BASE}/include' \
                        LDFLAGS='${LDFLAGS}' \
                        ac_cv_prog_RPMBUILD="" \
@@ -44,8 +52,8 @@ MODGNU_CONFIG_GUESS_DIRS =    ${WRKSRC}/con
 WRKCONF =                      ${WRKSRC}/config
 
 USE_GMAKE =    Yes
-MODULES =      lang/ocaml
-BUILD_DEPENDS =        lang/ocaml-camlp4 x11/lablgtk2 math/ocaml-num
+#MODULES =     lang/ocaml
+#BUILD_DEPENDS =       lang/ocaml-camlp4 x11/lablgtk2 math/ocaml-num
 LIB_DEPENDS =  archivers/bzip2 \
                devel/gettext,-runtime \
                devel/libmagic \
@@ -53,6 +61,7 @@ LIB_DEPENDS = archivers/bzip2 \
                net/miniupnp/libnatpmp \
                net/miniupnp/miniupnpc>=1.9 \
                x11/gnome/librsvg \
+               devel/libglade2 \
                x11/gtk+2
 
 ALL_TARGET =   depend all
@@ -67,6 +76,11 @@ FAKE_FLAGS = OCAML_NATIVE=no
 NO_TEST =      Yes
 
 .include <bsd.port.arch.mk>
+
+post-extract:
+       ln -s ${FULLDISTDIR}/${OCAML_SRC} ${WRKSRC}/patches
+       ln -s ${FULLDISTDIR}/${LAMLGTK_SRC} ${WRKSRC}/patches
+
 pre-patch:
        @cd ${WRKSRC}; perl -i -pe 's/\r$$//' `find . -type f`
 
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/mldonkey/distinfo,v
retrieving revision 1.6
diff -u -p -r1.6 distinfo
--- distinfo    17 Aug 2017 10:06:12 -0000      1.6
+++ distinfo    17 Jun 2019 19:07:35 -0000
@@ -1,2 +1,6 @@
+SHA256 (lablgtk-2.14.2.tar.gz) = SYGr7avcRiMD80UQQELIivInzNUP0wqb9I/TU6sC0Lo=
 SHA256 (mldonkey-3.1.6.tar.bz2) = Gza1fAWoPC42PAhb+OgGMIhMbJLs3v/BrV4cOamOBD0=
+SHA256 (ocaml-3.12.0.tar.gz) = 2WSzheEQwVF8neHGMxR21eejWFzGkra2uJc/Opvn2ks=
+SIZE (lablgtk-2.14.2.tar.gz) = 779803
 SIZE (mldonkey-3.1.6.tar.bz2) = 2886916
+SIZE (ocaml-3.12.0.tar.gz) = 3271024
Index: patches/patch-config_Makefile_in
===================================================================
RCS file: /cvs/ports/net/mldonkey/patches/patch-config_Makefile_in,v
retrieving revision 1.6
diff -u -p -r1.6 patch-config_Makefile_in
--- patches/patch-config_Makefile_in    4 Mar 2019 12:51:16 -0000       1.6
+++ patches/patch-config_Makefile_in    17 Jun 2019 19:07:35 -0000
@@ -2,34 +2,6 @@ $OpenBSD: patch-config_Makefile_in,v 1.6
 Index: config/Makefile.in
 --- config/Makefile.in.orig
 +++ config/Makefile.in
-@@ -13,6 +13,9 @@ changequote([[, ]])
- 
- include config/Makefile.config
- 
-+OCAMLC:=$(OCAMLC) -unsafe-string
-+OCAMLOPT:=$(OCAMLOPT) -unsafe-string
-+
- ifneq ("$(GLIBC_VERSION)" , "")
-   GLIBC_VERSION_ARCH = "_glibc-"$(GLIBC_VERSION)
- endif
-@@ -93,7 +96,7 @@ SRC_FILETP=src/networks/fileTP
- SUBDIRS=$(EXTLIB) $(CDK) $(BITSTRING) $(LIB) $(RSS) $(XML) $(NET) tools \
-    $(COMMON) $(DRIVER) $(MP3) src/config/$(OS_FILES)
- 
--INCLUDES += $(foreach file, $(SUBDIRS), -I $(file)) -I +camlp4
-+INCLUDES += $(foreach file, $(SUBDIRS), -I $(file)) -I +camlp4 -I +num
- 
- CFLAGS:=$(CFLAGS) $(CONFIG_INCLUDES) $(GTKCFLAGS) $(GD_CFLAGS)
- 
-@@ -124,7 +127,7 @@ endif
- 
- #######################################################################
- 
--LIBS_flags += -ccopt "$(LDFLAGS) $(CPPFLAGS)" -cclib "$(LIBS)"
-+LIBS_flags += -ccopt "$(LDFLAGS) $(CPPFLAGS)" -cclib "$(LIBS)" -I +num
- 
- ifeq ("$(OS_FILES2)", "mingw")
-   LIBS_flags += -cclib "-lws2_32 -lgdi32 -luser32 -ladvapi32 -lwsock32 
-limm32 -lshell32 -lole32 resfile.o"
 @@ -633,6 +636,8 @@ uninstall::
        rm -f $(BINDIR)/mlnet
        rm -f $(BINDIR)/mlgui


-- 
http://gmerlin.de
OpenPGP: http://gmerlin.de/christopher.pub
CB07 DA40 B0B6 571D 35E2  0DEF 87E2 92A7 13E5 DEE1

Attachment: pgpQWwhm1Flfl.pgp
Description: OpenPGP digital signature

Reply via email to