mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-23 04:25:14 +00:00
Merge pull request #143345 from happysalada/update_plausible
plausible: 1.3.0 -> 1.4.0
This commit is contained in:
commit
25e6a0ad62
@ -5,19 +5,6 @@ with lib;
|
|||||||
let
|
let
|
||||||
cfg = config.services.plausible;
|
cfg = config.services.plausible;
|
||||||
|
|
||||||
# FIXME consider using LoadCredential as soon as it actually works.
|
|
||||||
envSecrets = ''
|
|
||||||
ADMIN_USER_PWD="$(<${cfg.adminUser.passwordFile})"
|
|
||||||
export ADMIN_USER_PWD # separate export to make `set -e` work
|
|
||||||
|
|
||||||
SECRET_KEY_BASE="$(<${cfg.server.secretKeybaseFile})"
|
|
||||||
export SECRET_KEY_BASE # separate export to make `set -e` work
|
|
||||||
|
|
||||||
${optionalString (cfg.mail.smtp.passwordFile != null) ''
|
|
||||||
SMTP_USER_PWD="$(<${cfg.mail.smtp.passwordFile})"
|
|
||||||
export SMTP_USER_PWD # separate export to make `set -e` work
|
|
||||||
''}
|
|
||||||
'';
|
|
||||||
in {
|
in {
|
||||||
options.services.plausible = {
|
options.services.plausible = {
|
||||||
enable = mkEnableOption "plausible";
|
enable = mkEnableOption "plausible";
|
||||||
@ -184,13 +171,15 @@ in {
|
|||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.epmd.enable = true;
|
||||||
|
|
||||||
systemd.services = mkMerge [
|
systemd.services = mkMerge [
|
||||||
{
|
{
|
||||||
plausible = {
|
plausible = {
|
||||||
inherit (pkgs.plausible.meta) description;
|
inherit (pkgs.plausible.meta) description;
|
||||||
documentation = [ "https://plausible.io/docs/self-hosting" ];
|
documentation = [ "https://plausible.io/docs/self-hosting" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
after = optional cfg.database.postgres.setup "plausible-postgres.service";
|
after = optionals cfg.database.postgres.setup [ "postgresql.service" "plausible-postgres.service" ];
|
||||||
requires = optional cfg.database.clickhouse.setup "clickhouse.service"
|
requires = optional cfg.database.clickhouse.setup "clickhouse.service"
|
||||||
++ optionals cfg.database.postgres.setup [
|
++ optionals cfg.database.postgres.setup [
|
||||||
"postgresql.service"
|
"postgresql.service"
|
||||||
@ -200,7 +189,7 @@ in {
|
|||||||
environment = {
|
environment = {
|
||||||
# NixOS specific option to avoid that it's trying to write into its store-path.
|
# NixOS specific option to avoid that it's trying to write into its store-path.
|
||||||
# See also https://github.com/lau/tzdata#data-directory-and-releases
|
# See also https://github.com/lau/tzdata#data-directory-and-releases
|
||||||
TZDATA_DIR = "/var/lib/plausible/elixir_tzdata";
|
STORAGE_DIR = "/var/lib/plausible/elixir_tzdata";
|
||||||
|
|
||||||
# Configuration options from
|
# Configuration options from
|
||||||
# https://plausible.io/docs/self-hosting-configuration
|
# https://plausible.io/docs/self-hosting-configuration
|
||||||
@ -231,15 +220,10 @@ in {
|
|||||||
|
|
||||||
path = [ pkgs.plausible ]
|
path = [ pkgs.plausible ]
|
||||||
++ optional cfg.database.postgres.setup config.services.postgresql.package;
|
++ optional cfg.database.postgres.setup config.services.postgresql.package;
|
||||||
|
script = ''
|
||||||
|
export CONFIG_DIR=$CREDENTIALS_DIRECTORY
|
||||||
|
|
||||||
serviceConfig = {
|
# setup
|
||||||
DynamicUser = true;
|
|
||||||
PrivateTmp = true;
|
|
||||||
WorkingDirectory = "/var/lib/plausible";
|
|
||||||
StateDirectory = "plausible";
|
|
||||||
ExecStartPre = "@${pkgs.writeShellScript "plausible-setup" ''
|
|
||||||
set -eu -o pipefail
|
|
||||||
${envSecrets}
|
|
||||||
${pkgs.plausible}/createdb.sh
|
${pkgs.plausible}/createdb.sh
|
||||||
${pkgs.plausible}/migrate.sh
|
${pkgs.plausible}/migrate.sh
|
||||||
${optionalString cfg.adminUser.activate ''
|
${optionalString cfg.adminUser.activate ''
|
||||||
@ -247,12 +231,18 @@ in {
|
|||||||
psql -d plausible <<< "UPDATE users SET email_verified=true;"
|
psql -d plausible <<< "UPDATE users SET email_verified=true;"
|
||||||
fi
|
fi
|
||||||
''}
|
''}
|
||||||
''} plausible-setup";
|
|
||||||
ExecStart = "@${pkgs.writeShellScript "plausible" ''
|
|
||||||
set -eu -o pipefail
|
|
||||||
${envSecrets}
|
|
||||||
plausible start
|
plausible start
|
||||||
''} plausible";
|
'';
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
DynamicUser = true;
|
||||||
|
PrivateTmp = true;
|
||||||
|
WorkingDirectory = "/var/lib/plausible";
|
||||||
|
StateDirectory = "plausible";
|
||||||
|
LoadCredential = [
|
||||||
|
"ADMIN_USER_PWD:${cfg.adminUser.passwordFile}"
|
||||||
|
"SECRET_KEY_BASE:${cfg.server.secretKeybaseFile}"
|
||||||
|
] ++ lib.optionals (cfg.mail.smtp.passwordFile != null) [ "SMTP_USER_PWD:${cfg.mail.smtp.passwordFile}"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -260,20 +250,22 @@ in {
|
|||||||
# `plausible' requires the `citext'-extension.
|
# `plausible' requires the `citext'-extension.
|
||||||
plausible-postgres = {
|
plausible-postgres = {
|
||||||
after = [ "postgresql.service" ];
|
after = [ "postgresql.service" ];
|
||||||
bindsTo = [ "postgresql.service" ];
|
|
||||||
requiredBy = [ "plausible.service" ];
|
|
||||||
partOf = [ "plausible.service" ];
|
partOf = [ "plausible.service" ];
|
||||||
serviceConfig.Type = "oneshot";
|
serviceConfig = {
|
||||||
unitConfig.ConditionPathExists = "!/var/lib/plausible/.db-setup";
|
Type = "oneshot";
|
||||||
script = ''
|
User = config.services.postgresql.superUser;
|
||||||
mkdir -p /var/lib/plausible/
|
RemainAfterExit = true;
|
||||||
|
};
|
||||||
|
script = with cfg.database.postgres; ''
|
||||||
PSQL() {
|
PSQL() {
|
||||||
/run/wrappers/bin/sudo -Hu postgres ${config.services.postgresql.package}/bin/psql --port=5432 "$@"
|
${config.services.postgresql.package}/bin/psql --port=5432 "$@"
|
||||||
}
|
}
|
||||||
|
# check if the database already exists
|
||||||
|
if ! PSQL -lqt | ${pkgs.coreutils}/bin/cut -d \| -f 1 | ${pkgs.gnugrep}/bin/grep -qw ${dbname} ; then
|
||||||
PSQL -tAc "CREATE ROLE plausible WITH LOGIN;"
|
PSQL -tAc "CREATE ROLE plausible WITH LOGIN;"
|
||||||
PSQL -tAc "CREATE DATABASE plausible WITH OWNER plausible;"
|
PSQL -tAc "CREATE DATABASE ${dbname} WITH OWNER plausible;"
|
||||||
PSQL -d plausible -tAc "CREATE EXTENSION IF NOT EXISTS citext;"
|
PSQL -d ${dbname} -tAc "CREATE EXTENSION IF NOT EXISTS citext;"
|
||||||
touch /var/lib/plausible/.db-setup
|
fi
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
@ -5,43 +5,35 @@
|
|||||||
, glibcLocales
|
, glibcLocales
|
||||||
, cacert
|
, cacert
|
||||||
, mkYarnModules
|
, mkYarnModules
|
||||||
|
, fetchYarnDeps
|
||||||
, nodejs
|
, nodejs
|
||||||
, fetchpatch
|
|
||||||
, nixosTests
|
, nixosTests
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
pname = "plausible";
|
pname = "plausible";
|
||||||
version = "1.3.0";
|
version = "1.4.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "plausible";
|
owner = "plausible";
|
||||||
repo = "analytics";
|
repo = "analytics";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "03lm1f29gwwixnhgjish5bhi3m73qyp71ns2sczdnwnbhrw61zps";
|
sha256 = "1d31y7mwvml17w97dm5c4312n0ciq39kf4hz3g80hdzbbn72mi4q";
|
||||||
};
|
};
|
||||||
|
|
||||||
# TODO consider using `mix2nix` as soon as it supports git dependencies.
|
# TODO consider using `mix2nix` as soon as it supports git dependencies.
|
||||||
mixFodDeps = beamPackages.fetchMixDeps {
|
mixFodDeps = beamPackages.fetchMixDeps {
|
||||||
pname = "${pname}-deps";
|
pname = "${pname}-deps";
|
||||||
inherit src version;
|
inherit src version;
|
||||||
sha256 = "1x0if0ifk272vcqjlgf097pxsw13bhwy8vs0b89l0bssx1bzygsi";
|
sha256 = "1ikcskp4gvvdprl65x1spijdc8dz6klnrnkvgy2jbk0b3d7yn1v5";
|
||||||
|
|
||||||
# We need ecto 3.6 as this version checks whether the database exists before
|
|
||||||
# trying to create it. The creation attempt would always require super-user privileges
|
|
||||||
# and since 3.6 this isn't the case anymore.
|
|
||||||
patches = [
|
|
||||||
./ecto_sql-fix.patch
|
|
||||||
./plausible-Bump-clickhouse_ecto-dependency-to-be-compatible-with-ecto-3.6.patch
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
yarnDeps = mkYarnModules {
|
yarnDeps = mkYarnModules {
|
||||||
pname = "${pname}-yarn-deps";
|
pname = "${pname}-yarn-deps";
|
||||||
inherit version;
|
inherit version;
|
||||||
packageJSON = ./package.json;
|
packageJSON = ./package.json;
|
||||||
yarnNix = ./yarn.nix;
|
|
||||||
yarnLock = ./yarn.lock;
|
yarnLock = ./yarn.lock;
|
||||||
|
yarnNix = ./yarn.nix;
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
mkdir -p tmp/deps
|
mkdir -p tmp/deps
|
||||||
cp -r ${mixFodDeps}/phoenix tmp/deps/phoenix
|
cp -r ${mixFodDeps}/phoenix tmp/deps/phoenix
|
||||||
@ -57,19 +49,6 @@ beamPackages.mixRelease {
|
|||||||
|
|
||||||
nativeBuildInputs = [ nodejs ];
|
nativeBuildInputs = [ nodejs ];
|
||||||
|
|
||||||
patches = [
|
|
||||||
# Allow socket-authentication against postgresql. Upstream PR is
|
|
||||||
# https://github.com/plausible/analytics/pull/1052
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/Ma27/analytics/commit/f2ee5892a6c3e1a861d69ed30cac43e05e9cd36f.patch";
|
|
||||||
sha256 = "sha256-JvJ7xlGw+tHtWje+jiQChVC4KTyqqdq2q+MIcOv/k1o=";
|
|
||||||
})
|
|
||||||
|
|
||||||
# Ensure that `tzdata` doesn't write into its store-path
|
|
||||||
# https://github.com/plausible/analytics/pull/1096, but rebased onto 1.3.0
|
|
||||||
./tzdata-rebased.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
tests = { inherit (nixosTests) plausible; };
|
tests = { inherit (nixosTests) plausible; };
|
||||||
updateScript = ./update.sh;
|
updateScript = ./update.sh;
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
diff --git a/mix.exs b/mix.exs
|
|
||||||
index f6e3b9a..67687d1 100644
|
|
||||||
--- a/mix.exs
|
|
||||||
+++ b/mix.exs
|
|
||||||
@@ -52,7 +52,7 @@ defmodule Plausible.MixProject do
|
|
||||||
[
|
|
||||||
{:bcrypt_elixir, "~> 2.0"},
|
|
||||||
{:cors_plug, "~> 1.5"},
|
|
||||||
- {:ecto_sql, "~> 3.0"},
|
|
||||||
+ {:ecto_sql, "~> 3.6"},
|
|
||||||
{:elixir_uuid, "~> 1.2"},
|
|
||||||
{:gettext, "~> 0.11"},
|
|
||||||
{:jason, "~> 1.0"},
|
|
@ -3,45 +3,55 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"deploy": "$(npm bin)/webpack --mode production",
|
"deploy": "$(npm bin)/webpack --mode production",
|
||||||
"watch": "$(npm bin)/webpack --mode development --watch"
|
"watch": "$(npm bin)/webpack --mode development --watch",
|
||||||
|
"format": "$(npm bin)/prettier --write {css,js}/**",
|
||||||
|
"check-format": "$(npm bin)/prettier --check {css,js}/**",
|
||||||
|
"lint": "$(npm bin)/eslint js/**"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/core": "^7.11.1",
|
"@babel/core": "^7.14.3",
|
||||||
"@babel/preset-env": "^7.11.0",
|
"@babel/preset-env": "^7.14.4",
|
||||||
"@babel/preset-react": "^7.10.4",
|
"@babel/preset-react": "^7.13.13",
|
||||||
"@tailwindcss/aspect-ratio": "^0.2.0",
|
"@headlessui/react": "^1.3.0",
|
||||||
"@tailwindcss/forms": "^0.2.1",
|
"@heroicons/react": "^1.0.1",
|
||||||
"@tailwindcss/typography": "^0.3.1",
|
"@juggle/resize-observer": "^3.3.1",
|
||||||
"abortcontroller-polyfill": "^1.5.0",
|
"@kunukn/react-collapse": "^2.2.9",
|
||||||
"alpinejs": "^2.7.3",
|
"@tailwindcss/aspect-ratio": "^0.2.1",
|
||||||
"autoprefixer": "^9.8.6",
|
"@tailwindcss/forms": "^0.3.2",
|
||||||
"babel-loader": "^8.1.0",
|
"@tailwindcss/typography": "^0.4.1",
|
||||||
"chart.js": "^2.9.3",
|
"abortcontroller-polyfill": "^1.7.3",
|
||||||
"copy-webpack-plugin": "^6.0.3",
|
"alpinejs": "^2.8.2",
|
||||||
"css-loader": "^3.6.0",
|
"autoprefixer": "^10.2.6",
|
||||||
|
"babel-loader": "^8.2.2",
|
||||||
|
"chart.js": "^3.3.2",
|
||||||
|
"classnames": "^2.3.1",
|
||||||
|
"copy-webpack-plugin": "^9.0.0",
|
||||||
|
"css-loader": "^5.2.6",
|
||||||
|
"css-minimizer-webpack-plugin": "^3.0.1",
|
||||||
"datamaps": "^0.5.9",
|
"datamaps": "^0.5.9",
|
||||||
"iframe-resizer": "^4.3.1",
|
"debounce-promise": "^3.1.2",
|
||||||
"mini-css-extract-plugin": "^0.8.2",
|
"downshift": "^6.1.3",
|
||||||
"optimize-css-assets-webpack-plugin": "^5.0.3",
|
"iframe-resizer": "^4.3.2",
|
||||||
|
"mini-css-extract-plugin": "^1.6.0",
|
||||||
"phoenix": "file:../../tmp/deps/phoenix",
|
"phoenix": "file:../../tmp/deps/phoenix",
|
||||||
"phoenix_html": "file:../../tmp/deps/phoenix_html",
|
"phoenix_html": "file:../../tmp/deps/phoenix_html",
|
||||||
"postcss": "^7.0.35",
|
"postcss": "^8.3.0",
|
||||||
"postcss-loader": "^4.0.4",
|
"postcss-loader": "^6.1.1",
|
||||||
"react": "^16.13.1",
|
"react": "^16.13.1",
|
||||||
"react-dom": "^16.13.1",
|
"react-dom": "^16.13.1",
|
||||||
"react-flatpickr": "^3.10.5",
|
"react-flatpickr": "3.10.5",
|
||||||
"react-flip-move": "^3.0.4",
|
"react-flip-move": "^3.0.4",
|
||||||
"react-router-dom": "^5.2.0",
|
"react-router-dom": "^5.2.0",
|
||||||
"react-transition-group": "^4.4.1",
|
"react-transition-group": "^4.4.2",
|
||||||
"tailwindcss": "2.0.1-compat",
|
"tailwindcss": "^2.1.2",
|
||||||
"terser-webpack-plugin": "^4.2.3",
|
"terser-webpack-plugin": "^5.1.2",
|
||||||
"url-search-params-polyfill": "^8.0.0",
|
"url-search-params-polyfill": "^8.1.1",
|
||||||
"webpack": "4.39.2",
|
"webpack": "5.38.1",
|
||||||
"webpack-cli": "^3.3.12"
|
"webpack-cli": "^4.7.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"babel-eslint": "^10.1.0",
|
||||||
"eslint": "^7.2.0",
|
"eslint": "^7.2.0",
|
||||||
"eslint-config-airbnb": "^18.2.0",
|
|
||||||
"eslint-config-prettier": "^7.0.0",
|
"eslint-config-prettier": "^7.0.0",
|
||||||
"eslint-plugin-import": "^2.22.1",
|
"eslint-plugin-import": "^2.22.1",
|
||||||
"eslint-plugin-jsx-a11y": "^6.4.1",
|
"eslint-plugin-jsx-a11y": "^6.4.1",
|
||||||
@ -50,8 +60,9 @@
|
|||||||
"eslint-plugin-react-hooks": "^4.2.0",
|
"eslint-plugin-react-hooks": "^4.2.0",
|
||||||
"stylelint": "^13.8.0",
|
"stylelint": "^13.8.0",
|
||||||
"stylelint-config-prettier": "^8.0.2",
|
"stylelint-config-prettier": "^8.0.2",
|
||||||
"stylelint-config-standard": "^20.0.0"
|
"stylelint-config-standard": "^20.0.0",
|
||||||
|
"webpack-bundle-analyzer": "^4.4.2"
|
||||||
},
|
},
|
||||||
"name": "plausible",
|
"name": "plausible",
|
||||||
"version": "v1.3.0"
|
"version": "v1.4.0"
|
||||||
}
|
}
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
From 127a77882879e5cdf32d908ee3b1b6cbdc9e482e Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= <mail@nh2.me>
|
|
||||||
Date: Wed, 14 Jul 2021 01:20:29 +0200
|
|
||||||
Subject: [PATCH] Bump `clickhouse_ecto` dependency to be compatible with ecto
|
|
||||||
3.6
|
|
||||||
|
|
||||||
---
|
|
||||||
mix.lock | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/mix.lock b/mix.lock
|
|
||||||
index ecae8ac..d42af1e 100644
|
|
||||||
--- a/mix.lock
|
|
||||||
+++ b/mix.lock
|
|
||||||
@@ -12,7 +12,7 @@
|
|
||||||
"bunt": {:hex, :bunt, "0.2.0", "951c6e801e8b1d2cbe58ebbd3e616a869061ddadcc4863d0a2182541acae9a38", [:mix], [], "hexpm", "7af5c7e09fe1d40f76c8e4f9dd2be7cebd83909f31fee7cd0e9eadc567da8353"},
|
|
||||||
"cachex": {:hex, :cachex, "3.3.0", "6f2ebb8f27491fe39121bd207c78badc499214d76c695658b19d6079beeca5c2", [:mix], [{:eternal, "~> 1.2", [hex: :eternal, repo: "hexpm", optional: false]}, {:jumper, "~> 1.0", [hex: :jumper, repo: "hexpm", optional: false]}, {:sleeplocks, "~> 1.1", [hex: :sleeplocks, repo: "hexpm", optional: false]}, {:unsafe, "~> 1.0", [hex: :unsafe, repo: "hexpm", optional: false]}], "hexpm", "d90e5ee1dde14cef33f6b187af4335b88748b72b30c038969176cd4e6ccc31a1"},
|
|
||||||
"certifi": {:hex, :certifi, "2.6.1", "dbab8e5e155a0763eea978c913ca280a6b544bfa115633fa20249c3d396d9493", [:rebar3], [], "hexpm", "524c97b4991b3849dd5c17a631223896272c6b0af446778ba4675a1dff53bb7e"},
|
|
||||||
- "clickhouse_ecto": {:git, "https://github.com/plausible/clickhouse_ecto.git", "b30ccc93a4101a25ff0bba92113e18d8a9a8b28e", []},
|
|
||||||
+ "clickhouse_ecto": {:git, "https://github.com/plausible/clickhouse_ecto.git", "1969f14ecef7c357b2bd8bdc3e566234269de58c", []},
|
|
||||||
"clickhousex": {:git, "https://github.com/plausible/clickhousex", "0832dd4b1af1f0eba1d1018c231bf0d8d281f031", []},
|
|
||||||
"combine": {:hex, :combine, "0.10.0", "eff8224eeb56498a2af13011d142c5e7997a80c8f5b97c499f84c841032e429f", [:mix], [], "hexpm", "1b1dbc1790073076580d0d1d64e42eae2366583e7aecd455d1215b0d16f2451b"},
|
|
||||||
"comeonin": {:hex, :comeonin, "5.3.2", "5c2f893d05c56ae3f5e24c1b983c2d5dfb88c6d979c9287a76a7feb1e1d8d646", [:mix], [], "hexpm", "d0993402844c49539aeadb3fe46a3c9bd190f1ecf86b6f9ebd71957534c95f04"},
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
|||||||
diff --git a/config/runtime.exs b/config/runtime.exs
|
|
||||||
index 7c9cc14..8facd05 100644
|
|
||||||
--- a/config/runtime.exs
|
|
||||||
+++ b/config/runtime.exs
|
|
||||||
@@ -15,9 +15,7 @@ end
|
|
||||||
base_url = URI.parse(base_url)
|
|
||||||
|
|
||||||
if base_url.scheme not in ["http", "https"] do
|
|
||||||
- raise "BASE_URL must start with `http` or `https`. Currently configured as `#{
|
|
||||||
- System.get_env("BASE_URL")
|
|
||||||
- }`"
|
|
||||||
+ raise "BASE_URL must start with `http` or `https`. Currently configured as `#{System.get_env("BASE_URL")}`"
|
|
||||||
end
|
|
||||||
|
|
||||||
secret_key_base =
|
|
||||||
@@ -300,3 +298,5 @@ if appsignal_api_key do
|
|
||||||
env: env,
|
|
||||||
active: true
|
|
||||||
end
|
|
||||||
+
|
|
||||||
+config :tzdata, :data_dir, System.get_env("TZDATA_DIR", "priv")
|
|
@ -6,9 +6,6 @@
|
|||||||
#
|
#
|
||||||
# * Add correct `name`/`version` field to `package.json`, otherwise `yarn2nix` fails to
|
# * Add correct `name`/`version` field to `package.json`, otherwise `yarn2nix` fails to
|
||||||
# find required dependencies.
|
# find required dependencies.
|
||||||
# * Keep `tailwindcss` on version 2.0.1-compat (on `yarn` it will be upgraded due to the `^`).
|
|
||||||
# This is needed to make sure the entire build still works with `postcss-7` (needed
|
|
||||||
# by plausible).
|
|
||||||
# * Adjust `file:`-dependencies a bit for the structure inside a Nix build.
|
# * Adjust `file:`-dependencies a bit for the structure inside a Nix build.
|
||||||
# * Update hashes for the tarball & the fixed-output drv with all `mix`-dependencies.
|
# * Update hashes for the tarball & the fixed-output drv with all `mix`-dependencies.
|
||||||
# * Generate `yarn.lock` & `yarn.nix` in a temporary directory.
|
# * Generate `yarn.lock` & `yarn.nix` in a temporary directory.
|
||||||
@ -29,10 +26,9 @@ fi
|
|||||||
SRC="https://raw.githubusercontent.com/plausible/analytics/${latest}"
|
SRC="https://raw.githubusercontent.com/plausible/analytics/${latest}"
|
||||||
|
|
||||||
package_json="$(curl -qf "$SRC/assets/package.json")"
|
package_json="$(curl -qf "$SRC/assets/package.json")"
|
||||||
export fixed_tailwind_version="$(jq '.dependencies.tailwindcss' -r <<< "$package_json" | sed -e 's,^^,,g')"
|
|
||||||
|
|
||||||
echo "$package_json" \
|
echo "$package_json" \
|
||||||
| jq '. + {"name":"plausible","version": $ENV.latest} | .dependencies.tailwindcss = $ENV.fixed_tailwind_version' \
|
| jq '. + {"name":"plausible","version": $ENV.latest}' \
|
||||||
| sed -e 's,../deps/,../../tmp/deps/,g' \
|
| sed -e 's,../deps/,../../tmp/deps/,g' \
|
||||||
> $dir/package.json
|
> $dir/package.json
|
||||||
|
|
||||||
@ -58,7 +54,6 @@ cp -r "$(nix-build -A plausible.mixFodDeps)" "$tmp_setup_dir/deps"
|
|||||||
chmod -R u+rwx "$tmp_setup_dir"
|
chmod -R u+rwx "$tmp_setup_dir"
|
||||||
|
|
||||||
pushd $tmp_setup_dir/assets
|
pushd $tmp_setup_dir/assets
|
||||||
jq < package.json '.dependencies.tailwindcss = "'"$fixed_tailwind_version"'"' | sponge package.json
|
|
||||||
yarn
|
yarn
|
||||||
yarn2nix > "$dir/yarn.nix"
|
yarn2nix > "$dir/yarn.nix"
|
||||||
cp yarn.lock "$dir/yarn.lock"
|
cp yarn.lock "$dir/yarn.lock"
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user