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

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

View File

@@ -0,0 +1,29 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 477b8d6a55..cfeae9ab3f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -56,7 +56,7 @@
find_package(Gflags REQUIRED)
-find_package(Glog MODULE REQUIRED)
+find_package(Glog CONFIG REQUIRED)
find_package(folly CONFIG REQUIRED)
@@ -88,7 +88,6 @@
target_include_directories(fb303 PUBLIC
${GFLAGS_INCLUDE_DIR}
- ${GLOG_INCLUDE_DIR}
${DOUBLE_CONVERSION_INCLUDE_DIR}
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}>
$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}>
@@ -98,6 +97,7 @@
fb303_thrift_cpp
Folly::folly
FBThrift::thrift
+ glog::glog
)
install(

View File

@@ -0,0 +1,80 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
ninja,
gflags,
glog,
folly,
fbthrift,
fizz,
wangle,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "fb303";
version = "2025.09.15.00";
outputs = [
"out"
"dev"
];
src = fetchFromGitHub {
owner = "facebook";
repo = "fb303";
tag = "v${finalAttrs.version}";
hash = "sha256-6suO1SE8+WASQiHLtiieu3nrjEYqSPnKxw7nHkQ4br0=";
};
patches = [
./glog-0.7.patch
];
nativeBuildInputs = [
cmake
ninja
];
buildInputs = [
gflags
glog
folly
fbthrift
fizz
wangle
];
cmakeFlags = [
(lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic))
(lib.cmakeBool "CMAKE_INSTALL_RPATH_USE_LINK_PATH" true)
(lib.cmakeBool "PYTHON_EXTENSIONS" false)
(lib.cmakeFeature "INCLUDE_INSTALL_DIR" "${placeholder "dev"}/include")
(lib.cmakeFeature "LIB_INSTALL_DIR" "${placeholder "out"}/lib")
(lib.cmakeFeature "CMAKE_INSTALL_DIR" "${placeholder "dev"}/lib/cmake/fb303")
(lib.cmakeFeature "CMAKE_INSTALL_PREFIX" (placeholder "dev"))
];
passthru.updateScript = nix-update-script { };
meta = {
description = "Base Thrift service and a common set of functionality for querying stats, options, and other information from a service";
homepage = "https://github.com/facebook/fb303";
license = lib.licenses.asl20;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [
kylesferrazza
emily
techknowlogick
];
};
})

View File

@@ -0,0 +1,36 @@
{
lib,
stdenv,
fetchFromGitHub,
netpbm,
}:
stdenv.mkDerivation rec {
pname = "fbcat";
version = "0.5.2";
src = fetchFromGitHub {
owner = "jwilk";
repo = "fbcat";
rev = version;
sha256 = "sha256-ORzcd8XGy2BfwuPK5UX+K5Z+FYkb+tdg/gHl3zHjvbk=";
};
postPatch = ''
substituteInPlace fbgrab \
--replace 'pnmtopng' '${netpbm}/bin/pnmtopng' \
--replace 'fbcat' "$out/bin/fbcat"
'';
installFlags = [
"PREFIX=${placeholder "out"}"
];
meta = with lib; {
homepage = "http://jwilk.net/software/fbcat";
description = "Framebuffer screenshot tool";
license = licenses.gpl2Plus;
maintainers = [ maintainers.matthiasbeyer ];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,91 @@
{
lib,
stdenv,
fetchurl,
libGL,
libjpeg,
libexif,
giflib,
libtiff,
libpng,
libwebp,
libdrm,
pkg-config,
freetype,
fontconfig,
which,
imagemagick,
curl,
sane-backends,
libXpm,
libepoxy,
pixman,
poppler,
libgbm,
lirc,
}:
stdenv.mkDerivation rec {
pname = "fbida";
version = "2.14";
src = fetchurl {
url = "http://dl.bytesex.org/releases/fbida/fbida-${version}.tar.gz";
sha256 = "0f242mix20rgsqz1llibhsz4r2pbvx6k32rmky0zjvnbaqaw1dwm";
};
patches = [
# Upstream patch to fix build on -fno-common toolchains.
(fetchurl {
name = "no-common.patch";
url = "https://git.kraxel.org/cgit/fbida/patch/?id=1bb8a8aa29845378903f3c690e17c0867c820da2";
sha256 = "0n5vqbp8wd87q60zfwdf22jirggzngypc02ha34gsj1rd6pvwahi";
})
];
nativeBuildInputs = [
pkg-config
which
];
buildInputs = [
libGL
libexif
libjpeg
libpng
giflib
freetype
fontconfig
libtiff
libwebp
imagemagick
curl
sane-backends
libdrm
libXpm
libepoxy
pixman
poppler
lirc
libgbm
];
makeFlags = [
"prefix=$(out)"
"verbose=yes"
"STRIP="
"JPEG_VER=62"
];
postPatch = ''
sed -e 's@ cpp\>@ gcc -E -@' -i GNUmakefile
sed -e 's@$(HAVE_LINUX_FB_H)@yes@' -i GNUmakefile
'';
meta = with lib; {
description = "Image viewing and manipulation programs including fbi, fbgs, ida, exiftran and thumbnail.cgi";
homepage = "https://www.kraxel.org/blog/linux/fbida/";
license = licenses.gpl2;
maintainers = with maintainers; [ pSub ];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,27 @@
{
lib,
rustPlatform,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage rec {
pname = "fblog";
version = "4.16.0";
src = fetchFromGitHub {
owner = "brocode";
repo = "fblog";
rev = "v${version}";
hash = "sha256-SWwk7qNe2R1aBYGBFqltUZjeOvr4jG1P7/CPIAfHCc8=";
};
cargoHash = "sha256-du9FXuUNqQm1AMqcCFqeso5OPrPCxzTVl5e7kR0rpwc=";
meta = with lib; {
description = "Small command-line JSON log viewer";
mainProgram = "fblog";
homepage = "https://github.com/brocode/fblog";
license = licenses.wtfpl;
maintainers = with maintainers; [ figsoda ];
};
}

View File

@@ -0,0 +1,27 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation rec {
pname = "fbmark";
version = "0.3";
src = fetchFromGitHub {
owner = "caramelli";
repo = "fbmark";
rev = "v${version}";
sha256 = "0n2czl2sy1k6r5ri0hp7jgq84xcwrx4x43bqvw1b4na99mqhyahn";
};
makeFlags = [ "PREFIX=$(out)" ];
meta = with lib; {
description = "Linux Framebuffer Benchmark";
homepage = "https://github.com/caramelli/fbmark";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ davidak ];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,60 @@
From b65921873585616c86a591eee9efbc68f84eb3d3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo?= <malaquias@gmail.com>
Date: Wed, 25 Aug 2021 12:03:09 -0300
Subject: [PATCH] Fix paths
---
fbmenugen | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/fbmenugen b/fbmenugen
index 241be16..5fc9aea 100755
--- a/fbmenugen
+++ b/fbmenugen
@@ -214,9 +214,7 @@ my %CONFIG = (
#<<<
desktop_files_paths => [
- '/usr/share/applications',
- '/usr/local/share/applications',
- '/usr/share/applications/kde4',
+ '/run/current-system/sw/share/applications',
"$home_dir/.local/share/applications",
],
#>>>
@@ -252,7 +250,7 @@ if (not -e $config_file) {
}
if (not -e $schema_file) {
- if (-e (my $etc_schema_file = "/etc/xdg/$pkgname/schema.pl")) {
+ if (-e (my $etc_schema_file = "@fbmenugen@/etc/xdg/$pkgname/schema.pl")) {
require File::Copy;
File::Copy::copy($etc_schema_file, $schema_file)
or warn "$0: can't copy file `$etc_schema_file' to `$schema_file': $!\n";
@@ -588,7 +586,7 @@ EXIT
$generated_menu .= begin_category(@{$schema->{fluxbox}}) . <<"FOOTER";
[config] (Configure)
[submenu] (System Styles) {Choose a style...}
- [stylesdir] (/usr/share/fluxbox/styles)
+ [stylesdir] (@fluxbox@/share/fluxbox/styles)
[end]
[submenu] (User Styles) {Choose a style...}
[stylesdir] (~/.fluxbox/styles)
@@ -598,12 +596,13 @@ EXIT
[exec] (Screenshot - JPG) {import screenshot.jpg && display -resize 50% screenshot.jpg}
[exec] (Screenshot - PNG) {import screenshot.png && display -resize 50% screenshot.png}
[exec] (Run) {fbrun}
- [exec] (Regen Menu) {fluxbox-generate_menu}
+ [exec] (Regen Menu) {@fluxbox@/bin/fluxbox-generate_menu}
[end]
[commanddialog] (Fluxbox Command)
[reconfig] (Reload config)
[restart] (Restart)
[exec] (About) {(fluxbox -v; fluxbox -info | sed 1d) | xmessage -file - -center}
+ [exec] (About) {(@fluxbox@/bin/fluxbox -v; @fluxbox@/bin/fluxbox -info | @gnused@/bin/sed 1d) | @xmessage@/bin/xmessage -file - -center}
[separator]
[exit] (Exit)
[end]
--
2.32.0

View File

@@ -0,0 +1,81 @@
{
lib,
fetchFromGitHub,
fluxbox,
gnused,
makeWrapper,
perlPackages,
replaceVars,
xorg,
wrapGAppsHook3,
gitUpdater,
}:
perlPackages.buildPerlPackage rec {
pname = "fbmenugen";
version = "0.87";
src = fetchFromGitHub {
owner = "trizen";
repo = "fbmenugen";
rev = version;
sha256 = "A0yhoK/cPp3JlNZacgLaDhaU838PpFna7luQKNDvyOg=";
};
patches = [
(replaceVars ./0001-Fix-paths.patch {
xmessage = xorg.xmessage;
inherit fluxbox gnused;
# replaced in postPatch
fbmenugen = null;
})
];
outputs = [ "out" ];
nativeBuildInputs = [
makeWrapper
wrapGAppsHook3
];
buildInputs = [
fluxbox
gnused
perlPackages.DataDump
perlPackages.FileDesktopEntry
perlPackages.Gtk3
perlPackages.LinuxDesktopFiles
perlPackages.perl
xorg.xmessage
];
dontConfigure = true;
dontBuild = true;
postPatch = ''
substituteInPlace fbmenugen --subst-var-by fbmenugen $out
'';
installPhase = ''
runHook preInstall
install -D -t $out/bin fbmenugen
install -D -t $out/etc/xdg/fbmenugen schema.pl
runHook postInstall
'';
postFixup = ''
wrapProgram "$out/bin/fbmenugen" --prefix PERL5LIB : "$PERL5LIB"
'';
passthru.updateScript = gitUpdater { };
meta = with lib; {
homepage = "https://github.com/trizen/fbmenugen";
description = "Simple menu generator for the Fluxbox Window Manager";
mainProgram = "fbmenugen";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = [ maintainers.romildo ];
};
}

View File

@@ -0,0 +1,67 @@
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
libX11,
libXmu,
libXpm,
gtk2,
libpng,
libjpeg,
libtiff,
librsvg,
gdk-pixbuf,
gdk-pixbuf-xlib,
pypy2,
}:
stdenv.mkDerivation {
pname = "fbpanel";
version = "7.0";
src = fetchFromGitHub {
owner = "aanatoly";
repo = "fbpanel";
rev = "478754b687e2b48b111507ea22e8e2a001be5199";
hash = "sha256-+KcVcrh1aV6kjLGyiDnRHXSzJfelXWrhJS0DitG4yPA=";
};
nativeBuildInputs = [
pkg-config
pypy2
];
buildInputs = [
libX11
libXmu
libXpm
gtk2
libpng
libjpeg
libtiff
librsvg
gdk-pixbuf
gdk-pixbuf-xlib.dev
];
preConfigure = ''
sed -re '1i#!${pypy2}/bin/pypy' -i configure .config/*.py
sed -re 's/\<out\>/outputredirect/g' -i .config/rules.mk
sed -i 's/struct\ \_plugin_instance \*stam\;//' panel/plugin.h
'';
makeFlags = [ "V=1" ];
env.NIX_CFLAGS_COMPILE = toString [
"-Wno-error"
"-Wno-error=incompatible-pointer-types" # not implied by -Wno-error
"-I${gdk-pixbuf-xlib.dev}/include/gdk-pixbuf-2.0"
];
meta = with lib; {
description = "Stand-alone panel";
maintainers = with maintainers; [ raskin ];
platforms = platforms.linux;
license = licenses.mit;
mainProgram = "fbpanel";
};
}

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchFromGitHub,
unstableGitUpdater,
bison,
flex,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "fbset";
version = "2.1";
src = fetchFromGitHub {
owner = "sudipm-mukherjee";
repo = "fbset";
rev = "debian/${finalAttrs.version}-33";
hash = "sha256-nwWkQAA5+v5A8AmKg77mrSq2pXeSivxd0r7JyoBrs9A=";
};
nativeBuildInputs = [
bison
flex
];
installFlags = [ "DESTDIR=$(out)" ];
passthru = {
updateScript = unstableGitUpdater { };
};
meta = with lib; {
description = "Framebuffer device maintenance program";
# NOTE: the website of the original author disappeared, the only remaining
# repository is maintained by the debian maintainer of the package at
# https://github.com/sudipm-mukherjee/fbset
homepage = "http://users.telenet.be/geertu/Linux/fbdev/";
license = licenses.gpl2Only;
mainProgram = "fbset";
maintainers = with maintainers; [ baloo ];
platforms = platforms.linux;
};
})

View File

@@ -0,0 +1,109 @@
{
stdenv,
autoreconfHook,
fetchFromGitLab,
fetchpatch,
fetchurl,
fontconfig,
freetype,
gpm,
lib,
ncurses,
pkg-config,
}:
stdenv.mkDerivation rec {
version = "1.7-2";
pname = "fbterm";
src = fetchFromGitLab {
domain = "salsa.debian.org";
owner = "debian";
repo = "fbterm";
rev = "debian/${version}";
hash = "sha256-vRUZgFpA1IkzkLzl7ImT+Yff5XqjFbUlkHmj/hd7XDE=";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
ncurses
];
buildInputs = [
gpm
freetype
fontconfig
ncurses
];
makeFlags = [
"AR:=$(AR)"
];
# preConfigure = ''
# sed -e '/ifdef SYS_signalfd/atypedef long long loff_t;' -i src/fbterm.cpp
# sed -e '/install-exec-hook:/,/^[^\t]/{d}; /.NOEXPORT/iinstall-exec-hook:\
# ' -i src/Makefile.in
# export HOME=$PWD;
# export NIX_LDFLAGS="$NIX_LDFLAGS -lfreetype"
# '';
preInstall = ''
export HOME=$PWD
'';
postInstall =
let
fbtermrc = fetchurl {
url = "https://aur.archlinux.org/cgit/aur.git/plain/fbtermrc?h=fbterm";
hash = "sha256-zNIfi2ZjEGc5PLdOIirKGTXESb5Wm5XBAI1sfHa31LY=";
};
in
''
mkdir -p "$out/share/terminfo"
tic -a -v2 -o"$out/share/terminfo" terminfo/fbterm
mkdir -p "$out/etc/fbterm"
cp "${fbtermrc}" "$out/etc/fbterm"
'';
# Patches from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=fbterm
patches = [
(fetchpatch {
url = "https://aur.archlinux.org/cgit/aur.git/plain/fbconfig.patch?h=fbterm";
hash = "sha256-skCdUqyMkkqxS1YUI7cofsfnNNo3SL/qe4WEIXlhm/s=";
})
(fetchpatch {
url = "https://aur.archlinux.org/cgit/aur.git/plain/color_palette.patch?h=fbterm";
hash = "sha256-SkWxzfapyBTtMpTXkiFHRAw8/uXw7cAWwg5Q3TqWlk8=";
})
(fetchpatch {
url = "https://aur.archlinux.org/cgit/aur.git/plain/fbterm.patch?h=fbterm";
hash = "sha256-XNHBTGQGeaQPip2XgcKlr123VDwils2pnyiGqkBGhzU=";
})
(fetchpatch {
url = "https://aur.archlinux.org/cgit/aur.git/plain/0001-Fix-build-with-gcc-6.patch?h=fbterm";
hash = "sha256-3d3zBvr5upICVVkd6tn63IhuB0sF67f62aKnf8KvOwg=";
})
(fetchpatch {
url = "https://aur.archlinux.org/cgit/aur.git/plain/fix_ftbfs_crosscompile.patch?h=fbterm";
hash = "sha256-jv/FSG6dHR0jKjPXQIfqsvpiT/XYzwv/VwuV+qUSovM=";
})
(fetchpatch {
url = "https://aur.archlinux.org/cgit/aur.git/plain/fix_ftbfs_epoll.patch?h=fbterm";
hash = "sha256-wkhfG0uY/5ZApcXTERkaKqz5IDpnilxUEcxull4645A=";
})
];
meta = with lib; {
description = "Framebuffer terminal emulator";
mainProgram = "fbterm";
homepage = "https://salsa.debian.org/debian/fbterm";
maintainers = with maintainers; [
lovesegfault
raskin
];
license = licenses.gpl2Plus;
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,87 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 492bcccd9a..9c907a87a8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -108,7 +108,7 @@
# Find required dependencies for thrift/lib
if (THRIFT_LIB_ONLY OR build_all)
find_package(Gflags REQUIRED)
- find_package(Glog REQUIRED)
+ find_package(Glog CONFIG REQUIRED)
find_package(fizz CONFIG REQUIRED)
find_package(wangle CONFIG REQUIRED)
find_package(ZLIB REQUIRED)
@@ -120,7 +120,6 @@
find_package(Threads)
include_directories(
${LIBGFLAGS_INCLUDE_DIR}
- ${GLOG_INCLUDE_DIRS}
${OPENSSL_INCLUDE_DIR}
${ZSTD_INCLUDE_DIRS}
${Xxhash_INCLUDE_DIR}
diff --git a/thrift/example/cpp2/CMakeLists.txt b/thrift/example/cpp2/CMakeLists.txt
index afa28dad61..318860b3d6 100644
--- a/thrift/example/cpp2/CMakeLists.txt
+++ b/thrift/example/cpp2/CMakeLists.txt
@@ -28,7 +28,7 @@
thriftcpp2
chatroom-cpp2
${LIBGFLAGS_LIBRARY}
- ${GLOG_LIBRARIES}
+ glog::glog
)
install(
TARGETS example_server
diff --git a/thrift/lib/cpp/CMakeLists.txt b/thrift/lib/cpp/CMakeLists.txt
index 2c65e1f0a8..1e80060100 100644
--- a/thrift/lib/cpp/CMakeLists.txt
+++ b/thrift/lib/cpp/CMakeLists.txt
@@ -43,7 +43,7 @@
PUBLIC
Folly::folly
${LIBGFLAGS_LIBRARY}
- ${GLOG_LIBRARIES}
+ glog::glog
)
add_library(
@@ -121,7 +121,7 @@
Boost::boost
Folly::folly
wangle::wangle
- ${GLOG_LIBRARIES}
+ glog::glog
${OPENSSL_LIBRARIES}
)
@@ -137,7 +137,7 @@
thriftprotocol
transport
Folly::folly
- ${GLOG_LIBRARIES}
+ glog::glog
)
set(THRIFT1_HEADER_DIRS
diff --git a/thrift/lib/cpp2/CMakeLists.txt b/thrift/lib/cpp2/CMakeLists.txt
index 03216f5d6f..5f31fc0c64 100644
--- a/thrift/lib/cpp2/CMakeLists.txt
+++ b/thrift/lib/cpp2/CMakeLists.txt
@@ -75,7 +75,7 @@
Folly::folly
thriftmetadata
thriftprotocol
- ${GLOG_LIBRARIES}
+ glog::glog
${LIBGFLAGS_LIBRARY}
)
@@ -207,7 +207,7 @@
thrift
Folly::folly
wangle::wangle
- ${GLOG_LIBRARIES}
+ glog::glog
thrift-core
)

View File

@@ -0,0 +1,140 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
cmake,
ninja,
openssl,
gflags,
glog,
folly,
fizz,
wangle,
zlib,
zstd,
xxHash,
mvfst,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "fbthrift";
version = "2025.09.15.00";
outputs = [
# Trying to split this up further into `bin`, `out`, and `dev`
# causes issues with circular references due to the installed CMake
# files referencing the path to the compiler.
"out"
"lib"
];
src = fetchFromGitHub {
owner = "facebook";
repo = "fbthrift";
tag = "v${finalAttrs.version}";
hash = "sha256-4u3SbbmSgtvnW3/VH3CfQrEddAlkQuUl9dmnGGKL4mE=";
};
patches = [
# Map `$NIX_BUILD_TOP` to `/build` in the Thrift compiler output to
# avoid reproducibility issues on Darwin.
./scrub-build-directory-from-output.patch
# Remove a line that breaks the build due to the CMake classic of
# incorrect path concatenation.
./remove-cmake-install-rpath.patch
./glog-0.7.patch
];
nativeBuildInputs = [
cmake
ninja
];
buildInputs = [
openssl
gflags
glog
folly
fizz
wangle
zlib
zstd
];
propagatedBuildInputs = [
mvfst
xxHash
];
cmakeFlags = [
(lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic))
(lib.cmakeBool "thriftpy" false)
# TODO: Cant figure out where the C++ tests are wired up in the
# CMake build, if anywhere, and this requires Python.
#(lib.cmakeBool "enable_tests" finalAttrs.finalPackage.doCheck)
(lib.cmakeFeature "BIN_INSTALL_DIR" "${placeholder "out"}/bin")
(lib.cmakeFeature "INCLUDE_INSTALL_DIR" "${placeholder "out"}/include")
(lib.cmakeFeature "LIB_INSTALL_DIR" "${placeholder "lib"}/lib")
(lib.cmakeFeature "CMAKE_INSTALL_DIR" "${placeholder "out"}/lib/cmake/fbthrift")
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# Homebrew sets this, and the shared library build fails without
# it. I dont know, either. It scares me.
(lib.cmakeFeature "CMAKE_SHARED_LINKER_FLAGS" "-Wl,-undefined,dynamic_lookup")
];
# Fix a typo introduced by the following commit that causes hundreds
# of pointless rebuilds when installing:
# <https://github.com/facebook/fbthrift/commit/58038399cefc0c2256ce4ef5444dee37147cbf07>
postPatch = ''
substituteInPlace ThriftLibrary.cmake \
--replace-fail .tcch .tcc
'';
# Copied from Homebrew; fixes the following build error:
#
# [ERROR:/nix/var/nix/b/5f3kn8spg6j0z0xlags8va6sq7/source/thrift/lib/thrift/RpcMetadata.thrift:1] unordered_map::at: key not found
#
# See:
#
# * <https://github.com/facebook/fbthrift/issues/618>
# * <https://github.com/facebook/fbthrift/issues/607>
# * <https://github.com/Homebrew/homebrew-core/blob/2135255c78d026541a4106fa98580795740db694/Formula/f/fbthrift.rb#L52-L55>
#
# I dont know why we didnt need this before the bump to 202
# to 2025.09.08.00 when wed been on LLVM 19 for an entire release
# cycle already, or why were getting different errors to those
# reports, or why this fixes the build anyway. Most of what I do to
# maintain these packages is copy compilation flags from Homebrew
# that scare me. I dont have very much fun with these libraries, to
# be honest with you.
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-fno-assume-unique-vtables";
passthru.updateScript = nix-update-script { };
meta = {
description = "Facebook's branch of Apache Thrift";
mainProgram = "thrift1";
homepage = "https://github.com/facebook/fbthrift";
license = lib.licenses.asl20;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [
pierreis
kylesferrazza
emily
techknowlogick
];
};
})

View File

@@ -0,0 +1,12 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c6b2b2a810..497dcd3d94 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -39,7 +39,6 @@
set(CMAKE_INSTALL_DIR lib/cmake/fbthrift CACHE STRING
"The subdirectory where CMake package config files should be installed")
-set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}")
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
# Add root dir so qualified includes work, e.g. #include "thrift/compiler/*.h".

View File

@@ -0,0 +1,36 @@
diff --git a/thrift/compiler/generate/t_mstch_cpp2_generator.cc b/thrift/compiler/generate/t_mstch_cpp2_generator.cc
index d232df5158..96d15efbda 100644
--- a/thrift/compiler/generate/t_mstch_cpp2_generator.cc
+++ b/thrift/compiler/generate/t_mstch_cpp2_generator.cc
@@ -1116,6 +1116,13 @@
mstch::node autogen_path() {
std::string path = service_->program()->path();
std::replace(path.begin(), path.end(), '\\', '/');
+ // Ensure output reproducibility for Nix builds.
+ if (auto nix_build_top = std::getenv("NIX_BUILD_TOP")) {
+ auto prefix = std::string(nix_build_top) + "/";
+ if (path.starts_with(prefix)) {
+ path.replace(0, prefix.length(), "/build/");
+ }
+ }
return path;
}
mstch::node cpp_includes() {
diff --git a/thrift/compiler/generate/t_whisker_generator.cc b/thrift/compiler/generate/t_whisker_generator.cc
index 99a6ac14af..fa91a05247 100644
--- a/thrift/compiler/generate/t_whisker_generator.cc
+++ b/thrift/compiler/generate/t_whisker_generator.cc
@@ -572,6 +572,13 @@
// use posix path separators, even on windows, for autogen comment
// to avoid spurious fixture regen diffs
std::replace(path.begin(), path.end(), '\\', '/');
+ // Ensure output reproducibility for Nix builds.
+ if (auto nix_build_top = std::getenv("NIX_BUILD_TOP")) {
+ auto prefix = std::string(nix_build_top) + "/";
+ if (path.starts_with(prefix)) {
+ path.replace(0, prefix.length(), "/build/");
+ }
+ }
return path;
});
def.property("namespaces", [&](const t_program& self) -> map::ptr {

View File

@@ -0,0 +1,40 @@
{
lib,
stdenv,
fetchFromGitHub,
getopt,
libjpeg,
libpng12,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "fbv";
version = "1.0c";
src = fetchFromGitHub {
owner = "jstkdng";
repo = "fbv";
tag = finalAttrs.version;
hash = "sha256-4tAIFklKsx2uI+FQjq9vdolYm6d6YWugioG6k2ZUMrs=";
};
buildInputs = [
getopt
libjpeg
libpng12
];
enableParallelBuilding = true;
preInstall = ''
mkdir -p $out/{bin,man/man1}
'';
meta = {
description = "View pictures on a linux framebuffer device";
homepage = "https://github.com/jstkdng/fbv";
license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [ peterhoeg ];
mainProgram = "fbv";
};
})

View File

@@ -0,0 +1,25 @@
diff --git a/vncauth.c b/vncauth.c
index 79c4448..6348007 100644
--- a/vncauth.c
+++ b/vncauth.c
@@ -26,6 +26,7 @@
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
+#include <time.h>
#include <unistd.h>
#include "vncauth.h"
diff --git a/vncauth.h b/vncauth.h
index 86dc455..7fdb8d4 100644
--- a/vncauth.h
+++ b/vncauth.h
@@ -25,6 +25,8 @@
#define CHALLENGESIZE 16
extern int vncEncryptAndStorePasswd(char *passwd, char *fname);
+extern int vncEncryptAndStorePasswd2(char *passwd, char *passwdViewOnly, char *fname);
extern char *vncDecryptPasswdFromFile(char *fname);
+extern int vncDecryptPasswdFromFile2(char *fname, char *passwdFullControl, char *passwdViewOnly);
extern void vncRandomBytes(unsigned char *bytes);
extern void vncEncryptBytes(unsigned char *bytes, char *passwd);

View File

@@ -0,0 +1,45 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation {
pname = "fbvnc";
version = "1.0.2";
src = fetchFromGitHub {
owner = "zohead";
repo = "fbvnc";
rev = "783204ff6c92afec33d6d36f7e74f1fcf2b1b601";
hash = "sha256-oT7+6kIeFDgU6GbcHYQ6k0jCU84p8fTEVgUozYMkeVI=";
};
patches = [
# GCC 14 errors on missing function definitions
# https://github.com/zohead/fbvnc/pull/3
./gcc14-fix.patch
];
makeFlags = [
"CC:=$(CC)"
];
installPhase = ''
runHook preInstall
install -Dm555 fbvnc -t "$out/bin"
install -Dm444 README.md -t "$out/share/doc/fbvnc"
runHook postInstall
'';
meta = {
description = "Framebuffer VNC client";
license = lib.licenses.bsd3;
maintainers = [ lib.maintainers.raskin ];
platforms = lib.platforms.linux;
homepage = "https://github.com/zohead/fbvnc/";
mainProgram = "fbvnc";
};
}