From 3c6e7fb2461692c97e3ab89c71498b41b10a8548 Mon Sep 17 00:00:00 2001 From: Jeremy Wall Date: Mon, 23 May 2022 17:02:14 -0400 Subject: [PATCH] sile: Pick up the darwin lua fixes so sile will work --- nix/darwin/darwin-configuration.nix | 8 +- nix/darwin/flake.lock | 54 ++----------- nix/darwin/flake.nix | 11 ++- nix/sile/flake.lock | 41 ---------- nix/sile/flake.nix | 15 ---- nix/sile/package.nix | 117 ---------------------------- 6 files changed, 14 insertions(+), 232 deletions(-) delete mode 100644 nix/sile/flake.lock delete mode 100644 nix/sile/flake.nix delete mode 100644 nix/sile/package.nix diff --git a/nix/darwin/darwin-configuration.nix b/nix/darwin/darwin-configuration.nix index a611549..cdba49b 100644 --- a/nix/darwin/darwin-configuration.nix +++ b/nix/darwin/darwin-configuration.nix @@ -3,6 +3,7 @@ nix = { package = pkgs.nix; + useSandbox = true; extraOptions = '' experimental-features = nix-command flakes ''; @@ -71,8 +72,6 @@ with pkgs; [ nodejs tmux - inputs.runwhen - inputs.durnitisp gnumake # TODO find a version of the julia package that will install # on darwin and add it as an overlay @@ -81,7 +80,6 @@ git mercurial bash - # inputs.buildah curl wget jq @@ -90,10 +88,12 @@ watch iterm2 go - inputs.sile htop colima lima + inputs.sile + inputs.runwhen + inputs.durnitisp # TODO add sonic-pi here if it supports the arch ]; diff --git a/nix/darwin/flake.lock b/nix/darwin/flake.lock index d874488..76a09d4 100644 --- a/nix/darwin/flake.lock +++ b/nix/darwin/flake.lock @@ -132,21 +132,6 @@ "type": "github" } }, - "flake-utils_5": { - "locked": { - "lastModified": 1649676176, - "narHash": "sha256-OWKJratjt2RW151VUlJPRALb7OU2S5s+f0vLj4o1bHM=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "a4b154ebbdc88c8498a5c7b01589addc9e9cb678", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "naersk": { "inputs": { "nixpkgs": "nixpkgs" @@ -199,15 +184,16 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1650155902, - "narHash": "sha256-UFqkwGceA/CGNbWSleACF/KTTosDzk/8ESjRV3Y70S0=", + "lastModified": 1653328845, + "narHash": "sha256-NKc98+iX8YH500np1zWZSQ2C+FoD9sS/nuH02Rg2ats=", "owner": "nixos", "repo": "nixpkgs", - "rev": "03cec787b418eafe42dd061fe6d972fd97b17fb3", + "rev": "7ae60dd7068478db5d936a3850b6df859aec21d0", "type": "github" }, "original": { "owner": "nixos", + "ref": "22.05-beta", "repo": "nixpkgs", "type": "github" } @@ -241,28 +227,13 @@ "type": "github" } }, - "nixpkgs_5": { - "locked": { - "lastModified": 1651545648, - "narHash": "sha256-7f1JYFHtfTOvois5LdXrKXthjb6rE9i8ZxWDQyzYKAk=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "24c33ab7952544ad355d0677c9eea931b23f371c", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, "root": { "inputs": { "darwin": "darwin", "durnitisp": "durnitisp", "nixpkgs": "nixpkgs_2", "runwhen": "runwhen", - "rust-overlay": "rust-overlay_2", - "sile": "sile" + "rust-overlay": "rust-overlay_2" } }, "runwhen": { @@ -329,21 +300,6 @@ "repo": "rust-overlay", "type": "github" } - }, - "sile": { - "inputs": { - "flake-utils": "flake-utils_5", - "nixpkgs": "nixpkgs_5" - }, - "locked": { - "narHash": "sha256-5JapwZZF3DBmVXtyK8gzDgaquNMgzS8l5+nR8lMm9uk=", - "path": "./../sile", - "type": "path" - }, - "original": { - "path": "./../sile", - "type": "path" - } } }, "root": "root", diff --git a/nix/darwin/flake.nix b/nix/darwin/flake.nix index c7570c8..c506aad 100644 --- a/nix/darwin/flake.nix +++ b/nix/darwin/flake.nix @@ -1,8 +1,8 @@ { inputs = { - # TODO(jwall): Use the oxalica rust overlay here - nixpkgs.url = "github:nixos/nixpkgs"; + # TODO(jwall): Pinning this to a fixed version of lua on darwin for now. + nixpkgs.url = "github:nixos/nixpkgs?ref=22.05-beta"; darwin.url = "github:lnl7/nix-darwin"; darwin.inputs.nixpkgs.follows = "nixpkgs"; runwhen.url = "github:zaphar/runwhen"; @@ -11,10 +11,9 @@ url = "github:oxalica/rust-overlay"; inputs.nixpkgs.follows = "nixpkgs"; }; - sile.url = "path:./../sile"; }; - outputs = {self, nixpkgs, darwin, runwhen, durnitisp, rust-overlay, sile }: + outputs = {self, nixpkgs, darwin, runwhen, durnitisp, rust-overlay }: let forSystem = (system: let @@ -29,8 +28,8 @@ runwhen = runwhen.defaultPackage."${system}"; durnitisp = durnitisp.defaultPackage."${system}"; rust-overlay = rust-overlay.overlay; - buildah = pkgs.buildah; - sile = sile.defaultPackage."${system}"; + #TODO(jwall): when the libtexpdf issue is fixed we can stop doing this + sile = pkgs.sile.overrideAttrs(oldAttrs: { doCheck = false; }); }; }); in diff --git a/nix/sile/flake.lock b/nix/sile/flake.lock deleted file mode 100644 index e406d60..0000000 --- a/nix/sile/flake.lock +++ /dev/null @@ -1,41 +0,0 @@ -{ - "nodes": { - "flake-utils": { - "locked": { - "lastModified": 1649676176, - "narHash": "sha256-OWKJratjt2RW151VUlJPRALb7OU2S5s+f0vLj4o1bHM=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "a4b154ebbdc88c8498a5c7b01589addc9e9cb678", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1651545648, - "narHash": "sha256-7f1JYFHtfTOvois5LdXrKXthjb6rE9i8ZxWDQyzYKAk=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "24c33ab7952544ad355d0677c9eea931b23f371c", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "root": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/nix/sile/flake.nix b/nix/sile/flake.nix deleted file mode 100644 index 09b9890..0000000 --- a/nix/sile/flake.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ - inputs = { - nixpkgs.url = "nixpkgs"; - flake-utils.url = "github:numtide/flake-utils"; - }; - - outputs = {self, nixpkgs, flake-utils}: - flake-utils.lib.eachDefaultSystem (system: - let - pkgs = import nixpkgs { inherit system; }; - sile = with pkgs; callPackage ./package.nix { }; - in { - defaultPackage = sile; - }); -} diff --git a/nix/sile/package.nix b/nix/sile/package.nix deleted file mode 100644 index 70f9b8b..0000000 --- a/nix/sile/package.nix +++ /dev/null @@ -1,117 +0,0 @@ -{ lib, stdenv -, darwin -, fetchurl -, makeBinaryWrapper -, pkg-config -, poppler_utils -, gitMinimal -, harfbuzz -, icu -, fontconfig -, lua -, libiconv -, makeFontsConf -, gentium -}: - -let - luaEnv = lua.withPackages(ps: with ps; [ - cassowary - cosmo - compat53 - linenoise - lpeg - lua-zlib - lua_cliargs - luaepnf - luaexpat - luafilesystem - luarepl - luasec - luasocket - luautf8 - penlight - stdlib - vstruct - ]); -in - -stdenv.mkDerivation rec { - pname = "sile"; - version = "0.12.5"; - - src = fetchurl { - url = "https://github.com/sile-typesetter/sile/releases/download/v${version}/${pname}-${version}.tar.xz"; - sha256 = "0z9wdiqwarysh3lhxss3w53vq58ml46bdi9ymr853kfl7m4gz5yy"; - }; - - configureFlags = [ - "--with-system-luarocks" - "--with-manual" - ]; - - nativeBuildInputs = [ - gitMinimal - pkg-config - makeBinaryWrapper - ]; - buildInputs = [ - harfbuzz - icu - fontconfig - libiconv - luaEnv - ] - ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.AppKit - ; - checkInputs = [ - poppler_utils - ]; - - preConfigure = '' - patchShebangs build-aux/*.sh - '' + lib.optionalString stdenv.isDarwin '' - sed -i -e 's|@import AppKit;|#import |' src/macfonts.m - ''; - - NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-framework AppKit"; - - FONTCONFIG_FILE = makeFontsConf { - fontDirectories = [ - gentium - ]; - }; - - #TODO(jwall): Eventually we shouldn't need this anymore - #doCheck = true; - - enableParallelBuilding = true; - - preBuild = lib.optionalString stdenv.cc.isClang '' - substituteInPlace libtexpdf/dpxutil.c \ - --replace "ASSERT(ht && ht->table && iter);" "ASSERT(ht && iter);" - ''; - - # Hack to avoid TMPDIR in RPATHs. - preFixup = ''rm -rf "$(pwd)" && mkdir "$(pwd)" ''; - - outputs = [ "out" "doc" "man" "dev" ]; - - meta = with lib; { - description = "A typesetting system"; - longDescription = '' - SILE is a typesetting system; its job is to produce beautiful - printed documents. Conceptually, SILE is similar to TeX—from - which it borrows some concepts and even syntax and - algorithms—but the similarities end there. Rather than being a - derivative of the TeX family SILE is a new typesetting and - layout engine written from the ground up using modern - technologies and borrowing some ideas from graphical systems - such as InDesign. - ''; - homepage = "https://sile-typesetter.org"; - changelog = "https://github.com/sile-typesetter/sile/raw/v${version}/CHANGELOG.md"; - platforms = platforms.unix; - license = licenses.mit; - }; -}