[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lmi] [PATCH] Allow installing wxWidgets from GitHub

From: Greg Chicares
Subject: Re: [lmi] [PATCH] Allow installing wxWidgets from GitHub
Date: Wed, 05 Aug 2015 01:39:08 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.3.0

On 2015-07-23 23:35, Vadim Zeitlin wrote:
>  The following patch allows to specify the SHA-1 of the commit in wxWidgets
> repository to get from GitHub by doing, for example
>       make -f install_wx.make \
>           wx_commit_sha=64308117e830e50ba4ab062ece9ab3196f305914 \
>           wx_md5=8290db222d7ccc08a026200288cc177d
> This is needed because although the recipe for building wxWidgets from git
> version outlined in Greg's 2014-10-25 email[*] works just fine when working
> with an already installed lmi, it can't be used when testing the
> installation from scratch using install_msw.sh script,

Indeed that is a serious problem. I hadn't gotten around to it yet, so
I'm glad you did.

> while as with this
> patch it's enough to edit the downloaded script to add wx_commit_sha and
> wx_md5 definitions to make command line and then everything works. And
> while I made these changes for this reason only, I think they might be used
> for someone who needs to build the latest lmi without any complications
> with git, wxWidgets and so on.

In order to make everything just work OOTB, without manual editing, I
think I'll build the overrides into the makefile; if we ever get back
to an official wx release, I can ifdef them out.

I've amused myself by paying homage
to alt.bad.clams, e.g.
which followed netiquette except, deliberately, for disregarding the
trimming imperative, but that joke has run long enough, and it's
easier just to commit a new makefile version for each wx update.

>  As usual, please let me know if you have any questions about this patch,
> VZ
> [*] http://lists.nongnu.org/archive/html/lmi/2014-10/msg00083.html

First of all, let me verify what I think are the underlying assumptions.
GitHub provides convenient tarballs, and all we have to do is provide
the SHA sum in a URL, e.g.:
The contents are the same as what we'd get by cloning
and doing 'git archive', specifying the same SHA sum. They must do
this on the fly, because there are so many commits--that's clever, and
useful. They don't, I suppose, deliver '.tar.*' tarballs, probably
preferring '.zip' archives because that's easier for non-adepts and
easy enough for adepts. This is a convenient and reliable replacement
for the old ftp.wxwidgets.org daily tarballs.

We've already relied on GitHub for some time, and I'm not aware of any
problem there (it's not like sf.net AFAIK). You've thoughtfully left
the old code in place, so we can always fall back on ftp.wxwidgets.org
if needed. This is all good.

Arguably the SHA sum is enough, and the tarball's md5sum is unneeded,
but I'm glad you left it in--I prefer to keep it just in case.

It's unnecessary to conditionalize the '.zip' rule at all. The earlier
conditionals can be consolidated, with a less broad scope. Attached is
a demonstration, which contains an acceptance-testing target 'foo' to
make sure it does the same as your original. This
  make wx_commit_sha=123 wx_md5=456 -f install_wx.make foo
seems to do the right thing. This
  make wx_commit_sha=123 -f install_wx.make foo
fails with a diagnostic, as intended. And this
  $make -f install_wx.make foo
seems to give the original behavior. Aside from these 'foo' tests, I
didn't actually remake wx, but I'll trust that it'll work.  Please let
me know if I've missed anything. I'd like to commit this tomorrow, sans
'foo', and perhaps with a built-in override as described above.

Probably the only interesting change I've made is
    ifneq "$(origin wx_md5)" "$(origin wx_commit_sha)"
in order to make it possible to use only one conditional section;
but that won't survive if I build in overriding values.

Attachment: wx_install.make.diff
Description: Text Data

reply via email to

[Prev in Thread] Current Thread [Next in Thread]