Skip to content

Commit

Permalink
Added dockerfile for xdgnj
Browse files Browse the repository at this point in the history
  • Loading branch information
b3nj5m1n committed Jun 6, 2022
1 parent 6b1dbdf commit c94626c
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 4 deletions.
13 changes: 9 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ This will run every test in the default configuration.
### Optional

- [glow](https://repology.org/project/glow/packages) for rendering markdown in the terminal ([bat](https://repology.org/project/bat-cat/packages), [pygmentize](https://repology.org/project/pygments/versions) or [highlight](https://repology.org/project/highlight/packages) can be used as fallback, but glow's output is clearer and therefore glow is recommended)
- [cabal](https://repology.org/project/cabal/packages) for compiling the helper program for creating configurations

## Configuration

Expand All @@ -43,13 +42,19 @@ Files in this directory can have any name, but using the name of the program is

### Automatically Generating Configuration

You need _haskell_ and _cabal_ installed. (To be clear, this is just for a tool that will help you automatically generate the config files, you still only need your shell to run the tests)
You can download the _xdgnj_ executable from the releases page. Alternatively you can build it from scratch using _cabal_, _stack_, or the provided docker image in _build/_. (To be clear, this is just a tool that will help you automatically generate the config files, you still only need your shell to run the tests)

Run the following command:
Available commands:
```sh
cabal run xdgnj add
xdgnj add # Adds a new configuration
xdgnj prev programs/FILE.json # Preview the configuration for a program
xdgnj run # Mostly the same as running the shell script
```

#### Building from scratch

You can use `cabal build`, `stack build`, or the provided dockerfile in _build/_.

### Manually

We're going to use _git_ as an example.
Expand Down
1 change: 1 addition & 0 deletions build/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
xdgnj
10 changes: 10 additions & 0 deletions build/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
FROM fpco/stack-build:lts-19.10

WORKDIR /usr/lib/gcc/x86_64-linux-gnu/7.5.0
RUN ls
RUN cp crtbeginT.o crtbeginT.o.orig
RUN cp crtbeginS.o crtbeginT.o

RUN git clone "https://github.com/b3nj5m1n/xdg-ninja" /tmp/xdg-ninja
WORKDIR /tmp/xdg-ninja
RUN stack install --ghc-options '-optl-static -fPIC'
4 changes: 4 additions & 0 deletions build/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/env sh
docker build -t xdgnj . || exit 1
docker run --rm --volume "$(pwd):/data" xdgnj cp "/root/.local/bin/xdgnj" "/data/xdgnj" || exit 1
sudo chown "$USER" xdgnj

0 comments on commit c94626c

Please sign in to comment.