diff --git a/pkgs/data/misc/unicode-emoji/default.nix b/pkgs/data/misc/unicode-emoji/default.nix new file mode 100644 index 000000000000..05472b26d88c --- /dev/null +++ b/pkgs/data/misc/unicode-emoji/default.nix @@ -0,0 +1,59 @@ +{ stdenv +, fetchurl +, symlinkJoin +, lib +}: + +let + version = "12.1"; + + fetchData = { file, sha256 }: fetchurl { + url = "https://www.unicode.org/Public/emoji/${version}/${file}"; + inherit sha256; + downloadToTemp = true; + recursiveHash = true; + postFetch = '' + installDir="$out/share/unicode/emoji" + mkdir -p "$installDir" + mv "$downloadedFile" "$installDir/${file}" + ''; + }; + + srcs = { + emoji-data = fetchData { + file = "emoji-data.txt"; + sha256 = "17gfm5a28lsymx36prbjy2g0b27gf3rcgggy0yxdshbxwf6zpf9k"; + }; + emoji-sequences = fetchData { + file = "emoji-sequences.txt"; + sha256 = "1fckw5hfyvz5jfp2jczzx8qcs79vf0zyq0z2942230j99arq70vc"; + }; + emoji-test = fetchData { + file = "emoji-test.txt"; + sha256 = "0w29lva7gp9g9lf7bz1i24qdalvf440bcq8npsbwr3cpp7na95kh"; + }; + emoji-variation-sequences = fetchData { + file = "emoji-variation-sequences.txt"; + sha256 = "0akpib3cinr8xcs045hda5wnpfj6qfdjlkzmq5vgdc50gyhrd2z3"; + }; + emoji-zwj-sequences = fetchData { + file = "emoji-zwj-sequences.txt"; + sha256 = "0s2mvy1nr2v1x0rr1fxlsv8ly1vyf9978rb4hwry5vnr678ls522"; + }; + }; +in + +symlinkJoin rec { + name = "unicode-emoji-${version}"; + + paths = lib.attrValues srcs; + + passthru = srcs; + + meta = with stdenv.lib; { + description = "Unicode Emoji Data Files"; + homepage = "https://home.unicode.org/emoji/"; + license = licenses.free; # https://www.unicode.org/license.html + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d66e621bd32c..94ed8bd3991b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17741,6 +17741,8 @@ in unicode-character-database = callPackage ../data/misc/unicode-character-database { }; + unicode-emoji = callPackage ../data/misc/unicode-emoji { }; + unihan-database = callPackage ../data/misc/unihan-database { }; unifont = callPackage ../data/fonts/unifont { };