Re: notmuch on w32
authorClaudio Bley <claudio.bley@googlemail.com>
Mon, 21 Oct 2013 21:59:45 +0000 (23:59 +0200)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 17:57:30 +0000 (09:57 -0800)
f8/427c2f6906739e78795e7e04b1ecd3cce1a5f9 [new file with mode: 0644]

diff --git a/f8/427c2f6906739e78795e7e04b1ecd3cce1a5f9 b/f8/427c2f6906739e78795e7e04b1ecd3cce1a5f9
new file mode 100644 (file)
index 0000000..2b30f35
--- /dev/null
@@ -0,0 +1,308 @@
+Return-Path: <claudio.bley@googlemail.com>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+       by olra.theworths.org (Postfix) with ESMTP id 55FFB431FCB\r
+       for <notmuch@notmuchmail.org>; Mon, 21 Oct 2013 15:00:02 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -0.185\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-0.185 tagged_above=-999 required=5\r
+       tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1,\r
+       FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_SORBS_WEB=0.614]\r
+       autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+       by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+       with ESMTP id XXcXLxG1XcKi for <notmuch@notmuchmail.org>;\r
+       Mon, 21 Oct 2013 14:59:56 -0700 (PDT)\r
+Received: from mail-bk0-f49.google.com (mail-bk0-f49.google.com\r
+       [209.85.214.49]) (using TLSv1 with cipher RC4-SHA (128/128 bits))\r
+       (No client certificate requested)\r
+       by olra.theworths.org (Postfix) with ESMTPS id E8873431FAF\r
+       for <notmuch@notmuchmail.org>; Mon, 21 Oct 2013 14:59:55 -0700 (PDT)\r
+Received: by mail-bk0-f49.google.com with SMTP id w14so990335bkz.36\r
+       for <notmuch@notmuchmail.org>; Mon, 21 Oct 2013 14:59:53 -0700 (PDT)\r
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;\r
+       d=googlemail.com; s=20120113;\r
+       h=date:message-id:from:to:cc:subject:in-reply-to:references\r
+       :user-agent:mime-version:content-type;\r
+       bh=QSC/kZ0k8tosL4FdIOXLBvSEqhr8uFJS8rRUhexAxv8=;\r
+       b=J2bwIrZiuOtdwjuBjJJLmrJV19mndx1+lqo6vBOVtE6vBC962AXAO4/DN5V27DBwps\r
+       icahKv5jUHsSlW/wkHaOkEr5yGfl+5zjXCabAgRV7AHNj04GAyacmo5LXYB99rjby27i\r
+       GhLxnYVGxdCdbOb8GfEQbgSFxFmI0RNra6rOGfV6AH5/eG1K6qCuGLIRoDtZdQ000uCu\r
+       d2uDLtVK6CI8FhwhGL/JRpXocNi+elF3JTQp9zK1VpDeN1ctpqwivDlP8j/j6VUBIkKh\r
+       5KCMtrj9ek/3rgf7GgwiVIDMvrE7xnV05elsKUNuAnS81sZ6C+iPx8JeLMbAzdBsQKQb\r
+       PFDg==\r
+X-Received: by 10.204.63.7 with SMTP id z7mr8707406bkh.23.1382392791959;\r
+       Mon, 21 Oct 2013 14:59:51 -0700 (PDT)\r
+Received: from linux.localdomain.de (95-91-253-65-dynip.superkabel.de.\r
+       [95.91.253.65]) by mx.google.com with ESMTPSA id\r
+       no2sm10882180bkb.15.2013.10.21.14.59.50 for <multiple recipients>\r
+       (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\r
+       Mon, 21 Oct 2013 14:59:51 -0700 (PDT)\r
+Date: Mon, 21 Oct 2013 23:59:45 +0200\r
+Message-ID: <87sivu5lpq.wl%claudio.bley@gmail.com>\r
+From: Claudio Bley <claudio.bley@googlemail.com>\r
+To: David Bremner <david@tethera.net>\r
+Subject: Re: notmuch on w32\r
+In-Reply-To: <87y55oudul.fsf@zancas.localnet>\r
+References: <87mwm71x91.wl%claudio.bley@gmail.com>\r
+       <87bo2lvxx3.fsf@zancas.localnet>\r
+       <CAMP44s3UeDJVYY+qDjyJ6qKOWZ59tyGzj776HrGh=wMV_JvnvQ@mail.gmail.com>\r
+       <m2k3h86lo7.fsf@guru.guru-group.fi>     <87y55oudul.fsf@zancas.localnet>\r
+User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka)\r
+       FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 Emacs/24.3\r
+       (x86_64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO)\r
+MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka")\r
+Content-Type: text/plain; charset=US-ASCII\r
+X-Mailman-Approved-At: Mon, 21 Oct 2013 23:06:59 -0700\r
+Cc: Tomi Ollila <tomi.ollila@iki.fi>,\r
+       "notmuch@notmuchmail.org" <notmuch@notmuchmail.org>\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+       <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Mon, 21 Oct 2013 22:00:02 -0000\r
+\r
+Hi.\r
+\r
+At Sun, 20 Oct 2013 13:05:54 -0300,\r
+David Bremner wrote:\r
+> \r
+> Tomi Ollila <tomi.ollila@iki.fi> writes:\r
+> \r
+> > I'd suggest you do a system that attaches to the current system with as\r
+> > small changes as possible (so you get reviewers) and put all windows\r
+> > specific things to separate script(s) (which is executed *only* when windows\r
+> > build is detected). The gnulib dependency could be handled so that in \r
+> > case (ext/*)gnulib directory does not exist, first\r
+> > 'git clone git://git.savannah.gnu.org/gnulib.git' is done -- and then\r
+> > a specific commit is checked out from the clone (git reset --hard <hash>)\r
+> \r
+> After looking at gnulib a bit yesterday, it seems unlikely that we need\r
+> or want all of it.\r
+\r
+Yes, it's seldom that one needs all of it.\r
+\r
+>  It might be simpler to just grab the bits of gnulib\r
+> we need and throw them in ./compat. gnulib-tool seems to want autoconf,\r
+> but you don't have to use gnulib-tool.\r
+\r
+Currently, I'm using these modules for w32 compat:\r
+\r
+canonicalize\r
+errno\r
+execute\r
+fsync\r
+getdelim\r
+gethostname\r
+getline\r
+mkdir\r
+netdb\r
+progname\r
+readlink\r
+regex\r
+scandir\r
+sigaction\r
+signal-h\r
+strcasestr\r
+strsep\r
+sys_wait\r
+time_r\r
+timegm \r
+waitpid\r
+xvasprintf\r
+\r
+(some of which you already have implemented)\r
+\r
+but those modules in turn depend on other gnulib modules, so you'd end\r
+up with:\r
+\r
+    alloca-opt\r
+    areadlink-with-size\r
+    at-internal\r
+    bitrotate\r
+    btowc\r
+  canonicalize\r
+    chdir\r
+    chdir-long\r
+    cloexec\r
+    close\r
+    closedir\r
+    configmake\r
+    d-ino\r
+    dirent\r
+    dirfd\r
+    dirname\r
+    dirname-lgpl\r
+    dosname\r
+    double-slash-root\r
+    dup\r
+    dup2\r
+    environ\r
+  errno\r
+    error\r
+  execute\r
+    exitfail\r
+    extensions\r
+    extern-inline\r
+    fatal-signal\r
+    fchdir\r
+    fcntl\r
+    fcntl-h\r
+    fd-hook\r
+    fdopendir\r
+    file-set\r
+    filename\r
+    filenamecat-lgpl\r
+    float\r
+    fstat\r
+    fstatat\r
+  fsync\r
+    getcwd\r
+    getcwd-lgpl\r
+  getdelim\r
+    getdtablesize\r
+  gethostname\r
+  getline\r
+    gettext-h\r
+    hash\r
+    hash-pjw\r
+    hash-triple\r
+    havelib\r
+    include_next\r
+    intprops\r
+    langinfo\r
+    largefile\r
+    localcharset\r
+    locale\r
+    localeconv\r
+    lock\r
+    lstat\r
+    malloc-gnu\r
+    malloc-posix\r
+    mbrtowc\r
+    mbsinit\r
+    mbtowc\r
+    memchr\r
+    mempcpy\r
+    memrchr\r
+  mkdir\r
+    mktime\r
+    mktime-internal\r
+    msvc-inval\r
+    msvc-nothrow\r
+    multiarch\r
+  netdb\r
+    nl_langinfo\r
+    nocrash\r
+    open\r
+    openat\r
+    openat-die\r
+    openat-h\r
+    opendir\r
+    pathmax\r
+    posix_spawn-internal\r
+    posix_spawn_file_actions_addopen\r
+    posix_spawn_file_actions_destroy\r
+    posix_spawn_file_actions_init\r
+    posix_spawnattr_destroy\r
+    posix_spawnattr_init\r
+    posix_spawnattr_setflags\r
+    posix_spawnattr_setsigmask\r
+    posix_spawnp\r
+  progname\r
+    raise\r
+    rawmemchr\r
+    readdir\r
+  readlink\r
+    realloc-posix\r
+  regex\r
+    rewinddir\r
+    same\r
+    same-inode\r
+    save-cwd\r
+  scandir\r
+    sched\r
+  sigaction\r
+  signal-h\r
+    sigprocmask\r
+    size_max\r
+    snippet/_Noreturn\r
+    snippet/arg-nonnull\r
+    snippet/c++defs\r
+    snippet/warn-on-use\r
+    socketlib\r
+    sockets\r
+    socklen\r
+    spawn\r
+    ssize_t\r
+    stat\r
+    stdalign\r
+    stdarg\r
+    stdbool\r
+    stddef\r
+    stdint\r
+    stdio\r
+    stdlib\r
+    strcase\r
+  strcasestr\r
+    strcasestr-simple\r
+    strchrnul\r
+    strdup-posix\r
+    streq\r
+    strerror\r
+    strerror-override\r
+    string\r
+    strings\r
+    strndup\r
+    strnlen\r
+  strsep\r
+    sys_socket\r
+    sys_stat\r
+    sys_types\r
+    sys_uio\r
+  sys_wait\r
+    threadlib\r
+    time\r
+  time_r\r
+  timegm\r
+    unistd\r
+    unistd-safer\r
+    vasnprintf\r
+    vasprintf\r
+    verify\r
+    wait-process\r
+  waitpid\r
+    wchar\r
+    wcrtomb\r
+    wctype-h\r
+    xalloc\r
+    xalloc-die\r
+    xalloc-oversized\r
+    xgetcwd\r
+    xsize\r
+    xstrndup\r
+  xvasprintf\r
+\r
+Of course, you'd also need the configure checks to enable/disable\r
+compiling those modules. Doing this without gnulib-tool / autotools\r
+seems to be a lot of (gratuitous) work.\r
+\r
+I don't think that I'll have to time to do this, so I'll just keep my\r
+patches in a private branch then, which saves me the effort of\r
+polishing the patches.\r
+\r
+Thanks for your attention.\r
+\r
+Claudio\r
+\r