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