Merge pull request #1 from LuaAndC/djvulibre5

improvements of djvulibre
This commit is contained in:
darealshinji 2016-04-09 15:16:59 +02:00
commit 330cef19f6
5 changed files with 285 additions and 257 deletions

281
src/djvulibre-1-fixes.patch Normal file
View File

@ -0,0 +1,281 @@
This file is part of MXE.
See index.html for further information.
Contains ad hoc patches for cross building.
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: darealshinji <djcj@gmx.de>
Date: Sat, 9 Apr 2016 12:50:15 +0200
Subject: [PATCH] skip desktopfiles
Desktop files not needed for MXE.
diff --git a/Makefile.in b/Makefile.in
index 1111111..2222222 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -32,7 +32,7 @@ SUBDIRS_FIRST = libdjvu tools
@XML_YES@SUBDIRS_XML = xmltools
@XML_NO@SUBDIRS_XML =
-SUBDIRS_LAST = desktopfiles
+@DESKTOP_YES@SUBDIRS_LAST = desktopfiles
SUBDIRS = ${SUBDIRS_FIRST} ${SUBDIRS_XML} ${SUBDIRS_I18N} ${SUBDIRS_LAST}
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: darealshinji <djcj@gmx.de>
Date: Sat, 9 Apr 2016 12:50:50 +0200
Subject: [PATCH] Add .exe to binary filenames
diff --git a/tools/Makefile.in b/tools/Makefile.in
index 1111111..2222222 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -28,6 +28,8 @@ datadir = @datadir@
libdir = @libdir@
mandir = @mandir@
+EXEEXT = @EXEEXT@
+
CC = @CC@
CXX = @CXX@
RM = @RM@
@@ -60,10 +62,10 @@ CXXFLAGS = ${FLAGS} ${CXXRPOFLAGS} @CPPFLAGS@ @CXXFLAGS@
SUBDIRS = jb2cmp
-PROGRAMS = bzz c44 cjb2 cpaldjvu csepdjvu \
- ddjvu djvm djvmcvt djvudump \
- djvups djvuextract djvumake \
- djvused djvutxt djvuserve
+PROGRAMS = bzz$(EXEEXT) c44$(EXEEXT) cjb2$(EXEEXT) cpaldjvu$(EXEEXT) csepdjvu$(EXEEXT) \
+ ddjvu$(EXEEXT) djvm$(EXEEXT) djvmcvt$(EXEEXT) djvudump$(EXEEXT) \
+ djvups$(EXEEXT) djvuextract$(EXEEXT) djvumake$(EXEEXT) \
+ djvused$(EXEEXT) djvutxt$(EXEEXT) djvuserve$(EXEEXT)
SCRIPTS = djvudigital any2djvu
@@ -117,63 +119,63 @@ annotate: annotate.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} annotate.o ${LIBDJVU} ${LIBS}
-bzz: bzz.o
+bzz$(EXEEXT): bzz.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} bzz.o ${LIBDJVU} ${LIBS}
-c44: c44.o
+c44$(EXEEXT): c44.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} c44.o ${LIBDJVU} ${LIBS}
-cjb2: cjb2.o ${JB2OBJS}
+cjb2$(EXEEXT): cjb2.o ${JB2OBJS}
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} cjb2.o ${JB2OBJS} ${LIBDJVU} ${MORELIBS}
-cpaldjvu: cpaldjvu.o ${JB2OBJS}
+cpaldjvu$(EXEEXT): cpaldjvu.o ${JB2OBJS}
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} cpaldjvu.o ${JB2OBJS} ${LIBDJVU} ${LIBS}
-csepdjvu: csepdjvu.o ${JB2OBJS}
+csepdjvu$(EXEEXT): csepdjvu.o ${JB2OBJS}
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} csepdjvu.o ${JB2OBJS} ${LIBDJVU} ${LIBS}
-ddjvu: ddjvu.o tiff2pdf.o
+ddjvu$(EXEEXT): ddjvu.o tiff2pdf.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} ddjvu.o tiff2pdf.o ${LIBDJVU} ${MORELIBS}
-djvm: djvm.o
+djvm$(EXEEXT): djvm.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvm.o ${LIBDJVU} ${LIBS}
-djvmcvt: djvmcvt.o
+djvmcvt$(EXEEXT): djvmcvt.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvmcvt.o ${LIBDJVU} ${LIBS}
-djvudump: djvudump.o
+djvudump$(EXEEXT): djvudump.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvudump.o ${LIBDJVU} ${LIBS}
-djvups: djvups.o
+djvups$(EXEEXT): djvups.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvups.o ${LIBDJVU} ${LIBS}
-djvuextract: djvuextract.o
+djvuextract$(EXEEXT): djvuextract.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvuextract.o ${LIBDJVU} ${LIBS}
-djvumake: djvumake.o
+djvumake$(EXEEXT): djvumake.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvumake.o ${LIBDJVU} ${LIBS}
-djvused: djvused.o
+djvused$(EXEEXT): djvused.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvused.o ${LIBDJVU} ${LIBS}
-djvutxt: djvutxt.o
+djvutxt$(EXEEXT): djvutxt.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvutxt.o ${LIBDJVU} ${LIBS}
-djvuserve: djvuserve.o
+djvuserve$(EXEEXT): djvuserve.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvuserve.o ${LIBDJVU} ${LIBS}
diff --git a/xmltools/Makefile.in b/xmltools/Makefile.in
index 1111111..2222222 100644
--- a/xmltools/Makefile.in
+++ b/xmltools/Makefile.in
@@ -28,6 +28,8 @@ datadir = @datadir@
libdir = @libdir@
mandir = @mandir@
+EXEEXT = @EXEEXT@
+
CC = @CC@
CXX = @CXX@
RM = @RM@
@@ -55,7 +57,7 @@ LIBS= @LDFLAGS@ @LIBS@
CFLAGS = ${FLAGS} @CPPFLAGS@ @CFLAGS@
CXXFLAGS = ${FLAGS} ${CXXRPOFLAGS} @CPPFLAGS@ @CXXFLAGS@
-PROGRAMS = djvutoxml djvuxmlparser
+PROGRAMS = djvutoxml$(EXEEXT) djvuxmlparser$(EXEEXT)
all: ${PROGRAMS} djvuxml.1
@@ -97,11 +99,11 @@ djvuxml.1: ${srcdir}/djvuxml.1.in
sed < ${srcdir}/djvuxml.1.in > djvuxml.1 \
-e 's,DATADIR,${datadir},'
-djvutoxml: djvutoxml.o
+djvutoxml$(EXEEXT): djvutoxml.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvutoxml.o ${LIBDJVU} ${LIBS}
-djvuxmlparser: djvuxmlparser.o
+djvuxmlparser$(EXEEXT): djvuxmlparser.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvuxmlparser.o ${LIBDJVU} ${LIBS}
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: darealshinji <djcj@gmx.de>
Date: Sat, 9 Apr 2016 12:52:55 +0200
Subject: [PATCH] precision
Source: https://github.com/msys2/MINGW-packages/tree/master/mingw-w64-djvulibre
diff --git a/libdjvu/DjVuPort.cpp b/libdjvu/DjVuPort.cpp
index 1111111..2222222 100644
--- a/libdjvu/DjVuPort.cpp
+++ b/libdjvu/DjVuPort.cpp
@@ -466,11 +466,11 @@ DjVuPortcaster::compute_closure(const DjVuPort * src, GPList<DjVuPort> &list, bo
// Sort in depth order
int max_dist=0;
for(pos=set;pos;++pos)
- if (max_dist < (int)(long)set[pos])
- max_dist = (int)(long)set[pos];
+ if (max_dist < (int)(size_t)set[pos])
+ max_dist = (int)(size_t)set[pos];
GArray<GList<const void*> > lists(0,max_dist);
for(pos=set;pos;++pos)
- lists[(int)(long)set[pos]].append(set.key(pos));
+ lists[(int)(size_t)set[pos]].append(set.key(pos));
for(int dist=0;dist<=max_dist;dist++)
for(pos=lists[dist];pos;++pos)
{
diff --git a/libdjvu/GBitmap.cpp b/libdjvu/GBitmap.cpp
index 1111111..2222222 100644
--- a/libdjvu/GBitmap.cpp
+++ b/libdjvu/GBitmap.cpp
@@ -469,7 +469,7 @@ GBitmap::share()
{
if (!monitorptr)
{
- unsigned long x = (unsigned long)this;
+ size_t x = (size_t)this;
monitorptr = &monitors[(x^(x>>5)) % NMONITORS];
}
}
diff --git a/libdjvu/GContainer.h b/libdjvu/GContainer.h
index 1111111..2222222 100644
--- a/libdjvu/GContainer.h
+++ b/libdjvu/GContainer.h
@@ -178,7 +178,7 @@ hash(const unsigned long & x)
static inline unsigned int
hash(const void * const & x)
{
- return (unsigned long) x;
+ return (unsigned long)((size_t) x);
}
/** Hashing function (float). */
diff --git a/libdjvu/IW44EncodeCodec.cpp b/libdjvu/IW44EncodeCodec.cpp
index 1111111..2222222 100644
--- a/libdjvu/IW44EncodeCodec.cpp
+++ b/libdjvu/IW44EncodeCodec.cpp
@@ -310,7 +310,7 @@ static const int d16[] = {16,16};
static inline void
mmx_fv_1 ( short* &q, short* e, int s, int s3 )
{
- while (q<e && (((long)q)&0x7))
+ while (q<e && (((intptr_t)q)&0x7))
{
int a = (int)q[-s] + (int)q[s];
int b = (int)q[-s3] + (int)q[s3];
@@ -353,7 +353,7 @@ mmx_fv_1 ( short* &q, short* e, int s, int s3 )
static inline void
mmx_fv_2 ( short* &q, short* e, int s, int s3 )
{
- while (q<e && (((long)q)&0x7))
+ while (q<e && (((intptr_t)q)&0x7))
{
int a = (int)q[-s] + (int)q[s];
int b = (int)q[-s3] + (int)q[s3];
diff --git a/libdjvu/IW44Image.cpp b/libdjvu/IW44Image.cpp
index 1111111..2222222 100644
--- a/libdjvu/IW44Image.cpp
+++ b/libdjvu/IW44Image.cpp
@@ -167,7 +167,7 @@ static const int d16[] = {16,16};
static void
mmx_bv_1 ( short* &q, short* e, int s, int s3 )
{
- while (q<e && (((long)q)&0x7))
+ while (q<e && (((intptr_t)q)&0x7))
{
int a = (int)q[-s] + (int)q[s];
int b = (int)q[-s3] + (int)q[s3];
@@ -211,7 +211,7 @@ mmx_bv_1 ( short* &q, short* e, int s, int s3 )
static void
mmx_bv_2 ( short* &q, short* e, int s, int s3 )
{
- while (q<e && (((long)q)&0x7))
+ while (q<e && (((intptr_t)q)&0x7))
{
int a = (int)q[-s] + (int)q[s];
int b = (int)q[-s3] + (int)q[s3];
@@ -649,7 +649,7 @@ IW44Image::Map::allocp(int n)
// Allocate enough room for pointers plus alignment
short *p = alloc( (n+1) * sizeof(short*) / sizeof(short) );
// Align on pointer size
- while ( ((long)p) & (sizeof(short*)-1) )
+ while ( ((size_t)p) & (sizeof(short*)-1) )
p += 1;
// Cast and return
return (short**)p;

View File

@ -1,16 +0,0 @@
This file is part of MXE.
See index.html for further information.
Desktop files not needed for MXE.
--- a/Makefile.in
+++ b/Makefile.in
@@ -32,7 +32,7 @@
@XML_YES@SUBDIRS_XML = xmltools
@XML_NO@SUBDIRS_XML =
-SUBDIRS_LAST = desktopfiles
+@DESKTOP_YES@SUBDIRS_LAST = desktopfiles
SUBDIRS = ${SUBDIRS_FIRST} ${SUBDIRS_XML} ${SUBDIRS_I18N} ${SUBDIRS_LAST}

View File

@ -1,144 +0,0 @@
This file is part of MXE.
See index.html for further information.
Add .exe to binary filenames.
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -28,6 +28,8 @@
libdir = @libdir@
mandir = @mandir@
+EXEEXT = @EXEEXT@
+
CC = @CC@
CXX = @CXX@
RM = @RM@
@@ -60,10 +62,10 @@
SUBDIRS = jb2cmp
-PROGRAMS = bzz c44 cjb2 cpaldjvu csepdjvu \
- ddjvu djvm djvmcvt djvudump \
- djvups djvuextract djvumake \
- djvused djvutxt djvuserve
+PROGRAMS = bzz$(EXEEXT) c44$(EXEEXT) cjb2$(EXEEXT) cpaldjvu$(EXEEXT) csepdjvu$(EXEEXT) \
+ ddjvu$(EXEEXT) djvm$(EXEEXT) djvmcvt$(EXEEXT) djvudump$(EXEEXT) \
+ djvups$(EXEEXT) djvuextract$(EXEEXT) djvumake$(EXEEXT) \
+ djvused$(EXEEXT) djvutxt$(EXEEXT) djvuserve$(EXEEXT)
SCRIPTS = djvudigital any2djvu
@@ -117,63 +119,63 @@
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} annotate.o ${LIBDJVU} ${LIBS}
-bzz: bzz.o
+bzz$(EXEEXT): bzz.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} bzz.o ${LIBDJVU} ${LIBS}
-c44: c44.o
+c44$(EXEEXT): c44.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} c44.o ${LIBDJVU} ${LIBS}
-cjb2: cjb2.o ${JB2OBJS}
+cjb2$(EXEEXT): cjb2.o ${JB2OBJS}
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} cjb2.o ${JB2OBJS} ${LIBDJVU} ${MORELIBS}
-cpaldjvu: cpaldjvu.o ${JB2OBJS}
+cpaldjvu$(EXEEXT): cpaldjvu.o ${JB2OBJS}
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} cpaldjvu.o ${JB2OBJS} ${LIBDJVU} ${LIBS}
-csepdjvu: csepdjvu.o ${JB2OBJS}
+csepdjvu$(EXEEXT): csepdjvu.o ${JB2OBJS}
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} csepdjvu.o ${JB2OBJS} ${LIBDJVU} ${LIBS}
-ddjvu: ddjvu.o tiff2pdf.o
+ddjvu$(EXEEXT): ddjvu.o tiff2pdf.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} ddjvu.o tiff2pdf.o ${LIBDJVU} ${MORELIBS}
-djvm: djvm.o
+djvm$(EXEEXT): djvm.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvm.o ${LIBDJVU} ${LIBS}
-djvmcvt: djvmcvt.o
+djvmcvt$(EXEEXT): djvmcvt.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvmcvt.o ${LIBDJVU} ${LIBS}
-djvudump: djvudump.o
+djvudump$(EXEEXT): djvudump.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvudump.o ${LIBDJVU} ${LIBS}
-djvups: djvups.o
+djvups$(EXEEXT): djvups.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvups.o ${LIBDJVU} ${LIBS}
-djvuextract: djvuextract.o
+djvuextract$(EXEEXT): djvuextract.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvuextract.o ${LIBDJVU} ${LIBS}
-djvumake: djvumake.o
+djvumake$(EXEEXT): djvumake.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvumake.o ${LIBDJVU} ${LIBS}
-djvused: djvused.o
+djvused$(EXEEXT): djvused.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvused.o ${LIBDJVU} ${LIBS}
-djvutxt: djvutxt.o
+djvutxt$(EXEEXT): djvutxt.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvutxt.o ${LIBDJVU} ${LIBS}
-djvuserve: djvuserve.o
+djvuserve$(EXEEXT): djvuserve.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvuserve.o ${LIBDJVU} ${LIBS}
--- a/xmltools/Makefile.in
+++ b/xmltools/Makefile.in
@@ -28,6 +28,8 @@
libdir = @libdir@
mandir = @mandir@
+EXEEXT = @EXEEXT@
+
CC = @CC@
CXX = @CXX@
RM = @RM@
@@ -55,7 +57,7 @@
CFLAGS = ${FLAGS} @CPPFLAGS@ @CFLAGS@
CXXFLAGS = ${FLAGS} ${CXXRPOFLAGS} @CPPFLAGS@ @CXXFLAGS@
-PROGRAMS = djvutoxml djvuxmlparser
+PROGRAMS = djvutoxml$(EXEEXT) djvuxmlparser$(EXEEXT)
all: ${PROGRAMS} djvuxml.1
@@ -97,11 +99,11 @@
sed < ${srcdir}/djvuxml.1.in > djvuxml.1 \
-e 's,DATADIR,${datadir},'
-djvutoxml: djvutoxml.o
+djvutoxml$(EXEEXT): djvutoxml.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvutoxml.o ${LIBDJVU} ${LIBS}
-djvuxmlparser: djvuxmlparser.o
+djvuxmlparser$(EXEEXT): djvuxmlparser.o
${LIBTOOL} --mode=link \
${CXX} -o $@ ${CXXFLAGS} djvuxmlparser.o ${LIBDJVU} ${LIBS}

View File

@ -1,93 +0,0 @@
This file is part of MXE.
See index.html for further information.
Source: https://github.com/msys2/MINGW-packages/tree/master/mingw-w64-djvulibre
--- a/libdjvu/DjVuPort.cpp
+++ b/libdjvu/DjVuPort.cpp
@@ -466,11 +466,11 @@
// Sort in depth order
int max_dist=0;
for(pos=set;pos;++pos)
- if (max_dist < (int)(long)set[pos])
- max_dist = (int)(long)set[pos];
+ if (max_dist < (int)(size_t)set[pos])
+ max_dist = (int)(size_t)set[pos];
GArray<GList<const void*> > lists(0,max_dist);
for(pos=set;pos;++pos)
- lists[(int)(long)set[pos]].append(set.key(pos));
+ lists[(int)(size_t)set[pos]].append(set.key(pos));
for(int dist=0;dist<=max_dist;dist++)
for(pos=lists[dist];pos;++pos)
{
--- a/libdjvu/GBitmap.cpp
+++ b/libdjvu/GBitmap.cpp
@@ -469,7 +469,7 @@
{
if (!monitorptr)
{
- unsigned long x = (unsigned long)this;
+ size_t x = (size_t)this;
monitorptr = &monitors[(x^(x>>5)) % NMONITORS];
}
}
--- a/libdjvu/GContainer.h
+++ b/libdjvu/GContainer.h
@@ -178,7 +178,7 @@
static inline unsigned int
hash(const void * const & x)
{
- return (unsigned long) x;
+ return (unsigned long)((size_t) x);
}
/** Hashing function (float). */
--- a/libdjvu/IW44EncodeCodec.cpp
+++ b/libdjvu/IW44EncodeCodec.cpp
@@ -310,7 +310,7 @@
static inline void
mmx_fv_1 ( short* &q, short* e, int s, int s3 )
{
- while (q<e && (((long)q)&0x7))
+ while (q<e && (((intptr_t)q)&0x7))
{
int a = (int)q[-s] + (int)q[s];
int b = (int)q[-s3] + (int)q[s3];
@@ -353,7 +353,7 @@
static inline void
mmx_fv_2 ( short* &q, short* e, int s, int s3 )
{
- while (q<e && (((long)q)&0x7))
+ while (q<e && (((intptr_t)q)&0x7))
{
int a = (int)q[-s] + (int)q[s];
int b = (int)q[-s3] + (int)q[s3];
--- a/libdjvu/IW44Image.cpp
+++ b/libdjvu/IW44Image.cpp
@@ -167,7 +167,7 @@
static void
mmx_bv_1 ( short* &q, short* e, int s, int s3 )
{
- while (q<e && (((long)q)&0x7))
+ while (q<e && (((intptr_t)q)&0x7))
{
int a = (int)q[-s] + (int)q[s];
int b = (int)q[-s3] + (int)q[s3];
@@ -211,7 +211,7 @@
static void
mmx_bv_2 ( short* &q, short* e, int s, int s3 )
{
- while (q<e && (((long)q)&0x7))
+ while (q<e && (((intptr_t)q)&0x7))
{
int a = (int)q[-s] + (int)q[s];
int b = (int)q[-s3] + (int)q[s3];
@@ -649,7 +649,7 @@
// Allocate enough room for pointers plus alignment
short *p = alloc( (n+1) * sizeof(short*) / sizeof(short) );
// Align on pointer size
- while ( ((long)p) & (sizeof(short*)-1) )
+ while ( ((size_t)p) & (sizeof(short*)-1) )
p += 1;
// Cast and return
return (short**)p;

View File

@ -3,12 +3,12 @@
PKG := djvulibre
$(PKG)_IGNORE := 3.5.27
$(PKG)_VERSION_ := 3.5.25
$(PKG)_VERSION := $($(PKG)_VERSION_).3
$(PKG)_SHORTVER := 3.5.25
$(PKG)_VERSION := $($(PKG)_SHORTVER).3
$(PKG)_CHECKSUM := 898d7ed6dd2fa311a521baa95407a91b20a872d80c45e8245442d64f142cb1e0
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION_)
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_SHORTVER)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz
$(PKG)_URL := https://sourceforge.net/projects/djvu/files/DjVuLibre/$($(PKG)_VERSION_)/$($(PKG)_FILE)/download
$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/djvu/DjVuLibre/$($(PKG)_SHORTVER)/$($(PKG)_FILE)
$(PKG)_DEPS := gcc jpeg tiff zlib
define $(PKG)_UPDATE