mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-09-29 03:10:19 +00:00
Merge release-23.05 into staging-next-23.05
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, makeWrapper
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, pkg-config, makeWrapper
|
||||
, SDL2, alsa-lib, libjack2, lhasa, perl, rtmidi, zlib, zziplib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@@ -12,6 +12,14 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "025fj34gq2kmkpwcswcyx7wdxb89vm944dh685zi4bxx0hz16vvk";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "CVE-2022-34927.patch";
|
||||
url = "https://github.com/milkytracker/MilkyTracker/commit/3a5474f9102cbdc10fbd9e7b1b2c8d3f3f45d91b.patch";
|
||||
hash = "sha256-YnN1Khcbct7iG7TdwxFU1XVCeKR/Zrhe+oMepvh8cRU=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# https://github.com/milkytracker/MilkyTracker/issues/262
|
||||
substituteInPlace CMakeLists.txt \
|
||||
|
||||
@@ -1,38 +1,45 @@
|
||||
{ callPackage, lib, stdenv, appimageTools, autoPatchelfHook, desktop-file-utils
|
||||
, fetchurl, libsecret }:
|
||||
{ lib, stdenv, fetchurl, dpkg, makeWrapper, electron, libsecret
|
||||
, desktop-file-utils , callPackage }:
|
||||
|
||||
let
|
||||
|
||||
srcjson = builtins.fromJSON (builtins.readFile ./src.json);
|
||||
version = srcjson.version;
|
||||
pname = "standardnotes";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
|
||||
|
||||
src = fetchurl (srcjson.appimage.${stdenv.hostPlatform.system} or throwSystem);
|
||||
in
|
||||
|
||||
appimageContents = appimageTools.extract {
|
||||
inherit name src;
|
||||
};
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook desktop-file-utils ];
|
||||
pname = "standardnotes";
|
||||
|
||||
in appimageTools.wrapType2 rec {
|
||||
inherit name src;
|
||||
src = fetchurl (srcjson.deb.${stdenv.hostPlatform.system} or throwSystem);
|
||||
|
||||
extraPkgs = pkgs: with pkgs; [
|
||||
libsecret
|
||||
];
|
||||
inherit (srcjson) version;
|
||||
|
||||
extraInstallCommands = ''
|
||||
# directory in /nix/store so readonly
|
||||
cd $out
|
||||
chmod -R +w $out
|
||||
mv $out/bin/${name} $out/bin/${pname}
|
||||
dontConfigure = true;
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper dpkg desktop-file-utils ];
|
||||
|
||||
unpackPhase = "dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin $out/share/standardnotes
|
||||
cp -R usr/share/{applications,icons} $out/share
|
||||
cp -R opt/Standard\ Notes/resources/app.asar $out/share/standardnotes/
|
||||
|
||||
makeWrapper ${electron}/bin/electron $out/bin/standardnotes \
|
||||
--add-flags $out/share/standardnotes/app.asar \
|
||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libsecret stdenv.cc.cc.lib ]}
|
||||
|
||||
# fixup and install desktop file
|
||||
${desktop-file-utils}/bin/desktop-file-install --dir $out/share/applications \
|
||||
--set-key Exec --set-value ${pname} ${appimageContents}/standard-notes.desktop
|
||||
ln -s ${appimageContents}/usr/share/icons share
|
||||
--set-key Exec --set-value standardnotes usr/share/applications/standard-notes.desktop
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = callPackage ./update.nix {};
|
||||
@@ -47,6 +54,6 @@ in appimageTools.wrapType2 rec {
|
||||
license = licenses.agpl3;
|
||||
maintainers = with maintainers; [ mgregoire chuangzhu squalus ];
|
||||
sourceProvenance = [ sourceTypes.binaryNativeCode ];
|
||||
platforms = builtins.attrNames srcjson.appimage;
|
||||
platforms = builtins.attrNames srcjson.deb;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"version": "3.154.1",
|
||||
"appimage": {
|
||||
"version": "3.162.8",
|
||||
"deb": {
|
||||
"x86_64-linux": {
|
||||
"url": "https://github.com/standardnotes/app/releases/download/%40standardnotes/desktop%403.154.1/standard-notes-3.154.1-linux-x86_64.AppImage",
|
||||
"hash": "sha512-eMKrRCMVEpgtKLuLTIIOkwDVKmkFFWqlAg2UXs+h8axQwKyEnnA6dGaWfQvE/NSQwgWvmZRJZNMUE2atTc9AAw=="
|
||||
"url": "https://github.com/standardnotes/app/releases/download/%40standardnotes/desktop%403.162.8/standard-notes-3.162.8-linux-amd64.deb",
|
||||
"hash": "sha512-XxSz1ZXCVzNBqX5BQ4nytFla1igEttV/pQ40r3HW6BQfy6yprQqmQ94OMJSx7kpfeQpxnwBMOUsA58QM3W7y1w=="
|
||||
},
|
||||
"aarch64-linux": {
|
||||
"url": "https://github.com/standardnotes/app/releases/download/%40standardnotes/desktop%403.154.1/standard-notes-3.154.1-linux-arm64.AppImage",
|
||||
"hash": "sha512-6EllhNEaLPL/5Nmt1NxtU6x6wi7DnU+k7oyr1HaLWMmkE673vQTyYW+fyFRrxnyBUlmjG4i+ztWYEzxN8CBlqg=="
|
||||
"url": "https://github.com/standardnotes/app/releases/download/%40standardnotes/desktop%403.162.8/standard-notes-3.162.8-linux-arm64.deb",
|
||||
"hash": "sha512-Y1+89UaPfB+UKiVg3JWo3zwH1rFnjdKuU1CBwIjMblzf1775gEMXicU0n+6FpWTphcVmEeah9VISoq0oBHNHtg=="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ writeScript "update-standardnotes" ''
|
||||
fi
|
||||
|
||||
function getDownloadUrl() {
|
||||
jq -r ".assets[] | select(.name==\"standard-notes-$newVersion-$1.AppImage\") | .browser_download_url" < "$jsonPath"
|
||||
jq -r ".assets[] | select(.name==\"standard-notes-$newVersion-$1.deb\") | .browser_download_url" < "$jsonPath"
|
||||
}
|
||||
|
||||
function setJsonKey() {
|
||||
@@ -44,11 +44,11 @@ writeScript "update-standardnotes" ''
|
||||
url=$(getDownloadUrl "$upstreamPlatform")
|
||||
hash=$(nix-prefetch-url "$url" --type sha512)
|
||||
sriHash=$(nix hash to-sri --type sha512 $hash)
|
||||
setJsonKey .appimage[\""$nixPlatform"\"].url "$url"
|
||||
setJsonKey .appimage[\""$nixPlatform"\"].hash "$sriHash"
|
||||
setJsonKey .deb[\""$nixPlatform"\"].url "$url"
|
||||
setJsonKey .deb[\""$nixPlatform"\"].hash "$sriHash"
|
||||
}
|
||||
|
||||
updatePlatform x86_64-linux linux-x86_64
|
||||
updatePlatform x86_64-linux linux-amd64
|
||||
updatePlatform aarch64-linux linux-arm64
|
||||
setJsonKey .version "$newVersion"
|
||||
''
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, dpkg
|
||||
, electron_16
|
||||
, electron_24
|
||||
, makeWrapper
|
||||
, nixosTests
|
||||
, nodePackages
|
||||
@@ -12,13 +12,13 @@
|
||||
let
|
||||
inherit (stdenv.hostPlatform) system;
|
||||
|
||||
version = "3.1.0";
|
||||
version = "3.3.0";
|
||||
|
||||
systemArgs = rec {
|
||||
x86_64-linux = rec {
|
||||
src = fetchurl {
|
||||
url = "https://download.breitbandmessung.de/bbm/Breitbandmessung-${version}-linux.deb";
|
||||
sha256 = "sha256-jSP+H9ej9Wd+swBZSy9uMi2ExSTZ191FGZhqaocTl7w=";
|
||||
sha256 = "sha256-12mbdxklje9msnRtNk1RAtIg3OCybev/vUersDZj2i4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -49,7 +49,7 @@ let
|
||||
}
|
||||
EOF
|
||||
|
||||
makeWrapper ${electron_16}/bin/electron $out/bin/breitbandmessung \
|
||||
makeWrapper ${electron_24}/bin/electron $out/bin/breitbandmessung \
|
||||
--add-flags $out/share/breitbandmessung/resources/build/electron.js
|
||||
|
||||
# Fix the desktop link
|
||||
@@ -61,7 +61,7 @@ let
|
||||
x86_64-darwin = {
|
||||
src = fetchurl {
|
||||
url = "https://download.breitbandmessung.de/bbm/Breitbandmessung-${version}-mac.dmg";
|
||||
sha256 = "sha256-2c8mDKJuHDSw7p52EKnJO5vr2kNTLU6r9pmGPANjE20=";
|
||||
sha256 = "sha256-a27R/N13i4qU2znTKz+LGxSdgSzJ0MzIHeiPHyRd65k=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ undmg ];
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"packageVersion": "114.0.2-1",
|
||||
"packageVersion": "115.0-1",
|
||||
"source": {
|
||||
"rev": "114.0.2-1",
|
||||
"sha256": "0snwwr15kd69p6xjbwcika8w04q0qgx6qmv5gy01y9gjc0hcv10q"
|
||||
"rev": "115.0-1",
|
||||
"sha256": "0bnimayxsd1f2h2jx123w3kwmvyw3yp0r25714bfaf70njnrzlmw"
|
||||
},
|
||||
"firefox": {
|
||||
"version": "114.0.2",
|
||||
"sha512": "1d514d09c6b964b96c6d52d54b89a89a92d53a6fe669e16a6370346c980db4d0ac6c502fa89219c71b680566b9eb982e9b3191c21f81d7326f34f6c837c0a872"
|
||||
"version": "115.0",
|
||||
"sha512": "ed5d150e4dfdc01026beb3ae502a0b04321dd130084fdef63afce79a8a7a4898741d08f77716ba720c24f31b9c732c00ad0f1cd408b35b5eb6601a10014fb1a2"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{ lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles, stdenv }:
|
||||
|
||||
let
|
||||
version = "2.0.0-rc.5";
|
||||
sha256 = "1akxmnbldsm7h4wf40jxsn56njdd5srkr6a3gsi223anl9c43gpx";
|
||||
manifestsSha256 = "1vra1vqw38r17fdkcj5a5rmifpdzi29z5qggzy4h9bqsqhxy488f";
|
||||
version = "2.0.0";
|
||||
sha256 = "1iqwdbn7kcrg1dh0zh75zk3gwjsxjisdrzxywjfkm9jcvb6ygs7m";
|
||||
manifestsSha256 = "1kyzgifvisykcj1hikbk7z9xwi5gj4pa19ngbkv7fcgv45clbj6s";
|
||||
|
||||
manifests = fetchzip {
|
||||
url =
|
||||
@@ -23,7 +23,7 @@ in buildGoModule rec {
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-kw1V2eFoqrTB+1dBQYqOopr7+AMY1OB80vM8UN4rsso=";
|
||||
vendorSha256 = "sha256-OH1Kn+VZARqQ1L26zdjEOYseMT9fY+QVDhN+F+h6GZw=";
|
||||
|
||||
postUnpack = ''
|
||||
cp -r ${manifests} source/cmd/flux/manifests
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
let
|
||||
versions = if stdenv.isLinux then {
|
||||
stable = "0.0.27";
|
||||
ptb = "0.0.43";
|
||||
ptb = "0.0.44";
|
||||
canary = "0.0.162";
|
||||
development = "0.0.217";
|
||||
} else {
|
||||
@@ -20,7 +20,7 @@ let
|
||||
};
|
||||
ptb = fetchurl {
|
||||
url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
|
||||
sha256 = "tG+QR62JcBYrvJS6KU6oAWSfQFdl68AMcU8E9Zahy2A=";
|
||||
sha256 = "lehrB2jTvMKIDt7QWK/UAkrzYnW5pAP4LRHfIvGpnzA=";
|
||||
};
|
||||
canary = fetchurl {
|
||||
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
|
||||
|
||||
@@ -15,12 +15,10 @@ let
|
||||
buildCommand = ''
|
||||
mkdir -p $out/{lib,share}
|
||||
|
||||
(
|
||||
shopt -s nullglob
|
||||
for nupkg in ${lib.concatMapStringsSep " " (dep: "\"${dep}\"/*.nupkg") deps}; do
|
||||
cp --no-clobber "$nupkg" $out/lib
|
||||
done
|
||||
)
|
||||
# use -L to follow symbolic links. When `projectReferences` is used in
|
||||
# buildDotnetModule, one of the deps will be a symlink farm.
|
||||
find -L ${lib.concatStringsSep " " deps} -type f -name '*.nupkg' -exec \
|
||||
cp --no-clobber '{}' $out/lib ';'
|
||||
|
||||
# Generates a list of all licenses' spdx ids, if available.
|
||||
# Note that this currently ignores any license provided in plain text (e.g. "LICENSE.txt")
|
||||
|
||||
@@ -225,7 +225,7 @@ stdenv.mkDerivation (rec {
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.perl.org/";
|
||||
description = "The standard implementation of the Perl 5 programmming language";
|
||||
description = "The standard implementation of the Perl 5 programming language";
|
||||
license = licenses.artistic1;
|
||||
maintainers = [ maintainers.eelco ];
|
||||
platforms = platforms.all;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -24,7 +24,7 @@ buildPythonPackage rec {
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Click params for commmand line interfaces to GeoJSON";
|
||||
description = "Click params for command line interfaces to GeoJSON";
|
||||
homepage = "https://github.com/mapbox/cligj";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ knedlsepp ];
|
||||
|
||||
41
pkgs/development/python-modules/rich-argparse/default.nix
Normal file
41
pkgs/development/python-modules/rich-argparse/default.nix
Normal file
@@ -0,0 +1,41 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, hatchling
|
||||
, rich
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "rich-argparse";
|
||||
version = "1.1.0";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hamdanal";
|
||||
repo = "rich-argparse";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Rnv4A9pZ5VHpNjrWnsKyxQ4ISCLjIUu3tbbOzP4uFuw=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
hatchling
|
||||
rich
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"rich_argparse"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Format argparse help output using rich.";
|
||||
homepage = "https://github.com/hamdanal/rich-argparse";
|
||||
changelog = "https://github.com/hamdanal/rich-argparse/blob/v${version}/CHANGELOG.md";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ graham33 ];
|
||||
};
|
||||
}
|
||||
@@ -6,6 +6,8 @@
|
||||
, perl
|
||||
, jre
|
||||
, libpulseaudio
|
||||
, makeDesktopItem
|
||||
, copyDesktopItems
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -52,26 +54,52 @@ let
|
||||
outputHash = "sha256-ojwvs6j3R31723lfRlKdeyR5+txnetyK3foJTLqy28Q=";
|
||||
};
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "shattered-pixel-dungeon";
|
||||
desktopName = "Shattered Pixel Dungeon";
|
||||
comment = "An open-source traditional roguelike dungeon crawler";
|
||||
icon = "shattered-pixel-dungeon";
|
||||
exec = "shattered-pixel-dungeon";
|
||||
terminal = false;
|
||||
categories = [ "Game" "AdventureGame" ];
|
||||
keywords = [ "roguelike" "dungeon" "crawler" ];
|
||||
};
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
inherit pname version src patches postPatch;
|
||||
|
||||
nativeBuildInputs = [ gradle perl makeWrapper ];
|
||||
nativeBuildInputs = [ gradle perl makeWrapper copyDesktopItems ];
|
||||
|
||||
desktopItems = [ desktopItem ];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
# https://github.com/gradle/gradle/issues/4426
|
||||
${lib.optionalString stdenv.isDarwin "export TERM=dumb"}
|
||||
# point to offline repo
|
||||
sed -ie "s#repositories {#repositories { maven { url '${deps}' };#g" build.gradle
|
||||
gradle --offline --no-daemon desktop:release
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm644 desktop/build/libs/desktop-${version}.jar $out/share/shattered-pixel-dungeon.jar
|
||||
mkdir $out/bin
|
||||
makeWrapper ${jre}/bin/java $out/bin/shattered-pixel-dungeon \
|
||||
--prefix LD_LIBRARY_PATH : ${libpulseaudio}/lib \
|
||||
--add-flags "-jar $out/share/shattered-pixel-dungeon.jar"
|
||||
|
||||
for s in 16 32 48 64 128 256; do
|
||||
install -Dm644 desktop/src/main/assets/icons/icon_$s.png \
|
||||
$out/share/icons/hicolor/''${s}x$s/apps/shattered-pixel-dungeon.png
|
||||
done
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
|
||||
@@ -405,6 +405,9 @@ stdenv.mkDerivation ({
|
||||
maintainers.thoughtpolice
|
||||
];
|
||||
platforms = platforms.linux;
|
||||
badPlatforms =
|
||||
lib.optionals (lib.versionOlder version "4.15") [ "riscv32-linux" "riscv64-linux" ] ++
|
||||
lib.optional (lib.versionOlder version "5.19") "loongarch64-linux";
|
||||
timeout = 14400; # 4 hours
|
||||
} // extraMeta;
|
||||
} // optionalAttrs (pos != null) {
|
||||
|
||||
76
pkgs/servers/apache-airflow/default.nix
Normal file
76
pkgs/servers/apache-airflow/default.nix
Normal file
@@ -0,0 +1,76 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, fetchPypi
|
||||
, python3
|
||||
}:
|
||||
|
||||
let
|
||||
python = python3.override {
|
||||
packageOverrides = pySelf: pySuper: {
|
||||
# flask-appbuilder doesn't work with sqlalchemy 2.x, flask-appbuilder 3.x
|
||||
# https://github.com/dpgaspar/Flask-AppBuilder/issues/2038
|
||||
flask-appbuilder = pySuper.flask-appbuilder.overridePythonAttrs (o: rec {
|
||||
version = "4.3.1";
|
||||
src = fetchPypi {
|
||||
pname = "Flask-AppBuilder";
|
||||
inherit version;
|
||||
hash = "sha256-FP92HEGOsufHtaIySqDiScD3QUu3iQhWdtvkOecUvuI=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = o.propagatedBuildInputs ++ [
|
||||
pySelf.flask-limiter
|
||||
];
|
||||
|
||||
meta.broken = false;
|
||||
});
|
||||
# a knock-on effect from overriding the sqlalchemy version
|
||||
flask-sqlalchemy = pySuper.flask-sqlalchemy.overridePythonAttrs (o: {
|
||||
src = fetchPypi {
|
||||
pname = "Flask-SQLAlchemy";
|
||||
version = "2.5.1";
|
||||
hash = "sha256-K9pEtD58rLFdTgX/PMH4vJeTbMRkYjQkECv8LDXpWRI=";
|
||||
};
|
||||
format = "setuptools";
|
||||
});
|
||||
# apache-airflow doesn't work with sqlalchemy 2.x
|
||||
# https://github.com/apache/airflow/issues/28723
|
||||
sqlalchemy = pySuper.sqlalchemy.overridePythonAttrs (o: rec {
|
||||
version = "1.4.48";
|
||||
src = fetchFromGitHub {
|
||||
owner = "sqlalchemy";
|
||||
repo = "sqlalchemy";
|
||||
rev = "refs/tags/rel_${lib.replaceStrings [ "." ] [ "_" ] version}";
|
||||
hash = "sha256-qyD3uoxEnD2pdVvwpUlSqHB3drD4Zg/+ov4CzLFIlLs=";
|
||||
};
|
||||
});
|
||||
# a version bump required by airflow 2.6.0 that missed the nixos
|
||||
# 23.05 deadline
|
||||
python-daemon = pySuper.python-daemon.overridePythonAttrs (o: rec {
|
||||
version = "3.0.1";
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = o.pname;
|
||||
sha256 = "sha256-bFdFI3L36v9Ak0ocA60YJr9eeTVY6H/vSRMeZGS02uU=";
|
||||
};
|
||||
|
||||
patches = [];
|
||||
disabledTestPaths = [];
|
||||
|
||||
pythonImportsCheck = lib.remove "daemon.runner" o.pythonImportsCheck;
|
||||
});
|
||||
|
||||
apache-airflow = pySelf.callPackage ./python-package.nix { };
|
||||
};
|
||||
};
|
||||
in
|
||||
# See note in ./python-package.nix for
|
||||
# instructions on manually testing the web UI
|
||||
with python.pkgs; (toPythonApplication apache-airflow).overrideAttrs (_:{
|
||||
# Provide access to airflow's modified python package set
|
||||
# for the cases where external scripts need to import
|
||||
# airflow modules, though *caveat emptor* because many of
|
||||
# these packages will not be built by hydra and many will
|
||||
# not work at all due to the unexpected version overrides
|
||||
# here.
|
||||
passthru.pythonPackages = python.pkgs;
|
||||
})
|
||||
@@ -9,6 +9,7 @@
|
||||
"build": "NODE_ENV=production webpack --progress --mode production",
|
||||
"lint": "eslint --ignore-path=.eslintignore --ext .js,.jsx,.ts,.tsx . && tsc",
|
||||
"lint:fix": "eslint --fix --ignore-path=.eslintignore --ext .js,.jsx,.ts,.tsx . && tsc",
|
||||
"format": "yarn prettier --write .",
|
||||
"generate-api-types": "npx openapi-typescript \"../api_connexion/openapi/v1.yaml\" --output static/js/types/api-generated.ts && node alias-rest-types.js static/js/types/api-generated.ts"
|
||||
},
|
||||
"author": "Apache",
|
||||
@@ -37,13 +38,14 @@
|
||||
"@babel/preset-typescript": "^7.17.12",
|
||||
"@testing-library/jest-dom": "^5.16.0",
|
||||
"@testing-library/react": "^13.0.0",
|
||||
"@types/color": "^3.0.3",
|
||||
"@types/react": "^18.0.12",
|
||||
"@types/react-dom": "^18.0.5",
|
||||
"@types/react-table": "^7.7.12",
|
||||
"@typescript-eslint/eslint-plugin": "^5.13.0",
|
||||
"@typescript-eslint/parser": "^5.0.0",
|
||||
"babel-jest": "^27.3.1",
|
||||
"babel-loader": "^8.1.0",
|
||||
"babel-loader": "^9.1.0",
|
||||
"clean-webpack-plugin": "^3.0.0",
|
||||
"copy-webpack-plugin": "^6.0.3",
|
||||
"css-loader": "5.2.7",
|
||||
@@ -51,8 +53,9 @@
|
||||
"eslint": "^8.6.0",
|
||||
"eslint-config-airbnb": "^19.0.4",
|
||||
"eslint-config-airbnb-typescript": "^17.0.0",
|
||||
"eslint-config-prettier": "^8.6.0",
|
||||
"eslint-plugin-html": "^6.0.2",
|
||||
"eslint-plugin-import": "^2.25.3",
|
||||
"eslint-plugin-import": "^2.27.5",
|
||||
"eslint-plugin-jsx-a11y": "^6.5.0",
|
||||
"eslint-plugin-node": "^11.1.0",
|
||||
"eslint-plugin-promise": "^4.2.1",
|
||||
@@ -67,14 +70,16 @@
|
||||
"moment-locales-webpack-plugin": "^1.2.0",
|
||||
"nock": "^13.2.4",
|
||||
"openapi-typescript": "^5.4.1",
|
||||
"prettier": "^2.8.4",
|
||||
"style-loader": "^1.2.1",
|
||||
"stylelint": "^13.6.1",
|
||||
"stylelint-config-prettier": "^9.0.5",
|
||||
"stylelint-config-standard": "^20.0.0",
|
||||
"terser-webpack-plugin": "<5.0.0",
|
||||
"typescript": "^4.6.3",
|
||||
"url-loader": "4.1.0",
|
||||
"web-worker": "^1.2.0",
|
||||
"webpack": "^5.73.0",
|
||||
"webpack": "^5.76.0",
|
||||
"webpack-cli": "^4.0.0",
|
||||
"webpack-license-plugin": "^4.2.1",
|
||||
"webpack-manifest-plugin": "^4.0.0"
|
||||
@@ -93,7 +98,9 @@
|
||||
"camelcase-keys": "^7.0.0",
|
||||
"chakra-react-select": "^4.0.0",
|
||||
"codemirror": "^5.59.1",
|
||||
"color": "^4.2.3",
|
||||
"d3": "^3.4.4",
|
||||
"d3-selection": "^3.0.0",
|
||||
"d3-shape": "^2.1.0",
|
||||
"d3-tip": "^0.9.1",
|
||||
"dagre-d3": "^0.6.4",
|
||||
@@ -105,16 +112,27 @@
|
||||
"jquery": ">=3.5.0",
|
||||
"jshint": "^2.13.4",
|
||||
"lodash": "^4.17.21",
|
||||
"moment-timezone": "^0.5.35",
|
||||
"moment-timezone": "^0.5.43",
|
||||
"nvd3": "^1.8.6",
|
||||
"react": "^18.0.0",
|
||||
"react-dom": "^18.0.0",
|
||||
"react-icons": "^4.3.1",
|
||||
"react-json-view": "^1.21.3",
|
||||
"react-markdown": "^8.0.4",
|
||||
"react-query": "^3.39.1",
|
||||
"react-router-dom": "^6.3.0",
|
||||
"react-table": "^7.8.0",
|
||||
"react-textarea-autosize": "^8.3.4",
|
||||
"reactflow": "^11.4.0",
|
||||
"redoc": "^2.0.0-rc.72",
|
||||
"remark-gfm": "^3.0.1",
|
||||
"swagger-ui-dist": "4.1.3",
|
||||
"tsconfig-paths": "^3.14.2",
|
||||
"type-fest": "^2.17.0",
|
||||
"url-search-params-polyfill": "^8.1.0"
|
||||
"url-search-params-polyfill": "^8.1.0",
|
||||
"validator": "^13.9.0"
|
||||
},
|
||||
"resolutions": {
|
||||
"d3-color": "^3.1.0"
|
||||
}
|
||||
}
|
||||
319
pkgs/servers/apache-airflow/providers.nix
Normal file
319
pkgs/servers/apache-airflow/providers.nix
Normal file
File diff suppressed because one or more lines are too long
@@ -5,6 +5,7 @@
|
||||
, fetchFromGitHub
|
||||
, alembic
|
||||
, argcomplete
|
||||
, asgiref
|
||||
, attrs
|
||||
, blinker
|
||||
, cached-property
|
||||
@@ -48,6 +49,7 @@
|
||||
, pathspec
|
||||
, pendulum
|
||||
, psutil
|
||||
, pydantic
|
||||
, pygments
|
||||
, pyjwt
|
||||
, python-daemon
|
||||
@@ -58,6 +60,7 @@
|
||||
, pythonOlder
|
||||
, pyyaml
|
||||
, rich
|
||||
, rich-argparse
|
||||
, setproctitle
|
||||
, sqlalchemy
|
||||
, sqlalchemy-jsonfield
|
||||
@@ -68,8 +71,10 @@
|
||||
, typing-extensions
|
||||
, unicodecsv
|
||||
, werkzeug
|
||||
, pytestCheckHook
|
||||
, freezegun
|
||||
, pytest-asyncio
|
||||
, pytestCheckHook
|
||||
, time-machine
|
||||
, mkYarnPackage
|
||||
, writeScript
|
||||
|
||||
@@ -77,7 +82,7 @@
|
||||
, enabledProviders ? []
|
||||
}:
|
||||
let
|
||||
version = "2.5.1";
|
||||
version = "2.6.0";
|
||||
|
||||
airflow-src = fetchFromGitHub rec {
|
||||
owner = "apache";
|
||||
@@ -86,7 +91,7 @@ let
|
||||
# Download using the git protocol rather than using tarballs, because the
|
||||
# GitHub archive tarballs don't appear to include tests
|
||||
forceFetchGit = true;
|
||||
hash = "sha256-BuJfE6SONTNonUvacOAIdZe0QicdBtx7k186TJZpQOs=";
|
||||
hash = "sha256-CsLOj68+tSOI7drZq6QH+C2EB/9trg5cFAYAQp/06m8=";
|
||||
};
|
||||
|
||||
# airflow bundles a web interface, which is built using webpack by an undocumented shell script in airflow's source tree.
|
||||
@@ -141,6 +146,7 @@ buildPythonPackage rec {
|
||||
propagatedBuildInputs = [
|
||||
alembic
|
||||
argcomplete
|
||||
asgiref
|
||||
attrs
|
||||
blinker
|
||||
cached-property
|
||||
@@ -183,6 +189,7 @@ buildPythonPackage rec {
|
||||
pathspec
|
||||
pendulum
|
||||
psutil
|
||||
pydantic
|
||||
pygments
|
||||
pyjwt
|
||||
python-daemon
|
||||
@@ -192,6 +199,7 @@ buildPythonPackage rec {
|
||||
python3-openid
|
||||
pyyaml
|
||||
rich
|
||||
rich-argparse
|
||||
setproctitle
|
||||
sqlalchemy
|
||||
sqlalchemy-jsonfield
|
||||
@@ -212,7 +220,9 @@ buildPythonPackage rec {
|
||||
|
||||
nativeCheckInputs = [
|
||||
freezegun
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
time-machine
|
||||
];
|
||||
|
||||
# By default, source code of providers is included but unusable due to missing
|
||||
@@ -223,7 +233,7 @@ buildPythonPackage rec {
|
||||
postPatch = ''
|
||||
substituteInPlace setup.cfg \
|
||||
--replace "colorlog>=4.0.2, <5.0" "colorlog" \
|
||||
--replace "flask-appbuilder==4.1.4" "flask-appbuilder>=4.1.3" \
|
||||
--replace "flask-appbuilder==4.3.0" "flask-appbuilder>=4.3.0" \
|
||||
--replace "pathspec~=0.9.0" "pathspec"
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
# Fix failing test on Hydra
|
||||
@@ -281,9 +291,6 @@ buildPythonPackage rec {
|
||||
cd ./pkgs/development/python-modules/apache-airflow
|
||||
curl -O https://raw.githubusercontent.com/apache/airflow/$new_version/airflow/www/yarn.lock
|
||||
curl -O https://raw.githubusercontent.com/apache/airflow/$new_version/airflow/www/package.json
|
||||
# Revert this commit which seems to break with our version of yarn
|
||||
# https://github.com/apache/airflow/commit/b9e133e40c2848b0d555051a99bf8d2816fd28a7
|
||||
patch -p3 < 0001-Revert-fix-yarn-warning-from-d3-color-27139.patch
|
||||
yarn2nix > yarn.nix
|
||||
|
||||
# update provider dependencies
|
||||
@@ -293,7 +300,7 @@ buildPythonPackage rec {
|
||||
# Note on testing the web UI:
|
||||
# You can (manually) test the web UI as follows:
|
||||
#
|
||||
# nix shell .#python3Packages.apache-airflow
|
||||
# nix shell .#apache-airflow
|
||||
# airflow db reset # WARNING: this will wipe any existing db state you might have!
|
||||
# airflow db init
|
||||
# airflow standalone
|
||||
@@ -13,12 +13,13 @@ from urllib.request import urlopen
|
||||
from urllib.error import HTTPError
|
||||
import yaml
|
||||
|
||||
PKG_SET = "pkgs.python3Packages"
|
||||
PKG_SET = "apache-airflow.pythonPackages"
|
||||
|
||||
# If some requirements are matched by multiple or no Python packages, the
|
||||
# following can be used to choose the correct one
|
||||
PKG_PREFERENCES = {
|
||||
"dnspython": "dnspython",
|
||||
"elasticsearch-dsl": "elasticsearch-dsl",
|
||||
"google-api-python-client": "google-api-python-client",
|
||||
"psycopg2-binary": "psycopg2",
|
||||
"requests_toolbelt": "requests-toolbelt",
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -86,6 +86,8 @@ with pkgs;
|
||||
|
||||
coq = callPackage ./coq {};
|
||||
|
||||
dotnet = recurseIntoAttrs (callPackages ./dotnet { });
|
||||
|
||||
makeHardcodeGsettingsPatch = callPackage ./make-hardcode-gsettings-patch { };
|
||||
|
||||
makeWrapper = callPackage ./make-wrapper { };
|
||||
|
||||
5
pkgs/test/dotnet/default.nix
Normal file
5
pkgs/test/dotnet/default.nix
Normal file
@@ -0,0 +1,5 @@
|
||||
{ callPackage }:
|
||||
|
||||
{
|
||||
project-references = callPackage ./project-references { };
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
ProjectReferencesTest.Library.Hello();
|
||||
@@ -0,0 +1,10 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>exe</OutputType>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="../library/Library.csproj" />
|
||||
<PackageReference Include="ProjectReferencesTest.Library" Version="*" Condition=" '$(ContinuousIntegrationBuild)'=='true' " />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
38
pkgs/test/dotnet/project-references/default.nix
Normal file
38
pkgs/test/dotnet/project-references/default.nix
Normal file
@@ -0,0 +1,38 @@
|
||||
# Tests the `projectReferences = [ ... ];` feature of buildDotnetModule.
|
||||
# The `library` derivation exposes a .nupkg, which is then consumed by the `application` derivation.
|
||||
# https://nixos.org/manual/nixpkgs/unstable/index.html#packaging-a-dotnet-application
|
||||
|
||||
{ lib
|
||||
, dotnet-sdk
|
||||
, buildDotnetModule
|
||||
, runCommand
|
||||
}:
|
||||
|
||||
let
|
||||
nugetDeps = ./nuget-deps.nix;
|
||||
|
||||
# Specify the TargetFramework via an environment variable so that we don't
|
||||
# have to update the .csproj files when updating dotnet-sdk
|
||||
TargetFramework = "net${lib.versions.majorMinor (lib.getVersion dotnet-sdk)}";
|
||||
|
||||
library = buildDotnetModule {
|
||||
name = "project-references-test-library";
|
||||
src = ./library;
|
||||
inherit nugetDeps TargetFramework;
|
||||
|
||||
packNupkg = true;
|
||||
};
|
||||
|
||||
application = buildDotnetModule {
|
||||
name = "project-references-test-application";
|
||||
src = ./application;
|
||||
inherit nugetDeps TargetFramework;
|
||||
|
||||
projectReferences = [ library ];
|
||||
};
|
||||
in
|
||||
|
||||
runCommand "project-references-test" { } ''
|
||||
${application}/bin/Application
|
||||
touch $out
|
||||
''
|
||||
8
pkgs/test/dotnet/project-references/library/Library.cs
Normal file
8
pkgs/test/dotnet/project-references/library/Library.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace ProjectReferencesTest;
|
||||
public static class Library
|
||||
{
|
||||
public static void Hello()
|
||||
{
|
||||
System.Console.WriteLine("Hello, World!");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<PackageId>ProjectReferencesTest.Library</PackageId>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
5
pkgs/test/dotnet/project-references/nuget-deps.nix
Normal file
5
pkgs/test/dotnet/project-references/nuget-deps.nix
Normal file
@@ -0,0 +1,5 @@
|
||||
# This file was automatically generated by passthru.fetch-deps.
|
||||
# Please dont edit it manually, your changes might get overwritten!
|
||||
|
||||
{ fetchNuGet }: [
|
||||
]
|
||||
@@ -18,7 +18,7 @@
|
||||
, nixosTests
|
||||
#
|
||||
# By default unbound will not be built with systemd support. Unbound is a very
|
||||
# commmon dependency. The transitive dependency closure of systemd also
|
||||
# common dependency. The transitive dependency closure of systemd also
|
||||
# contains unbound.
|
||||
# Since most (all?) (lib)unbound users outside of the unbound daemon usage do
|
||||
# not need the systemd integration it is likely best to just default to no
|
||||
|
||||
@@ -1436,7 +1436,7 @@ with pkgs;
|
||||
|
||||
airgeddon = callPackage ../tools/networking/airgeddon { };
|
||||
|
||||
apache-airflow = with python3.pkgs; toPythonApplication apache-airflow;
|
||||
apache-airflow = callPackage ../servers/apache-airflow { };
|
||||
|
||||
apachetomcatscanner = callPackage ../tools/security/apachetomcatscanner { };
|
||||
|
||||
|
||||
@@ -528,8 +528,6 @@ self: super: with self; {
|
||||
|
||||
aocd = callPackage ../development/python-modules/aocd { };
|
||||
|
||||
apache-airflow = callPackage ../development/python-modules/apache-airflow { };
|
||||
|
||||
apache-beam = callPackage ../development/python-modules/apache-beam { };
|
||||
|
||||
apcaccess = callPackage ../development/python-modules/apcaccess { };
|
||||
@@ -10554,6 +10552,8 @@ self: super: with self; {
|
||||
|
||||
rich = callPackage ../development/python-modules/rich { };
|
||||
|
||||
rich-argparse = callPackage ../development/python-modules/rich-argparse { };
|
||||
|
||||
rich-argparse-plus = callPackage ../development/python-modules/rich-argparse-plus { };
|
||||
|
||||
rich-click = callPackage ../development/python-modules/rich-click { };
|
||||
|
||||
Reference in New Issue
Block a user