tcl or portfile keyword for alias

Ryan Schmidt ryandesign at macports.org
Mon Feb 9 20:41:07 PST 2009


On Feb 9, 2009, at 22:34, Bradley Giesbrecht wrote:

> On Feb 9, 2009, at 4:18 PM, Ryan Schmidt wrote:
>
>> On Feb 9, 2009, at 17:53, Ryan Schmidt wrote:
>>
>>> You could prepend ${prefix}/lib/mysql5/bin to the PATH. That's  
>>> where the program "mysql_config" lives.
>>>
>>> configure.env-append    PATH=${prefix}/lib/mysql5/bin:$env(PATH)
>>
>> The reason it then still doesn't work is because libzdb is calling  
>> mysql_config incorrectly. As you note, it uses "mysql_config -- 
>> libs $LDFLAGS". It is not correct to put "$LDFLAGS" at the end of  
>> that command invocation. The correct way to call it is just  
>> "mysql_config --libs". It works for you on the command line  
>> because LDFLAGS is empty by default, but MacPorts fills it with a  
>> value, so when run within MacPorts, it fails. If you look in the  
>> config.log, you see that mysql_config is printing its usage  
>> message, showing that the way it is being used is not correct.  
>> Attached is a Portfile and patch that work for me. You should send  
>> the patchfile to the author of libzdb.
>>
>> In the Portfile, I also added a dependency on mysql5, and added  
>> configure arguments to disable postgresql and sqlite. If you want  
>> to enable postgresql or sqlite, remove the corresponding configure  
>> argument and add the required dependency.
>
> I had a more complex Portfile which I trimmed down before posting  
> to make it simple to try.
>
> I guess I'm old school that way.
>
> The patch Portfile attached to your email removed the patch file. I  
> like it but it didn't work.
> If I add the patch and remove the $LDFLAGS in the patch  
> "mysql_config --libs $LDFLAGS" to "mysql_config --libs" it works.


But... the Portfile I attached said

patchfiles                  patch-configure

And I attached my revised patch-configure which said

-	LDFLAGS=`mysql_config --libs $LDFLAGS`
-	CPPFLAGS=`mysql_config --include $CPPFLAGS`
+	LDFLAGS="`mysql_config --libs` $LDFLAGS"
+	CPPFLAGS="`mysql_config --include` $CPPFLAGS"

to fix the problem with calling mysql_config. My Portfile also fixed  
the PATH in the configure phase with

configure.env-append        PATH=${prefix}/lib/mysql5/bin:$env(PATH)

so that mysql_config could be found. I tested this before attaching  
it to the email and it worked for me as sent.




More information about the macports-dev mailing list