delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2021/10/15/11:23:57

X-Recipient: archive-cygwin AT delorie DOT com
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9D5D3385782D
Authentication-Results: sourceware.org; dmarc=none (p=none dis=none)
header.from=SystematicSw.ab.ca
Authentication-Results: sourceware.org;
spf=none smtp.mailfrom=systematicsw.ab.ca
X-Authority-Analysis: v=2.4 cv=EIdlb3VC c=1 sm=1 tr=0 ts=61699ccf
a=T+ovY1NZ+FAi/xYICV7Bgg==:117 a=T+ovY1NZ+FAi/xYICV7Bgg==:17
a=IkcTkHD0fZMA:10 a=w_pzkKWiAAAA:8 a=uYT-Tk0qkVT609LjNaIA:9 a=QEXdDO2ut3YA:10
a=sRI3_1zDfAgwuvI8zelB:22
To: cygwin AT cygwin DOT com
References: <CADt9576V=QzeWX+617wFt4CNYQLmJQiF2Ov3QdFHa=bcHh7P5A AT mail DOT gmail DOT com>
From: Brian Inglis <Brian DOT Inglis AT SystematicSw DOT ab DOT ca>
Organization: Systematic Software
Subject: Re: CYGPORT: using WAF build system.
Message-ID: <ea4e2c7b-c810-c3e0-c53c-b7d61153cd66@SystematicSw.ab.ca>
Date: Fri, 15 Oct 2021 09:22:54 -0600
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.14.0
MIME-Version: 1.0
In-Reply-To: <CADt9576V=QzeWX+617wFt4CNYQLmJQiF2Ov3QdFHa=bcHh7P5A@mail.gmail.com>
X-CMAE-Envelope: MS4xfJAB+fg8kbIExoWP7Dtwj7L1NaxeUutcQCPYab7Nq3fMeIvVbAJ183DJtB3BS/RJv4XrDrhucgP8GRZICvFzWqmETGDCtc+pNm+JS4dDHuNDTT9d6UIn
okgpsCA3HcVfXxWZBh0kSl7cnJaTlGo1LojRIsSD/n84UYfcCvxZBGnedUxB6bvRp0S9AiFACheZ4pb5aW5JqHxNIHS5QSIn8+OSN3/aLCNS5OeEyXI6ozGj
X-Spam-Status: No, score=-1160.8 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS,
KAM_LAZY_DOMAIN_SECURITY, NICE_REPLY_A, RCVD_IN_BARRACUDACENTRAL,
RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE,
SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.4
X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on
server2.sourceware.org
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
Reply-To: cygwin AT cygwin DOT com
Errors-To: cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com>

On 2021-10-14 04:02, Carlo B. via Cygwin wrote:
> I would like to make a package with LV2 plugins for CYGWIN.
> The problem is that those plugins are using the WAF build system and
> it is not clear to me how to proceed. Do you know if some of the
> existing packages for CYGWIN are using WAF, so that they could be uses
> as example for starting?

In connection with other queries, I just came across a few lv2 packages 
already available in Cygwin:

lv2
lv2core
lv2-calf
lv2-devel
lv2-examples
lv2-swh

slv2
libslv2_9
libslv2-devel

with cygport build control script definitions and patches available 
which use WAF:

https://cygwin.com/git-cygwin-packages?p=git/cygwin-packages/lv2.git
https://cygwin.com/git-cygwin-packages?p=git/cygwin-packages/lv2-swh.git
https://cygwin.com/git-cygwin-packages?p=git/cygwin-packages/slv2.git

so you could install cygport and any *lv2* package dependencies, clone 
these repos or download and untar the current source packages which 
contain these files plus upstream tars, and build the current packages 
as a proof of concept and way of learning cygport, before trying to 
build more current versions.

The simple approach to running cygport is to change to the directory 
containing the .cygport definitions and .patch file(s) or move them to a 
working directory (normally named for the source package), then run e.g.

	$ cygport lv2.cygport get prep

which downloads the upstream (not Cygwin) package sources for the 
specified version to a central cache directory, creates a package build 
directory, copies or untars sources if required, and (tries to) apply 
any patches to the original sources, to give you working sources, which 
you can then use to compile and make install-able Cygwin packages for 
the current arch.
You can try one of the following examples, depending whether you want to 
watch the builds run or review the results later:

	$ cygport lv2.cygport all |& tee lv2-cygport-`arch`-all.log

	$ cygport lv2.cygport all | tee lv2-cygport-`arch`-all.log 2>&1

	$ cygport lv2.cygport all &> tee lv2-cygport-`arch`-all.log &

       $ cygport lv2.cygport all > tee lv2-cygport-`arch`-all.log 2>&1 &

Browse the created build subdirectories to see what is produced and 
review all detail logs generated during the process.

After a successful build and package creation, it is always a good idea 
to try to run any test suites with:

   $ cygport lv2.cygport check > tee lv2-cygport-`arch`-check.log 2>&1 &

I use the cygport command check instead of test as test is used 
ambiguously by cygport, as it may also refer to test vs stable or 
production releases produced by cygport using commands e.g. all-test.

-- 
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 binary units and prefixes, physical quantities in SI.]

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019