moosicbox_server 0.1.1

MoosicBox server package
let
  pkgs = import <nixpkgs> {
    config = { };
    overlays = [ ];
  };
in

pkgs.mkShellNoCC {
  packages = with pkgs; [
    pkg-config
    gnumake
    llvmPackages.libclang
    glibc.dev
    sqlite
    gcc
    libiconv
    autoconf
    automake
    libtool
    cmake
    openssl
    alsa-lib
    alsa-lib.dev
  ];

  shellHook = ''
    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${pkgs.lib.makeLibraryPath [ pkgs.alsa-lib ]}"
    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${pkgs.lib.makeLibraryPath [ pkgs.llvmPackages.libclang ]}"
    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${pkgs.lib.makeLibraryPath [ pkgs.sqlite ]}"
    export LIBCLANG_PATH="${pkgs.lib.makeLibraryPath [ pkgs.llvmPackages.libclang ]}"
    export CPLUS_INCLUDE_PATH="${pkgs.glibc.dev}/include";

    export BINDGEN_EXTRA_CLANG_ARGS="$(< ${pkgs.stdenv.cc}/nix-support/libc-crt1-cflags) \
          $(< ${pkgs.stdenv.cc}/nix-support/libc-cflags) \
          $(< ${pkgs.stdenv.cc}/nix-support/cc-cflags) \
          $(< ${pkgs.stdenv.cc}/nix-support/libcxx-cxxflags) \
          ${
            pkgs.lib.optionalString pkgs.stdenv.cc.isClang
            "-idirafter ${pkgs.stdenv.cc.cc}/lib/clang/${
              pkgs.lib.getVersion pkgs.stdenv.cc.cc
            }/include"
          } \
          ${
            pkgs.lib.optionalString pkgs.stdenv.cc.isGNU
            "-isystem ${pkgs.stdenv.cc.cc}/include/c++/${
              pkgs.lib.getVersion pkgs.stdenv.cc.cc
            } -isystem ${pkgs.stdenv.cc.cc}/include/c++/${
              pkgs.lib.getVersion pkgs.stdenv.cc.cc
            }/${pkgs.stdenv.hostPlatform.config} -idirafter ${pkgs.stdenv.cc.cc}/lib/gcc/${pkgs.stdenv.hostPlatform.config}/${
              pkgs.lib.getVersion pkgs.stdenv.cc.cc
            }/include"
          } \
        "
    '';
}