diff --git a/README.md b/README.md index a2a1cdc..fba250f 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,7 @@ # libjbig +JBIG-KIT provides a portable library of compression and decompression functions with a documented interfaces that you can include very easily into your image or document processing software. +In addiction, JBIG-KIT provides ready-to-use compression adn decompression programs with a simple command line interface (similar to the converters found in netpbm). + +JBIG-KIT zawiera implementację wydajnego algorytmu kompresji dla 2-kolorowych obrazków wysokiej rozdzielczości, takich jak faksy albo skanowane dokumenty. + diff --git a/libjbig-2.0-shlib.patch b/libjbig-2.0-shlib.patch new file mode 100644 index 0000000..8d1eaed --- /dev/null +++ b/libjbig-2.0-shlib.patch @@ -0,0 +1,145 @@ +--- jbigkit/pbmtools/Makefile.shlib 2008-08-25 23:26:39.000000000 +0100 ++++ jbigkit/pbmtools/Makefile 2008-09-03 16:41:20.000000000 +0100 +@@ -5,23 +5,23 @@ + CC = gcc + + # Options for the compiler +-CFLAGS = -g -Wall -ansi -pedantic -I../libjbig # --coverage ++CFLAGS ?= -g -Wall -ansi -pedantic -I../libjbig # --coverage + + .SUFFIXES: .1 .5 .txt $(SUFFIXES) + + all: pbmtojbg jbgtopbm pbmtojbg85 jbgtopbm85 \ +- pbmtojbg.txt jbgtopbm.txt pbm.txt pgm.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 +@@ -29,13 +29,13 @@ 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/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 + + test: test82 test85 + +--- jbigkit/libjbig/Makefile.shlib 2008-08-30 18:20:52.000000000 +0100 ++++ jbigkit/libjbig/Makefile 2008-09-03 16:40:43.000000000 +0100 +@@ -5,25 +5,27 @@ + CC = gcc + + # Options for the compiler: A high optimization level is suggested +-CFLAGS = -g -O -Wall -ansi -pedantic # --coverage ++CFLAGS ?= -g -O -Wall -ansi -pedantic # --coverage ++PICFLAGS := -fPIC -DPIC + +-all: libjbig.a tstcodec tstcodec85 ++all: libjbig.so.$(VERSION) tstcodec tstcodec85 + +-tstcodec: tstcodec.o jbig.o jbig_ar.o +- $(CC) $(CFLAGS) -o tstcodec $+ ++tstcodec: tstcodec.o libjbig.so ++ $(CC) $(CFLAGS) -o tstcodec $< -L. -ljbig + +-tstcodec85: tstcodec85.o jbig85.o jbig_ar.o +- $(CC) $(CFLAGS) -o tstcodec85 $+ ++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 +@@ -37,12 +39,12 @@ jbig.pot: jbig.c + --msgid-bugs-address='http://www.cl.cam.ac.uk/~mgk25/jbigkit/' $+ + + 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} *~ core gmon.out dbg_d\=??.pbm t82test.pbm +- rm -f tstcodec tstcodec85 ++ rm -f tstcodec tstcodec85 *.so *.so.$(VERSION) +--- jbigkit/Makefile.shlib 2008-08-30 21:40:22.000000000 +0100 ++++ jbigkit/Makefile 2008-09-03 16:40:43.000000000 +0100 +@@ -11,24 +11,25 @@ CCFLAGS = -O2 -W + CFLAGS = $(CCFLAGS) -I../libjbig + + VERSION=2.0 ++export VERSION CFLAGS CC + + all: lib pbm + @echo "Enter 'make test' in order to start some automatic tests." + + lib: +- (cd libjbig; make "CC=$(CC)" "CFLAGS=$(CFLAGS)") ++ make -C libjbig + + pbm: lib +- (cd pbmtools; make "CC=$(CC)" "CFLAGS=$(CFLAGS)") ++ make -C pbmtools + + test: lib pbm +- (cd libjbig; make "CC=$(CC)" "CFLAGS=$(CFLAGS)" test) +- (cd pbmtools; make "CC=$(CC)" "CFLAGS=$(CFLAGS)" test) ++ LD_LIBRARY_PATH=`pwd`/libjbig make -C libjbig test ++ LD_LIBRARY_PATH=`pwd`/libjbig make -C pbmtools test + + clean: + rm -f *~ core +- (cd libjbig; make clean) +- (cd pbmtools; make clean) ++ make -C libjbig clean ++ make -C pbmtools clean + + distribution: clean + rm -f libjbig/libjbig*.a diff --git a/libjbig.spec b/libjbig.spec new file mode 100644 index 0000000..5a87f9d --- /dev/null +++ b/libjbig.spec @@ -0,0 +1,94 @@ +Name: libjbig +Version: 2.0 +Release: 2mamba +Summary: JBIG-KIT lossless image compression library +Group: System/Libraries +Vendor: openmamba +Distribution: openmamba +Packager: Tiziana Ferro +URL: http://www.cl.cam.ac.uk/~mgk25/jbigkit +Source: http://www.cl.cam.ac.uk/~mgk25/download/jbigkit-%{version}.tar.gz +Patch0: %{name}-2.0-shlib.patch +License: GPL +BuildRequires: libtool +BuildRoot: %{_tmppath}/%{name}-%{version}-root +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +## AUTOBUILDREQ-END + +%description +JBIG-KIT provides a portable library of compression and decompression functions with a documented interfaces that you can include very easily into your image or document processing software. +In addiction, JBIG-KIT provides ready-to-use compression adn decompression programs with a simple command line interface (similar to the converters found in netpbm). + +%description -l pl.UTF-8 +JBIG-KIT zawiera implementację wydajnego algorytmu kompresji dla 2-kolorowych obrazków wysokiej rozdzielczości, takich jak faksy albo skanowane dokumenty. + +%package -n libjbig-devel +Summary: Header files and static library for development with JBIG +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} + +%description -n libjbig-devel +This package is only needed if you plan to develop or compile applications which requires the libjbig library. + +%description -n libjbig-devel +JBIG-KIT provides a portable library of compression and decompression functions with a documented interfaces that you can include very easily into your image or document processing software. +In addiction, JBIG-KIT provides ready-to-use compression adn decompression programs with a simple command line interface (similar to the converters found in netpbm). + +%description -n libjbig-devel -l pl.UTF-8 +JBIG-KIT zawiera implementację wydajnego algorytmu kompresji dla 2-kolorowych obrazków wysokiej rozdzielczości, takich jak faksy albo skanowane dokumenty. + +%prep +%setup -q -n jbigkit +%patch0 -p1 + +%build +%make +make test +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +mkdir -p %{buildroot}%{_bindir} \ +%{buildroot}%{_includedir} \ +%{buildroot}%{_libdir} \ +%{buildroot}%{_mandir}/man1 + +install -m 755 pbmtools/jbgtopbm.1 %{buildroot}%{_mandir}/man1 +install -m 755 pbmtools/pbmtojbg.1 %{buildroot}%{_mandir}/man1 +install -m 755 pbmtools/jbgtopbm %{buildroot}%{_bindir} +install -m 755 pbmtools/pbmtojbg %{buildroot}%{_bindir} +install -m 644 libjbig/jbig.h %{buildroot}%{_includedir} +install -m 644 libjbig/jbig_ar.h %{buildroot}%{_includedir} +install -m 755 libjbig/libjbig.so.2.0 %{buildroot}%{_libdir} +ln -s libjbig.so.2.0 %{buildroot}%{_libdir}/libjbig.so +install -m 755 libjbig/libjbig85.so.2.0 %{buildroot}%{_libdir} +ln -s libjbig85.so.2.0 %{buildroot}%{_libdir}/libjbig85.so + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%{_bindir}/* +%{_libdir}/libjbig.so.* +%{_libdir}/libjbig85.so.* +%{_mandir}/man1/* +%doc COPYING + +%files -n libjbig-devel +%defattr(-,root,root) +%{_includedir}/jbig.h +%{_includedir}/jbig_ar.h +%{_libdir}/libjbig.so +%{_libdir}/libjbig85.so +%doc ANNOUNCE TODO libjbig/jbig.txt + +%changelog +* Mon Dec 19 2011 Silvan Calarco 2.0-2mamba +- added patch to build shared library +- install required header file jbig_ar.h + +* Sun Jul 05 2009 Tiziana Ferro 2.0-1mamba +- package created by autospec