push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
From 303a669356fa7cd6bc95ac7076ce51b1cab3970a Mon Sep 17 00:00:00 2001
From: Adrian Ho <the.gromgit@gmail.com>
Date: Tue, 6 Sep 2022 10:49:10 +0800
Subject: [PATCH] Enable macOS builds
macOS requires explicit `environ` declaration.
---
s3backer.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/s3backer.h b/s3backer.h
index ccc9053..383e246 100644
--- a/s3backer.h
+++ b/s3backer.h
@@ -90,6 +90,10 @@
#include <zlib.h>
#include <fuse.h>
+#ifdef __APPLE__
+extern char **environ;
+#endif
+
#ifndef FUSE_OPT_KEY_DISCARD
#define FUSE_OPT_KEY_DISCARD -4
#endif

View File

@@ -0,0 +1,52 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
pkg-config,
fuse,
curl,
expat,
}:
stdenv.mkDerivation rec {
pname = "s3backer";
version = "2.1.4";
src = fetchFromGitHub {
sha256 = "sha256-QOTQsU2R68217eO2+2yZhBWtjAdkHuVRbCGv1JD0YLQ=";
rev = version;
repo = "s3backer";
owner = "archiecobbs";
};
patches = [
# from upstream, after latest release
# https://github.com/archiecobbs/s3backer/commit/303a669356fa7cd6bc95ac7076ce51b1cab3970a
./fix-darwin-builds.patch
];
nativeBuildInputs = [
autoreconfHook
pkg-config
];
buildInputs = [
fuse
curl
expat
];
# AC_CHECK_DECLS doesn't work with clang
postPatch = lib.optionalString stdenv.cc.isClang ''
substituteInPlace configure.ac --replace \
'AC_CHECK_DECLS(fdatasync)' ""
'';
meta = with lib; {
homepage = "https://github.com/archiecobbs/s3backer";
description = "FUSE-based single file backing store via Amazon S3";
license = licenses.gpl2Plus;
platforms = platforms.unix;
mainProgram = "s3backer";
};
}

View File

@@ -0,0 +1,45 @@
{
lib,
python3,
fetchPypi,
}:
python3.pkgs.buildPythonApplication rec {
pname = "s3bro";
version = "2.8";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-+OqcLbXilbY4h/zRAkvRd8taVIOPyiScOAcDyPZ4RUw=";
};
build-system = with python3.pkgs; [ setuptools ];
dependencies = with python3.pkgs; [
boto3
botocore
click
termcolor
];
postPatch = ''
substituteInPlace setup.py \
--replace-fail "use_2to3=True," ""
'';
# No tests
doCheck = false;
pythonImportsCheck = [
"s3bro"
];
meta = with lib; {
description = "S3 CLI tool";
mainProgram = "s3bro";
homepage = "https://github.com/rsavordelli/s3bro";
license = licenses.mit;
maintainers = with maintainers; [ psyanticy ];
};
}

View File

@@ -0,0 +1,51 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
pkg-config,
curl,
openssl,
libxml2,
fuse,
}:
stdenv.mkDerivation rec {
pname = "s3fs-fuse";
version = "1.95";
src = fetchFromGitHub {
owner = "s3fs-fuse";
repo = "s3fs-fuse";
rev = "v${version}";
sha256 = "sha256-wHszw3S+fuZRwTvJy+FkxQTR2BAvr8H924Wd4/C5heE=";
};
buildInputs = [
curl
openssl
libxml2
fuse
];
nativeBuildInputs = [
autoreconfHook
pkg-config
];
configureFlags = [
"--with-openssl"
];
postInstall = ''
ln -s $out/bin/s3fs $out/bin/mount.s3fs
'';
meta = {
description = "Mount an S3 bucket as filesystem through FUSE";
homepage = "https://github.com/s3fs-fuse/s3fs-fuse";
changelog = "https://github.com/s3fs-fuse/s3fs-fuse/raw/v${version}/ChangeLog";
maintainers = [ ];
license = lib.licenses.gpl2Only;
platforms = lib.platforms.unix;
};
}

View File

@@ -0,0 +1,44 @@
{
lib,
stdenv,
fetchFromGitHub,
jre,
makeWrapper,
maven,
}:
let
pname = "s3proxy";
version = "2.6.0";
in
maven.buildMavenPackage {
inherit pname version;
mvnHash = "sha256-OCFs1Q4NL5heP8AVvkQ+ZdhmPD2SNZMCF2gxjXpbfW4=";
src = fetchFromGitHub {
owner = "gaul";
repo = "s3proxy";
rev = "s3proxy-${version}";
hash = "sha256-wd3GdSAcoJvlyFqnccdhM83IY2Q7KJQHoyV+sQGEwo4=";
};
doCheck = !stdenv.hostPlatform.isDarwin;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
install -D --mode=644 --target-directory=$out/share/s3proxy target/s3proxy-${version}-jar-with-dependencies.jar
makeWrapper ${jre}/bin/java $out/bin/s3proxy \
--add-flags "-jar $out/share/s3proxy/s3proxy-${version}-jar-with-dependencies.jar"
'';
meta = {
description = "Access other storage backends via the S3 API";
mainProgram = "s3proxy";
homepage = "https://github.com/gaul/s3proxy";
changelog = "https://github.com/gaul/s3proxy/releases/tag/s3proxy-${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ camelpunch ];
};
}

View File

@@ -0,0 +1,68 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Philip Taron <philip.taron@gmail.com>
Date: Wed, 11 Jun 2025 10:41:42 -0700
Subject: [PATCH] setup.py: remove self-reference and DEVELOPER_MODE
Signed-off-by: Philip Taron <philip.taron@gmail.com>
---
setup.py | 33 ++-------------------------------
1 file changed, 2 insertions(+), 31 deletions(-)
diff --git a/setup.py b/setup.py
index 00f6e9b120525d63fbc17949b2804785f1286118..b5582bcc366148d9c0a442abade65a6127ef2d3c 100755
--- a/setup.py
+++ b/setup.py
@@ -26,15 +26,7 @@ from setuptools.command.test import test as TestCommand
faulthandler.enable()
-basedir = os.path.abspath(os.path.dirname(sys.argv[0]))
-DEVELOPER_MODE = os.path.exists(os.path.join(basedir, 'MANIFEST.in'))
-if DEVELOPER_MODE:
- print('MANIFEST.in exists, running in developer mode')
-
-# Add S3QL sources
-sys.path.insert(0, os.path.join(basedir, 'src'))
-sys.path.insert(0, os.path.join(basedir, 'util'))
-import s3ql
+basedir = "/build/source"
class pytest(TestCommand):
@@ -52,27 +44,6 @@ def main():
compile_args = ['-Wall', '-Wextra', '-Wconversion', '-Wsign-compare']
- # Enable all fatal warnings only when compiling from Mercurial tip.
- # (otherwise we break forward compatibility because compilation with newer
- # compiler may fail if additional warnings are added)
- if DEVELOPER_MODE:
- if os.environ.get('CI') != 'true':
- compile_args.append('-Werror')
-
- # Value-changing conversions should always be explicit.
- compile_args.append('-Werror=conversion')
-
- # Note that (i > -1) is false if i is unsigned (-1 will be converted to
- # a large positive value). We certainly don't want to do this by
- # accident.
- compile_args.append('-Werror=sign-compare')
-
- # These warnings have always been harmless, and have always been due to
- # issues in Cython code rather than S3QL. Cython itself warns if there
- # are unused variables in .pyx code.
- compile_args.append('-Wno-unused-parameter')
- compile_args.append('-Wno-unused-function')
-
required_pkgs = [
'apsw >= 3.42.0', # https://github.com/rogerbinns/apsw/issues/459
'cryptography',
@@ -88,7 +59,7 @@ def main():
setuptools.setup(
name='s3ql',
zip_safe=False,
- version=s3ql.VERSION,
+ version="@version@",
description='a full-featured file system for online data storage',
long_description=long_desc,
author='Nikolaus Rath',

View File

@@ -0,0 +1,98 @@
{
lib,
fetchFromGitHub,
python3,
replaceVars,
sqlite,
which,
nix-update-script,
writableTmpDirAsHomeHook,
}:
let
inherit (python3.pkgs)
buildPythonApplication
setuptools
cython
apsw
cryptography
defusedxml
google-auth
google-auth-oauthlib
pyfuse3
requests
trio
pytest-trio
pytestCheckHook
python
;
in
buildPythonApplication rec {
pname = "s3ql";
version = "5.3.0";
pyproject = true;
src = fetchFromGitHub {
owner = "s3ql";
repo = "s3ql";
tag = "s3ql-${version}";
hash = "sha256-SVB+VB508hGXvdHZo5lt09yssjjwHS1tsDU8M4j+swc=";
};
patches = [
(replaceVars ./0001-setup.py-remove-self-reference.patch { inherit version; })
];
build-system = [ setuptools ];
nativeBuildInputs = [
which
cython
];
dependencies = [
apsw
cryptography
defusedxml
google-auth
google-auth-oauthlib
pyfuse3
requests
sqlite
trio
];
nativeCheckInputs = [
pytest-trio
pytestCheckHook
writableTmpDirAsHomeHook
];
preBuild = ''
${python.pythonOnBuildForHost.interpreter} ./setup.py build_cython build_ext --inplace
'';
pythonImportsCheck = [ "s3ql" ];
enabledTestPaths = [ "tests/" ];
# SSL EOF error doesn't match connection reset error. Seems fine.
disabledTests = [ "test_aborted_write2" ];
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"s3ql-([0-9.]+)"
];
};
meta = {
description = "Full-featured file system for online data storage";
homepage = "https://github.com/s3ql/s3ql/";
changelog = "https://github.com/s3ql/s3ql/releases/tag/s3ql-${version}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ rushmorem ];
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
rustPlatform,
python3,
perl,
openssl,
fetchFromGitHub,
pkg-config,
}:
rustPlatform.buildRustPackage rec {
pname = "s3rs";
version = "0.4.19";
src = fetchFromGitHub {
owner = "yanganto";
repo = "s3rs";
rev = "v${version}";
sha256 = "sha256-mJ1bMfv/HY74TknpRvu8RIs1d2VlNreEVtHCtQSHQw8=";
};
cargoHash = "sha256-z7de/TZXyNsb+dxWcNFdJsaGsM3Ld2A0jorNMAVOZOg=";
nativeBuildInputs = [
python3
perl
pkg-config
];
buildInputs = [ openssl ];
meta = with lib; {
description = "S3 cli client with multi configs with diffent provider";
homepage = "https://github.com/yanganto/s3rs";
license = licenses.mit;
maintainers = with maintainers; [ yanganto ];
mainProgram = "s3rs";
};
}

View File

@@ -0,0 +1,34 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "s3scanner";
version = "3.1.1";
src = fetchFromGitHub {
owner = "sa7mon";
repo = "s3scanner";
rev = "v${version}";
hash = "sha256-RS/+m/snJIm8OxCgvh/Bn1u9ghvRgS8tYvy1v1DV02I=";
};
ldflags = [ "-s -w" ];
vendorHash = "sha256-Ik5B01QnbhFQISAY3Bdb1g85Din+Ifcg1vbGZcbb1OY=";
# Requires networking
doCheck = false;
meta = with lib; {
changelog = "https://github.com/sa7mon/S3Scanner/releases/tag/${src.rev}";
description = "Scan for misconfigured S3 buckets across S3-compatible APIs";
downloadPage = "https://github.com/sa7mon/S3Scanner/releases/tag/v${version}";
homepage = "https://github.com/sa7mon/s3scanner";
license = licenses.mit;
maintainers = with maintainers; [ lavafroth ];
mainProgram = "s3scanner";
};
}