package dune-private-libs

  1. Overview
  2. Docs
Private libraries of Dune

Install

dune-project
 Dependency

Authors

Maintainers

Sources

dune-2.5.1.tbz
sha256=8f77d3a87f208e0d7cccaa1c48c4bb1bb87d62d07c3f25e9b8ba298e028ce52b
sha512=f209f12ced10c1abf8782bdb0143f4cec77795f7174d2cc75130afb1e01550b01f2f77b9e3ec4888efdad83d2f9878d179b39126f824f4e522f3ef4da34bf27e

doc/src/dune-private-libs.xdg/xdg.ml.html

Source file xdg.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
let home =
  try Sys.getenv "HOME"
  with Not_found -> (
    try (Unix.getpwuid (Unix.getuid ())).Unix.pw_dir with
    | Unix.Unix_error _
    | Not_found ->
      if Sys.win32 then
        try Sys.getenv "AppData" with Not_found -> ""
      else
        "" )

let ( / ) = Filename.concat

let get env_var unix_default win32_default =
  try Sys.getenv env_var
  with Not_found ->
    if Sys.win32 then
      win32_default
    else
      unix_default

let cache_dir =
  get "XDG_CACHE_HOME" (home / ".cache") (home / "Local Settings" / "Cache")

let config_dir =
  get "XDG_CONFIG_HOME" (home / ".config") (home / "Local Settings")

let data_dir =
  get "XDG_DATA_HOME"
    (home / ".local" / "share")
    (try Sys.getenv "AppData" with Not_found -> "")