Skip to content

Commit

Permalink
[vcpkg] Add shell.nix for building on NixOS (microsoft#15906)
Browse files Browse the repository at this point in the history
NixOS does not follow the FHS/LSB convention and building vcpkg therefore
fails. In general, vcpkg is of very limited use for a Nix system.
This shell.nix however, allows a developer to enter a environment
suitable for building vcpkg and developing packages for use on
other platforms.
Running with argument withX11 will allow building most packages that require
X11 libraries.

$ nix-shell --arg withX11 true
  • Loading branch information
poelzi authored Feb 3, 2021
1 parent 5f05aa2 commit e5806b9
Showing 1 changed file with 46 additions and 0 deletions.
46 changes: 46 additions & 0 deletions shell.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{ pkgs ? import <nixpkgs> {}, withX11 ? false }:

(pkgs.buildFHSUserEnv {
name = "vcpkg";
targetPkgs = pkgs: (with pkgs; [
autoconf
automake
cmake
gcc
gettext
glibc.dev
gperf
libtool
libxkbcommon.dev
m4
ninja
pkgconfig
zip
zstd.dev
] ++ pkgs.lib.optionals withX11 [
freetds
libdrm.dev
libglvnd.dev
mesa_drivers
mesa_glu.dev
mesa.dev
xlibs.libxcb.dev
xlibs.xcbutilimage.dev
xlibs.xcbutilwm.dev
xlibs.xorgserver.dev
xorg.libpthreadstubs
xorg.libX11.dev
xorg.libxcb.dev
xorg.libXext.dev
xorg.libXi.dev
xorg.xcbproto
xorg.xcbutil.dev
xorg.xcbutilcursor.dev
xorg.xcbutilerrors
xorg.xcbutilkeysyms.dev
xorg.xcbutilrenderutil.dev
xorg.xcbutilwm.dev
xorg.xorgproto
]);
runScript = "bash";
}).env

0 comments on commit e5806b9

Please sign in to comment.