summaryrefslogtreecommitdiff
path: root/community/mldonkey
diff options
context:
space:
mode:
Diffstat (limited to 'community/mldonkey')
-rw-r--r--community/mldonkey/PKGBUILD24
-rw-r--r--community/mldonkey/fix_compile_error.patch254
-rw-r--r--community/mldonkey/gd_version.patch40
-rw-r--r--community/mldonkey/mldonkey.install4
4 files changed, 269 insertions, 53 deletions
diff --git a/community/mldonkey/PKGBUILD b/community/mldonkey/PKGBUILD
index 2b64d7515..e6caa2fed 100644
--- a/community/mldonkey/PKGBUILD
+++ b/community/mldonkey/PKGBUILD
@@ -1,14 +1,14 @@
-# $Id: PKGBUILD 106068 2014-02-21 22:30:45Z anatolik $
+# $Id: PKGBUILD 107047 2014-03-11 19:32:25Z anatolik $
# Maintainer: Anatol Pomozov <anatol.pomozov@gmail.com>
pkgname=mldonkey
-pkgver=3.1.3
-pkgrel=3
+pkgver=3.1.4
+pkgrel=1
pkgdesc='A multi-network P2P client'
arch=(i686 x86_64)
url='http://mldonkey.sourceforge.net/'
license=(GPL)
-depends=(desktop-file-utils file gd)
+depends=(file gd)
makedepends=(lablgtk2 librsvg ocaml)
optdepends=('librsvg: GUI support'
'gtk2: GUI support')
@@ -18,16 +18,18 @@ source=(http://downloads.sourceforge.net/sourceforge/mldonkey/$pkgname-$pkgver.t
mldonkey.conf
mldonkey.service
mldonkey.tmpfiles
- gd_version.patch)
-sha1sums=('424386f277e84df55a2cbab213fae60787e42c8b'
- '7e70e5f3c7bf5036debde4dacbed463c0464a1e7'
- 'd6886479cf36fbee0a62def0291706973c91dfa5'
- 'a454b919fac518ecb32f6262afbef0dfc423401c'
- '18c4a0753d338bf24cac28dcbd43abcf59ce4534')
+ fix_compile_error.patch)
+sha256sums=('1e454be51fec346d650a72049e4dc4471036d129a488443a67436af62ef375fe'
+ 'f1d9401cefd591662d49011c53fdb2788755a6f745a963e46d8037b990edeb6a'
+ '778cebe8edcffd63db3594054c2daa62ce571644a96ad235b8c95470b55c0415'
+ '45f45d2a3c064d5bbc0b6b9b70fa3497ed47cfecdd1ec52e175311f48eaa89dc'
+ '172d1b129a068caafcb1e48c861b4b78b129b4ba50bb5e692b61cf00dcc66215')
prepare() {
cd mldonkey-$pkgver
- patch -p0 < "$srcdir/gd_version.patch" # a fix from upstream http://cvs.savannah.gnu.org/viewvc/mldonkey/config/configure.in?root=mldonkey&r1=1.357&r2=1.358&view=patch
+
+ # http://mldonkey.sourceforge.net/phpBB2/viewtopic.php?p=32462#32462
+ patch -p1 < "$srcdir/fix_compile_error.patch"
rm config/configure # remove this file to force its regeneration, we've just changed ./config/configure.in
}
diff --git a/community/mldonkey/fix_compile_error.patch b/community/mldonkey/fix_compile_error.patch
new file mode 100644
index 000000000..fe83aee11
--- /dev/null
+++ b/community/mldonkey/fix_compile_error.patch
@@ -0,0 +1,254 @@
+commit 64cf1e7eabf3087c111b54d7df490c5763d0546b
+Author: ygrek <ygrek@autistici.org>
+Date: Tue Mar 11 16:15:09 2014 +0800
+
+ Revert "gettext: reduce complexity, drop unused code"
+
+ This reverts commit 6a094b4381dacdc9043c8348002179eb87846e16.
+ "Unused" code is actually used in gui
+
+ Conflicts:
+ src/utils/lib/gettext.ml4
+
+diff --git a/src/daemon/common/commonMessages.ml b/src/daemon/common/commonMessages.ml
+index ebae333..0cffed2 100644
+--- a/src/daemon/common/commonMessages.ml
++++ b/src/daemon/common/commonMessages.ml
+@@ -1399,9 +1399,11 @@ let bad_login = _s "Bad login/password"
+
+ let full_access = _s "Full access enabled"
+
+-let download_started n = _s (Printf.sprintf "Download of file %d started<br>" n)
++let download_started = message "download_started"
++ (T.boption (T.int T.bformat)) "Download of file %d started<br>"
+
+-let no_such_command s = _s (Printf.sprintf "No such command %s\n" s)
++let no_such_command = message "no_such_command"
++ (T.boption (T.string T.bformat)) "No such command %s\n"
+
+ let bad_number_of_args cmd help = _s (Printf.sprintf "Bad number of arguments, see help for correct use:\n%s %s" cmd help)
+
+diff --git a/src/daemon/driver/driverCommands.ml b/src/daemon/driver/driverCommands.ml
+index 6085073..c24be04 100644
+--- a/src/daemon/driver/driverCommands.ml
++++ b/src/daemon/driver/driverCommands.ml
+@@ -87,7 +87,7 @@ let execute_command arg_list output cmd args =
+ let rec iter list =
+ match list with
+ [] ->
+- Buffer.add_string buf (no_such_command cmd)
++ Gettext.buftext buf no_such_command cmd
+ | (command, _, arg_kind, help) :: tail ->
+ if command = cmd then begin
+ if !verbose_user_commands && not (user2_is_admin output.conn_user.ui_user) then
+diff --git a/src/daemon/driver/driverControlers.ml b/src/daemon/driver/driverControlers.ml
+index e07ba77..69a1751 100644
+--- a/src/daemon/driver/driverControlers.ml
++++ b/src/daemon/driver/driverControlers.ml
+@@ -1296,7 +1296,7 @@ let http_handler o t r =
+ List.iter CommonInteractive.start_download files;
+
+ let module M = CommonMessages in
+- Buffer.add_string buf (M.download_started num)
++ Gettext.buftext buf M.download_started num
+ with e ->
+ Printf.bprintf buf "Error %s with %s<br>"
+ (Printexc2.to_string e) value;
+diff --git a/src/utils/lib/gettext.ml4 b/src/utils/lib/gettext.ml4
+index 91a9fbb..fcfe50d 100644
+--- a/src/utils/lib/gettext.ml4
++++ b/src/utils/lib/gettext.ml4
+@@ -29,15 +29,15 @@ let lprintf_n fmt =
+ lprintf2 log_prefix fmt
+
+ type expected_types =
+-| Type_int
++ Type_int
+ | Type_char
+ | Type_string
+-| Type_float
++| Type_float
+ | Type_bool
+ | Type_int32
+ | Type_int64
+ | Type_nativeint
+-
++
+ let ty_arrow x y = x :: y
+
+ (* Taken from ocaml-3.04, typing/typecore.ml *)
+@@ -135,6 +135,81 @@ let type_format fmt =
+ bad_format i j
+ in
+ scan_format 0
++
++type 'a variable
++type 'a arrow
++
++
++let arrow_add_variable
++ (x : 'a variable)
++ (y : 'b arrow) =
++ let x = Obj.magic x in
++ let y = Obj.magic y in
++ (Obj.magic (x :: y) : ('a -> 'b) arrow)
++
++
++
++open Options
++
++let value_to_text (expected_type : 'a arrow) v =
++ let s = value_to_string v in
++ let expected_type = Obj.magic expected_type in
++ let format_type = type_format s in
++ if format_type = expected_type then
++ (Obj.magic s : ('a, unit, string) format) else
++ failwith "Bad format"
++
++let text_to_value v =
++ let v = Obj.magic v in
++ string_to_value v
++
++let text_option (expected_type : 'a arrow)
++ =
++ define_option_class "Text"
++ (value_to_text expected_type)
++ text_to_value
++
++let gettext v = Printf.sprintf !!v
++
++let buftext buf (v : ('a, Buffer.t, unit) format Options.option_record) =
++ Printf.bprintf buf !!v
++
++module T = struct
++ let int x = arrow_add_variable (Obj.magic Type_int : int variable) x
++ let char x = arrow_add_variable (Obj.magic Type_char : char variable) x
++ let string x = arrow_add_variable (Obj.magic Type_string : string variable) x
++ let float x = arrow_add_variable (Obj.magic Type_float : float variable) x
++ let bool x = arrow_add_variable (Obj.magic Type_bool : bool variable) x
++ let int32 x = arrow_add_variable (Obj.magic Type_int32 : int32 variable) x
++ let int64 x = arrow_add_variable (Obj.magic Type_int64 : int64 variable) x
++ let nativeint x = arrow_add_variable (Obj.magic Type_nativeint : nativeint variable) x
++ let format = (Obj.magic [] : string arrow)
++ let bformat = (Obj.magic [] : unit arrow)
++ let option = text_option
++ let boption x = (Obj.magic text_option) x
++ end
++
++
++(********* Some tests ************)
++
++(*
++let option_file = create_options_file "test.ini"
++
++let nshared = define_option option_file
++ ["nshared"] "Text for Nshared option"
++ (text_option
++ (T.int (T.int32 T.format)))
++ "Shared: %d/%ld"
++
++let _ =
++ try
++ load option_file
++ with Sys_error _ ->
++ save_with_help option_file
++
++let _ =
++ lprint_string (Printf.sprintf !! nshared 23 (Int32.one));
++ *)
+
+ type 'a _string = {
+ name : string;
+@@ -208,6 +283,14 @@ let translate modname s t =
+ save_strings_file := true;
+ !translation.(m.index) <- t
+ end
++(*
++ let x =
++ let y = (Obj.magic x : string) in
++ Obj.magic (register y : string message)
++
++ let s_ x = register x
++*)
++
+
+ let verify index translated =
+ let index_type = type_format !default.(index) in
+@@ -222,8 +305,8 @@ let verify index translated =
+ false
+ end
+
+-let ss_ : string -> string -> string _string = register
+-let _ss : string _string -> string = fun m ->
++let ss_ modname (x : string) = register modname x
++let _ss m =
+ let index = m.index in
+ !requests.(index) <- !requests.(index) + 1;
+ let translation = !translation.(index) in
+@@ -251,7 +334,8 @@ let _bb : ('a, 'b, 'c, 'd) format4 _string -> ('a, 'b, 'c, 'd) format4 = fun m -
+ Obj.magic s
+
+ let _b modname x = _bb (bb_ modname x)
+-
++
++
+ let save_strings () =
+ match !strings_file with
+ None -> ()
+diff --git a/src/utils/lib/gettext.mli b/src/utils/lib/gettext.mli
+index 6ac31be..2370881 100644
+--- a/src/utils/lib/gettext.mli
++++ b/src/utils/lib/gettext.mli
+@@ -17,7 +17,52 @@
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *)
+
++open Autoconf
++
++type 'a variable
++type 'a arrow
++
++val text_option : 'a arrow ->
++ ('a, unit, string) format Options.option_class
++
++(*
++let nshared =
++ (arrow_variable int_variable int32_variable)
++ "Shared: %d/%ld"
++ *)
++
++val save_strings : unit -> unit
+ val set_strings_file : string -> unit
+
+ val _b : string -> ('a, 'b, 'c, 'd) format4 -> ('a, 'b, 'c, 'd) format4
+ val _s : string -> string -> string
++
++type 'a _string
++
++val bb_ : string -> ('a, 'b, 'c) format -> ('a, 'b, 'c) format _string
++val _bb : ('a, 'b, 'c) format _string -> ('a, 'b, 'c) format
++
++val ss_ : string -> string -> string _string
++val _ss : string _string -> string
++
++
++module T :
++ sig
++ val int : 'b arrow -> (int -> 'b) arrow
++ val char : 'b arrow -> (char -> 'b) arrow
++ val string : 'b arrow -> (string -> 'b) arrow
++ val float : 'b arrow -> (float -> 'b) arrow
++ val bool : 'b arrow -> (bool -> 'b) arrow
++ val int32 : 'b arrow -> (int32 -> 'b) arrow
++ val int64 : 'b arrow -> (int64 -> 'b) arrow
++ val nativeint : 'b arrow -> (nativeint -> 'b) arrow
++ val format : string arrow
++ val bformat : unit arrow
++ val option : 'a arrow ->
++ ('a, unit, string) format Options.option_class
++ val boption : 'a arrow ->
++ ('a, Buffer.t, unit) format Options.option_class
++ end
++
++val gettext : ('a, unit, string) format Options.option_record -> 'a
++val buftext : Buffer.t -> ('a, Buffer.t, unit) format Options.option_record -> 'a
diff --git a/community/mldonkey/gd_version.patch b/community/mldonkey/gd_version.patch
deleted file mode 100644
index 666bd2c71..000000000
--- a/community/mldonkey/gd_version.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- config/configure.in 2013/07/07 11:46:34 1.357
-+++ config/configure.in 2013/07/20 10:14:57 1.358
-@@ -932,13 +932,30 @@
- GDMAJORVERSION=`$GDLIBCONFIG --majorversion`
- GDMINORVERSION=`$GDLIBCONFIG --minorversion`
- GDREVISION=`$GDLIBCONFIG --revision`
-- if [ [ $GDMAJORVERSION = 2 ] && [ $GDMINORVERSION = 0 ] && [ $GDREVISION -gt 14 ]]; then
-- AC_MSG_RESULT($GDVERSION)
-- LIBGD=yes
-- else
-- AC_MSG_RESULT(no (found $GDVERSION))
-- LIBGD=no
-- fi
-+ case $GDMAJORVERSION in
-+ 1)
-+ AC_MSG_RESULT(no (found $GDVERSION))
-+ LIBGD=no
-+ ;;
-+ 2)
-+ if test $GDMINORVERSION -ge 1; then
-+ AC_MSG_RESULT($GDVERSION)
-+ LIBGD=yes
-+ else
-+ if test $GDREVISION -gt 14; then
-+ AC_MSG_RESULT($GDVERSION)
-+ LIBGD=yes
-+ else
-+ AC_MSG_RESULT(no (found $GDVERSION))
-+ LIBGD=no
-+ fi
-+ fi
-+ ;;
-+ *)
-+ AC_MSG_RESULT($GDVERSION)
-+ LIBGD=yes
-+ ;;
-+ esac
- else
- LIBGD=yes
- fi
diff --git a/community/mldonkey/mldonkey.install b/community/mldonkey/mldonkey.install
index 68186f0be..58ae4934c 100644
--- a/community/mldonkey/mldonkey.install
+++ b/community/mldonkey/mldonkey.install
@@ -8,7 +8,7 @@ post_install() {
mkdir -p /var/lib/mldonkey
chown mldonkey:mldonkey /var/lib/mldonkey
- update-desktop-database -q
+ type -P update-desktop-database >/dev/null && update-desktop-database -q
}
post_upgrade() {
@@ -23,5 +23,5 @@ post_remove() {
groupdel mldonkey
fi
- update-desktop-database -q
+ type -P update-desktop-database >/dev/null && update-desktop-database -q
}