Рубин с поддержкой ТК - PullRequest
0 голосов
/ 12 июня 2019

Я изучаю курс языков программирования , для которого требуется ruby с поддержкой tk.Мой ноутбук работает nixos.Простое добавление tk и ruby ​​к моим системным пакетам не сокращает это.Создание nix-оболочки с обоими тоже не помогает.Как мне построить деривацию, где ruby ​​компилируется с поддержкой tk?

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 ];
  }

test.rb

#!/usr/bin/env ruby
 require 'tk'
 root = TkRoot.new do
   title "Ruby/Tk Test"
 end
 Tk.mainloop

1 Ответ

0 голосов
/ 12 июня 2019

Я решил просто построить деривацию и установить ее. Это работает!

{ 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
...