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

Reply via email to