summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authordarealshinji <djcj@gmx.de>2016-04-08 17:25:22 (GMT)
committerdarealshinji <djcj@gmx.de>2016-04-08 17:25:22 (GMT)
commit9ba1b57e4bb9b3c1a0f24130e5eab95b3f688351 (patch)
tree2c67bfa6f230d52420f4e72cfadbdcf3219e012e /src
parentd11555c7602c854d8c9d10826d7d119852b68522 (diff)
downloadmxe-9ba1b57e4bb9b3c1a0f24130e5eab95b3f688351.zip
mxe-9ba1b57e4bb9b3c1a0f24130e5eab95b3f688351.tar.gz
mxe-9ba1b57e4bb9b3c1a0f24130e5eab95b3f688351.tar.bz2
add package djvulibre
Diffstat (limited to 'src')
-rw-r--r--src/djvulibre-1-skip-desktopfiles.patch16
-rw-r--r--src/djvulibre-2-exe-file-extension.patch144
-rw-r--r--src/djvulibre-3-precision.patch93
-rw-r--r--src/djvulibre.mk29
4 files changed, 282 insertions, 0 deletions
diff --git a/src/djvulibre-1-skip-desktopfiles.patch b/src/djvulibre-1-skip-desktopfiles.patch
new file mode 100644
index 0000000..1c6065e
--- /dev/null
+++ b/src/djvulibre-1-skip-desktopfiles.patch
@@ -0,0 +1,16 @@
+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}
+
diff --git a/src/djvulibre-2-exe-file-extension.patch b/src/djvulibre-2-exe-file-extension.patch
new file mode 100644
index 0000000..843c41b
--- /dev/null
+++ b/src/djvulibre-2-exe-file-extension.patch
@@ -0,0 +1,144 @@
+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}
+
diff --git a/src/djvulibre-3-precision.patch b/src/djvulibre-3-precision.patch
new file mode 100644
index 0000000..0d63f2b
--- /dev/null
+++ b/src/djvulibre-3-precision.patch
@@ -0,0 +1,93 @@
+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;
diff --git a/src/djvulibre.mk b/src/djvulibre.mk
new file mode 100644
index 0000000..9003489
--- /dev/null
+++ b/src/djvulibre.mk
@@ -0,0 +1,29 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG := djvulibre
+$(PKG)_IGNORE := 3.5.27
+$(PKG)_VERSION_ := 3.5.25
+$(PKG)_VERSION := $($(PKG)_VERSION_).3
+$(PKG)_CHECKSUM := 898d7ed6dd2fa311a521baa95407a91b20a872d80c45e8245442d64f142cb1e0
+$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION_)
+$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_URL := https://sourceforge.net/projects/djvu/files/DjVuLibre/$($(PKG)_VERSION_)/$($(PKG)_FILE)/download
+$(PKG)_DEPS := gcc jpeg tiff zlib
+
+define $(PKG)_UPDATE
+ $(WGET) -q -O- 'http://sourceforge.net/projects/djvu/files/DjVuLibre/' | \
+ $(SED) -n 's,.*/\([0-9][^A-Za-z"]*\)/".*,\1,p' | \
+ head -1
+endef
+
+define $(PKG)_BUILD
+ cd '$(1)' && CPPFLAGS='-DDLL_EXPORT' ./configure \
+ $(MXE_CONFIGURE_OPTS) \
+ --disable-desktopfiles
+ $(MAKE) -C '$(1)' -j '$(JOBS)'
+ $(MAKE) -C '$(1)' -j 1 install
+endef
+
+$(PKG)_BUILD_SHARED =
+