Size: a a a

2020 November 19

AV

Alexander Vershilov in Haskell
3.2. Accessing data files from package code

The placement on the target system of files listed in the data-files field varies between systems, and in some cases one can even move packages around after installation (see Section 4.1.2.3, “Prefix-independence”). To enable packages to find these files in a portable way, Cabal generates a module called Paths_pkgname (with any hyphens in pkgname replaced by underscores) during building, so that it may be imported by modules of the package. This module defines a function

getDataFileName :: FilePath -> IO FilePath
источник

к

кана in Haskell
ого спасибо
источник

к

кана in Haskell
плохо ли делать там много файлов? Очень много файлов?
источник

AP

Aleksei (astynax) Pi... in Haskell
Ты ещё заэмбеддить можешь. В том числе и какой-нибудь SQLite с блобами внутри
источник

к

кана in Haskell
предположим мне нужно заэмбедить node_modules от одного большого js-проекта)
источник

к

кана in Haskell
и этот node_modules должен генерироваться во время компиляции библиотеки на локальной машине
источник

A

Andrey in Haskell
звучит как custom setup
источник

AP

Aleksei (astynax) Pi... in Haskell
вот да
источник

к

кана in Haskell
это к последнему собщению?
источник

к

кана in Haskell
речь про Setup.hs?
источник

A

Andrey in Haskell
Setup.hs, да
источник

A

Andrey in Haskell
к последнему сообщению, да
источник

к

кана in Haskell
я так понимаю он нужен для того чтобы указать что делать во время сборки
источник

к

кана in Haskell
то есть мне в нем нужно запустить runCommand "npm install"
источник

A

Andrey in Haskell
ты в сетап кастомный можешь много разных хуков вставлять, вроде
источник

A

Andrey in Haskell
посмотри хаддок кабала на счёт апишки и хуков
источник

A

Andrey in Haskell
в том числе, думаю, и пуск команды можно пристроить
источник

MK

Maxim Koltsov in Haskell
можно, можно
источник

MK

Maxim Koltsov in Haskell
у нас так делали несколько раз
источник

MK

Maxim Koltsov in Haskell
в хуке делаешь что надо, потом инжектишь пути в BuildInfo
источник