how to contribute a noarch utility without porting Icon, Noweb, and Cygport
Brian Inglis
Brian.Inglis@Shaw.ca
Thu May 4 03:17:23 GMT 2023
On 2023-05-03 15:06, metaed wrote:
> I want to contribute a Cygwin port of my utility program "dtt". It is an
> architecture-independent executable written in Perl 5 plus a man page. It comes
> with supplementary docs in /usr/share/doc, including the complete source.
The only known dtt out there seems to be an R package in CRAN for Discrete
Trigonometric Transforms from another author.
So you might want to consider renaming your package to avoid any potential
conflicts with CRAN if that was offered for Cygwin.
You would have to meet the criteria under:
https://cygwin.com/packaging-contributors-guide.html#submitting
and that nowadays requires a cygport build, producing valid "src" and "binary"
packages meeting Cygwin standards including valid hint files, plus debuginfo
packages if relevant, any Cygwin perl module and script requirements, and
running checks to validate or verify the build.
You should provide at least the description of your package, with all required
metadata, links to your sources and scripts, and why it would be a useful
addition to Cygwin.
If available for Slack, links to slackbuilds, slack-desc, and info would help.
> The package is built from source using the Noweb litprog tool, which also
> requires the Icon programming language. Porting these to Cygwin could be a huge
> undertaking. It would be much simpler for me to cross-compile, for lack of a
> better term, where those tools are ported already -- namely, Slackware.
> Instead of porting Cygport to Slackware, again it would be much simpler for me
> to create the "binary" tarball and .hint file, a la
> <https://www.cygwin.com/packaging-package-files.html>, and upload manually to
> the noarch tree, a la <https://www.cygwin.com/package-upload.html>.
> Is this an objectionable approach?
Some developers and maintainers use Fedora with Cygwin cross-compilers to build
Cygwin and packages using cygport, which is a package of Bash scripts.
Unfortunately, there is little info about how to run Cygwin tools in a Linux
environment.
Cygwin cooperates with and runs under Wine, so you could use that rather than
Windows.
You would be providing the upstream sources, so you could provide the original
and intermediate sources, with suitable cygport build.
You might also consider porting noweb3 to run under Cygwin lua, and provide that
plus your package, with any adaptations required to build, install, check, and
run them under Cygwin.
Using cygport is not very different from using any other distro packaging tools,
being based on Gentoo portage, with cygport files providing definitions, and
function overrides if required, similar to Slack slackbuilds, Gentoo ebuilds,
Fedora specs, Debian control/rules, etc.
Check out what is required for a Perl package in a similar category at:
https://cygwin.com/cgit/cygwin-packages/?q=perl
--
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 à retirer but when there is no more to cut
-- Antoine de Saint-Exupéry
More information about the Cygwin-apps
mailing list