Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(WIP) terminfo-extra: init #41544

Closed
wants to merge 1 commit into from
Closed

Conversation

lheckemann
Copy link
Member

Motivation for this change

Headless systems may need extra terminfo definitions, but users would prefer not to have all the X11 baggage that the terminal emulators bring with them, making "just install the terminal" an unattractive option. This is a possible solution.

Marked as WIP because I'm not sure of the approach and would appreciate some feedback.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: terminfo-extra

Partial log (click to expand)

  /nix/store/6cizsv82y2sld7dbxgi82sqng448x7f5-rxvt-unicode-9.22.tar.bz2
copying path '/nix/store/6cizsv82y2sld7dbxgi82sqng448x7f5-rxvt-unicode-9.22.tar.bz2' from 'https://cache.nixos.org'...
copying path '/nix/store/5jraiq0sanzs4hpvp2gswb9jmk019s28-st-0.8.1.tar.gz' from 'https://cache.nixos.org'...
building '/nix/store/hx55k2c2mp7i1dbys7b0r6v29jpqhzdp-terminfo-extra.drv'...
unpacking source archive /nix/store/6cizsv82y2sld7dbxgi82sqng448x7f5-rxvt-unicode-9.22.tar.bz2
unpacking source archive /nix/store/5jraiq0sanzs4hpvp2gswb9jmk019s28-st-0.8.1.tar.gz
source root is .
setting SOURCE_DATE_EPOCH to timestamp 1528272216 of file ./.attr-0
warning: file ./.attr-0 may be generated; SOURCE_DATE_EPOCH may be non-deterministic
/nix/store/cljdsw9lwgsfx4kknprik1cwf968vf03-terminfo-extra

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: terminfo-extra

Partial log (click to expand)

  /nix/store/6cizsv82y2sld7dbxgi82sqng448x7f5-rxvt-unicode-9.22.tar.bz2
copying path '/nix/store/6cizsv82y2sld7dbxgi82sqng448x7f5-rxvt-unicode-9.22.tar.bz2' from 'https://cache.nixos.org'...
copying path '/nix/store/5jraiq0sanzs4hpvp2gswb9jmk019s28-st-0.8.1.tar.gz' from 'https://cache.nixos.org'...
building '/nix/store/f0gfhfss14nmdmwnm1zfsl6awrkkarfl-terminfo-extra.drv'...
unpacking source archive /nix/store/6cizsv82y2sld7dbxgi82sqng448x7f5-rxvt-unicode-9.22.tar.bz2
unpacking source archive /nix/store/5jraiq0sanzs4hpvp2gswb9jmk019s28-st-0.8.1.tar.gz
source root is .
setting SOURCE_DATE_EPOCH to timestamp 1528272230 of file ./.attr-0
warning: file ./.attr-0 may be generated; SOURCE_DATE_EPOCH may be non-deterministic
/nix/store/8c8a0zjv283wcxinb2ha8kjkmplhdnfh-terminfo-extra

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: terminfo-extra

Partial log (click to expand)

  /nix/store/5jraiq0sanzs4hpvp2gswb9jmk019s28-st-0.8.1.tar.gz
  /nix/store/6cizsv82y2sld7dbxgi82sqng448x7f5-rxvt-unicode-9.22.tar.bz2
copying path '/nix/store/6cizsv82y2sld7dbxgi82sqng448x7f5-rxvt-unicode-9.22.tar.bz2' from 'https://cache.nixos.org'...
copying path '/nix/store/5jraiq0sanzs4hpvp2gswb9jmk019s28-st-0.8.1.tar.gz' from 'https://cache.nixos.org'...
building '/nix/store/ifyfly6w1gk5hbfpzcfs71prbpa8h379-terminfo-extra.drv'...
unpacking source archive /nix/store/6cizsv82y2sld7dbxgi82sqng448x7f5-rxvt-unicode-9.22.tar.bz2
unpacking source archive /nix/store/5jraiq0sanzs4hpvp2gswb9jmk019s28-st-0.8.1.tar.gz
source root is .
setting SOURCE_DATE_EPOCH to timestamp 1521577799 of file ./st-0.8.1/x.c
/nix/store/jgxpy8kvwwpqkiswd9pxpyfdx4lz8gx3-terminfo-extra

@lheckemann
Copy link
Member Author

@tilpner suggested on IRC that this could accept any number of terminals as an argument and search their sources for terminfo definitions. I'm not sure there's a good heuristic we can use to find them, as searching the source trees for *.info may include GNU info pages.

@matthewbauer
Copy link
Member

I would prefer to move terminfo stuff to its own output. That should avoid this hack. We also discussed it here:

#40404 (comment)

@Mic92
Copy link
Member

Mic92 commented Jun 11, 2018

@matthewbauer If it is an output of ncurses I suspect it could easily lead to infinite cycles if ncurses is also needed to build the terminal emulator's dependencies (think of python).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants