Size: a a a

2021 May 18

АБ

Александр Бантьев... in NixOS
А не хочешь посмотреть на то, как оно для других компиляторов сделано? GHC например.
источник

VK

Vladimir Korolev in NixOS
я второй вариант сперва думал применить, но почему-то засомневался
источник

VK

Vladimir Korolev in NixOS
а у GHC бутстрап заложен? я боюсь, что полдня буду ковыряться, а потом выясню, что не заложен :)
источник

АБ

Александр Бантьев... in NixOS
Эээ ну да, в nixpkgs GHC бутстрапится
источник

АБ

Александр Бантьев... in NixOS
Но правда оно "бутстрапится" из бинаря GHC
источник

VK

Vladimir Korolev in NixOS
окей, пойду гляну
источник

VK

Vladimir Korolev in NixOS
во-о-от
источник

VK

Vladimir Korolev in NixOS
это просто отдельный пакет тогда
источник

АБ

Александр Бантьев... in NixOS
Ну да, там отдельные binary пакеты и обычные пакеты
источник

АБ

Александр Бантьев... in NixOS
Но посмотреть всё равно можно
источник

VK

Vladimir Korolev in NixOS
@balsoft , спасибо!
источник

АБ

Александр Бантьев... in NixOS
Там используется второй подход: функция от двух аргументов, первый для callPackage, второй для настройки получающегося компилятора
источник

K

Kukadoba in NixOS
нам необходимо установить плагин на Moodle, типа Quizacces, но такого типа плагинов не существует. поиск по коду привел меня в вот эти (мои) дебри
https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/web-apps/moodle/default.nix
источник

K

Kukadoba in NixOS
Дружище ты тут?
источник

АБ

Александр Бантьев... in NixOS
Тут, тут
источник

ц

ц in NixOS
Если никсом конпеляешь, то результат же в /nix/store в любом случае окажется
источник

АБ

Александр Бантьев... in NixOS
Ну сделай что-то вроде

  services.moodle.package = let
   plugins = [
     (pkgs.moodle-utils.buildMoodlePlugin {
       name = "bigbluebuttonbn";
       src = pkgs.fetchzip {
         name = "bbb-moodle-plugin";
         url =
           " https://moodle.org/plugins/download.php/23293/mod_bigbluebuttonbn_moodle310_2019042011.zip";
         sha256 = "12aclcjm3wq8lz7ks3nk1pb0is2a2wljy7db6qjc2v4hjnybhrlq";
         extraPostFetch = ''
           echo fix perm: $out
           chmod a-w -R $out
         '';
       };
       pluginType = "quizaccess";
     })
   ];
 in pkgs.moodle.overrideAttrs (oa: {
   installPhase = ''
           runHook preInstall
     mkdir -p $out/share/moodle
     cp -r . $out/share/moodle
     cp ${oa.phpConfig} $out/share/moodle/config.php
     ${lib.concatStringsSep "\n" (map (p:
       let
         dir = if p.pluginType == "mod" then
           "mod"
         else if p.pluginType == "theme" then
           "theme"
         else if p.pluginType == "block" then
           "blocks"
         else if p.pluginType == "question" then
           "question/type"
         else if p.pluginType == "course" then
           "course/format"
         else if p.pluginType == "report" then
           "admin/report"
         else if p.pluginType == "quizaccess" then
           "quizaccess" # Fix this part if it doesn't work
         else
           throw "unknown moodle plugin type";
         # we have to copy it, because the plugins have refrences to .. inside
       in ''
         mkdir -p $out/share/moodle/${dir}/${p.name}
         cp -r ${p}/* $out/share/moodle/${dir}/${p.name}/
       '') plugins)}
     runHook postInstall
   '';
 });
источник

АБ

Александр Бантьев... in NixOS
Не факт, что будет работать
источник

K

Kukadoba in NixOS
Заранее безумно благодарен, я пошел пробовать
источник

VK

Vladimir Korolev in NixOS
разница этих плагинов лишь в том, в какую директорию установщик копирует их код
источник