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