Size: a a a

2020 April 26

AN

Alexander N. in NixOS
а внутри делаешь структуру как в nixpkgs, c такими же callPackage итд
источник

TZ

Timofey Zakrevskiy in NixOS
А вопрос теоретического плана - какие есть барьеры для запиливания аналога nix (как пакетного менеджера) с конфигурацией на языке по выбору техлида (Haskell, кастомный DSL, груви и т.д. и т.п)?
источник

TZ

Timofey Zakrevskiy in NixOS
Я слышал про guile/guix, там Scheme, который лисп; может, какие-то ещё попытки были?
источник

AN

Alexander N. in NixOS
c IFD это теряет смысл ;)
источник

TZ

Timofey Zakrevskiy in NixOS
Что такое IFD?
источник

AN

Alexander N. in NixOS
import from derivation
источник

AN

Alexander N. in NixOS
haskell.nix весь из этого сделан
источник

S

Soul in NixOS
скросскомпилировал наконец sdl2, хорошо...
источник

S

Soul in NixOS
я правильно понимаю, что использование crossPkgs.mingwW64 без лишних инпутов даёт gcc, который можно запустить на стадии сборки пакета?
источник

DO

Dmitry Olyenyov in NixOS
РЕШЕНО: :) Удалил из /nix/store vscode и запустил sudo nix-store --repair-path /nix/store/6v7nzxzspf6z2z3hiv9l60xchgnp9pwj-vscode-1.44.1,  всё починилось. интересно, из-за чего такое вылезло...
источник

S

Soul in NixOS
{nixpkgs ? import <nixpkgs> {}, 
stdenv ? nixpkgs.stdenv}:
let
 sdl = (nixpkgs.pkgsCross.mingwW64.callPackage (./sdl2.nix) {});
in
stdenv.mkDerivation {
 name = "k";
 #nativeBuildInputs = [ ];
 nativeBuildInputs = [ sdl ]; # your dependencies here
}
источник

S

Soul in NixOS
ругается что не хочет точку в аргументах вызова callPackage
источник

AS

Alexey Shmalko in NixOS
убери скобки вокруг ./sdl2.nix ?
источник

АБ

Александр Бантьев in NixOS
Soul
{nixpkgs ? import <nixpkgs> {}, 
stdenv ? nixpkgs.stdenv}:
let
 sdl = (nixpkgs.pkgsCross.mingwW64.callPackage (./sdl2.nix) {});
in
stdenv.mkDerivation {
 name = "k";
 #nativeBuildInputs = [ ];
 nativeBuildInputs = [ sdl ]; # your dependencies here
}
Хмм, а почему sdl в nativeBuildInputs? Она точно в buildInputs должна быть
источник

АБ

Александр Бантьев in NixOS
И кстати скобок очень много
источник

АБ

Александр Бантьев in NixOS
{nixpkgs ? import <nixpkgs> {}, 
pkgs ? nixpkgs.pkgsCross.mingwW64;
stdenv ? pkgs.stdenv}:
let
 sdl = pkgs.callPackage ./sdl2.nix {};
in
stdenv.mkDerivation {
 name = "k";
 #nativeBuildInputs = [ ];
 buildInputs = [ sdl ]; # your dependencies here
}
источник

АБ

Александр Бантьев in NixOS
Вот так попробуй
источник

АБ

Александр Бантьев in NixOS
Soul
я правильно понимаю, что использование crossPkgs.mingwW64 без лишних инпутов даёт gcc, который можно запустить на стадии сборки пакета?
Кросс-компиляция в nixpkgs -- довольно сложная тема
источник

АБ

Александр Бантьев in NixOS
Без лишних инпутов он тебе дает gcc который умеет собирать бинари под нужную платформу и libc под нужную платформу
источник

АБ

Александр Бантьев in NixOS
Если ты добавляешь что-нибудь в buildInputs, то это что-то собирается под ту же платформу, что и сам пакет, если в nativeBuildInputs -- собирается под "родную" платформу (ту, на которой ты собираешь)
источник