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

Update noweb (and icon-lang) #53734

Open
wants to merge 2 commits into
base: master
from

Conversation

Projects
None yet
3 participants
@yurrriq
Copy link
Contributor

commented Jan 10, 2019

Motivation for this change

As per src/INSTALL:

Crucial parts of noweb are written in both Icon and Awk. You can use
either Icon or Awk, but Icon is better

Most notable (to me, anyway) are the performance increase and the autodefs.

Things done
  • Update icon-lang

    • Add Darwin support
      • set name appropriately in configurePhase
      • meta.platforms: linux -> linux ++ darwin
    • Add me as maintainer
    • Support nongraphical build (via withGraphics=false)
      • Use the right configure target
      • Don't depend on libX{11,t}
  • Update noweb

    • fetchurl -> fetchFromGitHub
    • Update version: 2.11b -> 2.12
    • Configure for use as TeX Live package
    • Tweak quotes and whitespace for safety/consistency/readability
    • Flesh out meta
    • Install noweb-mode to $out/share/emacs/site-lisp
    • Provide noweb_awk and noweb_icon, where noweb is the latter
  • 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/)

  • Determined the impact on package closure size (by running nix path-info -S before and after)

  • Assured whether relevant documentation is up to date

  • Fits CONTRIBUTING.md.

@yurrriq yurrriq force-pushed the yurrriq:update/noweb branch from 984dcce to 2dbdb31 Jan 10, 2019

@yurrriq yurrriq force-pushed the yurrriq:update/noweb branch 5 times, most recently from 7e37326 to 97479ca Jan 10, 2019

@yurrriq yurrriq changed the title WIP: Update noweb (and icon-lang) Update noweb (and icon-lang) Jan 15, 2019

@yurrriq

This comment has been minimized.

Copy link
Contributor Author

commented Jan 15, 2019

I'd love some more eyes on this, but it seems to work great for me so far on NixOS as well as macOS 10.14.2. I pulled out the Lisp autodefs patch, because of an apparent hen and egg issue.

yurrriq added a commit to yurrriq/nur-packages that referenced this pull request Jan 15, 2019

@yurrriq yurrriq changed the title Update noweb (and icon-lang) WIP: Update noweb (and icon-lang) Jan 15, 2019

@yurrriq

This comment has been minimized.

Copy link
Contributor Author

commented Jan 15, 2019

Ok, so there seems to be some problem with icon-lang, maybe. When I clone the repos and build icon and noweb manually. All is well. Any advice?

Specifically, totex sometimes fails with:

error in startup code
icode file too large
error in startup code
icode file too large

@yurrriq yurrriq changed the title WIP: Update noweb (and icon-lang) Update noweb (and icon-lang) Apr 19, 2019

@yurrriq yurrriq force-pushed the yurrriq:update/noweb branch from 97479ca to 4997aa9 Apr 19, 2019

@yurrriq

This comment has been minimized.

Copy link
Contributor Author

commented Apr 19, 2019

Got it sorted. Turns out substituteInPlace is destructive to Icon scripts. As a workaround, I added a call to grep nawk, so we only call substituteInPlace on appropriate files.

@yurrriq

This comment has been minimized.

Copy link
Contributor Author

commented Apr 19, 2019

@ryantm, will you please remove the label 2.status: work-in-progress? This is ready to review/merge now. :)

Edit: Thanks!

@yurrriq

This comment has been minimized.

Copy link
Contributor Author

commented Apr 19, 2019

@GrahamcOfBorg build icon-lang
@GrahamcOfBorg build noweb

@yurrriq

This comment has been minimized.

Copy link
Contributor Author

commented Apr 19, 2019

What do you think, @vrthra?

@yurrriq yurrriq force-pushed the yurrriq:update/noweb branch 3 times, most recently from 17a5b67 to 90dba9d Apr 20, 2019

@yurrriq

This comment has been minimized.

Copy link
Contributor Author

commented Apr 20, 2019

@GrahamcOfBorg build noweb_awk
@GrahamcOfBorg build noweb_icon

@yurrriq yurrriq force-pushed the yurrriq:update/noweb branch from 90dba9d to 5f56351 Apr 25, 2019

noweb: 2.11b -> 2.12
- fetchurl -> fetchFromGitHub
- Support building with icon (useIcon, default: false)
- Support darwin
- Configure for texlive
- Flesh out meta
- Build man pages

@yurrriq yurrriq force-pushed the yurrriq:update/noweb branch from 5f56351 to 9450feb Apr 25, 2019

@yurrriq

This comment has been minimized.

Copy link
Contributor Author

commented Apr 25, 2019

@GrahamcOfBorg build noweb_awk
@GrahamcOfBorg build noweb_icon

@yurrriq

This comment has been minimized.

Copy link
Contributor Author

commented May 10, 2019

Is there anything I can do to push this along? I've been using it for a while now and am quite satisfied. I'd like to add some sort of plugin system, using the lisp autodefs script as the first one, but I won't get to that for a while, and it seems like it ought to be a separate PR anyway.

};
}
}; in noweb // { pkgs = [ noweb.tex ]; }

This comment has been minimized.

Copy link
@ryantm

ryantm May 10, 2019

Member

Can you explain what this line does?

This comment has been minimized.

Copy link
@yurrriq

yurrriq May 13, 2019

Author Contributor

It's a cheap hack that exposes the noweb LaTeX class, thereby enabling users to produce e.g. PDFs from literate programs.

@yurrriq

This comment has been minimized.

Copy link
Contributor Author

commented Jun 7, 2019

Can someone merge this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.