added patch to build shared library

install required header file jbig_ar.h [release 2.0-2mamba;Mon Dec 19 2011]
This commit is contained in:
Silvan Calarco 2024-01-06 04:42:18 +01:00
parent 78e7e58473
commit 30ddee33e9
3 changed files with 244 additions and 0 deletions

View File

@ -1,2 +1,7 @@
# libjbig # 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.

145
libjbig-2.0-shlib.patch Normal file
View File

@ -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

94
libjbig.spec Normal file
View File

@ -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 <tiziana.ferro@email.it>
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 <silvan.calarco@mambasoft.it> 2.0-2mamba
- added patch to build shared library
- install required header file jbig_ar.h
* Sun Jul 05 2009 Tiziana Ferro <tiziana.ferro@email.it> 2.0-1mamba
- package created by autospec