| delorie.com/archives/browse.cgi | search |
| X-Recipient: | archive-cygwin AT delorie DOT com |
| DomainKey-Signature: | a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id |
| :list-unsubscribe:list-subscribe:list-archive:list-post | |
| :list-help:sender:message-id:date:from:mime-version:to:subject | |
| :references:in-reply-to:content-type:content-transfer-encoding; | |
| q=dns; s=default; b=rSLerg5zfGV6Bg/5IItjUx2fRx741Q2LVEmHIrKKQTc | |
| PDRSfvM7+qQLoOfoVN/Zif3HV2NTNM7j5UhYZRJIKXNSJsNCiZoxXtP1qVKC99CB | |
| ghuJZLMq3X8hvUnu20uPDaMvSqD5Ftxia0sSIAhEefRfNl3r+76HNVAvgR4oAdcY | |
| = | |
| DKIM-Signature: | v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id |
| :list-unsubscribe:list-subscribe:list-archive:list-post | |
| :list-help:sender:message-id:date:from:mime-version:to:subject | |
| :references:in-reply-to:content-type:content-transfer-encoding; | |
| s=default; bh=eBTuU6nfR/9yLTjvkvhMQZ4KH5g=; b=hHgLxhcOCopktL9d+ | |
| VByVRH9kM1qdhV24bMZjed4rl6VN2FOjhwbCuUVKSC5ru1bAU/w9erns9/gzvJZd | |
| 5H4z3iLlxAtKwdmn4zofyv6mVoaOOGKY/T4SPIXFJnCnGQ+BFlQKVFQUhbfFAC5H | |
| KMV+bGXEBmVidi+aZJ4ZqFXaQ8= | |
| Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
| List-Id: | <cygwin.cygwin.com> |
| List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
| List-Archive: | <http://sourceware.org/ml/cygwin/> |
| List-Post: | <mailto:cygwin AT cygwin DOT com> |
| List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
| Sender: | cygwin-owner AT cygwin DOT com |
| Mail-Followup-To: | cygwin AT cygwin DOT com |
| Delivered-To: | mailing list cygwin AT cygwin DOT com |
| X-Spam-SWARE-Status: | No, score=-3.8 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,SPF_PASS,TW_YG autolearn=ham version=3.3.1 |
| X-Received: | by 10.67.1.106 with SMTP id bf10mr3187746pad.162.1371753849333; Thu, 20 Jun 2013 11:44:09 -0700 (PDT) |
| Message-ID: | <51C34D7C.3080703@users.sourceforge.net> |
| Date: | Thu, 20 Jun 2013 13:44:12 -0500 |
| From: | "Yaakov (Cygwin/X)" <yselkowitz AT users DOT sourceforge DOT net> |
| User-Agent: | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130509 Thunderbird/17.0.6 |
| MIME-Version: | 1.0 |
| To: | cygwin AT cygwin DOT com |
| Subject: | Re: cygport limitations |
| References: | <CABEPuQJDLjtbcLig1isTUJgb6RBCD8LNShbm9mTPcb9WM5S5fw AT mail DOT gmail DOT com> <51C0B08E DOT 8080900 AT etr-usa DOT com> <CABEPuQJJpRfPKSwZ7M0eTOdp1HxDcmvuy1=qXFHBw-8kLkZ1ZQ AT mail DOT gmail DOT com> <51C0D956 DOT 4090905 AT etr-usa DOT com> <51C1B299 DOT 1000701 AT cwilson DOT fastmail DOT fm> <51C1F0F9 DOT 70601 AT etr-usa DOT com> <51C1FA8E DOT 3000307 AT users DOT sourceforge DOT net> <51C33F38 DOT 4080103 AT etr-usa DOT com> |
| In-Reply-To: | <51C33F38.4080103@etr-usa.com> |
On 2013-06-20 12:43, Warren Young wrote:
> I'm assuming everyone is using cygport now to create packages, or can't
> because of one of these violated expectations.
>
> My ctags package is one of the latter, because although it ships with a
> configure script, it isn't an autoconf configure script. When I tried
> migrating the package to cygport 3.5 years ago, cygport failed to DTRT
> because the ctags build system doesn't know how to configure and build
> outside the source tree. I ended up falling back on my custom build
> script, which simply builds in-tree, then overrides some make(!)
> variables to force it to install into a temp directory, which I then
> pack up by hand. This is tolerable because ctags is a relatively simple
> package.
This is explained in the manual wrt cygconf:
> * cygconf is intended for configure scripts generated by, or compatible
> with, autoconf. Packages with handwritten configure scripts may not
> accept allthe flags used by cygconf, in which case a direct call to
> the configure script is in order.
In this case, not having looked at ctags, you'll probably need something
along the lines of:
src_compile() {
lndirs
cd ${B}
./configure --prefix=/usr || error "configure failed"
cygmake
}
> That second category of packages are those that are built using cygport
> despite the fact that it requires a highly customized .cygport file. The
> more customizations you add, the more of cygport's base assumptions you
> are violating with your package.
>
> The last doxygen package I shipped was a good example of this:
>
> 1. I had to pass "--platform linux-g++" to configure to get it to build
> correctly. (It might have been one of those cases where it saw #if
> WINDOWS == true and did the wrong thing.) I don't know if CYGCONF_ARGS
> didn't exist when I wrote that, but for some reason I felt compelled to
> override the src_compile rule to pass this flag.
FWIW, CYGCONF_ARGS has been around for a *long* time.
> 2. Though I now know about CYGCONF_ARGS, if I picked the package back up
> for some reason, I don't think I could get rid of my src_compile()
> override because of a second build problem: Doxygen's own documentation
> has a primitive and completely separate build system. Not only does
> "make" at the top level not "cd doc && make", but doc/Makefile also
> doesn't understand things like DESTDIR. I ended up needing to override
> src_install(), too.
There's nothing wrong with that. src_compile(), src_test(), and
src_install() are intended to be provided by cygport(5)s; the provided
*defaults* of those are NOT opaque APIs (hence they are actually shown
in the docs) and are meant to be overridden whenever necessary.
> I don't mean to impugn cygport's capabilities, or yours, Yaakov. I
> prefer to use cygport, and don't like it when I can't.
There should NEVER be a reason that you can't use cygport for your
packages. If you're having an issue, just provide your (draft)
cygport(5) and ask.
Yaakov
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |