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-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.

-- 
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.