Change:
I have an EPSON DS-530 scanner, that I can't use to scan anymore. Prior to upgrading to NixOS 22.05, it worked perfectly fine. Steps to reproduce the behavior: scanning as follows: a sheet of paper in the scanner and scan it using utsushi, scanimage, simple-scan, xscan, … scanner pulls the paper through, but this does not result in a scanned document with any of the programs I tested. The (probably) relevant lines of the full log output (see below) are: The page is scanned successfully. The symptoms look exactly like those described in . The full debug output is as follows: <details<summaryLog</summary</details
I just noticed that utsushi reports version 0.65.0, which doesn't match the supposed version 3.65.0 in the channel. Though it seems kinda plausible to me that utsushi just reports major version 0, as the rest matches?
Trying to debug this further by scanning with , I got the following lines of output: The line () looked suspicious to me. I attempted to narrow this down further using strace: Interestingly, this refers to a file called , that supposedly should exist in the / package's directory, but doesn't as the strace indicates. The only reference to this that I could find is in the . If not provided with a different engine as a command line parameter, it should just use tesseract. This in turn led me to in the utsushi codebase, which calls the filter. I stopped my investigation there for now. Maybe can give more context, as they came up in many of my searches regarding this.
can you try adding to and see if that works? It looks like calls out to and expects to have it in , so probably falls back to ?
can you check if fixes this?
Thank you but unfortunately this didn't help. I'm still seeing references to in the where I suspect that I should see references to tesseract instead. It would be sufficient for me to deactivate all the postprocessing that happens, but this doesn't seem intended feature in utsushi :/
As I had amassed quite a backlog of documents to scan, I started a nix shell with the utsushi version I used previously, using the following command: This works. However, this is only a workaround, as this means that I need to use the interface for scanning, which is somewhat cumbersome to use and this also pulls in a lot of old packages via the dependencies. I'd be happy to try out anything at this point.
Hey, I started looking into this again and noticed that in you switched the sources from the to the repository on gitlab. I'm wondering what the reason for this was. Do you remember?
I think back than the maintainer of utsushi suggested this. Imagescan just tries to mirror the driver as it is release by epson, while utsushi contains community maintained patches, but unfortunately no clear versioning scheme.
I just bisected the changes and it turns out that is indeed the commit at which utsushi stops working for me.
That is unfortunate. Maybe we should offer both utsushi and imagescan as packages, than the user can choose.
This could be a solution. I am not sure yet, whether the problem may also stem from one of the patches introduced or the command removed in that commit. As I am getting a error, I think it possible that the problem may be related to the imagick (or a similar) dependency.
It turns out, that this problem had a . Adding the following line back to the derivation makes utsushi work again. PR adds it back to the derivation and fixes scanning on my machine.

Discussion:
touch $out/etc/sane.d/dll.conf # absolute paths to convert & tesseract <ins> sed -i '/[AC_DEFINE([HAVE_IMAGE_MAGICK], [1])/a  MAGICK_CONVERT="${imagemagick}/bin/convert"' configure.ac </ins> substituteInPlace filters/magick.cpp  --replace 'convert ' '${imagemagick}/bin/convert ' substituteInPlace filters/reorient.cpp