| 22 Mar 2024 |
John Ericson | I think better to clog up the chat here unless it gets really into the weeds | 15:39:49 |
John Ericson | if it is not gsoc specific we can also take it a dev channel or the nixpkgs issue for this | 15:40:00 |
John Ericson | (I think there was a nixpkgs issue? If not I should make one and link it from the gsoc) | 15:40:10 |
John Ericson | In reply to @cldrpr:matrix.org John Ericson: Re: GCC project - Requesting a review of my initial draft proposal (here: https://github.com/cloudripper/GSoC-24/blob/main/gsoc-proposal-draft.pdf). Please let me know if I need to be more granular or descriptive in my project plan or abstract - and if there are any other important project-specific sections you feel I should include (I will include other personal sections prior to submission). Additionally, if there are others interested in this project, I would be happy to modify as needed to try and avoid overlap. only comment I don't think there needs to be a separate design phase | 15:41:45 |
John Ericson | rather I think it will be an iterative process of mentee trying things, and mentor offering feedback | 15:42:08 |
John Ericson | I have a very specific vision in mind as to how this should work, and the draft PR already that was linked in the issue, but I expect to only be able to be able to convey that to anay mentee though an interative / dialogue process | 15:43:08 |
John Ericson | and also incrementally untangling things that exist, so stuff can fall back into place in a better way | 15:43:32 |
John Ericson | I forget if I put this in the issue, but I suspect there would first be a "gcc-ng" totally separate toolchain, and then (possibly post summer) there would be a process of making it the default GCC one | 15:44:22 |
@cldrpr:matrix.org | In reply to @Ericson2314:matrix.org I have a very specific vision in mind as to how this should work, and the draft PR already that was linked in the issue, but I expect to only be able to be able to convey that to anay mentee though an interative / dialogue process Thanks for the input. Just to be clear, are you referring to this PR: (https://github.com/NixOS/nixpkgs/pull/132343)? Also, I came across the work you've done in the "gcc-ng-12" branch in your nixpkgs fork - would that be your expected starting point for the project? | 23:40:20 |
John Ericson | cldrpr: yes that's right. Start with that. The gcc 12 one is only a few hours work different so pretty much the same to me | 23:43:13 |
| 23 Mar 2024 |
agge3 | Hello everyone! I'd like to work on the project 'Nix Internals: Use std::filesystem::path for Path'. I see there are others already interested in that project, so I do not mean to bring unwanted competition. Nevertheless, C++ is my preferred language, so I really like the idea of following cxx 17 standards. Also, I've had some experience with cross-dev unix-to-windows (a nightmare), and I like the mission goal of bringing anything unix to windows (hence, the cross-dev). My experience with nix is setting up containerized dev environments to keep things consistent for multiple users, so I really believe in nix and think it's a highly effective tool for something that is otherwise a complete nightmare.
I could have more experience because I don't daily-drive. My platform is using nix package manager on gentoo w/ openrc init. Can operate in a more integrated environment (nixos, systemd + nix) if this is a problem. Skills are C, C++, sh, (some) lisp
Sorry for being a little late to the party.. chaotic last weeks - open to other suggestions, if we're trying to spread proposals | 00:20:44 |
agge3 | Couple thoughts:
instead of changing instances of <code>Path</code> to <code>std::filesystem::path</code>, what about changing <code>std::string typedef</code> to <code>std::filesystem::path</code> - then working from there. Keeps interface the same for other developers and follows pre-established naming conventions. Looks better being grouped with <code>CanonPath, Path, etc.</code> and makes more intuitive sense not knowing the reason for <code>std::filesystem::path</code> and using the other paths.
Could make some documentation that explains the mechanisms of Path and what exactly it's invoking. Other developers won't really need to know if it's cross-platform or not and can happily carry on.
OR, what about making a class <code>Path</code> that handles the boiler-plate of conversion from <code>std::string</code> to <code>std::filesystem::path</code>, and if that boiler-plate is done successfully then it solves the problem at its root.
Are you SET on changing something like <code>Path path</code> to <code>std::filesystem::path path</code> to be explicit of what the object is/don't want to mess around with any naming convention benefits of keeping the existing <code>Path</code>
Both routes I think are effective and that's the real question. | 00:22:17 |
agge3 | * Couple thoughts:
instead of changing instances of Path to <code>std::filesystem::path</code>, what about changing <code>std::string typedef</code> to <code>std::filesystem::path</code> - then working from there. Keeps interface the same for other developers and follows pre-established naming conventions. Looks better being grouped with <code>CanonPath, Path, etc.</code> and makes more intuitive sense not knowing the reason for <code>std::filesystem::path</code> and using the other paths.
Could make some documentation that explains the mechanisms of Path and what exactly it's invoking. Other developers won't really need to know if it's cross-platform or not and can happily carry on.
OR, what about making a class <code>Path</code> that handles the boiler-plate of conversion from <code>std::string</code> to <code>std::filesystem::path</code>, and if that boiler-plate is done successfully then it solves the problem at its root.
Are you SET on changing something like <code>Path path</code> to <code>std::filesystem::path path</code> to be explicit of what the object is/don't want to mess around with any naming convention benefits of keeping the existing <code>Path</code>
Both routes I think are effective and that's the real question.
| 00:22:29 |
agge3 | * Couple thoughts:
instead of changing instances of Path to
std::filesystem::path, what about changing std::string typedef to std::filesystem::path - then working from there. Keeps interface the same for other developers and follows pre-established naming conventions. Looks better being grouped with CanonPath, Path, etc. and makes more intuitive sense not knowing the reason for std::filesystem::path and using the other paths.
Could make some documentation that explains the mechanisms of Path and what exactly it's invoking. Other developers won't really need to know if it's cross-platform or not and can happily carry on.
OR, what about making a class Path that handles the boiler-plate of conversion from std::string to `std::filesystem::path</code>, and if that boiler-plate is done successfully then it solves the problem at its root.
Are you SET on changing something like <code>Path path</code> to `std::filesystem::path pathto be explicit of what the object is/don't want to mess around with any naming convention benefits of keeping the existingPath`
Both routes I think are effective and that's the real question.
| 00:23:29 |
agge3 | * Couple thoughts:
instead of changing instances of Path to
std::filesystem::path, what about changing std::string typedef to std::filesystem::path - then working from there. Keeps interface the same for other developers and follows pre-established naming conventions. Looks better being grouped with CanonPath, Path, etc. and makes more intuitive sense not knowing the reason for std::filesystem::path and using the other paths.
Could make some documentation that explains the mechanisms of Path and what exactly it's invoking. Other developers won't really need to know if it's cross-platform or not and can happily carry on.
OR, what about making a class Path that handles the boiler-plate of conversion from std::string to std::filesystem::path, and if that boiler-plate is done successfully then it solves the problem at its root.
Are you SET on changing something likePath path to std::filesystem::path pathto be explicit of what the object is/don't want to mess around with any naming convention benefits of keeping the existingPath
Both routes I think are effective and that's the real question.
| 00:24:04 |
agge3 | * Couple thoughts:
instead of changing instances of Path to
std::filesystem::path, what about changing std::string typedef to std::filesystem::path - then working from there. Keeps interface the same for other developers and follows pre-established naming conventions. Looks better being grouped with CanonPath, Path, etc. and makes more intuitive sense not knowing the reason for std::filesystem::path and using the other paths.
Could make some documentation that explains the mechanisms of Path and what exactly it's invoking. Other developers won't really need to know if it's cross-platform or not and can happily carry on.
OR, what about making a class Path that handles the boiler-plate of conversion from std::string to std::filesystem::path, and if that boiler-plate is done successfully then it solves the problem at its root.
Are you SET on changing something likePath path to std::filesystem::path pathto be explicit of what the object is/don't want to mess around with any naming convention benefits of keeping the existing Path
Both routes I think are effective and that's the real question.
| 00:24:49 |
agge3 | * Couple thoughts:
instead of changing instances of Path to std::filesystem::path, what about changing std::string typedef to std::filesystem::path - then working from there. Keeps interface the same for other developers and follows pre-established naming conventions. Looks better being grouped with CanonPath, Path, etc. and makes more intuitive sense not knowing the reason for std::filesystem::path and using the other paths.
Could make some documentation that explains the mechanisms of Path and what exactly it's invoking. Other developers won't really need to know if it's cross-platform or not and can happily carry on.
OR, what about making a class Path that handles the boiler-plate of conversion from std::string to std::filesystem::path, and if that boiler-plate is done successfully then it solves the problem at its root.
Are you SET on changing something likePath path to std::filesystem::path pathto be explicit of what the object is/don't want to mess around with any naming convention benefits of keeping the existing Path
Both routes I think are effective and that's the real question.
| 00:25:47 |
agge3 | * Hello everyone! I'd like to work on the project Nix Internals: Use std::filesystem::path for Path. I see there are others already interested in that project, so I do not mean to bring unwanted competition. Nevertheless, C++ is my preferred language, so I really like the idea of following cxx 17 standards. Also, I've had some experience with cross-dev unix-to-windows (a nightmare), and I like the mission goal of bringing anything unix to windows (hence, the cross-dev). My experience with nix is setting up containerized dev environments to keep things consistent for multiple users, so I really believe in nix and think it's a highly effective tool for something that is otherwise a complete nightmare.
I could have more experience because I don't daily-drive. My platform is using nix package manager on gentoo w/ openrc init. Can operate in a more integrated environment (nixos, systemd + nix) if this is a problem. Skills are C, C++, sh, (some) lisp
Sorry for being a little late to the party.. chaotic last weeks - open to other suggestions, if we're trying to spread proposals
| 00:29:24 |
| @federicodschonborn:matrix.org joined the room. | 00:40:02 |
| jashanpreet joined the room. | 02:01:04 |
| SomeoneSerge (back on matrix) changed their display name from SomeoneSerge (hash-versioned python modules when) to SomeoneSerge (migrating synapse). | 02:11:21 |
agge3 | * Couple thoughts:
instead of changing instances of Path to std::filesystem::path, what about changing typedef std::string to typedef std::filesystem::path - then working from there. Keeps interface the same for other developers and follows pre-established naming conventions. Looks better being grouped with CanonPath, Path, etc. and makes more intuitive sense not knowing the reason for std::filesystem::path and using the other paths.
Could make some documentation that explains the mechanisms of Path and what exactly it's invoking. Other developers won't really need to know if it's cross-platform or not and can happily carry on.
OR, what about making a class Path that handles the boiler-plate of conversion from std::string to std::filesystem::path, and if that boiler-plate is done successfully then it solves the problem at its root.
Are you SET on changing something likePath path to std::filesystem::path pathto be explicit of what the object is/don't want to mess around with any naming convention benefits of keeping the existing Path
Both routes I think are effective and that's the real question.
| 06:38:47 |
agge3 | * Hello everyone! I'd like to work on the project Nix Internals: Use std::filesystem::path for Path. I see there are others already interested in that project, so I do not mean to bring unwanted competition. Nevertheless, C++ is my preferred language, so I really like the idea of following cxx 17 standards. Also, I've had some experience with cross-dev unix-to-windows (a nightmare), and I like the mission goal of bringing anything unix to windows (hence, the cross-dev). My experience with nix is setting up containerized dev environments to keep things consistent for multiple users, so I really believe in nix and think it's a highly effective tool for something that is otherwise a complete nightmare.
I could have more experience because I don't daily-drive. My platform is using nix package manager on gentoo w/ openrc init. Can operate in a more integrated environment (nixos, systemd + nix) if this is a problem. Skills are C, C++, sh, (some) lisp, (some) perl
Sorry for being a little late to the party.. chaotic last weeks - open to other suggestions, if we're trying to spread proposals
| 06:39:38 |
| @nuko:shimeji.cafe changed their profile picture. | 07:42:36 |
Janik (they/them) | Hey everyone, it's awesome to see all the people interested in working on Projects, but I have to warn you we will only be able to accept two, maybe three project candidates because this is the first time the NixOS foundation participates in google summer of code, so I can highly recommend you to also apply to other orgs if you want to participate in GSoC. | 16:20:34 |
@rafaelsgirao:matrix.org | A question about the pnpm idea: was this PR taken in mind? https://github.com/NixOS/nixpkgs/pull/290715 Is this considered a valid approach to pnpm dependency locking, or did the idea author have something else in mind?
I'm asking this because the idea's description states:
(...) this should be a non problem for us if we use a fod fetcher like the nixpkgs npm tooling. Some packages use a fetcher without strong reproducibility guarantees. Which IMO seems to describe the FOD created in that PR
| 17:03:33 |
@rafaelsgirao:matrix.org | * A question about the pnpm idea: was this (draft) PR taken in mind? https://github.com/NixOS/nixpkgs/pull/290715 Is this considered a valid approach to pnpm dependency locking, or did the idea author have something else in mind?
I'm asking this because the idea's description states:
(...) this should be a non problem for us if we use a fod fetcher like the nixpkgs npm tooling. Some packages use a fetcher without strong reproducibility guarantees. Which IMO seems to describe the FOD created in that PR
| 17:03:50 |
@rafaelsgirao:matrix.org | * A question about the pnpm idea: was this (draft) PR taken in mind? https://github.com/NixOS/nixpkgs/pull/290715 Is this considered a valid approach to pnpm dependency locking, or did the idea author have something else in mind?
I'm asking this because the idea's description states:
(...) this should be a non problem for us if we use a fod fetcher like the nixpkgs npm tooling. Some packages use a fetcher without strong reproducibility guarantees. Which IMO seems to describe the FOD created in that PR
If it's a valid approach and therefore could be used as starting ground for e.g a makePnpmPackage function of sorts, is this idea still on the table for GSoC?
| 17:05:21 |
| 24 Mar 2024 |
| @nuko:shimeji.cafe changed their profile picture. | 06:16:10 |
FPenjoyer | I've submitted my proposal through Google's dashboard for "Nix Internals: Use std::filesystem::path for Path". Please review and let me know if you'd like more information put into the proposal. Thanks
cc: John Ericson
| 14:09:45 |