mirror of
https://github.com/CHN-beta/nixos.git
synced 2026-01-12 04:19:22 +08:00
localPackages.winjob: try to fix unix socket binding
This commit is contained in:
33
flake.nix
33
flake.nix
@@ -77,12 +77,26 @@
|
||||
(builtins.attrNames (builtins.readDir ./devices));
|
||||
in
|
||||
{
|
||||
packages =
|
||||
packages = rec
|
||||
{
|
||||
x86_64-linux = rec
|
||||
{
|
||||
pkgs = (import inputs.nixpkgs
|
||||
{ system = "x86_64-linux"; config.allowUnfree = true; overlays = [ inputs.self.overlays.default ]; });
|
||||
{
|
||||
system = "x86_64-linux";
|
||||
config.allowUnfree = true;
|
||||
overlays = [ inputs.self.overlays.default ];
|
||||
crossOverlays = [(final: prev:
|
||||
{
|
||||
boost = prev.boost.override { zstd = null; };
|
||||
magic-enum = prev.magic-enum.overrideAttrs (prev: { cmakeFlags = prev.cmakeFlags ++
|
||||
[ "-DMAGIC_ENUM_OPT_BUILD_EXAMPLES=OFF" "-DMAGIC_ENUM_OPT_BUILD_TESTS=OFF" ]; });
|
||||
range-v3 = prev.range-v3.overrideAttrs (prev: { cmakeFlags = prev.cmakeFlags ++
|
||||
[ "-DRANGE_V3_DOCS=OFF" "-DRANGE_V3_TESTS=OFF" "-DRANGE_V3_EXAMPLES=OFF" ]; });
|
||||
abseil-cpp = prev.abseil-cpp.overrideAttrs (prev: { buildInputs = prev.buildInputs ++
|
||||
[ final.windows.pthreads ]; });
|
||||
})];
|
||||
});
|
||||
default = inputs.nixpkgs.legacyPackages.x86_64-linux.writeText "systems"
|
||||
(builtins.concatStringsSep "\n" (builtins.map
|
||||
(system: builtins.toString inputs.self.outputs.nixosConfigurations.${system}.config.system.build.toplevel)
|
||||
@@ -108,19 +122,8 @@
|
||||
);
|
||||
x86_64-w64-mingw32 = rec
|
||||
{
|
||||
pkgs = (import inputs.nixpkgs
|
||||
{
|
||||
crossSystem = inputs.nixpkgs.lib.systems.examples.mingwW64 // { isStatic = true; };
|
||||
system = "x86_64-linux";
|
||||
config.allowUnfree = true;
|
||||
overlays = [ inputs.self.overlays.default ];
|
||||
});
|
||||
boost = pkgs.boost.override { zstd = null; };
|
||||
magic-enum = pkgs.magic-enum.overrideAttrs (prev: { cmakeFlags = prev.cmakeFlags ++
|
||||
[ "-DMAGIC_ENUM_OPT_BUILD_EXAMPLES=OFF" "-DMAGIC_ENUM_OPT_BUILD_TESTS=OFF" ]; });
|
||||
range-v3 = pkgs.range-v3.overrideAttrs (prev: { cmakeFlags = prev.cmakeFlags ++
|
||||
[ "-DRANGE_V3_DOCS=OFF" "-DRANGE_V3_TESTS=OFF" "-DRANGE_V3_EXAMPLES=OFF" ]; });
|
||||
winjob = pkgs.localPackages.winjob.override { inherit boost; };
|
||||
pkgs = x86_64-linux.pkgs.pkgsCross.mingwW64;
|
||||
winjob = pkgs.localPackages.winjob;
|
||||
};
|
||||
};
|
||||
nixosConfigurations =
|
||||
|
||||
@@ -13,8 +13,6 @@ endif()
|
||||
set(WINJOB_VERSION "unknown" CACHE STRING "Version of the winjob")
|
||||
|
||||
find_package(Boost REQUIRED COMPONENTS headers filesystem)
|
||||
find_package(protobuf REQUIRED)
|
||||
find_package(gRPC REQUIRED)
|
||||
|
||||
add_executable(winjob src/winjob.cpp src/windows.cpp)
|
||||
# target_compile_features(winjob PRIVATE cxx_std_26)
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
stdenv, cmake, pkg-config, version ? null, lib,
|
||||
boost, grpc
|
||||
boost
|
||||
}: stdenv.mkDerivation
|
||||
{
|
||||
name = "winjob";
|
||||
src = ./.;
|
||||
buildInputs = [ boost grpc ];
|
||||
buildInputs = [ boost ];
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
cmakeFlags = lib.optionals (version != null) [ "-DWINJOB_VERSION=${version}" ];
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ int main()
|
||||
{
|
||||
boost::asio::io_context io_context;
|
||||
boost::asio::local::stream_protocol::endpoint ep("winjobd.sock");
|
||||
boost::asio::local::stream_protocol::acceptor acceptor(io_context, ep);
|
||||
boost::asio::local::stream_protocol::acceptor acceptor(io_context, ep, false);
|
||||
std::function<void(const boost::system::error_code&, boost::asio::local::stream_protocol::socket)> func =
|
||||
[&](const boost::system::error_code& ec, boost::asio::local::stream_protocol::socket socket)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user