New MacPorts ports database site

Mojca Miklavec mojca at macports.org
Mon Aug 19 11:40:52 UTC 2019


Dear Chris,

On Mon, 19 Aug 2019 at 13:15, Chris Jones wrote:
> On 19/08/2019 12:00 pm, Mojca Miklavec wrote:
> > On Mon, 19 Aug 2019 at 11:52, Chris Jones wrote:
> >>
> >> Looks great. One question though, how are the port dependencies
> >> determined exactly?
> >
> > At the moment they are sadly only taken from a single OS, but it
> > should be the latest one.
>
> If it where the lastest OS, 10.13+, then clang-8.0 should not be listed
> as a build dep.

I would change this into "if the portindex script was working
correctly". The idea is that the script should work correctly if you
specify the target OS version. If it doesn't we have a problem that
needs to be fixed.

> > The source of information is here:
> >      http://nue.de.rsync.macports.org/macports/release/ports/PortIndex_darwin_18_i386/PortIndex.json
> >
> >> I ask as the site does not seem to happen ports
> >> where the deps are OS dependent. For instance
> >>
> >> <https://ports.macports.org/port/root6/?tab=summary>
> >>
> >> lists clang-8.0 as a build dep,  but this is only correct on < macOS 10.13.
> >
> > I'm not behind my mac now, but what does you portindex entry say for
> > root6 (it's just a slightly more compressed format than the one linked
> > above). The above linked file lists
> >      ["path:bin/cmake:cmake","port:gcc9","port:pkgconfig","port:clang-8.0"]
>
> I am not sure what you are suggesting I look at ?

See the section of

http://nue.de.rsync.macports.org/macports/release/ports/PortIndex_darwin_18_i386/PortIndex

which reads:

root6 1168
variants {debug native root7 qt4 veccore valgrind vc xrootd graphviz
fftw3 gsl fitsio odbc roofit tmva opengl python27 python35 python36
python37 davix xml sqlite3 mysql mariadb percona postgresql pythia
cocoa x11} depends_build {path:bin/cmake:cmake port:gcc9
port:pkgconfig port:clang-8.0} portdir science/root6 description {ROOT
is a data analysis framework from CERN} homepage https://root.cern.ch/
depends_run port:root_select epoch 0 platforms darwin name root6
depends_lib {path:lib/libgcc/libgcc_s.1.dylib:libgcc port:expat
port:gmp port:giflib port:jpeg port:libpng port:lzma port:pcre
port:tiff port:xz port:gl2ps port:lz4 port:vdt port:tbb port:git
path:lib/libopenblas.dylib:OpenBLAS path:lib/libssl.dylib:openssl
port:python37 port:py37-numpy port:py37-jupyter port:py37-gnureadline
port:py37-metakernel port:xrootd path:bin/dot:graphviz port:gsl
port:davix port:libxml2} long_description {The ROOT system provides a
set of frameworks with all the functionality needed to handle and
analyze large amounts of data in a very efficient way.} license
LGPL-2.1+ maintainers {{jonesc @cjones051073} {mojca @mojca}}
categories science version 6.18.00 revision 3

This is what users get by default.

This means that any users getting portindex from the server will have
wrong entries and might end up having to install clang first.

> port deps root6 (on macOS10.13) says
>
> Full Name: root6
> @6.18.00_3+cocoa+davix+graphviz+gsl+opengl+python37+roofit+tmva+xml+xrootd
> Build Dependencies:   cmake, gcc9, pkgconfig
> Library Dependencies: libgcc, expat, gmp, giflib, jpeg, libpng, lzma,
> pcre, tiff, xz, gl2ps, lz4, vdt, tbb, git, OpenBLAS, openssl, python37,
> py37-numpy,
>                        py37-jupyter, py37-gnureadline, py37-metakernel,
> xrootd, graphviz, gsl, davix, libxml2
> Runtime Dependencies: root_select
>
>
> This is for my local machine though, where I use a git checkout of the
> ports tree and thus portindex was generated locally.

I wanted to ask for the copy of your section of PortIndex which would
ideally be the same as the one above (but probably isn't).

We likely need to file a bug report for base (portindex).

Mojca


> > Now, I'm not sure what OS version is running on the machine that is
> > generating PortIndex (Ryan might be able to tell that). It could be
> > that there is a flaw in the code that generates portindex for a
> > different OS version.
> >
> >
> > On an "unrelated note": I did think of potential issues with ports
> > behaving in completely different ways on different OS versions, but it
> > seemed to me that it was way more important to implement one simple
> > and stable solution now than end up with way too complicated design
> > that would never even be finished in the scope of the summer and
> > potentially never deployed.
> >
> > We can still think of how we could improve the application in the
> > future to take different OS versions into account, I just felt that
> > this was somewhat non-trivial to do right, and a disproportional
> > effort compared to the benefits it would bring. We also lack
> > information about dependencies for individual variants, which would be
> > another super useful information to have, but it's missing from
> > portindex at the moment, so it's also less trivial to add it.
> >
> > Mojca
> >
> >> On 19/08/2019 5:17 am, Joshua Root wrote:
> >>> MacPorts' new ports database is live at <https://ports.macports.org/>.
> >>> Please consider installing the "mpstats" port to enable submission of
> >>> anonymous information about your system and installed ports for
> >>> statistical purposes.
> >>>
> >>> The information collected is currently:
> >>> * MacPorts version
> >>> * OS name and version
> >>> * CPU architecture
> >>> * Selected C++ standard library
> >>> * Xcode, command line tools, and GCC versions
> >>> * Name, version, selected variants, and requested status of each
> >>> installed port
> >>> * A UUID so we can tell whether submissions are from distinct users
> >>>
> >>> The site also shows which OS versions each port was successfully built
> >>> on, has links to open Trac tickets, and more.
> >>>
> >>> This new site is the result of much hard work by our GSoC student,
> >>> Arjun Salyan. We hope you find it useful.
> >>>
> >>> Josh
> >>> (on behalf of the MacPorts Port Managers)
> >>>


More information about the macports-users mailing list