Opened 10 years ago

Last modified 3 weeks ago

#43704 new enhancement

unify the use of +threads as a variant name

Reported by: mojca (Mojca Miklavec) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: mattoates@…, mf2k (Frank Schima), mamoll (Mark Moll), ryandesign (Ryan Carsten Schmidt), michaelld (Michael Dickens), cooljeanius (Eric Gallager)
Port: boost cherokee gauche hdf5 raxml

Description (last modified by mf2k (Frank Schima))

From #43593: would it make sense to unify the variant names used across different ports?

Here are some variant names from different ports:

boost:     variant no_single  description {Disable building single-threaded libraries}
gauche:    variant no_threads { configure.args-delete --enable-threads=pthreads }
raxml:     variant pthreads   conflicts hybrid description {Pthreads implementation}
cherokee:  variant no_pthread description {Disable threading support}

sbcl:      variant threads    description {Enable multi-threaded runtime using the Mach pthreads interface.}
tcl:       variant threads    description {add multithreading support}
yap:       variant threads
abinit:    variant threads    description {Build with support for multi-thread support (openMP)}
openmpi:   variant threads    description {enable threads for MPI applications}
wannier90: variant threads    description {Build with threaded ATLAS}

hdf5:      variant threadsafe description {Enable threadsafety (experimental, fails unit-tests)}
hdf5-18:   variant threadsafe description {Enable threadsafety. +threadsafe is EXPERIMENTAL with +cxx, +fortran, or any mpi variant}

If this doesn't apply to your port (that is: if the keyword +threads misses the point – I'm not sure if +threads and +threadsafe have "compatible" meanings for example), please say so and remove your port from the list of affected ports. But variants like +no_threads should certainly be inverted.

Change History (10)

comment:1 Changed 10 years ago by mf2k (Frank Schima)

Port: hdf5 added; hdf removed

comment:2 Changed 10 years ago by mf2k (Frank Schima)

Cc: mmoll@… added
Description: modified (diff)
Port: hdf5-18 added

Adding hdf5-18 and Cc'ing the maintainer for possible comment.

comment:3 Changed 10 years ago by mamoll (Mark Moll)

Thread safety is different from multi-threaded. Thread-safe code can be used in multi-threaded code, but isn't necessarily multi-threaded itself. Multi-threaded code necessarily must be thread-safe. Nevertheless, I can see the value in having fewer variant names. It'd be nice if a multi-threaded port that depended on hdf-18 would build the threadsafe variant of hdf5-18. That is more likely to happen if the hdf5-18 variant is named "threads". In other words, I'd be okay with this change, as long as the variant description is clear what it means in each case.

comment:4 Changed 10 years ago by mf2k (Frank Schima)

Cc: akitada@… removed

Removing former maintainer from Cc. See #43692.

comment:5 Changed 9 years ago by petrrr

Port: hdf5-18 removed

Removing hdf5-18 again. It has become as stub w/o variants and can to be removed in few days.

comment:6 Changed 7 years ago by mf2k (Frank Schima)

Cc: ryandesign michaelld added

Updating maintainers in Cc list

comment:7 Changed 5 years ago by mf2k (Frank Schima)

Cc: michael@… removed

See #58384.

comment:8 Changed 5 years ago by michaelld (Michael Dickens)

OK. So for "boost" by default we install just the multi-threaded version (suffix "-mt"). IIRC, disabling the default "+no_single" will then -also- build a single-threaded version (suffix "-st") ... completely different ABI files. I don't see how "+threads" is relevant here.

comment:9 Changed 4 years ago by herbygillot (Herby Gillot)

In daed60864683925cef2999bfe3bcadbab25039fe/macports-ports (master):

cherokee: update to 1.2.204

  • use distfiles from Github as official site points to Github-hosted assets
  • use recommended checksum types
  • patch and configure to use $prefix/var/www as www root
  • remove all variants, add new variants for ffmpeg and LDAP
  • add Python 2.7 as lib dependency, also needed for build process
  • use automake/autoconf/libtool in build process

Closes: #30324
Closes: #33768
Closes: #44766
See: #33767
See: #43704

comment:10 Changed 3 weeks ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added
Note: See TracTickets for help on using tickets.