o Update to 2.8.3

o Simplify Makefile's port logic
o Do not install rc(8) script if only the graphical user interface
  is being installed [1]

PR:		104029 [1]
Submitted by:	Marcin Wisnicki <mwisnicki+freebsd@gmail.com> [1]
This commit is contained in:
Mario Sergio Fujikawa Ferreira 2007-04-16 02:20:08 +00:00
parent d2c492dfd6
commit 861217f758
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=190053
5 changed files with 41 additions and 160 deletions

View file

@ -6,8 +6,7 @@
#
PORTNAME= mldonkey
PORTVERSION= 2.8.2
PORTREVISION= 1
PORTVERSION= 2.8.3
CATEGORIES+= net-p2p
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE_EXTENDED} \
${MASTER_SITE_SAVANNAH}
@ -19,15 +18,15 @@ COMMENT?= A OCAML client for multiple peer-to-peer networks
BUILD_DEPENDS= ocamlc:${PORTSDIR}/lang/ocaml
NO_LATEST_LINK= yes
CONFLICTS= mldonkey-[0-9]*
CONFLICTS= mldonkey{-{core,gui},}-devel-[0-9]*
USE_BZIP2= yes
USE_ICONV= yes
USE_RC_SUBR= mlnet
USE_AUTOTOOLS= autoconf:259:env
GNU_CONFIGURE= yes
USE_GMAKE= yes
ALL_TARGET= opt
MAKE_ENV+= OCAMLRUNPARAM="l=256M"
CONFIGURE_ARGS+=\
--enable-ocamlver=3 \
@ -49,41 +48,53 @@ LIB_DEPENDS+= bz2:${PORTSDIR}/archivers/bzip2
###
## Options activation
###
.if defined(WITHOUT_GUI)
.if defined(WITHOUT_CORE)
.if defined(WITHOUT_GUI) && defined(WITHOUT_CORE)
IGNORE= cannot install: you defined both WITHOUT_GUI and WITHOUT_CORE. I think I'll do nothing
.endif
# have no 'without-' flag
.if !(defined(WITHOUT_GUI) || defined(WITHOUT_CORE))
CONFLICTS+= mldonkey-core-[0.9]*
CONFLICTS+= mldonkey-gui-[0.9]*
PLIST_SUB+= CORE="" GUI="" GUICORE=""
.else # (defined(WITHOUT_GUI) || defined(WITHOUT_CORE))
. if defined(WITHOUT_GUI)
PKGNAMESUFFIX= -core
CONFLICTS+= mldonkey-gui-[0.9]*
CONFIGURE_ARGS+=--disable-gui
PLIST_SUB+= CORE="" GUI="@comment " GUICORE="@comment "
CONFLICTS+= mldonkey-core-[0.9]* mldonkey-core-stable-[0.9]* \
mldonkey-devel-[0-9]*
PKGNAMESUFFIX= -core
.else
PLIST_SUB+= GUI=""
CONFLICTS+= mldonkey-gui-[0.9]*
.if !defined(WITHOUT_CORE)
CONFLICTS+= mldonkey-devel-[0-9]*
.endif
. endif # defined(WITHOUT_GUI)
. if defined(WITHOUT_CORE)
PKGNAMESUFFIX= -gui
CONFLICTS+= mldonkey-core-[0.9]*
PLIST_SUB+= CORE="@comment " GUI="" GUICORE="@comment "
. endif # defined(WITHOUT_CORE)
.endif # !(defined(WITHOUT_GUI) || defined(WITHOUT_CORE))
.if !defined(WITHOUT_GUI)
BUILD_DEPENDS+= ${LOCALBASE}/lib/ocaml/lablgtk2/lablrsvg.cma:${PORTSDIR}/x11-toolkits/ocaml-lablgtk2
LIB_DEPENDS+= rsvg-2.2:${PORTSDIR}/graphics/librsvg2
CONFIGURE_ARGS+=--enable-gui=newgui2
# we don't need lablgtk as RUN dependency, but we need gtk+glib
USE_GNOME= gtk20
.endif # !defined(WITHOUT_GUI)
MAKE_ENV+= OCAMLRUNPARAM="l=256M"
.if defined(WITHOUT_CORE)
PKGNAMESUFFIX= -gui
PLIST_SUB+= CORE="@comment " GUICORE="@comment "
.else
PLIST_SUB+= CORE="" GUICORE=""
.endif
.endif
.if defined(WITHOUT_GD)
CONFIGURE_ARGS+=--disable-gd
.elif !defined(WITHOUT_CORE)
.if !defined(WITHOUT_CORE)
USE_RC_SUBR= mlnet
. if !defined(WITHOUT_GD)
LIB_DEPENDS+= gd.4:${PORTSDIR}/graphics/gd
. else
CONFIGURE_ARGS+=--disable-gd
. endif
.endif
DOCFILES= Authors.txt Bugs.txt ChangeLog Developers.txt \

View file

@ -1,3 +1,3 @@
MD5 (mldonkey-2.8.2.tar.bz2) = 123aeb79a3ca91a4943b59f044e98d4a
SHA256 (mldonkey-2.8.2.tar.bz2) = 51efc1c339b8cbafde93f4444f18e4243f41008b1c4107a41602542e9eeaa68e
SIZE (mldonkey-2.8.2.tar.bz2) = 2652074
MD5 (mldonkey-2.8.3.tar.bz2) = 415eec223b97f50e6bbc4126980b3836
SHA256 (mldonkey-2.8.3.tar.bz2) = 454860f3dddd7e72eb97bcb57a7d2aef9b509cf0d989e0dc0c2f5f38b335663f
SIZE (mldonkey-2.8.3.tar.bz2) = 2659818

View file

@ -1,73 +0,0 @@
--- ./src/networks/donkey/donkeyClient.ml.orig Sun Nov 26 14:36:06 2006
+++ ./src/networks/donkey/donkeyClient.ml Sat Feb 10 07:00:40 2007
@@ -442,15 +442,17 @@
let new_chunk up begin_pos end_pos =
if begin_pos <> end_pos then
- let pair = (begin_pos, end_pos) in
- (match up.up_chunks with
- [] ->
+ let chunk = (begin_pos, end_pos) in
+ (* the zone requested is already "in the pipe" *)
+ if not (List.mem chunk up.up_flying_chunks) then
+ match up.up_chunks with
+ | [] ->
up.up_pos <- begin_pos;
up.up_end_chunk <- end_pos;
- up.up_chunks <- [pair];
- | chunks ->
- if not (List.mem pair chunks) then
- up.up_chunks <- chunks @ [pair])
+ up.up_chunks <- [chunk];
+ | up_chunks ->
+ if not (List.mem chunk up_chunks) then
+ up.up_chunks <- up_chunks @ [chunk]
let identify_client_brand c =
if c.client_brand = Brand_unknown then
@@ -2039,13 +2041,21 @@
set_rtimeout sock !!upload_timeout;
let up, waiting = match c.client_upload with
- Some ({ up_file = f } as up) when f == file -> up, up.up_waiting
+ | Some ({ up_file = f } as up) when f == file ->
+ (* zones are received in the order they're sent, so we
+ know that the oldest of the zones "in fly" must have
+ been received when this QueryBlockReq was sent *)
+ (match up.up_flying_chunks with
+ | [] -> ()
+ | _ :: q -> up.up_flying_chunks <- q);
+ up, up.up_waiting
| Some old_up ->
{
up_file = file;
up_pos = Int64.zero;
up_end_chunk = Int64.zero;
up_chunks = [];
+ up_flying_chunks = [];
up_waiting = old_up.up_waiting;
}, old_up.up_waiting
| _ ->
@@ -2054,6 +2064,7 @@
up_pos = Int64.zero;
up_end_chunk = Int64.zero;
up_chunks = [];
+ up_flying_chunks = [];
up_waiting = false;
}, false
in
@@ -2141,12 +2152,12 @@
let init_client sock c =
set_handler sock WRITE_DONE (fun s ->
match c.client_upload with
- None -> ()
- | Some up ->
+ | Some ({ up_chunks = _ :: _ } as up) ->
if not up.up_waiting && !CommonUploads.has_upload = 0 then begin
up.up_waiting <- true;
CommonUploads.ready_for_upload (as_client c)
end
+ | _ -> ()
);
(*
set_handler sock (BASIC_EVENT RTIMEOUT) (fun s ->

View file

@ -1,46 +0,0 @@
--- ./src/networks/donkey/donkeyFiles.ml.orig Tue Nov 21 20:34:10 2006
+++ ./src/networks/donkey/donkeyFiles.ml Sat Feb 10 07:00:40 2007
@@ -123,7 +123,7 @@
(* lprintf "send_client_block\n"; *)
if per_client > 0 && CommonUploads.can_write_len sock max_msg_size then
match c.client_upload with
- | Some ({ up_chunks = _ :: chunks } as up) ->
+ | Some ({ up_chunks = current_chunk :: chunks } as up) ->
if up.up_file.file_shared = None then begin
(* Is there a message to warn that a file is not shared anymore ? *)
c.client_upload <- None;
@@ -134,16 +134,17 @@
if max_len <= msg_block_size_int then
(* last block from chunk *)
begin
+ send_small_block c sock up.up_file up.up_pos max_len;
if !verbose_upload then
lprintf_nl "End of chunk (%d) %Ld %s" max_len up.up_end_chunk (file_best_name up.up_file);
- send_small_block c sock up.up_file up.up_pos max_len;
+ up.up_flying_chunks <- up.up_flying_chunks @ [current_chunk];
up.up_chunks <- chunks;
let per_client = per_client - max_len in
match chunks with
- [] ->
+ | [] ->
if !verbose_upload then
- lprintf_nl "NO CHUNKS";
- c.client_upload <- None;
+ lprintf_nl "NO MORE CHUNKS";
+ up.up_waiting <- false;
| (begin_pos, end_pos) :: _ ->
up.up_pos <- begin_pos;
up.up_end_chunk <- end_pos;
@@ -168,10 +169,10 @@
let size = min max_msg_size size in
send_client_block c sock size;
(match c.client_upload with
- None -> ()
- | Some up ->
+ | Some ({ up_chunks = _ :: _ }) ->
if !CommonUploads.has_upload = 0 then
CommonUploads.ready_for_upload (as_client c)
+ | _ -> ()
)
)
let _ =

View file

@ -1,11 +0,0 @@
--- ./src/networks/donkey/donkeyTypes.ml.orig Sun Nov 26 14:36:06 2006
+++ ./src/networks/donkey/donkeyTypes.ml Sat Feb 10 07:00:40 2007
@@ -602,6 +602,8 @@
mutable up_pos : int64;
mutable up_end_chunk : int64;
mutable up_chunks : (int64 * int64) list;
+ (* zones sent but not yet received by other peer, oldest first *)
+ mutable up_flying_chunks : (int64 * int64) list;
mutable up_waiting : bool;
}