Hello, It is my intention to solve several relatively unrelated issues within this one post, please let me know if it is unpolite or otherwise unwanted.
First group of question are general question about cygwinports.
What motivates the existence of the cygwinports repo? or, IOW, what is the
reason why these packages are not included in the official repo?
(please note I'm totally ignorant about this)
I ask because:
a) there are some packages orphaned in cygwin that exists in
cygwinports (apache2, for example)
b) if I ever ITP a package that depends on one present in cygwinports
(I'm thinking about libonig and friends, more below), I don't know if
it should be first ported to the official repo, or if
cross-dependencies are allowed, or if it should be hosted in
cygwinports... (I haven't seen contributors to cygwinports, dunno if
that's because that is unwanted or any other reason)
c) in the latter case, and assuming that is a wanted scenario, does
the "standard" procedure applies? (sendind ITP mail, etc)
d) are cygwin tools such as cygcheck aware of cygwinports packages?
Second block of questions are related to an actual porting case:
I'm trying to port S-Lang to cygwin.
The purpose of it is to try and port slang related/capable apps like the
most pager or make it available for midnight-commander, for example.
I'm already using slang and the most pager (not cygported, just built under
a stow tree) and AFAICT they work fine. There are drawbacks: because
stow builds a linked tree, some libs aren't correctly linked in
runtime.
So I think it would be useful for me to build cygported packages of
these apps, for them to live in a sane env outside stow's tree; and
maybe contribute (ITP) them, giving back to the community as well.
In order to build a recent mc that uses slang, and/or in order to package
most, I first need to package slang, obviously. This one is getting tricky
for me.
I started by cheking slang's own dependencies: everything already exists
in cygwin (libpng, pcre, zlib, x), except for onig libs, which I've built as
part of my personal self-tought cygport training course (I have used 5.9.2).
That was easy. (I didn't know that they are already in cygwinports)
Unlike any other package I've tested cygporting (while learning how to
use this great, funny, surprising tool), this one's resisting any approach
I've tried. And that is because of the structure of the dirs in the
upstream sources, I'll try to explain it better in a think-aloud
fashion:
There is no problem in fetch and prep steps (those are easy :)), now
comes src_compile. And my problems begin...
The default function calls cygautoreconf that starts its routine looking for
configure.{ac,in} in ${S}. First problem: those files live in
${S}/autoconf, so cygautoreconf won't work as-is. Trying to cd first into
that directory won't work either, because configure lives in its right place:
${S}; linking ${S} to ${B} and trying to do something there fails too,
the software complains about being unable to compile in a symlinked
env. So I have ended up building and compiling in ${S}. Dirty but it
works. It requires NO_AUTOHEADER (as of my still poor understanding of
autotools) and MAKEOPTS+=" -j1", otherwise, it won't package
correctly. This whole non-standard procedure allows me to have working
binaries correctly packaged (following debian packaging strucuture as
a reference), but builds an awful src.tar.bz2 that contains an uneeded
src.patch (uncleaned makefiles and such).
Attached is the cygport file I've been using. It just needs some dummy
*.{hints,README} files if somebody ever tries to build it.
(I wrote the real ones, of course)
I'd like to hear from the savvy ones some kind of advice.
Sorry for the long post, and thanks for your time and your work.
Best regards.
--
Huella de clave primaria: 0FDA C36F F110 54F4 D42B D0EB 617D 396C 448B 31EB
DESCRIPTION="multi-platform programmer's library" SRC_URI="ftp://space.mit.edu/pub/davis/slang/v2.2/${P}.tar.bz2" HOMEPAGE="http://www.s-lang.org/" NO_AUTOHEADER="true" CYGCONF_ARGS=" --with-x --with-pcre --with-onig --with-png --with-z --with-iconv --with-readline=gnu" MAKEOPTS+=" -j1" PKG_NAMES="${PN} slsh lib${PN}2 lib${PN}2-devel lib${PN}2-modules" PKG_HINTS="setup shell runtime devel modules" slsh_CONTENTS="etc/slsh.rc usr/bin/slsh.exe usr/share/doc/slsh/ usr/share/man/man1/ usr/share/slsh/" libslang2_CONTENTS="usr/bin/libslang2.dll usr/share/doc/slang/v2/ usr/share/doc/Cygwin/slang.README usr/share/doc/slang/CHANGES.txt usr/share/doc/slang/COPYING usr/share/doc/slang/NEWS usr/share/doc/slang/README" libslang2_devel_CONTENTS="usr/include/ usr/lib/libslang.dll.a usr/lib/pkgconfig/" libslang2_modules_CONTENTS="usr/lib/slang/v2/modules" src_compile() { cd ${S} cygconf cygmake } src_test() { : } src_install() { cd ${S} cyginstall }
pgpv7ykBJ3HDm.pgp
Description: PGP signature
------------------------------------------------------------------------------
_______________________________________________ Cygwin-ports-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/cygwin-ports-general
