Re: cygport build/package issues
Thomas Wolff via Cygwin-apps <[email protected]>
| Newsgroups | gmane.os.cygwin.applications |
|---|---|
| Message-ID | <[email protected]> |
Am 20.09.2025 um 00:37 schrieb Brian Inglis via Cygwin-apps:
> 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?
No, thanks. However, that still does not give me sparse (partial)
checkout. Also it seems to stall after checkout:
git checkout tags/v2.051
Updating files: 100% (20100/20100), done.
HEAD is now at 8998f5dd Merge pull request #515 from googlefonts/e17
- then nothing; waited for 5 min.
>
> 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.
I assigned this package to the Fonts category but it's not really a font...
>
> 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
My proposed package does not replace the other one; it does not provide
the font but the emoji graphics (.png files) as used by mintty.
>
> 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
>
>