From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Phillip Lord Newsgroups: gmane.emacs.devel Subject: Re: Process to build standalone Emacs + deps in Windows Date: Thu, 26 Mar 2020 22:28:41 +0000 Message-ID: <87pncy21k6.fsf@russet.org.uk> References: <86fte0pmnc.fsf@csic.es> <83sgi0cwxj.fsf@gnu.org> <86a748xxnx.fsf@csic.es> <87eetk1apz.fsf@russet.org.uk> <86d090ha3q.fsf@csic.es> <86r1xgcx6b.fsf@csic.es> <86mu84cwoi.fsf@csic.es> <878sjoqd1x.fsf@russet.org.uk> <867dz7tfk0.fsf@csic.es> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="25176"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.90 (gnu/linux) Cc: emacs-devel@gnu.org To: Juan =?utf-8?Q?Jos=C3=A9_Garc=C3=ADa-Ripoll?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Mar 26 23:30:14 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jHb0w-0006Sx-5n for ged-emacs-devel@m.gmane-mx.org; Thu, 26 Mar 2020 23:30:14 +0100 Original-Received: from localhost ([::1]:33566 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHb0v-0006L2-6k for ged-emacs-devel@m.gmane-mx.org; Thu, 26 Mar 2020 18:30:13 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:52573) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHazW-0004di-CU for emacs-devel@gnu.org; Thu, 26 Mar 2020 18:28:47 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jHazU-0005bL-WD for emacs-devel@gnu.org; Thu, 26 Mar 2020 18:28:46 -0400 Original-Received: from cloud103.planethippo.com ([78.129.138.110]:56380) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jHazU-0005ZQ-Pz for emacs-devel@gnu.org; Thu, 26 Mar 2020 18:28:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=russet.org.uk; s=default; h=Content-Transfer-Encoding:Content-Type: MIME-Version:Message-ID:In-Reply-To:Date:References:Subject:Cc:To:From:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=br3ltAhH4yX/TdRw+6zL3t63Ck7Ghh9hm/tlvthGnsY=; b=ivGc4P+hhZrGcld2VCQ8MBN9bZ OOjouVdImRWbQBV1CWZ8oDzi90DjK3T5UQZsxCv7uLW+M7AL5SjeIbo3RwfVKmEYMbb41Kob/iFK3 X6TZO98eH5IWi27miD1vOlTi3f6APJ6chBa+p9PCAYMfNDVEWOhwz+vb3B0D4Lya6IWehkAm1Gpd2 3puYQVo9IIsctTCTbqPt2PZcpkhvmMbhEGvdxO16pYO2NNn7pcmtB9GQtK9n41ES/PIkdpGJqMwwj RTjIhva3U+/cd7HleDntAR38gtVyX3wnzhyMw7dM4GXfF2sCCjVjOPdp+uSlzgrTTqXSwWK++GVF+ dLoDi1XA==; Original-Received: from cpc142652-benw12-2-0-cust953.16-2.cable.virginm.net ([82.21.43.186]:58836 helo=russet.org.uk) by cloud103.planethippo.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1jHazS-0000it-OL; Thu, 26 Mar 2020 22:28:42 +0000 In-Reply-To: <867dz7tfk0.fsf@csic.es> ("Juan =?utf-8?Q?Jos=C3=A9_Garc?= =?utf-8?Q?=C3=ADa-Ripoll=22's?= message of "Thu, 26 Mar 2020 14:24:15 +0100") X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cloud103.planethippo.com X-AntiAbuse: Original Domain - gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - russet.org.uk X-Get-Message-Sender-Via: cloud103.planethippo.com: authenticated_id: phillip.lord@russet.org.uk X-Authenticated-Sender: cloud103.planethippo.com: phillip.lord@russet.org.uk X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 78.129.138.110 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:245825 Archived-At: Juan Jos=C3=A9 Garc=C3=ADa-Ripoll writes: > Phillip Lord writes: >> In reply to two of your emails, sorry: >> >> + if dependencies: >> + print(f"Package {pkg} depends on:") >> + for d in dependencies: >> + print(f" -> {d}") >> + >> >> I wouldn't add this. It's only useful some of the time, not in normal >> usage, and anyway "pactree" does the same thing better. > > Right now the scripts do not provide this information but do emit a line > "Adding *package name*" I personally find it more informative to at > least instruct why the package is added. If pactree is more useful, it > is not used anywhere in the current code. pactree gives a graphical picture of all the dependencies. It's not used in the current code, since I refactored it to drop a lot of dependencies. But, as a tool it will still tell you what depends on what. >> + ## exclude files >> + excludes=3D['lib/*.a', # No files to link against >> + 'lib/*/*.exe', # No hidden executables >> + 'libexec/*/*.exe', >> [...] >> >> This list would need to go near the front, so we have a clean >> configuration section. It also displays the key problem -- it's really >> long and non obvious so a maintenance burden > > Not really. The *.exe can be deduced from the pacman files. Not sure I understand here to be honest. >> If we just did a few big top level directories, would that not solve all >> the problems. > > I proposed to remove complete directories but it seems it is not an optio= n. > >> +# The dependency extraction relies on an English version of pacman >> +# We need to configure the locale to match the expectations >> +if 'LANG' in os.environ: >> + os_lang =3D os.environ['LANG'] >> + if (len(os_lang) > 2) and (os_lang[0:2] !=3D 'en'): >> + os.environ['LANG']=3D'en_US' >> I am vaguely curious what it looks like in Spanish. I thought the output >> was fairly mechanistic. > > Your filter relies on the English word "depends on" > ## Extract the "Depends On" line > depends_on =3D [x for x in package_info if x.startswith("Depends On")= ][0] > This is heavily locale-dependent Oh yeah, that's funny. >> - Since we are pulling in compression utilities, we may just as well tel= l the >> configuration to compress the *.el files. Windows is the only platform= where >> this does not happen >> >> No, because I generate the no-deps version first, then add the deps. The >> -no-deps version doesn't have the compression utilities. Of course, we >> do not need the *.el files at all. > > The no-deps version does not have the compression utilities but it is > not intended to be used by itself, as it depends on all the *.dll Hence, > one may argue that it can be built to support compression. The no-deps version should work fine all by itself. Indeed, this used to be the only form of Emacs distribution for windows. It just won't do some things. > >> b) I realized that Cairo is pulled in as a dependency, but Emacs is >> built without support for Cairo. Is this intentional? >> >> No, it will be a transitive dependency of something. pactree will >> reveal! > > My simple lines instructing what depends on what showed this: it is > pulled in by rsvg. There were some earlier emails about this. Yes, I know. Phil