Merge master into staging-next
This commit is contained in:
@@ -28,10 +28,10 @@ stdenv.mkDerivation {
|
||||
wrapProgram $out/bin/nixpkgs-lint --set PERL5LIB $PERL5LIB
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
maintainers = [ maintainers.eelco ];
|
||||
meta = {
|
||||
maintainers = [ lib.maintainers.eelco ];
|
||||
description = "A utility for Nixpkgs contributors to check Nixpkgs for common errors";
|
||||
mainProgram = "nixpkgs-lint";
|
||||
platforms = platforms.unix;
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -27,6 +27,8 @@
|
||||
- `nixos-rebuild-ng`, a full rewrite of `nixos-rebuild` in Python, is available for testing. You can enable it by setting [system.rebuild.enableNg](options.html#opt-system.rebuild.enableNg) in your configuration (this will replace the old `nixos-rebuild`), or by adding `nixos-rebuild-ng` to your `environment.systemPackages` (in this case, it will live side-by-side with `nixos-rebuild` as `nixos-rebuild-ng`). It is expected that the next major version of NixOS (25.11) will enable `system.rebuild.enableNg` by default.
|
||||
- A `nixos-rebuild build-image` sub-command has been added.
|
||||
|
||||
- `nixos-option` has been rewritten to a Nix expression called by a simple bash script. This lowers our maintenance threshold, makes eval errors less verbose, adds support for flake-based configurations, descending into `attrsOf` and `listOf` submodule options, and `--show-trace`.
|
||||
|
||||
It allows users to build platform-specific (disk) images from their NixOS configurations. `nixos-rebuild build-image` works similar to the popular [nix-community/nixos-generators](https://github.com/nix-community/nixos-generators) project. See new [section on image building in the nixpkgs manual](https://nixos.org/manual/nixpkgs/unstable/#sec-image-nixos-rebuild-build-image).
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
@@ -249,6 +249,7 @@ in
|
||||
ExecReload = "${dhcpcd}/sbin/dhcpcd --rebind";
|
||||
Restart = "always";
|
||||
AmbientCapabilities = [ "CAP_NET_ADMIN" "CAP_NET_RAW" "CAP_NET_BIND_SERVICE" ];
|
||||
CapabilityBoundingSet = [ "CAP_NET_ADMIN" "CAP_NET_RAW" "CAP_NET_BIND_SERVICE" ];
|
||||
ReadWritePaths = [ "/proc/sys/net/ipv4" ]
|
||||
++ lib.optional cfgN.enableIPv6 "/proc/sys/net/ipv6"
|
||||
++ lib.optionals useResolvConf ([ "/run/resolvconf" ] ++ config.networking.resolvconf.subscriberFiles);
|
||||
@@ -276,7 +277,7 @@ in
|
||||
RestrictSUIDSGID = true;
|
||||
SystemCallFilter = [
|
||||
"@system-service"
|
||||
"~@aio" "~@chown" "~@keyring" "~@memlock"
|
||||
"~@aio" "~@keyring" "~@memlock" "~@mount" "~@privileged" "~@resources"
|
||||
];
|
||||
SystemCallArchitectures = "native";
|
||||
UMask = "0027";
|
||||
|
||||
@@ -89,7 +89,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
exec = "youtube-music %u";
|
||||
icon = "youtube-music";
|
||||
desktopName = "YouTube Music";
|
||||
startupWMClass = "YouTube Music";
|
||||
startupWMClass = "com.github.th_ch.youtube_music";
|
||||
categories = [ "AudioVideo" ];
|
||||
})
|
||||
];
|
||||
|
||||
@@ -5589,8 +5589,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "pretty-ts-errors";
|
||||
publisher = "yoavbls";
|
||||
version = "0.5.4";
|
||||
hash = "sha256-SMEqbpKYNck23zgULsdnsw4PS20XMPUpJ5kYh1fpd14=";
|
||||
version = "0.6.1";
|
||||
hash = "sha256-LvX21nEjgayNd9q+uXkahmdYwzfWBZOhQaF+clFUUF4=";
|
||||
};
|
||||
meta = {
|
||||
description = "Make TypeScript errors prettier and human-readable in VSCode";
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -67,8 +67,8 @@ in
|
||||
, glib
|
||||
, gnum4
|
||||
, gtk3
|
||||
, icu72
|
||||
, icu73
|
||||
, icu74
|
||||
, libGL
|
||||
, libGLU
|
||||
, libevent
|
||||
@@ -268,6 +268,12 @@ buildStdenv.mkDerivation {
|
||||
hash = "sha256-2IpdSyye3VT4VB95WurnyRFtdN1lfVtYpgEiUVhfNjw=";
|
||||
})
|
||||
]
|
||||
++ lib.optionals ((lib.versionAtLeast version "129" && lib.versionOlder version "134") || lib.versionOlder version "128.6.0") [
|
||||
# Python 3.12.8 compat
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1935621
|
||||
# https://phabricator.services.mozilla.com/D231480
|
||||
./mozbz-1935621-attachment-9442305.patch
|
||||
]
|
||||
++ [
|
||||
# LLVM 19 turned on WASM reference types by default, exposing a bug
|
||||
# that broke the Mozilla WASI build. Supposedly, it has been fixed
|
||||
@@ -286,10 +292,6 @@ buildStdenv.mkDerivation {
|
||||
url = "https://hg.mozilla.org/integration/autoland/raw-rev/23a9f6555c7c";
|
||||
hash = "sha256-CRywalJlRMFVLITEYXxpSq3jLPbUlWKNRHuKLwXqQfU=";
|
||||
})
|
||||
# Python 3.12.8 compat
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1935621
|
||||
# https://phabricator.services.mozilla.com/D231480
|
||||
./mozbz-1935621-attachment-9442305.patch
|
||||
# Fix for missing vector header on macOS
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1939405
|
||||
./firefox-mac-missing-vector-header.patch
|
||||
@@ -526,11 +528,9 @@ buildStdenv.mkDerivation {
|
||||
++ lib.optional sndioSupport sndio
|
||||
++ lib.optionals waylandSupport [ libxkbcommon libdrm ]
|
||||
))
|
||||
# icu73 changed how it follows symlinks which breaks in the firefox sandbox
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1839287
|
||||
# icu74 fails to build on 127 and older
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1862601
|
||||
++ [ (if (lib.versionAtLeast version "115") then icu73 else icu72) ]
|
||||
++ [ (if (lib.versionAtLeast version "134") then icu74 else icu73) ]
|
||||
++ lib.optional gssSupport libkrb5
|
||||
++ lib.optional jemallocSupport jemalloc
|
||||
++ extraBuildInputs;
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
|
||||
buildMozillaMach rec {
|
||||
pname = "firefox";
|
||||
version = "128.5.2esr";
|
||||
version = "128.6.0esr";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "1e5b6bfe63279acc8b7350c08f2767620f01b979057f50ab1952331b6efc05124f7c9530a7cc793b0f3616344334a2903fe5712bbb45418e936684d294c5530a";
|
||||
sha512 = "49bce966e062766861712bd65cca46a438b339fe31598f69e4fe64da78ef6f8b4581c1d502341ef1c032aafaab2f4f88e69cb93a0b845ba7173fec277ae695b5";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
|
||||
buildMozillaMach rec {
|
||||
pname = "firefox";
|
||||
version = "133.0.3";
|
||||
version = "134.0";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "ce48beaa5bb1717d9b6dbfff035b1bb5de1456df14b6a91adfaf3ccfb7ac550ab7ee854546231424a920e01d981825253609fce2ec326c4aa1ca316bbbdb31f8";
|
||||
sha512 = "1275a686dc0a27b48df4ae05616511512f676e03474e3095b2521eac25a385d345aa3e8786716dbe812af49e07d72b32772479089d648968e2004ca0c9c35344";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -171,13 +171,13 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"bitbucket": {
|
||||
"hash": "sha256-fvSy0gnSQkpSCfKlmOQW+ItMi6utocsDB6ex4RZMvGo=",
|
||||
"hash": "sha256-cHuBfF0R/n03Y5KNnbdsWcGeX24+NPT2HnsQpTivCf0=",
|
||||
"homepage": "https://registry.terraform.io/providers/DrFaust92/bitbucket",
|
||||
"owner": "DrFaust92",
|
||||
"repo": "terraform-provider-bitbucket",
|
||||
"rev": "v2.42.0",
|
||||
"rev": "v2.45.1",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-oDMKf39uNMO9/kyiZ1IuZlj2yIF1q5Z3wewxEBh3yso="
|
||||
"vendorHash": "sha256-iNY6Jz/SKOLynx33smDFbg371Wa31CouNtrOuV7lkcw="
|
||||
},
|
||||
"bitwarden": {
|
||||
"hash": "sha256-zvl9B1RhViJ83/7i9ab1KvQc9Yfpzq3c1JIz+bzwVmM=",
|
||||
|
||||
@@ -45,6 +45,12 @@ stdenv.mkDerivation (finalAttrs: rec {
|
||||
sha256 = "sha256-6+DOJPeVzP4x0UsN9MlZRAyusapBTICX0BuyvVBQBC8=";
|
||||
};
|
||||
|
||||
postPatch = lib.optionals stdenv.hostPlatform.isDarwin ''
|
||||
# same error as https://github.com/pocoproject/poco/issues/4586
|
||||
substituteInPlace zlib/zutil.h \
|
||||
--replace-fail '#if defined(MACOS) || defined(TARGET_OS_MAC)' '#if defined(MACOS)'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ jam ];
|
||||
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "alt-tab-macos";
|
||||
version = "7.14.1";
|
||||
version = "7.18.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/lwouis/alt-tab-macos/releases/download/v${finalAttrs.version}/AltTab-${finalAttrs.version}.zip";
|
||||
hash = "sha256-62+2N+TjKq+TdJuaOizpiSvGQnkC2+VhBX+3A2QepwI=";
|
||||
hash = "sha256-9+XK+rDyV2V4RIAfMR2EUcSf6AEpQKAOLDp6RXb5Wb8=";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
callPackage,
|
||||
lib,
|
||||
fetchRepoProject,
|
||||
writeScript,
|
||||
nix-update-script,
|
||||
cmake,
|
||||
directx-shader-compiler,
|
||||
glslang,
|
||||
@@ -27,13 +27,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "amdvlk";
|
||||
version = "2024.Q4.2";
|
||||
version = "2024.Q4.3";
|
||||
|
||||
src = fetchRepoProject {
|
||||
name = "amdvlk-src";
|
||||
manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git";
|
||||
rev = "refs/tags/v-${finalAttrs.version}";
|
||||
hash = "sha256-16eHtdxoSCVEPQNvi7Kuo7CP4yddMsZqpuRsWobEOnw=";
|
||||
hash = "sha256-PQxTRCSOk8E6y7pXyqxt1QKtRsqnrj/9dQZ8NjnUbhA=";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
@@ -102,23 +102,14 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# Keep the rpath, otherwise vulkaninfo and vkcube segfault
|
||||
dontPatchELF = true;
|
||||
|
||||
passthru.updateScript = writeScript "update.sh" ''
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p coreutils curl gnused jq common-updater-scripts
|
||||
|
||||
packagePath="pkgs/by-name/am/amdvlk/package.nix"
|
||||
|
||||
function setHash() {
|
||||
sed -i $packagePath -e 's,sha256 = "[^'"'"'"]*",sha256 = "'"$1"'",'
|
||||
}
|
||||
|
||||
version="$(curl -sL "https://api.github.com/repos/GPUOpen-Drivers/AMDVLK/releases?per_page=1" | jq '.[0].tag_name | split("-") | .[1]' --raw-output)"
|
||||
sed -i $packagePath -e 's/version = "[^'"'"'"]*"/version = "'"$version"'"/'
|
||||
|
||||
setHash "$(nix-instantiate --eval -A lib.fakeSha256 | xargs echo)"
|
||||
hash="$(nix to-base64 $(nix-build -A amdvlk 2>&1 | tail -n3 | grep 'got:' | cut -d: -f2- | xargs echo || true))"
|
||||
setHash "$hash"
|
||||
'';
|
||||
passthru.updateScript = nix-update-script {
|
||||
extraArgs = [
|
||||
"--url"
|
||||
"https://github.com/GPUOpen-Drivers/AMDVLK"
|
||||
"--version-regex"
|
||||
"v-(.*)"
|
||||
];
|
||||
};
|
||||
|
||||
passthru.impureTests = {
|
||||
amdvlk = callPackage ./test.nix { };
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "bearer";
|
||||
version = "1.47.0";
|
||||
version = "1.48.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bearer";
|
||||
repo = "bearer";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-yr5ik+DxOcW3UFK6KiPvheGlDdwSz2s7DKm2vAsSwG0=";
|
||||
hash = "sha256-M9Usz+qQH4QNA/0TgtvjuqwnaCpyxr9OMIc8pJ/FjDE=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-A0zy5O2+afhn6jAfLd/k7wvL3z1PVI0e6bO39cnYrhM=";
|
||||
|
||||
@@ -10,16 +10,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "boxbuddy";
|
||||
version = "2.5.1";
|
||||
version = "2.5.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Dvlv";
|
||||
repo = "BoxBuddyRS";
|
||||
rev = version;
|
||||
hash = "sha256-W+SeleZsQbHw0sS7du8AylERt1FBxxLUvnxfvS9YQGM=";
|
||||
hash = "sha256-wtAc5h3bm/X1aCPGjl30NaM7XR602q5NdlamUQvADDo=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-nFBLhCxHmdF7WvYcmt5aLVhCO/q1LLgMldc7nofX+CU=";
|
||||
cargoHash = "sha256-oyxO92wXVN7kbIcTy5OAaqK/ySnetpkFwcop34ERpxs=";
|
||||
|
||||
# The software assumes it is installed either in flatpak or in the home directory
|
||||
# so the xdg data path needs to be patched here
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
makeWrapper,
|
||||
pkg-config,
|
||||
libgit2,
|
||||
oniguruma,
|
||||
zlib,
|
||||
buildPackages,
|
||||
withClipboard ? true,
|
||||
@@ -33,11 +32,9 @@ rustPlatform.buildRustPackage rec {
|
||||
pkg-config
|
||||
];
|
||||
|
||||
# TODO: once https://github.com/Canop/broot/issues/956 is released, oniguruma can be removed.
|
||||
buildInputs =
|
||||
[
|
||||
libgit2
|
||||
oniguruma
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
zlib
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
diff --git a/casadi/interfaces/clang/clang_compiler.hpp b/casadi/interfaces/clang/clang_compiler.hpp
|
||||
index 7f54853..9f8d4b1 100644
|
||||
--- a/casadi/interfaces/clang/clang_compiler.hpp
|
||||
+++ b/casadi/interfaces/clang/clang_compiler.hpp
|
||||
@@ -52,7 +52,7 @@
|
||||
#include "llvm/IR/LLVMContext.h"
|
||||
//#include "llvm/IR/Verifier.h"
|
||||
#include <llvm/Support/FileSystem.h>
|
||||
-#include <llvm/Support/Host.h>
|
||||
+#include <llvm/TargetParser/Host.h>
|
||||
#include <llvm/Support/ManagedStatic.h>
|
||||
#include <llvm/Support/Path.h>
|
||||
#include <llvm/Support/TargetSelect.h>
|
||||
diff --git a/cmake/FindCLANG.cmake b/cmake/FindCLANG.cmake
|
||||
index 4edf60b..f23a348 100644
|
||||
--- a/cmake/FindCLANG.cmake
|
||||
+++ b/cmake/FindCLANG.cmake
|
||||
@@ -16,7 +16,7 @@ set(CLANG_CXX_FLAGS "-fPIC -fvisibility-inlines-hidden -ffunction-sections -fdat
|
||||
set(CLANG_INCLUDE_DIR ${LLVM_INSTALL_PREFIX}/include)
|
||||
|
||||
# All clang libraries
|
||||
-set(CLANG_DEP clangFrontend clangDriver clangCodeGen clangRewriteFrontend clangSerialization clangParse clangSema clangAnalysis clangEdit clangAST clangLex clangBasic ${LLVM_DEP})
|
||||
+set(CLANG_DEP clangFrontend clangDriver clangCodeGen clangRewriteFrontend clangSerialization clangParse clangSema clangAPINotes clangAnalysis clangEdit clangAST clangLex clangBasic ${LLVM_DEP})
|
||||
|
||||
# Get libraries
|
||||
set(CLANG_LIBRARIES)
|
||||
@@ -86,7 +86,7 @@ set(CLANG_INCLUDE_DIR ${CLANG_LLVM_INCLUDE_DIR})
|
||||
|
||||
# All clang libraries
|
||||
set(CLANG_DEP clangFrontend clangDriver clangCodeGen clangRewriteFrontend clangSerialization
|
||||
- clangParse clangSema clangAnalysis clangEdit clangAST clangLex clangBasic)
|
||||
+ clangParse clangSema clangAPINotes clangAnalysis clangEdit clangAST clangLex clangBasic)
|
||||
|
||||
# Get libraries
|
||||
foreach(D ${CLANG_DEP})
|
||||
@@ -17,8 +17,9 @@
|
||||
lib,
|
||||
ipopt,
|
||||
lapack,
|
||||
llvmPackages_17, # llvm/Support/Host.h required by casadi 3.6.5 and not available in llvm 18
|
||||
llvmPackages,
|
||||
mumps,
|
||||
ninja,
|
||||
osqp,
|
||||
pkg-config,
|
||||
pythonSupport ? false,
|
||||
@@ -52,6 +53,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
url = "https://github.com/casadi/casadi/pull/3899/commits/274f4b23f73e60c5302bec0479fe1e92682b63d2.patch";
|
||||
hash = "sha256-3GWEWlN8dKLD6htpnOQLChldcT3hE09JWLeuCfAhY+4=";
|
||||
})
|
||||
# update include file path and link with clangAPINotes
|
||||
# https://github.com/casadi/casadi/issues/3969
|
||||
./clang-19.diff
|
||||
];
|
||||
|
||||
postPatch =
|
||||
@@ -64,7 +68,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# nix provide lib/clang headers in libclang, not in llvm.
|
||||
substituteInPlace casadi/interfaces/clang/CMakeLists.txt --replace-fail \
|
||||
'$'{CLANG_LLVM_LIB_DIR} \
|
||||
${lib.getLib llvmPackages_17.libclang}/lib
|
||||
${lib.getLib llvmPackages.libclang}/lib
|
||||
|
||||
# help casadi find its own libs
|
||||
substituteInPlace casadi/core/casadi_os.cpp --replace-fail \
|
||||
@@ -101,6 +105,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
|
||||
@@ -118,9 +123,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hpipm
|
||||
ipopt
|
||||
lapack
|
||||
llvmPackages_17.clang
|
||||
llvmPackages_17.libclang
|
||||
llvmPackages_17.llvm
|
||||
llvmPackages.clang
|
||||
llvmPackages.libclang
|
||||
llvmPackages.llvm
|
||||
mumps
|
||||
osqp
|
||||
proxsuite
|
||||
@@ -140,7 +145,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
python3Packages.numpy
|
||||
python3Packages.python
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages_17.openmp ];
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.openmp ];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "WITH_PYTHON" pythonSupport)
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cinnamon-translations";
|
||||
version = "6.4.1";
|
||||
version = "6.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-MMUXh8HFvISPZzu6+m/rm0/svLLml4OweZ7c4H9IHco=";
|
||||
hash = "sha256-By09Y4iHZz3XR7tRd5MyXK5BKOr01yJzTTLQHEZ00q0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -10,17 +10,17 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "codeberg-cli";
|
||||
version = "0.4.6";
|
||||
version = "0.4.7";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "Aviac";
|
||||
repo = "codeberg-cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-BkWI4FbacgFrbSLNSqe7vdzdLvrrgX1528qFaKCd5tY=";
|
||||
hash = "sha256-GFUBMriBHKWjgT10Vvpa8FMqB6CvksSPoFBBr3uwrrg=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-eFS16QzPMLhoVb+hqt/p3ka58rwP5WTgHas2PZT5c/U=";
|
||||
cargoHash = "sha256-dpK/FddoF6QMqIoUOwabELpfei0EBDjbTlmJCo/rlUk=";
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
installShellFiles
|
||||
|
||||
@@ -5,16 +5,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "dblab";
|
||||
version = "0.29.0";
|
||||
version = "0.30.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "danvergara";
|
||||
repo = "dblab";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-fLsddW4yPK9hgaQ2oeEcQ2psEclM3pq62xEkm/ad0lY=";
|
||||
hash = "sha256-TRMzKvJh5+s4+uLdLsORbnJvopHYEi28sIi2wo/eLBQ=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-bcG3lYZ2Mfp/VCwUeIBPNRlTPXTJxesOu+229E2oa60=";
|
||||
vendorHash = "sha256-n1Z3sNvNLX1QpfpDSGDygjbC6IE85SBJHvyliy11OjU=";
|
||||
|
||||
ldflags = [ "-s -w -X main.version=${version}" ];
|
||||
|
||||
|
||||
@@ -17,11 +17,11 @@ stdenv.mkDerivation rec {
|
||||
# the wrapped version of Descent 3. Once there’s a stable version of Descent
|
||||
# 3 that supports the -additionaldir command-line option, we can stop using
|
||||
# an unstable version of Descent 3.
|
||||
version = "1.5.0-beta-unstable-2024-12-20";
|
||||
version = "1.5.0-beta-unstable-2025-01-01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "DescentDevelopers";
|
||||
repo = "Descent3";
|
||||
rev = "4ff0665dc4779c262f6dec4c50fdd4763acdfad3";
|
||||
rev = "11f93221e71201d51a71650a3b190017328cd721";
|
||||
fetchSubmodules = true;
|
||||
leaveDotGit = true;
|
||||
# Descent 3 is supposed to display its Git commit hash in the bottom right
|
||||
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
|
||||
git rev-parse --verify HEAD | tr --delete '\n' > git-hash.txt
|
||||
rm -r .git
|
||||
'';
|
||||
hash = "sha256-8pK+lniWBlsGQvWXwEpBnpDz2CMcCOmdSc4Q9Hedo3U=";
|
||||
hash = "sha256-L+Y8Eum9SjGpbbLnBH25uUI4UgCGDwrgE5op19GOAtQ=";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "doctl";
|
||||
version = "1.120.0";
|
||||
version = "1.120.1";
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -31,7 +31,7 @@ buildGoModule rec {
|
||||
owner = "digitalocean";
|
||||
repo = "doctl";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-6Zsdod+4eu/O1eQooS4KsZ4Fk3mSnqzgIwmZHV/1z4k=";
|
||||
sha256 = "sha256-14oBTAE5/bBSYce9esn9gdMW13CUhB5IKkw9v3Gn6Nc=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -10,16 +10,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "doppler";
|
||||
version = "3.71.0";
|
||||
version = "3.71.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dopplerhq";
|
||||
repo = "cli";
|
||||
rev = version;
|
||||
hash = "sha256-yN+nMHBjXM78ie7DJn7x5litpYOwSaFse2Ewy1ssjDI=";
|
||||
hash = "sha256-qseFEyIQeD1glNi5lDB5XJAWtC9EMFJbGuSJk+Q5qok=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-NUHWKPszQH/pvnA+j65+bJ6t+C0FDRRbTviqkYztpE4=";
|
||||
vendorHash = "sha256-K98cb1AF82jXm5soILO3MQy2LwOGREt8OwGySK299hA=";
|
||||
|
||||
ldflags = [
|
||||
"-s -w"
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
libspnav,
|
||||
libuuid,
|
||||
libxml2,
|
||||
llvmPackages_17,
|
||||
meson,
|
||||
ninja,
|
||||
opencascade-occt_7_6,
|
||||
@@ -24,10 +23,9 @@
|
||||
}:
|
||||
|
||||
let
|
||||
stdenv' = if stdenv.hostPlatform.isDarwin then llvmPackages_17.stdenv else stdenv;
|
||||
opencascade-occt = opencascade-occt_7_6;
|
||||
in
|
||||
stdenv'.mkDerivation (finalAttrs: {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dune3d";
|
||||
version = "1.2.0";
|
||||
|
||||
|
||||
@@ -49,9 +49,6 @@ let
|
||||
--replace-fail /var/log /test/log
|
||||
substituteInPlace testing/unit/test_selection.py \
|
||||
--replace-fail /usr/bin /dev
|
||||
# don't use /tmp/ in tests
|
||||
substituteInPlace duplicity/backends/_testbackend.py \
|
||||
--replace-fail '"/tmp/' 'os.environ.get("TMPDIR")+"/'
|
||||
'';
|
||||
|
||||
disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
darwin,
|
||||
fetchFromGitHub,
|
||||
libusb1,
|
||||
nix-update-script,
|
||||
pkg-config,
|
||||
rustPlatform,
|
||||
solc,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "foundry";
|
||||
version = "0.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "foundry-rs";
|
||||
repo = "foundry";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-SdxcNbe8/dNZ4JcxKksWmDBAvQorpC8ePvQgnyeKgxU=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-PQbp9jZZB/dsyKAlckZwl8xOpXks3anqUm+Ld7IhMFI=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.isDarwin [ darwin.DarwinTools ];
|
||||
|
||||
buildInputs = [ solc ] ++ lib.optionals stdenv.isDarwin [ libusb1 ];
|
||||
|
||||
# Tests are run upstream, and many perform I/O
|
||||
# incompatible with the nix build sandbox.
|
||||
doCheck = false;
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
];
|
||||
versionCheckProgram = "${placeholder "out"}/bin/forge";
|
||||
versionCheckProgramArg = [ "--version" ];
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
env = {
|
||||
SVM_RELEASES_LIST_JSON =
|
||||
if stdenv.isDarwin then
|
||||
# Confusingly, these are universal binaries, not amd64.
|
||||
# See: https://github.com/ethereum/solidity/issues/12291#issuecomment-1974771433
|
||||
"${./svm-lists/macosx-amd64.json}"
|
||||
else
|
||||
"${./svm-lists/linux-amd64.json}";
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/foundry-rs/foundry";
|
||||
description = "Portable, modular toolkit for Ethereum application development written in Rust.";
|
||||
changelog = "https://github.com/foundry-rs/foundry/blob/v${version}/CHANGELOG.md";
|
||||
license = with lib.licenses; [
|
||||
asl20
|
||||
mit
|
||||
];
|
||||
maintainers = with lib.maintainers; [
|
||||
mitchmindtree
|
||||
msanft
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Executable
+47
@@ -0,0 +1,47 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# This script updates the Solidity binary lists required by the svm-rs
|
||||
# crate.
|
||||
# TODO: Bundle this into an updater script
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# Get the directory of the current script
|
||||
script_dir=$(dirname "$(realpath "$0")")
|
||||
|
||||
# Directory where the files will be downloaded
|
||||
dir="${script_dir}/svm-lists"
|
||||
|
||||
# URLs of the files
|
||||
urls=(
|
||||
"https://binaries.soliditylang.org/macosx-amd64/list.json"
|
||||
"https://binaries.soliditylang.org/linux-amd64/list.json"
|
||||
)
|
||||
|
||||
# Create the directory (no error if it already exists)
|
||||
mkdir -p "$dir"
|
||||
|
||||
# Function to extract filename from URL
|
||||
extract_filename() {
|
||||
url=$1
|
||||
# Extract the parent directory name and append .json
|
||||
echo "$(basename "$(dirname "$url")").json"
|
||||
}
|
||||
|
||||
# Function to fix line endings and remove trailing newline
|
||||
ensure_unix_format() {
|
||||
file=$1
|
||||
# Convert to Unix LF line endings and ensure there's no trailing newline
|
||||
tr -d '\r' < "$file" | sed -e '$a\' > "${file}.tmp" && mv "${file}.tmp" "$file"
|
||||
}
|
||||
|
||||
# Iterate over the URLs
|
||||
for url in "${urls[@]}"; do
|
||||
# Extract filename from URL
|
||||
filename=$(extract_filename "$url")
|
||||
|
||||
# Download the file and fix line endings
|
||||
echo "Fetching $url to $dir/$filename"
|
||||
curl -sL "$url" -o "${dir}/${filename}"
|
||||
ensure_unix_format "${dir}/${filename}"
|
||||
done
|
||||
@@ -10,26 +10,26 @@ let
|
||||
systemToPlatform = {
|
||||
"x86_64-linux" = {
|
||||
name = "linux-amd64";
|
||||
hash = "sha256-QKrDFCVCWYYX2jM8le2X/OLhNcwxR+liUtXHhW7jcSw=";
|
||||
hash = "sha256-HDyPQ7/suk6LA6mchwE+LHcO1+9aB7o+60lX6OKFLGQ=";
|
||||
};
|
||||
"aarch64-linux" = {
|
||||
name = "linux-arm64";
|
||||
hash = "sha256-+l1hBwep/YMP7EOrEIn2xCIiVgWB0JCWz+fj2ZfivNQ=";
|
||||
hash = "sha256-IfAfduUMAQ53oi2ZgRxc825oMyX6PvATkQpvxmFjMHo=";
|
||||
};
|
||||
"x86_64-darwin" = {
|
||||
name = "darwin-amd64";
|
||||
hash = "sha256-YFQh4vDtT+mjAIMt0IEtleOFTlxkHMbJq/SrI+IzNjc=";
|
||||
hash = "sha256-I4EG6T//+YFLOlQMpW1ERpBzR/882lXMPqpO7em/QJY=";
|
||||
};
|
||||
"aarch64-darwin" = {
|
||||
name = "darwin-arm64";
|
||||
hash = "sha256-qVsItCI3LxPraOLtEvVaoTzhoGEcIySTWooMBSMLvAc=";
|
||||
hash = "sha256-QtHCvTgfrQilIbd3S3/zkyBLccukGfFckCrZPCIMNMg=";
|
||||
};
|
||||
};
|
||||
platform = systemToPlatform.${system} or throwSystem;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gh-copilot";
|
||||
version = "1.0.5";
|
||||
version = "1.0.6";
|
||||
|
||||
src = fetchurl {
|
||||
name = "gh-copilot";
|
||||
|
||||
@@ -25,13 +25,13 @@ let
|
||||
in
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "gh-f";
|
||||
version = "1.2.0";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gennaro-tedesco";
|
||||
repo = "gh-f";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-rdHQIhrU0nzIURnmPGyzSkew6FVn4Z6J1rn3HvyDpJI=";
|
||||
hash = "sha256-62FVFW2KLdH0uonIf3OVBFMGLcCteMjydaLAjWtxwUo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "glasgow";
|
||||
version = "0-unstable-2024-12-22";
|
||||
version = "0-unstable-2025-01-05";
|
||||
# from `pdm show`
|
||||
realVersion = let
|
||||
tag = builtins.elemAt (lib.splitString "-" version) 0;
|
||||
@@ -22,8 +22,8 @@ python3.pkgs.buildPythonApplication rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "GlasgowEmbedded";
|
||||
repo = "glasgow";
|
||||
rev = "a477a8729ca0232ca41d1463a1d95f49a5a1dbc9";
|
||||
sha256 = "sha256-cKQ/qnfGqiLsEy8lkcLPBJZvPDWwuAoCua/L1cfUS1k=";
|
||||
rev = "5e719a48658a873427ba3dafcf00757cbfcf3aa4";
|
||||
sha256 = "sha256-el538mYGqe5beOQOV2zp4v3phwzXF3rGK7DXguyf904=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -28,9 +28,9 @@ perlPackages.buildPerlPackage rec {
|
||||
patchShebangs bin
|
||||
|
||||
substituteInPlace lib/GLPI/Agent/Tools/Linux.pm \
|
||||
--replace-fail "/sbin/ip" $"{iproute2}/sbin/ip"
|
||||
--replace-fail "/sbin/ip" "${lib.getExe' iproute2 "ip"}"
|
||||
substituteInPlace lib/GLPI/Agent/Task/Inventory/Linux/Networks.pm \
|
||||
--replace-fail "/sbin/ip" "${iproute2}/sbin/ip"
|
||||
--replace-fail "/sbin/ip" "${lib.getExe' iproute2 "ip"}"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "graphene-hardened-malloc";
|
||||
version = "2024120400";
|
||||
version = "2024123000";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GrapheneOS";
|
||||
repo = "hardened_malloc";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-VzP7JimAbFcp1HrSS3GArSRhxHaa1s49kFP22iDHt+8=";
|
||||
hash = "sha256-zsP/ym/MXomqq+t/ckiAzHVR4AuFg+mEwXlICbBbODA=";
|
||||
};
|
||||
|
||||
nativeCheckInputs = [ python3 ];
|
||||
|
||||
@@ -6,19 +6,19 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "hilbish";
|
||||
version = "2.3.3";
|
||||
version = "2.3.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Rosettea";
|
||||
repo = "Hilbish";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-rDE9zxkCnnvc1OWd4Baei/Bw9KdFRV7DOorxLSD/KhM";
|
||||
hash = "sha256-rEBUrDdJBCywuSmsxFLl4+uSwz06km2nztH5aCGcGiE=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
vendorHash = "sha256-8t3JBQEAmWcAlgA729IRpiewlgnRd5DQxHLTfwquE3o";
|
||||
vendorHash = "sha256-8t3JBQEAmWcAlgA729IRpiewlgnRd5DQxHLTfwquE3o=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -8,22 +8,22 @@
|
||||
|
||||
let
|
||||
pname = "hoppscotch";
|
||||
version = "24.11.0-0";
|
||||
version = "24.12.0-0";
|
||||
|
||||
src =
|
||||
fetchurl
|
||||
{
|
||||
aarch64-darwin = {
|
||||
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_aarch64.dmg";
|
||||
hash = "sha256-MvLaAURzcNkG+kHFiMb7vliucJOzfqU3skeUGWiiKBY=";
|
||||
hash = "sha256-pM9s5rRb/VswJECK44Ku2rSa4a7kpKhJM9t6uR/6B9A=";
|
||||
};
|
||||
x86_64-darwin = {
|
||||
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_x64.dmg";
|
||||
hash = "sha256-2LlsBgiu2LWkK8+VAT7FvZ1YPDtNla+t8YDZF0GalxI=";
|
||||
hash = "sha256-vXZSeogWBJt7ev0bmWB5MWYcePgq1noG3djU8kjZumQ=";
|
||||
};
|
||||
x86_64-linux = {
|
||||
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_linux_x64.AppImage";
|
||||
hash = "sha256-xUtpoKilueiMD+2Yd58jlxq2UPwp9oUzusB9sbJQulk=";
|
||||
hash = "sha256-iwSqGcaQqFawGhT4vWKQp63ZoHGjssNYJ3ByvKJacU0=";
|
||||
};
|
||||
}
|
||||
.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "httm";
|
||||
version = "0.44.0";
|
||||
version = "0.44.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kimono-koans";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-RDz/R2wfB8nEiSUD58YsF1wRgMmJkMxRTfYjSB8fEsM=";
|
||||
hash = "sha256-vf5wIXYMBB7I6enmCYByoAE+2MWA/iUoq3UY86yRsEU=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-c4u8/bYkme3iJzuIXIJoclgukTMZ6LZEhezggs/lcro=";
|
||||
cargoHash = "sha256-o9Ctt5a96vBhh0eB0z9N9qR3txVWdeq2qH9dYaxqtoA=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hypnotix";
|
||||
version = "4.8";
|
||||
version = "4.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = "hypnotix";
|
||||
rev = version;
|
||||
hash = "sha256-/RW7AGEr/cAnEvjKXSqOWtAfVfqGYrGbIiQN3K5WLM4=";
|
||||
hash = "sha256-mM6NeDtRoPUSQ/smtvpYJ3qqeqiPHquP96ChJgSJWL0=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "hyprls";
|
||||
version = "0.3.0";
|
||||
version = "0.4.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyprland-community";
|
||||
repo = "hyprls";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-uNT3sC81pnFqDzmhL20q5YDLBSVJwv0frNGB9wzkRkg=";
|
||||
hash = "sha256-PW1AXt8swS86Ucxad8R4exKOJ0Kww23Q1UKBmsKlsc8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-rG+oGJOABA9ee5nIpC5/U0mMsPhwvVtQvJBlQWfxi5Y=";
|
||||
|
||||
@@ -8,17 +8,17 @@
|
||||
}:
|
||||
buildNpmPackage rec {
|
||||
pname = "immich-public-proxy";
|
||||
version = "1.5.4";
|
||||
version = "1.5.6";
|
||||
src = fetchFromGitHub {
|
||||
owner = "alangrainger";
|
||||
repo = "immich-public-proxy";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-GoAUR8s2tRHpXD/yk42u6DDvkI97XAUlF9Zsq8pb/1M=";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-nAXSlzMJNx7QjdHr/Ax8RAcWVcsMgBLbBO0CqpWCsvA=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/app";
|
||||
|
||||
npmDepsHash = "sha256-BN7g+31ijH8r9rsv5zzjnE8PT7ozAswoyZNJ0XqXGyw=";
|
||||
npmDepsHash = "sha256-rtDd8Gadi3OrnM34Sr2FG6htYeh2G0cYDcv/hKk1TIw=";
|
||||
|
||||
# patch in absolute nix store paths so the process doesn't need to cwd in $out
|
||||
postPatch = ''
|
||||
@@ -40,6 +40,7 @@ buildNpmPackage rec {
|
||||
};
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/alangrainger/immich-public-proxy/releases/tag/${src.tag}";
|
||||
description = "Share your Immich photos and albums in a safe way without exposing your Immich instance to the public";
|
||||
homepage = "https://github.com/alangrainger/immich-public-proxy";
|
||||
license = lib.licenses.agpl3Only;
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "inshellisense";
|
||||
version = "0.0.1-rc.18";
|
||||
version = "0.0.1-rc.20";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "microsoft";
|
||||
repo = pname;
|
||||
tag = version;
|
||||
hash = "sha256-9cSygGQar2rD3lorehlNmUzd0ZnABNJSJwmoNH3MTmk=";
|
||||
hash = "sha256-UGF7tARMnRaeIEKUhYa63hBpEoMb6qV209ECPirkgyg=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-/FSzeHPgVb5OB6mjP5GYAYBdTmk93xyWJI+NH7L61Do=";
|
||||
npmDepsHash = "sha256-ycU0vEMgiKBaGKWMBPzQfIvBx6Q7jIHxgzZyi9VGBhw=";
|
||||
|
||||
# Needed for dependency `@homebridge/node-pty-prebuilt-multiarch`
|
||||
# On Darwin systems the build fails with,
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "jnv";
|
||||
version = "0.4.2";
|
||||
version = "0.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ynqa";
|
||||
repo = "jnv";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-FkOcNQR/YyCufk7U4gdkmDBwkKns4Yze/T2Wx4PUFa8=";
|
||||
hash = "sha256-ouWtMos4g9uIFEFeukgq8VgcxlSCzJnSYFNdNmOD5C8=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-bX/a/GKUph8PocXxfOHQ+XfqFHtbnET0vSAwvSUqQzw=";
|
||||
cargoHash = "sha256-+/Xk5bb8GpyeKZii5rG/qboIxUqOyxwCSUCL9jtGHys=";
|
||||
|
||||
buildInputs = lib.optional stdenv.hostPlatform.isDarwin (
|
||||
with darwin.apple_sdk.frameworks;
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "jreleaser-cli";
|
||||
version = "1.15.0";
|
||||
version = "1.16.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/jreleaser/jreleaser/releases/download/v${version}/jreleaser-tool-provider-${version}.jar";
|
||||
hash = "sha256-/FDoAYf+Uy+VcWT9KpW1IEqOCvCOOyV+8/cugpeUR7Y=";
|
||||
hash = "sha256-86FvsGitzJBGQUZ9cxtnxO/hfplnpLekxrS+k5ToeLM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "karate";
|
||||
version = "1.5.0";
|
||||
version = "1.5.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/karatelabs/karate/releases/download/v${version}/karate-${version}.jar";
|
||||
sha256 = "sha256-3uz51dQvyvK7gcmRoUjfszghBaPfVc/SJaKSEWkfgr8=";
|
||||
sha256 = "sha256-Dk7rd9exdTSvauqcAldT3N597TeF+MNoLTx4OmOGcxE=";
|
||||
};
|
||||
dontUnpack = true;
|
||||
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "kubetui";
|
||||
version = "1.5.4";
|
||||
version = "1.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sarub0b0";
|
||||
repo = "kubetui";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-Trgc3T+01u1izePfM0wPjer3IrA6PtIGsK+syEzs0V8=";
|
||||
hash = "sha256-GCtcAoN/RjgaspTIR51TJQV2xT3dcVIFazITKVy7qYY=";
|
||||
};
|
||||
|
||||
checkFlags = [
|
||||
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
|
||||
frameworks.AppKit
|
||||
]
|
||||
);
|
||||
cargoHash = "sha256-f9JrowyZx4NvfGJSU/HjyTfWKhkAANNfUgcK9CRPW7I=";
|
||||
cargoHash = "sha256-rS4P4CJ1V1Bq4lsprYEWhff9b1EqQ/6ytyjJs9DCrY0=";
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/sarub0b0/kubetui";
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ligolo-ng";
|
||||
version = "0.7.4";
|
||||
version = "0.7.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tnpitsecurity";
|
||||
repo = "ligolo-ng";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-Qsz7eRy+gkmw+ORNlrtstiKjH6Cj6v76GDH3cQ/HoiU=";
|
||||
hash = "sha256-BU3gBUNOTjpAANkvzPcgsZrly+TkbG86LHtZf93uxeY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-v6lHY3s1TJh8u4JaTa9kcCj+1pl01zckvTVeLk8TZ+w=";
|
||||
|
||||
@@ -12,13 +12,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "memtier-benchmark";
|
||||
version = "2.1.2";
|
||||
version = "2.1.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "redislabs";
|
||||
repo = "memtier_benchmark";
|
||||
tag = version;
|
||||
sha256 = "sha256-a6v+M+r2f3AZImkHmUomViQNlgTdL7JaRayoVvmaMJU=";
|
||||
sha256 = "sha256-3q+NOdmbOiRq+pUxy3d1UdpUxHsv2XfnScDIfB+xyhk=";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
|
||||
@@ -0,0 +1,133 @@
|
||||
.Dd January 1, 1980
|
||||
.Dt nixos-option 8
|
||||
.Os
|
||||
.Sh NAME
|
||||
.Nm nixos-option
|
||||
.Nd inspect a NixOS configuration
|
||||
.
|
||||
.
|
||||
.
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
.Op Fl r | -recursive
|
||||
.Op Fl I Ar path
|
||||
.Op Fl F | -flake Ar flake-uri
|
||||
.br
|
||||
.Op Fl -no-flake
|
||||
.Op Fl -show-trace
|
||||
.Ar option.name
|
||||
.
|
||||
.
|
||||
.
|
||||
.Sh DESCRIPTION
|
||||
This command evaluates the configuration specified in
|
||||
.Ev NIXOS_CONFIG Ns
|
||||
,
|
||||
.Pa nixos-config
|
||||
in
|
||||
.Ev NIX_PATH
|
||||
(which by default is
|
||||
.Pa /etc/nixos/configuration.nix Ns
|
||||
),
|
||||
.Pa /etc/nixos/flake.nix
|
||||
or the file and attribute specified by the
|
||||
.Fl I
|
||||
or
|
||||
.Fl -flake
|
||||
parameter, and returns the properties of the option name given as argument.
|
||||
.
|
||||
.Pp
|
||||
When the option name is not an option but an attribute set, the command prints
|
||||
the list of attributes contained in it. When no option name is given, the
|
||||
command prints all top-level attributes in given NixOS configuration.
|
||||
.
|
||||
.
|
||||
.
|
||||
.Sh OPTIONS
|
||||
.Bl -tag -width indent
|
||||
.It Fl r , -recursive
|
||||
Print all the values at or below the specified path recursively.
|
||||
.
|
||||
.It Fl I Ar path
|
||||
Add an entry to the Nix expression search path. This option is passed to the
|
||||
underlying
|
||||
.Xr nix-instantiate 1
|
||||
invocation.
|
||||
.
|
||||
.It Fl -show-trace
|
||||
Print eval trace. This option is passed to the underlying
|
||||
.Xr nix-instantiate 1
|
||||
invocation.
|
||||
.
|
||||
.It Fl F , -flake Ar flake-uri
|
||||
Specify the flake containing NixOS configuration. It defaults to
|
||||
.Pa /etc/nixos/flake.nix Ns
|
||||
, if the flake exists, it must contain an output named
|
||||
.Ql nixosConfigurations. Ns Va name Ns
|
||||
\&. If
|
||||
.Va name
|
||||
is omitted, it defaults to the current host name.
|
||||
.
|
||||
.It Fl -no-flake
|
||||
Do not imply
|
||||
.Fl -flake
|
||||
if
|
||||
.Pa /etc/nixos/flake.nix
|
||||
exists. With this option, it is possible to show options in non-flake NixOS
|
||||
configurations even if the current NixOS systems uses flakes.
|
||||
.
|
||||
.El
|
||||
.
|
||||
.
|
||||
.
|
||||
.Sh Ev ENVIRONMENT
|
||||
.Bl -tag -width indent
|
||||
.It Ev NIXOS_CONFIG
|
||||
Path to the main NixOS configuration module. Defaults to
|
||||
.Pa /etc/nixos/configuration.nix Ns
|
||||
\&.
|
||||
.El
|
||||
.
|
||||
.
|
||||
.
|
||||
.Sh EXAMPLES
|
||||
Investigate option values:
|
||||
.Bd -literal -offset indent
|
||||
$ nixos-option boot.loader
|
||||
This attribute set contains:
|
||||
generationsDir
|
||||
grub
|
||||
initScript
|
||||
|
||||
$ nixos-option boot.loader.grub.enable
|
||||
Value:
|
||||
true
|
||||
|
||||
Default:
|
||||
true
|
||||
|
||||
Type:
|
||||
boolean
|
||||
|
||||
Description:
|
||||
Whether to enable the GNU GRUB boot loader.
|
||||
|
||||
Declared by:
|
||||
/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix
|
||||
|
||||
Defined by:
|
||||
/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos/modules/system/boot/loader/grub/grub.nix
|
||||
.Ed
|
||||
.
|
||||
.
|
||||
.
|
||||
.Sh SEE ALSO
|
||||
.Xr configuration.nix 5
|
||||
.
|
||||
.
|
||||
.
|
||||
.Sh AUTHORS
|
||||
.An -nosplit
|
||||
.An Nicolas Pierron
|
||||
and
|
||||
.An the Nixpkgs/NixOS contributors
|
||||
@@ -0,0 +1,167 @@
|
||||
{
|
||||
nixos,
|
||||
# list representing a nixos option path (e.g. ['console' 'enable']), or a
|
||||
# prefix of such a path (e.g. ['console']), or a string representing the same
|
||||
# (e.g. 'console.enable')
|
||||
path,
|
||||
# whether to recurse down the config attrset and show each set value instead
|
||||
recursive,
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (nixos.pkgs) lib;
|
||||
|
||||
path' = if lib.isString path then (if path == "" then [ ] else readOption path) else path;
|
||||
|
||||
# helper that maps `f` on subslices starting when `predStart x` and
|
||||
# ending when `predEnd x` (no support for nested occurrences)
|
||||
flatMapSlices =
|
||||
predStart: predEnd: f: list:
|
||||
let
|
||||
empty = {
|
||||
result = [ ];
|
||||
active = [ ];
|
||||
};
|
||||
op =
|
||||
{ result, active }:
|
||||
x:
|
||||
if predStart x && predEnd x then
|
||||
{
|
||||
result = result ++ active ++ f [ x ];
|
||||
active = [ ];
|
||||
}
|
||||
else if predStart x then
|
||||
{
|
||||
result = result ++ active;
|
||||
active = [ x ];
|
||||
}
|
||||
else if predEnd x then
|
||||
{
|
||||
result = result ++ f (active ++ [ x ]);
|
||||
active = [ ];
|
||||
}
|
||||
else
|
||||
{
|
||||
inherit result;
|
||||
active = active ++ [ x ];
|
||||
};
|
||||
in
|
||||
(x: x.result ++ x.active) (lib.foldl op empty list);
|
||||
|
||||
# tries to invert showOption, taking a written-out option name and splitting
|
||||
# it into its parts
|
||||
readOption =
|
||||
str:
|
||||
let
|
||||
unescape = list: lib.replaceStrings (map (c: "\\${c}") list) list;
|
||||
unescapeNixString = lib.flip lib.pipe [
|
||||
(lib.concatStringsSep ".")
|
||||
(unescape [ "$" ])
|
||||
builtins.fromJSON
|
||||
];
|
||||
in
|
||||
flatMapSlices (lib.hasPrefix "\"") (lib.hasSuffix "\"") (x: [ (unescapeNixString x) ]) (
|
||||
lib.splitString "." str
|
||||
);
|
||||
|
||||
# like 'mapAttrsRecursiveCond' but handling errors in the attrset tree as leaf
|
||||
# nodes (which means `f` is expected to handle shallow errors)
|
||||
safeMapAttrsRecursiveCond =
|
||||
cond: f: set:
|
||||
let
|
||||
recurse =
|
||||
path:
|
||||
lib.mapAttrs (
|
||||
name: value:
|
||||
let
|
||||
e = builtins.tryEval value;
|
||||
path' = path ++ [ name ];
|
||||
in
|
||||
if e.success && lib.isAttrs value && cond value then recurse path' value else f path' value
|
||||
);
|
||||
in
|
||||
recurse [ ] set;
|
||||
|
||||
# traverse the option tree along `path` from `root`, returning the option or
|
||||
# attrset at the given location
|
||||
optionByPath =
|
||||
path: root:
|
||||
let
|
||||
into =
|
||||
opt: part:
|
||||
if lib.isOption opt && opt.type.descriptionClass == "composite" then
|
||||
opt.type.getSubOptions [ ]
|
||||
else if lib.isOption opt then
|
||||
throw "Trying to access '${part}' inside ${opt.type.name} option while traversing option path '${lib.showOption path}'"
|
||||
else if lib.isAttrs opt && lib.hasAttr part opt then
|
||||
opt.${part}
|
||||
else
|
||||
throw "Found neither an attrset nor supported option type near '${part}' while traversing option path '${lib.showOption path}'";
|
||||
in
|
||||
lib.foldl into root path;
|
||||
|
||||
toPretty = lib.generators.toPretty { multiline = true; };
|
||||
safeToPretty =
|
||||
x:
|
||||
let
|
||||
e = builtins.tryEval (toPretty x);
|
||||
in
|
||||
if e.success then e.value else "[1;31m«error»[m";
|
||||
|
||||
indent = str: lib.concatStringsSep "\n" (map (x: " " + x) (lib.splitString "\n" str));
|
||||
|
||||
optionAttrNames = attrs: lib.filter (x: x != "_module") (lib.attrNames attrs);
|
||||
|
||||
## full, non-recursive mode: print an option from `options`
|
||||
renderAttrs =
|
||||
attrs: "This attribute set contains:\n${lib.concatStringsSep "\n" (optionAttrNames attrs)}";
|
||||
|
||||
renderOption =
|
||||
option: value:
|
||||
let
|
||||
entry =
|
||||
cond: heading: value:
|
||||
lib.optional cond "${heading}:\n${indent value}";
|
||||
in
|
||||
lib.concatStringsSep "\n\n" (
|
||||
lib.concatLists [
|
||||
(entry true "Value" (toPretty value))
|
||||
(entry (option ? default) "Default" (toPretty option.default))
|
||||
(entry (option ? type) "Type" (option.type.description))
|
||||
(entry (option ? description) "Description" (lib.removeSuffix "\n" option.description))
|
||||
(entry (option ? example) "Example" (toPretty option.example))
|
||||
(entry (option ? declarations) "Declared by" (lib.concatStringsSep "\n" option.declarations))
|
||||
(entry (option ? files) "Defined by" (lib.concatStringsSep "\n" option.files))
|
||||
]
|
||||
);
|
||||
|
||||
renderFull =
|
||||
entry: configEntry:
|
||||
if lib.isOption entry then
|
||||
renderOption entry configEntry
|
||||
else if lib.isAttrs entry then
|
||||
renderAttrs entry
|
||||
else
|
||||
throw "Found neither an attrset nor option at option path '${lib.showOption path'}'";
|
||||
|
||||
## recursive mode: print paths and values from `config`
|
||||
renderRecursive =
|
||||
config:
|
||||
let
|
||||
renderShort = n: v: "${lib.showOption (path' ++ n)} = ${safeToPretty v};";
|
||||
mapAttrsRecursive' = safeMapAttrsRecursiveCond (x: !lib.isDerivation x);
|
||||
in
|
||||
if lib.isAttrs config then
|
||||
lib.concatStringsSep "\n" (lib.collect lib.isString (mapAttrsRecursive' renderShort config))
|
||||
else
|
||||
renderShort [ ] config;
|
||||
|
||||
in
|
||||
if !lib.hasAttrByPath path' nixos.config then
|
||||
throw "Couldn't resolve config path '${lib.showOption path'}'"
|
||||
else
|
||||
let
|
||||
optionEntry = optionByPath path' nixos.options;
|
||||
configEntry = lib.attrByPath path' null nixos.config;
|
||||
in
|
||||
if recursive then renderRecursive configEntry else renderFull optionEntry configEntry
|
||||
@@ -0,0 +1,106 @@
|
||||
#!/bin/bash
|
||||
# shellcheck shell=bash
|
||||
set -eou pipefail
|
||||
|
||||
recursive=false
|
||||
no_flake=false
|
||||
positional_args=()
|
||||
nix_args=(--arg nixos "import <nixpkgs/nixos> { }")
|
||||
flake=""
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
--help)
|
||||
exec man -M @nixosOptionManpage@ 8 nixos-option
|
||||
;;
|
||||
|
||||
-r|--recursive)
|
||||
recursive=true
|
||||
shift
|
||||
;;
|
||||
|
||||
-I)
|
||||
nix_args+=("$1" "$2")
|
||||
# Not breaking existing usages of it
|
||||
no_flake=true
|
||||
shift 2
|
||||
;;
|
||||
|
||||
-F|--flake)
|
||||
flake=$2
|
||||
shift 2
|
||||
;;
|
||||
|
||||
--no-flake)
|
||||
no_flake=true
|
||||
shift
|
||||
;;
|
||||
|
||||
--show-trace)
|
||||
nix_args+=("$1")
|
||||
shift
|
||||
;;
|
||||
|
||||
-*)
|
||||
echo >&2 "Unsupported option $1"
|
||||
exit 1
|
||||
;;
|
||||
|
||||
*)
|
||||
positional_args+=("$1")
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Detection order, from high to low:
|
||||
# `--flake`
|
||||
# $NIXOS_CONFIG
|
||||
# nixos-config=<path> in NIX_PATH (normally /etc/nixos/configuration.nix)
|
||||
# `-I` (implies `--no-flake`)
|
||||
# `--no-flake`
|
||||
# /etc/nixos/flake.nix (if exists)
|
||||
|
||||
if [[ -z "$flake" ]] && [[ -e /etc/nixos/flake.nix ]] && [[ "$no_flake" == "false" ]]; then
|
||||
flake="$(dirname "$(realpath /etc/nixos/flake.nix)")"
|
||||
fi
|
||||
|
||||
if [[ -n "$flake" ]]; then
|
||||
echo >&2 "[WARN] Flake support in nixos-option is experimental and has known issues."
|
||||
|
||||
if [[ $flake =~ ^(.*)\#([^\#\"]*)$ ]]; then
|
||||
flake="${BASH_REMATCH[1]}"
|
||||
flakeAttr="${BASH_REMATCH[2]}"
|
||||
fi
|
||||
# Unlike nix cli, builtins.getFlake infer path:// when a path is given
|
||||
# See https://github.com/NixOS/nix/issues/5836
|
||||
# Using `git rev-parse --show-toplevel` since we can't assume the flake dir
|
||||
# itself is a git repo, because the flake could be in a sub directory
|
||||
if [[ -d "$flake" ]] && git -C "$flake" rev-parse --show-toplevel &>/dev/null; then
|
||||
flake="git+file://$(realpath "$flake")"
|
||||
fi
|
||||
if [[ -z "${flakeAttr:-}" ]]; then
|
||||
hostname=$(< /proc/sys/kernel/hostname)
|
||||
if [[ -z "${hostname:-}" ]]; then
|
||||
hostname=default
|
||||
fi
|
||||
flakeAttr="nixosConfigurations.\"$hostname\""
|
||||
else
|
||||
flakeAttr="nixosConfigurations.\"$flakeAttr\""
|
||||
fi
|
||||
nix_args+=(--arg nixos "(builtins.getFlake \"$flake\").$flakeAttr")
|
||||
fi
|
||||
|
||||
case ${#positional_args[@]} in
|
||||
0) path= ;;
|
||||
# Remove trailing dot if exists, match the behavior of
|
||||
# old nixos-option and make shell completions happy
|
||||
1) path="${positional_args[0]%.}" ;;
|
||||
*) echo >&2 "Only one option path can be provided"; exit 1 ;;
|
||||
esac
|
||||
|
||||
nix-instantiate "${nix_args[@]}" --eval --json \
|
||||
--argstr path "$path" \
|
||||
--arg recursive "$recursive" \
|
||||
@nixosOptionNix@ \
|
||||
| jq -r
|
||||
@@ -0,0 +1,80 @@
|
||||
{
|
||||
lib,
|
||||
coreutils,
|
||||
git,
|
||||
installShellFiles,
|
||||
jq,
|
||||
makeWrapper,
|
||||
man-db,
|
||||
nix,
|
||||
nixosTests,
|
||||
shellcheck,
|
||||
stdenvNoCC,
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation {
|
||||
name = "nixos-option";
|
||||
|
||||
src = ./nixos-option.sh;
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
makeWrapper
|
||||
shellcheck
|
||||
];
|
||||
|
||||
env = {
|
||||
nixosOptionNix = "${./nixos-option.nix}";
|
||||
nixosOptionManpage = "${placeholder "out"}/share/man";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
dontConfigure = true;
|
||||
dontPatch = true;
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm555 $src $out/bin/nixos-option
|
||||
substituteAllInPlace $out/bin/nixos-option
|
||||
installManPage ${./nixos-option.8}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheck
|
||||
|
||||
shellcheck $out/bin/nixos-option
|
||||
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/nixos-option \
|
||||
--prefix PATH : ${
|
||||
lib.makeBinPath [
|
||||
coreutils
|
||||
git
|
||||
jq
|
||||
man-db
|
||||
nix
|
||||
]
|
||||
}
|
||||
'';
|
||||
|
||||
passthru.tests.installer-simpleUefiSystemdBoot = nixosTests.installer.simpleUefiSystemdBoot;
|
||||
|
||||
meta = {
|
||||
description = "Evaluate NixOS configuration and return the properties of given option";
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "nixos-option";
|
||||
maintainers = with lib.maintainers; [
|
||||
FireyFly
|
||||
azuwis
|
||||
aleksana
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -8,12 +8,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "opengrok";
|
||||
version = "1.13.24";
|
||||
version = "1.13.25";
|
||||
|
||||
# binary distribution
|
||||
src = fetchurl {
|
||||
url = "https://github.com/oracle/opengrok/releases/download/${version}/${pname}-${version}.tar.gz";
|
||||
hash = "sha256-rAiibbNsEH+mjRq2qDKk+8pdAfnCFRpAm1Opgmw+FTY=";
|
||||
hash = "sha256-8KWpj1iiM5mYWJICXgicVr1RvAT2F7P8hBxCpMUTHIs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "opnborg";
|
||||
version = "0.1.51";
|
||||
version = "0.1.54";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paepckehh";
|
||||
repo = "opnborg";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-HcQl5R+xzk5HUVBUecI7KsrCfz/WK80hZ4oCOSHOGs8=";
|
||||
hash = "sha256-N6tZqHyL3bOkXJrn4qMVpUR3tQHa8DiurRqy6BJnK+Y=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-REXJryUcu+/AdVx1aK0nJ98Wq/EdhrZqL24kC1wK6mc=";
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
buildGoModule,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "os-agent";
|
||||
version = "1.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "home-assistant";
|
||||
repo = "os-agent";
|
||||
tag = "${version}";
|
||||
hash = "sha256-euBoRlgYtQmuYyIxD3yxbvXc4Zcke2JXGOlBmY0mRZU=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-zWvvQsEBtGX2qa6HoG2sYv8q5fi/wM0eDQa8jLjh4+A=";
|
||||
|
||||
ldFlags = [
|
||||
"-X main.version="
|
||||
];
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Daemon allowing to control OS features through D-Bus";
|
||||
homepage = "https://github.com/home-assistant/os-agent";
|
||||
changelog = "https://github.com/home-assistant/os-agent/releases/tag/${version}";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ genga898 ];
|
||||
mainProgram = "os-agent";
|
||||
};
|
||||
}
|
||||
@@ -43,6 +43,9 @@ stdenv.mkDerivation rec {
|
||||
++ lib.optional withNetworking "--enable-networking"
|
||||
++ lib.optional withALSA "--enable-alsa";
|
||||
|
||||
# Fix GCC 14 build
|
||||
env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration -Wno-error=incompatible-pointer-types";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Emulator for IBM PC computers and clones";
|
||||
mainProgram = "pcem";
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
libbacktrace,
|
||||
libpcap,
|
||||
libwebp,
|
||||
llvmPackages_17,
|
||||
llvmPackages,
|
||||
lz4,
|
||||
makeWrapper,
|
||||
pkg-config,
|
||||
@@ -37,7 +37,7 @@ let
|
||||
wrapQtAppsHook
|
||||
;
|
||||
in
|
||||
llvmPackages_17.stdenv.mkDerivation (finalAttrs: {
|
||||
llvmPackages.stdenv.mkDerivation (finalAttrs: {
|
||||
inherit (sources.pcsx2) pname version src;
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
python3Packages,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "phase-cli";
|
||||
version = "1.18.6";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "phasehq";
|
||||
repo = "cli";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-4DvvTIXTV10euFSFpULcomrAhfZbOBZ0MKb5oR9GX64=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
setuptools
|
||||
];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
keyring
|
||||
questionary
|
||||
cffi
|
||||
requests
|
||||
pynacl
|
||||
rich
|
||||
pyyaml
|
||||
toml
|
||||
python-hcl2
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
versionCheckHook
|
||||
python3Packages.pytestCheckHook
|
||||
];
|
||||
|
||||
pytestFlagsArray = [
|
||||
"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/v${version}";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ genga898 ];
|
||||
mainProgram = "phase";
|
||||
};
|
||||
}
|
||||
@@ -17,14 +17,27 @@ let
|
||||
# We keep the override around even when the versions match, as
|
||||
# it's likely to become relevant again after the next Poetry update.
|
||||
poetry-core = super.poetry-core.overridePythonAttrs (old: rec {
|
||||
version = "1.9.1";
|
||||
version = "2.0.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "python-poetry";
|
||||
repo = "poetry-core";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-L8lR9sUdRYqjkDCQ0XHXZm5X6xD40t1gxlGiovvb/+8=";
|
||||
tag = version;
|
||||
hash = "sha256-3dmvFn2rxtR0SK8oiEHIVJhpJpX4Mm/6kZnIYNSDv90=";
|
||||
};
|
||||
patches = [ ];
|
||||
nativeCheckInputs =
|
||||
old.nativeCheckInputs
|
||||
++ (with self; [
|
||||
trove-classifiers
|
||||
]);
|
||||
disabledTests = old.disabledTests ++ [
|
||||
# relies on git
|
||||
"test_package_with_include"
|
||||
# Nix changes timestamp
|
||||
"test_dist_info_date_time_default_value"
|
||||
"test_sdist_members_mtime_default"
|
||||
"test_sdist_mtime_zero"
|
||||
];
|
||||
});
|
||||
}
|
||||
// (plugins self);
|
||||
@@ -41,6 +54,7 @@ let
|
||||
poetry-plugin-export = callPackage ./plugins/poetry-plugin-export.nix { };
|
||||
poetry-plugin-up = callPackage ./plugins/poetry-plugin-up.nix { };
|
||||
poetry-plugin-poeblix = callPackage ./plugins/poetry-plugin-poeblix.nix { };
|
||||
poetry-plugin-shell = callPackage ./plugins/poetry-plugin-shell.nix { };
|
||||
};
|
||||
|
||||
# selector is a function mapping pythonPackages to a list of plugins
|
||||
|
||||
@@ -23,15 +23,19 @@ buildPythonPackage rec {
|
||||
hash = "sha256-kiNtzEup2ygCTk0zk8YV2jxAj6ZzOhP8v0U4FbV15hI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
build-system = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"poetry"
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
poetry
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dependencies = [
|
||||
safety
|
||||
];
|
||||
|
||||
|
||||
@@ -2,7 +2,11 @@
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
poetry,
|
||||
poetry-core,
|
||||
pytest-mock,
|
||||
pytest-xdist,
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@@ -17,17 +21,19 @@ buildPythonPackage rec {
|
||||
hash = "sha256-ZXhj9FwCCNFMzyoAtQTD8bddOvVM4KzNtd+3sBn9i+w=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
sed -i '/poetry =/d' pyproject.toml
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
build-system = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
# infinite recursion with poetry
|
||||
doCheck = false;
|
||||
pythonImportsCheck = [ ];
|
||||
buildInputs = [
|
||||
poetry
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytest-mock
|
||||
pytest-xdist
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
changelog = "https://github.com/python-poetry/poetry-plugin-export/blob/${src.rev}/CHANGELOG.md";
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
{
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
pexpect,
|
||||
poetry,
|
||||
poetry-core,
|
||||
pytest-mock,
|
||||
pytest-xdist,
|
||||
pytestCheckHook,
|
||||
shellingham,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "poetry-plugin-shell";
|
||||
version = "1.0.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "python-poetry";
|
||||
repo = "poetry-plugin-shell";
|
||||
tag = version;
|
||||
hash = "sha256-ynbZCzic6bAIwtG0rGk4oMPc8pm59UFboNAGUb0qJnE=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
buildInputs = [
|
||||
poetry
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
pexpect
|
||||
shellingham
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytest-mock
|
||||
pytest-xdist
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/python-poetry/poetry-plugin-shell/blob/${src.tag}/CHANGELOG.md";
|
||||
description = "Poetry plugin to run subshell with virtual environment activated";
|
||||
homepage = "https://github.com/python-poetry/poetry-plugin-shell";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ dotlambda ];
|
||||
};
|
||||
}
|
||||
@@ -20,14 +20,17 @@ buildPythonPackage rec {
|
||||
hash = "sha256-PWHbMDGL9CGLRmvFWLOztUW0f/TJioPjQtAgpyCbAqw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
build-system = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
poetry
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
pytest-mock
|
||||
poetry
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
@@ -40,5 +43,7 @@ buildPythonPackage rec {
|
||||
changelog = "https://github.com/MousaZeidBaker/poetry-plugin-up/releases/tag/${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.k900 ];
|
||||
# https://github.com/MousaZeidBaker/poetry-plugin-up/pull/70
|
||||
broken = lib.versionAtLeast poetry.version "2";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,21 +4,19 @@
|
||||
buildPythonPackage,
|
||||
pythonOlder,
|
||||
fetchFromGitHub,
|
||||
fetchpatch2,
|
||||
installShellFiles,
|
||||
build,
|
||||
cachecontrol,
|
||||
cleo,
|
||||
crashtest,
|
||||
dulwich,
|
||||
fastjsonschema,
|
||||
installer,
|
||||
keyring,
|
||||
packaging,
|
||||
pexpect,
|
||||
pkginfo,
|
||||
platformdirs,
|
||||
poetry-core,
|
||||
poetry-plugin-export,
|
||||
pyproject-hooks,
|
||||
requests,
|
||||
requests-toolbelt,
|
||||
@@ -39,18 +37,26 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "poetry";
|
||||
version = "1.8.5";
|
||||
version = "2.0.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "python-poetry";
|
||||
repo = "poetry";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-YR0IgDhmpbe8TyTMP1cjUxGRnrfV8CNHkPlZrNcnof0=";
|
||||
tag = version;
|
||||
hash = "sha256-r4TK4CKDfCeCW+Y1vUoS4ppXmn5xEvI1ZBVUHqFJLKo=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# https://github.com/python-poetry/poetry/pull/9939
|
||||
(fetchpatch2 {
|
||||
url = "https://github.com/python-poetry/poetry/commit/89c0d02761229a8aa7ac5afcbc8935387bde4c5b.patch?full_index=1";
|
||||
hash = "sha256-YuAevkmCSTGuFPfuKrJfcLUye1YGpnHSb9TFSW7F1SU=";
|
||||
})
|
||||
];
|
||||
|
||||
build-system = [
|
||||
poetry-core
|
||||
];
|
||||
@@ -70,17 +76,14 @@ buildPythonPackage rec {
|
||||
build
|
||||
cachecontrol
|
||||
cleo
|
||||
crashtest
|
||||
dulwich
|
||||
fastjsonschema
|
||||
installer
|
||||
keyring
|
||||
packaging
|
||||
pexpect
|
||||
pkginfo
|
||||
platformdirs
|
||||
poetry-core
|
||||
poetry-plugin-export
|
||||
pyproject-hooks
|
||||
requests
|
||||
requests-toolbelt
|
||||
@@ -136,8 +139,8 @@ buildPythonPackage rec {
|
||||
disabledTests = [
|
||||
"test_builder_should_execute_build_scripts"
|
||||
"test_env_system_packages_are_relative_to_lib"
|
||||
"test_executor_known_hashes"
|
||||
"test_install_warning_corrupt_root"
|
||||
"test_project_plugins_are_installed_in_project_folder"
|
||||
];
|
||||
|
||||
pytestFlagsArray = [
|
||||
|
||||
@@ -5,17 +5,17 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.3.1";
|
||||
version = "1.3.2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tynany";
|
||||
repo = "frr_exporter";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-SDtI7CvCeuRL1cXNsWGCl/zupVbgMxv5bzYYqJWTrMw=";
|
||||
hash = "sha256-Cy9m9ZwYWXelMsr6n6WWjBw4LlEZxkdy5ZMJKoJ8HZI=";
|
||||
};
|
||||
in
|
||||
buildGoModule {
|
||||
pname = "prometheus-frr-exporter";
|
||||
vendorHash = "sha256-G+S4XORrg0AEKoAqYdmg+uW6x0Ub5diQTyQGY0iebHg=";
|
||||
vendorHash = "sha256-A2lLW19+wtHcNC8Du8HRORVp/JHGjWbEgoadlNmgm80=";
|
||||
inherit src version;
|
||||
|
||||
ldflags = [
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "pscale";
|
||||
version = "0.218.0";
|
||||
version = "0.219.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "planetscale";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-9aa/Ly/QGdtgpa+p3RuxdZ/EsV81FNLqLxSWMzY55dM=";
|
||||
sha256 = "sha256-kiypZpTw2DAF0fB7kqdRgDrvFtenexnVPq3kFNWBEgQ=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-/BYWAE2VpHy+HTmHOz4GhstcD+Y6R0tjeF9/8+LiZT0=";
|
||||
|
||||
@@ -112,7 +112,7 @@ stdenv.mkDerivation rec {
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheck
|
||||
out="$(env - LANG=C.utf8 HOME=/build ${placeholder "out"}/bin/rabbitmqctl version)"
|
||||
out="$(env - LANG=C.utf8 HOME=$TMPDIR ${placeholder "out"}/bin/rabbitmqctl version)"
|
||||
if [[ "$out" != "$version" ]]; then
|
||||
echo "Rabbitmq should report version $version, but thinks it's version $out" >&2
|
||||
exit 1
|
||||
@@ -120,6 +120,9 @@ stdenv.mkDerivation rec {
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
|
||||
# Needed for the check in installCheckPhase
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
passthru.tests = {
|
||||
vm-test = nixosTests.rabbitmq;
|
||||
};
|
||||
|
||||
@@ -12,16 +12,16 @@ let
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "railway";
|
||||
version = "3.20.0";
|
||||
version = "3.20.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "railwayapp";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-rbgGQrZFytrlEAtyrZlwj/ylNw2rAJ9tfK1NNSaxaT4=";
|
||||
hash = "sha256-a+p8cJKfkux0GupUuoZGfTFrrkW7fzUwmL4W6tr50ek=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-vrQwaLJwhdnbltdLYrOxFbcnbUIPpE1fnN+arAYgZvw=";
|
||||
cargoHash = "sha256-PKUN0scv7J4znaSAC2lc0AO4LzD4l59kuSKvLGRyXME=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
||||
@@ -24,14 +24,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "rbw";
|
||||
version = "1.13.0";
|
||||
version = "1.13.2";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://git.tozt.net/rbw/snapshot/rbw-${version}.tar.gz";
|
||||
hash = "sha256-m5Ql4QfPnlJXfDNEw0O5kXnkFH7Z5u0OSbmB1chgPDY=";
|
||||
hash = "sha256-ebLbdIF+BybK7ssNtZacGWmAEwdNZh8b94QYgvcwzmM=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-/6P0LAdYFByryihRcSLn3s3TMzZJjkSMhnZmevP85Ts=";
|
||||
cargoHash = "sha256-230jJr2EQua9iI4jz+LxrTZn4TtVAsmPYB8JMLAylzc=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
||||
@@ -9,17 +9,17 @@
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
version = "0.9.0";
|
||||
version = "0.9.1";
|
||||
pname = "sccache";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mozilla";
|
||||
repo = "sccache";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-JjXk7mH9XT06qkQDDF2F1zq8m55y7eKTr113iZtrEnA=";
|
||||
sha256 = "sha256-MR/zfE87Z4TXc3ta3192lG/tD7YiVrn0HCLr5O29Izo=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-u6wV+AbR3y1V+lkZbhtBE3nxRKZ6XXOqv0MAMm2Dc1E=";
|
||||
cargoHash = "sha256-tmK+/m1yNQvwbOs05hADmHOwuIbLgGXvPSvXYuye/OY=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -6,25 +6,26 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "signal-export";
|
||||
version = "1.8.2";
|
||||
version = "3.2.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-Hm0BVF2RUsxDacsAB3MJtk1t9FYmBPjeb5JzwaLkZ14=";
|
||||
inherit version;
|
||||
pname = "signal_export";
|
||||
hash = "sha256-QHTix56hdujxWr+pjCg6zu15tCB7YoDSzmNpWwWOHN0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
setuptools-scm
|
||||
build-system = with python3.pkgs; [
|
||||
pdm-backend
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
setuptools
|
||||
typer
|
||||
beautifulsoup4
|
||||
emoji
|
||||
markdown
|
||||
pysqlcipher3
|
||||
pycryptodome
|
||||
sqlcipher3-wheels
|
||||
];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "signalbackup-tools";
|
||||
version = "20241220";
|
||||
version = "20250106";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bepaald";
|
||||
repo = "signalbackup-tools";
|
||||
rev = version;
|
||||
hash = "sha256-uAkoPY42pf3v0yA1oXUf+sAX08cT9/13B17XF89phaI=";
|
||||
hash = "sha256-sCJA9Rns5kGYHM5D/lCqXk81m0R0T6mAigAogkcfYL0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "simdjson";
|
||||
version = "3.11.3";
|
||||
version = "3.11.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "simdjson";
|
||||
repo = "simdjson";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Gh9/vOfhEh3RXT4cSb6KpDqjYS0d1kje1JDbDiWTR0o=";
|
||||
sha256 = "sha256-mcsMp9P9+3ACHkykJitHADoZ35kBeUza2LN+EPnq8RU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "slumber";
|
||||
version = "2.4.0";
|
||||
version = "2.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LucasPickering";
|
||||
repo = "slumber";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-kZAcNQhLlSl3eX1K+NNzkRV8JK/yH3yzYcZPgUBnSBk=";
|
||||
hash = "sha256-ojHVH/GE2FonqqxpGK6t/AmCaeOS1TkWMt89iUt5i1s=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-xbMSPnG07hgBuTARa1L2mX3jk/69JkEDswQ9SuQl42o=";
|
||||
cargoHash = "sha256-qBOZnEhYoTMEzzhf2K6zcXeLCj0rMFs1qERwdUw1fVw=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.AppKit ];
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
pkgs,
|
||||
boost,
|
||||
cmake,
|
||||
coreutils,
|
||||
jq,
|
||||
ncurses,
|
||||
python3,
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "stats";
|
||||
version = "2.11.22";
|
||||
version = "2.11.23";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/exelban/stats/releases/download/v${finalAttrs.version}/Stats.dmg";
|
||||
hash = "sha256-b8Yj8YRoiE37cj4NDDdreoPH5BokBBTReFihUnHQ1wU=";
|
||||
hash = "sha256-tlKiRvLTIt0lKc/fOQBj07lFjgOSkKNE4iNlNwxfTCU=";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
diff --git a/src/core/debugger/debugger.cpp b/src/core/debugger/debugger.cpp
|
||||
index e86aae8460..a4dca23770 100644
|
||||
--- a/src/core/debugger/debugger.cpp
|
||||
+++ b/src/core/debugger/debugger.cpp
|
||||
@@ -5,7 +5,13 @@
|
||||
#include <mutex>
|
||||
#include <thread>
|
||||
|
||||
-#include <boost/asio.hpp>
|
||||
+// Use basic asio functionality only
|
||||
+#define BOOST_ASIO_STANDALONE
|
||||
+#include <boost/asio/basic_io_object.hpp>
|
||||
+#include <boost/asio/ip/tcp.hpp>
|
||||
+#include <boost/asio/write.hpp>
|
||||
+#include <boost/asio/read.hpp>
|
||||
+
|
||||
#include <boost/process/async_pipe.hpp>
|
||||
|
||||
#include "common/logging/log.h"
|
||||
@@ -21,17 +27,22 @@
|
||||
|
||||
template <typename Readable, typename Buffer, typename Callback>
|
||||
static void AsyncReceiveInto(Readable& r, Buffer& buffer, Callback&& c) {
|
||||
- static_assert(std::is_trivial_v<Buffer>);
|
||||
- auto boost_buffer{boost::asio::buffer(&buffer, sizeof(Buffer))};
|
||||
- r.async_read_some(
|
||||
- boost_buffer, [&, c](const boost::system::error_code& error, size_t bytes_read) {
|
||||
- if (!error.failed()) {
|
||||
- const u8* buffer_start = reinterpret_cast<const u8*>(&buffer);
|
||||
- std::span<const u8> received_data{buffer_start, buffer_start + bytes_read};
|
||||
- c(received_data);
|
||||
- AsyncReceiveInto(r, buffer, c);
|
||||
- }
|
||||
- });
|
||||
+ try {
|
||||
+ static_assert(std::is_trivial_v<Buffer>);
|
||||
+ auto boost_buffer{boost::asio::buffer(&buffer, sizeof(Buffer))};
|
||||
+ r.async_read_some(
|
||||
+ boost_buffer,
|
||||
+ [&, c](const boost::system::error_code& error, size_t bytes_read) {
|
||||
+ if (!error) {
|
||||
+ const u8* buffer_start = reinterpret_cast<const u8*>(&buffer);
|
||||
+ std::span<const u8> received_data{buffer_start, buffer_start + bytes_read};
|
||||
+ c(received_data);
|
||||
+ AsyncReceiveInto(r, buffer, c);
|
||||
+ }
|
||||
+ });
|
||||
+ } catch (const std::exception& e) {
|
||||
+ LOG_ERROR(Debug_GDBStub, "AsyncReceiveInto error: {}", e.what());
|
||||
+ }
|
||||
}
|
||||
|
||||
template <typename Callback>
|
||||
@@ -0,0 +1,30 @@
|
||||
diff --git a/src/input_common/drivers/udp_client.cpp b/src/input_common/drivers/udp_client.cpp
|
||||
index 60821b31a6..8f9c047218 100644
|
||||
--- a/src/input_common/drivers/udp_client.cpp
|
||||
+++ b/src/input_common/drivers/udp_client.cpp
|
||||
@@ -2,7 +2,15 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include <random>
|
||||
-#include <boost/asio.hpp>
|
||||
+// Include only needed asio components
|
||||
+#include <boost/asio/io_context.hpp>
|
||||
+#include <boost/asio/ip/udp.hpp>
|
||||
+#include <boost/asio/basic_waitable_timer.hpp>
|
||||
+#include <boost/asio/write.hpp>
|
||||
+#include <boost/asio/buffer.hpp>
|
||||
+#include <boost/asio/basic_socket.hpp>
|
||||
+#include <boost/asio/ip/address.hpp>
|
||||
+#include <boost/asio/ip/address_v4.hpp>
|
||||
#include <fmt/format.h>
|
||||
|
||||
#include "common/logging/log.h"
|
||||
@@ -113,7 +121,7 @@ private:
|
||||
}
|
||||
|
||||
SocketCallback callback;
|
||||
- boost::asio::io_service io_service;
|
||||
+ boost::asio::io_context io_service;
|
||||
boost::asio::basic_waitable_timer<clock> timer;
|
||||
udp::socket socket;
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
diff --git a/src/input_common/helpers/udp_protocol.h b/src/input_common/helpers/udp_protocol.h
|
||||
index db08fc62c5..ea223ea937 100644
|
||||
--- a/src/input_common/helpers/udp_protocol.h
|
||||
+++ b/src/input_common/helpers/udp_protocol.h
|
||||
@@ -69,7 +69,7 @@ Message<T> CreateMessage(const u32 magic, const T data, const u32 sender_id) {
|
||||
};
|
||||
Message<T> message{header, data};
|
||||
crc.process_bytes(&message, sizeof(Message<T>));
|
||||
- message.header.crc = crc.checksum();
|
||||
+ message.header.crc = static_cast<u32_le>(crc.checksum());
|
||||
return message;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,237 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
SDL2,
|
||||
autoconf,
|
||||
boost,
|
||||
catch2_3,
|
||||
cmake,
|
||||
fetchFromGitHub,
|
||||
cpp-jwt,
|
||||
cubeb,
|
||||
discord-rpc,
|
||||
enet,
|
||||
fetchgit,
|
||||
fetchurl,
|
||||
ffmpeg-headless,
|
||||
fmt,
|
||||
glslang,
|
||||
libopus,
|
||||
libusb1,
|
||||
libva,
|
||||
lz4,
|
||||
unzip,
|
||||
nix-update-script,
|
||||
nlohmann_json,
|
||||
nv-codec-headers-12,
|
||||
pkg-config,
|
||||
qt6,
|
||||
vulkan-headers,
|
||||
vulkan-loader,
|
||||
yasm,
|
||||
simpleini,
|
||||
zlib,
|
||||
vulkan-memory-allocator,
|
||||
zstd,
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (qt6)
|
||||
qtbase
|
||||
qtmultimedia
|
||||
qtwayland
|
||||
wrapQtAppsHook
|
||||
qttools
|
||||
qtwebengine
|
||||
;
|
||||
|
||||
compat-list = stdenv.mkDerivation {
|
||||
pname = "yuzu-compatibility-list";
|
||||
version = "unstable-2024-02-26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "flathub";
|
||||
repo = "org.yuzu_emu.yuzu";
|
||||
rev = "9c2032a3c7e64772a8112b77ed8b660242172068";
|
||||
hash = "sha256-ITh/W4vfC9w9t+TJnPeTZwWifnhTNKX54JSSdpgaoBk=";
|
||||
};
|
||||
|
||||
buildCommand = ''
|
||||
cp $src/compatibility_list.json $out
|
||||
'';
|
||||
};
|
||||
|
||||
nx_tzdb = stdenv.mkDerivation rec {
|
||||
pname = "nx_tzdb";
|
||||
version = "221202";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/lat9nq/tzdb_to_nx/releases/download/${version}/${version}.zip";
|
||||
hash = "sha256-mRzW+iIwrU1zsxHmf+0RArU8BShAoEMvCz+McXFFK3c=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
||||
buildCommand = ''
|
||||
unzip $src -d $out
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "suyu";
|
||||
version = "0.0.4";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.suyu.dev/suyu/suyu";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-GgLCbQI7u9neFxQq4borNhlg72FIYn+J5XkaK/7hpnQ=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Remove coroutines from debugger to fix boost::asio compatibility issues
|
||||
./fix-debugger.patch
|
||||
# Add explicit cast for CRC checksum value
|
||||
./fix-udp-protocol.patch
|
||||
# Use specific boost::asio includes and update to modern io_context
|
||||
./fix-udp-client.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
glslang
|
||||
pkg-config
|
||||
qttools
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
# vulkan-headers must come first, so the older propagated versions
|
||||
# don't get picked up by accident
|
||||
vulkan-headers
|
||||
|
||||
boost
|
||||
catch2_3
|
||||
cpp-jwt
|
||||
cubeb
|
||||
discord-rpc
|
||||
# intentionally omitted: dynarmic - prefer vendored version for compatibility
|
||||
enet
|
||||
|
||||
# ffmpeg deps (also includes vendored)
|
||||
# we do not use internal ffmpeg because cuda errors
|
||||
autoconf
|
||||
yasm
|
||||
libva # for accelerated video decode on non-nvidia
|
||||
nv-codec-headers-12 # for accelerated video decode on nvidia
|
||||
ffmpeg-headless
|
||||
# end ffmpeg deps
|
||||
|
||||
fmt
|
||||
# intentionally omitted: gamemode - loaded dynamically at runtime
|
||||
# intentionally omitted: httplib - upstream requires an older version than what we have
|
||||
libopus
|
||||
libusb1
|
||||
# intentionally omitted: LLVM - heavy, only used for stack traces in the debugger
|
||||
lz4
|
||||
nlohmann_json
|
||||
qtbase
|
||||
qtmultimedia
|
||||
qtwayland
|
||||
qtwebengine
|
||||
# intentionally omitted: renderdoc - heavy, developer only
|
||||
SDL2
|
||||
# intentionally omitted: stb - header only libraries, vendor uses git snapshot
|
||||
vulkan-memory-allocator
|
||||
# intentionally omitted: xbyak - prefer vendored version for compatibility
|
||||
zlib
|
||||
zstd
|
||||
];
|
||||
|
||||
# This changes `ir/opt` to `ir/var/empty` in `externals/dynarmic/src/dynarmic/CMakeLists.txt`
|
||||
# making the build fail, as that path does not exist
|
||||
dontFixCmake = true;
|
||||
|
||||
cmakeFlags = [
|
||||
# actually has a noticeable performance impact
|
||||
(lib.cmakeBool "SUYU_ENABLE_LTO" true)
|
||||
|
||||
(lib.cmakeBool "ENABLE_QT6" true)
|
||||
(lib.cmakeBool "ENABLE_QT_TRANSLATION" true)
|
||||
|
||||
# use system libraries
|
||||
# NB: "external" here means "from the externals/ directory in the source",
|
||||
# so "off" means "use system"
|
||||
(lib.cmakeBool "SUYU_USE_EXTERNAL_SDL2" false)
|
||||
(lib.cmakeBool "SUYU_USE_EXTERNAL_VULKAN_HEADERS" true)
|
||||
"-DVulkan_INCLUDE_DIRS=${vulkan-headers}/include"
|
||||
|
||||
# # don't use system ffmpeg, suyu uses internal APIs
|
||||
# (lib.cmakeBool "SUYU_USE_BUNDLED_FFMPEG" true)
|
||||
|
||||
# don't check for missing submodules
|
||||
(lib.cmakeBool "SUYU_CHECK_SUBMODULES" false)
|
||||
|
||||
# enable some optional features
|
||||
(lib.cmakeBool "SUYU_USE_QT_WEB_ENGINE" true)
|
||||
(lib.cmakeBool "SUYU_USE_QT_MULTIMEDIA" true)
|
||||
(lib.cmakeBool "USE_DISCORD_PRESENCE" true)
|
||||
|
||||
# We dont want to bother upstream with potentially outdated compat reports
|
||||
(lib.cmakeBool "SUYU_ENABLE_COMPATIBILITY_REPORTING" false)
|
||||
(lib.cmakeBool "ENABLE_COMPATIBILITY_LIST_DOWNLOAD" false) # We provide this deterministically
|
||||
];
|
||||
|
||||
env = {
|
||||
# Does some handrolled SIMD
|
||||
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isx86_64 "-msse4.1";
|
||||
};
|
||||
|
||||
qtWrapperArgs = [
|
||||
# Fixes vulkan detection.
|
||||
# FIXME: patchelf --add-rpath corrupts the binary for some reason, investigate
|
||||
"--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib"
|
||||
];
|
||||
|
||||
# Setting this through cmakeFlags does not work.
|
||||
# https://github.com/NixOS/nixpkgs/issues/114044
|
||||
preConfigure = lib.concatStringsSep "\n" [
|
||||
''
|
||||
cmakeFlagsArray+=(
|
||||
"-DTITLE_BAR_FORMAT_IDLE=${finalAttrs.pname} | ${finalAttrs.version} (nixpkgs) {}"
|
||||
"-DTITLE_BAR_FORMAT_RUNNING=${finalAttrs.pname} | ${finalAttrs.version} (nixpkgs) | {}"
|
||||
)
|
||||
''
|
||||
# provide pre-downloaded tz data
|
||||
''
|
||||
mkdir -p build/externals/nx_tzdb
|
||||
ln -s ${nx_tzdb} build/externals/nx_tzdb/nx_tzdb
|
||||
''
|
||||
];
|
||||
|
||||
postConfigure = ''
|
||||
ln -sf ${compat-list} ./dist/compatibility_list/compatibility_list.json
|
||||
'';
|
||||
|
||||
postInstall = "
|
||||
install -Dm444 $src/dist/72-suyu-input.rules $out/lib/udev/rules.d/72-suyu-input.rules
|
||||
";
|
||||
|
||||
meta = {
|
||||
description = "Experimental Nintendo Switch emulator written in C++";
|
||||
homepage = "https://suyu.dev";
|
||||
mainProgram = "suyu";
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ liberodark ];
|
||||
license = with lib.licenses; [
|
||||
gpl3Plus
|
||||
# Icons
|
||||
asl20
|
||||
mit
|
||||
cc0
|
||||
];
|
||||
};
|
||||
})
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ticker";
|
||||
version = "4.7.1";
|
||||
version = "4.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "achannarasappa";
|
||||
repo = pname;
|
||||
tag = "v${version}";
|
||||
hash = "sha256-7yAmwyKIO0bMqNgTcdWcgBXPV/T7753z/x2KAB8W070=";
|
||||
hash = "sha256-L7vqZVfj7Ns8xCFU0ruhosReM4RMhIbIHXrMbQ8YI6I=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-XrZdv6QpR1HGN2o/Itbw+7hOkgVjzvx3jwlHeaJ2m0U=";
|
||||
vendorHash = "sha256-o3hVRHyrJpmYgephoZ2JlVLGSqZtRQAp48OzoIMY3do=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -0,0 +1,264 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
stdenvNoCC,
|
||||
fetchFromGitHub,
|
||||
fetchurl,
|
||||
cmake,
|
||||
pkg-config,
|
||||
git,
|
||||
libcxx,
|
||||
SDL2,
|
||||
openal,
|
||||
imagemagick,
|
||||
libicns,
|
||||
symlinkJoin,
|
||||
unar,
|
||||
rsync,
|
||||
makeDesktopItem,
|
||||
copyDesktopItems,
|
||||
appName,
|
||||
CMAKE_BUILD_TYPE ? "RelWithDebInfo", # "Choose the type of build, recommended options are: Debug Release RelWithDebInfo"
|
||||
}:
|
||||
assert lib.assertOneOf "appName" appName [
|
||||
"vanillatd"
|
||||
"vanillara"
|
||||
];
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = appName;
|
||||
version = "0.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TheAssemblyArmada";
|
||||
repo = "Vanilla-Conquer";
|
||||
# FIXME: This version has format-security
|
||||
rev = "ebc8083d5d149f98abc20f460a512a2d16fdc59f";
|
||||
hash = "sha256-iUF9UFc0FMvOwLkGqSyLYGy5E8YqNySqDp5VVUa+u4o=";
|
||||
};
|
||||
# TODO: Remove this. Just add this flag to ignore the format-security error temporarily.
|
||||
NIX_CFLAGS_COMPILE = "-Wno-error=format-security";
|
||||
|
||||
buildInputs = [
|
||||
libcxx
|
||||
SDL2
|
||||
openal
|
||||
];
|
||||
nativeBuildInputs =
|
||||
[
|
||||
cmake
|
||||
pkg-config
|
||||
git
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
libicns
|
||||
imagemagick
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeFeature "BUILD_VANILLATD" (if appName == "vanillatd" then "ON" else "OFF"))
|
||||
(lib.cmakeFeature "BUILD_VANILLARA" (if appName == "vanillara" then "ON" else "OFF"))
|
||||
(lib.cmakeFeature "BUILD_REMASTERTD" (if appName == "remastertd" then "ON" else "OFF"))
|
||||
(lib.cmakeFeature "BUILD_REMASTERRA" (if appName == "remasterra" then "ON" else "OFF"))
|
||||
(lib.cmakeFeature "CMAKE_BUILD_TYPE" CMAKE_BUILD_TYPE)
|
||||
];
|
||||
|
||||
# TODO: Fix this from the upstream
|
||||
# remove the old FindSDL2.cmake logic, use cmake's built-in SDL2 support
|
||||
# replace ${SDL2_LIBRARY} to SDL2::SDL2 in CMakeLists.txt
|
||||
preConfigure = ''
|
||||
rm cmake/FindSDL2.cmake
|
||||
sed -i 's/..SDL2_LIBRARY./SDL2::SDL2/g' CMakeLists.txt
|
||||
'';
|
||||
|
||||
installPhase =
|
||||
if stdenv.isDarwin then
|
||||
''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/Applications
|
||||
mv ${appName}.app $out/Applications
|
||||
|
||||
runHook postInstall
|
||||
''
|
||||
else
|
||||
''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin
|
||||
mv ${appName} $out/bin/${appName}
|
||||
install -Dm644 ../resources/${appName}_icon.svg $out/share/icons/hicolor/scalable/apps/${appName}.svg
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = appName;
|
||||
desktopName = appName;
|
||||
comment =
|
||||
{
|
||||
"vanillatd" = "Command & Conquer: Tiberian Dawn";
|
||||
"vanillara" = "Command & Conquer: Red Alert";
|
||||
}
|
||||
."${appName}";
|
||||
exec = appName;
|
||||
terminal = false;
|
||||
icon = appName;
|
||||
startupWMClass = appName;
|
||||
categories = [ "Game" ];
|
||||
})
|
||||
];
|
||||
|
||||
meta = {
|
||||
description =
|
||||
{
|
||||
"vanillatd" =
|
||||
"Vanilla Conquer is a modern, multi-platform source port of Command & Conquer: Tiberian Dawn";
|
||||
"vanillara" =
|
||||
"Vanilla Conquer is a modern, multi-platform source port of Command & Conquer: Red Alert";
|
||||
}
|
||||
."${appName}";
|
||||
homepage = "https://github.com/TheAssemblyArmada/Vanilla-Conquer";
|
||||
license = with lib.licenses; [ gpl3Only ];
|
||||
sourceProvenance = with lib.sourceTypes; [ fromSource ];
|
||||
maintainers = with lib.maintainers; [ xiaoxiangmoe ];
|
||||
platforms = with lib.platforms; darwin ++ linux;
|
||||
};
|
||||
passthru = rec {
|
||||
packages =
|
||||
builtins.mapAttrs
|
||||
(
|
||||
name: buildPhase:
|
||||
stdenvNoCC.mkDerivation {
|
||||
inherit name buildPhase;
|
||||
phases = [ "buildPhase" ];
|
||||
nativeBuildInputs = [ unar ];
|
||||
meta = {
|
||||
sourceProvenance = with lib.sourceTypes; [
|
||||
binaryBytecode
|
||||
];
|
||||
license = with lib.licenses; [
|
||||
unfree
|
||||
];
|
||||
};
|
||||
}
|
||||
)
|
||||
(
|
||||
if appName == "vanillatd" then
|
||||
let
|
||||
CCDEMO1_ZIP = fetchurl {
|
||||
url = "https://archive.org/download/CommandConquerDemo/cc1demo1.zip";
|
||||
hash = "sha256-KdM4SctFCocmJCbMWbJbql4DO5TC40leyU+BPzvAn4c=";
|
||||
};
|
||||
CCDEMO2_ZIP = fetchurl {
|
||||
url = "https://archive.org/download/CommandConquerDemo/cc1demo2.zip";
|
||||
hash = "sha256-pCgEuE5AFcJur3qUOTmP3GCb/Wp7p7JyVn8Yeq17PEg=";
|
||||
};
|
||||
demo = ''
|
||||
unar -no-directory ${CCDEMO1_ZIP} DEMO.MIX DEMOL.MIX SOUNDS.MIX SPEECH.MIX
|
||||
unar -no-directory ${CCDEMO2_ZIP} DEMOM.MIX
|
||||
mkdir -p $out
|
||||
mv DEMO.MIX $out/demo.mix
|
||||
mv DEMOL.MIX $out/demol.mix
|
||||
mv SOUNDS.MIX $out/sounds.mix
|
||||
mv SPEECH.MIX $out/speech.mix
|
||||
mv DEMOM.MIX $out/demom.mix
|
||||
'';
|
||||
in
|
||||
# see https://github.com/TheAssemblyArmada/Vanilla-Conquer/wiki/Installing-VanillaTD
|
||||
{
|
||||
inherit demo;
|
||||
}
|
||||
else if appName == "vanillara" then
|
||||
let
|
||||
RA95DEMO_ZIP = fetchurl {
|
||||
url = "https://archive.org/download/CommandConquerRedAlert_1020/ra95demo.zip";
|
||||
hash = "sha256-jEi9tTUj6k01OnkU2SNM5OPm9YMu60eztrAFhT6HSNI=";
|
||||
};
|
||||
demo = ''
|
||||
unar -no-directory ${RA95DEMO_ZIP} ra95demo/INSTALL/MAIN.MIX ra95demo/INSTALL/REDALERT.MIX
|
||||
install -D ra95demo/INSTALL/REDALERT.MIX $out/redalert.mix
|
||||
install -D ra95demo/INSTALL/MAIN.MIX $out/main.mix
|
||||
'';
|
||||
REDALERT_ALLIED_ISO = fetchurl {
|
||||
url = "https://archive.org/download/cnc-red-alert/redalert_allied.iso";
|
||||
hash = "sha256-Npx6hSTJetFlcb/Fi3UQEGuP0iLk9LIrRmAI7WgEtdw=";
|
||||
};
|
||||
REDALERT_SOVIETS_ISO = fetchurl {
|
||||
url = "https://archive.org/download/cnc-red-alert/redalert_soviets.iso";
|
||||
hash = "sha256-aJGr+w1BaGaLwX/pU0lMmu6Cgn9pZ2D/aVafBdtds2Q=";
|
||||
};
|
||||
retail-allied = ''
|
||||
unar -output-directory allied -no-directory ${REDALERT_ALLIED_ISO} MAIN.MIX INSTALL/REDALERT.MIX
|
||||
mkdir -p $out/allied/
|
||||
mv allied/INSTALL/REDALERT.MIX $out/redalert.mix
|
||||
mv allied/MAIN.MIX $out/allied/main.mix
|
||||
'';
|
||||
retail-soviet = ''
|
||||
unar -output-directory soviet -no-directory ${REDALERT_SOVIETS_ISO} MAIN.MIX INSTALL/REDALERT.MIX
|
||||
mkdir -p $out/soviet/
|
||||
mv soviet/INSTALL/REDALERT.MIX $out/redalert.mix
|
||||
mv soviet/MAIN.MIX $out/soviet/main.mix
|
||||
'';
|
||||
retail = ''
|
||||
unar -output-directory allied -no-directory ${REDALERT_ALLIED_ISO} MAIN.MIX INSTALL/REDALERT.MIX
|
||||
unar -output-directory soviet -no-directory ${REDALERT_SOVIETS_ISO} MAIN.MIX
|
||||
mkdir -p $out/allied/ $out/soviet/
|
||||
mv allied/INSTALL/REDALERT.MIX $out/redalert.mix
|
||||
mv allied/MAIN.MIX $out/allied/main.mix
|
||||
mv soviet/MAIN.MIX $out/soviet/main.mix
|
||||
'';
|
||||
in
|
||||
# see https://github.com/TheAssemblyArmada/Vanilla-Conquer/wiki/Installing-VanillaRA
|
||||
{
|
||||
inherit
|
||||
demo
|
||||
retail-allied
|
||||
retail-soviet
|
||||
retail
|
||||
;
|
||||
}
|
||||
else
|
||||
{ }
|
||||
);
|
||||
withPackages =
|
||||
cb:
|
||||
let
|
||||
dataDerivation = symlinkJoin {
|
||||
name = "${appName}-data";
|
||||
paths = if builtins.isFunction cb then cb packages else cb;
|
||||
};
|
||||
in
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "${appName}-with-packages";
|
||||
inherit (finalAttrs.finalPackage) version meta;
|
||||
|
||||
buildInputs = [ dataDerivation ] ++ finalAttrs.buildInputs;
|
||||
nativeBuildInputs = [ rsync ];
|
||||
|
||||
phases = [ "buildPhase" ];
|
||||
buildPhase =
|
||||
let
|
||||
Default_Data_Path =
|
||||
if stdenv.isDarwin then
|
||||
"$out/Applications/${appName}.app/Contents/share/${appName}"
|
||||
else
|
||||
"$out/share/${appName}";
|
||||
in
|
||||
''
|
||||
# The default Data_Path() is rely on the Program_Path(), which is the real path of executable, so we need to make executable non symlink here.
|
||||
rsync --archive --mkpath --chmod=a+w ${finalAttrs.finalPackage}/ $out/
|
||||
|
||||
# Symlink the data derivation to the default data path
|
||||
mkdir -p ${builtins.dirOf Default_Data_Path}
|
||||
ln -s ${dataDerivation} ${Default_Data_Path}
|
||||
|
||||
# Fix `error: suspicious ownership or permission on '/nix/store/xxx-0.0.0' for output 'out'; rejecting this build output`
|
||||
chmod 755 $out
|
||||
'';
|
||||
};
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,48 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
python3Packages,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "virtnbdbackup";
|
||||
version = "2.18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "abbbi";
|
||||
repo = "virtnbdbackup";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-0ZM3Xu3CbAuN60d0L32odNu9DfnOEDx3X03mFpDFZ6Y=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
setuptools
|
||||
];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
libvirt
|
||||
tqdm
|
||||
libnbd
|
||||
lz4
|
||||
lxml
|
||||
paramiko
|
||||
typing-extensions
|
||||
colorlog
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
versionCheckHook
|
||||
];
|
||||
|
||||
versionCheckProgramArg = [ "-V" ];
|
||||
|
||||
meta = {
|
||||
description = "Backup utility for Libvirt/qemu/kvm";
|
||||
homepage = "https://github.com/abbbi/virtnbdbackup";
|
||||
changelog = "https://github.com/abbbi/virtnbdbackup/releases/tag/v${version}";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ genga898 ];
|
||||
mainProgram = "virtnbdbackup";
|
||||
};
|
||||
}
|
||||
@@ -28,23 +28,23 @@ let
|
||||
|
||||
version =
|
||||
let
|
||||
x86_64-darwin = "3.35.4861";
|
||||
x86_64-darwin = "3.37.5164";
|
||||
in
|
||||
{
|
||||
inherit x86_64-darwin;
|
||||
aarch64-darwin = x86_64-darwin;
|
||||
x86_64-linux = "3.36.3462";
|
||||
x86_64-linux = "3.37.3607";
|
||||
}
|
||||
.${system} or throwSystem;
|
||||
|
||||
hash =
|
||||
let
|
||||
x86_64-darwin = "sha256-QPxslMEz1jOH2LceFOdCyVDtpya1SfJ8GWMIAIhie4U=";
|
||||
x86_64-darwin = "sha256-xQ6EaZFE6qdpgFj1Lom37wT8URd5FsRwG89YeM/+U7k=";
|
||||
in
|
||||
{
|
||||
inherit x86_64-darwin;
|
||||
aarch64-darwin = x86_64-darwin;
|
||||
x86_64-linux = "sha256-tlX15AT4PcrmD2Vna99TGqo0b/8xv2YOAt03aCqSeXg=";
|
||||
x86_64-linux = "sha256-mckFxxrWnxeVGgJ//efPTdtHt5nVII1lXu/BT61TKxE=";
|
||||
}
|
||||
.${system} or throwSystem;
|
||||
|
||||
@@ -64,7 +64,6 @@ let
|
||||
homepage = "https://wire.com/";
|
||||
downloadPage = "https://wire.com/download/";
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
knownVulnerabilities = [ "CVE-2024-6775" ];
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [
|
||||
arianvp
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
lib,
|
||||
}:
|
||||
let
|
||||
version = "0.4.0";
|
||||
version = "0.4.1";
|
||||
in
|
||||
buildGoModule {
|
||||
pname = "wush";
|
||||
@@ -14,10 +14,10 @@ buildGoModule {
|
||||
owner = "coder";
|
||||
repo = "wush";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-0yICcexo5OZ7iNuZaKzWcWjZ34dY24GPosXIz9WlbK8=";
|
||||
hash = "sha256-K83peIfr1+OHuuq6gdgco0RhfF1tAAewb4pxNT6vV+w=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-LVqj27e2OcF+XBb6glTV5Zrw3W/vbtG7D7TmjcMQcnw=";
|
||||
vendorHash = "sha256-3/DDtqVj7NNoJlNmKC+Q+XGS182E9OYkKMZ/2viANNQ=";
|
||||
|
||||
ldflags = [
|
||||
"-s -w -X main.version=${version}"
|
||||
|
||||
+8
-18
@@ -22,7 +22,6 @@
|
||||
withMesa ? !stdenv.hostPlatform.isDarwin,
|
||||
withWebKit ? stdenv.hostPlatform.isDarwin,
|
||||
webkitgtk_4_0,
|
||||
setfile,
|
||||
libpng,
|
||||
}:
|
||||
|
||||
@@ -62,7 +61,6 @@ stdenv.mkDerivation rec {
|
||||
++ lib.optional withMesa libGLU
|
||||
++ lib.optional (withWebKit && !stdenv.hostPlatform.isDarwin) webkitgtk_4_0
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
setfile
|
||||
libpng
|
||||
];
|
||||
|
||||
@@ -93,22 +91,14 @@ stdenv.mkDerivation rec {
|
||||
!stdenv.hostPlatform.isDarwin
|
||||
) "${libGLU.out}/lib ${libGL.out}/lib ";
|
||||
|
||||
preConfigure =
|
||||
''
|
||||
substituteInPlace configure --replace \
|
||||
'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
|
||||
substituteInPlace configure --replace \
|
||||
'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
|
||||
substituteInPlace configure --replace \
|
||||
/usr /no-such-path
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
substituteInPlace configure --replace \
|
||||
'ac_cv_prog_SETFILE="/Developer/Tools/SetFile"' \
|
||||
'ac_cv_prog_SETFILE="${setfile}/bin/SetFile"'
|
||||
substituteInPlace configure --replace \
|
||||
"-framework System" "-lSystem"
|
||||
'';
|
||||
preConfigure = ''
|
||||
substituteInPlace configure --replace \
|
||||
'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
|
||||
substituteInPlace configure --replace \
|
||||
'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
|
||||
substituteInPlace configure --replace \
|
||||
/usr /no-such-path
|
||||
'';
|
||||
|
||||
postInstall = "
|
||||
pushd $out/include
|
||||
@@ -0,0 +1,148 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
curl,
|
||||
expat,
|
||||
fetchFromGitHub,
|
||||
gst_all_1,
|
||||
gtk3,
|
||||
libGL,
|
||||
libGLU,
|
||||
libSM,
|
||||
libXinerama,
|
||||
libXtst,
|
||||
libXxf86vm,
|
||||
libpng,
|
||||
libtiff,
|
||||
libjpeg_turbo,
|
||||
zlib,
|
||||
pcre2,
|
||||
pkg-config,
|
||||
xorgproto,
|
||||
compat28 ? false,
|
||||
compat30 ? true,
|
||||
unicode ? true,
|
||||
withMesa ? !stdenv.hostPlatform.isDarwin,
|
||||
withWebKit ? true,
|
||||
webkitgtk_4_0,
|
||||
}:
|
||||
let
|
||||
catch = fetchFromGitHub {
|
||||
owner = "wxWidgets";
|
||||
repo = "Catch";
|
||||
rev = "5f5e4cecd1cafc85e109471356dec29e778d2160";
|
||||
hash = "sha256-fB/E17tiAicAkq88Je/YFYohJ6EHJOO54oQaqiR/OzY=";
|
||||
};
|
||||
|
||||
nanosvg = fetchFromGitHub {
|
||||
owner = "wxWidgets";
|
||||
repo = "nanosvg";
|
||||
rev = "ccdb1995134d340a93fb20e3a3d323ccb3838dd0";
|
||||
hash = "sha256-ymziU0NgGqxPOKHwGm0QyEdK/8jL/QYk5UdIQ3Tn8jw=";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wxwidgets";
|
||||
version = "3.2.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wxWidgets";
|
||||
repo = "wxWidgets";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-7dc7NGiKSonFFaWp3UxLYqDc1Cc6no1Eba0QmtzX5mM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gstreamer
|
||||
libpng
|
||||
libtiff
|
||||
libjpeg_turbo
|
||||
zlib
|
||||
pcre2
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
curl
|
||||
gtk3
|
||||
libSM
|
||||
libXinerama
|
||||
libXtst
|
||||
libXxf86vm
|
||||
xorgproto
|
||||
]
|
||||
++ lib.optional withMesa libGLU
|
||||
++ lib.optional (withWebKit && stdenv.hostPlatform.isLinux) webkitgtk_4_0
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
expat
|
||||
];
|
||||
|
||||
configureFlags =
|
||||
[
|
||||
"--disable-precomp-headers"
|
||||
# This is the default option, but be explicit
|
||||
"--disable-monolithic"
|
||||
"--enable-mediactrl"
|
||||
"--with-nanosvg"
|
||||
"--disable-rpath"
|
||||
"--enable-repro-build"
|
||||
"--enable-webrequest"
|
||||
(if compat28 then "--enable-compat28" else "--disable-compat28")
|
||||
(if compat30 then "--enable-compat30" else "--disable-compat30")
|
||||
]
|
||||
++ lib.optional unicode "--enable-unicode"
|
||||
++ lib.optional withMesa "--with-opengl"
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
"--with-osx_cocoa"
|
||||
"--with-libiconv"
|
||||
"--with-urlsession" # for wxWebRequest
|
||||
]
|
||||
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
|
||||
"--with-libcurl" # for wxWebRequest
|
||||
]
|
||||
++ lib.optionals withWebKit [
|
||||
"--enable-webview"
|
||||
"--enable-webviewwebkit"
|
||||
];
|
||||
|
||||
SEARCH_LIB = lib.optionalString (
|
||||
!stdenv.hostPlatform.isDarwin
|
||||
) "${libGLU.out}/lib ${libGL.out}/lib";
|
||||
|
||||
preConfigure = ''
|
||||
cp -r ${catch}/* 3rdparty/catch/
|
||||
cp -r ${nanosvg}/* 3rdparty/nanosvg/
|
||||
'';
|
||||
|
||||
postInstall = "
|
||||
pushd $out/include
|
||||
ln -s wx-*/* .
|
||||
popd
|
||||
";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru = {
|
||||
inherit compat28 compat30 unicode;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.wxwidgets.org/";
|
||||
description = "Cross-Platform C++ GUI Library";
|
||||
longDescription = ''
|
||||
wxWidgets gives you a single, easy-to-use API for writing GUI applications
|
||||
on multiple platforms that still utilize the native platform's controls
|
||||
and utilities. Link with the appropriate library for your platform and
|
||||
compiler, and your application will adopt the look and feel appropriate to
|
||||
that platform. On top of great GUI functionality, wxWidgets gives you:
|
||||
online help, network programming, streams, clipboard and drag and drop,
|
||||
multithreading, image loading and saving in a variety of popular formats,
|
||||
database support, HTML viewing and printing, and much more.
|
||||
'';
|
||||
license = licenses.wxWindows;
|
||||
maintainers = with maintainers; [ tfmoraes ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xapp";
|
||||
version = "2.8.7";
|
||||
version = "2.8.8";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-PMTsaY04rML2vmVIOWArYqWmGvpTtA1DpFw3ZAtu+oU=";
|
||||
hash = "sha256-vd3uAihOF4dgZ49VVhRjG+Cx7sjMvHI/0oRLvIs2ZaM=";
|
||||
};
|
||||
|
||||
# Recommended by upstream, which enables the build of xapp-debug.
|
||||
|
||||
@@ -21,13 +21,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xed-editor";
|
||||
version = "3.8.1";
|
||||
version = "3.8.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = "xed";
|
||||
rev = version;
|
||||
hash = "sha256-q6lhgax3W51rtgmmROcrzxgaxz5J9r7CcPwhYDt/A5Y=";
|
||||
hash = "sha256-LSAOo6lPm6CQdTNxfAIthul9I9VnWpbEo1vOnKN7SNU=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
From 121ba93b2860b7ee6bbe2430c818bba2da822a8e Mon Sep 17 00:00:00 2001
|
||||
From: zjeffer <4633209+zjeffer@users.noreply.github.com>
|
||||
Date: Sun, 29 Dec 2024 20:15:29 +0100
|
||||
Subject: [PATCH] Fixes & improvements
|
||||
|
||||
---
|
||||
zsh_history_to_fish/command.py | 14 ++++++++++----
|
||||
1 file changed, 10 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/zsh_history_to_fish/command.py b/zsh_history_to_fish/command.py
|
||||
index 4d8a12d..136c553 100644
|
||||
--- a/zsh_history_to_fish/command.py
|
||||
+++ b/zsh_history_to_fish/command.py
|
||||
@@ -19,7 +19,12 @@
|
||||
|
||||
def read_history(input_file):
|
||||
command = ZSH_HISTORY_READER.format(input_file)
|
||||
- p = subprocess.run(command, capture_output=True, shell=True, encoding='utf8')
|
||||
+ lines: list[str] = []
|
||||
+ try:
|
||||
+ p = subprocess.run(command, capture_output=True, shell=True, encoding='utf8', check=True)
|
||||
+ except Exception as e:
|
||||
+ print(f'An exception occurred while reading history: {e}')
|
||||
+ sys.exit(1)
|
||||
lines = p.stdout.splitlines()
|
||||
yield from map(lambda x: x.replace('\\n', '\n'), lines)
|
||||
|
||||
@@ -48,11 +53,11 @@ def display_changed(zsh, fish):
|
||||
def writer_factory(output_file, dry_run):
|
||||
if dry_run:
|
||||
yield lambda x: None
|
||||
- print(f'No file has been written.')
|
||||
+ print('No file has been written.')
|
||||
return
|
||||
|
||||
- with open(output_file, 'a') as out:
|
||||
- yield lambda x: out.write(x)
|
||||
+ with open(output_file, 'a', encoding='utf8') as out:
|
||||
+ yield out.write
|
||||
print(f'\nFile "{output_file}" has been written successfully.')
|
||||
|
||||
|
||||
@@ -74,6 +79,7 @@ def exporter(input_file, output_file, dry_run, no_convert):
|
||||
converter = (lambda x: x) if no_convert else naive_zsh_to_fish
|
||||
changed = []
|
||||
with writer_factory(output_file, dry_run) as writer:
|
||||
+ i = 0
|
||||
for i, (timestamp, command_zsh) in enumerate(parse_history(input_file)):
|
||||
command_fish = converter(command_zsh)
|
||||
fish_history = f'- cmd: {command_fish}\n when: {timestamp}\n'
|
||||
@@ -25,6 +25,13 @@ python3.pkgs.buildPythonApplication rec {
|
||||
"zsh_history_to_fish"
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Patch from currently-unmerged PR, fixing runtime error.
|
||||
# Should be removed when PR is merged or error is otherwise fixed.
|
||||
# Check https://github.com/rsalmei/zsh-history-to-fish/pull/15 if you're in the future
|
||||
./fix-runtime-error.patch
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Bring your ZSH history to Fish shell";
|
||||
homepage = "https://github.com/rsalmei/zsh-history-to-fish";
|
||||
|
||||
@@ -12,4 +12,11 @@ callPackage ./generic.nix ({
|
||||
sha256 = "1vyvp2g28ihcgxgxr8nhzyzdmzicsh5djzk8dk1hj5p5f2k3ijqq";
|
||||
enableParallelBuilding = false; # #32386, https://hydra.nixos.org/build/65600645
|
||||
extraPatches = lib.optionals stdenv.hostPlatform.isLinux [ ./mono4-glibc.patch ];
|
||||
env.NIX_CFLAGS_COMPILE = toString [
|
||||
"-Wno-error=implicit-function-declaration"
|
||||
"-Wno-error=implicit-int"
|
||||
"-Wno-error=incompatible-pointer-types"
|
||||
"-Wno-error=int-conversion"
|
||||
"-Wno-error=return-mismatch"
|
||||
];
|
||||
})
|
||||
|
||||
@@ -9,4 +9,5 @@ callPackage ./generic.nix ({
|
||||
version = "5.20.1.34";
|
||||
sha256 = "12vw5dkhmp1vk9l658pil8jiqirkpdsc5z8dm5mpj595yr6d94fd";
|
||||
enableParallelBuilding = true;
|
||||
env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration";
|
||||
})
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
enableParallelBuilding ? true,
|
||||
srcArchiveSuffix ? "tar.bz2",
|
||||
extraPatches ? [ ],
|
||||
env ? { },
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -36,7 +37,7 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mono";
|
||||
inherit version;
|
||||
inherit version env;
|
||||
|
||||
src = fetchurl {
|
||||
inherit sha256;
|
||||
|
||||
@@ -64,11 +64,7 @@ stdenv.mkDerivation rec {
|
||||
./bootstrap-${lib.versions.majorMinor version}
|
||||
'';
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = toString (
|
||||
lib.optionals stdenv.cc.isClang [
|
||||
"-Wno-error=int-conversion"
|
||||
]
|
||||
);
|
||||
env.NIX_CFLAGS_COMPILE = "-Wno-error=int-conversion";
|
||||
|
||||
dontStrip = true;
|
||||
|
||||
|
||||
@@ -31,6 +31,8 @@ stdenv.mkDerivation rec {
|
||||
libxml2
|
||||
];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
|
||||
|
||||
patches = [
|
||||
# Fixes MONO_PROFILE_ENTER_LEAVE undeclared when compiling against newer versions of mono.
|
||||
# @see https://github.com/mono/gtk-sharp/pull/266
|
||||
|
||||
@@ -1,146 +0,0 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, curl
|
||||
, expat
|
||||
, fetchFromGitHub
|
||||
, gst_all_1
|
||||
, gtk3
|
||||
, libGL
|
||||
, libGLU
|
||||
, libSM
|
||||
, libXinerama
|
||||
, libXtst
|
||||
, libXxf86vm
|
||||
, libpng
|
||||
, libtiff
|
||||
, libjpeg_turbo
|
||||
, zlib
|
||||
, pcre2
|
||||
, pkg-config
|
||||
, xorgproto
|
||||
, compat28 ? false
|
||||
, compat30 ? true
|
||||
, unicode ? true
|
||||
, withMesa ? !stdenv.hostPlatform.isDarwin
|
||||
, withWebKit ? true
|
||||
, webkitgtk_4_0
|
||||
, setfile
|
||||
}:
|
||||
let
|
||||
catch = fetchFromGitHub {
|
||||
owner = "wxWidgets";
|
||||
repo = "Catch";
|
||||
rev = "5f5e4cecd1cafc85e109471356dec29e778d2160";
|
||||
hash = "sha256-fB/E17tiAicAkq88Je/YFYohJ6EHJOO54oQaqiR/OzY=";
|
||||
};
|
||||
|
||||
nanosvg = fetchFromGitHub {
|
||||
owner = "wxWidgets";
|
||||
repo = "nanosvg";
|
||||
rev = "ccdb1995134d340a93fb20e3a3d323ccb3838dd0";
|
||||
hash = "sha256-ymziU0NgGqxPOKHwGm0QyEdK/8jL/QYk5UdIQ3Tn8jw=";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wxwidgets";
|
||||
version = "3.2.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wxWidgets";
|
||||
repo = "wxWidgets";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-7dc7NGiKSonFFaWp3UxLYqDc1Cc6no1Eba0QmtzX5mM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gstreamer
|
||||
libpng
|
||||
libtiff
|
||||
libjpeg_turbo
|
||||
zlib
|
||||
pcre2
|
||||
] ++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
curl
|
||||
gtk3
|
||||
libSM
|
||||
libXinerama
|
||||
libXtst
|
||||
libXxf86vm
|
||||
xorgproto
|
||||
]
|
||||
++ lib.optional withMesa libGLU
|
||||
++ lib.optional (withWebKit && stdenv.hostPlatform.isLinux) webkitgtk_4_0
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
expat
|
||||
setfile
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--disable-precomp-headers"
|
||||
# This is the default option, but be explicit
|
||||
"--disable-monolithic"
|
||||
"--enable-mediactrl"
|
||||
"--with-nanosvg"
|
||||
"--disable-rpath"
|
||||
"--enable-repro-build"
|
||||
"--enable-webrequest"
|
||||
(if compat28 then "--enable-compat28" else "--disable-compat28")
|
||||
(if compat30 then "--enable-compat30" else "--disable-compat30")
|
||||
] ++ lib.optional unicode "--enable-unicode"
|
||||
++ lib.optional withMesa "--with-opengl"
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
"--with-osx_cocoa"
|
||||
"--with-libiconv"
|
||||
"--with-urlsession" # for wxWebRequest
|
||||
] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
|
||||
"--with-libcurl" # for wxWebRequest
|
||||
] ++ lib.optionals withWebKit [
|
||||
"--enable-webview"
|
||||
"--enable-webviewwebkit"
|
||||
];
|
||||
|
||||
SEARCH_LIB = lib.optionalString (!stdenv.hostPlatform.isDarwin) "${libGLU.out}/lib ${libGL.out}/lib";
|
||||
|
||||
preConfigure = ''
|
||||
cp -r ${catch}/* 3rdparty/catch/
|
||||
cp -r ${nanosvg}/* 3rdparty/nanosvg/
|
||||
'' + lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
substituteInPlace configure \
|
||||
--replace 'ac_cv_prog_SETFILE="/Developer/Tools/SetFile"' 'ac_cv_prog_SETFILE="${setfile}/bin/SetFile"'
|
||||
substituteInPlace configure \
|
||||
--replace "-framework System" "-lSystem"
|
||||
'';
|
||||
|
||||
postInstall = "
|
||||
pushd $out/include
|
||||
ln -s wx-*/* .
|
||||
popd
|
||||
";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru = {
|
||||
inherit compat28 compat30 unicode;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.wxwidgets.org/";
|
||||
description = "Cross-Platform C++ GUI Library";
|
||||
longDescription = ''
|
||||
wxWidgets gives you a single, easy-to-use API for writing GUI applications
|
||||
on multiple platforms that still utilize the native platform's controls
|
||||
and utilities. Link with the appropriate library for your platform and
|
||||
compiler, and your application will adopt the look and feel appropriate to
|
||||
that platform. On top of great GUI functionality, wxWidgets gives you:
|
||||
online help, network programming, streams, clipboard and drag and drop,
|
||||
multithreading, image loading and saving in a variety of popular formats,
|
||||
database support, HTML viewing and printing, and much more.
|
||||
'';
|
||||
license = licenses.wxWindows;
|
||||
maintainers = with maintainers; [ tfmoraes ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "folium";
|
||||
version = "0.19.2";
|
||||
version = "0.19.4";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@@ -31,7 +31,7 @@ buildPythonPackage rec {
|
||||
owner = "python-visualization";
|
||||
repo = "folium";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-PBrrdFKEYj3yy+qV495It0HB9EVtJpjTY+oyls9Z/J0=";
|
||||
hash = "sha256-qTTJK12nHIhcMkPu4rb2IYWm96EjRafftacrlfeGqZg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -26,13 +26,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "kivy";
|
||||
version = "2.3.0";
|
||||
version = "2.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kivy";
|
||||
repo = "kivy";
|
||||
rev = version;
|
||||
hash = "sha256-QJ490vjpEj/JSE9OzSvDpkCruaTFdlThUHIEAMm0BZ4=";
|
||||
tag = version;
|
||||
hash = "sha256-q8BoF/pUTW2GMKBhNsqWDBto5+nASanWifS9AcNRc8Q=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user