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

Reply via email to