-
-
Notifications
You must be signed in to change notification settings - Fork 16.5k
nixos/services.dictd: init gcide at 0.54 #427615
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
base: master
Are you sure you want to change the base?
Conversation
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.
Thanks for your contribution! I only realized now that the comments below have reached double digits, but I hope you don't mind that these are what brings your contributions more in line with what Nixpkgs expects.
I haven't tried it out yet, and I don't fullyunderstand how the build process works, so hopefully someone with more energy or familiarity can provide further insights.
In addition to code suggestions, the commit message for the second commit should be dictdDBs.gcide: init at 0.53
. Also please remember to squash any fixups at the end, so the history remains clean.
Thanks for the rapid Build process is totally stolen from the AUR
As for squashing and updating commit message, I'll be sure to do that once things are in an acceptable state, thanks for the correction(s)! Update 2025-07-25 04:06 UTC: I've mostly got change requests sorted... mostly... And current commit changes are targeted to hopefully make reviewing through time a bit easier. The |
I want to clarify before any misunderstanding that by squash, I mean eventually getting down to three commits: Adding yourself to maintainers list, extracting libmaa, dictdDBS.gcide: init |
Ah, okay that seems reasonable, and I'll get on re-ordering changes and squashing thangs Update 2025-07-25 08:24 UTC: I've re-ordered and squashed and updated commit messages 🎉 Currently I'm doing a |
Extracted and version updated as part of NixOS#427615 change requests; NixOS#427615 (comment) Version `1.5.1` as of date on this commit, 2025-07-25, seems the latest `libmaa` package update around 2024-11-16 on SourceForge; https://sourceforge.net/projects/dict/ Due diligence steps preformed to mitigate breaking `dict`/`dictd` package; - Hunt for `libmaa` references; ```bash find {pkgs,nixos} -type f -iname '*.nix' -exec grep -nHE 'libmaa' {} \; ``` - Hunt for `dict(d)?` references; ```bash find {pkgs,nixos} -type f -iname '*.nix' -exec grep -nHE '\s?dictd?\s+=' {} \; ```
c15090f
to
6a0809a
Compare
pkgs/by-name/li/libmaa/default.nix
Outdated
@@ -6,7 +6,7 @@ | |||
}: | |||
|
|||
stdenv.mkDerivation rec { | |||
version = "1.3.2"; | |||
version = "1.5.1"; |
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.
Hash was not updated in src below, so this is definitely wrong.
cc maintainer @sikmir
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.
Oof, my bad and I'll git that fixed forthwith!
Update 2025-07-26 01:39 UTC: Makefile somewhere/when between version 1.3.2
and 1.5.1
upstream seems to have broken the for libmaa
error: builder for '/nix/store/rvy2c5x7r1gl6czxqrxapggjw6pjcrda-libmaa-1.5.1.drv' failed with exit code 2;
last 11 log lines:
> Running phase: unpackPhase
> unpacking source archive /nix/store/qsgxi8l2vvfk9szlqgkynrxwqm0kan09-libmaa-1.5.1.tar.gz
> source root is libmaa-1.5.1
> setting SOURCE_DATE_EPOCH to timestamp 1716996386 of file "libmaa-1.5.1/tests/string/stringtest.c"
> Running phase: patchPhase
> Running phase: updateAutotoolsGnuConfigScriptsPhase
> Running phase: configurePhase
> no configure script, doing nothing
> Running phase: buildPhase
> build flags: SHELL=/nix/store/p79bgyzmmmddi554ckwzbqlavbkw07zh-bash-5.2p37/bin/bash
> Makefile:8: *** missing separator. Stop.
For full logs, run:
nix log /nix/store/rvy2c5x7r1gl6czxqrxapggjw6pjcrda-libmaa-1.5.1.drv
If anyone wants to sort that out, the sha256-OjDiXwOOmcRxUSVUVRZJDZkf46UFglzIMrGpVuMb9mk=
for version 1.5.1
seems to make the fetcher happy, but on my end I'm gonna have to revert version/hash updates and reduce changes to a move/rename 🤷
On a somewhat related note I'd like to know if there's a proper way of obtaining a hash without having to fail a rebuild, I found the nix-prefetch-url
command;
nix-prefetch-url --type sha256 mirror://sourceforge/dict/libmaa-1.5.1.tar.gz
... but that doesn't produce the same hash as what fetchurl
desires.
Extracted and version updated as part of NixOS#427615 change requests; NixOS#427615 (comment) Version `1.5.1` as of date on this commit, 2025-07-25, seems the latest `libmaa` package update around 2024-11-16 on SourceForge; https://sourceforge.net/projects/dict/ Due diligence steps preformed to mitigate breaking `dict`/`dictd` package; - Hunt for `libmaa` references; ```bash find {pkgs,nixos} -type f -iname '*.nix' -exec grep -nHE 'libmaa' {} \; ``` - Hunt for `dict(d)?` references; ```bash find {pkgs,nixos} -type f -iname '*.nix' -exec grep -nHE '\s?dictd?\s+=' {} \; ```
6a0809a
to
779d8da
Compare
Extracted and version updated as part of NixOS#427615 change requests; NixOS#427615 (comment) Version `1.5.1` as of date on this commit, 2025-07-25, seems the latest `libmaa` package update around 2024-11-16 on SourceForge; https://sourceforge.net/projects/dict/ ... However, that fails to build due to upstream Makefile missing a separator on line 8 so this patch set is rename/move only. Due diligence steps preformed to mitigate breaking `dict`/`dictd` package; - Hunt for `libmaa` references; ```bash find {pkgs,nixos} -type f -iname '*.nix' -exec grep -nHE 'libmaa' {} \; ``` - Hunt for `dict(d)?` references; ```bash find {pkgs,nixos} -type f -iname '*.nix' -exec grep -nHE '\s?dictd?\s+=' {} \; ```
779d8da
to
3b6c7f2
Compare
Thanks dramforever for sticking with me, and ensuring I don't make a total mess of things! Latest force-push (commit hash
|
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.
Two other things:
- The sed scripts have unclear license. Shipping it in Nixpkgs would amount to relicensing it to MIT. We should ask the AUR author about it.
- In general, a
fooPhase
needsrunPhase preFoo
at the start andrunPhase postFoo
at the end. This is a limitation in the current phase framework of Nixpkgs, but it is what it is.
3b6c7f2
to
41cedbf
Compare
Smart! I figured the "Package Details" → "Licenses" value was the project's license, but also get how even though it's a copy-left license it could technically apply to the package being distributed only. Consider it asked :-)
🤔 I'm not sure if this is something I need to take action on, because I moved stuff to the
Ooof, okay that's a bit embarrassing 🤦 Latest force push will have that removed as well as missing semicolons at the |
I should have spelled it out, but in any case I simply meant |
Heh, thanks! I can be kinda dense, sometimes, and will for sure spend some quality time with the docs before submitting any new PRs Edit 2025-07-29 05:36 UTC -- Uh, so skimming some other packages I'm seeing '';
- doCheck = true;
checkPhase = ''
@...@
'';
installPhase = ''
+ runPhase checkPhase
install -Dm 0644 -t "$out/share/dictd/" ./gcide.{dict.dz,index}; |
Thought it wise to pop-in, no updates from the AUR package maintainers about license of And found there be one author that is involved with those files, who was last active just under one year ago for that repository. Plus a little cyber-stalking, AKA searching the commit email address on GitHub, shows @respiranto might be who we need to ask licensing clarification of.
Though I am not sure about the etiquette of reaching out directly via email just yet, maybe a public ping here is better 🤷 |
I have added licensing information on the sedfiles and such in the AUR package. |
41cedbf
to
a006c23
Compare
@respiranto you're the best! I noticed in the @dramforever I tried bumping the version locally to |
|
Ah thanks for clarifying where other changes be from, and I'll try bumping the version here tomorrow to Update 2025-08-14 20:36 UTCI was being dumb about the time-outs 🤦 |
This _should_ fix NixOS#248974 by yoinking, and translating, AUR's packaging of [`dict-gcide`](https://aur.archlinux.org/packages/dict-gcide) into something that conforms to NixOS expectations. And may also address questions found on [discourse](https://discourse.nixos.org/t/dict-offline-version/33004) :warning: `sed-scripts` are a source of future fragility, and updates here for NixOS will lag behind those provided by AUR team. Big thanks to @respiranto for adding license info to sed scripts! ```bash git clone https://aur.archlinux.org/dict-gcide.git && git checkout ff81bcc526e3716f58a616a95d1f12b00ceb5695 ```
a006c23
to
168ee0c
Compare
GCIDE AKA GNU version of the Collaborative International Dictionary of English is a locally host-able database compatible with
dictd
service.This should fix #248974 by yoinking, and translating, AUR's packaging of
dict-gcide
into something that conforms to NixOS expectations.And may also address questions found on discourse
sed-scripts
are a source of future fragility, and I ain't happy about howlibmaa
dependency is currently being stolen into these proposed changes.On a positive note; local tests such as
dict hello
return, almost instantly, results from the databaseThings done
passthru.tests
.nixpkgs-review
on this PR. See nixpkgs-review usage../result/bin/
.Add a 👍 reaction to pull requests you find important.
Edit 2025-07-22 I see I'm failing the Lint checks, and will get 'round to trying to sort that soon 🤦
Update 2025-07-22 the
error: path './sed-scripts/' has a trailing slash
is, uh, kinda strange and I'd appreciate a bit o' expert help on that one 🙏