@@ -1,84 +1,86 @@
1−# Maps of system pkg references from
1+# Maps of system pkg references from cabal file to nixpkgs pkgs.
2−# cabal file to nixpkgs pkgs.
2+# library name (from `extra-libraries` field of `.cabal` file) -> nixpkgs package(s) mapping.
3+# This mapping is used to construct the `libs` component attribute.
3−# See ../docs/dev/pkg-map.md
4+# See ../docs/tutorials/pkg-map.md
5−# fetchgit should always come from the evalPackages
6+
6−# if it comes from the targetPackages we won't even
7+with pkgs;
7−# be able to execute it.
8+
8− { fetchgit = pkgs.evalPackages.fetchgit; }
9−# haskell lib -> nix lib mapping
11−// { crypto = pkgs.openssl;
10+{ crypto = [ openssl ];
12− "c++" = null; # no libc++
11+ "c++" = null; # no libc++
13− "stdc++" = null; "stdc++-6" = null;
13+ "stdc++-6" = null;
14− ssl = pkgs.openssl;
14+ ssl = [ openssl ];
15− z = pkgs.zlib;
15+ z = [ zlib ];
16− pthread = null; # available by default
16+ pthread = null; # available by default
17− GL = pkgs.libGL;
17+ GL = [ libGL ];
18− GLU = pkgs.libGLU;
18+ GLU = [ libGLU ];
19− alut = pkgs.freealut;
19+ alut = [ freealut ];
20− X11 = pkgs.xorg.libX11;
20+ X11 = with xorg; [ libX11 ];
21− Xrandr = pkgs.xorg.libXrandr;
21+ Xrandr = [ xorg.libXrandr ];
22+ Xrender = [ xorg.libXrender ];
23+ Xss = [ xorg.libXScrnSaver ];
22− Xext = pkgs.xorg.libXext;
24+ Xext = [ xorg.libXext ];
23− Xi = pkgs.xorg.libXi;
25+ Xi = [ xorg.libXi ];
24− Xxf86vm = pkgs.xorg.libXxf86vm;
26+ Xxf86vm = [ xorg.libXxf86vm ];
25− Xcursor = pkgs.xorg.libXcursor;
27+ Xcursor = [ xorg.libXcursor ];
26− Xinerama = pkgs.xorg.libXinerama;
28+ Xinerama = [ xorg.libXinerama ];
27− mysqlclient = pkgs.mysql;
29+ mysqlclient = [ mysql ];
28− Imlib2 = pkgs.imlib2;
30+ Imlib2 = [ imlib2 ];
29− asound = pkgs.alsaLib;
31+ asound = [ alsaLib ];
30− ffi = null;
32+ ffi = null;
31− bz2 = pkgs.bzip2;
33+ bz2 = [ bzip2 ];
32− util = pkgs.utillinux;
34+ util = [ utillinux ];
33− magic = pkgs.file;
35+ magic = [ file ];
34− pq = pkgs.postgresql;
36+ pq = [ postgresql ];
35− iconv = pkgs.libiconv;
37+ iconv = [ libiconv ];
36− lapack = pkgs.liblapack;
38+ lapack = [ liblapack ];
37− boost_atomic = pkgs.boost;
39+ boost_atomic = [ boost ];
38− boost_chrono = pkgs.boost;
40+ boost_chrono = [ boost ];
39− boost_container = pkgs.boost;
41+ boost_container = [ boost ];
40− boost_context = pkgs.boost;
42+ boost_context = [ boost ];
41− boost_contract = pkgs.boost;
43+ boost_contract = [ boost ];
42− boost_coroutine = pkgs.boost;
44+ boost_coroutine = [ boost ];
43− boost_date_time = pkgs.boost;
45+ boost_date_time = [ boost ];
44− boost_fiber = pkgs.boost;
46+ boost_fiber = [ boost ];
45− boost_filesystem = pkgs.boost;
47+ boost_filesystem = [ boost ];
46− boost_graph = pkgs.boost;
48+ boost_graph = [ boost ];
47− boost_iostreams = pkgs.boost;
49+ boost_iostreams = [ boost ];
48− boost_locale = pkgs.boost;
50+ boost_locale = [ boost ];
49− boost_log_setup = pkgs.boost;
51+ boost_log_setup = [ boost ];
50− boost_log = pkgs.boost;
52+ boost_log = [ boost ];
51− boost_math_c99f = pkgs.boost;
53+ boost_math_c99f = [ boost ];
52− boost_math_c99l = pkgs.boost;
54+ boost_math_c99l = [ boost ];
53− boost_math_c99 = pkgs.boost;
55+ boost_math_c99 = [ boost ];
54− boost_math_tr1f = pkgs.boost;
56+ boost_math_tr1f = [ boost ];
55− boost_math_tr1l = pkgs.boost;
57+ boost_math_tr1l = [ boost ];
56− boost_math_tr1 = pkgs.boost;
58+ boost_math_tr1 = [ boost ];
57− boost_prg_exec_monitor = pkgs.boost;
59+ boost_prg_exec_monitor = [ boost ];
58− boost_program_options = pkgs.boost;
60+ boost_program_options = [ boost ];
59− boost_random = pkgs.boost;
61+ boost_random = [ boost ];
60− boost_regex = pkgs.boost;
62+ boost_regex = [ boost ];
61− boost_serialization = pkgs.boost;
63+ boost_serialization = [ boost ];
62− boost_signals = pkgs.boost;
64+ boost_signals = [ boost ];
63− boost_stacktrace_addr2line = pkgs.boost;
65+ boost_stacktrace_addr2line = [ boost ];
64− boost_stacktrace_basic = pkgs.boost;
66+ boost_stacktrace_basic = [ boost ];
65− boost_stacktrace_noop = pkgs.boost;
67+ boost_stacktrace_noop = [ boost ];
66− boost_system = pkgs.boost;
68+ boost_system = [ boost ];
67− boost_thread = pkgs.boost;
69+ boost_thread = [ boost ];
68− boost_timer = pkgs.boost;
70+ boost_timer = [ boost ];
69− boost_type_erasure = pkgs.boost;
71+ boost_type_erasure = [ boost ];
70− boost_unit_test_framework = pkgs.boost;
72+ boost_unit_test_framework = [ boost ];
71− boost_wave = pkgs.boost;
73+ boost_wave = [ boost ];
72− boost_wserialization = pkgs.boost;
74+ boost_wserialization = [ boost ];
73− tensorflow = pkgs.libtensorflow;
75+ tensorflow = [ libtensorflow ];
74− opencv = pkgs.opencv3;
76+ opencv = [ opencv3 ];
75− icuuc = pkgs.icu;
77+ icuuc = [ icu ];
76− icui18n = pkgs.icu;
78+ icui18n = [ icu ];
77− icudata = pkgs.icu;
79+ icudata = [ icu ];
78− vulkan = pkgs.vulkan-loader;
80+ vulkan = [ vulkan-loader ];
79− sodium = pkgs.libsodium;
81+ sodium = [ libsodium ];
80− gfortran = pkgs.gfortran.cc.lib;
82+ gfortran = [ gfortran.cc.lib ];
82# -- windows
84# -- windows
83// { advapi32 = null; gdi32 = null; imm32 = null; msimg32 = null;
85// { advapi32 = null; gdi32 = null; imm32 = null; msimg32 = null;
84 shell32 = null; shfolder = null; shlwapi = null; user32 = null;
86 shell32 = null; shfolder = null; shlwapi = null; user32 = null;
@@ -88,7 +90,7 @@ pkgs:
88 # if it's not we have more severe
90 # if it's not we have more severe
89 # issues anyway.
91 # issues anyway.
90 gcc_s_seh-1 = null;
92 gcc_s_seh-1 = null;
91− ssl32 = null; eay32 = pkgs.openssl;
93+ ssl32 = null; eay32 = [ openssl ];
92 iphlpapi = null; # IP Help API
94 iphlpapi = null; # IP Help API
93 msvcrt = null; # this is the libc
95 msvcrt = null; # this is the libc
94 Crypt32 = null;
96 Crypt32 = null;
@@ -96,4 +98,4 @@ pkgs:
98# NB: these map almost 1:1 to the framework names
100# NB: these map almost 1:1 to the framework names
99−// pkgs.darwin.apple_sdk.frameworks
101+// darwin.apple_sdk.frameworks