GSoC 2019 [Phase out dependency on Xcode]
Satryaji Aulia
satraul at gmail.com
Mon Apr 1 19:29:26 UTC 2019
Hi again Mojca and Marcus.
> On 1 Apr 2019, at 17.15, Mojca Miklavec <mojca at macports.org> wrote:
>
> I'm not in position to answer this, but you may check some discussion
> on this mailing list (from March / GSOC) regarding trace mode, in case
> it's relevant or provides you some more insight.
I have read more about trace mode and updated my proporal, including an analysis of porttrace.tcl
and what could be done to modify it. I think the detection feature could be done over the course
of summer, including implementing the `port bump` action + continually making Port updates.
Feedback regarding the proposal/technical explanations would be greatly appreciated.
At first, I was under the impression that Xcode command line tools was a subset of Xcode.app.
Apparently not, as both have different sets of compilers. Do you think it is realistic if we just just
implemented the "use_xcode" flag and made the command line tools mandatory?
Added the fact that MacPorts support for systems fully without Xcode seems to be a far goal.
>> I notice how useful a "port bump" command would be if it existed.
>
> Yes, it would be.
I've started my implementation, under macports-base/src/port1.0/portbump.tcl.
The wiki and the 1-hour tutorial by cal has been a tremendous help in understanding macports-base.
My current implementation is a "bump" stage which requires the "main" and "fetch" stages to be
sucessfully run first. portbump.tcl largely reuses code from portchecksums.tcl.
After updating the version of an outdated Portfile, I already have it running like:
$ sudo /opt/macports-test/bin/port bump
---> Fetching distfiles for bibledit
---> Bumping checksums for bibledit
We will bump these:
Old md5 : e509449e52142757c2c75af124847941
New md5 : c06483349e496501248f5a4dc9193184
Old rmd160 : 02e628f018d075cc72ff5c2bf8fb0989e2dc63cc
New rmd160 : f4c103e24b313744633a20e55365fdd126ac980d
I need help in issuing an interactive prompt using `macports::ui_options(questions_yesno)` [1].
I don't understand how to make `if {[info exists macports::ui_options(questions_yesno)]}` default
to true.
Besides that, any feedback about my implementation would be appreciated. I currently use Tcl’s
reinplace method to update the Portfile [2].
>> I will work on this feature right now. Hopefully I can make a functioning tool by the end of the week. I will add the extended implementation to my proposal.
>
> Please also read the discussion (and code etc.) on this mailing list
> related to "upt" as that's quite a bit related (not the same though).
Will do.
> For most of the software we just ship one single version, the latest
> one. Of course there are exceptions, usually in cases when:
> - sufficient backward incompatibility is of concern (ruby on rails is
> an excellent example; not that we have any support worth mentioning
> for that one)
> - dependent software is not yet compatible with the latest version
> - the latest version doesn't work on older systems (and we care enough
> to support the old systems)
I see. Then the php5 and ruby problems I encountered fall into the exception then, right? It seems
that these types of cases are not urgent, so I've discarded the sub-project idea of updating
retired ruby/php5 ports. Also added the fact that there's already a proposal for that problem area.
Thank you.
[1] https://github.com/satraul/macports-base/commit/d5e652c0de77e30afa64b6a064ebfcf373f04c5f
[2] https://github.com/satraul/macports-base/commit/0e9c64a1de42e2f23da9eefa6dbb28b88e90a98f
More information about the macports-dev
mailing list