Size: a a a

2020 April 17

АБ

Александр Бантьев in NixOS
Не наблюдаю этого
источник

b

blkmrkt in NixOS
callPackage ../libpostal/default.nix
источник

b

blkmrkt in NixOS
blkmrkt
callPackage ../libpostal/default.nix
Подозреваю что если б эта строчка не имела эффекта, то и тарболл бы не качался.
источник

АБ

Александр Бантьев in NixOS
Убедись, что libpostal содержит твою data там, где надо
источник

АБ

Александр Бантьев in NixOS
Пока ты смотришь, я бы вот так переписал твоё выражение:
источник

b

blkmrkt in NixOS
Александр Бантьев
Убедись, что libpostal содержит твою data там, где надо
А как правильно заглянуть в ${libpostalData}/data или узнать ее реальный путь? Я могу конечно средствами ФС искать, но может в никсе есть такая ф-я?
источник

АБ

Александр Бантьев in NixOS
Вот, в этом и проблема :)
источник

АБ

Александр Бантьев in NixOS
У тебя твой питоновский пакет ничего не знает про libpostalData
источник

АБ

Александр Бантьев in NixOS
Ну а так -- попробуй nix eval ((with import <nixpkgs> {}; callPackage ./libpostal {}).libpostalData)
источник

b

blkmrkt in NixOS
Александр Бантьев
Вот, в этом и проблема :)
Поискал один из файлов того большого тарбола, и он лежит аж в 3 местах:
/nix/store/hi0hzpvkbpgawhs68rrp7jw0z7ascywp-libpostal-compiled-assets-7170cc4/share/libpostal/address_parser/address_parser_postal_codes.dat
/nix/store/5bxn1fqv6shgd0rlpj88w8qa0r12mdlb-libpostal/share/libpostal/address_parser/address_parser_postal_codes.dat
/nix/store/hg3xfsh158rqi5glxg4i1qcr06ipl9a9-libpostal-parser/address_parser/address_parser_postal_codes.dat


А должен он быть где-то в
…../data/address_parser/address_parser_postal_codes.dat
источник

АБ

Александр Бантьев in NixOS
Я бы опакетил libpostal как-то так:

{ fetchzip, fetchgit, runCommand, autoreconfHook, curl, stdenv }:
let
 addressBase = fetchzip {
   name = "libpostal-base";
   url =
     " https://github.com/openvenues/libpostal/releases/download/v1.0.0/libpostal_data.tar.gz";
   sha256 = "1hbckdqizhzznbsfgp5y2b8p074bw97kn766sfmkqmv18j98548n";
   stripRoot = false;
 };
 parserTarball = fetchzip {
   name = "libpostal-parser";
   url =
     " https://github.com/openvenues/libpostal/releases/download/v1.0.0/parser.tar.gz";
   sha256 = "193fk4x0j9jwvkcva5rir3zw8nhf994q40xyv59da6mlfxpi6w9q";
   stripRoot = false;
 };
in stdenv.mkDerivation rec {

 name = "libpostal";
 src = fetchgit {
   rev = "7f7aada32ab1a65b94f880a45f9755bbd941eedc";
   sha256 = "0qf5nkfkfjl2ylkrnw7kzax71y85gkr8i24glyp9rflyzmpj6giy";
   url = "git@github.com:openvenues/libpostal.git";
 };
 outputs = [ "out" "data" ];
 preConfigure = ''
   mkdir $data
   ln -s ${parserTarball}/address_parser $data
   ln -s ${addressBase}/address_parser/transliteration $data
   ln -s ${addressBase}/address_parser/numex $data
   ln -s ${addressBase}/address_parser/address_expansions $data
 '';
 buildInputs = [ autoreconfHook curl ];
 configureFlags =
   [ "--datadir=$data" "--disable-data-download" ];
}
источник

АБ

Александр Бантьев in NixOS
(я не тестил)
источник

АБ

Александр Бантьев in NixOS
blkmrkt
Поискал один из файлов того большого тарбола, и он лежит аж в 3 местах:
/nix/store/hi0hzpvkbpgawhs68rrp7jw0z7ascywp-libpostal-compiled-assets-7170cc4/share/libpostal/address_parser/address_parser_postal_codes.dat
/nix/store/5bxn1fqv6shgd0rlpj88w8qa0r12mdlb-libpostal/share/libpostal/address_parser/address_parser_postal_codes.dat
/nix/store/hg3xfsh158rqi5glxg4i1qcr06ipl9a9-libpostal-parser/address_parser/address_parser_postal_codes.dat


А должен он быть где-то в
…../data/address_parser/address_parser_postal_codes.dat
Как искал?
источник

b

blkmrkt in NixOS
find /nix -name address_parser_postal_codes.dat
источник

b

blkmrkt in NixOS
Александр Бантьев
Ну а так -- попробуй nix eval ((with import <nixpkgs> {}; callPackage ./libpostal {}).libpostalData)
Вот вывод кстати, ошибка:
trace: `mkStrict' is obsolete; use `mkOverride 0' instead.
trace: `lib.nixpkgsVersion` is deprecated, use `lib.version` instead!
trace: lib.zip is deprecated, use lib.zipAttrsWith instead
trace: `types.list` is deprecated; use `types.listOf` instead
trace: warning: types.string is deprecated because it quietly concatenates strings
trace: types.optionSet is deprecated; use types.submodule instead
trace: Warning: `showVal` is deprecated and will be removed in the next release, please use `traceSeqN`
trace: warning: `stdenv.isArm` is deprecated after 18.03. Please use `stdenv.isAarch32` instead
trace: warning: `stdenv.isArm` is deprecated after 18.03. Please use `stdenv.isAarch32` instead
error: value is a string while a set was expected, at /nix/store/csj6kvf5n4dki3240k1r2mk4anzkxcxv-nixpkgs-20.03pre211344.d5bf8b23592/nixpkgs/pkgs/development/libraries/openssl/default.nix:39:68
(use '--show-trace' to show detailed location information)
источник

АБ

Александр Бантьев in NixOS
blkmrkt
Вот вывод кстати, ошибка:
trace: `mkStrict' is obsolete; use `mkOverride 0' instead.
trace: `lib.nixpkgsVersion` is deprecated, use `lib.version` instead!
trace: lib.zip is deprecated, use lib.zipAttrsWith instead
trace: `types.list` is deprecated; use `types.listOf` instead
trace: warning: types.string is deprecated because it quietly concatenates strings
trace: types.optionSet is deprecated; use types.submodule instead
trace: Warning: `showVal` is deprecated and will be removed in the next release, please use `traceSeqN`
trace: warning: `stdenv.isArm` is deprecated after 18.03. Please use `stdenv.isAarch32` instead
trace: warning: `stdenv.isArm` is deprecated after 18.03. Please use `stdenv.isAarch32` instead
error: value is a string while a set was expected, at /nix/store/csj6kvf5n4dki3240k1r2mk4anzkxcxv-nixpkgs-20.03pre211344.d5bf8b23592/nixpkgs/pkgs/development/libraries/openssl/default.nix:39:68
(use '--show-trace' to show detailed location information)
А, добавь --raw
источник

b

blkmrkt in NixOS
Александр Бантьев
А, добавь --raw
Вот вывод, но самой этой директории не существует /nix/store/sc4xzw0g0g4s4ijfz1n0pp3iwddylz80-libpostal-data
источник

АБ

Александр Бантьев in NixOS
blkmrkt
Вот вывод, но самой этой директории не существует /nix/store/sc4xzw0g0g4s4ijfz1n0pp3iwddylz80-libpostal-data
Интересно
источник

b

blkmrkt in NixOS
Я на макос каталина если что, вместо тру /nix директории у меня там автомаунт виртуального диска.
источник

АБ

Александр Бантьев in NixOS
источник