From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by c5ff346549e7 (Postfix) with ESMTPS id A9E455D5 for ; Thu, 18 Jun 2020 11:18:36 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.73,526,1583190000"; d="scan'208,217";a="455378499" Received: from prod-listesu18.inria.fr (HELO sympa.inria.fr) ([128.93.162.160]) by mail2-relais-roc.national.inria.fr with ESMTP; 18 Jun 2020 13:18:35 +0200 Received: by sympa.inria.fr (Postfix, from userid 20132) id 6A9EAE0356; Thu, 18 Jun 2020 13:18:35 +0200 (CEST) Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 22675E0327 for ; Thu, 18 Jun 2020 13:18:30 +0200 (CEST) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=muriel.shanseifan@ocamlpro.com; spf=Pass smtp.mailfrom=muriel.shanseifan.ocp@gmail.com; spf=None smtp.helo=postmaster@mail-wm1-f54.google.com IronPort-PHdr: =?us-ascii?q?9a23=3AbWQXxh/wfhGiTv9uRHKM819IXTAuvvDOBiVQ1KB+?= =?us-ascii?q?0+gQIJqq85mqBkHD//Il1AaPAdyGrasb16GN7OjJYi8p2d65qncMcZhBBVcuqP?= =?us-ascii?q?49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6?= =?us-ascii?q?JvjvGo7Vks+7y/2+94fcbglVhDexe65+IRe5oAneuMQbg5ZpJ7osxBfOvnZGYf?= =?us-ascii?q?ldy3lyJVKUkRb858Ow84Bm/i9Npf8v9NNOXLvjcaggQrNWEDopM2Yu5M32rhbD?= =?us-ascii?q?VheA5mEdUmoNjBVFBRXO4QzgUZfwtiv6sfd92DWfMMbrQ704RSiu4qF2QxLulS?= =?us-ascii?q?wJNSM28HvPh8xqkaxVvhyhqRx4w4DXbo+aOvVxcaHBct4BX2VNQtxcWjZdDo6y?= =?us-ascii?q?bYYCCfcKM+ZCr4n6olsDtRywBRS2BOPu1DBIgmL907A43ek9CQ/NwREuEd0Nvn?= =?us-ascii?q?/JrNv4KL8cWv2ywanN0DXDdfJW1in56ITSaRAhoeuDXbRrccXPyEkvGRnKjlOL?= =?us-ascii?q?pIziIzyazOENs2yD7+p6UuKjkXIoqwZ0ojW2wMonl4bGiJ4PxF/e6SV53Jg6Jc?= =?us-ascii?q?e+SENjYNOqHptduS6EO4Z5Tc0vTHxltDg7x7ACu5O3YioHxIgoyRLDd/GLbZaE?= =?us-ascii?q?7BztWeqNIDp2inxodrKxihu27EWtyOvxXdS63lZNqypKiNjMtnYV2hzU9seIUP?= =?us-ascii?q?59/kO52TaV0ADf8P1LIUcxlabDJJ4hw6IwlpoOsUvYBCP5hEL2jKqOekUj5uen?= =?us-ascii?q?8eHnYrH8qp+bLY90hQfzObktlMynGek0LBQCUmyB9em/1LDv51D1TKtJg/Eskq?= =?us-ascii?q?TUv4jWKMcaq6KjHQNY3Ycu5wyxAjqiytgUgHkKIVBDdRmalYbmIUvOL+r9Dfqn?= =?us-ascii?q?g1SjjjNrx/feM73kGJrNL3zDnK7vfLZ49kJQ0QQzwNBQ6p5OBbEBJ/XzWkD1tN?= =?us-ascii?q?PGFBM2Lwu0w+P/BNV80IMRR36PD7eHPK/OtVKE/OEiLumWaIMIpjrwKOIp6v7h?= =?us-ascii?q?gHMhnF8SZ6ip3Z8ZaHCiGfRmJl2UYX/xgtcbEGcFoA4+QPbxiF2CSzFTYW2yUL?= =?us-ascii?q?w95jE1Eo2mC53PRoexj7yZxyq7EZhWaXpHClCIC3vna4KEW/IUZCKIPsBhiiAE?= =?us-ascii?q?VaSmS4I5yR6hrgr6y75+IurQ+y0Yro7j2cNu5+zTkBEy7SZ7A96c02GLVWF0n3?= =?us-ascii?q?kHSyU43KBl8gRBzQKI2K18xvhZDsB75vVTUw58O4SP9eFiD8HOXVfEY82IRVLg?= =?us-ascii?q?WdWvByo8T9w4xfcJaE94H824iVbI2C/5LaUSkumuGYY1/6aU5FjYAY5G5leO+o?= =?us-ascii?q?AHxw0jX9FOOGngna528RPeBoDAlW2enK+vcbwG22jG82LVnjnGh11RTAMlCfaN?= =?us-ascii?q?ZnsYfEaD9Y2ktHOHdKenDPEcCiUEycOGLfEXONjgjFEDW/K6fdqDPyS+nGC/AR?= =?us-ascii?q?vOzbSJPtKzKjctmR7FAU1BqDg9uHOPNAwwHCCk+juMAzlnFFapaETpo7An9CGL?= =?us-ascii?q?C3QsxgTPVHVPkqKv80dJ1/uXQvYXxqgD/iwmrmcsEQ=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0DvAQAJTetegDaAVdFmHQEBAQEJARIBB?= =?us-ascii?q?QUBggqDGVVehCSRCINzj3eIHQEDAQoBASMMBAEBhmsCHAcBBDQTAhABAQUBAQE?= =?us-ascii?q?CAQMDBAETAQEJDQkIJ4U3BicMgjsigxYBBRIRZgsYJwMCAjQBBQELERMGAgEBE?= =?us-ascii?q?AcHgwQBOYJDBAuqPoEEPYsogTKEOgEWD2CDc4E6BgkBCIEmgieKOIIagREngjs?= =?us-ascii?q?uPoJcAoFHgyyCYASOeAsOlHCPRoECByOCOohAjgSCUQUKHUmHM4hwE41vmzOUK?= =?us-ascii?q?QIKBwYPI4FHgXhwUIFNgRxQGQ2KCIgHhRSFRD8zNwIGAQcBAQMJkH8BAQ?= X-IPAS-Result: =?us-ascii?q?A0DvAQAJTetegDaAVdFmHQEBAQEJARIBBQUBggqDGVVehCS?= =?us-ascii?q?RCINzj3eIHQEDAQoBASMMBAEBhmsCHAcBBDQTAhABAQUBAQECAQMDBAETAQEJD?= =?us-ascii?q?QkIJ4U3BicMgjsigxYBBRIRZgsYJwMCAjQBBQELERMGAgEBEAcHgwQBOYJDBAu?= =?us-ascii?q?qPoEEPYsogTKEOgEWD2CDc4E6BgkBCIEmgieKOIIagREngjsuPoJcAoFHgyyCY?= =?us-ascii?q?ASOeAsOlHCPRoECByOCOohAjgSCUQUKHUmHM4hwE41vmzOUKQIKBwYPI4FHgXh?= =?us-ascii?q?wUIFNgRxQGQ2KCIgHhRSFRD8zNwIGAQcBAQMJkH8BAQ?= X-IronPort-AV: E=Sophos;i="5.73,526,1583190000"; d="scan'208,217";a="455378461" X-MGA-submission: =?us-ascii?q?MDEwfQ0CPApIWTmlG1mdJpliJOLlPVVsFOsCjH?= =?us-ascii?q?FlN0g0ZqXascYt34FEDZr41ejdo6pKKYMSaxhNY/q8LgqBMdqZYapyG5?= =?us-ascii?q?qk9hHCXtrTdOMenliU+WY8S0oqpiufPFpxmZTRS9BaLCLMuKSFdEdjCH?= =?us-ascii?q?RgB9tyUCJkc0mSat7sGtcn+w=3D=3D?= Received: from mail-wm1-f54.google.com ([209.85.128.54]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES256-GCM-SHA384; 18 Jun 2020 13:18:29 +0200 Received: by mail-wm1-f54.google.com with SMTP id l26so4797126wme.3 for ; Thu, 18 Jun 2020 04:18:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:reply-to:subject:to:references:from:autocrypt :organization:message-id:date:user-agent:mime-version:in-reply-to :content-language; bh=7tHGXKq8hfD0RSf2FW5zC66yJApN4TRAmDjvq7GRYf0=; b=oEspR1YCSCNsQDmjZfrIjJi71KGS1QD6+Ns3IByNzPafM4CqurIFkVXs+jxcx+UeGY AUaDAlLD7URcggCtWQv2GiAJPH6RSwoG4gRRbLftc88E8ENs4UxxHMcg9jqDHDApM14K DJv9Xa9npbYHdWyKZQzVts/cb/DPXn7XIhxuoS/Cr7IAnJAZsFv37uTkGYb7RtWRPa6Z ba/6gS24EjVI+SOn0Wtt+BBZZydHrpWW7sBp88Bd1kKIGLdAkOJXi//4kSoOs8ghhXsZ x2OZyNUCDFNCmnjbYgjevCHBVrFrP2QEkZl4PVK+DP0tlqKY9TDGGhTbZoC52Hc3OFFV y5uw== X-Gm-Message-State: AOAM533s46kAjHE3gSE6fWOSsPIicA7ZGLlcV8O7tWiSqHgPqfUpHb2v eSprPyU3YW7IPn7GGEX+HqUJScY+ X-Google-Smtp-Source: ABdhPJzLJCm/dVpHRk/ff/9sog2ln8XdXCi3tejQ2cMs7ovuZa13YMBebHfsz3TgdXOmxpd3X71KLw== X-Received: by 2002:a05:600c:1403:: with SMTP id g3mr3357076wmi.136.1592479108851; Thu, 18 Jun 2020 04:18:28 -0700 (PDT) Received: from [10.42.0.88] (lfbn-idf2-1-574-157.w86-246.abo.wanadoo.fr. [86.246.39.157]) by smtp.gmail.com with ESMTPSA id y80sm3427506wmc.34.2020.06.18.04.18.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 18 Jun 2020 04:18:28 -0700 (PDT) Reply-To: muriel.shanseifan@ocamlpro.com To: caml-list@inria.fr References: <29ef1edf-22e6-bcc3-bd98-dceccecf3420@inria.fr> <800d1d00-1fb8-1485-3022-c581753b3fba@inria.fr> <5b0a9f3f-6729-4e19-9f38-01d7d205c8d6@www.fastmail.com> From: Muriel SHAN SEI FAN Autocrypt: addr=muriel.shanseifan@ocamlpro.com; prefer-encrypt=mutual; keydata= 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 V2J5kGphZtLpTjhytQZGCjaC4lypa4NC Organization: OCamlPro Message-ID: <5d419548-b632-b58a-e10e-fe62ed04a0c0@ocamlpro.com> Date: Thu, 18 Jun 2020 13:18:27 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 MIME-Version: 1.0 In-Reply-To: <5b0a9f3f-6729-4e19-9f38-01d7d205c8d6@www.fastmail.com> Content-Type: multipart/alternative; boundary="------------0A0F7DB3B74623D871723741" Content-Language: fr-FR Subject: Re: [Caml-list] 300$ Bounty for the feature compilation cache in opam X-Loop: caml-list@inria.fr X-Sequence: 18176 Errors-To: caml-list-owner@inria.fr Precedence: list Precedence: bulk Sender: caml-list-request@inria.fr X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Archived-At: This is a multi-part message in MIME format. --------------0A0F7DB3B74623D871723741 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Thank you Fabrice and Louis. As other institutions or individuals on this list, you know that we are happy (as a company /and/ as individuals) to contribute to the thriving of the OCaml community. All initiatives are good to take :-) Muriel https://www.ocamlpro.com/ On 18/06/2020 11:09, Louis Roch=C3=A9 wrote: > I was happy to give 300USD of my personal money to push someone to > work on this task. But I can't afford to pay a company to work on that > task. > > There is a script in the opam repo providing binary cache already[1]. > The problem is that it doesn't handle relocation well. Because of > paths contained in the cached content. For example if I install ocaml > in a switch A, then in switch B, then delete the switch A, suddenly > the switch B won't work anymore. > > To me the ideal solution would be to extract the code of esy that is > doing path replacements and use it in an opam hook. It would also > require all switches to be installed in a path of a similar length, > but that's a trivial task. > > 1. https://github.com/ocaml/opam/blob/4756ca1/shell/opam-bin-cache.sh > > On Thu, Jun 18, 2020, at 17:00, Fabrice Le Fessant wrote: >> opam is maintained by OCamlPro, why not contact them and get a quote >> ?=C2=A0It won't be 300$, but everybody will enjoy the feature in the >> next=C2=A0version. >> >> As a side note, a long time ago, I had an implementation of a >> binary=C2=A0cache for OPAM. The modifications in OPAM were minimal: op= am would >> just call a hook to build the package and install it, providing >> a=C2=A0checksum of dependencies and sources. The checksum would be use= d by >> an=C2=A0external tool (`ocp-bin`) to query the local binary cache (or = a >> remote=C2=A0server) and either re-install the package or build it and = save >> it in=C2=A0the cache. Since it was written in 2013, not sure if it wou= ld >> still=C2=A0work easily with current opam. Its code was used later to >> create=C2=A0opam-builder. >> -- >> Fabrice LE FESSANT >> CEO Origin-Labs SAS & Dune Network >> >> Le=C2=A0jeu. 18 juin 2020 =C3=A0 03:53, Francois Berenger > > a =C3=A9crit=C2=A0: >> >> Cf. >> https://discuss.ocaml.org/t/bounty-for-compilation-cache-in-opam/2= 482 >> for details. >> >> --=20 >> Fabrice LE FESSANT >> Chercheur en Informatique >> INRIA Paris Rocquencourt -- OCamlPro >> Programming Languages and Distributed Systems > --------------0A0F7DB3B74623D871723741 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit Thank you Fabrice and Louis.
As other institutions or individuals on this list, you know that we are happy (as a company and as individuals) to contribute to the thriving of the OCaml community. All initiatives are good to take :-)
Muriel
https://www.ocamlpro.com/

On 18/06/2020 11:09, Louis Roché wrote:
I was happy to give 300USD of my personal money to push someone to work on this task. But I can't afford to pay a company to work on that task.

There is a script in the opam repo providing binary cache already[1]. The problem is that it doesn't handle relocation well. Because of paths contained in the cached content. For example if I install ocaml in a switch A, then in switch B, then delete the switch A, suddenly the switch B won't work anymore.

To me the ideal solution would be to extract the code of esy that is doing path replacements and use it in an opam hook. It would also require all switches to be installed in a path of a similar length, but that's a trivial task.


On Thu, Jun 18, 2020, at 17:00, Fabrice Le Fessant wrote:
opam is maintained by OCamlPro, why not contact them and get a quote ? It won't be 300$, but everybody will enjoy the feature in the next version.

As a side note, a long time ago, I had an implementation of a binary cache for OPAM. The modifications in OPAM were minimal: opam would
just call a hook to build the package and install it, providing a checksum of dependencies and sources. The checksum would be used by an external tool (`ocp-bin`) to query the local binary cache (or a remote server) and either re-install the package or build it and save it in the cache. Since it was written in 2013, not sure if it would still work easily with current opam. Its code was used later to create opam-builder.
--
Fabrice LE FESSANT
CEO Origin-Labs SAS & Dune Network

Le jeu. 18 juin 2020 à 03:53, Francois Berenger <mlists@ligand.eu> a écrit :
Cf.
for details.
--
Fabrice LE FESSANT
Chercheur en Informatique
INRIA Paris Rocquencourt -- OCamlPro
Programming Languages and Distributed Systems


--------------0A0F7DB3B74623D871723741--