From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Juan =?utf-8?Q?Jos=C3=A9_Garc=C3=ADa-Ripoll?= Newsgroups: gmane.emacs.devel Subject: Re: Process to build standalone Emacs + deps in Windows Date: Thu, 26 Mar 2020 14:24:15 +0100 Message-ID: <867dz7tfk0.fsf@csic.es> 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> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="76082"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (windows-nt) To: emacs-devel@gnu.org Cancel-Lock: sha1:jVH+lSK7QfzOXAU6IYxj8PVHM6E= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Mar 26 14:25:45 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 1jHSW0-000Jhx-9c for ged-emacs-devel@m.gmane-mx.org; Thu, 26 Mar 2020 14:25:44 +0100 Original-Received: from localhost ([::1]:51532 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHSVz-0000q4-CQ for ged-emacs-devel@m.gmane-mx.org; Thu, 26 Mar 2020 09:25:43 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:54430) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHSVN-0008M6-2e for emacs-devel@gnu.org; Thu, 26 Mar 2020 09:25:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jHSVL-0002f9-Oh for emacs-devel@gnu.org; Thu, 26 Mar 2020 09:25:05 -0400 Original-Received: from ciao.gmane.io ([159.69.161.202]:38168) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jHSVL-0002em-IJ for emacs-devel@gnu.org; Thu, 26 Mar 2020 09:25:03 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1jHSVK-000Ipv-7A for emacs-devel@gnu.org; Thu, 26 Mar 2020 14:25:02 +0100 X-Injected-Via-Gmane: http://gmane.org/ X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 159.69.161.202 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:245803 Archived-At: 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. > + ## exclude files > + excludes=['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. > 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 option. > +# 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 = os.environ['LANG'] > + if (len(os_lang) > 2) and (os_lang[0:2] != 'en'): > + os.environ['LANG']='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 = [x for x in package_info if x.startswith("Depends On")][0] This is heavily locale-dependent > - Since we are pulling in compression utilities, we may just as well tell 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. > 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. Cheers, -- Juan José García Ripoll http://juanjose.garciaripoll.com http://quinfog.hbar.es