To achieve reproducible results, `cpio` archive members are added in
sorted order and inodes renumbered.
The `cpio-clean.pl` script is made obsolete by setting mtimes via
`touch` & using `cpio --reproducible`. Suggested by @dezgeg in
https://github.com/NixOS/nixpkgs/pull/21273#issuecomment-268116605.
Note that using `--reproducible` means that initial ramdisk creation now
requires at least `cpio` version 2.12 (released in 2015).
This works around:
machine: must succeed: nix-store -qR /run/current-system | grep nixos-
machine# error: changing ownership of path ‘/nix/store’: Invalid argument
Probably Nix shouldn't be anal about the ownership of the store unless
it's trying to build/write to the store.
http://hydra.nixos.org/build/45093872/nixlog/17/raw
(cherry picked from commit 57a0f140643cde409022e297ed05e05f8d34d778)
Previously we were using two or three (qemu_kvm, qemu_test, and
qemu_test with a different dbus when minimal.nix is included).
(cherry picked from commit 8bfa4ce82ea7d23a1d4c6073bcc044e6bf9c4dbe)
This option is defined in qemu-vm.nix, but that module is not always
imported.
http://hydra.nixos.org/build/44817443
(cherry picked from commit 03c55005dfd6fbcd5cf8e00128a3bb6336b3bc0f)
This essentially unbreaks deploying new Hetzner machines with NixOps,
because the Hetzner robot has changed its way of handling admin
accounts.
It also now provides a more helpful error message (instead of an
AssertionError) if admin account creation has failed.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Reported-by: Graham Christensen <graham@grahamc.com>
Issue: https://github.com/NixOS/nixops/issues/563
I have not yet tested scanning, but the main application works so far.
A lot of patching is required here, because the upstream project
references some paths from well-known FHS locations which of course are
not available on Nix(OS).
We also use all available aspell dictionaries right now, which is maybe
a bit ugly but it makes language switching easier.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
While not explicitly checked by setup.py or by the "chkdeps" command
from the project I have added pyinsane2 and pyocr to the list of
dependencies as well, because they're referenced in the source.
Tested by building against Python 3.3, 3.4, 3.5 and 3.6.
The build against Python 3.6 failed because pycairo doesn't build, so
it's a non-issue at least for paperwork-backend.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
First of all: This is NOT the same package as "pillowfight".
I'm not sure why people want to choose this particular name, but well,
so be it.
I haven't investigated why test_ace and test_all_2 fail, but I've
disabled these tests by now and reported the failures upstream at
jflesch/libpillowfight#2.
Tested by building against Python 3.3, 3.4, 3.5 and 3.6.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
This package is a bit more involved because it assumes a lot of paths
being there in a FHS compliant way, so we need to patch the data and
binary directories for Tesseract and Cuneiform.
I've also tried to get the tests working, but they produce different
results comparing input/output. This is probably related to the
following issue:
https://github.com/jflesch/pyocr/issues/52
So I've disabled certain tests that fail but don't generally impede the
functionality of pyocr.
Tested by building against Python 3.3, 3.4, 3.5 and 3.6.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Found out during testing of the Tesseract upgrade the kde5 and sddm
tests don't actually use OCR, so let's disable support for it.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @ttuegel
From the upstream changelog:
* Tesseract development is now done with Git and hosted at github.com
(Previously we used Subversion as a VCS and code.google.com for
hosting).
So let's move over to the GitHub repository, where the organisation also
includes a full repository for tessdata, so we no longer need to fetch
it one-by-one.
The build also got significantly simpler, because we no longer need to
run autoconf, neither do we need to patch the configure script for
Leptonica headers.
This also has the advantage that we don't need to use the
enableLanguages attribute for the test runner anymore.
Full upstream changelog can be found at:
https://github.com/tesseract-ocr/tesseract/blob/c4d273d33cc36e/ChangeLog
Tested against all NixOS tests with enabled OCR (chromium, emacs-daemon,
installer.luksroot and lightdm).
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @viric
This optionally adds support for GI, because it's needed for
paperwork-backend. The new poppler_gi attribute is also marked as
lowPrio so that users won't accidentally install it.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @ttuegel
The tests require a scanner to be physically attached.
Quote from the upstream README:
> Tests require at least one scanner with a flatbed and an ADF
> (Automatic Document Feeder).
>
> If possible, they should be run with at least 2 scanners connected.
> The first that appear in "scanimage -L" must be the one with the ADF.
>
> For reference, my current setup is:
>
> - HP Officejet 4620 (Flatbed + ADF)
> - HP Deskjet 2050 J510 series (Flatbed)
So we disable the tests even though it might be theoretically possible
to use qemu and an emulated scanner. Instead of the upstream tests we
just do a quick check whether initialization of the library succeeds.
Other than that the library uses ctypes.cdll to dlopen() the libsane
shared library, so we need to patch in the right store path.
Tested by building against Python 2.7, 3.3, 3.4, 3.5 and 3.6.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
The upstream tag actually says 1.5.7 but the commit actually bumps the
version to 1.5.8:
https://github.com/hickeroar/simplebayes/commit/b8da72c50d20b6f8c0d
We needed to patch the setup.py because the upstream project's setup.py
reads in the README.rst for the longDescription. That very README.rst
contains non-ASCII characters which in turn throws a decoding error with
Python 3 on Nix because I think this has to do with our setup.py wrapper
that doesn't seem to recognize the right encoding when using compile().
Tested by building against Python 2.7, 3.3, 3.4, 3.5 and 3.6.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
The icon resource file captures the build timestamp, introducing an
element of indeterminism. Fix by patching out the timestamp.
This allows
```sh
nix-build --check -A electrum
```
to succeed.