jiebi/CodeConvo huggingface dataset:
Change:
Service fails if an address is already assigned to an interface. an IP address to an interface the same IP address to the nixos configuration to the new configuration and start the service The service should skip addresses that are already assigned and finish with success. There is a check in the script run by the service (generated ): It checks presence of File exists in the output. This likely matches the message , that was there sometimes earlier. Now the error generated by is different: I got this error message both on 20.09 and nixos-unstable. If I replace File exists with address already assigned in the script, it works as expected. Note: If IP addresses are managed only by nixos, it works correctly. They are deleted when service is stopped. The problem is only present when there is an address that was manually or by non-nixos script. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
Ah, great detective work! Perhaps it would be better to run and then . Relying on the error message literal text is not a good idea. What do you think?
I also don't like relying on the error message. There is , that looks better than add+del. No info in man page, better description is on . I see one downside - if there is additional configuration associated with IP address, it will likely remove it. More complex solution is to pre-check if address is already assigned, something like I'm not sure if there are some corner cases with this check, so I would probably stick with less complex .
Nice, it says it doesn't fail if the address already exists, so it would dispense the error checking part. Yeah, it could mess with SIIT tunnels and services already bound to that address. The only advantage of del+add is that it would reset the lifetime and the flags (mngtmpaddr, nodad, etc.), so the final state is always consistent. However, I just checked and replace does this as well, so it seems perfect for our use case. Can you make a PR?
Has this regressed in some way in 24.05? I have extra addresses configured on and it now fails due this issue because 127.0.0.1 seems to be configured before runs. But it did work before I updated to 24.05.
I'm also experiencing this after updating to 24.05. On some of my systems I'm setting kernel options to setup an interface initially (for remote unlocking of zfs datasets) and since updating to 24.05 the interface service fails to start because this address is already there.
Does fix the issue for you?
I've monkey-patched the change from into my configuration and that fixes it, yes.
You can track the progress here for and .

Discussion:
'' echo "${cidr}" >> $state echo -n "adding address ${cidr}... " <del> if out=$(ip addr add "${cidr}" dev "${i.name}" 2>&1); then </del> <ins> if out=$(ip addr replace "${cidr}" dev "${i.name}" 2>&1); then </ins> echo "done" <del> elif ! echo "$out" | grep "File exists" >/dev/null 2>&1; then echo "'ip addr add "${cidr}" dev "${i.name}"' failed: $out" </del> <ins> else echo "'ip addr replace "${cidr}" dev "${i.name}"' failed: $out" </ins> exit 1 fi ''
Change:
Steps to reproduce the behavior: localstack (from unstable) (version 3.2.0) localstack 2.3.0 works and so does (tagged because you bumped the version) (the channel is slightly messed up. I am using 23.11 but with flakes) Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
The new version requires too many dependencies to package up in a reasonable time frame and even includes circular ones. contains a revert to 3.0.0 which builds for me and shows the usage. Can you take a look if that works for you?
Sorry for the delay! Yes, the revert works well for me! Thank you!

Discussion:
{ lib , buildPythonPackage , fetchPypi <del> # build-system , setuptools , plux # dependencies , cachetools , click , cryptography </del> , dill , dnslib , dnspython <del> , psutil , python-dotenv , pyyaml </del> <ins> , plux , pyaes , python-jose </ins> , requests <del> , rich , semver , stevedore , tailer </del> <ins> , tabulate </ins> # Sensitive downstream dependencies , localstack

buildPythonPackage rec { pname = "localstack-ext"; <del> version = "3.2.0"; pyproject = true; </del> <ins> version = "2.3.2"; format = "setuptools"; </ins> src = fetchPypi { inherit pname version; <del> hash = "sha256-53pbt7kNaYQRsLb+OI8gLwR3cBE18ZKLZmG4aP1/93E="; </del> <ins> hash = "sha256-Ex5ZPlteDaiyex90QumucVdTTbpp9uWiBrvw1kMr++8="; </ins> }; postPatch = ''

--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" ];

{ lib , buildPythonPackage , fetchFromGitHub <del> , setuptools </del> , apispec , boto3 , cachetools

buildPythonPackage rec { pname = "localstack"; <del> version = "3.2.0"; pyproject = true; </del> <ins> version = "3.0.0"; format = "setuptools"; </ins> src = fetchFromGitHub { owner = "localstack"; repo = "localstack"; rev = "refs/tags/v${version}"; <del> hash = "sha256-r0KRPtsLr6Pyn/va93reLdHHKtiOLB1uflAJ2L/uZmU="; </del> <ins> hash = "sha256-N/Mc1bubCcq38VxUqkO9LGG25pEetEyJ+VJMdg/7hrU="; </ins> }; postPatch = ''

--replace "boto3>=1.20,<1.25.0" "boto3~=1.20" ''; <del> nativeBuildInputs = [ setuptools ]; </del> propagatedBuildInputs = [ apispec boto3
Change:
Package name: stm32cubemx Latest released version: 6.11.1 <!-- Search your package here: --- Current version on the unstable channel: 6.10.0 Current version on the stable/release channel: 6.9.2 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. --Note for maintainers: Please tag this issue in your PR. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:

Discussion:
iconame = "STM32CubeMX"; package = stdenvNoCC.mkDerivation rec { pname = "stm32cubemx"; <del> version = "6.10.0"; </del> <ins> version = "6.11.1"; </ins> src = fetchzip { url = "https://sw-center.st.com/packs/resource/library/stm32cube_mx_v${builtins.replaceStrings ["."] [""] version}-lin.zip"; <del> sha256 = "sha256-B5Sf+zM7h9BiFqDYrLS0JdqZi3dGy6H9gAaJIN3izeM="; </del> <ins> hash = "sha256-By9T43GLM1J63TkRi3kl05h1RflBorU1QHgYOrXQ9N0="; </ins> stripRoot = false; };

}; in buildFHSEnv { <del> inherit (package) pname meta; </del> <ins> inherit (package) pname version meta; </ins> runScript = "${package.outPath}/bin/stm32cubemx"; targetPkgs = pkgs: with pkgs; [
Change:
The latest (nixos unstable) build of protonup-qt (2.9.2) is broken: Steps to reproduce the behavior: to the starts without errors or crashes Please run and paste the result. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
I have protonup-qt 2.9.2 installed on stable 24.05, and it fails to start. Which version of nixos should this be working on?

Discussion:
--replace 'Icon=net.davidotek.pupgui2' 'Icon=${pname}' ''; <ins> extraPkgs = pkgs: with pkgs; [ zstd ]; </ins> meta = with lib; { homepage = "https://davidotek.github.io/protonup-qt/"; description = "Install and manage Proton-GE and Luxtorpeda for Steam and Wine-GE for Lutris with this graphical user interface.";
Change:
Steps to reproduce the behavior: n8n (from ) Bisected to . Would be fixed by , but that's now closed due to marsam's departure from the community; filing this issue to avoid the breakage getting lost. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. -- Please run and paste the result. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:

Discussion:
nativeBuildInputs = [ pkgs.nodePackages.node-pre-gyp pkgs.which <ins> pkgs.xcbuild </ins> ]; buildInputs = [

# makes libmongocrypt bindings not look for static libraries in completely wrong places BUILD_TYPE = "dynamic"; <ins> # Disable NAPI_EXPERIMENTAL to allow to build with Node.js≥18.20.0. NIX_CFLAGS_COMPILE = "-DNODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT"; </ins> dontNpmInstall = true; passthru = {
Change:
Steps to reproduce the behavior: This package is working in 23.11 I'm using as a stopgap measure. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --Please run and paste the result. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
please test

Discussion:
{ lib, python3Packages, fetchPypi, installShellFiles }: <del> python3Packages.buildPythonApplication rec { </del> <ins> let </ins> pname = "tmuxp"; version = "1.46.0"; <ins> hash = "sha256-+aXpsB4mjw9sZLalv3knW8okP+mh2P/nbZCiCwa3UBU="; in python3Packages.buildPythonApplication { inherit pname version; </ins> pyproject = true; src = fetchPypi { <del> inherit pname version; hash = "sha256-+aXpsB4mjw9sZLalv3knW8okP+mh2P/nbZCiCwa3UBU="; </del> <ins> inherit pname version hash; </ins> }; nativeBuildInputs = [

propagatedBuildInputs = with python3Packages; [ colorama libtmux <ins> pyyaml </ins> ]; # No tests in archive

--zsh <(shtab --shell=zsh -u tmuxp.cli.create_parser) ''; <del> meta = with lib; { </del> <ins> meta = { </ins> description = "tmux session manager"; homepage = "https://tmuxp.git-pull.com/"; changelog = "https://github.com/tmux-python/tmuxp/raw/v${version}/CHANGES"; <del> license = licenses.mit; maintainers = with maintainers; [ peterhoeg otavio ]; </del> <ins> license = lib.licenses.mit; maintainers = with lib.maintainers; [ otavio ]; </ins> mainProgram = "tmuxp"; }; }
Change:
Install fdr, run fdr4 System: (NixOS: , Ubuntu/Fedora: , ...) Nix version: 18.03pre118366. (Impala) version: 18.03pre118366. Sandboxing enabled: yes

Discussion:
{stdenv, fetchurl, qtbase, qtx11extras, ncurses, xorg, zlib, python27Packages}: stdenv.mkDerivation { <del> name = "fdr-4.2.0"; </del> <ins> name = "fdr-4.2.3"; </ins> src = fetchurl { <del> url = https://www.cs.ox.ac.uk/projects/fdr/downloads/fdr-3754-linux-x86_64.tar.gz; sha256 = "d24492485db9b8b95c62c53a6396094f836ee079cfc743688a397503c3ec9bf8"; </del> <ins> url = https://www.cs.ox.ac.uk/projects/fdr/downloads/fdr-3789-linux-x86_64.tar.gz; sha256 = "0n2yqichym5xdawlgk3r7yha88k7ycnx6585jfrcm7043sls1i88"; </ins> }; libPath = stdenv.lib.makeLibraryPath [

cp -r * "$out" # Hack around lack of libtinfo in NixOS ln -s ${ncurses.out}/lib/libncursesw.so.6 $out/lib/libtinfo.so.5 <del> ln -s ${qtbase.out}/$qtPluginPrefix $out/lib/qt_plugins </del> <ins> ln -s ${qtbase.bin}/${qtbase.qtPluginPrefix} $out/lib/qt_plugins </ins> ln -s ${zlib.out}/lib/libz.so.1 $out/lib/libz.so.1 for b in fdr4 _fdr4 refines _refines cspmprofiler cspmexplorerprof
Change:
Hi, Notepadqq 1.2.0 is out, I have tried to bump the version in the , along with the git revision hash, of course, so that I could start a pull request, but the build failed (i.e. running from within the notepadqq subdirectory of this repo) with the error: Thanks for your time
Go to the root of the repo, and execute .
Worked. Forget my deleted comment, I forgot to update the hash. I'll file that pull request.

Discussion:
<del> { stdenv, fetchgit, pkgconfig, which, qtbase, qtsvg, qttools, qtwebkit }: </del> <ins> { stdenv, fetchgit, pkgconfig, which, qtbase, qtsvg, qttools, qtwebkit}: </ins> let <del> version = "0.53.0"; </del> <ins> version = "1.2.0"; </ins> in stdenv.mkDerivation { name = "notepadqq-${version}"; src = fetchgit { url = "https://github.com/notepadqq/notepadqq.git"; <del> rev = "3b0751277fb268ec72b466b37d0f0977c536bc1b"; sha256 = "0hw94mn2xg2r58afvz1xg990jinv9aa33942zgwq54qwj61r93hi"; </del> <ins> rev = "ab074d30e02d49e0fe6957c1523e7fed239aff7d"; sha256 = "0j8vqsdw314qpk5lrgccm9n7gbyr14ac3s65sl1qn87pxhrz1hpg"; </ins> fetchSubmodules = true; };
Change:
Project description Tiling window manager for the wayland compositor, inspired by and Metadata homepage URL: source URL: license: gpl3 platforms: linux Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
Adds master/stack layouts with support for wide/ultrawide monitors.

Discussion:
<ins> { stdenv, fetchFromGitHub, lib, wayland, wayland-scanner, pkg-config, }: stdenv.mkDerivation (finalAttrs: { pname = "wideriver"; version = "1.1.0"; src = fetchFromGitHub { owner = "alex-courtis"; repo = "wideriver"; rev = "refs/tags/${finalAttrs.version}"; hash = "sha256-Jn3DfflDlMSZMlSRBfzQeEUKgYLctd/PiQRWH8uwtlU="; }; nativeBuildInputs = [ pkg-config wayland-scanner ]; buildInputs = [ wayland ]; installFlags = [ "PREFIX=$(out)" ]; meta = { description = "Tiling window manager for the river wayland compositor, inspired by dwm and xmonad"; homepage = "https://github.com/alex-courtis/wideriver"; license = lib.licenses.gpl3Only; mainProgram = "wideriver"; platforms = lib.platforms.linux; maintainers = with lib.maintainers; [ clebs ]; }; }) </ins>
Change:
Steps to reproduce the behavior: diffoscope These tests are failing Full build log at I haven't done a git bisect yet, but it built fine on and is now failing on at commit <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. -- Please run and paste the result. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
fails on as well fwiw bisected to

Discussion:
, python3 , qemu , R <del> , radare2 </del> , sng , sqlite , squashfsTools

, writeScript }: <ins> let python = python3.override { packageOverrides = final: prev: { # version 4 or newer would log the followng error but tests currently don't fail because radare2 is disabled # ValueError: argument TNULL is not a TLSH hex string tlsh = prev.tlsh.overridePythonAttrs ({ src, ... }: let version = "3.19.1"; in { inherit version; src = src.override { rev = version; hash = "sha256-ZYEjT/yShfA4+zpbGOtaFOx1nSSOWPtMvskPhHv3c9U="; }; }); }; }; in </ins> # Note: when upgrading this package, please run the list-missing-tools.sh script as described below! <del> python3.pkgs.buildPythonApplication rec { </del> <ins> python.pkgs.buildPythonApplication rec { </ins> pname = "diffoscope"; version = "265";

# docx2txt <- makes tests broken: # > FAILED tests/comparators/test_docx.py::test_diff - IndexError: list index out of range # > FAILED tests/comparators/test_docx.py::test_compare_non_existing - AssertionError <ins> # radare2 # > FAILED tests/comparators/test_elf_decompiler.py::test_ghidra_diff - IndexError: list index out of range # > FAILED tests/comparators/test_elf_decompiler.py::test_radare2_diff - AssertionError # > FAILED tests/comparators/test_macho_decompiler.py::test_ghidra_diff - assert 0 == 1 # > FAILED tests/comparators/test_macho_decompiler.py::test_radare2_diff - AssertionError </ins> # # We filter automatically all packages for the host platform (some dependencies are not supported on Darwin, aarch64, etc.). pythonPath = lib.filter (lib.meta.availableOn stdenv.hostPlatform) ([

zip zstd ] <del> ++ (with python3.pkgs; [ </del> <ins> ++ (with python.pkgs; [ </ins> argcomplete debian defusedxml

procyon qemu R <del> radare2 </del> tcpdump ubootTools wabt xmlbeans ] <del> ++ (with python3.pkgs; [ </del> <ins> ++ (with python.pkgs; [ </ins> androguard binwalk guestfs

++ lib.optionals (stdenv.hostPlatform.system != "aarch64-darwin") [ gnumeric ] )); <del> nativeCheckInputs = with python3.pkgs; [ </del> <ins> nativeCheckInputs = with python.pkgs; [ </ins> pytestCheckHook ] ++ pythonPath;
Change:
Package name: Latest released version: 0.9.6 <!-- Search your package here: --- Current version on the unstable channel: 0.9.5 Current version on the stable/release channel: N/A <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. --Note for maintainers: Please tag this issue in your PR. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
This should be 9.5.0 -9.6.0 right?
Yes, off course. In Flatpak version is updated to 0.9.6 version number.
Thanks for your hard work, everyone

Discussion:
stdenv.mkDerivation (finalAttrs: { pname = "lunacy"; <del> version = "9.5.0"; </del> <ins> version = "9.6.0"; </ins> src = fetchurl { url = "https://lcdn.icons8.com/setup/Lunacy_${finalAttrs.version}.deb"; <del> hash = "sha256-dG2xLoqRQJsaR7v00iN46GP4jB8WVrxayn2CSQLCUlQ="; </del> <ins> hash = "sha256-PvQGDUC9BsIql4xMM1OH45gq3YtJMKJcYg4N2o18hno="; </ins> }; unpackCmd = ''
Change:
Project description Local only version of detexify. Drawings to LaTeX command converter. Metadata homepage URL: source URL: license: GPL 3.0 platforms: linux Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:

Discussion:
<ins> { lib, stdenv, fetchFromGitHub, rustPlatform, cargo, rustc, meson, ninja, pkg-config, wrapGAppsHook4, desktop-file-utils, glib, gtk4, libadwaita, }: stdenv.mkDerivation (finalAttrs: { pname = "hieroglyphic"; version = "1.0.1"; # Note: 1.1.0 requires a higher gtk4 version. This requirement could be patched out. src = fetchFromGitHub { owner = "FineFindus"; repo = "Hieroglyphic"; rev = "refs/tags/v${finalAttrs.version}"; hash = "sha256-Twx3yM71xn2FT3CbiFGbo2knGvb4MBl6VwjWlbjfks0="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit (finalAttrs) src; name = "${finalAttrs.pname}-${finalAttrs.version}"; hash = "sha256-Se/YCi0e+Uoh5guDteLRXZYyk7et0NA8cv+vNpLxzx4="; }; nativeBuildInputs = [ rustPlatform.cargoSetupHook cargo rustc meson ninja pkg-config wrapGAppsHook4 desktop-file-utils ]; buildInputs = [ glib gtk4 libadwaita ]; meta = { changelog = "https://github.com/FineFindus/Hieroglyphic/releases/tag/v${finalAttrs.version}"; description = "A tool based on detexify for finding LaTeX symbols from drawings"; homepage = "https://apps.gnome.org/en/Hieroglyphic/"; license = lib.licenses.gpl3Only; mainProgram = "hieroglyphic"; maintainers = with lib.maintainers; [ tomasajt ]; platforms = lib.platforms.linux ++ lib.platforms.darwin; }; }) </ins>
Change:
powerpipe Dynamically query your cloud, code, logs & more with SQL This project is related to the already packaged steampipe project. steampipe will be split up in 3 projects: steampipe powerpipe flowpipe This issue tracks integrating powerpipe Metadata platforms: linux, darwin, arch: amd64, arm64 Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:

Discussion:
github = "wegank"; githubId = 9713184; }; <ins> weitzj = { name = "Jan Weitz"; email = "nixpkgs@janweitz.de"; github = "weitzj"; githubId = 829277; }; </ins> welteki = { email = "welteki@pm.me"; github = "welteki";

<ins> { buildGoModule, fetchFromGitHub, installShellFiles, lib, makeWrapper, nix-update-script, powerpipe, testers, }: buildGoModule rec { pname = "powerpipe"; version = "0.2.0"; src = fetchFromGitHub { owner = "turbot"; repo = "powerpipe"; rev = "refs/tags/v${version}"; hash = "sha256-UvtPtH68Y1hY+3GeVJVgW/za+c568A9th8boSAnhw1A="; }; vendorHash = "sha256-vX7V2iGu1Jlv+OlCa/TRNTql+1H9kPl92zQVwI1e9sU="; proxyVendor = true; nativeBuildInputs = [ installShellFiles makeWrapper ]; ldflags = [ "-s" "-w" "-X main.version=${version}" ]; doCheck = true; checkFlags = let skippedTests = [ # test fails in the original github.com/turbot/powerpipe project as well "TestGetAsSnapshotPropertyMap/card" ]; in [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ]; postInstall = '' wrapProgram $out/bin/powerpipe  --set-default POWERPIPE_UPDATE_CHECK false  --set-default POWERPIPE_TELEMETRY none ''; passthru = { tests.version = testers.testVersion { command = "${lib.getExe powerpipe} --version"; package = powerpipe; version = "v${version}"; }; updateScript = nix-update-script { }; }; meta = { changelog = "https://github.com/turbot/powerpipe/blob/v${version}/CHANGELOG.md"; description = "Dynamically query your cloud, code, logs & more with SQL"; homepage = "https://powerpipe.io/"; license = lib.licenses.agpl3Only; mainProgram = "powerpipe"; maintainers = with lib.maintainers; [ weitzj ]; }; } </ins>
Change:
Package name: surrealdb Latest released version: 1.4.2 <!-- Search your package here: --- Current version on the unstable channel: 1.3.1 Current version on the stable/release channel: 1.0.0 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. --Note for maintainers: Please tag this issue in your PR. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
Where have you seen that the latest surrealdb release is 2.0.4 ? Latest on github is 1.4.2
Wow, I'm sorry, mixed up surrealist and surrealdb. Will update my request accordingly.
If you know how to make the update PR, im happy to help you get it merged. Unfortunately i dont have a place to work with a laptop at the moment so it will be hard to make the PR myself.
I wasn't really sure how to make the update PR. Is there a guide for it anywhere, as i could not find one. I would be happy to make them in the future.

Discussion:
in rustPlatform.buildRustPackage rec { pname = "surrealdb"; <del> version = "1.3.1"; </del> <ins> version = "1.4.2"; </ins> src = fetchFromGitHub { owner = "surrealdb"; repo = "surrealdb"; rev = "v${version}"; <del> hash = "sha256-dnfgU7nTX3vvqN9Mox6USRfpFdEI/dAOKIVZ2Jd4t9o="; </del> <ins> hash = "sha256-LC/T+TkHdZ0uWaVQpR2Q9l0fShPL871rOfxxsXyJnvw="; </ins> }; <del> cargoHash = "sha256-B+x+xEcwHqoYMolAuMQzSiO/QA1FiBGO3eis9kgN1S4="; </del> <ins> cargoHash = "sha256-1/l++iXiPCIwAVE8VQCSS++/9i3Kh1RNq3WnUjRy2fU="; </ins> # error: linker `aarch64-linux-gnu-gcc` not found postPatch = ''

ROCKSDB_INCLUDE_DIR = "${rocksdb}/include"; ROCKSDB_LIB_DIR = "${rocksdb}/lib"; <ins> RUSTFLAGS = "--cfg surrealdb_unstable"; </ins> nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook