From: Vladimir Panteleev <notmuch@thecybershadow.net>
To: notmuch@notmuchmail.org
Subject: [PATCH 0/8] notmuch on Windows (Cygwin) and AppVeyor
Date: Tue, 22 Aug 2017 22:43:31 +0000 [thread overview]
Message-ID: <20170822224339.22601-1-notmuch@thecybershadow.net> (raw)
Hi,
I've spent a bit of time over the past few days trying to get notmuch
to build and run tests on CygWin and AppVeyor CI's systems (AppVeyor
being a gratis continuous integration provider for Windows). Not from
some personal need, but simply because I generally enjoy and have some
experience with tinkering with CI systems.
I've gotten as far as to get everything to build and the test suite to
run (but not pass). A few ugly hacks were needed (luckily, mostly
outside notmuch's existing codebase), mainly related to talloc, as it
seems that it (or Waf, which it uses) does not speak Cygwin well. I
will probably draw the line here, as it looks like actually fixing
some of the failing tests would take some non-trivial work (e.g. one
test failure I saw seems to point towards a bug in Xapian/Cygwin). I'm
also not convinced that, practically speaking, the effort would be
well spent, as probably the best way to run notmuch under Windows
would be using Windows Subsystem for Linux instead of an userspace
POSIX environment like Cygwin or MSYS.
Some notes:
- 64-bit Cygwin seems to work much better than the 32-bit version,
which ran into issues apparently caused by the limited address space
in some scenarios I've seen.
- Partial updates of a Cygwin installation can predictably lead to a
broken installation. --upgrade-also should always be used for
unattended invocations of Cygwin's setup.exe.
- MSYS also packages Xapian and gmime, however an MSYS port is likely
to be even more challenging, as it provides less of the POSIX
environment than Cygwin.
You can see the current AppVeyor results here (warning, large page):
https://ci.appveyor.com/project/CyberShadow/notmuch/build/1.0.26
Development drafts of patch series is here:
https://github.com/CyberShadow/notmuch/commits/appveyor
Vladimir Panteleev (8):
lib: Fix talloc not being defined on Cygwin
Split CONFIGURE_LDFLAGS out of FINAL_LIBNOTMUCH_LDFLAGS
lib: Fix libnotmuch.so link under Cygwin
configure: Refactor uname parsing into a case statement
configure: Detect Cygwin, and set PLATFORM accordingly
Fix linking shared library on Cygwin
test: Don't attempt to build symbol-test on Cygwin
Add AppVeyor CI configuration and test script
Makefile.global | 12 +++++-
Makefile.local | 2 +-
appveyor.yml | 7 ++++
configure | 106 +++++++++++++++++++++++++++----------------------
devel/appveyor.sh | 39 ++++++++++++++++++
lib/Makefile.local | 2 +-
lib/database-private.h | 4 +-
test/Makefile.local | 5 ++-
8 files changed, 123 insertions(+), 54 deletions(-)
create mode 100644 appveyor.yml
create mode 100644 devel/appveyor.sh
--
2.13.3
next reply other threads:[~2017-08-22 22:44 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-22 22:43 Vladimir Panteleev [this message]
2017-08-22 22:43 ` [PATCH 1/8] lib: Fix talloc not being defined on Cygwin Vladimir Panteleev
2017-08-22 22:43 ` [PATCH 2/8] Split CONFIGURE_LDFLAGS out of FINAL_LIBNOTMUCH_LDFLAGS Vladimir Panteleev
2017-08-22 22:43 ` [PATCH 3/8] lib: Fix libnotmuch.so link under Cygwin Vladimir Panteleev
2017-08-22 22:43 ` [PATCH 4/8] configure: Refactor uname parsing into a case statement Vladimir Panteleev
2017-08-22 22:43 ` [PATCH 5/8] configure: Detect Cygwin, and set PLATFORM accordingly Vladimir Panteleev
2017-08-22 22:43 ` [PATCH 6/8] Fix linking shared library on Cygwin Vladimir Panteleev
2017-08-22 22:43 ` [PATCH 7/8] test: Don't attempt to build symbol-test " Vladimir Panteleev
2017-08-22 22:43 ` [PATCH 8/8] Add AppVeyor CI configuration and test script Vladimir Panteleev
2017-08-25 11:35 ` [PATCH 0/8] notmuch on Windows (Cygwin) and AppVeyor David Bremner
2017-08-25 18:52 ` Vladimir Panteleev
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://notmuchmail.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170822224339.22601-1-notmuch@thecybershadow.net \
--to=notmuch@thecybershadow.net \
--cc=notmuch@notmuchmail.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://yhetil.org/notmuch.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).