[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