jbigkit:v.bump

This commit is contained in:
alihanozturk
2017-01-25 23:27:40 +03:00
parent 090510d7e0
commit 2d4a13820a
5 changed files with 254 additions and 192 deletions
+7 -4
View File
@@ -8,16 +8,19 @@ from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import get
WorkDir="jbigkit"
def build():
autotools.make("CC=%s CFLAGS='%s'" % (get.CC(), get.CFLAGS()))
def check():
autotools.make("test")
autotools.make("-j1 test")
def install():
autotools.rawInstall("DESTDIR=%s prefix=/usr libdir=/usr/lib" % get.installDIR())
pisitools.insinto("/usr/include/", "libjbig/jbig*.h")
pisitools.insinto("/usr/lib/", "libjbig/libjbig*.so")
pisitools.insinto("/usr/bin/", "pbmtools/jbgtopbm")
pisitools.insinto("/usr/bin/", "pbmtools/pbmtojbg")
pisitools.insinto("/usr/bin/", "pbmtools/jbgtopbm85")
pisitools.insinto("/usr/bin/", "pbmtools/pbmtojbg85")
pisitools.doman("pbmtools/jbgtopbm.1", "pbmtools/pbmtojbg.1")
pisitools.dodoc("ANNOUNCE", "CHANGES", "COPYING", "TODO")
@@ -1,186 +0,0 @@
diff -Naur jbigkit/libjbig/Makefile jbigkit.oden/libjbig/Makefile
--- jbigkit/libjbig/Makefile 2008-08-30 19:20:52.000000000 +0200
+++ jbigkit.oden/libjbig/Makefile 2009-01-31 20:12:02.000000000 +0100
@@ -3,27 +3,51 @@
# Select an ANSI/ISO C compiler here, GNU gcc is recommended
CC = gcc
+CFLAGS = -g -O2 -Wall -ansi -pedantic -fPIC # --coverage
+LDFLAGS =
-# Options for the compiler: A high optimization level is suggested
-CFLAGS = -g -O -Wall -ansi -pedantic # --coverage
-
-all: libjbig.a tstcodec tstcodec85
-
-tstcodec: tstcodec.o jbig.o jbig_ar.o
- $(CC) $(CFLAGS) -o tstcodec $+
-
-tstcodec85: tstcodec85.o jbig85.o jbig_ar.o
- $(CC) $(CFLAGS) -o tstcodec85 $+
-
-libjbig.a: jbig.o jbig_ar.o
- rm -f libjbig.a
- ar rc libjbig.a jbig.o jbig_ar.o
- -ranlib libjbig.a
-
-libjbig85.a: jbig85.o jbig_ar.o
- rm -f libjbig85.a
- ar rc libjbig85.a jbig85.o jbig_ar.o
- -ranlib libjbig85.a
+prefix=/usr/local
+libdir=$(prefix)/lib
+includedir=$(prefix)/include
+bindir=$(prefix)/bin
+mandir=$(prefix)/share/man
+
+LT_CURRENT=1
+LT_REVISION=0
+LT_AGE=0
+
+all: libjbig.la libjbig85.la tstcodec tstcodec85
+
+tstcodec: tstcodec.o libjbig.la
+ libtool --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) \
+ -o tstcodec tstcodec.o libjbig.la
+
+tstcodec85: tstcodec85.o libjbig85.la
+ libtool --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) \
+ -o tstcodec85 tstcodec85.o libjbig85.la
+
+%.lo: %.c
+ libtool --mode=compile --tag=CC $(CC) $(CFLAGS) -c $*.c
+
+libjbig.la: jbig.lo jbig_ar.lo
+ libtool --mode=link --tag=CC $(CC) $(LDFLAGS) \
+ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
+ -o libjbig.la jbig.lo jbig_ar.lo -rpath $(libdir)
+
+libjbig85.la: jbig85.lo jbig_ar.lo
+ libtool --mode=link --tag=CC $(CC) $(LDFLAGS) \
+ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
+ -o libjbig85.la jbig85.lo jbig_ar.lo -rpath $(libdir)
+
+jbig.lo: jbig.c jbig.h
+jbig85.lo: jbig85.c jbig.h
+
+install:
+ install -m0755 -d $(DESTDIR)$(libdir)
+ install -m0755 -d $(DESTDIR)$(includedir)
+ libtool --mode=install install libjbig.la $(DESTDIR)$(libdir)
+ libtool --mode=install install libjbig85.la $(DESTDIR)$(libdir)
+ install -m0644 jbig85.h jbig_ar.h jbig.h $(DESTDIR)$(includedir)
jbig.o: jbig.c jbig.h jbig_ar.h
jbig85.o: jbig85.c jbig85.h jbig_ar.h
@@ -46,3 +70,5 @@
clean:
rm -f *.{o,gcda,gcno,gcov} *~ core gmon.out dbg_d\=??.pbm t82test.pbm
rm -f tstcodec tstcodec85
+ rm -rf .libs
+ rm -f *.*o *.*a
diff -Naur jbigkit/Makefile jbigkit.oden/Makefile
--- jbigkit/Makefile 2008-08-30 22:40:22.000000000 +0200
+++ jbigkit.oden/Makefile 2009-01-31 20:11:24.000000000 +0100
@@ -10,8 +10,6 @@
CFLAGS = $(CCFLAGS) -I../libjbig
-VERSION=2.0
-
all: lib pbm
@echo "Enter 'make test' in order to start some automatic tests."
@@ -25,6 +23,10 @@
(cd libjbig; make "CC=$(CC)" "CFLAGS=$(CFLAGS)" test)
(cd pbmtools; make "CC=$(CC)" "CFLAGS=$(CFLAGS)" test)
+install:
+ make -C libjbig install
+ make -C pbmtools install
+
clean:
rm -f *~ core
(cd libjbig; make clean)
diff -Naur jbigkit/pbmtools/Makefile jbigkit.oden/pbmtools/Makefile
--- jbigkit/pbmtools/Makefile 2008-08-26 00:26:39.000000000 +0200
+++ jbigkit.oden/pbmtools/Makefile 2009-01-31 20:11:24.000000000 +0100
@@ -5,37 +5,50 @@
CC = gcc
# Options for the compiler
-CFLAGS = -g -Wall -ansi -pedantic -I../libjbig # --coverage
+CFLAGS = -g -Wall -ansi -pedantic -fPIC # --coverage
+CPPFLAGS = -I../libjbig
+LDFLAGS =
+
+prefix=/usr/local
+libdir=$(prefix)/lib
+includedir=$(prefix)/include
+bindir=$(prefix)/bin
+mandir=$(prefix)/share/man
.SUFFIXES: .1 .5 .txt $(SUFFIXES)
all: pbmtojbg jbgtopbm pbmtojbg85 jbgtopbm85 \
pbmtojbg.txt jbgtopbm.txt pbm.txt pgm.txt
-pbmtojbg: pbmtojbg.o ../libjbig/libjbig.a
- $(CC) $(CFLAGS) -o pbmtojbg pbmtojbg.o -L../libjbig -ljbig
-
-jbgtopbm: jbgtopbm.o ../libjbig/libjbig.a
- $(CC) $(CFLAGS) -o jbgtopbm jbgtopbm.o -L../libjbig -ljbig
-
-pbmtojbg85: pbmtojbg85.o ../libjbig/libjbig85.a
- $(CC) $(CFLAGS) -o pbmtojbg85 pbmtojbg85.o -L../libjbig -ljbig85
-
-jbgtopbm85: jbgtopbm85.o ../libjbig/libjbig85.a
- $(CC) $(CFLAGS) -o jbgtopbm85 jbgtopbm85.o -L../libjbig -ljbig85
+pbmtojbg: pbmtojbg.o ../libjbig/libjbig.la
+ libtool --mode=link --tag=CC $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) \
+ -o pbmtojbg pbmtojbg.o ../libjbig/libjbig.la
+
+jbgtopbm: jbgtopbm.o ../libjbig/libjbig.la
+ libtool --mode=link --tag=CC $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) \
+ -o jbgtopbm jbgtopbm.o ../libjbig/libjbig.la
+
+pbmtojbg85: pbmtojbg85.o ../libjbig/libjbig85.la
+ libtool --mode=link --tag=CC $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) \
+ -o pbmtojbg85 pbmtojbg85.o ../libjbig/libjbig85.la
+
+jbgtopbm85: jbgtopbm85.o ../libjbig/libjbig85.la
+ libtool --mode=link --tag=CC $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) \
+ -o jbgtopbm85 jbgtopbm85.o ../libjbig/libjbig85.la
jbgtopbm.o: jbgtopbm.c ../libjbig/jbig.h
pbmtojbg.o: pbmtojbg.c ../libjbig/jbig.h
jbgtopbm85.o: jbgtopbm85.c ../libjbig/jbig85.h
pbmtojbg85.o: pbmtojbg85.c ../libjbig/jbig85.h
-../libjbig/libjbig.a: ../libjbig/jbig.c ../libjbig/jbig.h \
- ../libjbig/jbig_ar.c ../libjbig/jbig_ar.h
- make -C ../libjbig libjbig.a
-
-../libjbig/libjbig85.a: ../libjbig/jbig85.c ../libjbig/jbig85.h \
- ../libjbig/jbig_ar.c ../libjbig/jbig_ar.h
- make -C ../libjbig libjbig85.a
+install:
+ install -m0755 -d $(DESTDIR)$(bindir)
+ install -m0755 -d $(DESTDIR)$(mandir)/man1
+ install -m0755 -d $(DESTDIR)$(mandir)/man5
+ libtool --mode=install install pbmtojbg jbgtopbm \
+ pbmtojbg85 jbgtopbm85 $(DESTDIR)$(bindir)
+ install -m0644 pbmtojbg.1 jbgtopbm.1 $(DESTDIR)$(mandir)/man1
+ install -m0644 pbm.5 pgm.5 $(DESTDIR)$(mandir)/man5
test: test82 test85
@@ -149,6 +162,7 @@
groff -man -Tascii -P -c -P -b -P -u $< >$@
clean:
- rm -f *.o *~ core pbmtojbg jbgtopbm pbmtojbg85 jbgtopbm85
+ rm -f *.*o *.*a *~ core pbmtojbg jbgtopbm pbmtojbg85 jbgtopbm85
rm -f test-*.jbg test-*.pbm test-*.pgm test-*.jbg85 test-*.pbm85
rm -f *.gcda *.gcno
+ rm -rf .libs
@@ -0,0 +1,77 @@
diff -up jbigkit-2.1/pbmtools/pbmtojbg85.c.warnings jbigkit-2.1/pbmtools/pbmtojbg85.c
--- jbigkit-2.1/pbmtools/pbmtojbg85.c.warnings 2008-08-26 00:26:39.000000000 +0200
+++ jbigkit-2.1/pbmtools/pbmtojbg85.c 2012-07-17 16:24:56.741332942 +0200
@@ -72,9 +72,12 @@ static unsigned long getint(FILE *f)
while ((c = getc(f)) != EOF && !(c == 13 || c == 10)) ;
if (c != EOF) {
ungetc(c, f);
- fscanf(f, "%lu", &i);
+ if (fscanf(f, "%lu", &i) != 1) {
+ /* should never fail, since c must be a digit */
+ fprintf(stderr, "Unexpected failure reading digit '%c'\n", c);
+ exit(1);
+ }
}
-
return i;
}
@@ -239,7 +242,9 @@ int main (int argc, char **argv)
break;
case '4':
/* PBM raw binary format */
- fread(next_line, bpl, 1, fin);
+ if (fread(next_line, bpl, 1, fin) != 1) {
+ /* silence compiler warnings; ferror/feof checked below */
+ }
break;
default:
fprintf(stderr, "Unsupported PBM type P%c!\n", type);
diff -up jbigkit-2.1/pbmtools/pbmtojbg.c.warnings jbigkit-2.1/pbmtools/pbmtojbg.c
--- jbigkit-2.1/pbmtools/pbmtojbg.c.warnings 2008-07-16 22:59:41.000000000 +0200
+++ jbigkit-2.1/pbmtools/pbmtojbg.c 2012-07-17 16:23:46.584285686 +0200
@@ -88,7 +88,11 @@ static unsigned long getint(FILE *f)
while ((c = getc(f)) != EOF && !(c == 13 || c == 10)) ;
if (c != EOF) {
ungetc(c, f);
- fscanf(f, "%lu", &i);
+ if (fscanf(f, "%lu", &i) != 1) {
+ /* should never fail, since c must be a digit */
+ fprintf(stderr, "Unexpected failure reading digit '%c'\n", c);
+ exit(1);
+ }
}
return i;
@@ -302,7 +306,9 @@ int main (int argc, char **argv)
break;
case '4':
/* PBM raw binary format */
- fread(bitmap[0], bitmap_size, 1, fin);
+ if (fread(bitmap[0], bitmap_size, 1, fin) != 1) {
+ /* silence compiler warnings; ferror/feof checked below */
+ }
break;
case '2':
case '5':
@@ -314,8 +320,18 @@ int main (int argc, char **argv)
for (j = 0; j < bpp; j++)
image[x * bpp + (bpp - 1) - j] = v >> (j * 8);
}
- } else
- fread(image, width * height, bpp, fin);
+ } else {
+ if (fread(image, width * height, bpp, fin) != (size_t) bpp) {
+ if (ferror(fin)) {
+ fprintf(stderr, "Problem while reading input file '%s", fnin);
+ perror("'");
+ exit(1);
+ } else {
+ fprintf(stderr, "Unexpected end of input file '%s'!\n", fnin);
+ exit(1);
+ }
+ }
+ }
jbg_split_planes(width, height, planes, encode_planes, image, bitmap,
use_graycode);
free(image);
@@ -0,0 +1,160 @@
diff -Naur jbigkit-2.1.old/libjbig/Makefile jbigkit-2.1/libjbig/Makefile
--- jbigkit-2.1.old/libjbig/Makefile 2014-03-27 19:47:15.000000000 +0100
+++ jbigkit-2.1/libjbig/Makefile 2014-08-04 10:45:31.865773710 +0200
@@ -4,25 +4,27 @@
CC = gcc
# Options for the compiler: A high optimization level is suggested
-CFLAGS = -g -O -W -Wall -ansi -pedantic # --coverage
+CFLAGS = $(RPM_OPT_FLAGS) -W -Wall -ansi -pedantic # --coverage
+PICFLAGS := -fPIC -DPIC
-all: libjbig.a libjbig85.a tstcodec tstcodec85
+all: libjbig.so.$(VERSION) tstcodec tstcodec85
-tstcodec: tstcodec.o jbig.o jbig_ar.o
- $(CC) $(CFLAGS) -o tstcodec tstcodec.o jbig.o jbig_ar.o
+tstcodec: tstcodec.o libjbig.so
+ $(CC) $(CFLAGS) -o tstcodec $< -L. -ljbig
-tstcodec85: tstcodec85.o jbig85.o jbig_ar.o
- $(CC) $(CFLAGS) -o tstcodec85 tstcodec85.o jbig85.o jbig_ar.o
+tstcodec85: tstcodec85.o libjbig85.so
+ $(CC) $(CFLAGS) -o tstcodec85 $^ -L. -ljbig
-libjbig.a: jbig.o jbig_ar.o
- rm -f libjbig.a
- ar rc libjbig.a jbig.o jbig_ar.o
- -ranlib libjbig.a
+%.so: %.so.$(VERSION)
+ ln -sf $< $@
-libjbig85.a: jbig85.o jbig_ar.o
- rm -f libjbig85.a
- ar rc libjbig85.a jbig85.o jbig_ar.o
- -ranlib libjbig85.a
+libjbig.so.$(VERSION): jbig.o jbig_ar.o
+ $(CC) $(CFLAGS) -shared -Wl,-soname,$@ -o $@ $^
+
+libjbig85.so.$(VERSION): jbig85.o jbig_ar.o
+ $(CC) $(CFLAGS) -shared -Wl,-soname,$@ -o $@ $^
+
+jbig.o jbig85.o jbig_ar.o: CFLAGS += $(PICFLAGS)
jbig.o: jbig.c jbig.h jbig_ar.h
jbig85.o: jbig85.c jbig85.h jbig_ar.h
@@ -43,11 +45,11 @@
clang --analyze *.c
test: tstcodec tstcodec85
- ./tstcodec
- ./tstcodec85
+ LD_LIBRARY_PATH=`pwd` ./tstcodec
+ LD_LIBRARY_PATH=`pwd` ./tstcodec85
t82test.pbm: tstcodec
- ./tstcodec $@
+ LD_LIBRARY_PATH=`pwd` ./tstcodec $@
clean:
rm -f *.o *.gcda *.gcno *.gcov *.plist *~ core gmon.out dbg_d\=??.pbm
diff -Naur jbigkit-2.1.old/Makefile jbigkit-2.1/Makefile
--- jbigkit-2.1.old/Makefile 2014-03-27 19:47:15.000000000 +0100
+++ jbigkit-2.1/Makefile 2014-08-04 10:52:09.242027746 +0200
@@ -4,25 +4,26 @@
CC = gcc
# Options for the compiler: A high optimization level is suggested
-CFLAGS = -O2 -W -Wno-unused-result
+CFLAGS = $(RPM_OPT_FLAGS) -W -Wno-unused-result
# CFLAGS = -O -g -W -Wall -Wno-unused-result -ansi -pedantic # -DDEBUG
export CC CFLAGS
VERSION=2.1
+export VERSION
all: lib pbm
@echo "Enter 'make test' in order to start some automatic tests."
lib:
- cd libjbig && $(MAKE) -e
+ make -C libjbig
pbm: lib
- cd pbmtools && $(MAKE) -e
+ make -C pbmtools
test: lib pbm
- cd libjbig && $(MAKE) test
- cd pbmtools && $(MAKE) test
+ LD_LIBRARY_PATH=`pwd`/libjbig make -C libjbig test
+ LD_LIBRARY_PATH=`pwd`/libjbig make -C pbmtools test
analyze:
cd libjbig && $(MAKE) analyze
@@ -30,8 +31,8 @@
clean:
rm -f *~ core
- cd libjbig && $(MAKE) clean
- cd pbmtools && $(MAKE) clean
+ make -C libjbig clean
+ make -C pbmtools clean
distribution:
rm -rf jbigkit-$(VERSION)
diff -Naur jbigkit-2.1.old/pbmtools/Makefile jbigkit-2.1/pbmtools/Makefile
--- jbigkit-2.1.old/pbmtools/Makefile 2014-03-27 19:47:15.000000000 +0100
+++ jbigkit-2.1/pbmtools/Makefile 2014-08-04 10:49:47.694581174 +0200
@@ -4,26 +4,26 @@
CC = gcc
# Options for the compiler
-CFLAGS = -g -O -W -Wall -Wno-unused-result -ansi -pedantic # --coverage
+CFLAGS = $(RPM_OPT_FLAGS) -W -Wall -Wno-unused-result -ansi -pedantic # --coverage
CPPFLAGS = -I../libjbig
.SUFFIXES: .1 .5 .txt $(SUFFIXES)
.PHONY: txt test test82 test85 clean
-all: pbmtojbg jbgtopbm pbmtojbg85 jbgtopbm85 txt
+all: pbmtojbg jbgtopbm pbmtojbg85 jbgtopbm85 # txt
txt: pbmtojbg.txt jbgtopbm.txt pbm.txt pgm.txt
-pbmtojbg: pbmtojbg.o ../libjbig/libjbig.a
+pbmtojbg: pbmtojbg.o ../libjbig/libjbig.so
$(CC) $(CFLAGS) -o pbmtojbg pbmtojbg.o -L../libjbig -ljbig
-jbgtopbm: jbgtopbm.o ../libjbig/libjbig.a
+jbgtopbm: jbgtopbm.o ../libjbig/libjbig.so
$(CC) $(CFLAGS) -o jbgtopbm jbgtopbm.o -L../libjbig -ljbig
-pbmtojbg85: pbmtojbg85.o ../libjbig/libjbig85.a
+pbmtojbg85: pbmtojbg85.o ../libjbig/libjbig85.so
$(CC) $(CFLAGS) -o pbmtojbg85 pbmtojbg85.o -L../libjbig -ljbig85
-jbgtopbm85: jbgtopbm85.o ../libjbig/libjbig85.a
+jbgtopbm85: jbgtopbm85.o ../libjbig/libjbig85.so
$(CC) $(CFLAGS) -o jbgtopbm85 jbgtopbm85.o -L../libjbig -ljbig85
jbgtopbm.o: jbgtopbm.c ../libjbig/jbig.h
@@ -31,13 +31,13 @@
jbgtopbm85.o: jbgtopbm85.c ../libjbig/jbig85.h
pbmtojbg85.o: pbmtojbg85.c ../libjbig/jbig85.h
-../libjbig/libjbig.a: ../libjbig/jbig.c ../libjbig/jbig.h \
+../libjbig/libjbig.so: ../libjbig/jbig.c ../libjbig/jbig.h \
../libjbig/jbig_ar.c ../libjbig/jbig_ar.h
- make -C ../libjbig libjbig.a
+ make -C ../libjbig libjbig.so
-../libjbig/libjbig85.a: ../libjbig/jbig85.c ../libjbig/jbig85.h \
+../libjbig/libjbig85.so: ../libjbig/jbig85.c ../libjbig/jbig85.h \
../libjbig/jbig_ar.c ../libjbig/jbig_ar.h
- make -C ../libjbig libjbig85.a
+ make -C ../libjbig libjbig85.so
analyze:
clang $(CPPFLAGS) --analyze *.c
+10 -2
View File
@@ -13,9 +13,10 @@
<IsA>app:console</IsA>
<Summary>A portable library of compression and decompression functions</Summary>
<Description>JBIG-KIT implements a highly effective data compression algorithm for bi-level high-resolution images such as fax pages or scanned documents.</Description>
<Archive sha1sum="cfb7d3121f02a74bfb229217858a0d149b6589ef" type="targz">http://www.cl.cam.ac.uk/~mgk25/download/jbigkit-2.0.tar.gz</Archive>
<Archive sha1sum="4864646df004e8331d19f2fa103ed731fdb6c099" type="targz">https://www.cl.cam.ac.uk/~mgk25/jbigkit/download/jbigkit-2.1.tar.gz</Archive>
<Patches>
<Patch level="1">jbigkit-2.0-shared.diff</Patch>
<Patch level="1">jbigkit-2.1-shared.diff</Patch>
<Patch level="1">jbigkit-2.0-warnings.patch</Patch>
</Patches>
</Source>
@@ -41,6 +42,13 @@
</Package>
<History>
<Update release="3">
<Date>2017-01-25</Date>
<Version>2.1</Version>
<Comment>Version Bump</Comment>
<Name>Pisi Linux Community</Name>
<Email>admin@pisilinux.org</Email>
</Update>
<Update release="2">
<Date>2016-06-09</Date>
<Version>2.0</Version>