{-# LANGUAGE OverloadedStrings #-}
module Distribution.Nixpkgs.Haskell.FromCabal.Name ( toNixName, libNixName, buildToolNixName ) where
import Data.Maybe
import Data.String
import Distribution.Package
import Distribution.Text
import Language.Nix
toNixName :: PackageName -> Identifier
toNixName :: PackageName -> Identifier
toNixName PackageName
"" = [Char] -> Identifier
forall a. HasCallStack => [Char] -> a
error [Char]
"toNixName: invalid empty package name"
toNixName PackageName
n = [Char] -> Identifier
forall a. IsString a => [Char] -> a
fromString (PackageName -> [Char]
unPackageName PackageName
n)
libNixName :: String -> [Identifier]
libNixName :: [Char] -> [Identifier]
libNixName [Char]
"" = []
libNixName [Char]
"adns" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"adns"
libNixName [Char]
"alsa" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"alsaLib"
libNixName [Char]
"alut" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"freealut"
libNixName [Char]
"appindicator-0.1" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libappindicator-gtk2"
libNixName [Char]
"appindicator3-0.1" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libappindicator-gtk3"
libNixName [Char]
"asound" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"alsaLib"
libNixName [Char]
"b2" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libb2"
libNixName [Char]
"boost_context" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"boost"
libNixName [Char]
"bz2" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"bzip2"
libNixName [Char]
"c++" = []
libNixName [Char]
"cairo-gobject" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"cairo"
libNixName [Char]
"cairo-pdf" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"cairo"
libNixName [Char]
"cairo-ps" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"cairo"
libNixName [Char]
"cairo-svg" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"cairo"
libNixName [Char]
"crypt" = []
libNixName [Char]
"crypto" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"openssl"
libNixName [Char]
"curses" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"ncurses"
libNixName [Char]
"dbusmenu-glib-0.4" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libdbusmenu"
libNixName [Char]
"dbusmenu-gtk3-0.4" = [Identifier
"libdbusmenu-gtk3", Identifier
"gtk3"]
libNixName [Char]
"dl" = []
libNixName [Char]
"ff" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libff"
libNixName [Char]
"fftw3" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"fftw"
libNixName [Char]
"fftw3f" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"fftwFloat"
libNixName [Char]
"gconf" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"GConf"
libNixName [Char]
"gconf-2.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"GConf"
libNixName [Char]
"gdk-2.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gtk2"
libNixName [Char]
"gdk-3.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gtk3"
libNixName [Char]
"gdk-pixbuf-2.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gdk-pixbuf"
libNixName [Char]
"gdk-x11-2.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gdk_x11"
libNixName [Char]
"geos_c" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"geos"
libNixName [Char]
"gdk-x11-3.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gtk3"
libNixName [Char]
"gio-2.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"glib"
libNixName [Char]
"GL" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libGL"
libNixName [Char]
"GLU" = [Identifier
"libGLU",Identifier
"libGL"]
libNixName [Char]
"glut" = [Identifier
"freeglut",Identifier
"libGLU",Identifier
"libGL"]
libNixName [Char]
"gnome-keyring" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gnome-keyring"
libNixName [Char]
"gnome-keyring-1" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libgnome-keyring"
libNixName [Char]
"gnome-vfs-2.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gnome-vfs"
libNixName [Char]
"gnome-vfs-module-2.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gnome-vfs_module"
libNixName [Char]
"gobject-2.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"glib"
libNixName [Char]
"gobject-introspection-1.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gobject-introspection"
libNixName [Char]
"gstreamer-audio-0.10" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gst-plugins-base"
libNixName [Char]
"gstreamer-audio-1.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gst-plugins-base"
libNixName [Char]
"gstreamer-base-0.10" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gst-plugins-base"
libNixName [Char]
"gstreamer-base-1.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gst-plugins-base"
libNixName [Char]
"gstreamer-controller-0.10" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gstreamer"
libNixName [Char]
"gstreamer-dataprotocol-0.10" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gstreamer"
libNixName [Char]
"gstreamer-net-0.10" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gst-plugins-base"
libNixName [Char]
"gstreamer-plugins-base-0.10" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gst-plugins-base"
libNixName [Char]
"gstreamer-video-1.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gst-plugins-base"
libNixName [Char]
"gthread-2.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"glib"
libNixName [Char]
"gtk+-2.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gtk2"
libNixName [Char]
"gtk+-3.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gtk3"
libNixName [Char]
"gtk-x11-2.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gtk_x11"
libNixName [Char]
"gtksourceview-3.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gtksourceview3"
libNixName [Char]
"hidapi-libusb" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"hidapi"
libNixName [Char]
"icudata" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"icu"
libNixName [Char]
"icui18n" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"icu"
libNixName [Char]
"icuuc" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"icu"
libNixName [Char]
"idn" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libidn"
libNixName [Char]
"IL" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libdevil"
libNixName [Char]
"ImageMagick" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"imagemagick"
libNixName [Char]
"Imlib2" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"imlib2"
libNixName [Char]
"iw" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"wirelesstools"
libNixName [Char]
"jack" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libjack2"
libNixName [Char]
"javascriptcoregtk-3.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"webkitgtk24x-gtk3"
libNixName [Char]
"javascriptcoregtk-4.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"webkitgtk"
libNixName [Char]
"jpeg" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libjpeg"
libNixName [Char]
"jvm" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"jdk"
libNixName [Char]
"lapack" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"liblapack"
libNixName [Char]
"lber" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"openldap"
libNixName [Char]
"ldap" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"openldap"
libNixName [Char]
"libavutil" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"ffmpeg"
libNixName [Char]
"libbrotlienc" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"brotli"
libNixName [Char]
"libbrotlidec" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"brotli"
libNixName [Char]
"libgsasl" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gsasl"
libNixName [Char]
"libpcre" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"pcre"
libNixName [Char]
"libpcre2" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"pcre2"
libNixName [Char]
"libpcre2-8" = [Char] -> [Identifier]
libNixName [Char]
"libpcre2"
libNixName [Char]
"libqrencode" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"qrencode"
libNixName [Char]
"libR" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"R"
libNixName [Char]
"libsecp256k1" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"secp256k1"
libNixName [Char]
"libsoup-gnome-2.4" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libsoup"
libNixName [Char]
"libsystemd" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"systemd"
libNixName [Char]
"libudev" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"systemd"
libNixName [Char]
"libxml-2.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libxml2"
libNixName [Char]
"libzip" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libzip"
libNixName [Char]
"libzmq" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"zeromq"
libNixName [Char]
"liquid" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"liquid-dsp"
libNixName [Char]
"m" = []
libNixName [Char]
"magic" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"file"
libNixName [Char]
"MagickWand" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"imagemagick"
libNixName [Char]
"mnl" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libmnl"
libNixName [Char]
"mpi" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"openmpi"
libNixName [Char]
"ncursesw" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"ncurses"
libNixName [Char]
"netsnmp" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"net_snmp"
libNixName [Char]
"nix-expr" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"nix"
libNixName [Char]
"nix-main" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"nix"
libNixName [Char]
"nix-store" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"nix"
libNixName [Char]
"notify" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libnotify"
libNixName [Char]
"odbc" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"unixODBC"
libNixName [Char]
"openblas" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"openblasCompat"
libNixName [Char]
"panelw" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"ncurses"
libNixName [Char]
"pangocairo" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"pango"
libNixName [Char]
"pcap" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libpcap"
libNixName [Char]
"pfs-1.2" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"pfstools"
libNixName [Char]
"png" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libpng"
libNixName [Char]
"poppler-glib" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"poppler_gi"
libNixName [Char]
"pq" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"postgresql"
libNixName [Char]
"pthread" = []
libNixName [Char]
"pulse" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libpulseaudio"
libNixName [Char]
"pulse-simple" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libpulseaudio"
libNixName [Char]
"python-3.3" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"python33"
libNixName [Char]
"python-3.4" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"python34"
libNixName [Char]
"Qt5Core" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"qt5"
libNixName [Char]
"Qt5Gui" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"qt5"
libNixName [Char]
"Qt5Qml" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"qt5"
libNixName [Char]
"Qt5Quick" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"qt5"
libNixName [Char]
"Qt5Widgets" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"qt5"
libNixName [Char]
"quadprog" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"QuadProgpp"
libNixName [Char]
"rt" = []
libNixName [Char]
"rtlsdr" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"rtl-sdr"
libNixName [Char]
"ruby1.8" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"ruby"
libNixName [Char]
"sass" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libsass"
libNixName [Char]
"sctp" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"lksctp-tools"
libNixName [Char]
"sdl2" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"SDL2"
libNixName [Char]
"sndfile" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libsndfile"
libNixName [Char]
"SoapySDR" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"soapysdr"
libNixName [Char]
"sodium" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libsodium"
libNixName [Char]
"sqlite3" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"sqlite"
libNixName [Char]
"ssh2" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libssh2"
libNixName [Char]
"ssl" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"openssl"
libNixName [Char]
"statgrab" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libstatgrab"
libNixName [Char]
"stdc++" = []
libNixName [Char]
"stdc++.dll" = []
libNixName [Char]
"systemd-journal" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"systemd"
libNixName [Char]
"tag_c" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"taglib"
libNixName [Char]
"taglib_c" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"taglib"
libNixName [Char]
"tdjson" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"tdlib"
libNixName [Char]
"tensorflow" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libtensorflow"
libNixName [Char]
"udev" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"systemd";
libNixName [Char]
"uuid" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libossp_uuid";
libNixName [Char]
"vte-2.91" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"vte_291"
libNixName [Char]
"wayland-client" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"wayland"
libNixName [Char]
"wayland-cursor" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"wayland"
libNixName [Char]
"wayland-egl" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libGL"
libNixName [Char]
"wayland-server" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"wayland"
libNixName [Char]
"webkit2gtk" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"webkitgtk"
libNixName [Char]
"webkit2gtk-4.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"webkitgtk"
libNixName [Char]
"webkit2gtk-web-extension-4.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"webkitgtk"
libNixName [Char]
"webkitgtk-3.0" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"webkitgtk24x-gtk3"
libNixName [Char]
"X11" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libX11"
libNixName [Char]
"x11" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"xlibsWrapper"
libNixName [Char]
"xau" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libXau"
libNixName [Char]
"Xcursor" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libXcursor"
libNixName [Char]
"xerces-c" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"xercesc"
libNixName [Char]
"Xext" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libXext"
libNixName [Char]
"xft" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libXft"
libNixName [Char]
"Xi" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libXi"
libNixName [Char]
"Xinerama" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libXinerama"
libNixName [Char]
"xkbcommon" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libxkbcommon"
libNixName [Char]
"xml2" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libxml2"
libNixName [Char]
"Xpm" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libXpm"
libNixName [Char]
"Xrandr" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libXrandr"
libNixName [Char]
"Xrender" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libXrender"
libNixName [Char]
"Xss" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libXScrnSaver"
libNixName [Char]
"Xtst" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libXtst"
libNixName [Char]
"Xxf86vm" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libXxf86vm"
libNixName [Char]
"yaml" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libyaml"
libNixName [Char]
"yaml-0.1" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"libyaml"
libNixName [Char]
"z" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"zlib"
libNixName [Char]
"zmq" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"zeromq"
libNixName [Char]
x = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return ([Char] -> Identifier
guessNixIdentifier [Char]
x)
buildToolNixName :: String -> [Identifier]
buildToolNixName :: [Char] -> [Identifier]
buildToolNixName [Char]
"" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return ([Char] -> Identifier
forall a. HasCallStack => [Char] -> a
error [Char]
"buildToolNixName: invalid empty dependency name")
buildToolNixName [Char]
"cabal" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"cabal-install"
buildToolNixName [Char]
"fltk-config" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"fltk"
buildToolNixName [Char]
"ghc" = []
buildToolNixName [Char]
"gtk2hsC2hs" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gtk2hs-buildtools"
buildToolNixName [Char]
"gtk2hsHookGenerator" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gtk2hs-buildtools"
buildToolNixName [Char]
"gtk2hsTypeGen" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"gtk2hs-buildtools"
buildToolNixName [Char]
"hsc2hs" = []
buildToolNixName [Char]
"nix-build" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"nix"
buildToolNixName [Char]
"nix-env" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"nix"
buildToolNixName [Char]
"nix-hash" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"nix"
buildToolNixName [Char]
"nix-instantiate" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"nix"
buildToolNixName [Char]
"nix-store" = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return Identifier
"nix"
buildToolNixName [Char]
x = Identifier -> [Identifier]
forall (m :: * -> *) a. Monad m => a -> m a
return ([Char] -> Identifier
forall a. IsString a => [Char] -> a
fromString [Char]
x)
guessNixIdentifier :: String -> Identifier
guessNixIdentifier :: [Char] -> Identifier
guessNixIdentifier [Char]
x = [Char] -> Identifier
forall a. IsString a => [Char] -> a
fromString ([Char] -> Maybe [Char] -> [Char]
forall a. a -> Maybe a -> a
fromMaybe [Char]
x Maybe [Char]
maybePackageId)
where
maybePackageId :: Maybe [Char]
maybePackageId = PackageName -> [Char]
unPackageName (PackageName -> [Char])
-> (PackageIdentifier -> PackageName)
-> PackageIdentifier
-> [Char]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PackageIdentifier -> PackageName
pkgName (PackageIdentifier -> [Char])
-> Maybe PackageIdentifier -> Maybe [Char]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [Char] -> Maybe PackageIdentifier
forall a. Parsec a => [Char] -> Maybe a
simpleParse [Char]
x