New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
edb: init at 1.3.0 #58962
edb: init at 1.3.0 #58962
Conversation
repo = "edb-debugger"; | ||
rev = "77e5ebf497ff489827fe1b4b5861a77688aa3729"; | ||
fetchSubmodules = true; | ||
sha256 = "1pfz65q5p1cpr2jz8mwpdhyckk7rx21inha4a65ykpim745n18c5"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When building I got:
hash mismatch in fixed-output derivation '/nix/store/36lqk5j7zcmi05dc8rfyzhiznfzfh0q9-source':
wanted: sha256:1pfz65q5p1cpr2jz8mwpdhyckk7rx21inha4a65ykpim745n18c5
got: sha256:1mmw0pgb1zgqsjzgshrpw988higzbm84wk8k6kaqahxwh131xq1y
The fetchSubmodule
option is problematic because it is hard to make it deterministic. It would be nice if you find a way to build qhexview as a separate derivation, and use it as a normal dependency instead of a submodule. Then the non-determinism would disappear. Of course, depending on the build system of edb, this may or may not be feasible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok. I will have a go at packaging qhexview as a separate derivation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think it is worth packaging qhexview seperately as it only contains a single .cpp
and .h
file.
AFAICT the non-determinism is caused by leaveDotGit
not fetchSubmodules
(see #8567).
Therefore, I have removed the leaveDotGit
option and instead create the .git
directory in postPatch
. This is the same approach taken in the hotspot package:
nixpkgs/pkgs/development/tools/analysis/hotspot/default.nix
Lines 42 to 48 in 43cfb6e
# hotspot checks for the presence of third party libraries' | |
# git directory to give a nice warning when you forgot to clone | |
# submodules; but Nix clones them and removes .git (for reproducibility). | |
# So we need to fake their existence here. | |
postPatch = '' | |
mkdir -p 3rdparty/perfparser/.git | |
''; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah sorry for having misled you about fetchSubmodules
. I stand corrected. It is nice that you found a way out.
When trying edb, I got the following error message:
(the window still opens normally, though). |
I am not sure about patching the path xterm. Wouldn't this make xterm a dependency when it isn't? From the CHANGELOG:
However, I have a bigger problem in that the absolute path to the terminal program and plugin directory is stored in If The only workaround I can think of is to wrap the program with a command that checks |
For the terminal: It looks like a non-absolute path is accepted. So you can replace For the plugin path: no obvious solution comes to my mind. Maybe patching the parsing of the configuration file to hardcode $out/lib/.... ? |
Thank you for your contributions.
|
@lihop Plugin directory blocker was now fixed in edb-unstable. Are you interested in updating the package? |
Thanks @maxxk. I've updated the package to use the latest version of edb and to work with the way qt packages are built now. |
Works for me starting from empty config when switching between this branch and this derivation on top of NixOS 20.03 branch. |
I tried it with nix-review and this issue #58962 (comment) makes it nearly unusable... |
You mean plugin path? Probably you have a local config file with plugin path from previous version? If you remove plugin path entry from config file (or remove/rename config file itself) it should work. If it doesn't, there is probably a problem with my code. |
Indeed removing the file works. Now I get this error message:
Also CTRL+B import breakpoints opens a window which is never drawn. |
For the "/usr/bin/xterm" error, this is the default config value for the terminal program that can be changed in Preferences. I'm not sure how or if we should patch the program to use a different default value. As for the CTRL+B import it appears to be drawing all windows for me, but I haven't tested it beyond that: I haven't tried to use this program (or one like it) in a long time and am not currently using it, so I don't think I am the best person to add/maintain it. @maxxk Are you interested in becoming maintainer of this package and getting it added? |
|
8dedf15
to
ac3279e
Compare
@symphorien I've added these lines for |
@lihop Yes. You can add me as co- or a sole maintainer. However, you made a great job with this package (I used your definition for about a year in an override), so I don't think any further changes to the package are required to add it. |
Ok @maxxk, I've added you as co-maintainer. Thank you and symphorien for your help with this package. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
stdenv.lib and pkgconfig got recently depracated.
Thanks @SuperSandro2000, I've added those changes. I also noticed version 1.3.0 has been released so upgraded to that version. |
Can you set the platform to x86-64 linux only? aarch fails to build with unsupported platform. |
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
Done. |
While there are releases for edb the most recent release (1.0.0)
is a little bit old (May 5, 2018) and does not build easily with
the current version of cmake. Therefore, I have opted to use the
latest version from github. Recent disscussion in
eteran/edb-debugger#698 indicates that
the project might soon be moving to a quarterly release schedule
that we could follow going forwards.
Motivation for this change
Missing from nixpkgs.
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)