From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.139]) by sourceware.org (Postfix) with ESMTPS id 987943857C54 for ; Wed, 16 Sep 2020 05:13:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 987943857C54 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=SystematicSw.ab.ca Authentication-Results: sourceware.org; spf=none smtp.mailfrom=brian.inglis@systematicsw.ab.ca Received: from [192.168.1.104] ([24.64.172.44]) by shaw.ca with ESMTP id IPl1k83ENHxtDIPl2kXEg6; Tue, 15 Sep 2020 23:13:28 -0600 X-Authority-Analysis: v=2.4 cv=Ce22WJnl c=1 sm=1 tr=0 ts=5f619ef9 a=kiZT5GMN3KAWqtYcXc+/4Q==:117 a=kiZT5GMN3KAWqtYcXc+/4Q==:17 a=IkcTkHD0fZMA:10 a=93Ubh6UdAAAA:8 a=IU-5ATUZAAAA:8 a=OxQyR9exzOHlNgywpWkA:9 a=QEXdDO2ut3YA:10 a=Ier_NYk7T1cA:10 a=q-6THwuxr82FYj4XiUVi:22 a=5iOOLFqJk1_d28zLlaE2:22 Reply-To: cygwin-apps@cygwin.com Subject: Re: Scallywag glitch with texlive-collection-* packages To: cygwin-apps@cygwin.com References: <0df903c6-5bc7-6a86-8dcb-95bb04aa082e@cornell.edu> <99211ca4-a9be-ca3e-6c42-8012de05e1c5@SystematicSw.ab.ca> <87363jhacx.fsf@Otto.invalid> From: Brian Inglis Autocrypt: addr=Brian.Inglis@SystematicSw.ab.ca; prefer-encrypt=mutual; keydata= mDMEXopx8xYJKwYBBAHaRw8BAQdAnCK0qv/xwUCCZQoA9BHRYpstERrspfT0NkUWQVuoePa0 LkJyaWFuIEluZ2xpcyA8QnJpYW4uSW5nbGlzQFN5c3RlbWF0aWNTdy5hYi5jYT6IlgQTFggA PhYhBMM5/lbU970GBS2bZB62lxu92I8YBQJeinHzAhsDBQkJZgGABQsJCAcCBhUKCQgLAgQW AgMBAh4BAheAAAoJEB62lxu92I8Y0ioBAI8xrggNxziAVmr+Xm6nnyjoujMqWcq3oEhlYGAO WacZAQDFtdDx2koSVSoOmfaOyRTbIWSf9/Cjai29060fsmdsDLg4BF6KcfMSCisGAQQBl1UB BQEBB0Awv8kHI2PaEgViDqzbnoe8B9KMHoBZLS92HdC7ZPh8HQMBCAeIfgQYFggAJhYhBMM5 /lbU970GBS2bZB62lxu92I8YBQJeinHzAhsMBQkJZgGAAAoJEB62lxu92I8YZwUBAJw/74rF IyaSsGI7ewCdCy88Lce/kdwX7zGwid+f8NZ3AQC/ezTFFi5obXnyMxZJN464nPXiggtT9gN5 RSyTY8X+AQ== Organization: Systematic Software Message-ID: Date: Tue, 15 Sep 2020 23:13:27 -0600 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 MIME-Version: 1.0 In-Reply-To: <87363jhacx.fsf@Otto.invalid> Content-Type: text/plain; charset=utf-8 Content-Language: en-CA Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4xfLX2tkKLrkp6qIuck8d3OQiwYl8CHaQ7Osbpe/B/HWJBgJ7G3orTZbnCnQx8M0v0iNDT5SGjG4+YgDurJUcYAVutXatMQ9K8lreTBy1OnPKJJj1uH+tH iBgkufQpZx264gDZ52uvsRoR6AVU9sc4VV3KVuJemHPkugaynQ3N8UTF7eugZzL1F2yo1YfEMMChuSS4hMuGEDWweMEMOYJNkU8= X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin-apps@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin package maintainer discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Sep 2020 05:13:32 -0000 On 2020-09-14 23:34, ASSI wrote: > Brian Inglis writes: >> Any changes made or needed in cygport or scallywag for mingw64 packages? >> I've rebuilt and reuploaded both Mingw curl noarches to see if they make it. > > If you're just trying out things push to the playground branch and > iterate it there until it works. You can force-push to this branch and > delete it afterwards if you want. I just rebuilt all packages locally as release 2 and compared with the release 1 config and build logs to ensure the results were identical other than the release number, before renumbering the cygport release back to 1 and committing and pushing the cygport updates to git-cygwin-packages. > You still haven't added the necessary BUILD_REQUIRES correctly. Btw, AFAIR multi-line BUILD_REQUIRES strings with and without \ at EoL caused problems, so I have added a series of += statements to create that and DEPEND in the latest cygport pushes to git-cygwin-packages, and align all 3 cygports as much as possible for ease of comparison and maintenance (using gvimdiff). > ZStandard is available both natively and for mingw64 in Cygwin. Good suggestion, as it is picked up automatically by Cygwin curl config, but although everything appears to be the same for zlib and zstd, other than zstd missing a default sharedlibdir definition in zstd.pc, that is not found in the mingw64 config which fails: configure:21544: checking for x86_64-w64-mingw32-pkg-config configure:21575: result: /usr/bin/x86_64-w64-mingw32-pkg-config configure:21644: checking for zlib options with pkg-config configure:21658: result: found configure:21723: checking for zlib.h configure:21723: result: yes configure:21811: found both libz and libz.h header configure:22106: checking for x86_64-w64-mingw32-pkg-config configure:22137: result: /usr/bin/x86_64-w64-mingw32-pkg-config configure:22206: checking for libzstd options with pkg-config configure:22220: result: found configure:22253: checking for ZSTD_createDStream in -lzstd configure:22284: result: no configure:22298: checking for zstd.h configure:22298: result: no configure:22318: error: libzstd was not found where specified! As I am new to mingw64 packaging, any suggestions for things to try or tweaks for mingw64 build are welcome. Do I need to cross_de/sysrootize zstd.pc or something? $ head -n19 /usr/lib/pkgconfig/*z???*.pc ==> /usr/lib/pkgconfig/libzstd.pc <== # ZSTD - standard compression algorithm # Copyright (C) 2014-2016, Yann Collet, Facebook # BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) prefix=/usr exec_prefix=${prefix} includedir=${prefix}/include libdir=${exec_prefix}/lib Name: zstd Description: fast lossless compression algorithm library URL: http://www.zstd.net/ Version: 1.4.5 Libs: -L${libdir} -lzstd Cflags: -I${includedir} ==> /usr/lib/pkgconfig/zlib.pc <== prefix=/usr exec_prefix=/usr libdir=/usr/lib sharedlibdir=/usr/lib includedir=/usr/include Name: zlib Description: zlib compression library Version: 1.2.11 Requires: Libs: -L${libdir} -lz Cflags: -I${includedir} >> I found that for cygport NAME must be a hardcoded constant string not requiring >> script evaluation; hopefully other content is evaluated in the script context >> and does not also require to be hardcoded constants. > > You need to lose that $XARCH monkey business as well. Scallywag just > looks at the file, it doesn't evaluate anything. That variable makes it easier for me to align and copy/paste changes between cygport scripts with fewer errors, which is why I added it, as I could not come up with a meaningful name to call the mingw64-$XARCH prefix, and also worried about possibly conflicting with cygport variables. As not all variables can be specified as multi-line constants, and I am uncomfortable specifying variables in lines hundreds of bytes long, they need to be composed with short lines using +=, and not evaluating may lead to incorrect results. [TL;DR: I got used in (macro) assemblers and earlier (strict) languages to abstracting out very granular architectural features and data, definitions, and patterns into common specification header definitions distinct from the abstract implementation in code, and that is still my preferred personal development style, subject to project variations: that may annoy others as much as my seeing others using any manifest constant values (other than 0, 1, various nulls) in code!] -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada This email may be disturbing to some readers as it contains too much technical detail. Reader discretion is advised. [Data in IEC units and prefixes, physical quantities in SI.]