Commit graph

10137 commits

Author SHA1 Message Date
Vincent Ambo
8d8932840e chore(web/cgit-taz): Use in-tree cgit version instead
Drops the previous patch setup to use //third_party/cgit instead.
2020-01-12 02:53:01 +00:00
Vincent Ambo
ac6485efeb feat(third_party/cgit): Add derivation to build cgit
This is pretty much exactly the derivation from nixpkgs, with some
things removed to reduce the closure size (e.g. the various formatters
used in the default cgit version, which are replaced by cheddar in my
setup).
2020-01-12 02:49:44 +00:00
Vincent Ambo
93cc05d363 feat(third_party/git): Add derivation to build git
This overrides the upstream derivation to:

* use local sources
* build `git send-email`

It also calls autoreconf before building because files that are
included in the git distribution tarball (which the normal derivation
uses) are missing from source.
2020-01-12 01:55:23 +00:00
Vincent Ambo
9e67451750 chore(web/cgit-taz): Remove patches which have been integrated
These patches now live as commits at //third_party/cgit
2020-01-11 23:47:41 +00:00
Vincent Ambo
be2f51e1dd feat(third_party/cgit): Generate links to about pages from subtrees
If you're on tree/foo/bar, the about link will now point to
about/foo/bar.

Currently the annoying thing about this is that it will also do it for
files.
2020-01-11 23:47:41 +00:00
Vincent Ambo
0294eec9da feat(third_party/cgit): Use README at each subtree
This means that individual subtrees of a repository will also have
their READMEs rendered on the about page, for example:

    /foo/bar/README.md

Will render on:

    /about/foo/bar/

This is useful for monorepo setups in which subtrees represent
individual projects.
2020-01-11 23:47:39 +00:00
Vincent Ambo
8de22f654c feat(third_party/cgit): Generate monorepo compatible URLs
Generates URLs that do not include the repository name.

On git.tazj.in, only one repository (depot) is served - hence URLs
generated by cgit need not include the name.
2020-01-11 23:47:36 +00:00
Vincent Ambo
8082d87da3 feat(third_party/git/date): add "dottime" format
Adds dottime (as defined on https://dotti.me) as a timestamp format.

This format is designed to simplify working with timestamps across
many different timezones by keeping the timestamp format itself in
UTC (and indicating this with a dot character), but appending the
local offset.

This is implemented as a new format because the timestamp needs to be
rendered both as UTC and including the offset, an implementation using
a strftime formatting string is not sufficient.
2020-01-11 23:43:50 +00:00
Vincent Ambo
7ef0d62730 merge(third_party/git): Merge squashed git subtree at v2.23.0
Merge commit '1b593e1ea4d2af0f6444d9a7788d5d99abd6fde5' as 'third_party/git'
2020-01-11 23:40:29 +00:00
Vincent Ambo
1b593e1ea4 Squashed 'third_party/git/' content from commit cb71568594
git-subtree-dir: third_party/git
git-subtree-split: cb715685942260375e1eb8153b0768a376e4ece7
2020-01-11 23:36:56 +00:00
Vincent Ambo
6a2a300707 chore(third_party/git): Remove plain patch check-in 2020-01-11 23:36:38 +00:00
Vincent Ambo
5a069d5888 merge(third_party/cgit): Import at master of 2020-01-11
Imported commit '723dc8fbcb1a4609c264758eae420ee2811a2b55' as
'third_party/cgit'.
2020-01-11 23:31:05 +00:00
Vincent Ambo
723dc8fbcb Squashed 'third_party/cgit/' content from commit 8fc0c81
git-subtree-dir: third_party/cgit
git-subtree-split: 8fc0c81bbbed21ee30e8a48b2ab1066a029b7b32
2020-01-11 23:30:06 +00:00
Vincent Ambo
829de752da fix(emacs.d): Trim superfluous whitespace from TODO comments 2020-01-11 23:23:46 +00:00
Vincent Ambo
700a4c2e05 fix(build): Pass 'lib' as readTree argument to packages 2020-01-11 22:23:20 +00:00
Vincent Ambo
2236d43ff7 feat(cheddar): Implement callout paragraphs
Implements support for tagging paragraphs that begin with a callout
word (TODO, WARNING, QUESTION, TIP) with an additional `cheddar-*`
class that makes it possible to render these callouts specially.

This is currently not the nicest implementation, but it works.
2020-01-11 05:06:36 +00:00
Vincent Ambo
d4e469508f refactor(cheddar): Extract code block highlighting into function
Since I am going down the path of adding additional Markdown
extensions it makes sense to avoid letting `format_markdown` turn into
a giant beast of a function.

Therefore this commit extracts the logic for rendering code blocks via
syntect and changes the innards of `format_markdown` to instead
provide arbitrary AST value replacements.
2020-01-11 02:17:19 +00:00
Vincent Ambo
97f069db9e docs: Add buildLisp & cheddar to README 2020-01-11 02:01:39 +00:00
Abseil Team
564001ae50 Export of internal Abseil changes
--
5448463d79c8473d29b6aae62359eaec09e517b0 by Greg Falcon <gfalcon@google.com>:

Rename absl_types_options.h to absl_alternate_options.h, to reflect that we are testing more than just types with this file.

PiperOrigin-RevId: 289099882

--
8008a5662d1b27c4ea442575405eb0538f63a636 by Abseil Team <absl-team@google.com>:

Internal change

PiperOrigin-RevId: 289097666

--
0e9398fae540bdb7dd752245b83456f3784c50ca by Abseil Team <absl-team@google.com>:

Internal change

PiperOrigin-RevId: 288985613
GitOrigin-RevId: 5448463d79c8473d29b6aae62359eaec09e517b0
Change-Id: I5bc1ee156294793cacf3acbc447c0ea27ce8af4f
2020-01-10 13:37:41 -05:00
Vincent Ambo
4adaf29043 feat(third_party/lisp): Add derivation for cl-ansi-text 2020-01-10 00:38:35 +00:00
Vincent Ambo
b90a5bbfbc feat(third_party/lisp): Add derivation for cl-colors2 2020-01-10 00:38:10 +00:00
Vincent Ambo
98836812eb feat(third_party/lisp): Add derivation for cl-ppcre 2020-01-10 00:27:25 +00:00
Abseil Team
b3aaac8a37 Export of internal Abseil changes
--
9beb68204986a015c9cb065b9fae4f9a8879a788 by Abseil Team <absl-team@google.com>:

Move Base64EscapeInternal and CalculateBase64EscapedLenInternal to an internal header.

PiperOrigin-RevId: 288917378

--
90acfbe03b3f9f6de3ffa49c39343dfaa2c5d38c by Greg Falcon <gfalcon@google.com>:

Update macos CI script to support the ALTERNATE_OPTIONS environment variable.

PiperOrigin-RevId: 288913564

--
f1572e870678cdcda6b48cb39780d1ad984e4c1b by Derek Mauro <dmauro@google.com>:

Makes absl::NullSafeStringView constexpr
Fixes https://github.com/abseil/abseil-cpp/issues/583

PiperOrigin-RevId: 288906940

--
d28a8471e32c10caa64bfffe6d6d4d0a8d144013 by Abseil Team <absl-team@google.com>:

absl::GetFlag is lock free for small trivially copyable types.

PiperOrigin-RevId: 288768172

--
2643b8ed1a1dc836b38ab9e46538a1af129ffd67 by Gennadiy Rozental <rogeeff@google.com>:

Eliminate call to callback from flag initialization.

We do not need to have this invocation inside FlagImpl::Init since SetCallback performs invocation anyways. Calling InitCallback from inside of Init complicates separation of value initialization from data guard initialization, which is about to happen.

PiperOrigin-RevId: 288732526

--
22caa880b7a4cb6da34e16a2e064a473c99e880b by Abseil Team <absl-team@google.com>:

Fix the documentation on how to create a null string_view.

PiperOrigin-RevId: 288727968

--
10727c5cadc561837141176f4c9b9717cec9233a by Greg Falcon <gfalcon@google.com>:

Change CI scripts for gcc to use the ALTERNATE_OPTIONS file as well.

PiperOrigin-RevId: 288718855

--
5d1e2dd6c7fb12af8aa4337a0f61872f5f0c5992 by Greg Falcon <gfalcon@google.com>:

Add an option for using inline namespaces in Abseil.

PiperOrigin-RevId: 288614491
GitOrigin-RevId: 9beb68204986a015c9cb065b9fae4f9a8879a788
Change-Id: If9acd46301e3df8cb231b4c16f7ed651bf4fb3c3
2020-01-09 14:19:30 -05:00
Vincent Ambo
09720e2da2 fix(buildLisp): Wrap executables to set load paths correctly
I can not currently find a way to set the CFFI variables correctly to
get it to load libraries from Nix.

In the absence of that feature, a wrapper also does the trick.
2020-01-09 03:32:29 +00:00
Vincent Ambo
44820827d1 feat(buildLisp): Initial implementation of foreign library loading
Adds a new 'native' parameter to the buildLisp functions in which
libraries can be passed in.

This does not yet work with CFFI packages.
2020-01-09 02:57:02 +00:00
Vincent Ambo
fd9fb7730a feat(third_party/lisp): Add derivation for CL+SSL 2020-01-09 01:55:42 +00:00
Vincent Ambo
11e0bf4958 feat(third_party/lisp): Add dummy package for sb-posix 2020-01-09 01:55:31 +00:00
Vincent Ambo
3940b2e1a8 feat(third_party/lisp): Add derivation for flexi-streams 2020-01-09 01:15:31 +00:00
Vincent Ambo
815574ad5f feat(third_party/lisp): Add derivation for trivial-gray-streams 2020-01-09 01:13:14 +00:00
Vincent Ambo
67170024d2 feat(third_party/lisp): Add derivation for trivial-garbage 2020-01-09 01:10:28 +00:00
Vincent Ambo
7edbcf9c04 feat(third_party/lisp): Add derivation for bordeaux-threads 2020-01-09 01:07:12 +00:00
Vincent Ambo
f8519aefef feat(third_party/lisp): Add derivation for cffi 2020-01-09 01:00:11 +00:00
Vincent Ambo
e8d0488367 feat(third_party/lisp): Add dummy packages for ASDF & UIOP
These both ship with SBCL, but need to be forced to load.
2020-01-09 00:59:45 +00:00
Vincent Ambo
2a170f1ed7 fix(buildLisp): Perform a topological sort of dependencies
This ensures that dependencies are loaded in the correct order in
larger dependency graphs.
2020-01-09 00:46:20 +00:00
Vincent Ambo
06362a812e feat(third_party/lisp): Add derivation for trivial-features 2020-01-09 00:17:44 +00:00
Vincent Ambo
07ee256932 feat(third_party/lisp): Add derivation for babel 2020-01-09 00:17:39 +00:00
Vincent Ambo
d9e1075e28 feat(third_party/lisp): Add derivation for Alexandria 2020-01-09 00:04:52 +00:00
Vincent Ambo
e3a8dc9500 fix(buildLisp): Cursed code to fix load ordering
It's not enough to compile in the right order - turns out you also
have to load the compiled objects in the right order.

To achieve this some cursed code has been added that changes the Lisp
generated by Nix to compile the other Lisp so that it also generates
some bash, which Nix can then use to concatenate the FASLs in the
right order to feed them to Lisp again.

It works but I'll replace it with a more elegant solution once one is
needed.
2020-01-08 23:57:34 +00:00
Vincent Ambo
7bc10eb9b7 feat(buildLisp): Add initial, tiny example program 2020-01-08 21:41:43 +00:00
Vincent Ambo
bdad8f6642 feat(buildLisp): Implement buildLisp.program to dump executables
Dumps the executable image from SBCL to $out/bin/$name.

Image compression is disabled.
2020-01-08 21:39:26 +00:00
Vincent Ambo
2bfe073eb2 refactor(buildLisp): Inline dependency loading in genCompileLisp 2020-01-08 21:39:06 +00:00
Vincent Ambo
b5e1e81a3d feat(buildLisp): Add function to wrap SBCL with dependencies
Adds `buildLisp.sbclWith` which creates an SBCL wrapper the contains
all the requested dependencies.
2020-01-08 19:38:29 +00:00
Vincent Ambo
ca199a57d9 feat(buildLisp): Implement dependency loading & propagation
Similar to buildGo.nix, the library derivations carry information
about their dependencies which is merged when a load file is
instantiated.

The load files are created when compiling libraries, but will in the
future also be created when wrapping SBCL and dumping images.
2020-01-08 18:40:53 +00:00
Vincent Ambo
1297afec4b fix(buildLisp): Fail the build on compilation errors
This needs to be handled explicitly in the COMPILE-FILE form.
2020-01-08 17:53:06 +00:00
Vincent Ambo
894c23510b fix(third_party/git): Update dottime patch for git
Updates the commit message & fixes whitespace error before submitting
this.
2020-01-08 13:02:11 +00:00
Vincent Ambo
a954bd8d5e feat(nix/buildLisp): Add initial sketch including buildLisp.library
Adds a Nix function to build a Lisp library out of a specified set of
Nix files. All files are combined into a single FASL.

This is by design only compatible with SBCL (for now).
2020-01-08 02:00:54 +00:00
Vincent Ambo
cd0093d46e fix(emacs): Minor typo fix 2020-01-08 00:32:56 +00:00
Vincent Ambo
9e2f86d65d chore(emacs): Bump emacs-libvterm to a more recent version 2020-01-07 22:28:36 +00:00
Vincent Ambo
efc782fcdc fix(emacs): Disable linking of imagemagick due to vterm crashes
See explanatory comment.
2020-01-07 22:28:17 +00:00
Vincent Ambo
31f66491a9 feat(ops/nixos/nugget): Install SBCL in system packages 2020-01-07 22:26:01 +00:00