@@ -1161,6 +1161,7 @@ dist_patch_DATA = \
%D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
%D%/packages/patches/gobject-introspection-cc.patch \
%D%/packages/patches/gobject-introspection-girepository.patch \
+ %D%/packages/patches/goldendict-remove-check-for-update.patch \
%D%/packages/patches/go-skip-gc-test.patch \
%D%/packages/patches/gpm-glibc-2.26.patch \
%D%/packages/patches/gpodder-disable-updater.patch \
@@ -52,6 +52,13 @@
#:use-module (gnu packages texinfo)
#:use-module (gnu packages compression)
#:use-module (gnu packages tcl)
+ #:use-module (gnu packages xiph)
+ #:use-module (gnu packages libreoffice)
+ #:use-module (gnu packages xorg)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages textutils)
+ #:use-module (gnu packages qt)
+ #:use-module (gnu packages video)
#:use-module (gnu packages xml))
@@ -398,6 +405,69 @@ intelligible and easily correctable.")
(license (list license:gpl2 ; main license
license:expat)))) ; utf8/*
+(define-public goldendict
+ (package
+ (name "goldendict")
+ (version "2021-06-12")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/goldendict/goldendict.git")
+ (commit "57c4c33780d1fb20156ca2f819de62bfb974b867")))
+ (sha256
+ (base32 "0d4swrkqv9q1b1zp5z7c36yv9skdsfsbyfynv2nxclhg1ra87svp"))
+ (patches (search-patches "goldendict-remove-check-for-update.patch"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ (for-each delete-file-recursively
+ '("winlibs" "maclibs"))
+ #t))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (invoke "qmake" "goldendict.pro"
+ "CONFIG+=no_epwing_support"
+ "CONFIG+=chinese_conversion_support"
+ "QMAKE_LRELEASE=lrelease"
+ (string-append "PREFIX="
+ (assoc-ref outputs "out"))))))))
+
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("qttools" ,qttools)))
+ (inputs
+ `(("ao" ,ao)
+ ("bzip2" ,bzip2)
+ ("hunspell" ,hunspell)
+ ("ffmpeg" ,ffmpeg)
+ ("libtiff" ,libtiff)
+ ("libvorbis" ,libvorbis)
+ ("libxtst" ,libxtst)
+ ("opencc" ,opencc)
+ ("qtx11extras" ,qtx11extras)
+ ("qtbase" ,qtbase)
+ ("qtmultimedia" ,qtmultimedia)
+ ("qtsvg" ,qtsvg)
+ ("qttools" ,qttools)
+ ("qtwebkit" ,qtwebkit)
+ ("qtwebview" ,qtwebview)
+ ("lzo" ,lzo)
+ ("x11proto-record-x11" ,xproto)
+ ("zlib" ,zlib)))
+ (synopsis "Feature-rich dictionary lookup program")
+ (description
+ "GoldenDict is a feature-rich dictionary lookup program,
+supporting multiple dictionary formats (StarDict, Babylon, Lingvo, Dictd, AARD,
+MDict, SDict) and online dictionaries, featuring perfect article rendering with
+the complete markup, illustrations and other content retained, and allowing you
+to type in words without any accents or correct case.")
+ (home-page "http://goldendict.org/")
+ (license license:gpl3+)))
+
(define-public sdcv
(package
(name "sdcv")
new file mode 100644
@@ -0,0 +1,52 @@
+https://github.com/NixOS/nixpkgs/blob/217b221/pkgs/applications/misc/goldendict/0001-dont-check-for-updates.patch
+Disable calling home for updates.
+
+diff --git i/config.cc w/config.cc
+index 04b63f5..7a453d9 100644
+--- i/config.cc
++++ w/config.cc
+@@ -182,7 +182,7 @@ Preferences::Preferences():
+ pronounceOnLoadPopup( false ),
+ useInternalPlayer( InternalPlayerBackend::anyAvailable() ),
+ internalPlayerBackend( InternalPlayerBackend::defaultBackend() ),
+- checkForNewReleases( true ),
++ checkForNewReleases( false ),
+ disallowContentFromOtherSites( false ),
+ enableWebPlugins( false ),
+ hideGoldenDictHeader( false ),
+@@ -867,8 +867,8 @@ Class load() THROW_SPEC( exError )
+ c.preferences.proxyServer.systemProxyPassword = proxy.namedItem( "systemProxyPassword" ).toElement().text();
+ }
+
+- if ( !preferences.namedItem( "checkForNewReleases" ).isNull() )
+- c.preferences.checkForNewReleases = ( preferences.namedItem( "checkForNewReleases" ).toElement().text() == "1" );
++ //if ( !preferences.namedItem( "checkForNewReleases" ).isNull() )
++ // c.preferences.checkForNewReleases = ( preferences.namedItem( "checkForNewReleases" ).toElement().text() == "1" );
+
+ if ( !preferences.namedItem( "disallowContentFromOtherSites" ).isNull() )
+ c.preferences.disallowContentFromOtherSites = ( preferences.namedItem( "disallowContentFromOtherSites" ).toElement().text() == "1" );
+@@ -1819,9 +1819,9 @@ void save( Class const & c ) THROW_SPEC( exError )
+ proxy.appendChild( opt );
+ }
+
+- opt = dd.createElement( "checkForNewReleases" );
+- opt.appendChild( dd.createTextNode( c.preferences.checkForNewReleases ? "1" : "0" ) );
+- preferences.appendChild( opt );
++ //opt = dd.createElement( "checkForNewReleases" );
++ //opt.appendChild( dd.createTextNode( c.preferences.checkForNewReleases ? "1" : "0" ) );
++ //preferences.appendChild( opt );
+
+ opt = dd.createElement( "disallowContentFromOtherSites" );
+ opt.appendChild( dd.createTextNode( c.preferences.disallowContentFromOtherSites ? "1" : "0" ) );
+diff --git i/preferences.cc w/preferences.cc
+index 72c3147..7e48f00 100644
+--- i/preferences.cc
++++ w/preferences.cc
+@@ -314,6 +314,7 @@ Preferences::Preferences( QWidget * parent, Config::Class & cfg_ ):
+ this, SLOT( customProxyToggled( bool ) ) );
+
+ ui.checkForNewReleases->setChecked( p.checkForNewReleases );
++ ui.checkForNewReleases->setEnabled( false );
+ ui.disallowContentFromOtherSites->setChecked( p.disallowContentFromOtherSites );
+ ui.enableWebPlugins->setChecked( p.enableWebPlugins );
+ ui.hideGoldenDictHeader->setChecked( p.hideGoldenDictHeader );