[MacPorts] #68661: Some Python distfiles not updated
MacPorts
noreply at macports.org
Sat Nov 11 17:38:00 UTC 2023
#68661: Some Python distfiles not updated
----------------------+--------------------
Reporter: erikbs | Owner: (none)
Type: defect | Status: closed
Priority: Normal | Milestone:
Component: ports | Version: 2.8.1
Resolution: invalid | Keywords:
Port: py-lxml |
----------------------+--------------------
Comment (by erikbs):
Replying to [comment:7 kencu]:
> pulling unmirrored distfiles from python sources is especially sensitive
to older curl versions that macports may be built against.
>
> I currently have to build macports sgainst a newer libcurl on all
systems up to 10.14 for full functionality.
>
> see long discussion with workarounds here:
>
> #51516
Good idea! Building the bootstrap version of MacPorts took only a few
minutes, but I run into a dependency cycle when attempting to install
`curl`. I cannot build `xz`, because its (indirect) dependency `gettext-
tools-libs` (through `gettext`) requires a newer Clang version (e.g., 3.7)
to compile successfully, but Clang 3.7 needs `xz` for extraction …
Both `zlib` and `llvm-3.7` replace `xz` with `xz-bootstrap` on Darwin <
11. LLVM 3.7 builds successfully by adjusting that to Darwin < 14 (from
what I read, Yosemite does not have `/usr/bin/xz` either, but Yosemite
already gets a Clang version based on 3.7 through Xcode, whereas Mavericks
is stuck on one based on 3.5).
Clang 3.7 ran into another dependency cycle with Perl 5.34, but removing
the `analyzer` variant got rid of the Perl trouble. It did not help much,
as a immediately ran into another cycle with `libxml2` because of its
dependency on `xz`. I got around that by taking the `xz-bootstrap` lines
from `llvm-3.7` (see https://github.com/erikbs/macports-
ports/commit/5fc8e53971d9cc88d4f736fa44ea751b9ccc4832).
None of this was necessary when I last reinstalled 10.9, but then that is
five years ago and things could have changed.
I am considering making a pull request, but I am unsure if I should touch
`libxml2`. According to the `llvm-3.7` Portfile, Clang does not really
depend on `libxml2` (“c-index-test will optionally use it if it is
installed”), so on Darwin < 11 the whole dependency is removed.
I did roughly this (I had an unrelated kernel panic in the process and
lost my notes):
{{{
# Build bootstrap
curl -ROL 'https://github.com/macports/macports-
base/releases/download/v2.8.1/MacPorts-2.8.1.tar.bz2'
tar xf MacPorts-2.8.1.tar.bz2
cd MacPorts-2.8.1
./configure --prefix=/opt/bootstrap --with-curlprefix=/usr
sudo make install
make distclean
# Install SSL/curl
sudo /opt/bootstrap/bin/port
selfupdate
# port edit <llvm-3.7 | libxml2 | zlib> and make the edits mentioned above
install --unrequested clang-3.7 -analyzer
install curl
setrequested readline
reclaim
exit
# Remove things that just take up lots of space
sudo rm -rf /opt/bootstrap/var/macports/sources
sudo rm -rf /opt/bootstrap/var/macports/distfiles
sudo rm -rf /opt/bootstrap/share/man
sudo rm -rf /opt/bootstrap/libexec/openssl3/share/man
sudo rm -rf /opt/bootstrap/share/doc
# Rebuild MacPorts
./configure --with-curlprefix=/opt/bootstrap --enable-readline
make
}}}
… and that is where I am now. `readline.c` fails to compile. Readline
support is more important than not having to copy distfiles in manually,
so I am not sure if I bother going further with this now.
If we cannot have comment:ticket:51516:99, I think your "minimalcurl" idea
is a good solution too.
--
Ticket URL: <https://trac.macports.org/ticket/68661#comment:8>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list