[MacPorts] #47907: libvpx: update to 1.4.0
MacPorts
noreply at macports.org
Tue Jun 2 11:18:09 PDT 2015
#47907: libvpx: update to 1.4.0
---------------------------+----------------------
Reporter: ryandesign@… | Owner: devans@…
Type: update | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords: haspatch
Port: libvpx |
---------------------------+----------------------
Changes (by ryandesign@…):
* keywords: => haspatch
Comment:
Ok, most of the patches deal with disabusing the hand-rolled configure
script of the idea that it should do different things on different OS X
versions and that it should pick the SDK and deployment target, and I'm
completely in favor of that, so let's keep those patches. The alternative
is that the configure script needs to be patched every time a new version
of OS X is released, which is a bit mad; we used to do that, until Jeremy
fixed it with the current patches.
-----
There's another unrelated part of the patch that modifies two `sed`
invocations. This was added in r70208 to fix comment:ticket:25815:26. It
originally made these changes:
{{{#!diff
--- build/make/configure.sh.orig 2010-08-02 23:34:10.000000000
-0400
+++ build/make/configure.sh 2010-08-02 23:34:50.000000000 -0400
@@ -375,10 +375,10 @@
EOF
if enabled rvct; then cat >> $1 << EOF
-fmt_deps = sed -e 's;^__image.axf;\$(dir \$@)\$(notdir \$<).o \$@;' #hide
+fmt_deps = sed -e 's;^__image.axf\$\$;\$(dir \$@)\$(notdir \$<).o \$@;'
#hide
EOF
else cat >> $1 << EOF
-fmt_deps = sed -e 's;^\(.*\)\.o;\$(dir \$@)\1\$(suffix \$<).o \$@;' #hide
+fmt_deps = sed -e 's;^\(.*\)\.o\$\$;\$(dir \$@)\1\$(suffix \$<).o \$@;'
#hide
EOF
fi
}}}
The intention was that after the various quoting is removed, a "`$`" will
have been inserted at the end of the search string, anchoring the search
string to the end of the line. The search string is already anchored to
the beginning of the line with the leading "`^`". So whereas before the
second invocation would find lines ''containing'' ".o", now it only finds
lines that ''end'' with ".o". This is important because the intention of
the second `sed` invocation was to identify object files whose names end
with ".o", but it was finding other things as well, because the default
build path in MacPorts contains the string "rsync.macports.org"—which just
happens to contain ".o".
The patch was updated in r74608 to accommodate changes between libvpx
0.9.1 and 0.9.5—changes that made our patch unnecessary, and it could have
been dropped at that time. But it was kept, and updated a couple times
more, most recently in r117553, when it was changed in such a way that the
original intention was lost:
{{{
#!diff
--- build/make/configure.sh.orig 2015-04-17 10:56:45.000000000
-0700
+++ build/make/configure.sh 2015-04-17 10:58:27.000000000 -0700
@@ -442,10 +442,10 @@
EOF
if enabled rvct; then cat >> $1 << EOF
-fmt_deps = sed -e 's;^__image.axf;\${@:.d=.o} \$@;' #hide
+fmt_deps = sed -e 's;^__image.axf;\$\${@:.d=.o} \$@;' #hide
EOF
else cat >> $1 << EOF
-fmt_deps = sed -e 's;^\([a-zA-Z0-9_]*\)\.o;\${@:.d=.o} \$@;'
+fmt_deps = sed -e 's;^\([a-zA-Z0-9_]*\)\.o;\$\${@:.d=.o} \$@;'
EOF
fi
}}}
Now it just doubles the "`$`" at the beginning of the replacement string,
which was not the original intent. We should drop this part of the patch
now.
-----
A final part of the patch was added just recently for #47436 and that part
can I believe be removed now since that part of the code has changed in
1.4.0. I do not understand the code, but I did not have any problem
building universal with Xcode 6.3 without that patch, which was what the
patch was intended to fix.
--
Ticket URL: <https://trac.macports.org/ticket/47907#comment:5>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list