Compare commits
6 Commits
2a1a5ce8ee
...
a9d31f0532
Author | SHA1 | Date |
---|---|---|
teutat3s | a9d31f0532 | |
teutat3s | bc8d34f238 | |
teutat3s | e8d06d76e1 | |
teutat3s | 39b3da8433 | |
teutat3s | 6c293138fd | |
teutat3s | 19559562b2 |
52
flake.lock
52
flake.lock
|
@ -6,14 +6,15 @@
|
|||
"home-manager": "home-manager",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
],
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1689334118,
|
||||
"narHash": "sha256-djk5AZv1yU84xlKFaVHqFWvH73U7kIRstXwUAnDJPsk=",
|
||||
"lastModified": 1703433843,
|
||||
"narHash": "sha256-nmtA4KqFboWxxoOAA6Y1okHbZh+HsXaMPFkYHsoDRDw=",
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"rev": "0d8c5325fc81daf00532e3e26c6752f7bcde1143",
|
||||
"rev": "417caa847f9383e111d1397039c9d4337d024bf0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -30,11 +31,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1673295039,
|
||||
"narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=",
|
||||
"lastModified": 1700795494,
|
||||
"narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "87b9d090ad39b25b2400029c64825fc2a8868943",
|
||||
"rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -54,11 +55,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1688380630,
|
||||
"narHash": "sha256-8ilApWVb1mAi4439zS3iFeIT0ODlbrifm/fegWwgHjA=",
|
||||
"lastModified": 1701787589,
|
||||
"narHash": "sha256-ce+oQR4Zq9VOsLoh9bZT8Ip9PaMLcjjBUHVPzW5d7Cw=",
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"rev": "f9238ec3d75cefbb2b42a44948c4e8fb1ae9a205",
|
||||
"rev": "44ddedcbcfc2d52a76b64fb6122f209881bd3e1e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -75,11 +76,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1682203081,
|
||||
"narHash": "sha256-kRL4ejWDhi0zph/FpebFYhzqlOBrk0Pl3dzGEKSAlEw=",
|
||||
"lastModified": 1703113217,
|
||||
"narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "32d3e39c491e2f91152c84f8ad8b003420eab0a1",
|
||||
"rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -90,16 +91,16 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1689503327,
|
||||
"narHash": "sha256-qVwzYLA8oT2oWNDXO0A3bZHOhoPOihIB9T677+Hor1E=",
|
||||
"lastModified": 1704295289,
|
||||
"narHash": "sha256-9WZDRfpMqCYL6g/HNWVvXF0hxdaAgwgIGeLYiOhmes8=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f64b9738da8e86195766147e9752c67fccee006c",
|
||||
"rev": "b0b2c5445c64191fd8d0b31f2b1a34e45a64547d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-23.05",
|
||||
"ref": "nixos-23.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
|
@ -109,7 +110,7 @@
|
|||
"agenix": "agenix",
|
||||
"devshell": "devshell",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"systems": "systems"
|
||||
"systems": "systems_2"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
|
@ -126,6 +127,21 @@
|
|||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
description = "Dev Setup";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
|
||||
|
||||
systems.url = "github:nix-systems/default";
|
||||
|
||||
|
@ -26,6 +26,10 @@
|
|||
self.overlays.pythonOverlay
|
||||
agenix.overlays.default
|
||||
devshell.overlays.default
|
||||
# https://github.com/NixOS/nixpkgs/issues/265675#issuecomment-1846591842
|
||||
(final: prev: {
|
||||
pipewire = prev.pipewire.override { ffadoSupport = false; };
|
||||
})
|
||||
];
|
||||
}
|
||||
);
|
||||
|
@ -44,6 +48,7 @@
|
|||
# Add additional packages you'd like to be available in your devshell
|
||||
# PATH here
|
||||
devshell.packages = with pkgs; [
|
||||
jq
|
||||
];
|
||||
commands = [
|
||||
{
|
||||
|
|
|
@ -13,20 +13,13 @@ final: prev: {
|
|||
|
||||
# erpnext dependencies
|
||||
gocardless-pro = pyFinal.callPackage ./python/gocardless-pro.nix {};
|
||||
python-youtube = pyFinal.callPackage ./python/python-youtube.nix {};
|
||||
redisearch = pyFinal.callPackage ./python/redisearch.nix {};
|
||||
taxjar = pyFinal.callPackage ./python/taxjar.nix {};
|
||||
|
||||
# frappe dependencies
|
||||
email-reply-parser = pyFinal.callPackage ./python/email-reply-parser.nix {};
|
||||
git-url-parse = pyFinal.callPackage ./python/git-url-parse.nix {};
|
||||
maxminddb-geolite2 = pyFinal.callPackage ./python/maxminddb-geolite2.nix {};
|
||||
posthog = pyFinal.callPackage ./python/posthog.nix {};
|
||||
premailer = pyFinal.callPackage ./python/premailer.nix {};
|
||||
psycopg2-binary = pyFinal.callPackage ./python/psycopg2-binary.nix {};
|
||||
pypdf2 = pyFinal.callPackage ./python/pypdf2.nix {};
|
||||
pypika = pyFinal.callPackage ./python/pypika.nix {};
|
||||
rauth = pyFinal.callPackage ./python/rauth.nix {};
|
||||
traceback-with-variables = pyFinal.callPackage ./python/traceback-with-variables.nix {};
|
||||
|
||||
# indirect dependencies
|
||||
|
@ -36,15 +29,6 @@ final: prev: {
|
|||
rejson = pyFinal.callPackage ./python/rejson.nix {};
|
||||
|
||||
|
||||
|
||||
bleach = pyPrev.bleach.overridePythonAttrs (oldAttrs: (rec {
|
||||
version = "3.3.1";
|
||||
src = pyPrev.fetchPypi {
|
||||
inherit version;
|
||||
inherit (oldAttrs) pname;
|
||||
sha256 = "sha256-MGSDpal5VHQWCtV/zj3dG1BVHpge7Y4VpYLTTO8oqvo=";
|
||||
};
|
||||
}));
|
||||
plaid-python = pyPrev.plaid-python.overridePythonAttrs (oldAttrs: (rec {
|
||||
version = "7.2.1";
|
||||
src = pyPrev.fetchPypi {
|
||||
|
@ -57,16 +41,6 @@ final: prev: {
|
|||
# Integration tests require API keys and internet access
|
||||
checkPhase = "pyPrev.test -rxs ./tests/unit";
|
||||
}));
|
||||
tweepy = pyPrev.tweepy.overridePythonAttrs (oldAttrs: (rec {
|
||||
version = "3.10.0";
|
||||
src = pyPrev.fetchPypi {
|
||||
inherit version;
|
||||
inherit (oldAttrs) pname;
|
||||
sha256 = "sha256-duaVS4BspHDdqHf1fbh5L/8GoL66DtQ+/DgFdx458Go=";
|
||||
};
|
||||
doCheck = false;
|
||||
pythonImportsCheck = [];
|
||||
}));
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pythonRelaxDepsHook
|
||||
, flit-core
|
||||
|
||||
# Core dependencies
|
||||
, pycountry
|
||||
|
@ -34,9 +35,9 @@ buildPythonPackage rec {
|
|||
sha256 = erpnextSrcHash;
|
||||
};
|
||||
|
||||
format = "flit";
|
||||
format = "pyproject";
|
||||
|
||||
nativeBuildInputs = [ pythonRelaxDepsHook ];
|
||||
nativeBuildInputs = [ pythonRelaxDepsHook flit-core ];
|
||||
pythonRelaxDeps = [
|
||||
"pycountry"
|
||||
"rapidfuzz"
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
, buildPythonPackage
|
||||
, pythonRelaxDepsHook
|
||||
, fetchFromGitHub
|
||||
, flit-core
|
||||
|
||||
# Core dependencies
|
||||
, babel
|
||||
|
@ -96,9 +97,9 @@ buildPythonPackage rec {
|
|||
sha256 = frappeSrcHash;
|
||||
};
|
||||
|
||||
format = "flit";
|
||||
format = "pyproject";
|
||||
|
||||
nativeBuildInputs = [ pythonRelaxDepsHook ];
|
||||
nativeBuildInputs = [ pythonRelaxDepsHook flit-core ];
|
||||
pythonRelaxDeps = [
|
||||
"Babel"
|
||||
"beautifulsoup4"
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
{ buildPythonPackage
|
||||
, fetchPypi
|
||||
, pbr
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "git-url-parse";
|
||||
version = "1.2.2";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-e19OOusdaTr+7mejvUrAY/cgbC6ORuVZ8NoNqYRF8Rc=";
|
||||
};
|
||||
propagatedBuildInputs = [pbr];
|
||||
doCheck = false;
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
{ buildPythonPackage
|
||||
, fetchPypi
|
||||
, backoff
|
||||
, monotonic
|
||||
, python-dateutil
|
||||
, requests
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "posthog";
|
||||
version = "3.0.1";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-V9J5H/V1LOVroPm7iHb688qSCPHCxs6utaJQTDRJN2c=";
|
||||
};
|
||||
propagatedBuildInputs = [
|
||||
backoff
|
||||
monotonic
|
||||
python-dateutil
|
||||
requests
|
||||
];
|
||||
doCheck = false;
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
{ buildPythonPackage
|
||||
, fetchPypi
|
||||
, cssselect
|
||||
, cssutils
|
||||
, lxml
|
||||
, mock
|
||||
, nose
|
||||
, requests
|
||||
, cachetools
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "premailer";
|
||||
version = "3.8.0";
|
||||
|
||||
buildInputs = [ mock nose ];
|
||||
propagatedBuildInputs = [ cachetools cssselect cssutils lxml requests ];
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-TU4VckTO6UWgDBT+qp5qOusvryYj/2qLoIr99QX6DyU=";
|
||||
};
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "PyPDF2";
|
||||
version = "2.1.1";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-Vy8TFLZDMGed1vtwN4H+M9Dyi1n7LP661efrntypJzg=";
|
||||
};
|
||||
propagatedBuildInputs = [];
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "pypika";
|
||||
version = "0.48.9";
|
||||
src = fetchPypi {
|
||||
pname = "PyPika";
|
||||
inherit version;
|
||||
sha256 = "sha256-g4g2phdH58g4DNG3/2OGlLenM1NF0PVZsEss2DKtU3g=";
|
||||
};
|
||||
propagatedBuildInputs = [];
|
||||
doCheck = false;
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
{
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
|
||||
requests,
|
||||
dataclasses-json,
|
||||
isodate,
|
||||
requests-oauthlib
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "python-youtube";
|
||||
version = "0.8.0";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-Ud0Y+lmsK88SNh0uIjhOHgCgCG+SBv/FQkt3yc63tlo=";
|
||||
};
|
||||
|
||||
# PyPI doesn't have test data in the source dist
|
||||
doCheck = false;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
requests
|
||||
dataclasses-json
|
||||
isodate
|
||||
requests-oauthlib
|
||||
];
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
{ buildPythonPackage
|
||||
, fetchPypi
|
||||
, requests
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "rauth";
|
||||
version = "0.7.3";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-UkzbwcKFYOrPyanUDFlSXrjQD98H+62GEH6iRBFHewo=";
|
||||
};
|
||||
propagatedBuildInputs = [requests];
|
||||
doCheck = false;
|
||||
}
|
|
@ -2,13 +2,14 @@ let
|
|||
# set ssh public keys here for your system and user
|
||||
machines = {
|
||||
dumpyourvms = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILDATEWAgDZFfYs1ZPh33Kg4sqQ9tWMVKyk8XqFu3Koe host@dumpyourvms";
|
||||
test-vm = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH/oRgbesMS5rTPGeP2PYtBC7bYCqrmDJxfWRRAAxN8Z host@test-vm";
|
||||
ryzensun = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH/l7MfEmt510BMeNjuXNPmZ0brcQidvrrpcea+qJMjX host@ryzensun";
|
||||
test-vm = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIATdaeRzb/OE1P+lcRS/i9C4yIN11J5zpfVb7+v1D4d7";
|
||||
};
|
||||
users = {
|
||||
teutat3s = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHcU6KPy4b1MQXd6EJhcYwbJu7E+0IrBZF/IP6T7gbMf teutat3s@dumpyourvms";
|
||||
root = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHcU6KPy4b1MQXd6EJhcYwbJu7E+0IrBZF/IP6T7gbMf root@test-vm";
|
||||
};
|
||||
allKeys = [machines.dumpyourvms machines.test-vm users.root users.teutat3s];
|
||||
allKeys = [machines.dumpyourvms machines.ryzensun machines.test-vm users.root users.teutat3s];
|
||||
in {
|
||||
"admin-password.age".publicKeys = allKeys;
|
||||
"database-root-password.age".publicKeys = allKeys;
|
||||
|
|
14
srcs/pin.nix
14
srcs/pin.nix
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
benchVersion = "5.16.4";
|
||||
erpnextVersion = "14.30.6";
|
||||
frappeVersion = "14.40.3";
|
||||
benchVersion = "5.19.0";
|
||||
erpnextVersion = "14.58.1";
|
||||
frappeVersion = "15.8.1";
|
||||
hashes = {
|
||||
"benchSrcHash" = "nIEFTCiyjfkCtpeeoQY+9zfoHQXZ5NOgXgLaz5ki150=";
|
||||
"erpnextSrcHash" = "E+1vW73a3dp0YIVM0Ybt55DEi/7kDIKB4xTac+D49l4=";
|
||||
"benchSrcHash" = "sha256-y8nx4vFVQggwGv2MWQ88WczgVbPxPybZV38FF5u5aWI=";
|
||||
"erpnextSrcHash" = "sha256-HeeNd7dAlbppR2gPPmohKqpUUoMx5f0Kgsd7wZtUHp8=";
|
||||
"erpnextYarnHash" = "0rjqlw0lff1wwbzl62g8nnjlhz3km2km3vqj2dccawpi4q2kh6jn";
|
||||
"frappeSrcHash" = "byzPj4kJRgU1Fs5wyr9FZU2NyoxX0qePNY/KicEvGcY=";
|
||||
"frappeYarnHash" = "0az1kdqcwmpzryrdg6ag4q5pqxy67vcns654d888l9307x9lq5rw";
|
||||
"frappeSrcHash" = "sha256-FDUUNbULPmMY6dDgbMHrxXD8pK1AP+T7kG7mY9MmMDg=";
|
||||
"frappeYarnHash" = "0rj2v69siagwjz632hyaii5ni24fp434cznaxpi8978fq07qx6l9";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p nix wget prefetch-yarn-deps nix-prefetch-github
|
||||
#!nix-shell -i bash -p nix wget prefetch-yarn-deps nix-prefetch-github jq
|
||||
|
||||
if [ "$#" -gt 3 ] || [[ "$1" == -* ]]; then
|
||||
echo "Regenerates packaging data for the ERPNext packages."
|
||||
|
@ -14,13 +14,13 @@ frappe_version="$3"
|
|||
set -euo pipefail
|
||||
|
||||
if [ -z "$bench_version" ]; then
|
||||
bench_version="$(wget -q -O- "https://api.github.com/repos/frappe/bench/releases?per_page=1" | jq -r '.[0].tag_name')"
|
||||
bench_version="$(wget --quiet --output-document=- "https://api.github.com/repos/frappe/bench/releases?per_page=1" | jq --raw-output '.[0].tag_name')"
|
||||
fi
|
||||
if [ -z "$erpnext_version" ]; then
|
||||
erpnext_version="$(wget -q -O- "https://api.github.com/repos/frappe/erpnext/releases?per_page=1" | jq -r '.[0].tag_name')"
|
||||
erpnext_version="$(wget --quiet --output-document=- "https://api.github.com/repos/frappe/erpnext/releases?per_page=1" | jq --raw-output '.[0].tag_name')"
|
||||
fi
|
||||
if [ -z "$frappe_version" ]; then
|
||||
frappe_version="$(wget -q -O- "https://api.github.com/repos/frappe/frappe/releases?per_page=1" | jq -r '.[0].tag_name')"
|
||||
frappe_version="$(wget --quiet --output-document=- "https://api.github.com/repos/frappe/frappe/releases?per_page=1" | jq --raw-output '.[0].tag_name')"
|
||||
fi
|
||||
|
||||
# strip leading "v"
|
||||
|
@ -29,32 +29,38 @@ erpnext_version="${erpnext_version#v}"
|
|||
frappe_version="${frappe_version#v}"
|
||||
|
||||
# Bench
|
||||
bench_src_hash=$(nix-prefetch-github frappe bench --rev "v${bench_version}" | jq -r .sha256)
|
||||
echo "Prefetching bench source version $bench_version from GitHub ..."
|
||||
bench_src_hash=$(nix-prefetch-github frappe bench --rev "v${bench_version}" | jq --raw-output .hash)
|
||||
|
||||
# Erpnext
|
||||
echo "Prefetching erpnext source version $erpnext_version from GitHub ..."
|
||||
erpnext_src="https://raw.githubusercontent.com/frappe/erpnext/v$erpnext_version"
|
||||
erpnext_src_hash="$(nix-prefetch-github frappe erpnext --rev "v${erpnext_version}" | jq -r .sha256)"
|
||||
erpnext_src_hash="$(nix-prefetch-github frappe erpnext --rev "v${erpnext_version}" | jq --raw-output .hash)"
|
||||
|
||||
erpnext_tmpdir=$(mktemp -d)
|
||||
erpnext_tmpdir=$(mktemp --directory)
|
||||
trap 'rm -rf "$erpnext_tmpdir"' EXIT
|
||||
|
||||
pushd "$erpnext_tmpdir"
|
||||
wget -q "$erpnext_src/yarn.lock"
|
||||
pushd "$erpnext_tmpdir" &> /dev/null
|
||||
wget --quiet "$erpnext_src/yarn.lock"
|
||||
echo "Prefetching erpnext yarn dependencies ..."
|
||||
erpnext_yarn_hash=$(prefetch-yarn-deps yarn.lock)
|
||||
popd
|
||||
popd &> /dev/null
|
||||
|
||||
# Frappe
|
||||
echo "Prefetching frappe source version $frappe_version from GitHub ..."
|
||||
frappe_src="https://raw.githubusercontent.com/frappe/frappe/v$frappe_version"
|
||||
frappe_src_hash="$(nix-prefetch-github frappe frappe --rev "v${frappe_version}" | jq -r .sha256)"
|
||||
frappe_src_hash="$(nix-prefetch-github frappe frappe --rev "v${frappe_version}" | jq --raw-output .hash)"
|
||||
|
||||
frappe_tmpdir=$(mktemp -d)
|
||||
frappe_tmpdir=$(mktemp --directory)
|
||||
trap 'rm -rf "$frappe_tmpdir"' EXIT
|
||||
|
||||
pushd "$frappe_tmpdir"
|
||||
wget -q "$frappe_src/yarn.lock"
|
||||
pushd "$frappe_tmpdir" &> /dev/null
|
||||
wget --quiet "$frappe_src/yarn.lock"
|
||||
echo "Prefetching frappe yarn dependencies ..."
|
||||
frappe_yarn_hash=$(prefetch-yarn-deps yarn.lock)
|
||||
popd
|
||||
popd &> /dev/null
|
||||
|
||||
echo "Saving updated versions and hashes to pin.nix file ..."
|
||||
cat > pin.nix << EOF
|
||||
{
|
||||
benchVersion = "$bench_version";
|
||||
|
|
73
update.sh
73
update.sh
|
@ -1,73 +0,0 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -I nixpkgs=../../../../../ -i bash -p nix wget prefetch-yarn-deps nix-prefetch-github
|
||||
|
||||
if [ "$#" -gt 1 ] || [[ "$1" == -* ]]; then
|
||||
echo "Regenerates packaging data for the ERPNext packages."
|
||||
echo "Usage: $0 [git bench release tag] $1 [git erpnext release tag] $2 [git frappe release tag]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
bench_version="$1"
|
||||
erpnext_version="$3"
|
||||
frappe_version="$2"
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
if [ -z "$bench_version" ]; then
|
||||
bench_version="$(wget -q -O- "https://api.github.com/repos/frappe/bench/releases?per_page=1" | jq -r '.[0].tag_name')"
|
||||
fi
|
||||
if [ -z "$erpnext_version" ]; then
|
||||
erpnext_version="$(wget -q -O- "https://api.github.com/repos/frappe/erpnext/releases?per_page=1" | jq -r '.[0].tag_name')"
|
||||
fi
|
||||
if [ -z "$frappe_version" ]; then
|
||||
frappe_version="$(wget -q -O- "https://api.github.com/repos/frappe/frappe/releases?per_page=1" | jq -r '.[0].tag_name')"
|
||||
fi
|
||||
|
||||
# strip leading "v"
|
||||
bench_version="${bench_version#v}"
|
||||
erpnext_version="${erpnext_version#v}"
|
||||
frappe_version="${frappe_version#v}"
|
||||
|
||||
# Bench
|
||||
bench_src_hash=$(nix-prefetch-github frappe bench --rev "v${bench_version}" | jq -r .sha256)
|
||||
|
||||
popd
|
||||
|
||||
# Erpnext
|
||||
erpnext_src="https://raw.githubusercontent.com/frappe/erpnext/v$erpnext_version"
|
||||
erpnext_src_hash="$(nix-prefetch-github frappe erpnext --rev "v${erpnext_version}" | jq -r .sha256)"
|
||||
|
||||
erpnext_tmpdir=$(mktemp -d)
|
||||
trap 'rm -rf "$erpnext_tmpdir"' EXIT
|
||||
|
||||
pushd "$erpnext_tmpdir"
|
||||
wget -q "$erpnext_src/yarn.lock"
|
||||
erpnext_yarn_hash=$(prefetch-yarn-deps yarn.lock)
|
||||
popd
|
||||
|
||||
# Frappe
|
||||
frappe_src="https://raw.githubusercontent.com/frappe/frappe/v$frappe_version"
|
||||
frappe_src_hash="$(nix-prefetch-github frappe frappe --rev "v${frappe_version}" | jq -r .sha256)"
|
||||
|
||||
frappe_tmpdir=$(mktemp -d)
|
||||
trap 'rm -rf "$frappe_tmpdir"' EXIT
|
||||
|
||||
pushd "$frappe_tmpdir"
|
||||
wget -q "$frappe_src/yarn.lock"
|
||||
frappe_yarn_hash=$(prefetch-yarn-deps yarn.lock)
|
||||
popd
|
||||
|
||||
cat > pin.nix << EOF
|
||||
{
|
||||
benchVersion = "$bench_version";
|
||||
erpnextVersion = "$erpnext_version";
|
||||
frappeVersion = "$frappe_version";
|
||||
hashes = {
|
||||
"benchSrcHash" = "$bench_src_hash";
|
||||
"erpnextSrcHash" = "$erpnext_src_hash";
|
||||
"erpnextYarnHash" = "$erpnext_yarn_hash";
|
||||
"frappeSrcHash" = "$frappe_src_hash";
|
||||
"frappeYarnHash" = "$frappe_yarn_hash";
|
||||
};
|
||||
}
|
||||
EOF
|
Loading…
Reference in New Issue