commit 6646906869a0689d7510194a5b48a9e8dcfe9ddd
parent 0a28dc8f986025b061824bd2616079ee6e23912a
Author: Nikolay Korotkiy <sikmir@gmail.com>
Date:   Wed, 18 Aug 2021 03:02:32 +0300
Up, drop niv
Diffstat:
17 files changed, 85 insertions(+), 314 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
@@ -31,7 +31,7 @@ jobs:
       uses: cachix/cachix-action@v10
       with:
         name: ${{ matrix.cachixName }}
-        signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
+        authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
     - name: Check evaluation
       run: |
         nix-env -f . -qa \* --meta --xml \
diff --git a/default.nix b/default.nix
@@ -7,7 +7,6 @@
 #     nix-build -A mypackage
 
 { pkgs ? import <nixpkgs> args
-, sources ? import ./nix/sources.nix
 , system ? builtins.currentSystem
 , ...
 }@args:
@@ -18,7 +17,7 @@
   modules = import ./modules; # NixOS modules
   overlays = import ./overlays; # nixpkgs overlays
 } // (pkgs.lib.optionalAttrs (builtins.tryEval pkgs).success (import ./pkgs {
-  inherit sources pkgs;
+  inherit pkgs;
 }
 )
 )
diff --git a/flake.lock b/flake.lock
@@ -2,11 +2,11 @@
   "nodes": {
     "nixpkgs": {
       "locked": {
-        "lastModified": 1628231879,
-        "narHash": "sha256-ySd1qDGPHBKfOLA6KrUTjvnYWUbUSd38lSS+hixrYcM=",
+        "lastModified": 1629169812,
+        "narHash": "sha256-krVVUNxRjSBJaFWKelNe0MWvxhklXSGKmisoJP4P5/Q=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "143fe598ba755c98959c3d586ee56595a8acf7c1",
+        "rev": "70dc433f2eb84cc7ed848a30feaa5aab5890d23c",
         "type": "github"
       },
       "original": {
diff --git a/modules/home-manager/programs/aerc.nix b/modules/home-manager/programs/aerc.nix
@@ -7,20 +7,21 @@ let
 
   accountConfFile = with cfg;
     generators.toINI
-      { } {
-      Personal = {
-        source = "imaps://${gUsername}:${gPassword}@imap.gmail.com:993";
-        outgoing = "smtp+plain://${gUsername}:${gPassword}@smtp.gmail.com:587";
-        default = "INBOX";
-        smtp-starttls = "yes";
-        from =
-          if fullName != "" then
-            "${fullName} <${gUsername}@gmail.com>"
-          else
-            "${gUsername}@gmail.com";
-        copy-to = "Sent";
+      { }
+      {
+        Personal = {
+          source = "imaps://${gUsername}:${gPassword}@imap.gmail.com:993";
+          outgoing = "smtp+plain://${gUsername}:${gPassword}@smtp.gmail.com:587";
+          default = "INBOX";
+          smtp-starttls = "yes";
+          from =
+            if fullName != "" then
+              "${fullName} <${gUsername}@gmail.com>"
+            else
+              "${gUsername}@gmail.com";
+          copy-to = "Sent";
+        };
       };
-    };
 
   activationScript = ''
     $DRY_RUN_CMD install -Dm644 ${pkgs.aerc}/share/aerc/aerc.conf -t ${configDir}
diff --git a/nix/sources.json b/nix/sources.json
@@ -1,30 +0,0 @@
-{
-    "map-hr": {
-        "branch": "master",
-        "builtin": false,
-        "date": "2021-02-07T23:11:50Z",
-        "description": "Slazav mountains",
-        "homepage": "http://slazav.xyz/maps/",
-        "owner": "slazav",
-        "repo": "map_hr",
-        "rev": "f476649b5ff12fb6fa037e6fb023c1da19639b84",
-        "sha256": "0z2782smylf62ank8bpdhnvldqy46xai8ahg87yfyl203zcpp07h",
-        "type": "tarball",
-        "url": "https://github.com/slazav/map_hr/archive/f476649b5ff12fb6fa037e6fb023c1da19639b84.tar.gz",
-        "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
-    },
-    "map-podm": {
-        "branch": "master",
-        "builtin": false,
-        "date": "2021-01-09T15:19:59Z",
-        "description": "Карты Подмосковья в виде номенклатурных листов 1:100000 - исходники в формате mapsoft vmap",
-        "homepage": "http://slazav.xyz/maps/",
-        "owner": "slazav",
-        "repo": "map_podm",
-        "rev": "c95a381155986f9f621e5d26b21bda041ad8c24f",
-        "sha256": "0jsrjzmg23rp3ay5149llqrq6pnr66wf7siphwn7gisz5g60pgpf",
-        "type": "tarball",
-        "url": "https://github.com/slazav/map_podm/archive/c95a381155986f9f621e5d26b21bda041ad8c24f.tar.gz",
-        "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
-    }
-}
diff --git a/nix/sources.nix b/nix/sources.nix
@@ -1,174 +0,0 @@
-# This file has been generated by Niv.
-
-let
-
-  #
-  # The fetchers. fetch_<type> fetches specs of type <type>.
-  #
-
-  fetch_file = pkgs: name: spec:
-    let
-      name' = sanitizeName name + "-src";
-    in
-      if spec.builtin or true then
-        builtins_fetchurl { inherit (spec) url sha256; name = name'; }
-      else
-        pkgs.fetchurl { inherit (spec) url sha256; name = name'; };
-
-  fetch_tarball = pkgs: name: spec:
-    let
-      name' = sanitizeName name + "-src";
-    in
-      if spec.builtin or true then
-        builtins_fetchTarball { name = name'; inherit (spec) url sha256; }
-      else
-        pkgs.fetchzip { name = name'; inherit (spec) url sha256; };
-
-  fetch_git = name: spec:
-    let
-      ref =
-        if spec ? ref then spec.ref else
-          if spec ? branch then "refs/heads/${spec.branch}" else
-            if spec ? tag then "refs/tags/${spec.tag}" else
-              abort "In git source '${name}': Please specify `ref`, `tag` or `branch`!";
-    in
-      builtins.fetchGit { url = spec.repo; inherit (spec) rev; inherit ref; };
-
-  fetch_local = spec: spec.path;
-
-  fetch_builtin-tarball = name: throw
-    ''[${name}] The niv type "builtin-tarball" is deprecated. You should instead use `builtin = true`.
-        $ niv modify ${name} -a type=tarball -a builtin=true'';
-
-  fetch_builtin-url = name: throw
-    ''[${name}] The niv type "builtin-url" will soon be deprecated. You should instead use `builtin = true`.
-        $ niv modify ${name} -a type=file -a builtin=true'';
-
-  #
-  # Various helpers
-  #
-
-  # https://github.com/NixOS/nixpkgs/pull/83241/files#diff-c6f540a4f3bfa4b0e8b6bafd4cd54e8bR695
-  sanitizeName = name:
-    (
-      concatMapStrings (s: if builtins.isList s then "-" else s)
-        (
-          builtins.split "[^[:alnum:]+._?=-]+"
-            ((x: builtins.elemAt (builtins.match "\\.*(.*)" x) 0) name)
-        )
-    );
-
-  # The set of packages used when specs are fetched using non-builtins.
-  mkPkgs = sources: system:
-    let
-      sourcesNixpkgs =
-        import (builtins_fetchTarball { inherit (sources.nixpkgs) url sha256; }) { inherit system; };
-      hasNixpkgsPath = builtins.any (x: x.prefix == "nixpkgs") builtins.nixPath;
-      hasThisAsNixpkgsPath = <nixpkgs> == ./.;
-    in
-      if builtins.hasAttr "nixpkgs" sources
-      then sourcesNixpkgs
-      else if hasNixpkgsPath && ! hasThisAsNixpkgsPath then
-        import <nixpkgs> {}
-      else
-        abort
-          ''
-            Please specify either <nixpkgs> (through -I or NIX_PATH=nixpkgs=...) or
-            add a package called "nixpkgs" to your sources.json.
-          '';
-
-  # The actual fetching function.
-  fetch = pkgs: name: spec:
-
-    if ! builtins.hasAttr "type" spec then
-      abort "ERROR: niv spec ${name} does not have a 'type' attribute"
-    else if spec.type == "file" then fetch_file pkgs name spec
-    else if spec.type == "tarball" then fetch_tarball pkgs name spec
-    else if spec.type == "git" then fetch_git name spec
-    else if spec.type == "local" then fetch_local spec
-    else if spec.type == "builtin-tarball" then fetch_builtin-tarball name
-    else if spec.type == "builtin-url" then fetch_builtin-url name
-    else
-      abort "ERROR: niv spec ${name} has unknown type ${builtins.toJSON spec.type}";
-
-  # If the environment variable NIV_OVERRIDE_${name} is set, then use
-  # the path directly as opposed to the fetched source.
-  replace = name: drv:
-    let
-      saneName = stringAsChars (c: if isNull (builtins.match "[a-zA-Z0-9]" c) then "_" else c) name;
-      ersatz = builtins.getEnv "NIV_OVERRIDE_${saneName}";
-    in
-      if ersatz == "" then drv else
-        # this turns the string into an actual Nix path (for both absolute and
-        # relative paths)
-        if builtins.substring 0 1 ersatz == "/" then /. + ersatz else /. + builtins.getEnv "PWD" + "/${ersatz}";
-
-  # Ports of functions for older nix versions
-
-  # a Nix version of mapAttrs if the built-in doesn't exist
-  mapAttrs = builtins.mapAttrs or (
-    f: set: with builtins;
-    listToAttrs (map (attr: { name = attr; value = f attr set.${attr}; }) (attrNames set))
-  );
-
-  # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/lists.nix#L295
-  range = first: last: if first > last then [] else builtins.genList (n: first + n) (last - first + 1);
-
-  # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L257
-  stringToCharacters = s: map (p: builtins.substring p 1 s) (range 0 (builtins.stringLength s - 1));
-
-  # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L269
-  stringAsChars = f: s: concatStrings (map f (stringToCharacters s));
-  concatMapStrings = f: list: concatStrings (map f list);
-  concatStrings = builtins.concatStringsSep "";
-
-  # https://github.com/NixOS/nixpkgs/blob/8a9f58a375c401b96da862d969f66429def1d118/lib/attrsets.nix#L331
-  optionalAttrs = cond: as: if cond then as else {};
-
-  # fetchTarball version that is compatible between all the versions of Nix
-  builtins_fetchTarball = { url, name ? null, sha256 }@attrs:
-    let
-      inherit (builtins) lessThan nixVersion fetchTarball;
-    in
-      if lessThan nixVersion "1.12" then
-        fetchTarball ({ inherit url; } // (optionalAttrs (!isNull name) { inherit name; }))
-      else
-        fetchTarball attrs;
-
-  # fetchurl version that is compatible between all the versions of Nix
-  builtins_fetchurl = { url, name ? null, sha256 }@attrs:
-    let
-      inherit (builtins) lessThan nixVersion fetchurl;
-    in
-      if lessThan nixVersion "1.12" then
-        fetchurl ({ inherit url; } // (optionalAttrs (!isNull name) { inherit name; }))
-      else
-        fetchurl attrs;
-
-  # Create the final "sources" from the config
-  mkSources = config:
-    mapAttrs (
-      name: spec:
-        if builtins.hasAttr "outPath" spec
-        then abort
-          "The values in sources.json should not have an 'outPath' attribute"
-        else
-          spec // { outPath = replace name (fetch config.pkgs name spec); }
-    ) config.sources;
-
-  # The "config" used by the fetchers
-  mkConfig =
-    { sourcesFile ? if builtins.pathExists ./sources.json then ./sources.json else null
-    , sources ? if isNull sourcesFile then {} else builtins.fromJSON (builtins.readFile sourcesFile)
-    , system ? builtins.currentSystem
-    , pkgs ? mkPkgs sources system
-    }: rec {
-      # The sources, i.e. the attribute set of spec name to spec
-      inherit sources;
-
-      # The "pkgs" (evaluated nixpkgs) to use for e.g. non-builtin fetchers
-      inherit pkgs;
-    };
-
-in
-mkSources (mkConfig {}) // { __functor = _: settings: mkSources (mkConfig settings); }
diff --git a/pkgs/data/dicts/tatoeba/default.nix b/pkgs/data/dicts/tatoeba/default.nix
@@ -24,7 +24,7 @@ let
 in
 stdenvNoCC.mkDerivation rec {
   pname = "tatoeba";
-  version = "2021-07-24";
+  version = "2021-08-14";
 
   srcs = lib.mapAttrsToList (name: spec: fetchurl spec) tatoeba;
 
diff --git a/pkgs/data/dicts/tatoeba/tatoeba.json b/pkgs/data/dicts/tatoeba/tatoeba.json
@@ -1,98 +1,98 @@
 {
   "deu_sentences_detailed": {
     "url": "https://downloads.tatoeba.org/exports/per_language/deu/deu_sentences_detailed.tsv.bz2",
-    "hash": "sha256-RFUVm6hxsgRNKikiIoFZje2XlrSy5zX/kWBUCCfglL0="
+    "hash": "sha256-7tJDzgS6cqcOIicPtv+1lcdZqaSK6Zr4fWbhXmjhhHA="
   },
   "eng_sentences_detailed": {
     "url": "https://downloads.tatoeba.org/exports/per_language/eng/eng_sentences_detailed.tsv.bz2",
-    "hash": "sha256-HLzXi4TmE9/KrOWVOx8BrH+l1gpDJ/YDuHz7aiO1H0w="
+    "hash": "sha256-aKolsL8e447rIbmarDO63yixThG8OH+E2iPaeYglUFY="
   },
   "epo_sentences_detailed": {
     "url": "https://downloads.tatoeba.org/exports/per_language/epo/epo_sentences_detailed.tsv.bz2",
-    "hash": "sha256-Oy/KbRHd2SEArOwoy+mFbEM0MUV51vPYiNZi4+DbMMM="
+    "hash": "sha256-iXh/jOdsfIF6YgzXY72CLA4fpnlTfHqksQHN2f15low="
   },
   "fin_sentences_detailed": {
     "url": "https://downloads.tatoeba.org/exports/per_language/fin/fin_sentences_detailed.tsv.bz2",
-    "hash": "sha256-K9kryNG+RvrhPSOBmCWZxzn5UCer3Utm2f+0AiwzIaw="
+    "hash": "sha256-OVuAbO6dW5MfNpA3fuzibbDJB6/JXodr1tOH3Fg8raM="
   },
   "rus_sentences_detailed": {
     "url": "https://downloads.tatoeba.org/exports/per_language/rus/rus_sentences_detailed.tsv.bz2",
-    "hash": "sha256-uxvpu4IV0vDehrmrR4uG+Vt2fIRf3uIdW2FhVVXAHiY="
+    "hash": "sha256-MUIpkqx2V5YaNfcsCuZsanGY3JFNtiwEqxVhwxf1uDw="
   },
   "ukr_sentences_detailed": {
     "url": "https://downloads.tatoeba.org/exports/per_language/ukr/ukr_sentences_detailed.tsv.bz2",
-    "hash": "sha256-b22H8kr48emOjf5SYn1iAXN/FLN2MJWxAaJN8U55ry8="
+    "hash": "sha256-vUCxm/dPDGOXzmZD6l7n1VSeo75Ofv4OaHYCT6SvwB8="
   },
   "deu-eng_links": {
     "url": "https://downloads.tatoeba.org/exports/per_language/deu/deu-eng_links.tsv.bz2",
-    "hash": "sha256-dDiEWvwLhwF052xDHNFcLbbZ9zeYD0ECZlNfzNcO4Ug="
+    "hash": "sha256-L1v/9B2gmsFIIr7Xys3eclW+drjxYmRcVQ7UsKUacNY="
   },
   "deu-rus_links": {
     "url": "https://downloads.tatoeba.org/exports/per_language/deu/deu-rus_links.tsv.bz2",
-    "hash": "sha256-FhsEETWzNC6Q2TY6j/YNhRKNiAV0M4AQtjq3gd3Tp4Y="
+    "hash": "sha256-T5f96Z3VkPBZmrtizvNbMaj83GyTpM5tv6+XmHwL/nY="
   },
   "eng-epo_links": {
     "url": "https://downloads.tatoeba.org/exports/per_language/eng/eng-epo_links.tsv.bz2",
-    "hash": "sha256-oK9p0tEqD9cQ6gOzDtnpW3zeuptjF+UsSgbX7dvi4I8="
+    "hash": "sha256-0DGMSTyYWYh4JSJtV9Nojy/P5J9XVjPwK3HogdK/6Sg="
   },
   "eng-deu_links": {
     "url": "https://downloads.tatoeba.org/exports/per_language/eng/eng-deu_links.tsv.bz2",
-    "hash": "sha256-yjWgrUveXulIyOop+fM5U9Zm6zBAroxSfyKHk97FF6w="
+    "hash": "sha256-Ni6Elks/rtrQhum9TXJdi7zNfcgXv63GfqJ0zhbHnAU="
   },
   "eng-fin_links": {
     "url": "https://downloads.tatoeba.org/exports/per_language/eng/eng-fin_links.tsv.bz2",
-    "hash": "sha256-bHy3Wa1PciZJDs7TLShe1UwdERu0x6FpiDg04igCpNs="
+    "hash": "sha256-GJzcRIGGoQCzOnHyCXui8JsvLd0P1mCK47iQFc+wgJU="
   },
   "eng-rus_links": {
     "url": "https://downloads.tatoeba.org/exports/per_language/eng/eng-rus_links.tsv.bz2",
-    "hash": "sha256-8seClnJ3ynDHAx2Hx1Smo6ed4H9Oa3G4w44wxz2pg38="
+    "hash": "sha256-/N2ozVRua6yCH4IS9es7Vltx0FjUvLuiJNuLcTaAdsE="
   },
   "eng-ukr_links": {
     "url": "https://downloads.tatoeba.org/exports/per_language/eng/eng-ukr_links.tsv.bz2",
-    "hash": "sha256-Xn4kVxmHAsBO9nfJ+kU+g1+YZ29mywi9vnahCFMXY9g="
+    "hash": "sha256-cwm72fnExuVa7VbuDhfjsW5hibDNiv6dQilOeVkdRLE="
   },
   "epo-eng_links": {
     "url": "https://downloads.tatoeba.org/exports/per_language/epo/epo-eng_links.tsv.bz2",
-    "hash": "sha256-Y4QG/HCNqfOFcHlKQSYCqZfDkwHwbizoLNyT6g02TTM="
+    "hash": "sha256-ie3jolKSkW3FeJJr9dPT6Vsw8dJccxHt/bbk64ZH5TY="
   },
   "epo-rus_links": {
     "url": "https://downloads.tatoeba.org/exports/per_language/epo/epo-rus_links.tsv.bz2",
-    "hash": "sha256-rYsQVjZC3oMtb3crsV84biWymVQ5OazffSkkC9qM1NE="
+    "hash": "sha256-HFHcTJJQLTwgzrIHFDEE45GT8SIEGH2GrDV2e5ovOT8="
   },
   "fin-eng_links": {
     "url": "https://downloads.tatoeba.org/exports/per_language/fin/fin-eng_links.tsv.bz2",
-    "hash": "sha256-vbOX8yn9Xx3C5cIL3bJwrmpLkB9ykzFJ9eOZ2cTRLP8="
+    "hash": "sha256-tdKv6sgEm5bV45WwAmEf1aO7KxzLvRj2XTj+ptotFy8="
   },
   "fin-rus_links": {
     "url": "https://downloads.tatoeba.org/exports/per_language/fin/fin-rus_links.tsv.bz2",
-    "hash": "sha256-rVk1DCtNt4bbEQnRexmAEXs3FQqOayatRDELayTPljg="
+    "hash": "sha256-lcw+jOJLic+7AwVkWssHN3jHCOYFSKWuiXI3qlFQWpo="
   },
   "rus-deu_links": {
     "url": "https://downloads.tatoeba.org/exports/per_language/rus/rus-deu_links.tsv.bz2",
-    "hash": "sha256-xJeaa4kdF2IeY45Rae1uPAarU88OVSAAvMxSyoiiC+o="
+    "hash": "sha256-zmH8uQaISZ/X9CpmswDmJgUlyLAOAGfZxShU5GThuC0="
   },
   "rus-eng_links": {
     "url": "https://downloads.tatoeba.org/exports/per_language/rus/rus-eng_links.tsv.bz2",
-    "hash": "sha256-fBViD7zgrrXGj6ZytdEsAFUj6SX6Nc0tW3D7k9AgQ3s="
+    "hash": "sha256-ABE1k9nO0sGJeR97vqJOpK4w/PcxXqM2T5XRmoS87JA="
   },
   "rus-epo_links": {
     "url": "https://downloads.tatoeba.org/exports/per_language/rus/rus-epo_links.tsv.bz2",
-    "hash": "sha256-HkGZEb58/ZteZxia9fdONA5404d9dydz4u8CzWrUj/Q="
+    "hash": "sha256-vrQ507OWmmGe8yo459hetfmXLTnuunuLutGqi5aBxyw="
   },
   "rus-fin_links": {
     "url": "https://downloads.tatoeba.org/exports/per_language/rus/rus-fin_links.tsv.bz2",
-    "hash": "sha256-qb0UyUxzwjeUpqbicOMq6FfMjRN8DADujTMdE+5asvk="
+    "hash": "sha256-v0cuv5AJsxejY4SRqL8Of6c8W0HfblT4cPm5JvlpfFU="
   },
   "rus-ukr_links": {
     "url": "https://downloads.tatoeba.org/exports/per_language/rus/rus-ukr_links.tsv.bz2",
-    "hash": "sha256-QcPZv4vjdmKPTtnXrsb6ro6mentukKc9lWshP337rNk="
+    "hash": "sha256-z2Z5bf3BvyarUxmvVy5n5MeKULyj1q/F65XvGvq5LtM="
   },
   "ukr-eng_links": {
     "url": "https://downloads.tatoeba.org/exports/per_language/ukr/ukr-eng_links.tsv.bz2",
-    "hash": "sha256-pcDtvik26LEMri7FoVzB2Wa5FnSDy/Vv00AS7dKVhgY="
+    "hash": "sha256-E2CUgAo/HrUHPFI4+4IVAqvjRCSetOA7mQBKt/vCw7Y="
   },
   "ukr-rus_links": {
     "url": "https://downloads.tatoeba.org/exports/per_language/ukr/ukr-rus_links.tsv.bz2",
-    "hash": "sha256-FSlNax5JT8DuBI1bQfqYAPoN+bLOGSWZ32wsznF5C1A="
+    "hash": "sha256-zFELJ2p2y2j4uB8JnQ8n00nInH8c450yOGdG/k1bnlI="
   }
 }
diff --git a/pkgs/data/maps/maptourist/default.nix b/pkgs/data/maps/maptourist/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "maptourist";
-  version = "2021-08-12";
+  version = "2021-08-16";
 
   src = fetchurl {
     url = "https://maptourist.org/osm-garmin/archive/OSM-MapTourist-szfo-RU_${version}.zip";
-    hash = "sha256-5gmTB7pxuw7OZ5M/k//GpL0jwMQTNoHUhE1dxKcMybs=";
+    hash = "sha256-x8noLpHmJ5E5TuDDtkuaTf1jNsC6FzxZrVSzPxT1LBs=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/data/maps/mtk-suomi/default.nix b/pkgs/data/maps/mtk-suomi/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "mtk-suomi";
-  version = "2021-07-24";
+  version = "2021-08-14";
 
   src = fetchurl {
     url = "https://kartat-dl.hylly.org/${version}/mtk_suomi.img";
-    hash = "sha256-TCuvw8nbIBfJi5M+BR4/pL9ciq86V4Xlb5Ak2kuYBA0=";
+    hash = "sha256-UTGnzx8epdOOjSg8Qx73TPJlsJPfOZSEBYi5D0b2EFk=";
   };
 
   preferLocalBuild = true;
diff --git a/pkgs/data/maps/slazav/hr.nix b/pkgs/data/maps/slazav/hr.nix
@@ -1,10 +1,15 @@
-{ lib, stdenv, bc, cgpsmapper, gmaptool, mapsoft2, sources }:
+{ lib, stdenv, fetchFromGitHub, bc, cgpsmapper, gmaptool, mapsoft2 }:
 
 stdenv.mkDerivation {
   pname = "slazav-hr";
-  version = lib.substring 0 10 sources.map-hr.date;
+  version = "2021-02-07";
 
-  src = sources.map-hr;
+  src = fetchFromGitHub {
+    owner = "slazav";
+    repo = "map_hr";
+    rev = "f476649b5ff12fb6fa037e6fb023c1da19639b84";
+    sha256 = "0z2782smylf62ank8bpdhnvldqy46xai8ahg87yfyl203zcpp07h";
+  };
 
   nativeBuildInputs = [ bc cgpsmapper gmaptool mapsoft2 ];
 
@@ -13,7 +18,8 @@ stdenv.mkDerivation {
   installPhase = "install -Dm644 OUT/all_*.img -t $out";
 
   meta = with lib; {
-    inherit (sources.map-hr) description homepage;
+    description = "Slazav mountains";
+    homepage = "http://slazav.xyz/maps/";
     license = licenses.free;
     maintainers = [ maintainers.sikmir ];
     platforms = platforms.all;
diff --git a/pkgs/data/maps/slazav/podm.nix b/pkgs/data/maps/slazav/podm.nix
@@ -1,10 +1,15 @@
-{ lib, stdenv, bc, cgpsmapper, gmaptool, mapsoft2, sources }:
+{ lib, stdenv, fetchFromGitHub, bc, cgpsmapper, gmaptool, mapsoft2 }:
 
 stdenv.mkDerivation {
   pname = "slazav-podm";
-  version = lib.substring 0 10 sources.map-podm.date;
+  version = "2021-01-09";
 
-  src = sources.map-podm;
+  src = fetchFromGitHub {
+    owner = "slazav";
+    repo = "map_podm";
+    rev = "c95a381155986f9f621e5d26b21bda041ad8c24f";
+    sha256 = "0jsrjzmg23rp3ay5149llqrq6pnr66wf7siphwn7gisz5g60pgpf";
+  };
 
   nativeBuildInputs = [ bc cgpsmapper gmaptool mapsoft2 ];
 
@@ -13,7 +18,8 @@ stdenv.mkDerivation {
   installPhase = "install -Dm644 OUT/all_*.img -t $out";
 
   meta = with lib; {
-    inherit (sources.map-podm) description homepage;
+    description = "Slazav Moscow region map";
+    homepage = "http://slazav.xyz/maps/";
     license = licenses.free;
     maintainers = [ maintainers.sikmir ];
     platforms = platforms.all;
diff --git a/pkgs/data/misc/osm-extracts/default.nix b/pkgs/data/misc/osm-extracts/default.nix
@@ -17,11 +17,11 @@ in
 {
   admin-boundaries = stdenv.mkDerivation rec {
     pname = "osm-admin-boundaries";
-    version = "210812";
+    version = "210816";
 
     src = fetchurl {
       url = "https://download.geofabrik.de/russia/northwestern-fed-district-${version}.osm.pbf";
-      hash = "sha256-jsBxHOyTmUJtkzWC8UxbaxoPISRmCMel8Uwg9IuWrsU=";
+      hash = "sha256-quHCVQomVPvqskC5YEClJU5Zno9oLiYx6omW1SMmRWk=";
     };
 
     dontUnpack = true;
diff --git a/pkgs/data/misc/routinodb/default.nix b/pkgs/data/misc/routinodb/default.nix
@@ -2,20 +2,20 @@
 
 stdenv.mkDerivation rec {
   pname = "routinodb";
-  version = "210812";
+  version = "210816";
 
   srcs = [
     (fetchurl {
       url = "https://download.geofabrik.de/europe/finland-${version}.osm.pbf";
-      hash = "sha256-rQ3gvDV0xmUuAcd0vUtG+AtDtYuU2RMQD5zDXu2iGQ0=";
+      hash = "sha256-9nfhxci9Y/XE9I+sRF8Hju6Yg8dLa7epOIwsZVjwazA=";
     })
     (fetchurl {
       url = "https://download.geofabrik.de/europe/estonia-${version}.osm.pbf";
-      hash = "sha256-jz7o6YE5rMp1pfdUOnGUbeUBTbR+OhKCosfvaaNzYVw=";
+      hash = "sha256-9LSE/vkGKFVtp8InXcXOqzactoUZsunC45iK+Ta18oI=";
     })
     (fetchurl {
       url = "https://download.geofabrik.de/russia/northwestern-fed-district-${version}.osm.pbf";
-      hash = "sha256-jsBxHOyTmUJtkzWC8UxbaxoPISRmCMel8Uwg9IuWrsU=";
+      hash = "sha256-quHCVQomVPvqskC5YEClJU5Zno9oLiYx6omW1SMmRWk=";
     })
   ];
 
diff --git a/pkgs/default.nix b/pkgs/default.nix
@@ -1,10 +1,9 @@
-{ pkgs, sources }:
+{ pkgs }:
 let
   inherit (pkgs) lib newScope recurseIntoAttrs libsForQt5 darwin;
 in
 lib.makeScope newScope (
   self: with self; {
-    inherit sources;
 
     ### APPLICATIONS
 
diff --git a/pkgs/gis/mapsoft/2.nix b/pkgs/gis/mapsoft/2.nix
@@ -45,8 +45,17 @@ stdenv.mkDerivation rec {
     substituteInPlace modules/get_deps \
       --replace "/usr/bin/perl" "${perlPackages.perl}/bin/perl"
     substituteInPlace modules/mapview/mapview.cpp \
-      --replace "/usr/share" "$(out)/share"
+      --replace "/usr/share" "$out/share"
     patchShebangs .
+
+    # https://github.com/OSGeo/PROJ/pull/2547
+    cat > modules/pc/proj.pc << EOF
+    Name: PROJ
+    Description: Coordinate transformation software library
+    Requires:
+    Version: ${proj.version}
+    Libs: -lproj
+    EOF
   '';
 
   nativeBuildInputs = [
diff --git a/update-commit-dates.sh b/update-commit-dates.sh
@@ -1,45 +0,0 @@
-#!/usr/bin/env nix-shell
-#! nix-shell -i bash -p curl jq moreutils
-
-# heredoc variables
-typeset \
-  commit_dates_filter='' \
-  commit_dates_query='' \
-
-
-IFS='' read -r -d '' commit_dates_query <<'EOF' # vim:ft=jq
-def repoField($alias):
-  "\($alias): repository(owner: \(.owner | @json), name: \(.repo | @json)) { " +
-    "object(expression: \(.rev | @json)) { ...go } }";
-
-def build_query:
-"fragment go on GitObject { ... on Commit { committedDate } }
-
-query CommitDates {
-  " + (map(.key as $alias | .value |
-    select(has("owner") and has("repo")) |
-      repoField($alias | gsub("-"; "_"))
-  ) | join("\n  ")) + "
-}";
-
-{ query: to_entries | build_query }
-EOF
-
-IFS='' read -r -d '' commit_dates_filter <<'EOF' # vim:ft=jq
-.data | with_entries(
-  .key |= gsub("_"; "-") |
-  .value |= { date: .object.committedDate }
-) as $overrides | $sources[] * $overrides
-EOF
-
-set -o errexit -o errtrace -o nounset -o pipefail
-shopt -s inherit_errexit
-
-curl 'https://api.github.com/graphql' \
-    -H "Authorization: bearer $GITHUB_TOKEN" \
-    --data-binary "$(jq "${commit_dates_query}" nix/sources.json)" | \
-  jq -S --indent 4 "${commit_dates_filter}" \
-    --slurpfile sources nix/sources.json | \
-  sponge nix/sources.json
-
-# vim:et:ft=sh:sw=2:tw=78