From 0bdd5e4517e4790e7a8bd45fbec585ba91f08838 Mon Sep 17 00:00:00 2001 From: Armaan Bhojwani <3fb650a9-b47e-4604-a282-1dd91953b2ee@anonaddy.me> Date: Wed, 9 Dec 2020 10:15:41 -0500 Subject: [PATCH] add sr.ht CI, remove docker, update README --- .build.yml | 14 ++++++++++++++ Dockerfile | 11 ----------- README.md | 30 +++++------------------------- 3 files changed, 19 insertions(+), 36 deletions(-) create mode 100644 .build.yml delete mode 100644 Dockerfile diff --git a/.build.yml b/.build.yml new file mode 100644 index 0000000..fb8f236 --- /dev/null +++ b/.build.yml @@ -0,0 +1,14 @@ +image: archlinux +packages: + - readline + - cmake + - gcc +sources: + - https://git.sr.ht/~armaan/gen-shell +tasks: + - cmake: | + cd gen-shell + cmake . + make +artifacts: + - gen-shell/src/gen-shell diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 635582b..0000000 --- a/Dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -FROM debian:buster-slim AS builder -RUN apt-get update && apt-get install -y cmake gcc g++ git libreadline-dev make -WORKDIR /app -ENTRYPOINT git clone --recursive --depth 1 https://codeberg.org/armaan/gen-shell.git /app -CMD cmake --configure . && cmake --build . - -FROM debian:buster-slim AS run -RUN apt-get update && apt-get install -y cpp libreadline7 libncurses6 -WORKDIR /app -COPY --from=builder /app/src/gen-shell . -ENTRYPOINT ./gen-shell -c $command -b $before_command -a $after_command -p $custom_prompt diff --git a/README.md b/README.md index d411b02..36bddf6 100644 --- a/README.md +++ b/README.md @@ -6,42 +6,22 @@ See `gen-shell --help` ## Installation ### From a binary -Binaries can be downloaded [from here](https://build.bhojwani.org/job/gen-shell/lastSuccessfulBuild/artifact/build/src/gen-shell). NB: these binaries are compiled against libreadline7, so if your system only has libreadline8, you can symlink 8 to 7 with `sudo ln -s /usr/lib/x86_64-linux-gnu/libreadline.so.8.0 /usr/lib/x86_64-linux-gnu/libreadline.so.7`. This isn't a great solution, but it gets the job done. +Binaries can be downloaded from the refs tab above. NB: these binaries are compiled against libreadline version 8 ### From source -If you would like to avoid this, you can build from source. Doing so requires: +Dependencies: - cmake (2.8 or higher) - make - - gcc - g++ (sometimes packaged as gcc-c++ or gcc-g++) - - cpp (any somewhat recent version is fine) - - libreadline development files (7 or 8 is fine, 5 is untested) (optional, but highly reccomended) + - libreadline development files (7 or 8 is fine, 5 is untested) (optional, but highly recommended) -On a Debian or Ubuntu based distribution, you can install these dependencies with this command: ```bash -sudo apt update && sudo apt install cmake make gcc g++ cpp libreadline-dev -``` -Then download and build gen shell: -```bash -git clone --recursive https://codeberg.org/armaan/gen-shell +git clone https://git.sr.ht/~armaan/gen-shell cd gen-shell cmake . sudo make install ``` -### Docker -You can also run gen-shell in docker. Simply use -```bash -docker run -it -e command= -e before_command= -e after_command= -e custom_prompt= armaanb/gen-shell -``` -Or to build the docker container locally, run: -```bash -git clone --recursive https:/codeberg.org/armaan/gen-shell -cd gen-shell -docker build gen-shell:latest . -``` -This method ensures that you have the latest version, and also lets you modify the code in the docker image - ## License Following suit from taskshell, gen-shell is MIT licensed by Armaan Bhojwani, 2020. Gen-shell is forked from taskshell, which was developed by [these people](https://github.com/GothenburgBitFactory/taskshell/blob/master/AUTHORS). -Gen-shell uses the [Sarge library](https://github.com/MayaPosch/Sarge) for parsing command-line arguments. Sarge was written by Maya Posch and is BSD 3-Clause licensed. It is added as a submodule in the root folder of this repository. +Gen-shell uses the [Sarge library](https://github.com/MayaPosch/Sarge) for parsing command-line arguments. Sarge was written by Maya Posch and is BSD 3-Clause licensed. -- 2.39.2