| 24 May 2023 |
Pol | We have a huge thread indeed, my bad. | 17:34:43 |
Pol | This thread is related to the new PHP builder. | 17:34:53 |
Pol | * This thread is related to the new PHP builder for Nix. | 17:34:57 |
Pol | Maybe I should not use it if it creates sync issues. | 17:35:09 |
| 25 May 2023 |
Pol | PR back to green state: https://github.com/NixOS/nixpkgs/pull/225401 | 06:26:05 |
Pol | Feel free to review and/or contribute to it ! | 06:26:36 |
Pol | I refactored the plugin to use the Composer API correctly to download and install the packages. It works even better :) | 10:08:32 |
Pol | I just made a diagram on how the new PHP wrapper is working: https://planttext.com/api/plantuml/png/bLLBRzim3BxhLn3jRKMB9iqfXw4lh1dMROQ1xgx8RC9QbZn9JkD_F_eHFvgqpN9HGl8ZFtuIcMiVf0j5feK853J2Bzf2j8ZWjY2Te1DAve6iWMTQ5GvXCeU5VGKAy6fTwiKQPHKLMGttgBKaT5AWILgxa4MmfiYM_DsdP7BfP0OHboH5kJGXaab2PWNJou7_rcuFsdqecQ4FZbHDUU31lmKQXJ_HUxd26qqh0uvMwo2a2jOnkGsSwihmu12D44kxXPDbrUIvibbkFRhptDaNLE72qFO4JX-RQ5cAlESBDGIaX-WIJdyxQLOuyk-IVJUihDPtrZJABQnDQzZa65YjVWUP7bLfZIhj85V7GDgZ0yqw4DyWi4A7PNB89x6gvL2fMrtWOQNYZvMAktHxOiKVYzKZttGI7-ZaHWNQo83xJw4od7-jBlJihCC9_baRvsqZkw8_iFJlEXSsmtjohJ_Uy_UCXOZ7zU86CXaPfUwxVRGg1V8WDvAqN6eKm1y6rB0vtDcyh0OpM525SyX29UHGrTLOXWFPClAUfsoOY2b_u_ny2Gt6OIYSwUZDnfndZN4E3sXuybbTRPNKNHNetyeWk6PgYv0N0SX0M3ThntCOzXMRyw1qhVplQzK7ZtgC9hjh6_NukSejy2YL-rYrpcn_znTVU8bgz7s7RHlJyRkRDiQ1ffaqz8m-r7Z8fKfvn_cB5s_D83n6jPkVlkQRcASyaQ7QgxfgiqvdZIxtA5sDALqrnZdyaPgIYjAe04WpQBDAlPTm_6wYMMESGpkua63Eul4A9nQeTyUOsSqd0dJ1dLw-p3IPrCCpR_ub6Ud6MV_d_GbnpSIgVvj_ | 14:43:58 |
Pol | The Composer plugin has been refactored today and there has been a lot of improvements. | 19:57:22 |
Pol | The PHP builder is now using it (https://github.com/NixOS/nixpkgs/pull/225401) and thanks to the plugin, the Nix hooks has been streamlined as well. | 19:58:01 |
Pol | I'm still looking for people to review and provide some feedback | 19:58:22 |
| 26 May 2023 |
Pol | Sometimes I wonder why we are making this... | 16:08:51 |
Pol | With such a thing: https://gist.github.com/drupol/94f7917d22f37affe104a68ceb96f019 I can do a reproducible build of Drupal. | 16:09:04 |
Pol | So I'm wondering if all the work I did on the PR worth it. | 16:09:18 |
Pol | Jan Tojnar: Is this kind of derivation allowed in nixpkgs ^^ | 16:09:31 |
Pol | This is not an IFD, this is a FOD... but it's reproducable... totally. | 16:09:55 |
Pol | This is putting at stake everything I worked on on the PHP builder. | 16:20:15 |
tgerbet | You want to split the retrieval part and the part where Composer generates code to limit the chances of breaking the FOD when upgrading Composer.
| 16:23:44 |
Pol | That's an important point, thanks. | 16:24:16 |
Pol | I have hard time explaining what I think about this in english. IMHO, what I did in this PR is as fragile as what we do in that Drupal derivation. | 16:26:07 |
Pol | In that example derivation, I only rely on Composer. In the PR, I rely on Composer + custom plugin. | 16:26:37 |
Pol | If i had to choose, I would definitely prefer to only rely on Composer. | 16:26:52 |
tgerbet | Relying only on Composer means you have to trust it entirely to not break the FOD and it is not something that is guaranteed even for minor upgrades. The custom plugin allow to control what goes into the FOD and how it is stored which is less fragile. | 16:31:18 |
Pol | Mmmh true too. | 16:32:31 |
Pol | But Composer has a fixed version in the store, so, it won't change unless we do it manually, right ? | 16:38:21 |
Pol | If tomorrow version 3 of composer is released, there is a slight chance that we will have to recalculate the hashes of derivation using Composer 2. | 16:38:48 |
Pol | That make sense to me, no ? | 16:39:02 |
tgerbet | If you have the guarantee it can only happen in major versions it could be fine but that's not the case but the change can also happen in the next patch version | 16:54:29 |
Jan Tojnar | In reply to @drupol:matrix.org If tomorrow version 3 of composer is released, there is a slight chance that we will have to recalculate the hashes of derivation using Composer 2. but the point of fixed-output derivation is that you should never need to recompute the hashes, by definition, they are fixed | 21:08:23 |
Pol | Yep... That's the theory 😖 | 21:59:41 |