From 7b42cc31402aac7cf97cd548bcfb34cc10a3d2e6 Mon Sep 17 00:00:00 2001 From: emaryn Date: Tue, 8 Jul 2025 11:06:34 +0800 Subject: [PATCH 1/2] eudic: refactor --- pkgs/by-name/eu/eudic/package.nix | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/pkgs/by-name/eu/eudic/package.nix b/pkgs/by-name/eu/eudic/package.nix index 6ec07789dcb4..7b7d59ad703b 100644 --- a/pkgs/by-name/eu/eudic/package.nix +++ b/pkgs/by-name/eu/eudic/package.nix @@ -1,9 +1,11 @@ { - fetchurl, - stdenv, - autoPatchelfHook, - makeWrapper, lib, + stdenv, + fetchurl, + autoPatchelfHook, + desktop-file-utils, + dpkg, + makeWrapper, libnotify, libX11, libXScrnSaver, @@ -29,12 +31,15 @@ stdenv.mkDerivation (finalAttrs: { version = "13.5.2"; src = fetchurl { + name = "eudic.deb"; url = "https://www.eudic.net/download/eudic.deb?v=${finalAttrs.version}"; hash = "sha256-UPkDRaqWF/oydH6AMo3t3PUT5VU961EPLcFb5XwOXVs="; }; nativeBuildInputs = [ autoPatchelfHook + desktop-file-utils + dpkg makeWrapper ]; @@ -59,28 +64,20 @@ stdenv.mkDerivation (finalAttrs: { libgbm ]; - unpackPhase = '' - ar x $src - tar xf data.tar.xz - ''; - installPhase = '' runHook preInstall - mkdir -p $out - cp -r usr/* $out/ - + rm -r usr/share/icons + desktop-file-edit usr/share/applications/eusoft-eudic.desktop \ + --set-key="Exec" --set-value="eudic %F" + mkdir -p $out/bin + cp -r usr/share $out/share makeWrapper $out/share/eusoft-eudic/eudic $out/bin/eudic \ --inherit-argv0 runHook postInstall ''; - postFixup = '' - substituteInPlace $out/share/applications/eusoft-eudic.desktop \ - --replace-fail '/usr/share/eusoft-eudic/AppRun' 'eudic' - ''; - meta = { description = "Authoritative English Dictionary Software Essential Tools for English Learners"; homepage = "https://www.eudic.net/v4/en/app/eudic"; From 419e511fc82fc7b09340b55563c75a2263e622ad Mon Sep 17 00:00:00 2001 From: emaryn Date: Tue, 8 Jul 2025 11:07:22 +0800 Subject: [PATCH 2/2] eudic: resolve inability to play pronunciation audio --- pkgs/by-name/eu/eudic/package.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/eu/eudic/package.nix b/pkgs/by-name/eu/eudic/package.nix index 7b7d59ad703b..e943552d3129 100644 --- a/pkgs/by-name/eu/eudic/package.nix +++ b/pkgs/by-name/eu/eudic/package.nix @@ -73,7 +73,8 @@ stdenv.mkDerivation (finalAttrs: { mkdir -p $out/bin cp -r usr/share $out/share makeWrapper $out/share/eusoft-eudic/eudic $out/bin/eudic \ - --inherit-argv0 + --inherit-argv0 \ + --set GST_PLUGIN_PATH $out/share/eusoft-eudic/gstreamer-1.0 runHook postInstall '';