具有tk支持的ruby
我正在关注一个需要具有tk支持的ruby,ruby,tk,nix,Ruby,Tk,Nix,我正在关注一个需要ruby和tk支持的应用程序。我的笔记本电脑运行的是nixos。简单地向我的系统包中添加tk和ruby并不能解决这个问题。使用这两种方法创建nix shell也不会产生任何效果。我如何构造一个使用tk支持编译ruby的派生 shell.nix { pkgs ? import <nixpkgs> {} }: with pkgs; let myRuby = ruby_2_3.overrideAttrs (old: { configureFlags = [
ruby
和tk
支持的应用程序。我的笔记本电脑运行的是nixos
。简单地向我的系统包中添加tk和ruby并不能解决这个问题。使用这两种方法创建nix shell也不会产生任何效果。我如何构造一个使用tk支持编译ruby的派生
shell.nix
{ pkgs ? import <nixpkgs> {} }:
with pkgs;
let
myRuby = ruby_2_3.overrideAttrs (old: {
configureFlags = [
"--with-tcl-dir=${tcl}"
"--with-tk-dir=${tk}"
"--enable-tcl-thread"
"--enable-pthread"
];
buildInputs = [
ruby_2_3
zlib
gdbm
libffi
openssl
readline
];
propagatedBuildInputs = [
tk
tcl
];
});
in
mkShell {
buildInputs = [ myRuby tk tcl ];
}
我决定只构建一个派生并安装它。这管用
{ pkgs ? import <nixpkgs> {} }:
with pkgs;
let
myRuby = ruby_2_3.overrideAttrs (old: {
configureFlags = [
"--with-tcl-dir=${tcl}"
"--with-tk-dir=${tk}"
"--enable-tcl-thread"
"--enable-pthread"
];
buildInputs = [
ruby_2_3
zlib
gdbm
libffi
openssl
readline
];
propagatedBuildInputs = [
tk
tcl
];
});
in
myRuby
{pkgs?导入{}}
有pkgs;
让
myRuby=ruby\u 2\u 3.overrideAttrs(旧:{
配置标志=[
“--使用tcl dir=${tcl}”
“--使用tk dir=${tk}”
“--启用tcl线程”
“--启用pthread”
];
构建输入=[
ruby_2_3
兹利布
gdbm
利菲
openssl
阅读线
];
propagatedBuildInputs=[
传统知识
tcl
];
});
在里面
红宝石
我不能具体地为NixOS说话,但我相信Ruby/tk已经不再被维护了(现在已经有几年了)。Ruby的GUI状况令人震惊,没有多少积极的前景。Qt4有一些不错的绑定,在需要GUI时可能是最广泛使用的,但即使是它们也已经过时了,它们是在旧技术的基础上构建的。遗憾的是,试图用Ruby实现一个现代GUI是一种自我受虐的形式。@ForeverZer0我一直按照课程说明使用Ruby-2.3,您可以尝试在上打开一个问题,但考虑到上一次提交已经超过1年,我也担心它不再被维护。我的印象是ActiveState仍然支持它,而且因为他们声称也支持Linux,所以这可能是一种选择。当然,这意味着您还必须安装Ruby和Tcl的ActiveState端口。你可能想首先问一下这是否是一个可行的方法。
{ pkgs ? import <nixpkgs> {} }:
with pkgs;
let
myRuby = ruby_2_3.overrideAttrs (old: {
configureFlags = [
"--with-tcl-dir=${tcl}"
"--with-tk-dir=${tk}"
"--enable-tcl-thread"
"--enable-pthread"
];
buildInputs = [
ruby_2_3
zlib
gdbm
libffi
openssl
readline
];
propagatedBuildInputs = [
tk
tcl
];
});
in
myRuby