Skip to content

v2.3: General maintence, add alternative to IFD, allow adjacent directories, make targetless

Latest

Choose a tag to compare

@RossSmyth RossSmyth released this 03 Dec 22:23
· 46 commits to main since this release

Hello.

Many changes have been made, but most are internal just to clean up the code-base and should not effect usage. If it does, please open an issue.

There are some user-facing change though:

  1. Lots of documentation changes (thanks @rasmus-kirk!)
  2. SOURCE_DATE_EPOCH is now set in devShells
    • Means that devShells should be more reproducible now
  3. the --root flag is now set when calling typst
  4. Restructuring of the repo (not user-facing)
  5. Remove the assertion about format types
    • This means that when Typst adds new formats in the future, I don't have to add new ones to the assertion. Typst will just fail to compile so there's no real reason to have this assertion
  6. Add alternative to IFD
    • Previously, this library unconditionally did import-from-derivation. I forgot that it did that. So I added an alternative since IFD is bad in CppNix/Lix
    • See details here and/or here
    • In the future I hope to deprecate the ad-hoc packages here, and encourage using Nixpkg's pkgs.buildTypstPackage. But some more work is needed in Nixpkgs before that.
    • Now you can specify your extra packages with a specification like
      {
        pname = "cool-package";
        version = "1.0";
        src = coolSrc;
        meta.license = lib.licenses.mit;
      }
  7. Improve type assertion for extraPackages
  8. Fix overrides for pname and version
  9. Make targetless
    • GCC made things too complicated for the rest of the sane compilers
    • Target bad
    • Typst is a targetless compiler because it's not insane, and also it just makes PDFs for the most part
    • Now you can build PDFs for any platform you can dream of, hooray