Merge master into staging-next

This commit is contained in:
github-actions[bot]
2024-02-17 00:02:12 +00:00
committed by GitHub
33 changed files with 1358 additions and 803 deletions
+20 -2
View File
@@ -649,7 +649,6 @@ in {
home = "/root";
shell = mkDefault cfg.defaultUserShell;
group = "root";
initialHashedPassword = mkDefault "!";
};
nobody = {
uid = ids.uids.nobody;
@@ -897,7 +896,26 @@ in {
));
warnings =
builtins.filter (x: x != null) (
flip concatMap (attrValues cfg.users) (user: let
unambiguousPasswordConfiguration = 1 >= length (filter (x: x != null) ([
user.hashedPassword
user.hashedPasswordFile
user.password
] ++ optionals cfg.mutableUsers [
# For immutable users, initialHashedPassword is set to hashedPassword,
# so using these options would always trigger the assertion.
user.initialHashedPassword
user.initialPassword
]));
in optional (!unambiguousPasswordConfiguration) ''
The user '${user.name}' has multiple of the options
`hashedPassword`, `password`, `hashedPasswordFile`, `initialPassword`
& `initialHashedPassword` set to a non-null value.
The options silently discard others by the order of precedence
given above which can lead to surprising results. To resolve this warning,
set at most one of the options above to a non-`null` value.
'')
++ builtins.filter (x: x != null) (
flip mapAttrsToList cfg.users (_: user:
# This regex matches a subset of the Modular Crypto Format (MCF)[1]
# informal standard. Since this depends largely on the OS or the
+1
View File
@@ -241,6 +241,7 @@
./programs/proxychains.nix
./programs/qdmr.nix
./programs/qt5ct.nix
./programs/quark-goldleaf.nix
./programs/regreet.nix
./programs/rog-control-center.nix
./programs/rust-motd.nix
+18
View File
@@ -0,0 +1,18 @@
{ config, lib, pkgs, ... }:
let
cfg = config.programs.quark-goldleaf;
in
{
options = {
programs.quark-goldleaf = {
enable = lib.mkEnableOption "quark-goldleaf with udev rules applied";
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [ pkgs.quark-goldleaf ];
services.udev.packages = [ pkgs.quark-goldleaf ];
};
meta.maintainers = pkgs.quark-goldleaf.meta.maintainers;
}
@@ -285,7 +285,7 @@ in {
systemd.tmpfiles.rules = [
"d /opt/cni/bin 0755 root root -"
"d /run/kubernetes 0755 kubernetes kubernetes -"
"d /var/lib/kubernetes 0755 kubernetes kubernetes -"
"d ${cfg.dataDir} 0755 kubernetes kubernetes -"
];
users.users.kubernetes = {
@@ -294,6 +294,7 @@ in {
group = "kubernetes";
home = cfg.dataDir;
createHome = true;
homeMode = "755";
};
users.groups.kubernetes.gid = config.ids.gids.kubernetes;
+2 -2
View File
@@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "noson";
version = "5.6.3";
version = "5.6.5";
src = fetchFromGitHub {
owner = "janbar";
repo = "noson-app";
rev = finalAttrs.version;
hash = "sha256-Yv5p9yAEhJHm9ZDZlR76z10oGBNpdifR7ITXcAHIb54=";
hash = "sha256-UAhaTfj2lCBmHoVEK5IvJfJ9d1OSuZZ+3f5HaTx8hhA=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -5,11 +5,11 @@
stdenvNoCC.mkDerivation rec {
pname = "mainsail";
version = "2.9.1";
version = "2.10.0";
src = fetchzip {
url = "https://github.com/mainsail-crew/mainsail/releases/download/v${version}/mainsail.zip";
hash = "sha256-OrCS+0zfXs72vJbrqjvEaHJWD0ndozfCcHs1N9Gqios=";
hash = "sha256-5bRmM/BXI0Afe7UK6avh5aWFXkYF4MsUG71uYUc5JlA=";
stripRoot = false;
};
@@ -93,11 +93,11 @@ in
stdenv.mkDerivation rec {
pname = "brave";
version = "1.62.162";
version = "1.62.165";
src = fetchurl {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
hash = "sha256-hQG6LHYPhqzfgR0Z7R+hXB1vEVDd6VEyIttSae15Mpo=";
hash = "sha256-FyTHFoPP4u5BF3vrgBnM5aFLPfijMzmkq06HXMDvv4k=";
};
dontConfigure = true;
File diff suppressed because it is too large Load Diff
@@ -2,27 +2,26 @@
rustPlatform.buildRustPackage rec {
pname = "cloud-hypervisor";
version = "37.0";
version = "38.0";
src = fetchFromGitHub {
owner = "cloud-hypervisor";
repo = pname;
rev = "v${version}";
hash = "sha256-zNk3KkKl0bEZUdsWe+9FEMKVepZeQWGasDIn68NEVyw=";
hash = "sha256-Lhug7DCa+QutlvksL6EFQa04UK/sWebDIkqQmwPUpX4=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"acpi_tables-0.1.0" = "sha256-FYjzwCSjuTUDCCQPC2ccDpwRRaG1eT5XgV/b8uSu8uc=";
"acpi_tables-0.1.0" = "sha256-syDq+db1hTne6QoP0vMGUv4tB0J9arQG2Ea2hHW1k3M=";
"igvm-0.1.0" = "sha256-l+Qyhdy3b8h8hPLHg5M0os8aSkjM55hAP5nqi0AGmjo=";
"kvm-bindings-0.6.0" = "sha256-wGdAuPwsgRIqx9dh0m+hC9A/Akz9qg9BM+p06Fi5ACM=";
"kvm-ioctls-0.13.0" = "sha256-jHnFGwBWnAa2lRu4a5eRNy1Y26NX5MV8alJ86VR++QE=";
"micro_http-0.1.0" = "sha256-Ov75Gs+wSmsxOHJu024nWtOJp0cKpS8bkxJJGW6jiKw=";
"mshv-bindings-0.1.1" = "sha256-4ADpLvi9hmHsMyGtqDQ2Msa3aMZmJsi4BPW7B5ZfAMw=";
"versionize_derive-0.1.4" = "sha256-oGuREJ5+FDs8ihmv99WmjIPpL2oPdOr4REk6+7cV/7o=";
"vfio-bindings-0.4.0" = "sha256-grOV+7W1tB4YDRAFbDNQp5nQ1WaivH+N+qHTIj4WA+E=";
"vfio_user-0.1.0" = "sha256-Vi6dBu1mUwyWh7ryKDOBS6GeUD2sqqIrt/bth/LDW6s=";
"kvm-bindings-0.7.0" = "sha256-hXv5N3TTwGQaVxdQ/DTzLt+uwLxFnstJwNhxRD2K8TM=";
"micro_http-0.1.0" = "sha256-gyeOop6AMXEIbLXhJMN/oYGGU8Un8Y0nFZc9ucCa0y4=";
"mshv-bindings-0.1.1" = "sha256-yWvkpOcW3lV47s+rWnN4Bki8tt8CkiPVZ0I36nrWMi4=";
"versionize_derive-0.1.6" = "sha256-eI9fM8WnEBZvskPhU67IWeN6QAPg2u5EBT+AOxfb/fY=";
"vfio-bindings-0.4.0" = "sha256-Dk4T2dMzPZ+Aoq1YSXX2z1Nky8zvyDl7b+A8NH57Hkc=";
"vfio_user-0.1.0" = "sha256-LJ84k9pMkSAaWkuaUd+2LnPXnNgrP5LdbPOc1Yjz5xA=";
"vm-fdt-0.2.0" = "sha256-lKW4ZUraHomSDyxgNlD5qTaBTZqM0Fwhhh/08yhrjyE=";
};
};
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "docker-compose";
version = "2.24.5";
version = "2.24.6";
src = fetchFromGitHub {
owner = "docker";
repo = "compose";
rev = "v${version}";
hash = "sha256-mn6HkGLQM5kx6yzV4IK+GTV6pCoIm1CNjQ8AZLv3sMw=";
hash = "sha256-CrQM9fTXGI3uGAk2yk/+enBr9LuMhNFLFBYHT78lNWc=";
};
postPatch = ''
@@ -16,7 +16,7 @@ buildGoModule rec {
rm -rf e2e/
'';
vendorHash = "sha256-KR+4OZKabshnGpkPq8vtEutvQUE+3jVwAlfAwFVlscU=";
vendorHash = "sha256-0YZ36fouuVjj12a7d9F8OkJAmtLIHo0bZhcmOYO5Ki4=";
ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];
@@ -0,0 +1,13 @@
diff --git a/src/test/java/nl/altindag/crip/command/FileBaseTest.java b/src/test/java/nl/altindag/crip/command/FileBaseTest.java
index 674ca10..f140601 100644
--- a/src/test/java/nl/altindag/crip/command/FileBaseTest.java
+++ b/src/test/java/nl/altindag/crip/command/FileBaseTest.java
@@ -26,7 +26,7 @@ import java.util.stream.Collectors;
public class FileBaseTest extends BaseTest {
- protected static final Path TEMP_DIRECTORY = Paths.get(System.getProperty("user.home"), "certificate-ripper-temp");
+ protected static final Path TEMP_DIRECTORY = Paths.get(System.getenv("TMP"), "certificate-ripper-temp");
@BeforeEach
void createTempDirAndClearConsoleCaptor() throws IOException {
@@ -0,0 +1,68 @@
diff --git a/pom.xml b/pom.xml
index dd0075d..46ac184 100644
--- a/pom.xml
+++ b/pom.xml
@@ -46,6 +46,7 @@
<version.license-maven-plugin>4.2.rc3</version.license-maven-plugin>
<license.git.copyrightYears>2021</license.git.copyrightYears>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <project.build.outputTimestamp>1980-01-01T00:00:02Z</project.build.outputTimestamp>
</properties>
<scm>
@@ -103,6 +104,55 @@
<build>
<plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>3.4.1</version>
+ <executions>
+ <execution>
+ <id>enforce-plugin-versions</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requirePluginVersions />
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>3.1.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>3.3.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>4.0.0-M13</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>3.1.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>3.3.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>3.3.0</version>
+ </plugin>
+
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
@@ -0,0 +1,56 @@
{ lib
, maven
, fetchFromGitHub
, buildGraalvmNativeImage
}:
let
pname = "certificate-ripper";
version = "2.2.0";
jar = maven.buildMavenPackage {
pname = "${pname}-jar";
inherit version;
src = fetchFromGitHub {
owner = "Hakky54";
repo = "certificate-ripper";
rev = version;
hash = "sha256-snavZVLY8sHinLnG6k61eSQlR9sb8+k5tRHqu4kzQKM=";
};
patches = [
./make-deterministic.patch
./fix-test-temp-dir-path.patch
];
mvnHash = "sha256-ahw9VVlvBPlWChcJzXFna55kxqVeJMmdaLtwWcJ+qSA=";
installPhase = ''
install -Dm644 target/crip.jar $out
'';
};
in
buildGraalvmNativeImage {
inherit pname version;
src = jar;
executable = "crip";
# Copied from pom.xml
extraNativeImageBuildArgs = [
"--no-fallback"
"-H:ReflectionConfigurationResources=graalvm_config.json"
"-H:EnableURLProtocols=https"
"-H:EnableURLProtocols=http"
];
meta = {
changelog = "https://github.com/Hakky54/certificate-ripper/releases/tag/${version}";
description = "A CLI tool to extract server certificates";
homepage = "https://github.com/Hakky54/certificate-ripper";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ tomasajt ];
};
}
@@ -0,0 +1,2 @@
# Nintendo Switch HOS
SUBSYSTEM=="usb", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="3000", MODE="0666"
@@ -0,0 +1,88 @@
diff --git a/pom.xml b/pom.xml
index 5a683ca..be71e5d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -104,7 +105,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <version>3.1</version>
+ <version>3.11.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
@@ -113,7 +114,7 @@
<plugin>
<artifactId>maven-jar-plugin</artifactId>
- <version>2.4</version>
+ <version>3.3.0</version>
<executions>
<execution>
<id>default-jar</id>
@@ -134,7 +135,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
- <version>3.1.0</version>
+ <version>3.6.0</version>
<configuration>
<finalName>Quark</finalName>
<appendAssemblyId>false</appendAssemblyId>
@@ -157,6 +158,56 @@
</execution>
</executions>
</plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>3.3.0</version>
+ <executions>
+ <execution>
+ <id>require-all-plugin-versions-to-be-set</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requirePluginVersions />
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>3.1.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>3.3.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>4.0.0-M9</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>3.1.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>3.3.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>3.1.2</version>
+ </plugin>
</plugins>
</build>
+114
View File
@@ -0,0 +1,114 @@
{ lib
, jdk
, maven
, fetchFromGitHub
, fetchpatch
, makeDesktopItem
, copyDesktopItems
, imagemagick
, wrapGAppsHook
, gtk3
}:
let
jdk' = jdk.override { enableJavaFX = true; };
maven' = maven.override { jdk = jdk'; };
in
maven'.buildMavenPackage rec {
pname = "quark-goldleaf";
version = "1.0.0";
src = fetchFromGitHub {
owner = "XorTroll";
repo = "Goldleaf";
rev = version;
hash = "sha256-gagIQGOiygJ0Onm0SrkbFWaovqWX2WJNx7LpSRheCLM=";
};
sourceRoot = "${src.name}/Quark";
patches = [
./fix-maven-plugin-versions.patch
./remove-pom-jfx.patch
(fetchpatch {
name = "fix-config-path.patch";
url = "https://github.com/XorTroll/Goldleaf/commit/714ecc2755df9c1252615ad02cafff9c0311a739.patch";
hash = "sha256-4j+6uLIOdltZ4XIb3OtOzZg9ReH9660gZMMNQpHnn4o=";
relative = "Quark";
})
];
mvnHash = "sha256-gA3HsQZFa2POP9cyJLb1l8t3hrJYzDowhJU+5Xl79p4=";
# set fixed build timestamp for deterministic jar
mvnParameters = "-Dproject.build.outputTimestamp=1980-01-01T00:00:02Z";
nativeBuildInputs = [
imagemagick # for icon conversion
copyDesktopItems
wrapGAppsHook
];
buildInputs = [ gtk3 ];
# don't double-wrap
dontWrapGApps = true;
installPhase = ''
runHook preInstall
install -Dm644 ${./99-quark-goldleaf.rules} $out/etc/udev/rules.d/99-quark-goldleaf.rules
install -Dm644 target/Quark.jar $out/share/java/quark-goldleaf.jar
for size in 16 24 32 48 64 128; do
mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
convert -resize "$size"x"$size" src/main/resources/Icon.png $out/share/icons/hicolor/"$size"x"$size"/apps/quark-goldleaf.png
done
runHook postInstall
'';
postFixup = ''
# This is in postFixup because gappsWrapperArgs are generated during preFixup
makeWrapper ${jdk'}/bin/java $out/bin/quark-goldleaf \
"''${gappsWrapperArgs[@]}" \
--add-flags "-jar $out/share/java/quark-goldleaf.jar"
'';
desktopItems = [
(makeDesktopItem {
name = "quark-goldleaf";
exec = "quark-goldleaf";
icon = "quark-goldleaf";
desktopName = "Quark";
comment = meta.description;
terminal = false;
categories = [ "Utility" "FileTransfer" ];
keywords = [ "nintendo" "switch" "goldleaf" ];
})
];
meta = {
changelog = "https://github.com/XorTroll/Goldleaf/releases/tag/${src.rev}";
description = "A GUI tool for transfering files between a computer and a Nintendo Switch running Goldleaf";
homepage = "https://github.com/XorTroll/Goldleaf#quark-and-remote-browsing";
longDescription = ''
${meta.description}
For the program to work properly, you will have to install Nintendo Switch udev rules.
You can either do this by enabling the NixOS module:
`programs.quark-goldleaf.enable = true;`
or by adding the package manually to udev packages:
`services.udev.packages = [ pkgs.quark-goldleaf ];
'';
license = lib.licenses.gpl3Only;
mainProgram = "quark-goldleaf";
maintainers = with lib.maintainers; [ tomasajt ];
platforms = with lib.platforms; linux ++ darwin;
};
}
@@ -0,0 +1,93 @@
diff --git a/pom.xml b/pom.xml
index 51ce56b..44dcd09 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,72 +15,6 @@
</properties>
<dependencies>
- <dependency>
- <groupId>org.openjfx</groupId>
- <artifactId>javafx-controls</artifactId>
- <version>17</version>
- <classifier>linux</classifier>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.openjfx</groupId>
- <artifactId>javafx-controls</artifactId>
- <version>17</version>
- <classifier>win</classifier>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.openjfx</groupId>
- <artifactId>javafx-controls</artifactId>
- <version>17</version>
- <classifier>mac</classifier>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>org.openjfx</groupId>
- <artifactId>javafx-fxml</artifactId>
- <version>17</version>
- <classifier>linux</classifier>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.openjfx</groupId>
- <artifactId>javafx-fxml</artifactId>
- <version>17</version>
- <classifier>win</classifier>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.openjfx</groupId>
- <artifactId>javafx-fxml</artifactId>
- <version>17</version>
- <classifier>mac</classifier>
- <scope>compile</scope>
- </dependency>
-
- <dependency>
- <groupId>org.openjfx</groupId>
- <artifactId>javafx-graphics</artifactId>
- <version>17</version>
- <classifier>linux</classifier>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.openjfx</groupId>
- <artifactId>javafx-graphics</artifactId>
- <version>17</version>
- <classifier>win</classifier>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.openjfx</groupId>
- <artifactId>javafx-graphics</artifactId>
- <version>17</version>
- <classifier>mac</classifier>
- <scope>compile</scope>
- </dependency>
-
<dependency>
<groupId>org.usb4java</groupId>
<artifactId>usb4java-javax</artifactId>
@@ -123,15 +57,6 @@
</executions>
</plugin>
- <plugin>
- <groupId>org.openjfx</groupId>
- <artifactId>javafx-maven-plugin</artifactId>
- <version>0.0.8</version>
- <configuration>
- <mainClass>xortroll.goldleaf.quark.Main</mainClass>
- </configuration>
- </plugin>
-
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
+3 -3
View File
@@ -5,16 +5,16 @@
rustPlatform.buildRustPackage rec {
pname = "rcp";
version = "0.5.0";
version = "0.6.0";
src = fetchFromGitHub {
owner = "wykurz";
repo = "rcp";
rev = "v${version}";
hash = "sha256-5CqQwTJAQhO9mLfMan6JhNY3N2gfwR6wmGtVBYzVxuc=";
hash = "sha256-a/gjphldS17W2OWUXpo+bayqaxINVLI7B27wlicT4Ks=";
};
cargoHash = "sha256-sF7RjuVRNfJa3vw71S+BKIBLeWT6biekAE/56BsZYkw=";
cargoHash = "sha256-i8CrS0WlqlyXmI1waYrbiSFifAn5vqRW0YeQ1Izu0XE=";
checkFlags = [
# this test also sets setuid permissions on a test file (3oXXX) which doesn't work in a sandbox
+3 -3
View File
@@ -5,13 +5,13 @@
stdenvNoCC.mkDerivation {
pname = "seclists";
version = "2023.4";
version = "2024.1";
src = fetchFromGitHub {
owner = "danielmiessler";
repo = "SecLists";
rev = "2023.4";
hash = "sha256-AX2n+kpXJGYEI88iJKHHcR7NFf0YCvu4FakEPkiwXTo=";
rev = "2024.1";
hash = "sha256-0wK/8cJC9FSFrQUPhRy1/uwQONx2dR3U0XOdnMpxBuA=";
};
installPhase = ''
@@ -26,13 +26,13 @@ assert (blas.isILP64 == lapack.isILP64 &&
stdenv.mkDerivation (finalAttrs: {
pname = "igraph";
version = "0.10.9";
version = "0.10.10";
src = fetchFromGitHub {
owner = "igraph";
repo = finalAttrs.pname;
rev = finalAttrs.version;
hash = "sha256-Iaez6Rrd684vsraCkEH5a16rXfc53MyPXcYf3sOcaOY=";
hash = "sha256-xFX48qAr0x0iNRns/aGH9UKL0wGJyfccQLdEXUFI/TU=";
};
postPatch = ''
@@ -3,24 +3,28 @@
, pythonOlder
, fetchFromGitHub
, pkg-config
, setuptools
, igraph
, texttable
, unittestCheckHook
, cairocffi
, matplotlib
, plotly
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "igraph";
version = "0.11.3";
version = "0.11.4";
disabled = pythonOlder "3.8";
format = "setuptools";
pyproject = true;
src = fetchFromGitHub {
owner = "igraph";
repo = "python-igraph";
rev = "refs/tags/${version}";
hash = "sha256-Pki0ygcQeuC5E4SwhzGX7oIe9LUSgoBKiXbtcpjL3ng=";
hash = "sha256-sR9OqsBxP2DvcYz1dhIP29rrQ56CRKW02oNAXUNttio=";
};
postPatch = ''
@@ -29,6 +33,7 @@ buildPythonPackage rec {
nativeBuildInputs = [
pkg-config
setuptools
];
buildInputs = [
@@ -39,13 +44,25 @@ buildPythonPackage rec {
texttable
];
passthru.optional-dependencies = {
cairo = [ cairocffi ];
matplotlib = [ matplotlib ];
plotly = [ plotly ];
plotting = [ cairocffi ];
};
# NB: We want to use our igraph, not vendored igraph, but even with
# pkg-config on the PATH, their custom setup.py still needs to be explicitly
# told to do it. ~ C.
setupPyGlobalFlags = [ "--use-pkg-config" ];
env.IGRAPH_USE_PKG_CONFIG = true;
nativeCheckInputs = [
unittestCheckHook
pytestCheckHook
] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
disabledTests = [
"testAuthorityScore"
"test_labels"
];
pythonImportsCheck = [ "igraph" ];
@@ -1,11 +1,13 @@
{ lib
, buildPythonPackage
, fetchPypi
, testers
, ansible-compat
, ansible-core
, click-help-colors
, enrich
, jsonschema
, molecule
, withPlugins ? true, molecule-plugins
, packaging
, pluggy
@@ -19,12 +21,12 @@
buildPythonPackage rec {
pname = "molecule";
version = "6.0.3";
version = "24.2.0";
format = "pyproject";
src = fetchPypi {
inherit pname version;
hash = "sha256-0qiBBi/MXvHgjB5RJ8BDVNLJUXGVXicL2Cs/v+9y07A=";
hash = "sha256-R8mCp9Bdt4Rtp3/nFZ3rlG8myvsuOI/HGBK+AImkF3Y=";
};
nativeBuildInputs = [
@@ -51,6 +53,14 @@ buildPythonPackage rec {
# tests can't be easily run without installing things from ansible-galaxy
doCheck = false;
passthru.tests.version = (testers.testVersion {
package = molecule;
command = "PY_COLORS=0 ${pname} --version";
}).overrideAttrs (old: {
# workaround the error: Permission denied: '/homeless-shelter'
HOME = "$(mktemp -d)";
});
meta = with lib; {
description = "Molecule aids in the development and testing of Ansible roles";
homepage = "https://github.com/ansible-community/molecule";
@@ -16,13 +16,13 @@
}:
buildPythonPackage rec {
pname = "pinecone-client";
version = "3.0.2";
version = "3.0.3";
pyproject = true;
src = fetchPypi {
pname = "pinecone_client";
inherit version;
hash = "sha256-+aCDAzPuzhB7TvERneI9rWphv/q38jjmGEFtUcRtKcg=";
hash = "sha256-KtPvdiftxNnuJI2XgYYcQ0HW0noVvAX2vvU9lYg303Q=";
};
nativeBuildInputs = [
@@ -1,4 +1,5 @@
{ lib
, stdenv
, fetchFromGitLab
, buildPythonPackage
, pillow
@@ -9,6 +10,8 @@
, pytestCheckHook
, setuptools
, setuptools-scm
, withTesseractSupport ? true
, withCuneiformSupport ? stdenv.hostPlatform.isLinux
}:
buildPythonPackage rec {
@@ -27,12 +30,14 @@ buildPythonPackage rec {
hash = "sha256-gE0+qbHCwpDdxXFY+4rjVU2FbUSfSVrvrVMcWUk+9FU=";
};
patches = [
(substituteAll {
src = ./paths.patch;
inherit cuneiform tesseract;
})
];
patches = [] ++ (lib.optional withTesseractSupport (substituteAll {
src = ./paths-tesseract.patch;
inherit tesseract;
tesseractLibraryLocation = "${tesseract}/lib/libtesseract${stdenv.hostPlatform.extensions.sharedLibrary}";
})) ++ (lib.optional stdenv.hostPlatform.isLinux (substituteAll {
src = ./paths-cuneiform.patch;
inherit cuneiform;
}));
propagatedBuildInputs = [ pillow ];
@@ -45,6 +50,6 @@ buildPythonPackage rec {
changelog = "https://gitlab.gnome.org/World/OpenPaperwork/pyocr/-/blob/${version}/ChangeLog";
description = "A Python wrapper for Tesseract and Cuneiform";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ symphorien ];
maintainers = with maintainers; [ symphorien tomodachi94 ];
};
}
@@ -0,0 +1,101 @@
commit cfc05af26b571e9ca09e9c709c0fb8934e9e46dd
Author: Guillaume Girol <symphorien+git@xlumurb.eu>
Date: Sat Aug 20 17:48:01 2022 +0200
Fix finding cuneiform
diff --git a/src/pyocr/cuneiform.py b/src/pyocr/cuneiform.py
index 2e5b717..35647e2 100644
--- a/src/pyocr/cuneiform.py
+++ b/src/pyocr/cuneiform.py
@@ -25,13 +25,9 @@ from . import builders
from .error import CuneiformError
-# CHANGE THIS IF CUNEIFORM IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY
-CUNEIFORM_CMD = 'cuneiform'
+CUNEIFORM_CMD = '@cuneiform@/bin/cuneiform'
-CUNEIFORM_DATA_POSSIBLE_PATHS = [
- "/usr/local/share/cuneiform",
- "/usr/share/cuneiform",
-]
+CUNEIFORM_DATA_POSSIBLE_PATHS = ['@cuneiform@/share/cuneiform']
LANGUAGES_LINE_PREFIX = "Supported languages: "
LANGUAGES_SPLIT_RE = re.compile("[^a-z]")
diff --git a/tests/test_cuneiform.py b/tests/test_cuneiform.py
index b76e93c..266f6b2 100644
--- a/tests/test_cuneiform.py
+++ b/tests/test_cuneiform.py
@@ -21,7 +21,7 @@ class TestCuneiform(BaseTest):
# XXX is it useful?
which.return_value = True
self.assertTrue(cuneiform.is_available())
- which.assert_called_once_with("cuneiform")
+ which.assert_called_once_with("@cuneiform@/bin/cuneiform")
@patch("subprocess.Popen")
def test_version(self, popen):
@@ -54,7 +54,7 @@ class TestCuneiform(BaseTest):
self.assertIn("eng", langs)
self.assertIn("fra", langs)
popen.assert_called_once_with(
- ["cuneiform", "-l"],
+ ["@cuneiform@/bin/cuneiform", "-l"],
stdout=subprocess.PIPE, stderr=subprocess.STDOUT
)
@@ -110,7 +110,7 @@ class TestCuneiformTxt(BaseTest):
output = cuneiform.image_to_string(self.image)
self.assertEqual(output, self._get_file_content("text").strip())
popen.assert_called_once_with(
- ["cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
+ ["@cuneiform@/bin/cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.STDOUT
)
@@ -126,7 +126,7 @@ class TestCuneiformTxt(BaseTest):
builder=self.builder)
self.assertEqual(output, self._get_file_content("text").strip())
popen.assert_called_once_with(
- ["cuneiform", "-l", "fra", "-f", "text", "-o", self.tmp_filename,
+ ["@cuneiform@/bin/cuneiform", "-l", "fra", "-f", "text", "-o", self.tmp_filename,
"-"],
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.STDOUT
@@ -143,7 +143,7 @@ class TestCuneiformTxt(BaseTest):
builder=self.builder)
self.assertEqual(output, self._get_file_content("text").strip())
popen.assert_called_once_with(
- ["cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
+ ["@cuneiform@/bin/cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.STDOUT
)
@@ -174,7 +174,7 @@ class TestCuneiformTxt(BaseTest):
output = cuneiform.image_to_string(image, builder=self.builder)
self.assertEqual(output, self._get_file_content("text").strip())
popen.assert_called_once_with(
- ["cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
+ ["@cuneiform@/bin/cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.STDOUT
)
@@ -230,7 +230,7 @@ class TestCuneiformWordBox(BaseTest):
output = cuneiform.image_to_string(self.image,
builder=self.builder)
popen.assert_called_once_with(
- ["cuneiform", "-f", "hocr", "-o", self.tmp_filename, "-"],
+ ["@cuneiform@/bin/cuneiform", "-f", "hocr", "-o", self.tmp_filename, "-"],
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.STDOUT
)
@@ -284,7 +284,7 @@ class TestCuneiformLineBox(BaseTest):
output = cuneiform.image_to_string(self.image,
builder=self.builder)
popen.assert_called_once_with(
- ["cuneiform", "-f", "hocr", "-o", self.tmp_filename, "-"],
+ ["@cuneiform@/bin/cuneiform", "-f", "hocr", "-o", self.tmp_filename, "-"],
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.STDOUT
@@ -2,28 +2,8 @@ commit cfc05af26b571e9ca09e9c709c0fb8934e9e46dd
Author: Guillaume Girol <symphorien+git@xlumurb.eu>
Date: Sat Aug 20 17:48:01 2022 +0200
Fix finding tesseract and cuneiform
Fix finding tesseract
diff --git a/src/pyocr/cuneiform.py b/src/pyocr/cuneiform.py
index 2e5b717..35647e2 100644
--- a/src/pyocr/cuneiform.py
+++ b/src/pyocr/cuneiform.py
@@ -25,13 +25,9 @@ from . import builders
from .error import CuneiformError
-# CHANGE THIS IF CUNEIFORM IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY
-CUNEIFORM_CMD = 'cuneiform'
+CUNEIFORM_CMD = '@cuneiform@/bin/cuneiform'
-CUNEIFORM_DATA_POSSIBLE_PATHS = [
- "/usr/local/share/cuneiform",
- "/usr/share/cuneiform",
-]
+CUNEIFORM_DATA_POSSIBLE_PATHS = ['@cuneiform@/share/cuneiform']
LANGUAGES_LINE_PREFIX = "Supported languages: "
LANGUAGES_SPLIT_RE = re.compile("[^a-z]")
diff --git a/src/pyocr/libtesseract/tesseract_raw.py b/src/pyocr/libtesseract/tesseract_raw.py
index 1edec8c..434a336 100644
--- a/src/pyocr/libtesseract/tesseract_raw.py
@@ -90,7 +70,7 @@ index 1edec8c..434a336 100644
- "libtesseract.4.dylib",
- ]
-
+libnames = [ "@tesseract@/lib/libtesseract.so" ]
+libnames = [ "@tesseractLibraryLocation@" ]
g_libtesseract = None
@@ -125,82 +105,6 @@ index 0fe0d20..c1fdd27 100644
TESSDATA_EXTENSION = ".traineddata"
diff --git a/tests/test_cuneiform.py b/tests/test_cuneiform.py
index b76e93c..266f6b2 100644
--- a/tests/test_cuneiform.py
+++ b/tests/test_cuneiform.py
@@ -21,7 +21,7 @@ class TestCuneiform(BaseTest):
# XXX is it useful?
which.return_value = True
self.assertTrue(cuneiform.is_available())
- which.assert_called_once_with("cuneiform")
+ which.assert_called_once_with("@cuneiform@/bin/cuneiform")
@patch("subprocess.Popen")
def test_version(self, popen):
@@ -54,7 +54,7 @@ class TestCuneiform(BaseTest):
self.assertIn("eng", langs)
self.assertIn("fra", langs)
popen.assert_called_once_with(
- ["cuneiform", "-l"],
+ ["@cuneiform@/bin/cuneiform", "-l"],
stdout=subprocess.PIPE, stderr=subprocess.STDOUT
)
@@ -110,7 +110,7 @@ class TestCuneiformTxt(BaseTest):
output = cuneiform.image_to_string(self.image)
self.assertEqual(output, self._get_file_content("text").strip())
popen.assert_called_once_with(
- ["cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
+ ["@cuneiform@/bin/cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.STDOUT
)
@@ -126,7 +126,7 @@ class TestCuneiformTxt(BaseTest):
builder=self.builder)
self.assertEqual(output, self._get_file_content("text").strip())
popen.assert_called_once_with(
- ["cuneiform", "-l", "fra", "-f", "text", "-o", self.tmp_filename,
+ ["@cuneiform@/bin/cuneiform", "-l", "fra", "-f", "text", "-o", self.tmp_filename,
"-"],
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.STDOUT
@@ -143,7 +143,7 @@ class TestCuneiformTxt(BaseTest):
builder=self.builder)
self.assertEqual(output, self._get_file_content("text").strip())
popen.assert_called_once_with(
- ["cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
+ ["@cuneiform@/bin/cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.STDOUT
)
@@ -174,7 +174,7 @@ class TestCuneiformTxt(BaseTest):
output = cuneiform.image_to_string(image, builder=self.builder)
self.assertEqual(output, self._get_file_content("text").strip())
popen.assert_called_once_with(
- ["cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
+ ["@cuneiform@/bin/cuneiform", "-f", "text", "-o", self.tmp_filename, "-"],
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.STDOUT
)
@@ -230,7 +230,7 @@ class TestCuneiformWordBox(BaseTest):
output = cuneiform.image_to_string(self.image,
builder=self.builder)
popen.assert_called_once_with(
- ["cuneiform", "-f", "hocr", "-o", self.tmp_filename, "-"],
+ ["@cuneiform@/bin/cuneiform", "-f", "hocr", "-o", self.tmp_filename, "-"],
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.STDOUT
)
@@ -284,7 +284,7 @@ class TestCuneiformLineBox(BaseTest):
output = cuneiform.image_to_string(self.image,
builder=self.builder)
popen.assert_called_once_with(
- ["cuneiform", "-f", "hocr", "-o", self.tmp_filename, "-"],
+ ["@cuneiform@/bin/cuneiform", "-f", "hocr", "-o", self.tmp_filename, "-"],
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.STDOUT
)
diff --git a/tests/test_libtesseract.py b/tests/test_libtesseract.py
index cc31a50..890c02c 100644
--- a/tests/test_libtesseract.py
+2 -2
View File
@@ -2,11 +2,11 @@
python3Packages.buildPythonApplication rec {
pname = "b4";
version = "0.12.4";
version = "0.13.0";
src = fetchPypi {
inherit pname version;
hash = "sha256-n3mLtthtTN1uAmsmM6dX+Nc7iEo5KzzHiH8iAJmV/Q0=";
hash = "sha256-gsok5aDi5oYJPMXVv3MFAehyKZ5hHBtvwf7z6Ut4dBQ=";
};
# tests make dns requests and fails
@@ -49,7 +49,7 @@ rustPlatform.buildRustPackage rec {
];
meta = with lib; {
description = "A tool to generaet a new Rust project by leveraging a pre-existing git repository as a template";
description = "A tool to generate a new Rust project by leveraging a pre-existing git repository as a template";
homepage = "https://github.com/cargo-generate/cargo-generate";
changelog = "https://github.com/cargo-generate/cargo-generate/blob/v${version}/CHANGELOG.md";
license = with licenses; [ asl20 /* or */ mit ];
+417 -456
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -14,7 +14,7 @@
}:
let
version = "0.5.3";
version = "0.6.0";
in
rustPlatform.buildRustPackage {
pname = "stalwart-mail";
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage {
owner = "stalwartlabs";
repo = "mail-server";
rev = "v${version}";
hash = "sha256-Fbw2f/Q5ZLnQi8PuxbdIxDIyDayhAzvzdn3LMexnWgA=";
hash = "sha256-OHwUWSUW6ovLQTxnuUrolQGhxbhp4YqKSH+ZTpe2WXc=";
fetchSubmodules = true;
};
+3 -3
View File
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "xrestop";
version = "0.5";
version = "0.6";
src = fetchurl {
url = "https://xorg.freedesktop.org/archive/individual/app/xrestop-${version}.tar.bz2";
sha256 = "06ym32famav8qhdms5k7y5i14nfq89hhvfn5g452jjqzkpcsbl49";
url = "https://xorg.freedesktop.org/archive/individual/app/xrestop-${version}.tar.xz";
hash = "sha256-Li7BEcSyeYtdwtwrPsevT2smGUbpA7jhTbBGgx0gOyk=";
};
nativeBuildInputs = [ pkg-config ];
+8 -8
View File
@@ -5,19 +5,20 @@
, qttools
, fio
, cmake
, kauth
, polkit-qt
, extra-cmake-modules
, fetchFromGitHub
}:
stdenv.mkDerivation rec {
name = "kdiskmark";
version = "3.0.0";
version = "3.1.4";
src = fetchFromGitHub {
owner = "jonmagon";
repo = "kdiskmark";
rev = version;
sha256 = "sha256-fDimH0BX0zxGuOMNLhNbMGMr2pS+qbZhflSpoLFK+Ng=";
sha256 = "sha256-JueY7zw9PIo9ETi7pQLpw8FGRhNXYXeXEvTzZGz9lbw=";
fetchSubmodules = true;
};
nativeBuildInputs = [ cmake wrapQtAppsHook ];
@@ -26,13 +27,12 @@ stdenv.mkDerivation rec {
qtbase
qttools
extra-cmake-modules
kauth
polkit-qt
];
postInstall = ''
# so that kdiskmark can be used as unpriviledged user even on non-kde
# (where kauth is not in environment.systemPackages)
ln -s ${kauth}/share/dbus-1/system.d/org.kde.kf5auth.conf $out/share/dbus-1/system.d/00-kdiskmark-needs-org.kde.kf5auth.conf
preConfigure = ''
substituteInPlace CMakeLists.txt \
--replace \$\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\} $out/share/polkit-1/actions
'';
qtWrapperArgs =
+18 -4
View File
@@ -1,22 +1,36 @@
{ lib, stdenv, fetchurl, python3, perl, intltool, flex, texinfo, libiconv, libintl }:
{ lib
, stdenv
, fetchurl
, python3Packages
, flex
, texinfo
, libiconv
, libintl
}:
stdenv.mkDerivation rec {
pname = "recode";
version = "3.7.12";
version = "3.7.14";
# Use official tarball, avoid need to bootstrap/generate build system
src = fetchurl {
url = "https://github.com/rrthomas/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
hash = "sha256-TbHJB28E26oVlyb1AAhH5eWoOuyOXGT4ygQ4P2zaEtU=";
hash = "sha256-eGqv1USFGisTsKN36sFQD4IM5iYVzMLmMLUB53Q7nzM=";
};
nativeBuildInputs = [ python3 python3.pkgs.cython perl intltool flex texinfo libiconv ];
nativeBuildInputs = [ python3Packages.python flex texinfo libiconv ];
buildInputs = [ libintl ];
enableParallelBuilding = true;
doCheck = true;
nativeCheckInputs = with python3Packages; [
cython
setuptools
];
meta = {
homepage = "https://github.com/rrthomas/recode";
description = "Converts files between various character sets and usages";