Traversing the source directories
Ryan Schmidt
ryandesign at macports.org
Mon Apr 2 10:17:16 PDT 2012
On Apr 1, 2012, at 20:17, Craig Treleaven wrote:
> http://dl.dropbox.com/u/26787680/Portfile.2012Apr01
In this email I'll offer some suggestions on how the Portfile is written. Later, I'll try to build the port, and in a second email I'll try to help you figure out why there are empty "-L" arguments and what's going wrong with your efforts to remove them.
> github.setup MythTV mythtv v0.25-rc-0-g92f7d1f
The version number in the github.setup line should only be the version number, typically as it appears in the tag name. There should not be a "v" or other prefix, nor the git revision/branch number. The github.setup procedure accepts a fourth argument for the tag prefix, and the portgroup automatically handles the presence of the randomish branch number in the folder name. So you want simply:
github.setup MythTV mythtv 0.25-rc v
> configure.args-delete "-arch i386"
There is no "-arch i386" in configure.args, so this statement does nothing.
> configure.cflags-delete "-arch i386"
> configure.cflags-append "-m32"
Why delete "-arch i386" and append "-m32"? Aren't those the same thing?
> configure.ldflags-append "-m32 -F/System/Library/Frameworks"
> configure.cppflags-append "-m32"
> configure.cxxflags-append "-m32"
configure.ldflags and configure.cxxflags similarly already have "-arch i386" in them and thus shouldn't need "-m32". configure.cppflags doesn't need arch flags because the preprocessor doesn't compile anything.
> configure.env-append QMAKESPEC="macx-g++" \
> QMAKE_LIBDIR_OPENGL="/opt/local/lib" \
Don't hardcode /opt/local; use ${prefix}.
> configure.env-delete -arch i386 # messes up qmake?
That's not a valid environment specifier (which would always have the form KEY=value). So I don't believe this statement does anything.
If you really want MacPorts not to add the -arch flags it normally adds, clear the configure.cc_archflags configure.cxx_archflags configure.ld_archflags variables. Normally you don't want to do that.
> system "find ${configure.dir} -name \"Makefile\" -print "
> system "find ${configure.dir} -name \"Makefile\" -exec sed -i '' 's/ -L / /g' {} \\; "
"find" can print and exec in the same invocation:
system "find ${configure.dir} -name \"Makefile\" -print -exec sed -i '' 's/ -L / /g' {} \\; "
More information about the macports-dev
mailing list