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,43 @@
{
lib,
buildGoModule,
fetchFromGitHub,
stdenv,
libpcap,
# Can't be build with both pcap and rawsocket tags
withPcap ? (!stdenv.hostPlatform.isLinux && !withRawsocket),
withRawsocket ? (stdenv.hostPlatform.isLinux && !withPcap),
}:
buildGoModule {
pname = "phantomsocks";
version = "0-unstable-2025-08-07";
src = fetchFromGitHub {
owner = "macronut";
repo = "phantomsocks";
rev = "c52f1bde25ed5df07eb4cd010a3d508c5cf023e0";
hash = "sha256-V9XBCHih409IqKx3TM37fvxYzP0bv46M0DgKgj64RFg=";
};
vendorHash = "sha256-0MJlz7HAhRThn8O42yhvU3p5HgTG8AkPM0ksSjWYAC4=";
ldflags = [
"-s"
"-w"
];
buildInputs = lib.optional withPcap libpcap;
tags = lib.optional withPcap "pcap" ++ lib.optional withRawsocket "rawsocket";
meta = with lib; {
homepage = "https://github.com/macronut/phantomsocks";
description = "Cross-platform proxy client/server for Linux/Windows/macOS";
longDescription = ''
A cross-platform proxy tool that could be used to modify TCP packets
to implement TCB desync to bypass detection and censoring.
'';
license = licenses.lgpl3Only;
maintainers = with maintainers; [ oluceps ];
mainProgram = "phantomsocks";
};
}

View File

@@ -0,0 +1,110 @@
{
lib,
stdenv,
cairo,
cmake,
fetchzip,
freetype,
libffi,
libgit2,
libpng,
libuuid,
makeBinaryWrapper,
openssl,
pixman,
SDL2,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "pharo";
version = "10.3.4+3.884643b";
src = fetchzip {
# It is necessary to download from there instead of from the repository because that archive
# also contains artifacts necessary for the bootstrapping.
url = "https://files.pharo.org/vm/pharo-spur64-headless/Linux-x86_64/source/PharoVM-v${finalAttrs.version}-Linux-x86_64-c-src.zip";
hash = "sha256-JBN0gPVMIUFzrdLqrCnCvf4cbZMfpluO2/jCxk3U+M8=";
};
strictDeps = true;
buildInputs = [
cairo
freetype
libffi
libgit2
libpng
libuuid
openssl
pixman
SDL2
];
nativeBuildInputs = [
cmake
makeBinaryWrapper
];
cmakeFlags = [
# Necessary to perform the bootstrapping without already having Pharo available.
"-DGENERATED_SOURCE_DIR=."
"-DALWAYS_INTERACTIVE=ON"
"-DBUILD_IS_RELEASE=ON"
"-DGENERATE_SOURCES=OFF"
# Prevents CMake from trying to download stuff.
"-DBUILD_BUNDLE=OFF"
];
env.NIX_CFLAGS_COMPILE = toString [
"-Wno-incompatible-pointer-types"
];
# Fix missing version.info
preBuild = ''
mkdir -p /build/source/build/
echo "${finalAttrs.version}" > /build/source/build/version.info
'';
installPhase = ''
runHook preInstall
cmake --build . --target=install
mkdir -p "$out/lib"
mkdir "$out/bin"
cp build/vm/*.so* "$out/lib/"
cp build/vm/pharo "$out/bin/pharo"
runHook postInstall
'';
preFixup =
let
libPath = lib.makeLibraryPath (
finalAttrs.buildInputs
++ [
stdenv.cc.cc
"$out"
]
);
in
''
patchelf --allowed-rpath-prefixes "$NIX_STORE" --shrink-rpath "$out/bin/pharo"
ln -s "${libgit2}/lib/libgit2.so" $out/lib/libgit2.so.1.1
wrapProgram "$out/bin/pharo" --argv0 $out/bin/pharo --prefix LD_LIBRARY_PATH ":" "${libPath}"
'';
meta = {
description = "Clean and innovative Smalltalk-inspired environment";
homepage = "https://pharo.org";
changelog = "https://github.com/pharo-project/pharo/releases/";
license = lib.licenses.mit;
longDescription = ''
Pharo's goal is to deliver a clean, innovative, free open-source
Smalltalk-inspired environment. By providing a stable and small core
system, excellent dev tools, and maintained releases, Pharo is an
attractive platform to build and deploy mission critical applications.
'';
mainProgram = "pharo";
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,58 @@
{
lib,
fetchFromGitHub,
python3Packages,
versionCheckHook,
}:
python3Packages.buildPythonApplication rec {
pname = "phase-cli";
version = "1.20.0";
pyproject = true;
src = fetchFromGitHub {
owner = "phasehq";
repo = "cli";
tag = "v${version}";
hash = "sha256-vhjDXQutRdkeeId2shPWFtoZGH6FXvQcWhH8MLe9JqI=";
};
build-system = with python3Packages; [
setuptools
];
dependencies = with python3Packages; [
keyring
questionary
cffi
requests
pynacl
rich
pyyaml
toml
python-hcl2
];
nativeCheckInputs = [
versionCheckHook
python3Packages.pytestCheckHook
];
enabledTestPaths = [
"tests/*.py"
];
pythonRelaxDeps = true;
versionCheckProgram = "${placeholder "out"}/bin/${meta.mainProgram}";
versionCheckProgramArg = "--version";
meta = {
description = "Securely manage and sync environment variables with Phase";
homepage = "https://github.com/phasehq/cli";
changelog = "https://github.com/phasehq/cli/releases/tag/${src.tag}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ genga898 ];
mainProgram = "phase";
};
}

View File

@@ -0,0 +1,40 @@
From 6ac2f207e8d8e1d16ee73198abccc64d20c5f608 Mon Sep 17 00:00:00 2001
From: benaryorg <binary@benary.org>
Date: Thu, 7 Nov 2024 03:27:52 +0000
Subject: [PATCH 1/2] proper pthread return value
*pthread_create(3)* states that the ways for a pthread to exit includes:
> It returns from start_routine(). This is equivalent to calling pthread_exit(3) with the value supplied in the return statement.
This "retval" is a void pointer which can be anything.
In this case, since all threads are always joined with a parameter of NULL for the `void**` to store the retval this isn't really relevant for providing a meaningful return value.
However a `void*` function must return a `void*`, otherwise compilers will complain:
> pHash.cpp:416:1: warning: no return statement in function returning non-void [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wreturn-type-Wreturn-type8;;]
Therefore returning NULL seems reasonable.
As for the choice of NULL vs. nullptr or any other value, NULL is already widely used in the file.
Long story short: this fixes a compiler warning/error.
Signed-off-by: benaryorg <binary@benary.org>
---
src/pHash.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/pHash.cpp b/src/pHash.cpp
index 07b03ad..23bbbf3 100644
--- a/src/pHash.cpp
+++ b/src/pHash.cpp
@@ -417,6 +417,7 @@ void *ph_image_thread(void *p)
memcpy(dp->hash, &hash, sizeof(hash));
dp->hash_length = 1;
}
+ return NULL;
}
DP** ph_dct_image_hashes(char *files[], int count, int threads)
--
2.44.1

View File

@@ -0,0 +1,52 @@
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
cimg,
imagemagick,
}:
stdenv.mkDerivation rec {
pname = "pHash";
version = "0.9.6";
buildInputs = [ cimg ];
# CImg.h calls to external binary `convert` from the `imagemagick` package
# at runtime
propagatedBuildInputs = [ imagemagick ];
nativeBuildInputs = [ pkg-config ];
configureFlags = [
"--enable-video-hash=no"
"--enable-audio-hash=no"
];
postInstall = ''
cp ${cimg}/include/CImg.h $out/include/
'';
src = fetchFromGitHub {
owner = "clearscene";
repo = "pHash";
rev = version;
sha256 = "sha256-frISiZ89ei7XfI5F2nJJehfQZsk0Mlb4n91q/AiZ2vA=";
};
NIX_LDFLAGS = "-lfftw3_threads";
patches = [
# proper pthread return value (https://github.com/clearscene/pHash/pull/20)
./0001-proper-pthread-return-value.patch
];
meta = with lib; {
description = "Compute the perceptual hash of an image";
license = licenses.gpl3;
maintainers = [ maintainers.imalsogreg ];
platforms = platforms.all;
homepage = "http://www.phash.org";
downloadPage = "https://github.com/clearscene/pHash";
};
}

View File

@@ -0,0 +1,63 @@
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
cmake,
gtk3,
wxGTK32,
curl,
gettext,
glib,
indi-full,
libnova,
wrapGAppsHook3,
}:
stdenv.mkDerivation rec {
pname = "phd2";
version = "2.6.13";
src = fetchFromGitHub {
owner = "OpenPHDGuiding";
repo = "phd2";
rev = "v${version}";
sha256 = "sha256-GnT/tyk975caqESBSu4mdX5IWGi5O+RljLSd+CwoGWo=";
};
nativeBuildInputs = [
cmake
pkg-config
wrapGAppsHook3
];
buildInputs = [
gtk3
wxGTK32
curl
gettext
glib
indi-full
libnova
];
cmakeFlags = [
"-DOPENSOURCE_ONLY=1"
];
# Fix broken wrapped name scheme by moving wrapped binary to where wrapper expects it
postFixup = ''
mv $out/bin/.phd2.bin-wrapped $out/bin/.phd2-wrapped.bin
'';
meta = {
homepage = "https://openphdguiding.org/";
description = "Telescope auto-guidance application";
changelog = "https://github.com/OpenPHDGuiding/phd2/releases/tag/v${version}";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
returntoreality
];
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
fetchFromGitHub,
php,
versionCheckHook,
}:
php.buildComposerProject2 (finalAttrs: {
pname = "phel";
version = "0.23.1";
src = fetchFromGitHub {
owner = "phel-lang";
repo = "phel-lang";
tag = "v${finalAttrs.version}";
hash = "sha256-v/xRYzKCwF1kKDV00jK7Cwz3TupkNZVec/h2JnhVq4E=";
};
vendorHash = "sha256-oABfUeL52XFKUui1tBuoyK2B7kBcYdLuVo4OllX07AQ=";
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
meta = {
changelog = "https://github.com/phel-lang/phel-lang/releases/tag/v${finalAttrs.version}";
description = "Functional programming language that compiles to PHP. A Lisp dialect inspired by Clojure and Janet";
homepage = "https://github.com/phel-lang/phel-lang";
license = lib.licenses.mit;
mainProgram = "phel";
maintainers = [ ];
};
})

View File

@@ -0,0 +1,64 @@
{
lib,
fetchFromGitHub,
installShellFiles,
rustPlatform,
pkg-config,
openssl,
scdoc,
which,
}:
rustPlatform.buildRustPackage rec {
pname = "phetch";
version = "1.2.0";
outputs = [
"out"
"man"
];
src = fetchFromGitHub {
owner = "xvxx";
repo = "phetch";
tag = "v${version}";
hash = "sha256-J+ka7/B37WzVPPE2Krkd/TIiVwuKfI2QYWmT0JHgBGQ=";
};
cargoHash = "sha256-2lbQAM3gdytXsoMFzKwLWA1hvQIJf1vBdMRpYx/VLVg=";
nativeBuildInputs = [
installShellFiles
pkg-config
scdoc
which
];
buildInputs = [ openssl ];
postInstall = ''
make manual
installManPage doc/phetch.1
'';
doCheck = true;
meta = {
description = "Quick lil gopher client for your terminal, written in rust";
mainProgram = "phetch";
longDescription = ''
phetch is a terminal client designed to help you quickly navigate the gophersphere.
- <1MB executable for Linux, Mac, and NetBSD
- Technicolor design (based on GILD)
- No-nonsense keyboard navigation
- Supports Gopher searches, text and menu pages, and downloads
- Save your favorite Gopher sites with bookmarks
- Opt-in history tracking
- Secure Gopher support (TLS)
- Tor support
'';
changelog = "https://github.com/xvxx/phetch/releases/tag/v${version}";
homepage = "https://github.com/xvxx/phetch";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ felixalbrigtsen ];
};
}

View File

@@ -0,0 +1,32 @@
{
lib,
stdenvNoCC,
fetchurl,
}:
stdenvNoCC.mkDerivation rec {
pname = "phinger-cursors";
version = "2.1";
src = fetchurl {
url = "https://github.com/phisch/phinger-cursors/releases/download/v${version}/phinger-cursors-variants.tar.bz2";
sha256 = "sha256-3bcxDGK/jg4nmKJPioZ+Svexejl1e6RcheE/OYj2Rvw=";
};
sourceRoot = ".";
installPhase = ''
runHook preInstall
mkdir -p $out/share/icons
cp -r ./phinger-cursors* $out/share/icons
runHook postInstall
'';
meta = with lib; {
description = "Most over-engineered cursor theme";
homepage = "https://github.com/phisch/phinger-cursors";
platforms = platforms.unix;
license = licenses.cc-by-sa-40;
maintainers = with maintainers; [ moni ];
};
}

View File

@@ -0,0 +1,119 @@
{
lib,
stdenv,
stdenvNoCC,
fetchFromGitLab,
meson,
ninja,
pkg-config,
python3,
wayland-scanner,
wrapGAppsHook3,
libinput,
gobject-introspection,
mutter,
gnome-desktop,
glib,
gtk3,
json-glib,
wayland,
libdrm,
libxkbcommon,
wlroots_0_19,
xorg,
nix-update-script,
nixosTests,
testers,
gmobile,
}:
let
# Derived from subprojects/gvdb.wrap
gvdb = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = "gvdb";
rev = "4758f6fb7f889e074e13df3f914328f3eecb1fd3";
hash = "sha256-4mqoHPlrMPenoGPwDqbtv4/rJ/uq9Skcm82pRvOxNIk=";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "phoc";
version = "0.48.0";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
group = "World";
owner = "Phosh";
repo = "phoc";
rev = "v${finalAttrs.version}";
hash = "sha256-ve69Na6iZwsNM0y7AZ0p/CObUfE6uEbhOV4sb5NaCYg=";
};
nativeBuildInputs = [
gobject-introspection
meson
ninja
pkg-config
python3
wayland-scanner
wrapGAppsHook3
];
buildInputs = [
libdrm.dev
libxkbcommon
libinput
glib
gtk3
gnome-desktop
# For keybindings settings schemas
mutter
json-glib
wayland
finalAttrs.wlroots
xorg.xcbutilwm
gmobile
];
postPatch = ''
ln -s ${gvdb} subprojects/gvdb
'';
mesonFlags = [ "-Dembed-wlroots=disabled" ];
# Patch wlroots to remove a check which crashes Phosh.
# This patch can be found within the phoc source tree.
wlroots = wlroots_0_19.overrideAttrs (old: {
patches = (old.patches or [ ]) ++ [
(stdenvNoCC.mkDerivation {
name = "0001-Revert-layer-shell-error-on-0-dimension-without-anch.patch";
inherit (finalAttrs) src;
preferLocalBuild = true;
allowSubstitutes = false;
installPhase = "cp subprojects/packagefiles/wlroots/$name $out";
})
];
});
passthru = {
tests.phosh = nixosTests.phosh;
tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
};
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Wayland compositor for mobile phones like the Librem 5";
mainProgram = "phoc";
homepage = "https://gitlab.gnome.org/World/Phosh/phoc";
license = licenses.gpl3Plus;
maintainers = with maintainers; [
masipcat
zhaofengli
armelclo
];
platforms = platforms.linux;
};
})

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
python3,
fetchFromGitHub,
exiftool,
makeWrapper,
}:
let
pythonEnv = python3.withPackages (p: with p; [ tqdm ]);
in
stdenv.mkDerivation rec {
pname = "phockup";
version = "1.13.0";
src = fetchFromGitHub {
owner = "ivandokov";
repo = "phockup";
rev = version;
sha256 = "sha256-44UjxTbC2XK+NThvesROdd7aGP7zr7g7bQiQZv2TvvM=";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
# based roughly on https://github.com/ivandokov/phockup#linux-without-snap
mkdir -p $out/bin $out/opt
mv * $out/opt
makeWrapper ${pythonEnv.interpreter} $out/bin/phockup --add-flags "$out/opt/phockup.py" --suffix PATH : ${lib.makeBinPath [ exiftool ]}
runHook postInstall
'';
meta = with lib; {
description = "Media sorting tool to organize photos and videos from your camera in folders by year, month and day";
homepage = "https://github.com/ivandokov/phockup";
license = licenses.mit;
maintainers = with maintainers; [ aanderse ];
mainProgram = "phockup";
};
}

View File

@@ -0,0 +1,70 @@
{
stdenv,
lib,
fetchurl,
pkg-config,
libsoup_3,
libxml2,
meson,
ninja,
gnome,
udevCheckHook,
}:
stdenv.mkDerivation rec {
pname = "phodav";
version = "3.0";
outputs = [
"out"
"dev"
"lib"
];
src = fetchurl {
url = "mirror://gnome/sources/phodav/${version}/phodav-${version}.tar.xz";
sha256 = "OS7C0G1QMA3P8e8mmiqYUwTim841IAAvyiny7cHRONE=";
};
nativeBuildInputs = [
pkg-config
meson
ninja
udevCheckHook
];
buildInputs = [
libsoup_3
libxml2
];
mesonFlags = [
"-Davahi=disabled"
"-Dsystemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
"-Dgtk_doc=disabled"
"-Dudevrulesdir=${placeholder "out"}/lib/udev/rules.d"
];
NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-lintl";
doInstallCheck = true;
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
};
};
# We need to do this in pre-configure before the data/ folder disappears.
preConfigure = ''
install -vDt $out/lib/udev/rules.d/ data/*-spice-webdavd.rules
'';
meta = with lib; {
description = "WebDav server implementation and library using libsoup";
homepage = "https://gitlab.gnome.org/GNOME/phodav";
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ wegank ];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,69 @@
{
lib,
stdenv,
fetchurl,
unzip,
autoPatchelfHook,
libgcc,
libxcrypt-legacy,
zlib,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "phoenixd";
version = "0.6.3";
src =
let
selectSystem =
attrs:
attrs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
suffix = selectSystem {
aarch64-darwin = "macos-arm64";
x86_64-darwin = "macos-x64";
x86_64-linux = "linux-x64";
aarch64-linux = "linux-arm64";
};
in
fetchurl {
url = "https://github.com/ACINQ/phoenixd/releases/download/v${finalAttrs.version}/phoenixd-${finalAttrs.version}-${suffix}.zip";
hash = selectSystem {
aarch64-darwin = "sha256-6yZmvoVCCW3ulYB8khJ8khtk8o/AiN/0tbwGwpH8ekA=";
x86_64-darwin = "sha256-aZy984ttf1NaCo+5LU/03CTPmcpb2N2rfRd3H5Vc0hA=";
x86_64-linux = "sha256-2ir2mfjp+2ExdT6drrbrTJcJzauXD7wtE3oTJ+J0WpI=";
aarch64-linux = "sha256-zXJ4fihwM2a04Uv2LcctcmN2PiZLtjGQwpxUVP/Sn6Y=";
};
};
nativeBuildInputs = [ unzip ] ++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ];
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
libgcc # provides libgcc_s.so.1
libxcrypt-legacy # provides libcrypt.so.1
zlib # provides libz.so.1
];
installPhase = ''
runHook preInstall
install -Dm0755 phoenix-cli $out/bin/phoenix-cli
install -Dm0755 phoenixd $out/bin/phoenixd
runHook postInstall
'';
passthru.updateScript = ./update.sh;
meta = {
description = "Server equivalent of the popular Phoenix wallet for mobile";
homepage = "https://phoenix.acinq.co/server";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ prusnak ];
platforms = [
"aarch64-linux"
"aarch64-darwin"
"x86_64-linux"
"x86_64-darwin"
];
};
})

View File

@@ -0,0 +1,24 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p bash nix curl coreutils common-updater-scripts nix-update
set -eou pipefail
currentVersion=$(nix-instantiate --eval -E "with import ./. {}; phoenixd.version or (lib.getVersion phoenixd)" | tr -d '"')
nix-update phoenixd --system x86_64-linux
latestVersion=$(nix-instantiate --eval -E "with import ./. {}; phoenixd.version or (lib.getVersion phoenixd)" | tr -d '"')
echo "latest version: $latestVersion"
echo "current version: $currentVersion"
if [[ "$latestVersion" == "$currentVersion" ]]; then
echo "package is up-to-date"
exit 0
fi
for system in \
aarch64-linux \
x86_64-darwin \
aarch64-darwin; do
hash=$(nix --extra-experimental-features nix-command hash convert --to sri --hash-algo sha256 $(nix-prefetch-url $(nix-instantiate --eval -E "with import ./. {}; phoenixd.src.url" --system "$system" | tr -d '"')))
update-source-version phoenixd $latestVersion $hash --system=$system --ignore-same-version
done

View File

@@ -0,0 +1,56 @@
{
lib,
stdenv,
fetchurl,
php,
which,
makeWrapper,
gnumake,
gcc,
callPackage,
}:
stdenv.mkDerivation rec {
pname = "phoronix-test-suite";
version = "10.8.4";
src = fetchurl {
url = "https://phoronix-test-suite.com/releases/phoronix-test-suite-${version}.tar.gz";
sha256 = "sha256-HyCS1TbAoxk+/FPkpQ887mXA7xp40x5UBPHGY//3t/Q=";
};
buildInputs = [ php ];
nativeBuildInputs = [
which
makeWrapper
];
installPhase = ''
runHook preInstall
./install-sh $out
wrapProgram $out/bin/phoronix-test-suite \
--set PHP_BIN ${php}/bin/php \
--prefix PATH : ${
lib.makeBinPath [
gnumake
gcc
]
}
runHook postInstall
'';
passthru.tests = {
simple-execution = callPackage ./tests.nix { };
};
meta = with lib; {
description = "Open-Source, Automated Benchmarking";
homepage = "https://www.phoronix-test-suite.com/";
maintainers = with maintainers; [ davidak ];
license = licenses.gpl3;
platforms = with platforms; unix;
mainProgram = "phoronix-test-suite";
};
}

View File

@@ -0,0 +1,19 @@
{ runCommand, phoronix-test-suite }:
let
inherit (phoronix-test-suite) pname version;
in
runCommand "${pname}-tests" { meta.timeout = 60; } ''
# automatic initial setup to prevent interactive questions
${phoronix-test-suite}/bin/phoronix-test-suite enterprise-setup >/dev/null
# get version of installed program and compare with package version
if [[ `${phoronix-test-suite}/bin/phoronix-test-suite version` != *"${version}"* ]]; then
echo "Error: program version does not match package version"
exit 1
fi
# run dummy command
${phoronix-test-suite}/bin/phoronix-test-suite dummy_module.dummy-command >/dev/null
# needed for Nix to register the command as successful
touch $out
''

View File

@@ -0,0 +1,48 @@
{
lib,
fetchFromGitHub,
python3Packages,
gitUpdater,
}:
python3Packages.buildPythonApplication rec {
pname = "photini";
version = "2024.9.1";
pyproject = true;
src = fetchFromGitHub {
owner = "jim-easterbrook";
repo = "Photini";
tag = version;
hash = "sha256-0jr1mNejCF0yW9LkrrsOTcE4ZPGZrMU9Pnt0eXD+3YQ=";
};
build-system = with python3Packages; [ setuptools-scm ];
dependencies = with python3Packages; [
pyside6
cachetools
appdirs
chardet
exiv2
filetype
requests
requests-oauthlib
requests-toolbelt
pyenchant
gpxpy
keyring
pillow
toml
];
passthru.updateScript = gitUpdater { };
meta = {
homepage = "https://github.com/jim-easterbrook/Photini";
changelog = "https://photini.readthedocs.io/en/release-${version}/misc/changelog.html";
description = "Easy to use digital photograph metadata (Exif, IPTC, XMP) editing application";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ zebreus ];
mainProgram = "photini";
};
}

View File

@@ -0,0 +1,65 @@
{
lib,
python3Packages,
fetchFromGitHub,
gettext,
gdk-pixbuf,
gobject-introspection,
wrapGAppsHook3,
}:
python3Packages.buildPythonApplication rec {
pname = "photocollage";
version = "1.5.0";
pyproject = true;
src = fetchFromGitHub {
owner = "adrienverge";
repo = "PhotoCollage";
rev = "v${version}";
hash = "sha256-YEkQ5yVFCBBFg8IL5ExvZIi0moaG/c0LtsIkphuzuog=";
};
build-system = with python3Packages; [ setuptools ];
dependencies = with python3Packages; [
pillow
pycairo
pygobject3
];
buildInputs = [
gdk-pixbuf
];
nativeBuildInputs = [
gettext
gobject-introspection
wrapGAppsHook3
];
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
postInstall = ''
# Based on the debian package's list of files. Link:
# https://packages.debian.org/bookworm/all/photocollage/filelist
install -Dm0644 ./data/photocollage.desktop $out/share/applications/photocollage.desktop
install -Dm0644 ./data/photocollage.appdata.xml $out/share/appdata/photocollage.appdata.xml
cp -r ./data/icons $out/share/icons
'';
pythonImportsCheck = [ "photocollage" ];
meta = {
description = "Graphical tool to make photo collage posters";
homepage = "https://github.com/adrienverge/PhotoCollage";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ eliandoran ];
platforms = lib.platforms.linux;
mainProgram = "photocollage";
};
}

View File

@@ -0,0 +1,87 @@
{
lib,
fetchFromGitHub,
buildGoModule,
buildNpmPackage,
makeWrapper,
exiftool,
ffmpeg,
testers,
photofield,
nix-update-script,
}:
let
version = "0.18.0";
src = fetchFromGitHub {
owner = "SmilyOrg";
repo = "photofield";
tag = "v${version}";
hash = "sha256-ZPEkvh+wVudDz7h+5V8I90myyi4ksTU5B5ffI7DrCL0=";
};
webui = buildNpmPackage {
inherit src version;
pname = "photofield-ui";
sourceRoot = "${src.name}/ui";
npmDepsHash = "sha256-ULl4wHEo/PP0Y0O5po7eRDd+T/UjkZhQGIj262WFtFU=";
installPhase = ''
mkdir -p $out/share
mv dist $out/share/photofield-ui
'';
};
in
buildGoModule {
pname = "photofield";
inherit version src;
vendorHash = "sha256-m0RJgwDO+IcMCbtq2WZixMzZWtglHM6wpoPKOEU0CCw=";
preBuild = ''
cp -r ${webui}/share/photofield-ui ui/dist
'';
ldflags = [
"-s"
"-w"
"-X main.version=${version}"
"-X main.builtBy=Nix"
];
tags = [ "embedui" ];
doCheck = false; # tries to modify filesytem
nativeBuildInputs = [ makeWrapper ];
postInstall = ''
wrapProgram $out/bin/photofield \
--prefix PATH : "${
lib.makeBinPath [
exiftool
ffmpeg
]
}"
'';
passthru = {
updateScript = nix-update-script { };
tests.version = testers.testVersion {
package = photofield;
command = "photofield -version";
};
};
meta = with lib; {
description = "Experimental fast photo viewer";
homepage = "https://github.com/SmilyOrg/photofield";
license = licenses.mit;
mainProgram = "photofield";
maintainers = with maintainers; [ dit7ya ];
};
}

View File

@@ -0,0 +1,42 @@
{
lib,
stdenv,
fetchFromGitHub,
libsForQt5,
graphicsmagick,
}:
stdenv.mkDerivation rec {
pname = "photoflare";
version = "1.6.13";
src = fetchFromGitHub {
owner = "PhotoFlare";
repo = "photoflare";
rev = "v${version}";
sha256 = "sha256-0eAuof/FBro2IKxkJ6JHauW6C96VTPxy7QtfPVzPFi4=";
};
nativeBuildInputs = [
libsForQt5.qmake
libsForQt5.wrapQtAppsHook
libsForQt5.qttools
];
buildInputs = [
libsForQt5.qtbase
graphicsmagick
];
qmakeFlags = [ "PREFIX=${placeholder "out"}" ];
env.NIX_CFLAGS_COMPILE = "-I${graphicsmagick}/include/GraphicsMagick";
meta = with lib; {
description = "Cross-platform image editor with a powerful features and a very friendly graphical user interface";
mainProgram = "photoflare";
homepage = "https://photoflare.io";
maintainers = [ maintainers.omgbebebe ];
license = licenses.gpl3Plus;
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,33 @@
{
buildGoModule,
fetchFromSourcehut,
lib,
xorg,
}:
buildGoModule {
pname = "photon";
version = "unstable-2022-01-11";
src = fetchFromSourcehut {
owner = "~ghost08";
repo = "photon";
rev = "5d1f7dd8d0d526096886b03c7bc0ef56cbdd6d79";
sha256 = "sha256-2RSGLWfthcChd5YhDSBfLSch6wuTUv1Sh1f7flgzQwc=";
};
buildInputs = [ xorg.libX11 ];
proxyVendor = true;
vendorHash = "sha256-n9XNqXIoqn+f0xKCenJWXUYXtQhtbNBar68onWH/WV4=";
meta = with lib; {
description = "RSS/Atom reader with the focus on speed, usability and a bit of unix philosophy";
mainProgram = "photon";
homepage = "https://sr.ht/~ghost08/photon";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ kmein ];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,44 @@
{
lib,
python3Packages,
fetchFromGitHub,
}:
python3Packages.buildPythonApplication rec {
pname = "photon";
version = "1.3.0";
format = "other";
src = fetchFromGitHub {
owner = "s0md3v";
repo = "Photon";
rev = "v${version}";
sha256 = "02z1xj72bq35dilr4b6njry4kixz6j2a3ag02nla98q0fvgmgnvy";
};
dontBuild = true;
doCheck = false;
propagatedBuildInputs = with python3Packages; [
requests
urllib3
tld
];
installPhase = ''
mkdir -p "$out"/{bin,share/photon}
cp -R photon.py core plugins $out/share/photon
makeWrapper ${python3Packages.python.interpreter} $out/bin/photon \
--set PYTHONPATH "$PYTHONPATH:$out/share/photon" \
--add-flags "-O $out/share/photon/photon.py"
'';
meta = with lib; {
description = "Lightning fast web crawler which extracts URLs, files, intel & endpoints from a target";
homepage = "https://github.com/s0md3v/Photon";
license = licenses.gpl3;
maintainers = [ ];
mainProgram = "photon";
};
}

View File

@@ -0,0 +1,71 @@
{
lib,
stdenv,
fetchurl,
makeWrapper,
temurin-jre-bin-17,
bash,
suitesparse,
nixosTests,
}:
stdenv.mkDerivation rec {
pname = "photonvision";
version = "2025.2.1";
src =
{
"x86_64-linux" = fetchurl {
url = "https://github.com/PhotonVision/photonvision/releases/download/v${version}/photonvision-v${version}-linuxx64.jar";
hash = "sha256-yEb6GCt29DjZNDsIqDvF/AiCw3QVMxUFKQM22OlMl7Q=";
};
"aarch64-linux" = fetchurl {
url = "https://github.com/PhotonVision/photonvision/releases/download/v${version}/photonvision-v${version}-linuxarm64.jar";
hash = "sha256-mNQk8gaTASsmyJUpLLIbG7QRMjbdSN2LMCXx6j3gbCU=";
};
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
dontUnpack = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
install -D $src $out/lib/photonvision.jar
makeWrapper ${temurin-jre-bin-17}/bin/java $out/bin/photonvision \
--prefix LD_LIBRARY_PATH : ${
lib.makeLibraryPath [
stdenv.cc.cc
suitesparse
]
} \
--prefix PATH : ${
lib.makeBinPath [
temurin-jre-bin-17
bash.out
]
} \
--add-flags "-jar $out/lib/photonvision.jar"
runHook postInstall
'';
passthru.tests = {
starts-web-server = nixosTests.photonvision;
};
meta = with lib; {
description = "Free, fast, and easy-to-use computer vision solution for the FIRST Robotics Competition";
homepage = "https://photonvision.org/";
license = licenses.gpl3;
maintainers = with maintainers; [ max-niederman ];
mainProgram = "photonvision";
platforms = [
"x86_64-linux"
"aarch64-linux"
];
};
}

View File

@@ -0,0 +1,63 @@
{
lib,
buildGoModule,
coreutils,
python3,
src,
version,
pkg-config,
vips,
symlinkJoin,
}:
let
# we need to copy these, to add the symlinks, so the linker actually finds these libraries
libtensorflow = symlinkJoin {
name = "libtensorflow";
paths = [ "${python3.pkgs.tensorflow-bin}/${python3.sitePackages}/tensorflow" ];
postBuild = ''
ln -s "$out/libtensorflow_cc.so.2" "$out/libtensorflow.so"
ln -s "$out/libtensorflow_framework.so.2" "$out/libtensorflow_framework.so"
'';
};
in
buildGoModule {
inherit src version;
pname = "photoprism-backend";
nativeBuildInputs = [
pkg-config
];
buildInputs = [
coreutils
libtensorflow
vips
];
ldflags = [
"-s"
"-w"
"-X main.version=${version}"
];
postPatch = ''
substituteInPlace internal/commands/passwd.go --replace-fail '/bin/stty' "${coreutils}/bin/stty"
'';
vendorHash = "sha256-8uy0uLhGOyedqi3AvMsEdDQnFvGgeeZcL4tFgI6bzU8=";
subPackages = [ "cmd/photoprism" ];
# https://github.com/mattn/go-sqlite3/issues/822
CGO_CFLAGS = "-Wno-return-local-addr -I${libtensorflow}/include";
CGO_LDFLAGS = "-L${libtensorflow} -ltensorflow_framework";
meta = with lib; {
homepage = "https://photoprism.app";
description = "Photoprism's backend";
license = licenses.agpl3Only;
maintainers = with maintainers; [ benesim ];
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
buildNpmPackage,
src,
version,
}:
buildNpmPackage {
inherit src version;
pname = "photoprism-frontend";
postPatch = ''
cd frontend
'';
npmDepsHash = "sha256-rfZ6VE3JRR8MrB61DqueXWNoOjDE+GJnyrNujGyc8wc=";
installPhase = ''
runHook preInstall
mkdir $out
cp -r ../assets $out/
runHook postInstall
'';
meta = with lib; {
homepage = "https://photoprism.app";
description = "Photoprism's frontend";
license = licenses.agpl3Only;
maintainers = with maintainers; [ benesim ];
};
}

View File

@@ -0,0 +1,105 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchzip,
darktable,
rawtherapee,
ffmpeg,
libheif,
exiftool,
imagemagick,
makeWrapper,
testers,
callPackage,
nixosTests,
librsvg,
}:
let
version = "250426-27ec7a128";
pname = "photoprism";
src = fetchFromGitHub {
owner = "photoprism";
repo = "photoprism";
rev = version;
hash = "sha256-wsSWCTFfKQ+8aE8GKvXpA49LbBLMTE1lsJMYFLvquBM=";
};
backend = callPackage ./backend.nix { inherit src version; };
frontend = callPackage ./frontend.nix { inherit src version; };
fetchModel =
{ name, hash }:
fetchzip {
inherit hash;
url = "https://dl.photoprism.org/tensorflow/${name}.zip";
stripRoot = false;
};
facenet = fetchModel {
name = "facenet";
hash = "sha256-aS5kkNhxOLSLTH/ipxg7NAa1w9X8iiG78jmloR1hpRo=";
};
nasnet = fetchModel {
name = "nasnet";
hash = "sha256-bF25jPmZLyeSWy/CGXZE/VE2UupEG2q9Jmr0+1rUYWE=";
};
nsfw = fetchModel {
name = "nsfw";
hash = "sha256-zy/HcmgaHOY7FfJUY6I/yjjsMPHR2Ote9ppwqemBlfg=";
};
assets_path = "$out/share/photoprism";
in
stdenv.mkDerivation (finalAttrs: {
inherit pname version;
nativeBuildInputs = [
makeWrapper
];
dontUnpack = true;
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/bin ${assets_path}
# install backend
ln -s ${backend}/bin/photoprism $out/bin/photoprism
wrapProgram $out/bin/photoprism \
--set PHOTOPRISM_ASSETS_PATH ${assets_path} \
--set PHOTOPRISM_DARKTABLE_BIN ${darktable}/bin/darktable-cli \
--set PHOTOPRISM_RAWTHERAPEE_BIN ${rawtherapee}/bin/rawtherapee-cli \
--set PHOTOPRISM_HEIFCONVERT_BIN ${libheif}/bin/heif-dec \
--set PHOTOPRISM_RSVGCONVERT_BIN ${librsvg}/bin/rsvg-convert \
--set PHOTOPRISM_FFMPEG_BIN ${ffmpeg}/bin/ffmpeg \
--set PHOTOPRISM_EXIFTOOL_BIN ${exiftool}/bin/exiftool \
--set PHOTOPRISM_IMAGEMAGICK_BIN ${imagemagick}/bin/convert
# install frontend
ln -s ${frontend}/assets/* ${assets_path}
# install tensorflow models
ln -s ${nasnet}/nasnet ${assets_path}
ln -s ${nsfw}/nsfw ${assets_path}
ln -s ${facenet}/facenet ${assets_path}
runHook postInstall
'';
passthru.tests.version = testers.testVersion { package = finalAttrs.finalPackage; };
passthru.tests.photoprism = nixosTests.photoprism;
meta = with lib; {
homepage = "https://photoprism.app";
description = "Personal Photo Management powered by Go and Google TensorFlow";
license = licenses.agpl3Only;
maintainers = with maintainers; [ benesim ];
mainProgram = "photoprism";
};
})

View File

@@ -0,0 +1,80 @@
{
lib,
stdenv,
fetchurl,
cmake,
extra-cmake-modules,
exiv2,
graphicsmagick,
libarchive,
libraw,
mpv,
pugixml,
qt6,
qt6Packages,
zxing-cpp,
}:
stdenv.mkDerivation rec {
pname = "photoqt";
version = "4.9.2";
src = fetchurl {
url = "https://photoqt.org/pkgs/photoqt-${version}.tar.gz";
hash = "sha256-kPhxWekecE57wY45qLy/EnfmjFLn0cEmZ+4qWHGbL4U=";
};
nativeBuildInputs = [
cmake
extra-cmake-modules
qt6.qttools
qt6.wrapQtAppsHook
];
buildInputs = [
exiv2
graphicsmagick
libarchive
libraw
pugixml
qt6.qtbase
qt6.qtcharts
qt6.qtdeclarative
qt6.qtimageformats
qt6.qtlocation
qt6.qtmultimedia
qt6.qtpositioning
qt6.qtsvg
qt6Packages.poppler
zxing-cpp
]
++ lib.optionals stdenv.hostPlatform.isLinux [
mpv
qt6.qtwayland
];
cmakeFlags = [
(lib.cmakeBool "DEVIL" false)
(lib.cmakeBool "CHROMECAST" false)
(lib.cmakeBool "FREEIMAGE" false)
(lib.cmakeBool "IMAGEMAGICK" false)
(lib.cmakeBool "VIDEO_MPV" (!stdenv.hostPlatform.isDarwin))
];
env.MAGICK_LOCATION = "${graphicsmagick}/include/GraphicsMagick";
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
mkdir -p $out/Applications
mv $out/bin/photoqt.app $out/Applications
makeWrapper $out/{Applications/photoqt.app/Contents/MacOS,bin}/photoqt
'';
meta = {
description = "Simple, yet powerful and good looking image viewer";
homepage = "https://photoqt.org/";
license = lib.licenses.gpl2Plus;
mainProgram = "photoqt";
maintainers = with lib.maintainers; [ wegank ];
platforms = lib.platforms.unix;
};
}

View File

@@ -0,0 +1,50 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
libsForQt5,
exiv2,
}:
stdenv.mkDerivation rec {
pname = "phototonic";
version = "2.1";
src = fetchFromGitHub {
owner = "oferkv";
repo = "phototonic";
rev = "v${version}";
hash = "sha256-BxJgTKblOKIwt88+PT7XZE0mk0t2B4SfsdXpQHttUTM=";
};
patches = [
(fetchpatch {
name = "exiv2-0.28.patch";
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/phototonic/-/raw/fcfa17307ad8988750cc09200188c9365c2c0b79/exiv2-0.28.patch";
hash = "sha256-EayJYM4qobUWosxV2Ylj+2eiyhk1jM8OfnFZDbVdGII=";
})
];
nativeBuildInputs = [
libsForQt5.qmake
libsForQt5.wrapQtAppsHook
];
buildInputs = [
libsForQt5.qtbase
exiv2
];
preConfigure = ''
sed -i 's;/usr;$$PREFIX/;g' phototonic.pro
'';
meta = with lib; {
description = "Image viewer and organizer";
mainProgram = "phototonic";
homepage = "https://github.com/oferkv/phototonic";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ pSub ];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,40 @@
{
lib,
fetchFromGitHub,
installShellFiles,
php,
versionCheckHook,
}:
php.buildComposerProject2 (finalAttrs: {
pname = "phpactor";
version = "2025.07.25.0";
src = fetchFromGitHub {
owner = "phpactor";
repo = "phpactor";
tag = finalAttrs.version;
hash = "sha256-9XWlWwq+xvqPgKIc7IGoMVTxajjYsrPo/ra/0JIE168=";
};
vendorHash = "sha256-3xkt0QjytW4BOCgZdevat7zkSuZTPPvwz3yptiq5zoo=";
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
installShellCompletion --cmd phpactor \
--bash <(php $out/bin/phpactor completion bash)
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
meta = {
changelog = "https://github.com/phpactor/phpactor/releases/tag/${finalAttrs.version}";
description = "Mainly a PHP Language Server";
homepage = "https://github.com/phpactor/phpactor";
license = lib.licenses.mit;
mainProgram = "phpactor";
maintainers = [ lib.maintainers.patka ];
};
})

View File

@@ -0,0 +1,45 @@
{
lib,
php,
fetchFromGitHub,
makeBinaryWrapper,
versionCheckHook,
}:
php.buildComposerProject2 (finalAttrs: {
pname = "phpdocumentor";
version = "3.8.1";
src = fetchFromGitHub {
owner = "phpDocumentor";
repo = "phpDocumentor";
tag = "v${finalAttrs.version}";
hash = "sha256-iQA19FrXvVLzg+LaY1BcNmG8amMfKPVFwYbZ7dr+H9Q=";
};
vendorHash = "sha256-sFRy9Hy9CVNjjYqbPbKH0XhoUdu4HlkiuHDDovTGono=";
nativeBuildInputs = [ makeBinaryWrapper ];
postInstall = ''
wrapProgram "$out/bin/phpdoc" \
--set-default APP_CACHE_DIR /tmp \
--set-default APP_LOG_DIR /tmp/log
'';
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgram = "${placeholder "out"}/bin/${finalAttrs.meta.mainProgram}";
versionCheckProgramArg = "--version";
doInstallCheck = true;
meta = {
changelog = "https://github.com/phpDocumentor/phpDocumentor/releases/tag/v${finalAttrs.version}";
description = "PHP documentation generator";
homepage = "https://phpdoc.org";
license = lib.licenses.mit;
mainProgram = "phpdoc";
maintainers = [ lib.maintainers.patka ];
};
})

View File

@@ -0,0 +1,44 @@
{
lib,
fetchFromGitHub,
nix-update-script,
php,
phpunit,
testers,
versionCheckHook,
}:
php.buildComposerProject2 (finalAttrs: {
pname = "phpunit";
version = "12.4.0";
src = fetchFromGitHub {
owner = "sebastianbergmann";
repo = "phpunit";
tag = finalAttrs.version;
hash = "sha256-V+S1wZflAhv0ojEzHMxVDZOJ2Qk+9D+42SDqWUxIhOc=";
};
vendorHash = "sha256-+z/fCApSd1I7n3srQKg79T6W7Ex3H8+eY9oIh6G/dCc=";
passthru = {
updateScript = nix-update-script { };
tests.version = testers.testVersion { package = phpunit; };
};
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
meta = {
changelog = "https://github.com/sebastianbergmann/phpunit/blob/${finalAttrs.version}/ChangeLog-${lib.versions.majorMinor finalAttrs.version}.md";
description = "PHP Unit Testing framework";
homepage = "https://phpunit.de";
license = lib.licenses.bsd3;
mainProgram = "phpunit";
maintainers = with lib.maintainers; [
onny
patka
];
};
})

View File

@@ -0,0 +1,33 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "phrase-cli";
version = "2.46.0";
src = fetchFromGitHub {
owner = "phrase";
repo = "phrase-cli";
rev = version;
sha256 = "sha256-cKCasr2TtNIn6tNPX/QpxWsG/n3fdq9DTqC77ymGmsQ=";
};
vendorHash = "sha256-duzotdz+vyjza6mHNCSPlAbqW/RitC3ZDXepNW3PRyc=";
ldflags = [ "-X=github.com/phrase/phrase-cli/cmd.PHRASE_CLIENT_VERSION=${version}" ];
postInstall = ''
ln -s $out/bin/phrase-cli $out/bin/phrase
'';
meta = {
homepage = "http://docs.phraseapp.com";
description = "PhraseApp API v2 Command Line Client";
changelog = "https://github.com/phrase/phrase-cli/blob/${version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ juboba ];
};
}

View File

@@ -0,0 +1,40 @@
{
lib,
stdenv,
fetchurl,
openssl,
libssh2,
gpgme,
}:
stdenv.mkDerivation rec {
pname = "phrasendrescher";
version = "1.2.2c";
src = fetchurl {
url = "http://leidecker.info/projects/${pname}/${pname}-${version}.tar.gz";
sha256 = "18vg6h294219v14x5zqm8ddmq5amxlbz7pw81lcmpz8v678kwyph";
};
postPatch = ''
substituteInPlace configure \
--replace 'SSL_LIB="ssl"' 'SSL_LIB="crypto"'
'';
buildInputs = [
openssl
libssh2
gpgme
];
configureFlags = [ "--with-plugins" ];
meta = with lib; {
description = "Modular and multi processing pass phrase cracking tool";
homepage = "https://leidecker.info/projects/phrasendrescher/index.shtml";
license = licenses.gpl2Plus;
platforms = platforms.all;
maintainers = with maintainers; [ bjornfor ];
mainProgram = "pd";
};
}

View File

@@ -0,0 +1,55 @@
{
lib,
fetchFromGitHub,
testers,
nix-update-script,
phraze,
rustPlatform,
installShellFiles,
}:
rustPlatform.buildRustPackage rec {
pname = "phraze";
version = "0.3.24";
src = fetchFromGitHub {
owner = "sts10";
repo = "phraze";
rev = "v${version}";
hash = "sha256-UURzpG5YZ7R/6vVOB/gtbFNNsVnOAsRwioKRLFxOH4c=";
};
doCheck = true;
cargoHash = "sha256-Uxbi/spmsPmxUNuLvEAWD1QLLBc/3zU/JoNyB7Dvlac=";
nativeBuildInputs = [ installShellFiles ];
passthru = {
updateScript = nix-update-script { };
tests = {
version = testers.testVersion { package = phraze; };
};
};
postInstall = ''
installManPage target/man/phraze.1
installShellCompletion --cmd phraze \
--bash target/completions/phraze.bash \
--fish target/completions/phraze.fish \
--zsh target/completions/_phraze
'';
meta = {
description = "Generate random passphrases";
homepage = "https://github.com/sts10/phraze";
changelog = "https://github.com/sts10/phraze/releases/tag/v${version}";
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [
x123
donovanglover
];
mainProgram = "phraze";
};
}

View File

@@ -0,0 +1,34 @@
{
lib,
buildGoModule,
fetchzip,
nixosTests,
}:
buildGoModule rec {
pname = "phylactery";
version = "0.2.0";
src = fetchzip {
url = "https://trong.loang.net/phylactery/snapshot/phylactery-${version}.tar.gz";
hash = "sha256-UokK6rVjpzbcKOkZteo5kU7rFMm1meBUM4bkYAYM8rI=";
};
vendorHash = null;
ldflags = [
"-s"
"-w"
];
passthru.tests.phylactery = nixosTests.phylactery;
meta = with lib; {
description = "Old school comic web server";
mainProgram = "phylactery";
homepage = "https://trong.loang.net/phylactery/about";
license = licenses.agpl3Plus;
maintainers = with maintainers; [ McSinyx ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,65 @@
{
lib,
fetchFromGitHub,
raxml,
mafft,
trimal,
blast,
diamond,
python3Packages,
}:
let
finalAttrs = {
pname = "phylophlan";
version = "3.1.1";
pyproject = true;
src = fetchFromGitHub {
owner = "biobakery";
repo = "phylophlan";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-KlWKt2tH2lQBh/eQ2Hbcu2gXHEFfmFEc6LrybluxINc=";
};
build-system = with python3Packages; [ setuptools ];
# It has no tests
doCheck = false;
dependencies = with python3Packages; [
biopython
dendropy
matplotlib
numpy
pandas
seaborn
distutils
requests
];
# Minimum needed external tools
# See https://github.com/biobakery/phylophlan/wiki#dependencies
propagatedBuildInputs = [
raxml
mafft
trimal
blast
diamond
];
postInstall = ''
# Not revelant in this context
rm -f $out/bin/phylophlan_write_default_configs.sh
'';
meta = {
homepage = "https://github.com/biobakery/phylophlan";
description = "Precise phylogenetic analysis of microbial isolates and genomes from metagenomes";
changelog = "https://github.com/biobakery/phylophlan/releases";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ theobori ];
mainProgram = "phylophlan";
};
};
in
python3Packages.buildPythonApplication finalAttrs

View File

@@ -0,0 +1,47 @@
{
stdenvNoCC,
fetchFromGitHub,
lib,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "physac";
version = "1.1-unstable-2023-12-11";
src = fetchFromGitHub {
owner = "victorfisac";
repo = "Physac";
rev = "29d9fc06860b54571a02402fff6fa8572d19bd12";
hash = "sha256-PTlV1tT0axQbmGmJ7JD1n6wmbIxUdu7xho78EO0HNNk=";
};
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/{include,lib/pkgconfig}
install -Dm644 $src/src/physac.h $out/include/physac.h
cat <<EOF > $out/lib/pkgconfig/physac.pc
prefix=$out
includedir=$out/include
Name: physac
Description: ${finalAttrs.meta.description}
URL: ${finalAttrs.meta.homepage}
Version: ${finalAttrs.version}
Cflags: -I"{includedir}"
EOF
runHook postInstall
'';
meta = {
description = "2D physics header-only library for raylib";
homepage = "https://github.com/victorfisac/Physac";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ sigmanificient ];
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,40 @@
{
lib,
stdenv,
fetchFromGitHub,
pam,
systemd,
}:
stdenv.mkDerivation rec {
version = "13";
pname = "physlock";
src = fetchFromGitHub {
owner = "muennich";
repo = "physlock";
rev = "v${version}";
sha256 = "1mz4xxjip5ldiw9jgfq9zvqb6w10bcjfx6939w1appqg8f521a7s";
};
buildInputs = [
pam
systemd
];
preConfigure = ''
substituteInPlace Makefile \
--replace "-m 4755 -o root -g root" ""
'';
makeFlags = [
"PREFIX=$(out)"
"SESSION=systemd"
];
meta = with lib; {
description = "Secure suspend/hibernate-friendly alternative to `vlock -an`";
mainProgram = "physlock";
license = licenses.gpl2Plus;
platforms = platforms.linux;
};
}