• [gentoo-dev] [PATCH] eclass/dune.eclass: fixes

    From =?UTF-8?q?Maciej=20Bar=C4=87?=@21:1/5 to All on Thu Dec 9 01:00:01 2021
    bump to EAPI 8
    drop support for EAPI 5
    set DUNE_PKG_NAME to PN by default
    move "Move docs to the appropriate place" block to dune-install
    to make dune-install now handle a list of subpackages correctly

    Signed-off-by: Maciej Barć <xgqt@gentoo.org>
    ---
    eclass/dune.eclass | 37 ++++++++++++++++++++++---------------
    1 file changed, 22 insertions(+), 15 deletions(-)

    diff --git a/eclass/dune.eclass b/eclass/dune.eclass
    index 02a8a870e..a5de47aca 100644
    --- a/eclass/dune.eclass
    +++ b/eclass/dune.eclass
    @@ -8,7 +8,7 @@
    # ML <ml@gentoo.org>
    # @AUTHOR:
    # Rafael Kitover <rkitover@gmail.com>
    -# @SUPPORTED_EAPIS: 5 6 7
    +# @SUPPORTED_EAPIS: 6 7 8
    # @BLURB: Provides functions for installing Dune packages.
    # @DESCRIPTION:
    # Provides dependencies on dDne and OCaml and default src_compile, src_test and
    @@ -19,9 +19,10 @@
    # @DESCRIPTION:
    # Sets the actual Dune package name, if different from Gentoo package name.
    # Set before inheriting the eclass.
    +: ${DUNE_PKG_NAME:-${PN}}

    case ${EAPI:-0} in
    - 5|6|7) ;;
    + 6|7|8) ;;
    *) die "${ECLASS}: EAPI ${EAPI} not supported" ;;
    esac

    @@ -32,7 +33,7 @@ EXPORT_FUNCTIONS src_compile src_test src_install

    RDEPEND=">=dev-lang/ocaml-4:=[ocamlopt?] dev-ml/dune:="
    case ${EAPI:-0} in
    - 5|6)
  • From Ulrich Mueller@21:1/5 to All on Thu Dec 9 08:40:02 2021
    On Thu, 09 Dec 2021, Maciej Barć wrote:

    dune-install() {
    + local pkgs
    + if [[ -n "${@}" ]] ; then
    + pkgs="${@}"
    + else
    + pkgs=${DUNE_PKG_NAME}
    + fi
    +
    + local myduneopts=(
    + --prefix="${ED%/}/usr"
    + --libdir="${D%/}$(ocamlc -where)"
    + --mandir="${ED%/}/usr/share/man"
    + )
    local pkg
    - for pkg ; do
    - dune install \
    - --prefix="${ED%/}/usr" \
    - --libdir="${D%/}$(ocamlc -where)" \
    - --mandir="${ED%/}/usr/share/man" \
    - "${pkg}" || die
    + for pkg in "${pkgs}" ; do
    + dune install ${myduneopts[@]} ${pkg} || die
    done
    }

    Have you tested this?

    IIUC, the space separated list of arguments is assigned to pkgs, with
    a fallback to ${DUNE_PKG_NAME}. The 'for pkg in "${pkgs}"' loop isn't
    actually a loop because ${pkgs} is inside double quotes, so it will be
    executed only once with pkg being equal to pkgs.

    The previous logic (simple 'for pkg' which will loop over $@) was
    correct but of course without the fallback.

    +dune_src_install() {
    + dune-install ${1:-${DUNE_PKG_NAME}}
    +}

    Do you even need the fallback in dune_install() if you have it here too?

    Ulrich

    --=-=-Content-Type: application/pgp-signature; name="signature.asc"

    -----BEGIN PGP SIGNATURE-----

    iQFDBAEBCAAtFiEEtDnZ1O9xIP68rzDbUYgzUIhBXi4FAmGxsn0PHHVsbUBnZW50 b28ub3JnAAoJEFGIM1CIQV4upPEIALEfdLldux7ogrKs/VEP/KXNG2UphvtQvq5r KZQ9ArPF7ianzhRqmshu9NiLMgz5myW6E+U0rzrWKIMMWRHTMs64ttTmEOXKZyQe cLDH8sIotZCnQmQPelqIGRRN3ha9+weC0n2aHDymrz1H1T04KBBt+rtRIHal9BpH 2NEySQ/XrAnreWx9vBSGBOeBB3hKRd28GyB3AiYgbMiXQRmmDXASP7SauFBpl6iI 5Y3XoNfyUSvUcBfUoKxpxBOT/IsDp/J2wfUvU9MiYrgB61Bal3YcULJk8QU4a3n8 daoldE+tdO48zz90vvpEWW/epkNfSgtLIjz98jcdFpJzAwupysI=hJef
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Maciej_Bar=c4=87?=@21:1/5 to All on Thu Dec 9 12:40:02 2021
    To: ulm@gentoo.org (Ulrich Mueller)
    Copy: ml@gentoo.org

    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------991HcWGKrMyALQ8jCJc8DgsL
    Content-Type: multipart/mixed; boundary="------------02e0gVtAFmxWlUPiWJLvnvRN"

    --------------02e0gVtAFmxWlUPiWJLvnvRN
    Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64

    ID4gSUlVQywgdGhlIHNwYWNlIHNlcGFyYXRlZCBsaXN0IG9mIGFyZ3VtZW50cyBpcyBhc3Np Z25lZCB0byBwa2dzLCB3aXRoDQogPiBhIGZhbGxiYWNrIHRvICR7RFVORV9QS0dfTkFNRX0u IFRoZSAnZm9yIHBrZyBpbiAiJHtwa2dzfSInIGxvb3AgaXNuJ3QNCiA+IGFjdHVhbGx5IGEg bG9vcCBiZWNhdXNlICR7cGtnc30gaXMgaW5zaWRlIGRvdWJsZSBxdW90ZXMsIHNvIGl0IHdp bGwgYmUNCiA+IGV4ZWN1dGVkIG9ubHkgb25jZSB3aXRoIHBrZyBiZWluZyBlcXVhbCB0byBw a2dzLg0KDQpZZXMsIHlvdSBhcmUgcmlnaHQsIEkgd2FzIHdyb25nIHRvIHRlc3QgaXQgd2l0 aCAobW9kaWZpZWQpIGRldi1tbC9tZW5oaXIgDQpsaWIgd2hpY2ggSSBiZWxpZXZlIGRvZXMg bm90IG5lZWQgdG8gY2FsbCBkdW5lLWluc3RhbGwgd2l0aCBtdWx0aXBsZSANCnN1YnBrZ3Mg bm93Lg0KDQogPiBEbyB5b3UgZXZlbiBuZWVkIHRoZSBmYWxsYmFjayBpbiBkdW5lX2luc3Rh bGwoKSBpZiB5b3UgaGF2ZSBpdCBoZXJlIHRvbz8NCg0KWWVzLCB0byBrZWVwIG9sZCBjb21w YXRpYmlsaXR5Lg0KDQoNCk9uIDEyLzkvMjEgMDg6MzgsIFVscmljaCBNdWVsbGVyIHdyb3Rl Og0KPj4+Pj4+IE9uIFRodSwgMDkgRGVjIDIwMjEsIE1hY2llaiBCYXLEhyB3cm90ZToNCj4g DQo+PiAgIGR1bmUtaW5zdGFsbCgpIHsNCj4+ICsJbG9jYWwgcGtncw0KPj4gKwlpZiBbWyAt biAiJHtAfSIgXV0gOyB0aGVuDQo+PiArCQlwa2dzPSIke0B9Ig0KPj4gKwllbHNlDQo+PiAr CQlwa2dzPSR7RFVORV9QS0dfTkFNRX0NCj4+ICsJZmkNCj4+ICsNCj4+ICsJbG9jYWwgbXlk dW5lb3B0cz0oDQo+PiArCQktLXByZWZpeD0iJHtFRCUvfS91c3IiDQo+PiArCQktLWxpYmRp cj0iJHtEJS99JChvY2FtbGMgLXdoZXJlKSINCj4+ICsJCS0tbWFuZGlyPSIke0VEJS99L3Vz ci9zaGFyZS9tYW4iDQo+PiArCSkNCj4+ICAgCWxvY2FsIHBrZw0KPj4gLQlmb3IgcGtnIDsg ZG8NCj4+IC0JCWR1bmUgaW5zdGFsbCBcDQo+PiAtCQkJLS1wcmVmaXg9IiR7RUQlL30vdXNy IiBcDQo+PiAtCQkJLS1saWJkaXI9IiR7RCUvfSQob2NhbWxjIC13aGVyZSkiIFwNCj4+IC0J CQktLW1hbmRpcj0iJHtFRCUvfS91c3Ivc2hhcmUvbWFuIiBcDQo+PiAtCQkJIiR7cGtnfSIg fHwgZGllDQo+PiArCWZvciBwa2cgaW4gIiR7cGtnc30iIDsgZG8NCj4+ICsJCWR1bmUgaW5z dGFsbCAke215ZHVuZW9wdHNbQF19ICR7cGtnfSB8fCBkaWUNCj4+ICAgCWRvbmUNCj4+ICAg fQ0KPiANCj4gSGF2ZSB5b3UgdGVzdGVkIHRoaXM/DQo+IA0KPiBJSVVDLCB0aGUgc3BhY2Ug c2VwYXJhdGVkIGxpc3Qgb2YgYXJndW1lbnRzIGlzIGFzc2lnbmVkIHRvIHBrZ3MsIHdpdGgN Cj4gYSBmYWxsYmFjayB0byAke0RVTkVfUEtHX05BTUV9LiBUaGUgJ2ZvciBwa2cgaW4gIiR7 cGtnc30iJyBsb29wIGlzbid0DQo+IGFjdHVhbGx5IGEgbG9vcCBiZWNhdXNlICR7cGtnc30g aXMgaW5zaWRlIGRvdWJsZSBxdW90ZXMsIHNvIGl0IHdpbGwgYmUNCj4gZXhlY3V0ZWQgb25s eSBvbmNlIHdpdGggcGtnIGJlaW5nIGVxdWFsIHRvIHBrZ3MuDQo+IA0KPiBUaGUgcHJldmlv dXMgbG9naWMgKHNpbXBsZSAnZm9yIHBrZycgd2hpY2ggd2lsbCBsb29wIG92ZXIgJEApIHdh cw0KPiBjb3JyZWN0IGJ1dCBvZiBjb3Vyc2Ugd2l0aG91dCB0aGUgZmFsbGJhY2suDQo+IA0K Pj4gK2R1bmVfc3JjX2luc3RhbGwoKSB7DQo+PiArCWR1bmUtaW5zdGFsbCAkezE6LSR7RFVO RV9QS0dfTkFNRX19DQo+PiArfQ0KPiANCj4gRG8geW91IGV2ZW4gbmVlZCB0aGUgZmFsbGJh Y2sgaW4gZHVuZV9pbnN0YWxsKCkgaWYgeW91IGhhdmUgaXQgaGVyZSB0b28/DQo+IA0KPiBV bHJpY2gNCj4gDQoNCi0tIA0KSGF2ZSBhIGdyZWF0IGRheSENCg0KfiBNYWNpZWogWEdRVCBC YXLEhw0K
    --------------02e0gVtAFmxWlUPiWJLvnvRN
    Content-Type: application/pgp-keys; name="OpenPGP_0x14D74A1F43A6AC3C.asc" Content-Disposition: attachment; filename="OpenPGP_0x14D74A1F43A6AC3C.asc" Content-Description: OpenPGP public key
    Content-Transfer-Encoding: quoted-printable

    -----BEGIN PGP PUBLIC KEY BLOCK-----

    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
    Kamikkyy
    =QepM
    -----END PGP PUBLIC KEY BLOCK-----
    --------------02e0gVtAFmxWlUPiWJLvnvRN--


    --------------991HcWGKrMyALQ8jCJc8DgsL--

    -----BEGIN PGP SIGNATURE-----

    wsB5BAABCAAjFiEE4PFI8SeUY7+5RtMeAxyf5lvtcUoFAmGx6KcFAwAAAAAACgkQAxyf5lvtcUrQ 2wgAj1hCB4ipBeaPmAxZ3deByiaJ0ivrUR9Gw4Q9nMGpDZT1p8uVzdJEq0fgA2w11Y6+kOVHDIZ1 aAA+7XV4ScKQQGDVuQs/fAJ1fSAIEYSlHh1SzULDIDQ3VmefyeqCfGb637z3M4QlGyZBT8QOrAnY B23VwvlVTrEnnO6ojpJo1utFEh0e6La/c7IzXCc+JswTAlatD55tsnd+6LFW/W/3CRNaJxJZSFTh Bcs26aodJMftBuAr7AZ/I892mIOn+maXLCnZC2nmPdR16h/lFy+LkSw5JsYzSw0srbwggNBop1yO iJG8DqSnYahy33+2WX9+qdx4I8WEidv+cm4mMIFjbw==
    =ldiA
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)