Merge pull request #276503 from 0x4A6F/master-nixfmt-rfc-style
nixfmt-rfc-style: init at unstable-2024-01-15
This commit is contained in:
commit
14a0c72bf9
@ -307,6 +307,20 @@ with lib.maintainers; {
|
|||||||
shortName = "Flying Circus employees";
|
shortName = "Flying Circus employees";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
formatter = {
|
||||||
|
members = [
|
||||||
|
piegames
|
||||||
|
infinisil
|
||||||
|
das_j
|
||||||
|
tomberek
|
||||||
|
_0x4A6F
|
||||||
|
# Not in the maintainer list
|
||||||
|
# Sereja313
|
||||||
|
];
|
||||||
|
scope = "Tentative Nix formatter team to be established in https://github.com/NixOS/rfcs/pull/166";
|
||||||
|
shortName = "Nix formatter team";
|
||||||
|
};
|
||||||
|
|
||||||
freedesktop = {
|
freedesktop = {
|
||||||
members = [ jtojnar ];
|
members = [ jtojnar ];
|
||||||
scope = "Maintain Freedesktop.org packages for graphical desktop.";
|
scope = "Maintain Freedesktop.org packages for graphical desktop.";
|
||||||
|
1
pkgs/by-name/ni/nixfmt-rfc-style/date.txt
Normal file
1
pkgs/by-name/ni/nixfmt-rfc-style/date.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
2024-01-15
|
27
pkgs/by-name/ni/nixfmt-rfc-style/generated-package.nix
Normal file
27
pkgs/by-name/ni/nixfmt-rfc-style/generated-package.nix
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# This file has been autogenerate with cabal2nix.
|
||||||
|
# Update via ./update.sh
|
||||||
|
{ mkDerivation, base, cmdargs, directory, fetchzip, filepath, lib
|
||||||
|
, megaparsec, mtl, parser-combinators, safe-exceptions, scientific
|
||||||
|
, text, transformers, unix
|
||||||
|
}:
|
||||||
|
mkDerivation {
|
||||||
|
pname = "nixfmt";
|
||||||
|
version = "0.5.0";
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://github.com/piegamesde/nixfmt/archive/1eff7a84ac82fbebb5f586244f1c80e1fcc4f494.tar.gz";
|
||||||
|
sha256 = "1pg876sr58h7v087kbjsnfr4pzvqpwzibl06w2468qs1sywmd283";
|
||||||
|
};
|
||||||
|
isLibrary = true;
|
||||||
|
isExecutable = true;
|
||||||
|
libraryHaskellDepends = [
|
||||||
|
base megaparsec mtl parser-combinators scientific text transformers
|
||||||
|
];
|
||||||
|
executableHaskellDepends = [
|
||||||
|
base cmdargs directory filepath safe-exceptions text unix
|
||||||
|
];
|
||||||
|
jailbreak = true;
|
||||||
|
homepage = "https://github.com/serokell/nixfmt";
|
||||||
|
description = "An opinionated formatter for Nix";
|
||||||
|
license = lib.licenses.mpl20;
|
||||||
|
mainProgram = "nixfmt";
|
||||||
|
}
|
32
pkgs/by-name/ni/nixfmt-rfc-style/package.nix
Normal file
32
pkgs/by-name/ni/nixfmt-rfc-style/package.nix
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
haskell,
|
||||||
|
haskellPackages,
|
||||||
|
lib,
|
||||||
|
runCommand,
|
||||||
|
nixfmt-rfc-style,
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (haskell.lib.compose) overrideCabal justStaticExecutables;
|
||||||
|
|
||||||
|
overrides = {
|
||||||
|
version = "unstable-${lib.fileContents ./date.txt}";
|
||||||
|
|
||||||
|
passthru.updateScript = ./update.sh;
|
||||||
|
|
||||||
|
maintainers = lib.teams.formatter.members;
|
||||||
|
|
||||||
|
# These tests can be run with the following command.
|
||||||
|
#
|
||||||
|
# $ nix-build -A nixfmt-rfc-style.tests
|
||||||
|
passthru.tests =
|
||||||
|
runCommand "nixfmt-rfc-style-tests" { nativeBuildInputs = [ nixfmt-rfc-style ]; }
|
||||||
|
''
|
||||||
|
nixfmt --version > $out
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
raw-pkg = haskellPackages.callPackage ./generated-package.nix { };
|
||||||
|
in
|
||||||
|
lib.pipe raw-pkg [
|
||||||
|
(overrideCabal overrides)
|
||||||
|
justStaticExecutables
|
||||||
|
]
|
33
pkgs/by-name/ni/nixfmt-rfc-style/update.sh
Executable file
33
pkgs/by-name/ni/nixfmt-rfc-style/update.sh
Executable file
@ -0,0 +1,33 @@
|
|||||||
|
#!/usr/bin/env nix-shell
|
||||||
|
#!nix-shell -i bash -p cabal2nix curl jq
|
||||||
|
#
|
||||||
|
# This script will update the nixfmt-rfc-style derivation to the latest version using
|
||||||
|
# cabal2nix.
|
||||||
|
|
||||||
|
set -eo pipefail
|
||||||
|
|
||||||
|
# This is the directory of this update.sh script.
|
||||||
|
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
|
|
||||||
|
derivation_file="${script_dir}/generated-package.nix"
|
||||||
|
date_file="${script_dir}/date.txt"
|
||||||
|
|
||||||
|
# This is the latest version of nixfmt-rfc-style branch on GitHub.
|
||||||
|
new_version=$(curl --silent https://api.github.com/repos/piegamesde/nixfmt/git/refs/heads/rfc101-style | jq '.object.sha' --raw-output)
|
||||||
|
new_date=$(curl --silent https://api.github.com/repos/piegamesde/nixfmt/git/commits/"$new_version" | jq '.committer.date' --raw-output)
|
||||||
|
|
||||||
|
echo "Updating nixfmt-rfc-style to version $new_date."
|
||||||
|
echo "Running cabal2nix and outputting to ${derivation_file}..."
|
||||||
|
|
||||||
|
cat > "$derivation_file" << EOF
|
||||||
|
# This file has been autogenerate with cabal2nix.
|
||||||
|
# Update via ./update.sh
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cabal2nix --jailbreak \
|
||||||
|
"https://github.com/piegamesde/nixfmt/archive/${new_version}.tar.gz" \
|
||||||
|
>> "$derivation_file"
|
||||||
|
|
||||||
|
date --date="$new_date" -I > "$date_file"
|
||||||
|
|
||||||
|
echo "Finished."
|
Loading…
Reference in New Issue
Block a user