move to libcupsfilters-devel and libppd-devel
This commit is contained in:
parent
15e2d26b0e
commit
b89a093c80
152
c2esp-use-libcupsfilters.patch
Normal file
152
c2esp-use-libcupsfilters.patch
Normal file
@ -0,0 +1,152 @@
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index bdec0ec..ec9c8ae 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -19,11 +19,11 @@ AC_CHECK_PROG(HAVE_CUPSCONFIG, cups-config, 1)
|
||||
AC_CHECK_LIB(cups, ppdOpenFile)
|
||||
|
||||
#-lcupsdriver for cups < ver 1.6
|
||||
-AC_SEARCH_LIBS(cupsDitherNew, cupsdriver cupsfilters)
|
||||
-if test "$ac_cv_search_cupsDitherNew" = "-lcupsdriver"; then :
|
||||
+AC_SEARCH_LIBS(cfDitherNew, cupsdriver cupsfilters)
|
||||
+if test "$ac_cv_search_cfDitherNew" = "-lcupsdriver"; then :
|
||||
HAVE_LIBCUPSDRIVER="1"
|
||||
fi
|
||||
-if test "$ac_cv_search_cupsDitherNew" = "-lcupsfilters"; then :
|
||||
+if test "$ac_cv_search_cfDitherNew" = "-lcupsfilters"; then :
|
||||
HAVE_LIBCUPSFILTERS="1"
|
||||
fi
|
||||
|
||||
@@ -40,6 +40,8 @@ fi
|
||||
AC_SEARCH_LIBS(jbg85_enc_init, jbig85 jbig)
|
||||
JBIG85LIB=$ac_cv_search_jbg85_enc_init
|
||||
|
||||
+AC_SEARCH_LIBS(ppdCMYKLoad, ppd)
|
||||
+
|
||||
# Checks for header files.
|
||||
AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h cups/raster.h cups/sidechannel.h])
|
||||
AC_CHECK_HEADERS([cups/image.h cups/driver.h])
|
||||
diff --git a/src/c2esp.c b/src/c2esp.c
|
||||
index 2e73310..cc614bf 100644
|
||||
--- a/src/c2esp.c
|
||||
+++ b/src/c2esp.c
|
||||
@@ -44,6 +44,7 @@ If you want to compile with the DEBUGFILES or TESTING options, they should be se
|
||||
|
||||
#if HAVE_CUPSFILTERS_DRIVER_H == 1
|
||||
#include <cupsfilters/driver.h> //has the dither functions
|
||||
+#include <ppd/ppd.h> //has ppdCMYKLoad()
|
||||
#else
|
||||
#include <cups/driver.h> //has the dither functions
|
||||
#endif
|
||||
@@ -522,7 +523,7 @@ void PrintOneStripe (unsigned char *buf, int Stripe, int StripeHeight, cups_page
|
||||
} //end of stripe with print
|
||||
}
|
||||
|
||||
-void SetUpDither(cups_lut_t *Lut[], cups_dither_t *DitherState[], int LineWidth, int OutBits)
|
||||
+void SetUpDither(cf_lut_t *Lut[], cf_dither_t *DitherState[], int LineWidth, int OutBits)
|
||||
{
|
||||
//Creates Luts and DitherStates for dithering
|
||||
|
||||
@@ -530,14 +531,14 @@ void SetUpDither(cups_lut_t *Lut[], cups_dither_t *DitherState[], int LineWidth,
|
||||
for(Col=0;Col<3;++Col)
|
||||
{
|
||||
//For CMY or RGB
|
||||
- if(OutBits == 2) Lut[Col] = cupsLutNew(3, default_lut3);
|
||||
- else Lut[Col] = cupsLutNew(2, default_lut2);
|
||||
- DitherState[Col] = cupsDitherNew(LineWidth);
|
||||
+ if(OutBits == 2) Lut[Col] = cfLutNew(3, default_lut3, NULL, NULL);
|
||||
+ else Lut[Col] = cfLutNew(2, default_lut2, NULL, NULL);
|
||||
+ DitherState[Col] = cfDitherNew(LineWidth);
|
||||
}
|
||||
//For Kk
|
||||
- if(OutBits == 2) Lut[3] = cupsLutNew(5, default_lut5);
|
||||
- else Lut[3] = cupsLutNew(3, default_lut3);
|
||||
- DitherState[3] = cupsDitherNew(LineWidth);
|
||||
+ if(OutBits == 2) Lut[3] = cfLutNew(5, default_lut5, NULL, NULL);
|
||||
+ else Lut[3] = cfLutNew(3, default_lut3, NULL, NULL);
|
||||
+ DitherState[3] = cfDitherNew(LineWidth);
|
||||
}
|
||||
|
||||
unsigned char Dithered8ToPrint(unsigned char *Buffer, int x, int Level)
|
||||
@@ -672,7 +673,7 @@ void LetAllRead(char *Fname)
|
||||
|
||||
|
||||
void
|
||||
-Terminate(cups_raster_t *ras,int fd,cups_dither_t **DitherState,cups_lut_t **Lut)
|
||||
+Terminate(cups_raster_t *ras,int fd,cf_dither_t **DitherState,cf_lut_t **Lut)
|
||||
{
|
||||
int CloseError, Col;
|
||||
|
||||
@@ -691,8 +692,8 @@ int CloseError, Col;
|
||||
//free the dither states
|
||||
for(Col = 0; Col < 4 ;++Col)
|
||||
{
|
||||
- cupsDitherDelete(DitherState[Col]);
|
||||
- cupsLutDelete(Lut[Col]);
|
||||
+ cfDitherDelete(DitherState[Col]);
|
||||
+ cfLutDelete(Lut[Col]);
|
||||
}
|
||||
/*
|
||||
* Termination, send an error message if required...
|
||||
@@ -782,7 +783,7 @@ SaveDitherOut(cups_page_header2_t *header, int Col, int BlankColour,FILE *Dither
|
||||
}
|
||||
}
|
||||
|
||||
-void DitherProcess(cups_lut_t **Lut, cups_dither_t **DitherState, cups_page_header2_t *header, int Col, int *BlankColour)
|
||||
+void DitherProcess(cf_lut_t **Lut, cf_dither_t **DitherState, cups_page_header2_t *header, int Col, int *BlankColour)
|
||||
{
|
||||
//convert the bits in CupsLineBuffer to short ints in DitherInputBuffer for the current colour
|
||||
//checking if it's blank as we go
|
||||
@@ -833,7 +834,7 @@ void DitherProcess(cups_lut_t **Lut, cups_dither_t **DitherState, cups_page_head
|
||||
//if(y == 0) DoLog("Dither stage colour %d line %d\n", Col, y);
|
||||
if(*BlankColour==0)
|
||||
{
|
||||
- cupsDitherLine(DitherState[Col], Lut[Col], DitherInputBuffer, 1, DitherOutputBuffer);
|
||||
+ cfDitherLine(DitherState[Col], Lut[Col], DitherInputBuffer, 1, DitherOutputBuffer);
|
||||
// full scale input is 4095. output is the index in the lut.
|
||||
}
|
||||
if(Col == MonitorColour) //0=cyan 1=mag 2=yellow 3=black
|
||||
@@ -944,8 +945,8 @@ main(int argc, char *argv[]) /* I - Number of command-line arguments, Command-
|
||||
ppd_file_t *ppd; /* PPD file */
|
||||
cups_raster_t *ras; /* Raster stream from cups */
|
||||
cups_page_header2_t header; /* Page header from cups */
|
||||
- cups_cmyk_t *cmykTrans300; /* cmyk transform for cups 300dpi*/
|
||||
- cups_cmyk_t *cmykTrans600; /* cmyk transform for cups 600dpi*/
|
||||
+ cf_cmyk_t *cmykTrans300; /* cmyk transform for cups 300dpi*/
|
||||
+ cf_cmyk_t *cmykTrans600; /* cmyk transform for cups 600dpi*/
|
||||
int RemainingPixels;
|
||||
int Stripe, y;
|
||||
int StripeEnd; //index of last byte in current stripe
|
||||
@@ -953,8 +954,8 @@ main(int argc, char *argv[]) /* I - Number of command-line arguments, Command-
|
||||
int Col,i,x;
|
||||
int BlankColour; //boolean to record if the line is blank to save time
|
||||
int argi;
|
||||
- cups_lut_t *Lut[4]; /* Dither lookup tables */
|
||||
- cups_dither_t *DitherState[4]; /* Dither states */
|
||||
+ cf_lut_t *Lut[4]; /* Dither lookup tables */
|
||||
+ cf_dither_t *DitherState[4]; /* Dither states */
|
||||
long RasForCompHeight;
|
||||
|
||||
StartTime = time(NULL);
|
||||
@@ -1042,8 +1043,8 @@ main(int argc, char *argv[]) /* I - Number of command-line arguments, Command-
|
||||
if(ppd)
|
||||
{
|
||||
DoLog("Opened ppd OK. Reading from ppd\n",0,0);
|
||||
- cmykTrans300 = cupsCMYKLoad(ppd, "RGB", "", "300x1200dpi");
|
||||
- cmykTrans600 = cupsCMYKLoad(ppd, "RGB", "", "600x1200dpi");
|
||||
+ cmykTrans300 = ppdCMYKLoad(ppd, "RGB", "", "300x1200dpi", NULL, NULL);
|
||||
+ cmykTrans600 = ppdCMYKLoad(ppd, "RGB", "", "600x1200dpi", NULL, NULL);
|
||||
ppdClose(ppd);
|
||||
DoLog("InkChannels 300dpi=%d 600dpi=%d\n",cmykTrans300->num_channels,cmykTrans600->num_channels);
|
||||
}
|
||||
@@ -1233,8 +1234,8 @@ main(int argc, char *argv[]) /* I - Number of command-line arguments, Command-
|
||||
if (header.cupsColorSpace == CUPS_CSPACE_RGB)
|
||||
{
|
||||
if(y == 0) DoLog("Doing transform & dither (CMYK) stripe %d line %d\n", Stripe, y);
|
||||
- if(header.HWResolution[0] == 300) cupsCMYKDoRGB(cmykTrans300, CupsLineBuffer, TransformedBuffer, RemainingPixels);
|
||||
- else cupsCMYKDoRGB(cmykTrans600, CupsLineBuffer, TransformedBuffer, RemainingPixels);
|
||||
+ if(header.HWResolution[0] == 300) cfCMYKDoRGB(cmykTrans300, CupsLineBuffer, TransformedBuffer, RemainingPixels);
|
||||
+ else cfCMYKDoRGB(cmykTrans600, CupsLineBuffer, TransformedBuffer, RemainingPixels);
|
||||
// cupsDoRGB scales up to 4096 a short int from the unsigned char input 255
|
||||
for(Col = 0; Col<4; ++Col)
|
||||
{
|
41
c2esp.spec
41
c2esp.spec
@ -2,7 +2,7 @@
|
||||
|
||||
Name: c2esp
|
||||
Version: 2.7
|
||||
Release: 27%{?dist}
|
||||
Release: 28%{?dist}
|
||||
Summary: CUPS driver for Kodak AiO printers
|
||||
|
||||
License: GPLv2+
|
||||
@ -11,24 +11,29 @@ Source0: http://downloads.sourceforge.net/cupsdriverkodak/c2esp-%{version
|
||||
|
||||
Patch01: c2esp-ftbfs-gcc7.patch
|
||||
Patch02: c2esp-gcc10.patch
|
||||
Patch3: c2esp-c99.patch
|
||||
Patch03: c2esp-c99.patch
|
||||
Patch04: c2esp-use-libcupsfilters.patch
|
||||
|
||||
|
||||
# for autoreconf
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
# _cups_serverbin macro
|
||||
BuildRequires: cups-devel
|
||||
|
||||
# postscriptdriver tags
|
||||
BuildRequires: python3-cups cups
|
||||
|
||||
# cupsfilters/image.h
|
||||
BuildRequires: cups-filters-devel
|
||||
|
||||
# JBIG1 lossless image compression
|
||||
BuildRequires: jbigkit-devel
|
||||
|
||||
# Needs gcc for compilation
|
||||
BuildRequires: gcc
|
||||
# for autosetup
|
||||
BuildRequires: git-core
|
||||
# JBIG1 lossless image compression
|
||||
BuildRequires: jbigkit-devel
|
||||
# cupsfilters/image.h
|
||||
BuildRequires: libcupsfilters-devel
|
||||
# for ppdCMYKLoad()
|
||||
BuildRequires: libppd-devel
|
||||
# uses make
|
||||
BuildRequires: make
|
||||
# postscriptdriver tags
|
||||
BuildRequires: python3-cups
|
||||
|
||||
# directory structure
|
||||
Requires: cups-filesystem
|
||||
@ -37,12 +42,13 @@ Requires: cups-filesystem
|
||||
CUPS filters and drivers for Kodak ESP and Hero all in one printers.
|
||||
|
||||
%prep
|
||||
%setup -q -n c2esp-%{version_no_dot}
|
||||
%patch01 -p1 -b .ftbfs-gcc7
|
||||
%patch02 -p1 -b .gcc10
|
||||
%patch3 -p1
|
||||
%autosetup -n c2esp-%{version_no_dot} -S git
|
||||
|
||||
|
||||
%build
|
||||
# c2esp-use-libcupsfilters.patch changes configure.ac, regenerate configure script
|
||||
autoreconf -vfi
|
||||
|
||||
%configure
|
||||
make %{_smp_mflags} -C src/
|
||||
|
||||
@ -59,6 +65,9 @@ make -C src/ install DESTDIR=%{buildroot}
|
||||
%{_datadir}/cups/drv/c2esp
|
||||
|
||||
%changelog
|
||||
* Wed Feb 15 2023 Zdenek Dohnal <zdohnal@redhat.com> - 2.7-28
|
||||
- move to libcupsfilters-devel and libppd-devel
|
||||
|
||||
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.7-27
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user