Я пытаюсь построить деривацию Freeplane на основе Freemind, см .: https://github.com/razvan-panda/nixpkgs/blob/freeplane/pkgs/applications/misc/freeplane/default.nix
{ stdenv, fetchurl, jdk, jre, gradle }:
stdenv.mkDerivation rec {
name = "freeplane-${version}";
version = "1.6.13";
src = fetchurl {
url = "mirror://sourceforge/project/freeplane/freeplane%20stable/freeplane_src-${version}.tar.gz";
sha256 = "0aabn6lqh2fdgdnfjg3j1rjq0bn4d1947l6ar2fycpj3jy9g3ccp";
};
buildInputs = [ jdk gradle ];
buildPhase = "gradle dist";
installPhase = ''
mkdir -p $out/{bin,nix-support}
cp -r ../bin/dist $out/nix-support
sed -i 's/which/type -p/' $out/nix-support/dist/freeplane.sh
cat >$out/bin/freeplane <<EOF
#! /bin/sh
JAVA_HOME=${jre} $out/nix-support/dist/freeplane.sh
EOF
chmod +x $out/{bin/freeplane,nix-support/dist/freeplane.sh}
'';
meta = with stdenv.lib; {
description = "Mind-mapping software";
homepage = https://www.freeplane.org/wiki/index.php/Home;
license = licenses.gpl2Plus;
platforms = platforms.linux;
};
}
На этапе сборки gradle выдается следующая ошибка:
путь (ы) строительства
«/Nix/store/9dc1x2aya5p8xj4lq9jl0xjnf08n7g6l-freeplane-1.6.13»
распаковка исходников распаковка исходного архива
/nix/store/c0j5hgpfs0agh3xdnpx4qjy82aqkiidv-freeplane_src-1.6.13.tar.gz
Корнем источника является freeplane-1.6.13, устанавливающий SOURCE_DATE_EPOCH в отметку времени
1517769626 файла патчей freeplane-1.6.13 / gitinfo.txt
не настраивать скрипт настройки, ничего не делаяFAILURE: сборка не удалась, исключение.
Что пошло не так: не удалось загрузить собственную библиотеку libnative-platform.so для Linux amd64.
Попробуйте: Запустите с параметром —stacktrace, чтобы получить трассировку стека. Запустите с параметром —info или —debug, чтобы получить больше вывода журнала. конструктор для ‘/nix/store/id4vfk3r6fd4zpyb15dq9xfghf342qaa-freeplane-1.6.13.drv’
ошибка с кодом выхода 1 ошибка: сборка
«/Nix/store/id4vfk3r6fd4zpyb15dq9xfghf342qaa-freeplane-1.6.13.drv»
не удалось
Бег gradle dist
с терминала работает нормально. Я предполагаю, что, возможно, один из глобально установленных пакетов Nix обеспечивает решение проблемы, и они не видны во время сборки.
Я много искал, но не мог найти никакого рабочего решения. Например, удаление ~/.gradle
папки не помогли.
Обновить
Воспроизвести вопрос просто git clone https://github.com/razvan-panda/nixpkgs
, зацени ветку freeplane и запусти nix-build -A freeplane
в корне хранилища.
Задача ещё не решена.
Других решений пока нет …