<del> { stdenv, fetchurl, m4, perl, gfortran, texlive, ffmpeg, tk, gnused_422 , imagemagick, liblapack, python, openssl, libpng </del> <ins> # TODO # - consider writing a script to convert spkgs to nix packages, similar to vim #   or cabal2nix. This would allow a more efficient and "cleaner" build, greater #   flexibility and the possibility to select which dependencies to add and which #   to remove. It would also allow to use system packages for some dependencies #   and recompile others (optimized for the system) without recompiling everything. # - add optdeps: #   - imagemagick #   - texlive full for documentation #   - ... # - further seperate build outputs. Also maybe run `make doc`. #   Configure flags like --bindir and --libdir oculd also be used for that, see #   ./configure --help`. # Other resources: # - https://wiki.debian.org/DebianScience/Sage # - https://github.com/cschwan/sage-on-gentoo # - https://git.archlinux.org/svntogit/community.git/tree/trunk?h=packages/sagemath { stdenv , fetchurl , perl , gfortran , python , autoreconfHook , gettext </ins> , which <ins> , texlive , hevea </ins> }: stdenv.mkDerivation rec { <del> name = "sage-6.8"; </del> <ins> version = "8.0"; name = "sage-${version}"; </ins> src = fetchurl { <del> url = "http://old.files.sagemath.org/src-old/${name}.tar.gz"; sha256 = "102mrzzi215g1xn5zgcv501x9sghwg758jagx2jixvg1rj2jijj9"; </del> <ins> # Note that the source is *not* fetched from github, since that doesn't # the upstream folder with all the source tarballs of the spkgs. # If those are not present they are fetched at build time, which breaks # when building in a sandbox (and probably only works if you install the # latest sage version). urls = [ "http://mirrors.mit.edu/sage/src/sage-${version}.tar.gz" "ftp://ftp.fu-berlin.de/unix/misc/sage/src/sage-${version}.tar.gz" "http://sagemath.polytechnic.edu.na/src/sage-${version}.tar.gz" "ftp://ftp.sun.ac.za/pub/mirrors/www.sagemath.org/src/sage-${version}.tar.gz" "http://sagemath.mirror.ac.za/src/sage-${version}.tar.gz" "http://ftp.leg.uct.ac.za/pub/packages/sage/src/sage-${version}.tar.gz" "http://mirror.ufs.ac.za/sagemath/src/sage-${version}.tar.gz" "http://mirrors-usa.go-parts.com/sage/sagemath/src/sage-${version}.tar.gz" "http://www.cecm.sfu.ca/sage/src/sage-${version}.tar.gz" "http://files.sagemath.org/src/sage-${version}.tar.gz" "http://mirrors.xmission.com/sage/src/sage-${version}.tar.gz" "http://sagemath.c3sl.ufpr.br/src/sage-${version}.tar.gz" "http://linorg.usp.br/sage/src/sage-${version}.tar.gz" "http://mirror.hust.edu.cn/sagemath/src/sage-${version}.tar.gz" "http://ftp.iitm.ac.in/sage/src/sage-${version}.tar.gz" "http://ftp.kaist.ac.kr/sage/src/sage-${version}.tar.gz" "http://ftp.riken.jp/sagemath/src/sage-${version}.tar.gz" "http://mirrors.tuna.tsinghua.edu.cn/sagemath/src/sage-${version}.tar.gz" "http://mirrors.ustc.edu.cn/sagemath/src/sage-${version}.tar.gz" "http://ftp.tsukuba.wide.ad.jp/software/sage/src/sage-${version}.tar.gz" "http://ftp.yz.yamagata-u.ac.jp/pub/math/sage/src/sage-${version}.tar.gz" "http://mirror.yandex.ru/mirrors/sage.math.washington.edu/src/sage-${version}.tar.gz" "http://mirror.aarnet.edu.au/pub/sage/src/sage-${version}.tar.gz" "http://sage.mirror.garr.it/mirrors/sage/src/sage-${version}.tar.gz" "http://www.mirrorservice.org/sites/www.sagemath.org/src/sage-${version}.tar.gz" "http://mirror.switch.ch/mirror/sagemath/src/sage-${version}.tar.gz" "https://mirrors.up.pt/pub/sage/src/sage-${version}.tar.gz" "http://www-ftp.lip6.fr/pub/math/sagemath/src/sage-${version}.tar.gz" "http://ftp.ntua.gr/pub/sagemath/src/sage-${version}.tar.gz" ]; sha256 = "1a9rhb8jby6fdqa2s7n2fl9jwqqlsl7qz7dbpbwvg6jwlrvni7fg"; </ins> }; <del> buildInputs = [ m4 perl gfortran texlive.combined.scheme-basic ffmpeg gnused_422 tk imagemagick liblapack python openssl libpng which ]; </del> <ins> postPatch = '' substituteAllInPlace src/bin/sage-env ''; </ins> <del> patches = [ ./spkg-singular.patch ./spkg-python.patch ./spkg-git.patch ]; </del> <ins> installPhase = '' # Sage installs during first `make`, `make install` is no-op and just takes time. ''; outputs = [ "out" "doc" ]; buildInputs = [ perl # needed for the build python # needed for the build gfortran # needed to build giac autoreconfHook # needed to configure sage with prefix gettext # needed to build the singular spkg hevea # needed to build the docs of the giac spkg which # needed in configure of mpir # needed to build the docs of the giac spkg (texlive.combine { inherit (texlive) scheme-basic collection-pstricks # needed by giac times # font needed by giac stmaryrd # needed by giac babel-greek # optional for giac, otherwise throws a bunch of latex command not founds ; }) ]; patches = [ # fix usages of /bin/rm ./spkg-singular.patch # help python find the crypt library ./spkg-python2.patch ./spkg-python3.patch # fix usages of /usr/bin/perl ./spkg-git.patch # fix usages of /bin/cp and add necessary argument to function call ./spkg-giac.patch # environment ./env.patch ]; </ins> enableParallelBuilding = true; <del> hardeningDisable = [ "format" ]; </del> <ins> hardeningDisable = [ "format" # needed to build palp, for lines like `printf(ctime(&_NFL->TIME))` # TODO could be patched with `sed s|printf(ctime((.*)))|%s... or fixed upstream ]; </ins> preConfigure = '' export SAGE_NUM_THREADS=$NIX_BUILD_CORES export SAGE_ATLAS_ARCH=fast <del> mkdir -p $out/sageHome export HOME=$out/sageHome export CPPFLAGS="-P" </del> <ins> export HOME=$out/sage-home mkdir -p $out/sage-home mkdir -p "$out" # we need to keep the source around dir="$PWD" cd .. mv "$dir" "$out/sage-root" cd "$out/sage-root" # build in target dir, since `make` is also `make install` ''; # for reference: http://doc.sagemath.org/html/en/installation/source.html preBuild = '' # TODO do this conditionally export SAGE_SPKG_INSTALL_DOCS='no' patchShebangs build ''; postBuild = '' rm -r "$out/sage-root/upstream" # don't keep the sources of all the spkgs rm -r "$out/sage-root/src/build" rm -rf "$out/sage-root/src/.git" rm -r "$out/sage-root/logs" # Fix dependency cycle between out and doc rm -f "$out/sage-root/config.status" rm -f "$out/sage-root/build/make/Makefile-auto" rm -f "$out/sage-home/.sage/gap/libgap-workspace-"* </ins> ''; <del> preBuild = "patchShebangs build"; </del> <ins> # TODO there are some doctest failures, which seem harmless. # We should figure out a way to fix the failures or ignore only those tests. doCheck = false; </ins> <del> installPhase = ''DESTDIR=$out make install''; </del> <ins> checkTarget = "ptestalllong"; # all long tests in parallell preCheck = '' export SAGE_TIMEOUT=0 # no timeout export SAGE_TIMEOUT_LONG=0 # no timeout ''; </ins> meta = { homepage = http://www.sagemath.org; description = "A free open source mathematics software system"; <ins> # taken from the homepage longDescription = '' SageMath is a free open-source mathematics software system licensed under the GPL. It builds on top of many existing open-source packages: NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R and many more. Access their combined power through a common, Python-based language or directly via interfaces or wrappers. Mission: Creating a viable free open source alternative to Magma, Maple, Mathematica and Matlab. ''; </ins> license = stdenv.lib.licenses.gpl2Plus; <del> broken = true; </del> <ins> platforms = stdenv.lib.platforms.linux; maintainers = with stdenv.lib.maintainers; [ timokau ]; </ins> }; }


version = "0.14.0.2"; src = fetchurl { <del> url = "mirror://sourceforge/project/refind/${version}/${pname}-src-${version}.tar.gz"; </del> <ins> url = "mirror://sourceforge/project/refind/${version}/refind-src-${version}.tar.gz"; </ins> hash = "sha256-JqDFXf01ZUmeH4LY/ldGTb7xnKiGzm0BqBUii478iw8="; };


}; <ins> pythondaemon = buildPythonPackage rec { name = "python-daemon-${version}"; version = "2.1.1"; src = pkgs.fetchurl { url = " https://pypi.python.org/packages/source/p/python-daemon/${name}.tar.gz"; sha256 = "17v80qb98p1gv4j9mq6wb55cv7hc4j1hzw5y2f4s5hrpxs3w3a2q"; }; # A test fail within chroot builds. doCheck = false; buildInputs = with self; [ mock testscenarios ]; propagatedBuildInputs = with self; [ docutils lockfile ]; meta = { description = "Library to implement a well-behaved Unix daemon process"; homepage = https://alioth.debian.org/projects/python-daemon/; licenses =  [ licenses.gpl3Plus licenses.asl20 ]; }; }; </ins> sympy = buildPythonPackage rec { name = "sympy-0.7.6.1"; disabled = isPy34 || isPy35 || isPyPy;  # some tests fail


, gst_all_1 , gtk4 , libadwaita <del> , libclang </del> , openssl , pipewire , sqlite


nap = callPackage ../development/tools/nap { }; <ins> nex = callPackage ../development/tools/parsing/nex {}; </ins> ninja = callPackage ../development/tools/build-managers/ninja { }; nimbo = with python3Packages; callPackage ../applications/misc/nimbo { };


domain = "gitlab.freedesktop.org"; owner = "wlroots"; repo = "wlroots"; <del> rev = "00b869c1a96f300a8f25da95d624524895e0ddf2"; hash = "sha256-5HUTG0p+nCJv3cn73AmFHRZdfRV5AD5N43g8xAePSKM="; </del> <ins> rev = "0cb091f1a2d345f37d2ee445f4ffd04f7f4ec9e5"; hash = "sha256-Mz6hCtommq7RQfcPnxLINigO4RYSNt23HeJHC6mVmWI="; </ins> }; patches = [ ]; # don't inherit old.patches


, libepoxy # postPatch: , glibc # gconv + locale <ins> # postFixup: , vulkan-loader </ins> # Package customization: , cupsSupport ? true, cups ? null


, fuse , installShellFiles , wrapGAppsHook3 <ins> , glib-networking </ins> , wrapperDir ? "/run/wrappers/bin" }: let


buildPythonPackage rec { pname = "fsspec"; <del> version = "2022.5.0"; </del> <ins> version = "2022.8.2"; </ins> format = "setuptools"; disabled = pythonOlder "3.7";


fingerprint = "1DE4 424D BF77 1192 5DC4  CF5E 9AED 8814 81D8 444E"; }]; }; <ins> maxstrid = { email = "mxwhenderson@gmail.com"; github = "maxstrid"; githubId = 115441224; name = "Maxwell Henderson"; }; </ins> maxux = { email = "root@maxux.net"; github = "maxux";


inherit src; sourceRoot = "${pname}-${version}/${cargoRoot}"; name = "${pname}-${version}"; <del> hash = "sha256-HvfRLyUhlXVuvxWrtSDKx3rMKJbjvuiMcDY6g+pYFS0="; </del> <ins> hash = "sha256-lDWX69YENZFMu7pyBmavUZaalGvFqbHSHfkwkzmDQaY="; </ins> }; nativeBuildInputs = [


onlykey = callPackage ../tools/security/onlykey { node_webkit = nwjs; }; <ins> ooniprobe-cli = callPackage ../tools/networking/ooniprobe-cli { }; </ins> openapi-generator-cli = callPackage ../tools/networking/openapi-generator-cli { jre = pkgs.jre_headless; }; openapi-generator-cli-unstable = callPackage ../tools/networking/openapi-generator-cli/unstable.nix { jre = pkgs.jre_headless; };


pid_file = "/run/mailman/master.pid"; }; <del> mta.configuration = lib.mkDefault "${mtaConfig}"; </del> <ins> mta.configuration = lib.mkDefault (if cfg.enablePostfix then "${postfixMtaConfig}" else throw "When Mailman Postfix integration is disabled, set `services.mailman.settings.mta.configuration` to the path of the config file required to integrate with your MTA."); </ins> "archiver.hyperkitty" = lib.mkIf cfg.hyperkitty.enable { class = "mailman_hyperkitty.Archiver";


adtool = throw "'adtool' has been removed, as it was broken and unmaintained"; advcpmv = throw "'advcpmv' has been removed, as it is not being actively maintained and break recent coreutils."; # Added 2024-03-29 aether = throw "aether has been removed from nixpkgs; upstream unmaintained, security issues"; # Added 2023-10-03 <ins> afl = throw "afl has been removed as the upstream project was archived. Consider using 'aflplusplus'"; # Added 2024-04-21 </ins> airfield = throw "airfield has been removed due to being unmaintained"; # Added 2023-05-19 alertmanager-bot = throw "alertmanager-bot is broken and has been archived by upstream"; # Added 2023-07-28 alsa-project = throw "alsa-project was removed and its sub-attributes were promoted to top-level."; # Added 2023-11-12


curl openssl boost <del> swig </del> <ins> swig4 </ins> python ] <ins> ++ optional (!stable) unixODBC </ins> ++ optional (withScripting) wxPython ++ optional (withNgspice) libngspice ++ optional (withOCC) opencascade-occt ++ optional (debug) valgrind ; <ins> # started becoming necessary halfway into 2022, not sure what changed to break a test... preInstallCheck = optionals (withNgspice) [ "export LD_LIBRARY_PATH=${libngspice}/lib" ]; </ins> # debug builds fail all but the python test # stable release doesn't have the fix for upstream issue 9888 yet doInstallCheck = !debug && !stable;


commonTargetPkgs = pkgs: with pkgs; [ steamPackages.steam-fonts <ins> # Needed for operating system detection until # https://github.com/ValveSoftware/steam-for-linux/issues/5909 is resolved lsb-release </ins> # Errors in output without those pciutils python2


{ lib <del> , stdenv , python3 , fetchPypi </del> <ins> , callPackage </ins> , fetchFromGitHub , installShellFiles }:


<del> From 33d928c54f4b35f8877cacd1e2c77b68b4dddc06 Mon Sep 17 00:00:00 2001 From: Zane van Iperen <zane@zanevaniperen.com> Date: Sun, 7 Nov 2021 15:46:37 +1000 Subject: [PATCH] fix build with ffmpeg 4 --- src/arch/MovieTexture/MovieTexture_FFMpeg.cpp |  5 +---- src/arch/MovieTexture/MovieTexture_FFMpeg.h   | 22 +++++++++---------- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp b/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp index bdf2356..f79fea2 100644 --- a/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp +++ b/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp @@ -445,7 +445,7 @@ RString MovieDecoder_FFMpeg::Open( RString sFile ) return "Couldn't find any video streams"; m_pStream = m_fctx->streams[stream_idx]; -	if( m_pStream->codec->codec_id == avcodec::CODEC_ID_NONE ) +	if( m_pStream->codec->codec_id == avcodec::AV_CODEC_ID_NONE ) return ssprintf( "Unsupported codec %08x", m_pStream->codec->codec_tag ); RString sError = OpenCodec(); @@ -474,9 +474,6 @@ RString MovieDecoder_FFMpeg::OpenCodec() m_pStream->codec->idct_algo         = FF_IDCT_AUTO; m_pStream->codec->error_concealment = 3; -	if( pCodec->capabilities & CODEC_CAP_DR1 ) -		m_pStream->codec->flags |= CODEC_FLAG_EMU_EDGE; - LOG->Trace("Opening codec %s", pCodec->name ); int ret = avcodec::avcodec_open2( m_pStream->codec, pCodec, NULL ); diff --git a/src/arch/MovieTexture/MovieTexture_FFMpeg.h b/src/arch/MovieTexture/MovieTexture_FFMpeg.h index f4d25ef..32564e5 100644 --- a/src/arch/MovieTexture/MovieTexture_FFMpeg.h +++ b/src/arch/MovieTexture/MovieTexture_FFMpeg.h @@ -64,7 +64,7 @@ private: avcodec::AVStream *m_pStream; avcodec::AVFrame *m_Frame; -	avcodec::PixelFormat m_AVTexfmt; /* PixelFormat of output surface */ +	avcodec::AVPixelFormat m_AVTexfmt; /* PixelFormat of output surface */ avcodec::SwsContext *m_swsctx; avcodec::AVFormatContext *m_fctx; @@ -90,7 +90,7 @@ static struct AVPixelFormat_t { int bpp; uint32_t masks[4]; -	avcodec::PixelFormat pf; +	avcodec::AVPixelFormat pf; bool bHighColor; bool bByteSwapOnLittleEndian; MovieDecoderPixelFormatYCbCr YUV; @@ -101,7 +101,7 @@ static struct AVPixelFormat_t 0x00FF0000, 0x0000FF00, 0x000000FF }, -		avcodec::PIX_FMT_YUYV422, +		avcodec::AV_PIX_FMT_YUYV422, false, /* N/A */ true, PixelFormatYCbCr_YUYV422, @@ -112,7 +112,7 @@ static struct AVPixelFormat_t 0x00FF0000, 0xFF000000, 0x000000FF }, -		avcodec::PIX_FMT_BGRA, +		avcodec::AV_PIX_FMT_BGRA, true, true, PixelFormatYCbCr_Invalid, @@ -123,7 +123,7 @@ static struct AVPixelFormat_t 0x0000FF00, 0x000000FF, 0xFF000000 }, -		avcodec::PIX_FMT_ARGB, +		avcodec::AV_PIX_FMT_ARGB, true, true, PixelFormatYCbCr_Invalid, @@ -135,7 +135,7 @@ static struct AVPixelFormat_t 0x0000FF00, 0x00FF0000, 0xFF000000 }, -		avcodec::PIX_FMT_ABGR, +		avcodec::AV_PIX_FMT_ABGR, true, true, PixelFormatYCbCr_Invalid, @@ -146,7 +146,7 @@ static struct AVPixelFormat_t 0x00FF0000, 0x0000FF00, 0x000000FF }, -		avcodec::PIX_FMT_RGBA, +		avcodec::AV_PIX_FMT_RGBA, true, true, PixelFormatYCbCr_Invalid, @@ -157,7 +157,7 @@ static struct AVPixelFormat_t 0x00FF00, 0x0000FF, 0x000000 }, -		avcodec::PIX_FMT_RGB24, +		avcodec::AV_PIX_FMT_RGB24, true, true, PixelFormatYCbCr_Invalid, @@ -168,7 +168,7 @@ static struct AVPixelFormat_t 0x00FF00, 0xFF0000, 0x000000 }, -		avcodec::PIX_FMT_BGR24, +		avcodec::AV_PIX_FMT_BGR24, true, true, PixelFormatYCbCr_Invalid, @@ -179,12 +179,12 @@ static struct AVPixelFormat_t 0x03E0, 0x001F, 0x0000 }, -		avcodec::PIX_FMT_RGB555, +		avcodec::AV_PIX_FMT_RGB555, false, false, PixelFormatYCbCr_Invalid, }, -	{ 0, { 0,0,0,0 }, avcodec::PIX_FMT_NB, true, false, PixelFormatYCbCr_Invalid } +	{ 0, { 0,0,0,0 }, avcodec::AV_PIX_FMT_NB, true, false, PixelFormatYCbCr_Invalid } }; #endif -- 2.31.1 </del>


<ins> diff --git a/src/bin/sage-env b/src/bin/sage-env index ead308f861..ed8db9f9b7 100644 --- a/src/bin/sage-env +++ b/src/bin/sage-env @@ -111,6 +111,8 @@ resolvelinks() { } +SAGE_ROOT="@out@/sage-root" + # New value for SAGE_ROOT: either SAGE_ROOT (if given) # or a guessed value based on pwd. if [ -n "$SAGE_ROOT" ]; then @@ -185,6 +187,8 @@ fi export SAGE_ENV_SOURCED=$SAGE_ENV_VERSION export SAGE_ROOT="$NEW_SAGE_ROOT" +export SAGE_LOCAL='@out@/' +export PYTHONPATH="@out@/lib/python2.7/site-packages:$PYTHONPATH" # sage-env must know where the Sage's script files are. </ins>


}: let <del> version = "1.70.0"; </del> <ins> version = "1.72.0"; </ins> in buildGoModule { pname = "tailscale";


setproctitle ]; <del> nativeCheckInputs = with python3Packages; [ </del> <ins> nativeCheckInputs = with python310Packages; [ </ins> asynctest pytestCheckHook ];


substituteInPlace $out/opt/brother/Printers/HL1210W/cupswrapper/brother_lpdwrapper_HL1210W --replace /opt "$out/opt" <del> mkdir -p $out/lib/cups/filter </del> <ins> mkdir -p $out/lib/cups/filter $out/share/cups/model </ins> ln -s $out/opt/brother/Printers/HL1210W/cupswrapper/brother_lpdwrapper_HL1210W $out/lib/cups/filter/brother_lpdwrapper_HL1210W <del> ln -s $out/opt/brother/Printers/HL1210W/cupswrapper/brother-HL1210W-cups-en.ppd $out/lib/cups/filter/brother-HL1210W-cups-en.ppd </del> <ins> ln -s $out/opt/brother/Printers/HL1210W/cupswrapper/brother-HL1210W-cups-en.ppd $out/share/cups/model/ </ins> # cp brcupsconfig4 $out/opt/brother/Printers/HL1110/cupswrapper/ ln -s $out/opt/brother/Printers/HL1210W/cupswrapper/brcupsconfig4 $out/lib/cups/filter/brcupsconfig4


cairo git hyprland-protocols <ins> hyprlang </ins> libGL libdrm libinput


stdenv.mkDerivation (finalAttrs: { pname = "gpt4all"; <del> version = "2.8.0"; </del> <ins> version = "3.2.1"; </ins> src = fetchFromGitHub { fetchSubmodules = true; <del> hash = "sha256-aSz37+1K26Xizf4cpV45a2DnSsl959VQok/ppFRk/hs="; </del> <ins> hash = "sha256-h6hcqafTjQsqVlpnqVeohh38A67VSGrW3WrCErjaKIQ="; </ins> owner = "nomic-ai"; repo = "gpt4all"; rev = "v${finalAttrs.version}"; }; <ins> embed_model = fetchurl { url = "https://gpt4all.io/models/gguf/nomic-embed-text-v1.5.f16.gguf"; sha256 = "f7af6f66802f4df86eda10fe9bbcfc75c39562bed48ef6ace719a251cf1c2fdb"; }; patches = [ ./embedding-local.patch ]; </ins> sourceRoot = "${finalAttrs.src.name}/gpt4all-chat"; nativeBuildInputs = [


sha512 = "4938f676ddeeba37da1f2086d76a2ef2c870738169f7e10b35b83e4ed772df634825ee25c28232df1ac1e3a18a9466e97dc7ee318abbf43f1f4ce6479a13975b"; }; patches = [ <ins> # The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`. ./no-buildconfig.patch </ins> ]; meta = with lib; {


for each in gimp-${versionBranch} gimp-console-${versionBranch}; do wrapProgram $out/bin/$each  --set GIMP2_PLUGINDIR "$out/lib/gimp/2.0"  <ins> --prefix GTK_PATH : "${gnome3.gnome-themes-extra}/lib/gtk-2.0"  </ins> ${toString extraArgs} done set +x


, libxkbcommon, xcbutilxrm, hicolor-icon-theme , asciidoctor , fontsConf <ins> , gtk3Support ? false, gtk3 ? null </ins> }: <ins> # needed for beautiful.gtk to work assert gtk3Support -> gtk3 != null; </ins> with luaPackages; stdenv.mkDerivation rec { name = "awesome-${version}"; version = "4.3";


<del> { lib, stdenv, fetchurl, appimageTools, makeWrapper, electron, libsecret }: </del> <ins> { lib, stdenv, fetchurl, appimageTools, makeWrapper, electron_11, libsecret }: </ins> stdenv.mkDerivation rec { pname = "todoist-electron";


<ins> { lib , stdenv , fetchurl }: stdenv.mkDerivation (finalAttrs: { pname = "fleng"; version = "14"; src = fetchurl { url = "http://www.call-with-current-continuation.org/fleng/fleng-${finalAttrs.version}.tgz"; hash = "sha256-Js9bllX/399t9oeiRrqJNUFyYJwJVb/xSzwrcMrdi08="; }; doCheck = true; meta = { homepage = "http://www.call-with-current-continuation.org/fleng/fleng.html"; description = "A low level concurrent logic programming language descended from Prolog"; license = lib.licenses.publicDomain; maintainers = with lib.maintainers; [ AndersonTorres ]; platforms = lib.platforms.unix; }; }) # TODO: bootstrap </ins>


afio = callPackage ../tools/archivers/afio { }; <del> afl = callPackage ../tools/security/afl { stdenv = clangStdenv; }; </del> honggfuzz = callPackage ../tools/security/honggfuzz { clang = clang_16; llvm = llvm_16;


{ stdenv , python3 , fetchPypi <ins> , fetchpatch </ins> , src , version }:


stdenv.mkDerivation { name = "perf-linux-${kernel.version}"; <del> inherit (kernel) src makeFlags; </del> <ins> inherit (kernel) src; </ins> preConfigure = '' cd tools/perf


owner = "plymouth"; repo = "plymouth"; rev = finalAttrs.version; <del> hash = "sha256-Uun4KtrbkFCiGq3WpZlZ8NKKCOnM+jcgYa8qoqAYdaw="; </del> <ins> hash = "sha256-9JmZCm8bjteJTQrMSJeL4x2CAI6RpKowFUDSCcMS4MM="; </ins> }; patches = [


rm -rf $out/var rm -rf $siteVersionDir <ins> nuke-refs $out/libexec/emacs/*/*/emacs.pdmp </ins> '' + lib.optionalString withCsrc '' for srcdir in src lisp lwlib ; do dstdir=$siteVersionDir/$srcdir


] ++ lib.optionals stdenv.isDarwin [ "-DWITH_OPENCL=OFF" "-DWITH_LAPACK=OFF" <del> "-DBUILD_opencv_videoio=OFF" </del> ] ++ lib.optionals enablePython [ "-DOPENCV_SKIP_PYTHON_LOADER=ON" ];


DataInfo(), "" ); MethodBase *method = (dynamic_cast<MethodBase*>(im)); <del> diff -aru a/core/base/inc/TString.h b/core/base/inc/TString.h --- a/core/base/inc/TString.h +++ b/core/base/inc/TString.h @@ -106,7 +106,7 @@ char          operator[](Ssiz_t i) const;     // Index with bounds checking operator std::string_view() const { return std::string_view(Data(),fExtent); } -   operator std::string() const { return std::string_view(Data(),fExtent).to_string(); } +   operator std::string() const { return static_cast<std::string>(std::string_view(Data(),fExtent)); } const char   *Data() const; Ssiz_t        Length() const          { return fExtent; } </del>


, libXtst , zlib , maven <ins> , webkitgtk , glib-networking </ins> }: stdenv.mkDerivation rec {


nixnote2 = libsForQt514.callPackage ../applications/misc/nixnote2 { }; <ins> nodenv = callPackage ../development/tools/nodenv { }; </ins> nodejs = hiPrio nodejs-16_x; nodejs-slim = nodejs-slim-16_x;


, cairo , git , hyprland-protocols <ins> , hyprlang </ins> , jq , libGL , libdrm


patches = [ ./urw-font-files.patch ./doc-no-ref.diff <ins> (fetchpatch { name = "CVE-2019-6116"; url = "http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=d3537a54740d78c5895ec83694a07b3e4f616f61"; sha256 = "1hr8bpi87bbg1kvv28kflmfh1dhzxw66p9q0ddvbrj72qd86p3kx"; }) </ins> ]; outputs = [ "out" "man" "doc" ];


strictDeps = true; <del> installPhase = '' DESTDIR=$out PREFIX=/ make install wrapProgram $out/bin/clerk  --prefix PATH : "${lib.makeBinPath [ rofi mpc_cli perl util-linux libnotify ]}" ''; </del> <ins> installPhase = let binPath = lib.makeBinPath [ libnotify mpc-cli perl rofi util-linux ]; in '' runHook preInstall DESTDIR=$out PREFIX=/ make install wrapProgram $out/bin/clerk --prefix PATH : "${binPath}" runHook postInstall ''; </ins> meta = with lib; { description = "An MPD client built on top of rofi";


stripLen = 1; hash = "sha256-wfIjdPhdUYAvbK5XyE1o2OtFOlJRj0X5mh7QQRjdyP0="; }) <ins> # Remove distutils for Python 3.12 compatibility # https://github.com/onionshare/onionshare/pull/1907 (fetchpatch { url = "https://github.com/onionshare/onionshare/commit/1fb1a470df20d8a7576c8cf51213e5928528d59a.patch"; includes = [ "onionshare/update_checker.py" ]; stripLen = 1; hash = "sha256-mRRj9cALZVHw86CgU17sp9EglKhkRRcGfROyQpsXVfU="; }) </ins> ]; <del> propagatedBuildInputs = [ </del> <ins> dependencies = with python3.pkgs; [ </ins> onionshare pyside6 qrcode


atlassian-cli = callPackage ../applications/office/atlassian-cli { }; <del> pulsar = callPackage ../applications/editors/pulsar { }; </del> asap = callPackage ../tools/audio/asap { }; aseprite = callPackage ../applications/editors/aseprite { };


dontWrapQtApps = true; <ins> postInstall = '' ln -s ${vgmstream.override { buildAudaciousPlugin = true; }}/lib/audacious/Input/* $out/lib/audacious/Input ''; </ins> meta = audacious.meta // { description = "Plugins for Audacious music player"; };


default = true; description = "Enable the XFWM (default) window manager."; }; <ins> screenLock = mkOption { type = types.enum [ "xscreensaver" "xlockmore" "slock" ]; default = "xlockmore"; description = "Application used by XFCE to lock the screen."; }; </ins> }; };


stdenv.mkDerivation (finalAttrs: { pname = "juce"; <del> version = "7.0.9"; </del> <ins> version = "7.0.10"; </ins> src = fetchFromGitHub { owner = "juce-framework"; repo = "juce"; rev = finalAttrs.version; <del> hash = "sha256-k8cNTPH9OgOav4dsSLqrd5PlJ1rqO0PLt6Lwmumc2Gg="; </del> <ins> hash = "sha256-CAHhHPTUvIyDOh2CdvNmw26HfoWWtbqRRiR+3Ky4GYA="; </ins> }; patches = [


<ins> { config, pkgs, lib, ... }: with lib; let pkg = [ pkgs.switcheroo-control ]; cfg = config.services.switcherooControl; in { options.services.switcherooControl = { enable = mkEnableOption "switcheroo-control, a D-Bus service to check the availability of dual-GPU"; }; config = mkIf cfg.enable { services.dbus.packages = pkg; environment.systemPackages = pkg; systemd.packages = pkg; systemd.targets.multi-user.wants = [ "switcheroo-control.service" ]; }; } </ins>


typing-extensions ]; <del> pytestFlagsArray = [ # Pass -c /dev/null so that pytest does not use the bundled pytest.ini, which adds # options to run additional integration tests that are overkill for our purposes. "-c" "/dev/null" ]; </del> <ins> # Remove the bundled pytest.ini, which adds options to run additional integration # tests that are overkill for our purposes. preCheck = '' rm pytest.ini ''; </ins> pythonImportsCheck = [ "bidict" ];


"pillow" "httpx" "packaging" <ins> "typer" </ins> ]; propagatedBuildInputs = with python3Packages; [


hash = "sha256-bHEBzl0aBXsHOhSWJUz428pG5M6L0s/Q6acKO+2oMXo="; }; <ins> patches = [ (substituteAll { src = ./fix-paths.patch; zenity = gnome.zenity; }) # compositor: Fix crash when restarting Cinnamon # https://github.com/linuxmint/muffin/pull/655 (fetchpatch { url = "https://github.com/linuxmint/muffin/commit/1a941ec603a1565dbd2f943f7da6e877d1541bcb.patch"; sha256 = "sha256-6x64rWQ20ZjM9z79Pg6QMDPeFN5VNdDHBueRvy2kA6c="; }) ]; </ins> nativeBuildInputs = [ desktop-file-utils mesa # needed for gbm


}; # grab the plugin sdk for the desktop icon <del> pluginsdk = fetchurl { url = "http://dl.4players.de/ts/client/pluginsdk/pluginsdk_3.1.1.1.zip"; sha256 = "1bywmdj54glzd0kffvr27r84n4dsd0pskkbmh59mllbxvj0qwy7f"; </del> <ins> pluginsdk = fetchzip { url = "https://files.teamspeak-services.com/releases/sdk/3.3.1/ts_sdk_3.3.1.zip"; hash = "sha256-wx4pBZHpFPoNvEe4xYE80KnXGVda9XcX35ho4R8QxrQ="; </ins> }; nativeBuildInputs = [ makeWrapper which <del> unzip </del> perl # Installer script needs `shasum` ];


}; }; in <del> python.pkgs.buildPythonApplication { </del> <ins> python.pkgs.buildPythonApplication rec { </ins> pname = "immich-machine-learning"; inherit (immich) version; src = "${immich.src}/machine-learning";


daphne = callPackage ../development/python-modules/daphne { }; <ins> daqp = callPackage ../development/python-modules/daqp { }; </ins> dasbus = callPackage ../development/python-modules/dasbus { }; dash = callPackage ../development/python-modules/dash { };


appimageContents = appimageTools.extractType2 { inherit name src; }; <del> in appimageTools.wrapType2 rec { </del> <ins> # Hotplug events from udevd are fired into the kernel, which then re-broadcasts them over a # special socket, to every libudev client listening for hotplug when the kernel does that. It will # try to preserve the uid of the sender but a non-root namespace (like the fhs-env) cant map root # to a uid, for security reasons, so the uid of the sender becomes nobody and libudev actively # rejects such messages. This patch disables that bit of security in libudev. # See: https://github.com/NixOS/nixpkgs/issues/116361 systemdPatched = systemd.overrideAttrs ({ patches ? [ ], ... }: { patches = patches ++ [ ./systemd.patch ]; }); in appimageTools.wrapType2 rec { </ins> inherit name src; <ins> extraPkgs = pkgs: [ systemdPatched ]; </ins> extraInstallCommands = '' mv $out/bin/${name} $out/bin/${pname} install -m 444 -D ${appimageContents}/ledger-live-desktop.desktop $out/share/applications/ledger-live-desktop.desktop


# cross-compiling. ./always-search-rpath.patch <del> ] ++ lib.optionals (!stdenv.targetPlatform.isVc4) [ # https://sourceware.org/bugzilla/show_bug.cgi?id=22868 ./gold-symbol-visibility.patch # https://sourceware.org/bugzilla/show_bug.cgi?id=23428 # un-break features so linking against musl doesn't produce crash-only binaries ./0001-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch ./0001-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch ./0001-x86-Properly-add-X86_ISA_1_NEEDED-property.patch </del> ] ++ lib.optional stdenv.targetPlatform.isiOS ./support-ios.patch; outputs = [ "out" "info" "man" ];


# code here, we'll cause an infinite recursion. Since a set with # clang as its default compiler always means libc++, we can infer this # decision statically. <del> then buildPackages.llvmPackages.libcxxClang </del> <ins> then buildPackages.pkgsBuildTarget.llvmPackages.libcxxClang </ins> else buildPackages.gcc else # This will blow up if anything uses it, but that's OK. The `if


- The `hardware.pulseaudio` module now sets permission of pulse user home directory to 755 when running in "systemWide" mode. It fixes [issue 114399](https://github.com/NixOS/nixpkgs/issues/114399). <ins> - The `services.networkmanager.extraConfig` was renamed to `services.networkmanager.settings` and was changed to use the ini type instead of using a multiline string. </ins> - The module `services.github-runner` has been removed. To configure a single GitHub Actions Runner refer to `services.github-runners.*`. Note that this will trigger a new runner registration. - The `services.slskd` has been refactored to include more configuation options in


<ins> diff --git a/src/builder-context.c b/src/builder-context.c index dde12790..3a379297 100644 </ins> --- a/src/builder-context.c +++ b/src/builder-context.c <ins> @@ -256,7 +256,7 @@ builder_context_init (BuilderContext *self) g_autofree char *path = NULL; self->rofiles_file_lock = init; -  path = g_find_program_in_path ("rofiles-fuse"); +  path = g_find_program_in_path ("@rofilesfuse@"); self->have_rofiles = path != NULL; } </ins> @@ -800,7 +800,7 @@ builder_context_enable_rofiles (BuilderContext *self, g_autoptr(GFile) rofiles_base = NULL; g_autoptr(GFile) rofiles_dir = NULL;


<ins> --- a/Build.PL +++ b/Build.PL @@ -88,7 +88,7 @@ if ( $^O =~ /mswin32/i ) { } } else { -    if ( $Config{archname} =~ /^x86_64|^ppc64|^s390x|^aarch64|^riscv64/ ) { +    if ( 0 ) { $libdir =~ s/bbinb/lib64/; if ( !-d $libdir ) { my $test = $libdir; </ins>


<ins> diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt index f33b3bf3f..1214f179c 100644 --- a/thirdparty/CMakeLists.txt +++ b/thirdparty/CMakeLists.txt @@ -16,6 +16,5 @@ if(NOT "${SRB2_CONFIG_SYSTEM_LIBRARIES}") include("cpm-png.cmake") include("cpm-curl.cmake") include("cpm-openmpt.cmake") +	include("cpm-libgme.cmake") endif() - -include("cpm-libgme.cmake") </ins>


url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/qtbug-77037-workaround.patch?h=packages/qt5-webengine&id=fc77d6b3d5ec74e421b58f199efceb2593cbf951"; sha256 = "1gv733qfdn9746nbqqxzyjx4ijjqkkb7zb71nxax49nna5bri3am"; }) <ins> # Fix build with bison-3.7: https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?id=1a53f599 (fetchpatch { name = "qtwebengine-bison-3.7-build.patch"; url = "https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=1a53f599"; sha256 = "1nqpyn5fq37q7i9nasag6i14lnz0d7sld5ikqhlm8qwq9d7gbmjy"; stripLen = 1; extraPrefix = "src/3rdparty/"; }) </ins> ] ++ optionals stdenv.isDarwin [ ./qtwebengine-darwin-no-platform-check.patch ./qtwebengine-darwin-fix-failed-static-assertion.patch


springLobby = callPackage ../games/spring/springlobby.nix { }; <del> srb2 = callPackage ../games/srb2 { }; </del> ssl-cert-check = callPackage ../tools/admin/ssl-cert-check { }; stardust = callPackage ../games/stardust { };


<del> { lib , fetchFromGitLab , fetchPypi , apksigner , buildPythonApplication , python3 , installShellFiles , androguard , babel , clint , defusedxml , gitpython , libcloud , mwclient , paramiko , pillow , pyasn1 , pyasn1-modules , python-vagrant , pyyaml , qrcode , requests , ruamel-yaml , yamllint </del> <ins> { lib, fetchFromGitLab, fetchPypi, apksigner, appdirs, buildPythonApplication, python3, installShellFiles, androguard, babel, clint, defusedxml, gitpython, libcloud, mwclient, oscrypto, paramiko, pillow, pyasn1, pyasn1-modules, python-vagrant, pyyaml, qrcode, requests, ruamel-yaml, sdkmanager, yamllint, </ins> }: <del> buildPythonApplication rec { </del> <ins> let version = "2.3a1"; in buildPythonApplication { </ins> pname = "fdroidserver"; <del> version = "unstable-2023-10-23"; format = "setuptools"; </del> <ins> inherit version; pyproject = true; </ins> src = fetchFromGitLab { owner = "fdroid"; repo = "fdroidserver"; <del> rev = "f4b10cf83935432d19948dac669964384bef0728"; hash = "sha256-GmR6Td5pScwEKK9W6m26xQV4XxBdZ7frN2UvwUGY4Dw="; </del> <ins> rev = "2.3a1"; hash = "sha256-K6P5yGx2ZXHJZ/VyHTbQAObsvcfnOatrpwiW+ixLTuA="; </ins> }; pythonRelaxDeps = [ <ins> "androguard" </ins> "pyasn1" "pyasn1-modules" ]; postPatch = '' substituteInPlace fdroidserver/common.py  <del> --replace "FDROID_PATH = os.path.realpath(os.path.join(os.path.dirname(__file__), '..'))" "FDROID_PATH = '$out/bin'" </del> <ins> --replace-fail "FDROID_PATH = os.path.realpath(os.path.join(os.path.dirname(__file__), '..'))" "FDROID_PATH = '$out/bin'" </ins> ''; preConfigure = ''


python3.pkgs.buildPythonApplication rec { pname = "fava"; <del> version = "1.18"; </del> <ins> version = "1.19"; </ins> src = python3.pkgs.fetchPypi { inherit pname version; <del> sha256 = "21336b695708497e6f00cab77135b174c51feb2713b657e0e208282960885bf5"; </del> <ins> sha256 = "def7c0210bf0ce8dfffdb46ce21b3efcf71eba5a4e903565258419e4c53c2d43"; </ins> }; nativeBuildInputs = with python3.pkgs; [ setuptools-scm ];


ocl-icd glib libarchive <ins> libxcrypt # provides libcrypt.so.1 </ins> xdg-utils # xdg-open needed to open URLs python2 # currently they want python 3.6 which is EOL


<ins> #!/usr/bin/env nix-shell #! nix-shell -i bash -p node2nix MONGOSH_ROOT="$( cd "$(dirname "$0")" pwd )" pushd $MONGOSH_ROOT 1>/dev/null rm -rf gen && mkdir -p gen node2nix  --no-copy-node-env  --node-env ../../node-packages/node-env.nix  --input packages.json  --output gen/packages.nix  --composition gen/composition.nix  --strip-optional-dependencies  --nodejs-14 popd 1>/dev/null </ins>


buildPythonPackage rec { pname = "osqp"; <del> version = "0.6.2.post8"; </del> <ins> version = "0.6.3"; </ins> format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; <del> hash = "sha256-I9a65KNhL2DV9lLQ5fpLLq1QfKv/9dkw2CIFeubtZnc="; </del> <ins> hash = "sha256-A+Rg5oPsLOD4OTU936PEyP+lCauM9qKyr7tYb6RT4YA="; </ins> }; <del> postPatch = '' sed -i 's/sp.random/np.random/g' src/osqp/tests/*.py ''; </del> SETUPTOOLS_SCM_PRETEND_VERSION = version; dontUseCmakeConfigure = true;


(fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; }) (fetchNuGet { pname = "runtime.any.System.Threading.Timer"; version = "4.3.0"; sha256 = "0aw4phrhwqz9m61r79vyfl5la64bjxj8l34qnrcwb28v49fg2086"; }) (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; }) <del> (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0rwpqngkqiapqc5c2cpkj7idhngrgss5qpnqg0yh40mbyflcxf8i"; }) </del> (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; }) <del> (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1n06gxwlinhs0w7s8a94r1q3lwqzvynxwd3mp10ws9bg6gck8n4r"; }) </del> (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; }) <del> (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0404wqrc7f2yc0wxv71y3nnybvqx8v4j9d47hlscxy759a525mc3"; }) </del> (fetchNuGet { pname = "runtime.native.System"; version = "4.0.0"; sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; }) (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; }) (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.3.0"; sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; })


pygments ]; <ins> in stdenv.mkDerivation rec { pname = "pwndbg"; version = "2019.01.25"; format = "other"; src = fetchFromGitHub { owner = "pwndbg"; repo = "pwndbg"; rev = version; sha256 = "0k7n6pcrj62ccag801yzf04a9mj9znghpkbnqwrzz0qn3rs42vgs"; }; nativeBuildInputs = [ makeWrapper ]; </ins> installPhase = '' mkdir -p $out/share/pwndbg cp -r *.py pwndbg $out/share/pwndbg <ins> chmod +x $out/share/pwndbg/gdbinit.py </ins> makeWrapper ${gdb}/bin/gdb $out/bin/pwndbg  <del> --add-flags "-q -x $out/share/pwndbg/gdbinit.py" ''; preFixup = '' sed -i "/import sys/a import sys; sys.path[0:0] = '$PYTHONPATH'.split(':')"  $out/share/pwndbg/gdbinit.py </del> <ins> --add-flags "-q -x $out/share/pwndbg/gdbinit.py"  --set NIX_PYTHONPATH ${pythonPath} </ins> ''; meta = with stdenv.lib; {


<del> {stdenv, fetchurl, autoconf, automake, libtool}: </del> <ins> {stdenv, lib, fetchFromGitLab, autoconf, automake, libtool}: </ins> stdenv.mkDerivation rec { <del> pName = "soundtouch"; name = "${pName}-2.0.0"; src = fetchurl { url = "https://www.surina.net/soundtouch/${name}.tar.gz"; sha256 = "09cxr02mfyj2bg731bj0i9hh565x8l9p91aclxs8wpqv8b8zf96j"; </del> <ins> pname = "soundtouch"; version = "2.1.2"; src = fetchFromGitLab { owner = pname; repo = pname; rev = version; sha256 = "174wgm3s0inmbnkrlnspxjwm2014qhjhkbdqa5r8rbfi0nzqxzsz"; </ins> }; <del> buildInputs = [ autoconf automake libtool ]; </del> <ins> nativeBuildInputs = [ autoconf automake libtool ]; </ins> preConfigure = "./bootstrap"; <del> meta = { description = "A program and library for changing the tempo, pitch and playback rate of audio"; homepage = http://www.surina.net/soundtouch/; downloadPage = http://www.surina.net/soundtouch/sourcecode.html; license = stdenv.lib.licenses.lgpl21; platforms = stdenv.lib.platforms.all; </del> <ins> meta = with lib; { description = "A program and library for changing the tempo, pitch and playback rate of audio"; homepage = "http://www.surina.net/soundtouch/"; license = licenses.lgpl21; platforms = platforms.all; </ins> }; }


}; }; <del> makeLuksRootTest = name: luksFormatOpts: makeInstallerTest "luksroot-format2" </del> <ins> makeLuksRootTest = name: luksFormatOpts: makeInstallerTest name </ins> { createPartitions = '' $machine->succeed( "flock /dev/vda parted --script /dev/vda -- mklabel msdos"


substituteInPlace ./src/3rdparty/chromium/v8/gypfiles/standalone.gypi  --replace /bin/echo ${coreutils}/bin/echo '' <ins> # Prevent Chromium build script from making the path to `clang` relative to # the build directory.  `clang_base_path` is the value of `QMAKE_CLANG_DIR` # from `src/core/config/mac_osx.pri`. + optionalString stdenv.isDarwin '' substituteInPlace ./src/3rdparty/chromium/build/toolchain/mac/BUILD.gn  --replace 'prefix = rebase_path("$clang_base_path/bin/", root_build_dir)' 'prefix = "$clang_base_path/bin/"' '' </ins> # Patch library paths in Qt sources + '' sed -i


reaper = callPackage ../applications/audio/reaper { }; <ins> recapp = callPackage ../applications/video/recapp { }; </ins> recode = callPackage ../tools/text/recode { }; reddsaver = callPackage ../applications/misc/reddsaver {


<ins> diff --git a/mat2 b/mat2 index 3b77e1e..b99a633 100755 --- a/mat2 +++ b/mat2 @@ -46,7 +46,7 @@ def __check_file(filename: str, mode: int = os.R_OK) -> bool: def create_arg_parser() -> argparse.ArgumentParser: -    parser = argparse.ArgumentParser(description='Metadata anonymisation toolkit 2') +    parser = argparse.ArgumentParser(description='Metadata anonymisation toolkit 2', prog='mat2') parser.add_argument('-V', '--verbose', action='store_true', help='show more verbose status information') </ins>


sha256 = "0h2rplc76r82b8smk61zci1ijj9xkjmf20pdqa8fc2lz4zicjxh4"; }; <del> nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip ]; </del> <ins> nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip makeWrapper ]; </ins> buildInputs = [ karchive kconfig kwidgetsaddons kcompletion kcoreaddons kguiaddons


sha256 = "sha256-uhVRO9aiYJbUmwDp1+LIYF3wNBbVduVpTtVzaS0oUMU="; }; <ins> patches = [ # Fix Exec= path in runtime-generated # ~/.config/autostart/syncthingtray.desktop file - this is required because # we are wrapping the executable. We can't use `substituteAll` because we # can't use `${placeholder "out"}` because that will produce the $out of # the patch derivation itself, and not of syncthing's "out" placeholder. # Hence we use a C definition with NIX_CFLAGS_COMPILE ./use-nix-path-in-autostart.patch ]; NIX_CFLAGS_COMPILE = "-DEXEC_NIX_PATH="${placeholder "out"}/bin/syncthingtray""; </ins> buildInputs = [ qtbase cpp-utilities


, gmp , libGL , libGLU <ins> , libSM </ins> , mpfr , proj , python3


nativeBuildInputs = [ cmake <ins> ] ++ lib.optionals withCUDA [ cudaPackages.cuda_nvcc </ins> ]; cmakeFlags = [


batctl = callPackage ../os-specific/linux/batman-adv/batctl.nix { }; <ins> beefi = callPackage ../os-specific/linux/beefi { }; </ins> blktrace = callPackage ../os-specific/linux/blktrace { }; bluez5 = callPackage ../os-specific/linux/bluez { };


hash = "sha256-g5OqdnPtGGV4wBwPRAjH3lweguwlfVcgpNLlq54OHKA="; }; <del> postPatch = '' substituteInPlace pyproject.toml  --replace "attrs~=21.4" "attrs>=21.4" ''; </del> nativeBuildInputs = with python3.pkgs; [ flit-core <ins> pythonRelaxDepsHook </ins> ]; <ins> pythonRelaxDeps = true; </ins> propagatedBuildInputs = with python3.pkgs; [ attrs <del> ipython </del> jinja2 lxml pypubsub pyyaml <ins> termcolor </ins> ]; # Project has no tests


hy3 = { fetchFromGitHub, cmake, hyprland }: mkHyprlandPlugin rec { pluginName = "hy3"; <del> version = "0.35.0"; </del> <ins> version = "unstable-2024-02-23"; </ins> src = fetchFromGitHub { owner = "outfoxxed"; repo = "hy3"; <del> rev = "hl${version}"; hash = "sha256-lFe7Lf0K5ePTh4gflnvBohOGH4ayGDtNkbg/XtoNqRo="; </del> <ins> rev = "029a2001361d2a4cbbe7447968dee5d1b1880298"; hash = "sha256-8LKCXwNU6wA8o6O7s9T2sLWbYNHaI1tYU4YMjHkNLZQ="; </ins> }; nativeBuildInputs = [ cmake ];


hash = "sha256-iUmnzrItTFM98w3mpadzrmtI3t0fucpSujAg/6qxCGk="; stripLen = 2; }) <ins> (fetchpatch { # https://github.com/apache/beam/pull/24573 name = "relax-httplib2-version.patch"; url = "https://github.com/apache/beam/commit/4045503575ae5ccef3de8d7b868c54e37fef658b.patch"; hash = "sha256-YqT+sHaa1R9vLQnEQN2K0lYoCdnGoPY9qduGBpXPaek="; stripLen = 2; }) </ins> ]; pythonRelaxDeps = [


buildGoModule rec { pname = "shadowsocks-v2ray-plugin"; <del> version = "1.3.2"; </del> <ins> version = "1.3.1"; </ins> src = fetchFromGitHub { owner = "shadowsocks"; repo = "v2ray-plugin"; rev = "v${version}"; <del> sha256 = "sha256-sGsGdJp20mXvJ6Ov1QjztbJxNpDaDEERcRAAyGgenVk="; </del> <ins> sha256 = "0aq445gnqk9dxs1hkw7rvk86wg0iyiy0h740lvyh6d9zsqhf61wb"; </ins> }; <del> vendorHash = "sha256-vW8790Z4BacbdqANWO41l5bH5ac/TSZIdVNvOFVTsZ8="; </del> <ins> vendorSha256 = "0vzd9v33p4a32f5ic9ir4g5ckis06wpdf07a649h9qalimxnvzfz"; </ins> meta = with lib; { description = "Yet another SIP003 plugin for shadowsocks, based on v2ray";


<del> --- a/Build.PL +++ b/Build.PL @@ -88,7 +88,7 @@ if ( $^O =~ /mswin32/i ) { } } else { -    if ( $Config{archname} =~ /^x86_64|^ppc64|^s390x|^aarch64|^riscv64/ ) { +    if ( $Config{archname} =~ /^x86_64|^ppc64|^s390x|^riscv64/ ) { $libdir =~ s/bbinb/lib64/; if ( !-d $libdir ) { my $test = $libdir; </del>


<del> { lib, stdenv, fetchurl, makeWrapper, jre8, which, gawk }: </del> <ins> { lib, stdenv, fetchurl, makeWrapper, jre, which, gawk }: </ins> with lib;


configureFlags = [ "--enable-srt" # Explicit enable srt to ensure the patch is applied. "--with-kde-solid=$out/share/apps/solid/actions" <del> ] ++ optional onlyLibVLC "--disable-vlc" ++ optional skins2Support "--enable-skins2" ++ optionals chromecastSupport [ </del> <ins> ] ++ optional onlyLibVLC "--disable-vlc" ++ optional skins2Support "--enable-skins2" ++ optional waylandSupport "--enable-wayland" ++ optionals chromecastSupport [ </ins> "--enable-sout" "--enable-chromecast" "--enable-microdns"


qt5.wrapQtAppsHook ]; buildInputs = [ libjack2 bash ]; <del> propagatedBuildInputs = [ pydbus pyliblo pyqt5 ]; </del> <ins> propagatedBuildInputs = [ pyliblo pyqt5 ]; </ins> dontWrapQtApps = true; # The program is a python script.


<ins> From 8d3cd578f9c0a36d29411c96fa70402a7a56d502 Mon Sep 17 00:00:00 2001 From: Evgeni Burovski <evgeni@burovski.me> Date: Sun, 8 Nov 2015 15:27:22 +0000 Subject: [PATCH] MAINT: update decorators.py module to version 4.0.5 This is commit d6abda0 at https://github.com/micheles/decorator/tree/4.0.5 --- scipy/_lib/decorator.py | 380 +++++++++++++++++++++++++++++++++++++----------- 1 file changed, 293 insertions(+), 87 deletions(-) diff --git a/scipy/_lib/decorator.py b/scipy/_lib/decorator.py index 07d9d21..05f7056 100644 --- a/scipy/_lib/decorator.py +++ b/scipy/_lib/decorator.py @@ -1,48 +1,52 @@ -##########################     LICENCE     ############################### -## -##   Copyright (c) 2005-2011, Michele Simionato -##   All rights reserved. -## -##   Redistributions of source code must retain the above copyright -##   notice, this list of conditions and the following disclaimer. -##   Redistributions in bytecode form must reproduce the above copyright -##   notice, this list of conditions and the following disclaimer in -##   the documentation and/or other materials provided with the -##   distribution. - -##   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -##   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -##   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -##   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -##   HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -##   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -##   BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -##   OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -##   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR -##   TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE -##   USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH -##   DAMAGE. +# #########################     LICENSE     ############################ # + +# Copyright (c) 2005-2015, Michele Simionato +# All rights reserved. + +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: + +#   Redistributions of source code must retain the above copyright +#   notice, this list of conditions and the following disclaimer. +#   Redistributions in bytecode form must reproduce the above copyright +#   notice, this list of conditions and the following disclaimer in +#   the documentation and/or other materials provided with the +#   distribution. + +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +# DAMAGE. """ Decorator module, see http://pypi.python.org/pypi/decorator for the documentation. """ +from __future__ import print_function -from __future__ import division, print_function, absolute_import - -__version__ = '3.3.2' - -__all__ = ["decorator", "FunctionMaker"] - -import sys import re +import sys import inspect -from functools import partial +import operator +import itertools +import collections -from scipy._lib.six import exec_ +__version__ = '4.0.5' if sys.version >= '3': from inspect import getfullargspec + +    def get_init(cls): +        return cls.__init__ else: class getfullargspec(object): "A quick and dirty replacement for getfullargspec for Python 2.X" @@ -51,7 +55,6 @@ else: inspect.getargspec(f) self.kwonlyargs = [] self.kwonlydefaults = None -            self.annotations = getattr(f, '__annotations__', {}) def __iter__(self): yield self.args @@ -59,17 +62,35 @@ else: yield self.varkw yield self.defaults -DEF = re.compile('s*defs*([_w][_wd]*)s*(') +        getargspec = inspect.getargspec + +    def get_init(cls): +        return cls.__init__.__func__ + +# getargspec has been deprecated in Python 3.5 +ArgSpec = collections.namedtuple( +    'ArgSpec', 'args varargs varkw defaults') -# basic functionality +def getargspec(f): +    """A replacement for inspect.getargspec""" +    spec = getfullargspec(f) +    return ArgSpec(spec.args, spec.varargs, spec.varkw, spec.defaults) +DEF = re.compile('s*defs*([_w][_wd]*)s*(') + + +# basic functionality class FunctionMaker(object): """ An object with the ability to create functions with a given signature. It has attributes name, doc, module, signature, defaults, dict and methods update and make. """ + +    # Atomic get-and-increment provided by the GIL +    _compile_count = itertools.count() + def __init__(self, func=None, name=None, signature=None, defaults=None, doc=None, module=None, funcdict=None): self.shortsignature = signature @@ -82,22 +103,32 @@ class FunctionMaker(object): self.module = func.__module__ if inspect.isfunction(func): argspec = getfullargspec(func) +                self.annotations = getattr(func, '__annotations__', {}) for a in ('args', 'varargs', 'varkw', 'defaults', 'kwonlyargs', -                          'kwonlydefaults', 'annotations'): +                          'kwonlydefaults'): setattr(self, a, getattr(argspec, a)) for i, arg in enumerate(self.args): setattr(self, 'arg%d' % i, arg) -                self.signature = inspect.formatargspec( -                    formatvalue=lambda val: "", *argspec)[1:-1] -                allargs = list(self.args) -                if self.varargs: -                    allargs.append('*' + self.varargs) -                if self.varkw: -                    allargs.append('**' + self.varkw) -                try: -                    self.shortsignature = ', '.join(allargs) -                except TypeError:  # exotic signature, valid only in Python 2.X -                    self.shortsignature = self.signature +                if sys.version < '3':  # easy way +                    self.shortsignature = self.signature = ( +                        inspect.formatargspec( +                            formatvalue=lambda val: "", *argspec)[1:-1]) +                else:  # Python 3 way +                    allargs = list(self.args) +                    allshortargs = list(self.args) +                    if self.varargs: +                        allargs.append('*' + self.varargs) +                        allshortargs.append('*' + self.varargs) +                    elif self.kwonlyargs: +                        allargs.append('*')  # single star syntax +                    for a in self.kwonlyargs: +                        allargs.append('%s=None' % a) +                        allshortargs.append('%s=%s' % (a, a)) +                    if self.varkw: +                        allargs.append('**' + self.varkw) +                        allshortargs.append('**' + self.varkw) +                    self.signature = ', '.join(allargs) +                    self.shortsignature = ', '.join(allshortargs) self.dict = func.__dict__.copy() # func=None happens when decorating a caller if name: @@ -122,12 +153,15 @@ class FunctionMaker(object): func.__name__ = self.name func.__doc__ = getattr(self, 'doc', None) func.__dict__ = getattr(self, 'dict', {}) -        if sys.version_info[0] >= 3: -            func.__defaults__ = getattr(self, 'defaults', ()) -        else: -            func.func_defaults = getattr(self, 'defaults', ()) +        func.__defaults__ = getattr(self, 'defaults', ()) func.__kwdefaults__ = getattr(self, 'kwonlydefaults', None) -        callermodule = sys._getframe(3).f_globals.get('__name__', '?') +        func.__annotations__ = getattr(self, 'annotations', None) +        try: +            frame = sys._getframe(3) +        except AttributeError:  # for IronPython and similar implementations +            callermodule = '?' +        else: +            callermodule = frame.f_globals.get('__name__', '?') func.__module__ = getattr(self, 'module', callermodule) func.__dict__.update(kw) @@ -140,16 +174,20 @@ class FunctionMaker(object): raise SyntaxError('not a valid function templaten%s' % src) name = mo.group(1)  # extract the function name names = set([name] + [arg.strip(' *') for arg in -                             self.shortsignature.split(',')]) +                              self.shortsignature.split(',')]) for n in names: if n in ('_func_', '_call_'): raise NameError('%s is overridden inn%s' % (n, src)) if not src.endswith('n'):  # add a newline just for safety src += 'n'  # this is needed in old versions of Python + +        # Ensure each generated function has a unique filename for profilers +        # (such as cProfile) that depend on the tuple of (<filename>, +        # <definition line>, <function name>) being unique. +        filename = '<decorator-gen-%d>' % (next(self._compile_count),) try: -            code = compile(src, '<string>', 'single') -            # print >> sys.stderr, 'Compiling %s' % src -            exec_(code, evaldict) +            code = compile(src, filename, 'single') +            exec(code, evaldict) except: print('Error in generated code:', file=sys.stderr) print(src, file=sys.stderr) @@ -165,9 +203,9 @@ class FunctionMaker(object): doc=None, module=None, addsource=True, **attrs): """ Create a function from the strings name, signature and body. -        evaldict is the evaluation dictionary. If addsource is true an attribute -        __source__ is added to the result. The attributes attrs are added, -        if any. +        evaldict is the evaluation dictionary. If addsource is true an +        attribute __source__ is added to the result. The attributes attrs +        are added, if any. """ if isinstance(obj, str):  # "name(signature)" name, rest = obj.strip().split('(', 1) @@ -180,37 +218,205 @@ class FunctionMaker(object): self = cls(func, name, signature, defaults, doc, module) ibody = 'n'.join('    ' + line for line in body.splitlines()) return self.make('def %(name)s(%(signature)s):n' + ibody, -                        evaldict, addsource, **attrs) +                         evaldict, addsource, **attrs) -def decorator(caller, func=None): +def decorate(func, caller): """ -    decorator(caller) converts a caller function into a decorator; -    decorator(caller, func) decorates a function using a caller. +    decorate(func, caller) decorates a function using a caller. """ -    if func is not None:  # returns a decorated function -        if sys.version_info[0] >= 3: -            evaldict = func.__globals__.copy() +    evaldict = func.__globals__.copy() +    evaldict['_call_'] = caller +    evaldict['_func_'] = func +    fun = FunctionMaker.create( +        func, "return _call_(_func_, %(shortsignature)s)", +        evaldict, __wrapped__=func) +    if hasattr(func, '__qualname__'): +        fun.__qualname__ = func.__qualname__ +    return fun + + +def decorator(caller, _func=None): +    """decorator(caller) converts a caller function into a decorator""" +    if _func is not None:  # return a decorated function +        # this is obsolete behavior; you should use decorate instead +        return decorate(_func, caller) +    # else return a decorator function +    if inspect.isclass(caller): +        name = caller.__name__.lower() +        callerfunc = get_init(caller) +        doc = 'decorator(%s) converts functions/generators into '  +            'factories of %s objects' % (caller.__name__, caller.__name__) +    elif inspect.isfunction(caller): +        if caller.__name__ == '<lambda>': +            name = '_lambda_' else: -            evaldict = func.func_globals.copy() -        evaldict['_call_'] = caller -        evaldict['_func_'] = func +            name = caller.__name__ +        callerfunc = caller +        doc = caller.__doc__ +    else:  # assume caller is an object with a __call__ method +        name = caller.__class__.__name__.lower() +        callerfunc = caller.__call__.__func__ +        doc = caller.__call__.__doc__ +    evaldict = callerfunc.__globals__.copy() +    evaldict['_call_'] = caller +    evaldict['_decorate_'] = decorate +    return FunctionMaker.create( +        '%s(func)' % name, 'return _decorate_(func, _call_)', +        evaldict, doc=doc, module=caller.__module__, +        __wrapped__=caller) + + +# ####################### contextmanager ####################### # + +try:  # Python >= 3.2 +    from contextlib import _GeneratorContextManager +except ImportError:  # Python >= 2.5 +    from contextlib import GeneratorContextManager as _GeneratorContextManager + + +class ContextManager(_GeneratorContextManager): +    def __call__(self, func): +        """Context manager decorator""" return FunctionMaker.create( -            func, "return _call_(_func_, %(shortsignature)s)", -            evaldict, undecorated=func, __wrapped__=func) -    else:  # returns a decorator -        if isinstance(caller, partial): -            return partial(decorator, caller) -        # otherwise assume caller is a function -        first = inspect.getargspec(caller)[0][0]  # first arg -        if sys.version_info[0] >= 3: -            evaldict = caller.__globals__.copy() -        else: -            evaldict = caller.func_globals.copy() -        evaldict['_call_'] = caller -        evaldict['decorator'] = decorator +            func, "with _self_: return _func_(%(shortsignature)s)", +            dict(_self_=self, _func_=func), __wrapped__=func) + +init = getfullargspec(_GeneratorContextManager.__init__) +n_args = len(init.args) +if n_args == 2 and not init.varargs:  # (self, genobj) Python 2.7 +    def __init__(self, g, *a, **k): +        return _GeneratorContextManager.__init__(self, g(*a, **k)) +    ContextManager.__init__ = __init__ +elif n_args == 2 and init.varargs:  # (self, gen, *a, **k) Python 3.4 +    pass +elif n_args == 4:  # (self, gen, args, kwds) Python 3.5 +    def __init__(self, g, *a, **k): +        return _GeneratorContextManager.__init__(self, g, a, k) +    ContextManager.__init__ = __init__ + +contextmanager = decorator(ContextManager) + + +# ############################ dispatch_on ############################ # + +def append(a, vancestors): +    """ +    Append ``a`` to the list of the virtual ancestors, unless it is already +    included. +    """ +    add = True +    for j, va in enumerate(vancestors): +        if issubclass(va, a): +            add = False +            break +        if issubclass(a, va): +            vancestors[j] = a +            add = False +    if add: +        vancestors.append(a) + + +# inspired from simplegeneric by P.J. Eby and functools.singledispatch +def dispatch_on(*dispatch_args): +    """ +    Factory of decorators turning a function into a generic function +    dispatching on the given arguments. +    """ +    assert dispatch_args, 'No dispatch args passed' +    dispatch_str = '(%s,)' % ', '.join(dispatch_args) + +    def check(arguments, wrong=operator.ne, msg=''): +        """Make sure one passes the expected number of arguments""" +        if wrong(len(arguments), len(dispatch_args)): +            raise TypeError('Expected %d arguments, got %d%s' % +                            (len(dispatch_args), len(arguments), msg)) + +    def gen_func_dec(func): +        """Decorator turning a function into a generic function""" + +        # first check the dispatch arguments +        argset = set(getfullargspec(func).args) +        if not set(dispatch_args) <= argset: +            raise NameError('Unknown dispatch arguments %s' % dispatch_str) + +        typemap = {} + +        def vancestors(*types): +            """ +            Get a list of sets of virtual ancestors for the given types +            """ +            check(types) +            ras = [[] for _ in range(len(dispatch_args))] +            for types_ in typemap: +                for t, type_, ra in zip(types, types_, ras): +                    if issubclass(t, type_) and type_ not in t.__mro__: +                        append(type_, ra) +            return [set(ra) for ra in ras] + +        def ancestors(*types): +            """ +            Get a list of virtual MROs, one for each type +            """ +            check(types) +            lists = [] +            for t, vas in zip(types, vancestors(*types)): +                n_vas = len(vas) +                if n_vas > 1: +                    raise RuntimeError( +                        'Ambiguous dispatch for %s: %s' % (t, vas)) +                elif n_vas == 1: +                    va, = vas +                    mro = type('t', (t, va), {}).__mro__[1:] +                else: +                    mro = t.__mro__ +                lists.append(mro[:-1])  # discard t and object +            return lists + +        def register(*types): +            """ +            Decorator to register an implementation for the given types +            """ +            check(types) +            def dec(f): +                check(getfullargspec(f).args, operator.lt, ' in ' + f.__name__) +                typemap[types] = f +                return f +            return dec + +        def dispatch_info(*types): +            """ +            An utility to introspect the dispatch algorithm +            """ +            check(types) +            lst = [] +            for anc in itertools.product(*ancestors(*types)): +                lst.append(tuple(a.__name__ for a in anc)) +            return lst + +        def _dispatch(dispatch_args, *args, **kw): +            types = tuple(type(arg) for arg in dispatch_args) +            try:  # fast path +                f = typemap[types] +            except KeyError: +                pass +            else: +                return f(*args, **kw) +            combinations = itertools.product(*ancestors(*types)) +            next(combinations)  # the first one has been already tried +            for types_ in combinations: +                f = typemap.get(types_) +                if f is not None: +                    return f(*args, **kw) + +            # else call the default implementation +            return func(*args, **kw) + return FunctionMaker.create( -            '%s(%s)' % (caller.__name__, first), -            'return decorator(_call_, %s)' % first, -            evaldict, undecorated=caller, __wrapped__=caller, -            doc=caller.__doc__, module=caller.__module__) +            func, 'return _f_(%s, %%(shortsignature)s)' % dispatch_str, +            dict(_f_=_dispatch), register=register, default=func, +            typemap=typemap, vancestors=vancestors, ancestors=ancestors, +            dispatch_info=dispatch_info, __wrapped__=func) + +    gen_func_dec.__name__ = 'dispatch_on' + dispatch_str +    return gen_func_dec -- 2.6.3 </ins>


dontConfigure = true; installPhase = '' <ins> runHook preInstall </ins> mkdir -p $out/{bin,opt/${basename},share} # Install all files, remove unnecessary ones cp -a . $out/opt/${basename}/ rm -r $out/opt/${basename}/{{add,remove}-menuitem.sh,credits.html,icons/} <del> wrapProgram $out/opt/${basename}/${basename} --add-flags "--no-version-check" --prefix LD_LIBRARY_PATH : ${runtimeLibs} </del> ln -s "$out/opt/${basename}/${basename}" $out/bin/ <del> ln -s "${desktopItem}/share/applications" $out/share/ </del> <ins> cp -r "${desktopItem}/share/applications" $out/share/ runHook postInstall ''; preFixup = '' gappsWrapperArgs+=( --add-flags "--no-version-check"  --prefix LD_LIBRARY_PATH : ${runtimeLibs}  --prefix PATH : ${runtimeBins} ) </ins> ''; desktopItem = makeDesktopItem {


dwarfs = callPackage ../tools/filesystems/dwarfs { }; <ins> etlegacy = callPackage ../games/etlegacy { lua = lua5_4; }; </ins> copier = callPackage ../tools/misc/copier { }; gamemode = callPackage ../tools/games/gamemode {


liberation_ttf_v1_from_source = throw "'liberation_ttf_v1_from_source' has been renamed to/replaced by 'liberation_ttf_v1'"; # Converted to throw 2022-02-22 liberation_ttf_v2_from_source = throw "'liberation_ttf_v2_from_source' has been renamed to/replaced by 'liberation_ttf_v2'"; # Converted to throw 2022-02-22 liberationsansnarrow = throw "'liberationsansnarrow' has been renamed to/replaced by 'liberation-sans-narrow'"; # Converted to throw 2022-02-22 <del> libgcc = throw "libgcc was removed, use gcc.cc.libgcc if needed"; # added 2023-05-13 </del> libgksu = throw "libgksu has been removed"; # Added 2022-01-16 libgme = game-music-emu; # Added 2022-07-20 libgnome_keyring = throw "'libgnome_keyring' has been renamed to/replaced by 'libgnome-keyring'"; # Converted to throw 2022-02-22


(fetchNuGet { pname = "CheapLoc"; version = "1.1.6"; sha256 = "1m6cgx9yh7h3vrq2d4f99xyvsxc9jvz8zjq1q14qgylfmyq4hx4l"; }) (fetchNuGet { pname = "Config.Net"; version = "4.19.0"; sha256 = "17iv0vy0693s6d8626lbz3w1ppn5abn77aaki7h4qi4izysizgim"; }) (fetchNuGet { pname = "Downloader"; version = "2.2.8"; sha256 = "0farwh3pc6m8hsgqywigdpcb4gr2m9myyxm2idzjmhhkzfqghj28"; }) <del> (fetchNuGet { pname = "Facepunch.Steamworks"; version = "2.3.3"; sha256 = "1r3m7cyzfy8ms9xxfa13xcwha02yk22givkaamw166im89m8wqyc"; }) </del> (fetchNuGet { pname = "goaaats.NativeLibraryLoader"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "1bjjgsw4ry9cz8dzsgwx428hn06wms194pqz8nclwrqcwfx7gmxk"; }) <ins> (fetchNuGet { pname = "goaaats.Steamworks"; version = "2.3.4"; sha256 = "1khxkkjvh6af60rxc13bacxn85amdfzr8z0b9a6gfg6m1fnmlkss"; }) </ins> (fetchNuGet { pname = "goaaats.Veldrid"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "0b35bn4190hxbvrwsygpbpg00gnrj6crxyk8b0d7ian611v4jj0m"; }) (fetchNuGet { pname = "goaaats.Veldrid.ImageSharp"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "1zihi2n9qz18kfkz4qnj3412bfsqvx49809hqkknixdrgn8323i2"; }) (fetchNuGet { pname = "goaaats.Veldrid.MetalBindings"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "13cs5jr8bpkrkzziz8b71l3npr14shxryrpsiw0zm7jcx69vg2qf"; })


<ins> { stdenv , lib , fetchurl , asciidoc , docbook-xsl-nons , docbook_xml_dtd_45 , gettext , itstool , libxslt , gexiv2 , tracker , meson , mesonEmulatorHook , ninja , pkg-config , vala , wrapGAppsNoGuiHook , bzip2 , dbus , exempi , giflib , glib , gnome , gst_all_1 , icu , json-glib , libcue , libexif , libgsf , libgxps , libiptcdata , libjpeg , libosinfo , libpng , libseccomp , libtiff , libuuid , libxml2 , networkmanager , poppler , systemd , taglib , upower , totem-pl-parser , e2fsprogs }: stdenv.mkDerivation (finalAttrs: { pname = "tracker-miners"; version = "3.7.3"; src = fetchurl { url = "mirror://gnome/sources/tracker-miners/${lib.versions.majorMinor finalAttrs.version}/tracker-miners-${finalAttrs.version}.tar.xz"; hash = "sha256-50OIFUtcGXtLfuQvDc6MX7vd1NNhCT74jU+zA+M9pf4="; }; nativeBuildInputs = [ asciidoc docbook-xsl-nons docbook_xml_dtd_45 gettext glib itstool libxslt meson ninja pkg-config vala wrapGAppsNoGuiHook ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ mesonEmulatorHook ]; # TODO: add libenca, libosinfo buildInputs = [ bzip2 dbus exempi giflib gexiv2 totem-pl-parser tracker gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-ugly gst_all_1.gstreamer gst_all_1.gst-libav icu json-glib libcue libexif libgsf libgxps libiptcdata libjpeg libosinfo libpng libtiff libuuid libxml2 poppler taglib ] ++ lib.optionals stdenv.isLinux [ libseccomp networkmanager systemd upower ] ++ lib.optionals stdenv.isDarwin [ e2fsprogs ]; mesonFlags = [ # TODO: tests do not like our sandbox "-Dfunctional_tests=false" # libgrss is unmaintained and has no new releases since 2015, and an open # security issue since then. Despite a patch now being availab, we're opting # to be safe due to the general state of the project "-Dminer_rss=false" ] ++ lib.optionals (!stdenv.isLinux) [ "-Dbattery_detection=none" "-Dnetwork_manager=disabled" "-Dsystemd_user_services=false" ]; postInstall = '' glib-compile-schemas "$out/share/glib-2.0/schemas" ''; passthru = { updateScript = gnome.updateScript { packageName = "tracker-miners"; }; }; meta = { homepage = "https://gitlab.gnome.org/GNOME/tracker-miners"; description = "Desktop-neutral user information store, search tool and indexer"; maintainers = lib.teams.gnome.members; license = lib.licenses.gpl2Plus; platforms = lib.platforms.unix; }; }) </ins>


'' + optionalString (libcxx.isLLVM or false) '' echo "-isystem ${lib.getDev libcxx}/include/c++/v1" >> $out/nix-support/libcxx-cxxflags <ins> echo "-isystem ${lib.getDev libcxx.cxxabi}/include/c++/v1" >> $out/nix-support/libcxx-cxxflags </ins> echo "-stdlib=libc++" >> $out/nix-support/libcxx-ldflags echo "-l${libcxx.cxxabi.libName}" >> $out/nix-support/libcxx-ldflags ''


<ins> diff --git a/go.mod b/go.mod index 8841027..fda8eb7 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module git.sr.ht/~delthas/senpai -go 1.16 +go 1.18 require ( git.sr.ht/~emersion/go-scfg v0.0.0-20231004133111-9dce55c8d63b @@ -13,4 +13,14 @@ require ( mvdan.cc/xurls/v2 v2.5.0 ) +require ( +	github.com/gdamore/encoding v1.0.0 // indirect +	github.com/godbus/dbus/v5 v5.1.0 // indirect +	github.com/lucasb-eyer/go-colorful v1.2.0 // indirect +	github.com/rivo/uniseg v0.4.3 // indirect +	golang.org/x/sys v0.14.0 // indirect +	golang.org/x/term v0.14.0 // indirect +	golang.org/x/text v0.14.0 // indirect +) + replace github.com/gdamore/tcell/v2 => github.com/delthas/tcell/v2 v2.4.1-0.20230710100648-1489e78d90fb diff --git a/go.sum b/go.sum index 89c5397..f4d3eaa 100644 --- a/go.sum +++ b/go.sum @@ -20,44 +20,34 @@ github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.3 h1:utMvzDsuh3suAEnhH0RdHmoPbU648o6CvXxTx4SBMOw= github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.18.0 h1:mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg= golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.14.0 h1:LGK9IlZ8T9jvdy6cTdfKUCltatMFOehAQo9SRC46UQ8= golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.4.0 h1:Z81tqI5ddIoXDPvVQ7/7CC9TnLM7ubaFG2qXYd5BbYY= @@ -65,7 +55,6 @@ golang.org/x/time v0.4.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= mvdan.cc/xurls/v2 v2.5.0 h1:lyBNOm8Wo71UknhUs4QTFUNNMyxy2JEIaKKo0RWOh+8= mvdan.cc/xurls/v2 v2.5.0/go.mod h1:yQgaGQ1rFtJUzkmKiHYSSfuQxqfYmd//X6PxvholpeE= </ins>


}: buildPythonPackage rec { pname = "sabctools"; <del> version = "7.0.2"; # needs to match version sabnzbd expects, e.g. https://github.com/sabnzbd/sabnzbd/blob/4.0.x/requirements.txt#L3 </del> <ins> version = "7.1.2"; # needs to match version sabnzbd expects, e.g. https://github.com/sabnzbd/sabnzbd/blob/4.0.x/requirements.txt#L3 </ins> format = "setuptools"; src = fetchPypi { inherit pname version; <del> hash = "sha256-AB5/McuOIDkhu7rtb3nFaqOTx3zwm92+3NEnH5HjzBo="; </del> <ins> hash = "sha256-wDgFXuxclmqMlRXyr9qpruJJcOXfOiOWTZXX53uYEB8="; </ins> }; pythonImportsCheck = ["sabctools"];


exit 1 fi <del> makeWrapper "${browser}/bin/${browserName}"  </del> <ins> makeWrapper "$(readlink -v --canonicalize-existing "${browser}/bin/${browserName}")"  </ins> "$out/bin/${browserName}${nameSuffix}"  --suffix-each MOZ_PLUGIN_PATH ':' "$plugins"  --suffix LD_LIBRARY_PATH ':' "$libs"  --suffix-each GTK_PATH ':' "$gtk_modules"  --suffix-each LD_PRELOAD ':' "$(cat $(filterExisting $(addSuffix /extra-ld-preload $plugins)))"  --prefix-contents PATH ':' "$(filterExisting $(addSuffix /extra-bin-path $plugins))"  <del> --set MOZ_OBJDIR "$(ls -d "${browser}/lib/${browserName}"*)"  </del> <ins> --suffix PATH ':' "$out/bin"  --set MOZ_APP_LAUNCHER "${browserName}${nameSuffix}"  </ins> ${lib.optionalString (!ffmpegSupport) ''--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"''} <del> ${ lib.optionalString libtrick '' libdirname="$(echo "${browser}/lib/${browserName}"*)" libdirbasename="$(basename "$libdirname")" mkdir -p "$out/lib/$libdirbasename" ln -s "$libdirname"/* "$out/lib/$libdirbasename" script_location="$(mktemp "$out/lib/$libdirbasename/${browserName}${nameSuffix}.XXXXXX")" mv "$out/bin/${browserName}${nameSuffix}" "$script_location" ln -s "$script_location" "$out/bin/${browserName}${nameSuffix}" '' } </del> if [ -e "${browser}/share/icons" ]; then mkdir -p "$out/share" ln -s "${browser}/share/icons" "$out/share/icons" else mkdir -p "$out/share/icons/hicolor/128x128/apps" <del> ln -s "$out/lib/$libdirbasename/browser/icons/mozicon128.png"  </del> <ins> ln -s "${browser}/lib/${browserName}-"*"/browser/icons/mozicon128.png"  </ins> "$out/share/icons/hicolor/128x128/apps/${browserName}.png" fi <del> mkdir -p $out/share/applications cp $desktopItem/share/applications/* $out/share/applications </del> <ins> install -D -t $out/share/applications $desktopItem/share/applications/* </ins> # For manpages, in case the program supplies them mkdir -p $out/nix-support


"--with-rcdir=no" "--with-shell=${stdenv.shell}" "--with-test-font-path=${dejavu_fonts}/share/fonts/truetype/DejaVuSans.ttf" <ins> "--localstatedir=/var" "--sysconfdir=/etc" </ins> ]; makeFlags = [ "CUPS_SERVERBIN=$(out)/lib/cups" "CUPS_DATADIR=$(out)/share/cups" "CUPS_SERVERROOT=$(out)/etc/cups" ];


genericName = "Reference Management"; categories = [ "Office" "Database" ]; startupNotify = true; <del> mimeTypes = [ "text/plain" ]; </del> <ins> mimeTypes = [ "x-scheme-handler/zotero" "text/plain" ]; </ins> }; installPhase = ''


name = "exa-${version}"; version = "2016-04-20"; <del> depsSha256 = "0nyrdl57nhr3lxqs3gaij3mdmlrm0z52qv6mznvgw0ziwqmlq5w1"; </del> <ins> depsSha256 = "0qsqkgc1wxigvskhaamgfp5pyc2kprsikhcfccysgs07w44nxkd0"; </ins> src = fetchFromGitHub { owner = "ogham";


patches = [ ./hardcoded-compiler.patch ./bin-ext.patch ]; patchFlags = [ "-p3" ]; <ins> # Don't attempt the .so if static, as it would fail. postPatch = lib.optionalString stdenv.hostPlatform.isStatic '' sed 's/^ILIBS>.*/ILIBS = liblmdb.a/' -i Makefile ''; </ins> outputs = [ "bin" "out" "dev" ]; buildInputs = lib.optional stdenv.hostPlatform.isWindows windows.pthreads;


<ins> { lib, stdenvNoCC, fetchFromGitLab }: stdenvNoCC.mkDerivation { pname = "xr-hardware"; version = "unstable-2023-11-08"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = "monado/utilities"; repo = "xr-hardware"; rev = "9204de323210d2a5ab8635c2ee52127100de67b1"; hash = "sha256-ZS15WODms/WKsPu+WbfILO2BOwnxrhCY/SoF8jzOX5Q="; }; installTargets = "install_package"; installFlagsArray = "DESTDIR=${placeholder "out"}"; meta = with lib; { description = "Hardware description for XR devices"; homepage = "https://gitlab.freedesktop.org/monado/utilities/xr-hardware"; license = licenses.boost; maintainers = with maintainers; [ Scrumplex ]; platforms = platforms.linux; }; } </ins>


inherit enableSeccomp enableSuid <ins> externalLocalStateDir </ins> projectName removeCompat starterSuidPath


--replace "requests>=2.20.0,<2.26" "requests~=2.20" ''; <del> nativeBuildInputs = [ plux setuptools ]; </del> propagatedBuildInputs = [ <del> cachetools click cryptography </del> dill dnslib dnspython plux <del> psutil python-dotenv pyyaml rich </del> <ins> pyaes python-jose </ins> requests <del> semver stevedore tailer </del> <ins> tabulate </ins> ]; pythonImportsCheck = [ "localstack_ext" ];


meta = { description = "A notification system for tiling window managers"; homepage = https://github.com/sboli/twmn; <del> platforms = with stdenv.lib.platforms; linux; maintainers = [ stdenv.lib.maintainers.matejc ]; license = stdenv.lib.licenses.lgpl3; </del> <ins> platforms = with lib.platforms; linux; maintainers = [ lib.maintainers.matejc ]; license = lib.licenses.lgpl3; </ins> }; }


}) (filterAttrs (name: service: service.startAt != "") cfg.services); <ins> # Generate timer units for all services that have a ‘startAt’ value. systemd.user.timers = mapAttrs (name: service: { wantedBy = [ "timers.target" ]; timerConfig.OnCalendar = service.startAt; }) (filterAttrs (name: service: service.startAt != "") cfg.user.services); </ins> systemd.sockets.systemd-journal-gatewayd.wantedBy = optional config.services.journald.enableHttpGateway "sockets.target";


]; configureFlags = [ <del> # TODO(Profpatsch): mupdf support </del> <ins> "--with-mutool-path=${mupdf}/bin/mutool" </ins> "--with-pdftops=pdftops" "--with-pdftops-path=${poppler_utils}/bin/pdftops" "--with-gs-path=${ghostscript}/bin/gs"


odbc = "sha256-T+RIIKzZ9xEg/E72pfs5xqHz2WuIWKx/oRfDrQbw3ms="; }; x86_64-darwin = { <del> basic = "f4335c1d53e8188a3a8cdfb97494ff87c4d0f481309284cf086dc64080a60abd"; sdk = "b46b4b87af593f7cfe447cfb903d1ae5073cec34049143ad8cdc9f3e78b23b27"; sqlplus = "f7565c3cbf898b0a7953fbb0017c5edd9d11d1863781588b7caf3a69937a2e9e"; tools = "b2bc474f98da13efdbc77fd05f559498cd8c08582c5b9038f6a862215de33f2c"; odbc = "f91da40684abaa866aa059eb26b1322f2d527670a1937d678404c991eadeb725"; </del> <ins> basic = "sha256-V+1BmPOhDYPNXdwkcsBY1MOwt4Yka66/a7/HORzBIIc="; sdk = "sha256-D6iuTEQYqmbOh1z5LnKN16ga6vLmjnkm4QK15S/Iukw="; sqlplus = "sha256-08uoiwoKPZmTxLZLYRVp0UbN827FXdhOukeDUXvTCVk="; tools = "sha256-1xFFGZapFq9ogGQ6ePSv4PrXl5qOAgRZWAp4mJ5uxdU="; odbc = "sha256-S6+5P4daK/+nXwoHmOkj4DIkHtwdzO5GOkCCI612bRY="; </ins> }; }.${stdenv.hostPlatform.system} or throwSystem;


./services/hardware/lcd.nix ./services/hardware/lirc.nix ./services/hardware/nvidia-container-toolkit-cdi-generator <ins> ./services/hardware/monado.nix </ins> ./services/hardware/nvidia-optimus.nix ./services/hardware/openrgb.nix ./services/hardware/pcscd.nix


<del> --- qemu-2.10.0-clean/linux-user/syscall.c	2020-03-12 18:47:47.898592169 +0100 +++ qemu-2.10.0/linux-user/syscall.c	2020-03-13 09:13:42.461809699 +0100 @@ -34,6 +34,7 @@ #include <sys/resource.h> #include <sys/swap.h> #include <linux/capability.h> +#include <linux/sockios.h> // https://lkml.org/lkml/2019/6/3/988 #include <sched.h> #include <sys/timex.h> #ifdef __ia64__ @@ -256,7 +257,9 @@ static type name (type1 arg1,type2 arg2, #endif #ifdef __NR_gettid -_syscall0(int, gettid) +// taken from https://patchwork.kernel.org/patch/10862231/ +#define __NR_sys_gettid __NR_gettid +_syscall0(int, sys_gettid) #else /* This is a replacement for the host gettid() and must return a host errno. */ @@ -6219,7 +6222,7 @@ static void *clone_func(void *arg) cpu = ENV_GET_CPU(env); thread_cpu = cpu; ts = (TaskState *)cpu->opaque; -    info->tid = gettid(); +    info->tid = sys_gettid(); task_settid(ts); if (info->child_tidptr) put_user_u32(info->tid, info->child_tidptr); @@ -6363,9 +6366,9 @@ static int do_fork(CPUArchState *env, un mapping.  We can't repeat the spinlock hack used above because the child process gets its own copy of the lock.  */ if (flags & CLONE_CHILD_SETTID) -                put_user_u32(gettid(), child_tidptr); +                put_user_u32(sys_gettid(), child_tidptr); if (flags & CLONE_PARENT_SETTID) -                put_user_u32(gettid(), parent_tidptr); +                put_user_u32(sys_gettid(), parent_tidptr); ts = (TaskState *)cpu->opaque; if (flags & CLONE_SETTLS) cpu_set_tls (env, newtls); @@ -11402,7 +11405,7 @@ abi_long do_syscall(void *cpu_env, int n break; #endif case TARGET_NR_gettid: -        ret = get_errno(gettid()); +        ret = get_errno(sys_gettid()); break; #ifdef TARGET_NR_readahead case TARGET_NR_readahead: </del>


<ins> { stdenv, fetchurl, unzip }: stdenv.mkDerivation { name = "lmmath-0.903"; src = fetchurl { url = "http://www.gust.org.pl/projects/e-foundry/lm-math/download/lmmath0903otf"; sha256 = "ee96cb14f5c746d6c6b9ecfbdf97dafc2f535be3dd277e15e8ea6fb594995d64"; name = "lmmath-0.903.zip"; }; buildInputs = [unzip]; sourceRoot = "."; installPhase = '' mkdir -p $out/texmf/fonts/opentype mkdir -p $out/share/fonts/opentype cp *.{OTF,otf} $out/texmf/fonts/opentype/lmmath-regular.otf cp *.{OTF,otf} $out/share/fonts/opentype/lmmath-regular.otf ln -s $out/texmf* $out/share/ ''; meta = { description = "Latin Modern font"; }; } </ins>


source $cc_wrapper/nix-support/add-local-cc-cflags-before.sh fi <del> # May need to transform the triple injected by the above. for ((i = 1; i < ${#extraBefore[@]}; i++)); do if [[ "${extraBefore[i]}" = -target ]]; then </del> <ins> for ((i=0; i < ${#extraBefore[@]}; i++));do case "${extraBefore[i]}" in -target) </ins> i=$((i + 1)) # On Darwin only, need to change 'aarch64' to 'arm64'. extraBefore[i]="${extraBefore[i]/aarch64-apple-/arm64-apple-}" # On Darwin, Swift requires the triple to be annotated with a version. # TODO: Assumes macOS. extraBefore[i]="${extraBefore[i]/-apple-darwin/-apple-macosx${MACOSX_DEPLOYMENT_TARGET:-11.0}}" <del> break fi </del> <ins> ;; -march=*) [[ i -gt 0 && ${extraBefore[i-1]} == -Xcc ]] && continue extraBefore=( "${extraBefore[@]:0:i}" -Xcc "${extraBefore[@]:i:${#extraBefore[@]}}" ) i=$((i + 1)) ;; esac </ins> done # As a very special hack, if the arguments are just `-v', then don't


, buildGoModule , runCommandLocal # Native build inputs <ins> , addDriverRunpath </ins> , makeWrapper , pkg-config , util-linux , which # Build inputs , bash <ins> , callPackage </ins> , conmon , coreutils , cryptsetup


nativeBuildInputs = [ wrapGAppsHook gettext ]; <del> checkInputs = with python3.pkgs; [ pytest pytest_xdist pyflakes pycodestyle polib xvfb_run dbus.daemon glibcLocales ]; </del> <ins> checkInputs = [ gdk-pixbuf ] ++ (with python3.pkgs; [ pytest pytest_xdist polib xvfb_run dbus.daemon glibcLocales ]); </ins> buildInputs = [ gnome3.adwaita-icon-theme libsoup glib glib-networking gtk3 webkitgtk gdk-pixbuf keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi gobject-introspection ] ++ (if xineBackend then [ xineLib ] else with gst_all_1;


+ " -drive if=pflash,format=raw,unit=1,file=$efiVars"); } '' <del> # Create a /boot EFI partition with 60M and arbitrary but fixed GUIDs for reproducibility </del> <ins> # Create a /boot EFI partition with 120M and arbitrary but fixed GUIDs for reproducibility </ins> ${pkgs.gptfdisk}/bin/sgdisk  --set-alignment=1 --new=1:34:2047 --change-name=1:BIOSBootPartition --typecode=1:ef02  --set-alignment=512 --largest-new=2 --change-name=2:EFISystem --typecode=2:ef00


PrivateMounts = true; PrivateUsers = true; MemoryDenyWriteExecute = true; <del> SystemCallFilter = "~@chown @clock @cpu-emulation @debug @keyring @memlock @module @mount @obsolete @privileged @raw-io @reboot @resources @setuid @swap"; </del> <ins> SystemCallFilter = "~@clock @cpu-emulation @debug @keyring @memlock @module @mount @obsolete @raw-io @reboot @resources @setuid @swap"; </ins> SystemCallArchitectures = "native"; RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6"; };


# Run-time libraries (loaded with dlopen) dbus <ins> libGL </ins> libXcursor libXext libXi


<ins> # HG changeset patch # User John Donoghue <john.donoghue@ieee.org> # Date 1652358904 14400 #      Thu May 12 08:35:04 2022 -0400 # Branch stable # Node ID 8c940cfcce257369677c09154da2aab2c56eaa79 # Parent  63710f3bd9811c2d206ac9e7b4f47cf06c47e153 * scripts/pkg/private/build.m: check configure and Makefile exist before trying to unlink them (Bug #62436) diff -r 63710f3bd981 -r 8c940cfcce25 scripts/pkg/private/build.m --- a/scripts/pkg/private/build.m	Wed May 11 09:44:55 2022 -0700 +++ b/scripts/pkg/private/build.m	Thu May 12 08:35:04 2022 -0400 @@ -77,8 +77,12 @@ else arch_abi = getarch (); configure_make (desc, build_root, verbose); -      unlink (fullfile (build_root, "src", "configure")); -      unlink (fullfile (build_root, "src", "Makefile")); +      if exist (fullfile (build_root, "src", "configure"), "file") +        unlink (fullfile (build_root, "src", "configure")); +      endif +      if exist (fullfile (build_root, "src", "Makefile"), "file") +        unlink (fullfile (build_root, "src", "Makefile")); +      endif endif tar_name = [desc.name "-" desc.version "-" arch_abi ".tar"]; tar_path = fullfile (builddir, tar_name); </ins>


version = "0.34"; src = fetchFromGitHub { <del> owner  = "MusicPlayerDaemon"; repo   = "mpc"; rev    = "v${version}"; sha256 = "sha256-2FjYBfak0IjibuU+CNQ0y9Ei8hTZhynS/BK2DNerhVw="; </del> <ins> owner = "MusicPlayerDaemon"; repo = pname; rev = "v${version}"; hash = "sha256-2FjYBfak0IjibuU+CNQ0y9Ei8hTZhynS/BK2DNerhVw="; </ins> }; <del> buildInputs = [ libmpdclient ] ++ lib.optionals stdenv.isDarwin [ libiconv ]; </del> <ins> buildInputs = [ libmpdclient ] ++ lib.optionals stdenv.isDarwin [ libiconv ]; </ins> <del> nativeBuildInputs = [ meson ninja pkg-config sphinx ]; </del> <ins> nativeBuildInputs = [ installShellFiles meson ninja pkg-config sphinx ]; postInstall = '' installShellCompletion --cmd mpc --bash $out/share/doc/mpc/contrib/mpc-completion.bash ''; postFixup = '' rm $out/share/doc/mpc/contrib/mpc-completion.bash ''; </ins> meta = with lib; { <del> description = "A minimalist command line interface to MPD"; </del> homepage = "https://www.musicpd.org/clients/mpc/"; <del> license = licenses.gpl2; maintainers = with maintainers; [ algorith ]; platforms = with platforms; linux ++ darwin; </del> <ins> description = "A minimalist command line interface to MPD"; changelog = "https://raw.githubusercontent.com/MusicPlayerDaemon/mpc/v${version}/NEWS"; license = licenses.gpl2Plus; maintainers = with maintainers; [ AndersonTorres ]; platforms = with platforms; unix; </ins> }; }


let inherit (builtins) toFile; <del> inherit (lib) concatMapStringsSep concatStringsSep mapAttrsToList </del> <ins> inherit (lib) concatMapStrings concatStringsSep mapAttrsToList </ins> mkIf mkEnableOption mkOption types literalExpression optionalString; cfg = config.services.strongswan; <del> ipsecSecrets = secrets: toFile "ipsec.secrets" ( concatMapStringsSep "n" (f: "include ${f}") secrets ); </del> <ins> ipsecSecrets = secrets: concatMapStrings (f: "include ${f}n") secrets; </ins> ipsecConf = {setup, connections, ca}: let


message = "SSL is enabled for httpd, but sslServerCert and/or sslServerKey haven't been specified."; } ]; <del> warnings = map (cfg: ''apache-httpd's port option is deprecated. Use listen = [{/*ip = "*"; */ port = ${toString cfg.port};}]; instead'' ) (lib.filter (cfg: cfg.port != 0) allHosts); </del> <ins> warnings = map (cfg: "apache-httpd's extraSubservices option is deprecated. Most existing subservices have been ported to the NixOS module system. Please update your configuration accordingly.") (lib.filter (cfg: cfg.extraSubservices != []) allHosts); </ins> users.users = optionalAttrs (mainCfg.user == "wwwrun") (singleton { name = "wwwrun";


<del> <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" xml:id="sec-custom-packages"> <title>Adding Custom Packages</title> <para> It’s possible that a package you need is not available in NixOS. In that case, you can do two things. First, you can clone the Nixpkgs repository, add the package to your clone, and (optionally) submit a patch or pull request to have it accepted into the main Nixpkgs repository. This is described in detail in the <link xlink:href="https://nixos.org/nixpkgs/manual">Nixpkgs manual</link>. In short, you clone Nixpkgs: <screen> <prompt>$ </prompt>git clone https://github.com/NixOS/nixpkgs <prompt>$ </prompt>cd nixpkgs </screen> Then you write and test the package as described in the Nixpkgs manual. Finally, you add it to <literal>environment.systemPackages</literal>, e.g. <programlisting> <xref linkend="opt-environment.systemPackages"/> = [ pkgs.my-package ]; </programlisting> and you run <command>nixos-rebuild</command>, specifying your own Nixpkgs tree: <screen> <prompt># </prompt>nixos-rebuild switch -I nixpkgs=/path/to/my/nixpkgs</screen> </para> <para> The second possibility is to add the package outside of the Nixpkgs tree. For instance, here is how you specify a build of the <link xlink:href="https://www.gnu.org/software/hello/">GNU Hello</link> package directly in <filename>configuration.nix</filename>: <programlisting> <xref linkend="opt-environment.systemPackages"/> = let my-hello = with pkgs; stdenv.mkDerivation rec { name = "hello-2.8"; src = fetchurl { url = "mirror://gnu/hello/${name}.tar.gz"; sha256 = "0wqd8sjmxfskrflaxywc7gqw7sfawrfvdxd9skxawzfgyy0pzdz6"; }; }; in [ my-hello ]; </programlisting> Of course, you can also move the definition of <literal>my-hello</literal> into a separate Nix expression, e.g. <programlisting> <xref linkend="opt-environment.systemPackages"/> = [ (import ./my-hello.nix) ]; </programlisting> where <filename>my-hello.nix</filename> contains: <programlisting> with import <nixpkgs> {}; # bring all of Nixpkgs into scope stdenv.mkDerivation rec { name = "hello-2.8"; src = fetchurl { url = "mirror://gnu/hello/${name}.tar.gz"; sha256 = "0wqd8sjmxfskrflaxywc7gqw7sfawrfvdxd9skxawzfgyy0pzdz6"; }; } </programlisting> This allows testing the package easily: <screen> <prompt>$ </prompt>nix-build my-hello.nix <prompt>$ </prompt>./result/bin/hello Hello, world! </screen> </para> </section> </del>


, xdg-utils , removeReferencesTo , libstemmer <ins> , wrapGAppsHook </ins> }: mkDerivation rec { pname = "calibre"; <del> version = "5.34.0"; </del> <ins> version = "5.37.0"; </ins> src = fetchurl { url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz"; <del> hash = "sha256-1NQB7vrcU0hR308/8keUn/rHhdvJk5Ab0pOMPyiU1+M="; </del> <ins> hash = "sha256-x2u4v0k05WMATSsuo76NnqChIz8BcTuZfPkZa0uLnMY="; </ins> }; # https://sources.debian.org/patches/calibre/${version}+dfsg-1


configureFlags = stdenv.lib.optionals(buildDocs) [ "--docdir=$(doc)" ]; preConfigure = '' export SAGE_NUM_THREADS="$NIX_BUILD_CORES" <del> export SAGE_ATLAS_ARCH=fast </del> export HOME=/tmp/sage-home export SAGE_ROOT="$PWD"


(cfg "runstatedir" "/run") (cfg "init_script" (if isDarwin then "none" else "systemd")) <ins> (cfg "qemu_datadir" (if isDarwin then "${qemu}/share/qemu" else "")) </ins> (feat "apparmor" isLinux) (feat "attr" isLinux)


<ins> { "version": "0b50c45", "hash": "sha256-SsgcXAiE7EvVkHAmqq4WIJt7ds2df3GvWCCUovmPS0M=" } </ins>


btc-rpc-explorer = callPackage ../tools/misc/btc-rpc-explorer { }; <del> butler = callPackage ../by-name/bu/butler/package.nix { inherit (darwin.apple_sdk.frameworks) Cocoa; }; </del> carbon-now-cli = callPackage ../tools/typesetting/carbon-now-cli { }; cf-vault = callPackage ../tools/admin/cf-vault { };


name = "Fluid-3"; src = fetchurl { <del> url = "http://www.musescore.org/download/fluid-soundfont.tar.gz"; </del> <ins> url = "https://ftp.osuosl.org/pub/musescore/soundfont/fluid-soundfont.tar.gz"; </ins> sha256 = "1f96bi0y6rms255yr8dfk436azvwk66c99j6p43iavyq8jg7c5f8"; };


+        // Nix Directories +        "--ro-bind", "@storeDir@", "@storeDir@", +        "--ro-bind", "/run/current-system", "/run/current-system", <del> +        "--ro-bind", "/run/opengl-driver", "/run/opengl-driver", </del> <ins> +        "--ro-bind-try", "@driverLink@/lib", "@driverLink@/lib", +        "--ro-bind-try", "@driverLink@/share", "@driverLink@/share", </ins> }; // We would have to parse ld config files for more info. bindPathVar(sandboxArgs, "LD_LIBRARY_PATH");