cygport build/package issues

Thomas Wolff towo@towo.net
Fri Sep 19 16:24:30 GMT 2025



Am 18.09.2025 um 05:32 schrieb Brian Inglis via Cygwin-apps:
> On 2025-09-16 15:42, Thomas Wolff via Cygwin-apps wrote:
>> questions for a new package:
>>  * Is there a way to specify a git clone for download rather than a 
>> download URI?
>
> See:
>
>     https://cygwin.github.io/cygport/git_cygclass.html
>
> for example:
>
>     GIT_URI=https://github.com/$NAME/$NAME
>     GIT_BRANCH=$NAME
>     GIT_TAG=v$VERSION
>     GIT_REV=
>
>     inherit git
>
>> * I have a build script (which also downloads actual sources).
>>   Is there a cygwin function to invoke it or do I have to put it into 
>> src_compile and abuse the compile step for it? 
> Please avoid that as enough abuse of cygport functions is normally 
> required to handle non-standard package processing. ;^>
>
> See:
>
>     https://cygwin.github.io/cygport/toc_index.html
>
> Convert the build script to cygport functions; see:
>
>     https://cygwin.github.io/cygport/compilers_cygpart.html
>
>     https://cygwin.github.io/cygport/src_install_cygpart.html
>
>     https://cygwin.github.io/cygport/src_postinst_cygpart.html
>
>     https://cygwin.github.io/cygport/pkg_pkg_cygpart.html
>
>     https://cygwin.github.io/cygport/cygport_testsuite_functions.html
>
> Standard top level functions:
>
>     src_compile() {
>             cd ${S}
>             cygautoreconf
>             cd ${B}
>             cygconf
>             cygmake
>     }
>
>     src_install() {
>             cd ${B}
>             cyginstall
>     }
>
>     src_test() {
>             cd ${B}
>             cygtest
>     }
>
> Some higher level functions:
>
>     cygautoreconf
>     cygcmake
>     cygconf
>     cyginstall
>     cygmake
>     cygmeson
>     cygninja
>     cygqmake3
>     cygqmake4
>     cygqmake5
>     cygtest
>
> others:
>
>     https://cygwin.github.io/cygport/cygport_general_functions.html
>
> and there are plenty of classes with overloads, if those apply:
>
>     https://cygwin.github.io/cygport/cygport_cygclasses.html
>
>     https://cygwin.github.io/cygport/cygport_overloads.html
>
> For any commands which do not map to appropriate cygport functions, or 
> are not done automatically, you can put those into a Makefile and 
> invoke it with cygmake.
>
>> * Is there a way to specify files (like the build script in this case)
>>   to be included in the source package?
> SRC_URI+=" https://..."
> SRC_URI+=" filename"
>
> The intent is for all packages to be built using cygport to support CI 
> and any policies and approaches desired, and automate a *LOT* of any 
> grunt work commonly required!
>
> The desire is to eventually have validated deployments only via 
> cygport, scallywag, and calm, or successors.
>
> Post the build script, or a link to the package definition, spec, 
> ebuild, etc. on other distros or sites, for advice, suggestions, and 
> help porting it to cygport.
>
Thanks for the SRC_URI+= hint. The GIT_URI, GIT_TAG hint did not work, 
nothing was downloaded. Also it's a huge repository and I'd prefer 
shallow clone (--depth 1) and sparse checkout.
I've uploaded a source package of my proposed package to 
http://towo.net/cygwin/emojis-noto-v2.048-1-src.tar.xz for consideration.
Thomas


More information about the Cygwin-apps mailing list