parent
bea60e1409
commit
a1e0894cb4
|
@ -99,6 +99,7 @@
|
||||||
ericsagnes = "Eric Sagnes <eric.sagnes@gmail.com>";
|
ericsagnes = "Eric Sagnes <eric.sagnes@gmail.com>";
|
||||||
erikryb = "Erik Rybakken <erik.rybakken@math.ntnu.no>";
|
erikryb = "Erik Rybakken <erik.rybakken@math.ntnu.no>";
|
||||||
ertes = "Ertugrul Söylemez <ertesx@gmx.de>";
|
ertes = "Ertugrul Söylemez <ertesx@gmx.de>";
|
||||||
|
exi = "Reno Reckling <nixos@reckling.org>";
|
||||||
exlevan = "Alexey Levan <exlevan@gmail.com>";
|
exlevan = "Alexey Levan <exlevan@gmail.com>";
|
||||||
falsifian = "James Cook <james.cook@utoronto.ca>";
|
falsifian = "James Cook <james.cook@utoronto.ca>";
|
||||||
flosse = "Markus Kohlhase <mail@markus-kohlhase.de>";
|
flosse = "Markus Kohlhase <mail@markus-kohlhase.de>";
|
||||||
|
|
53
pkgs/applications/misc/ding/default.nix
Normal file
53
pkgs/applications/misc/ding/default.nix
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
{ aspell, aspellDicts_de, aspellDicts_en, buildEnv, fetchurl, fortune, gnugrep, makeWrapper, stdenv, tk, tre }:
|
||||||
|
let
|
||||||
|
aspellEnv = buildEnv {
|
||||||
|
name = "env-ding-aspell";
|
||||||
|
paths = [
|
||||||
|
aspell
|
||||||
|
aspellDicts_de
|
||||||
|
aspellDicts_en
|
||||||
|
];
|
||||||
|
};
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "ding-1.8";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://ftp.tu-chemnitz.de/pub/Local/urz/ding/${name}.tar.gz";
|
||||||
|
sha256 = "00z97ndwmzsgig9q6y98y8nbxy76pyi9qyj5qfpbbck24gakpz5l";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ aspellEnv fortune gnugrep makeWrapper tk tre ];
|
||||||
|
|
||||||
|
patches = [ ./dict.patch ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
mkdir -p $out/share/dict
|
||||||
|
mkdir -p $out/share/man/man1
|
||||||
|
mkdir -p $out/share/applications
|
||||||
|
mkdir -p $out/share/pixmaps
|
||||||
|
|
||||||
|
for f in ding ding.1; do
|
||||||
|
sed -i "s@/usr/share@$out/share@g" "$f"
|
||||||
|
done
|
||||||
|
|
||||||
|
sed -i "s@/usr/bin/fortune@fortune@g" ding
|
||||||
|
|
||||||
|
cp ding $out/bin/
|
||||||
|
cp de-en.txt $out/share/dict/
|
||||||
|
cp ding.1 $out/share/man/man1/
|
||||||
|
cp ding.png $out/share/pixmaps/
|
||||||
|
cp ding.desktop $out/share/applications/
|
||||||
|
|
||||||
|
wrapProgram $out/bin/ding --prefix PATH : ${gnugrep}/bin:${aspellEnv}/bin:${tk}/bin:${fortune}/bin --prefix ASPELL_CONF : "\"prefix ${aspellEnv};\""
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Simple and fast dictionary lookup tool";
|
||||||
|
homepage = https://www-user.tu-chemnitz.de/~fri/ding/;
|
||||||
|
license = licenses.gpl2Plus;
|
||||||
|
platforms = platforms.linux; # homepage says: unix-like except darwin
|
||||||
|
maintainers = [ maintainers.exi ];
|
||||||
|
};
|
||||||
|
}
|
26
pkgs/applications/misc/ding/dict.patch
Normal file
26
pkgs/applications/misc/ding/dict.patch
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
Ding persists its settings to $HOME/.dingrc on startup, this sadly includes the path to the dictionary.
|
||||||
|
On all other distributions, that would be /usr/share/dict/de-en.txt and would hardly ever change.
|
||||||
|
On nixos, this will indeed change on ever update and would break it for all users.
|
||||||
|
This just comments out the dictionary path in the .dingrc so the user can still set it if she wants to, but it will not affect normal operations.
|
||||||
|
--- a/ding
|
||||||
|
+++ b/ding
|
||||||
|
@@ -899,7 +899,9 @@ if { ! [info exists ding_version]} {
|
||||||
|
}
|
||||||
|
|
||||||
|
# Change path of default ger-eng.txt when upgrading from version 1.1
|
||||||
|
- if {$searchmeth($i,dictfile) == {/usr/dict/ger-eng.txt} &&
|
||||||
|
+ if {! [info exists searchmeth($i,dictfile)]} {
|
||||||
|
+ set searchmeth($i,dictfile) $default_searchmeth(0,dictfile)
|
||||||
|
+ } elseif {$searchmeth($i,dictfile) == {/usr/dict/ger-eng.txt} &&
|
||||||
|
$ding_version == {1.1}} {
|
||||||
|
set searchmeth($i,dictfile) $default_searchmeth(0,dictfile)
|
||||||
|
debug 2 "New path and name of ger-eng.txt configured: $default_searchmeth(0,dictfile)"
|
||||||
|
@@ -5065,7 +5067,7 @@ proc saveOptions {} {
|
||||||
|
foreach i $searchmpos {
|
||||||
|
puts $fd "set searchmeth($n,name) {$searchmeth($i,name)}"
|
||||||
|
puts $fd "set searchmeth($n,type) {$searchmeth($i,type)}"
|
||||||
|
- puts $fd "set searchmeth($n,dictfile) {$searchmeth($i,dictfile)}"
|
||||||
|
+ puts $fd "#set searchmeth($n,dictfile) {$searchmeth($i,dictfile)}"
|
||||||
|
puts $fd "set searchmeth($n,separator) {$searchmeth($i,separator)}"
|
||||||
|
puts $fd "set searchmeth($n,language1) {$searchmeth($i,language1)}"
|
||||||
|
puts $fd "set searchmeth($n,language2) {$searchmeth($i,language2)}"
|
|
@ -813,6 +813,11 @@ let
|
||||||
|
|
||||||
dialog = callPackage ../development/tools/misc/dialog { };
|
dialog = callPackage ../development/tools/misc/dialog { };
|
||||||
|
|
||||||
|
ding = callPackage ../applications/misc/ding {
|
||||||
|
aspellDicts_de = aspellDicts.de;
|
||||||
|
aspellDicts_en = aspellDicts.en;
|
||||||
|
};
|
||||||
|
|
||||||
direnv = callPackage ../tools/misc/direnv { };
|
direnv = callPackage ../tools/misc/direnv { };
|
||||||
|
|
||||||
discount = callPackage ../tools/text/discount { };
|
discount = callPackage ../tools/text/discount { };
|
||||||
|
|
Loading…
Reference in New Issue
Block a user