Re: cygport build/package issues
Brian Inglis via Cygwin-apps <[email protected]>
| Newsgroups | gmane.os.cygwin.applications |
|---|---|
| Organization | Systematic Software |
| Message-ID | <[email protected]> |
On 2025-09-19 10:24, Thomas Wolff via Cygwin-apps wrote:
>
>
> 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.
Cygport git cygclass defaults to --depth 1, and retries without if that fails
because shallow clones are not supported by the upstream, after issuing a
message to that effect.
> 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.
Did you notice the `inherit git` *AFTER* the definitions hint above?
https://cygwin.github.io/cygport/git_cygclass.html#git.cygclass
Also `inherit font` gives you font cygclass functions to store fonts in the
appropriate places for use by *ALL* Cygwin apps newer than those supporting only
legacy Adobe types.
https://cygwin.github.io/cygport/git_cygclass.html#git.cygclass
Note the existing package, whose cygport would need some tweaks to get up to
date since 2017:
https://cygwin.com/cgit/cygwin-packages/noto-emoji-fonts
Release v2.048 adds the Syria flag update to Unicode 16.0: you should be
accessing tag v2.051 for Unicode 17 Emoji (mk1).
For comparison, see the Fedora spec for latest branch build F43 (currently ==
rawhide == main):
https://src.fedoraproject.org/rpms/google-noto-emoji-fonts/blob/f43/f/google-noto-emoji-fonts.spec
--
Take care. Thanks, Brian Inglis Calgary, Alberta, Canada
La perfection est atteinte Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher but when there is no more to cut
-- Antoine de Saint-Exupéry