Epson printer driver does not compile

I tried to install the driver for an Epson M105 printer, but since it is a somewhat old driver, it does not compile, from what I saw Epson released a new version only in March.
So I want to ask for help from any user who knows how to request the update in AUR.
The driver is Epson-inkjet-printer-201215w, in AUR there is version 1.0.0 and the new version released in March of this year is 1.0.1.

See Arch User Repository: Flagging packages out-of-date

1 Like

If I would really need this, I’d try to either:
download the newer file and try to compile it

https://download3.ebz.epson.net/dsc/f/03/00/15/69/63/49ed07dcc290967b10cc88fda6c89a5bf29ff1ec/epson-inkjet-printer-201215w-1.0.1-1.src.rpm

or:
try to use the precompiled package, which they also provide

https://download3.ebz.epson.net/dsc/f/03/00/15/69/63/dfbf8ec7153962a8e197d3a3c7a4b71ae8327d63/epson-inkjet-printer-201215w_1.0.1-1_amd64.deb

by unpacking it and
by looking at the PKGBUILD
putting/copying the files to the proper places.

That is how many of the AUR packages make use of software which is precompiled, but only packaged in formats directly usable by .rpm or .deb based distributions.

They also have a precompiled .rpm package with the same contents as the .deb package.

1 Like

Yesterday I tried to use the precompiled file but it failed, even so I’m going to keep trying because it also helps me learn.

I was able to build it from the .rpm by modifying in the PKGBUILD. I changed the source,removed reference to the patch and updated the checksums. I have no idea if the resulting package will work as I don’t have the hardware to test.

Entering fakeroot environment...
==> Starting package()...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "epson-inkjet-printer-201215w"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: epson-inkjet-printer-201215w 1.0.1-1

PKGBUILD:

# Contributor: Andre Klitzing <andre () incubo () de>

pkgname=epson-inkjet-printer-201215w
_pkgname_filter=epson-inkjet-printer-filter
_suffix=1lsb3.2.src.rpm
pkgver=1.0.1
pkgrel=1
pkgdesc="Epson printer driver (M100, M105, M200, M205)"
arch=('i686' 'x86_64')
url="http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX"
license=('LGPL' 'custom:Epson Licence Agreement')
depends=('cups' 'ghostscript')
#makedepends=('libtool' 'make' 'automake' 'autoconf')
source=(https://download3.ebz.epson.net/dsc/f/03/00/15/69/63/49ed07dcc290967b10cc88fda6c89a5bf29ff1ec/epson-inkjet-printer-201215w-1.0.1-1.src.rpm)

build() {
  cd "$srcdir" || exit
  tar xzf $pkgname-$pkgver.tar.gz
  FILTER_FILE=$(ls $_pkgname_filter*.tar.gz)
  tar xzf $FILTER_FILE

  cd "${FILTER_FILE%.tar.gz}" || exit
  autoreconf -f -i
  # if you have runtime problems: add "--enable-debug" and look into /tmp/epson-inkjet-printer-filter.txt
  ./configure LDFLAGS="$LDFLAGS -Wl,--no-as-needed" --prefix=/opt/$pkgname
  make
}

package() {
  cd "$srcdir/$pkgname-$pkgver" || exit
  install -d "$pkgdir/opt/$pkgname/"
  if [ "$CARCH" = "x86_64" ]; then
    cp -a --no-preserve=mode lib64 "$pkgdir/opt/$pkgname/"
  else
    cp -a --no-preserve=mode lib "$pkgdir/opt/$pkgname/"
  fi
  cp -a --no-preserve=mode resource "$pkgdir/opt/$pkgname/"

  if [ -e "watermark" ]; then
    cp -a --no-preserve=mode watermark "$pkgdir/opt/$pkgname/"
  fi
  install -d "$pkgdir/usr/share/cups/model/$pkgname"
  install -m 644 ppds/* "$pkgdir/usr/share/cups/model/$pkgname"

  cd "$srcdir" || exit
  FILTER_FILE=$(ls $_pkgname_filter*.tar.gz)
  cd "${FILTER_FILE%.tar.gz}" || exit
  install -d "$pkgdir/opt/$pkgname/cups/lib/filter/"
  install -m 755 src/epson_inkjet_printer_filter "$pkgdir/opt/$pkgname/cups/lib/filter/epson_inkjet_printer_filter"
}
sha256sums=('6b9252225c5e7210ed2acd36fb9c5fac4bb6f65aaf2ebfd3ce1b1690c63055ec')
2 Likes

Perfect, I’ll try it.

Edited: tested and working, thank you very much.

1 Like

Just as an FYI, I believe that printer should be new enough that it should work with the universal drivers. Make sure that avahi and cups-browsed is installed and enabled and the printers should install automatically.

1 Like

This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.