From 83e216e401efb8157ac70a50c10bbe73b4081bb1 Mon Sep 17 00:00:00 2001 From: h7x4 Date: Thu, 18 Aug 2022 21:39:36 +0200 Subject: [PATCH] Add KANJIDIC source --- bin/ja_db.dart | 2 +- flake.lock | 13 +++++++++++++ flake.nix | 38 ++++++++++++++++++++++++++++++++++---- pub2nix.lock | 22 +++++++++++----------- pubspec.lock | 12 ++++++------ pubspec.yaml | 2 +- 6 files changed, 66 insertions(+), 23 deletions(-) diff --git a/bin/ja_db.dart b/bin/ja_db.dart index 734b7a7..9d8dacf 100644 --- a/bin/ja_db.dart +++ b/bin/ja_db.dart @@ -15,6 +15,6 @@ Future main(List arguments) async { .openDatabase(Directory.current.uri.resolve('main.db').path); await addDataFromJMdict(db); await addDataFromRADKFILE(db); - // await addDataFromKANJIDIC(db); + await addDataFromKANJIDIC(db); } diff --git a/flake.lock b/flake.lock index c999a21..b211615 100644 --- a/flake.lock +++ b/flake.lock @@ -24,6 +24,18 @@ "url": "http://ftp.edrdg.org/pub/Nihongo/JMdict_e_examp.gz" } }, + "KANJIDIC2Src": { + "flake": false, + "locked": { + "narHash": "sha256-BaVQaAEisPC60ohz8Gyr5r0Fe4Qrjupj6VKQqMvq9Eo=", + "type": "file", + "url": "http://nihongo.monash.edu/kanjidic2/kanjidic2.xml.gz" + }, + "original": { + "type": "file", + "url": "http://nihongo.monash.edu/kanjidic2/kanjidic2.xml.gz" + } + }, "RADKFILESrc": { "flake": false, "locked": { @@ -110,6 +122,7 @@ "inputs": { "JMdictSrc": "JMdictSrc", "JMdictWithExamplesSrc": "JMdictWithExamplesSrc", + "KANJIDIC2Src": "KANJIDIC2Src", "RADKFILESrc": "RADKFILESrc", "flake-utils": "flake-utils", "nix-dart": "nix-dart", diff --git a/flake.nix b/flake.nix index 19a4f9e..5406c96 100644 --- a/flake.nix +++ b/flake.nix @@ -32,6 +32,11 @@ flake = false; }; + KANJIDIC2Src = { + url = "http://nihongo.monash.edu/kanjidic2/kanjidic2.xml.gz"; + flake = false; + }; + }; outputs = { @@ -41,7 +46,8 @@ nix-dart, JMdictSrc, JMdictWithExamplesSrc, - RADKFILESrc + RADKFILESrc, + KANJIDIC2Src }: let system = "x86_64-linux"; pkgs = import nixpkgs { @@ -95,9 +101,9 @@ buildPhase = '' gzip -dkc ${JMdictSrc} > JMdict.xml gzip -dkc ${JMdictWithExamplesSrc} > JMdict_with_examples.xml - xmlformat -i JMdict.xml - xmlformat -i JMdict_with_examples.xml ''; + # xmlformat -i JMdict.xml + # xmlformat -i JMdict_with_examples.xml installPhase = '' mkdir $out @@ -133,11 +139,34 @@ }; }; + KANJIDIC2 = mkDerivation { + name = "KANJIDIC2"; + + src = KANJIDIC2Src; + dontUnpack = true; + + nativeBuildInputs = with pkgs; [ xmlformat ]; + buildPhase = '' + gzip -dkc ${KANJIDIC2Src} > kanjidic2.xml + ''; + # xmlformat -i kanjidic2.xml + + installPhase = '' + mkdir $out + cp kanjidic2.xml $out + ''; + + meta = edrdgMetadata // { + # description = "A Japanese-Multilingual Dictionary providing lexical data for japanese words"; + # homepage = "https://www.edrdg.org/jmdict/j_jmdict.html"; + }; + }; + database_generator = let buildDartPackage = nix-dart.builders.${system}.buildDartPackage.override { dart = nix-dart.packages.${system}.dart-dev; }; - in buildDartPackage { + in (buildDartPackage { pname = "database_generator"; version = "1.0"; @@ -166,6 +195,7 @@ mkdir -p data ln -s ${self.packages.${system}.JMdict}/* data ln -s ${self.packages.${system}.RADKFILE}/* data + ln -s ${self.packages.${system}.KANJIDIC2}/* data sqlite3 ${dbName} < migrations/0001_initial.sql sqlite3 ${dbName} < migrations/0002_insert_info_values.sql diff --git a/pub2nix.lock b/pub2nix.lock index 8639414..a55e517 100644 --- a/pub2nix.lock +++ b/pub2nix.lock @@ -13,8 +13,8 @@ packages: name: ffi url: https://pub.dartlang.org source: hosted - version: 1.1.2 - sha256: 0w0yd43y1fsfzihd4j6diymg90bgvyi2zqyb3vf0k6g8hk8x1yr6 + version: 1.2.1 + sha256: 0dcivi3fk4kig3adkgrfc6nfkmx5x471x947ndwzv4rds4vahfq5 js: dependency: transitive description: @@ -37,16 +37,16 @@ packages: name: meta url: https://pub.dartlang.org source: hosted - version: 1.7.0 - sha256: 1z8sx23l9jn2ickq3z63pqpb6k9y6gbnnvj9200c6v7m3cvd7jbv + version: 1.8.0 + sha256: 01kqdd25nln5a219pr94s66p27m0kpqz0wpmwnm24kdy3ngif1v5 path: dependency: transitive description: name: path url: https://pub.dartlang.org source: hosted - version: 1.8.1 - sha256: 0wg5da3zykfbala8mvcl7r7blgi5qjb838qhw30brgj3ani2hdph + version: 1.8.2 + sha256: 16ggdh29ciy7h8sdshhwmxn6dd12sfbykf2j82c56iwhhlljq181 petitparser: dependency: transitive description: @@ -69,8 +69,8 @@ packages: name: sqflite_common_ffi url: https://pub.dartlang.org source: hosted - version: 2.1.1 - sha256: 0v5xq9xpg63zidf8as17zh0pbhfzf9k00a2wn183jz9i5rmh6207 + version: 2.1.1+1 + sha256: 00h6mi8m76kh48hilvz3gw0i01fy37vcgxfjc0jbyhzrxbx4paal sqlite3: dependency: transitive description: @@ -93,7 +93,7 @@ packages: name: xml url: https://pub.dartlang.org source: hosted - version: 6.0.1 - sha256: 158srisyld2zwhchcz264rf8qnby54xan4db14hf7lda7bx8ikbh + version: 6.1.0 + sha256: 1pinq9zagchh2pk9d3ja3g8rljb3sl31qz2gw7djij7ih0dswxal sdks: - dart: '>=2.16.1 <3.0.0' + dart: '>=2.17.0 <3.0.0' diff --git a/pubspec.lock b/pubspec.lock index e2c787b..7d9c078 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -14,7 +14,7 @@ packages: name: ffi url: "https://pub.dartlang.org" source: hosted - version: "1.1.2" + version: "1.2.1" js: dependency: transitive description: @@ -35,14 +35,14 @@ packages: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.7.0" + version: "1.8.0" path: dependency: transitive description: name: path url: "https://pub.dartlang.org" source: hosted - version: "1.8.1" + version: "1.8.2" petitparser: dependency: transitive description: @@ -63,7 +63,7 @@ packages: name: sqflite_common_ffi url: "https://pub.dartlang.org" source: hosted - version: "2.1.1" + version: "2.1.1+1" sqlite3: dependency: transitive description: @@ -84,6 +84,6 @@ packages: name: xml url: "https://pub.dartlang.org" source: hosted - version: "6.0.1" + version: "6.1.0" sdks: - dart: ">=2.16.1 <3.0.0" + dart: ">=2.17.0 <3.0.0" diff --git a/pubspec.yaml b/pubspec.yaml index 731d81d..92d2178 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -9,7 +9,7 @@ environment: dependencies: collection: ^1.16.0 sqflite_common_ffi: ^2.1.1 - xml: ^6.0.1 + xml: ^6.1.0 dev_dependencies: lints: ^1.0.0