From 8351be053c9096fdf40624a0bbd99599fbd29c57 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Wed, 27 Mar 2024 20:01:08 +0100 Subject: [PATCH] Add a README --- README.md | 35 +++++++++++++++++++++++++++++++++++ slackbuilder.cabal | 22 ++++++++++++++-------- 2 files changed, 49 insertions(+), 8 deletions(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..462c692 --- /dev/null +++ b/README.md @@ -0,0 +1,35 @@ +# SlackBuilder + +SlackBuilder is a tool which aims to help to update Slackware packages. +It checks for the latest version of an upstream package and can modify +SlackBuild meta information accordingly. + +## Build instructions + +SlackBuilder is a Haskell program and can be built and run using the +Cabal build tool and package manager: + +```sh +cabal build +``` + +After that you can run slackbuilder using Cabal and `cabal run slackbuilder`. +Or you can install the program locally with `cabal install` and run it just +as `slackbuilder` assuming `~/.cabal/bin` is on your PATH. + +## Configuration + +There is a sample configuration file under `config/config.toml.example`. +Just copy this file to `config/config.toml` and modify as needed. + +Each package that should be updated automatically needs a special +description which contains links to the upstream repositories and +instructions how the sources should be prepared. + +Unfortunately the only format currently supported for the package +descriptions is Haskell source code. But I'm planning to make it +possible to describe the packages without recompiling the slackbuilder +itself. + +For the time being `src/Main.hs` contains descriptions of my +slackbuilds, that can be used as an example and a start point. diff --git a/slackbuilder.cabal b/slackbuilder.cabal index ca22590..614c74f 100644 --- a/slackbuilder.cabal +++ b/slackbuilder.cabal @@ -1,19 +1,25 @@ cabal-version: 2.4 name: slackbuilder -version: 1.0.0 +version: 1.0 synopsis: Tool to automatically update Slackware build scripts. bug-reports: https://git.caraus.tech/OSS/slackbuilder/issues license: MPL-2.0 license-files: LICENSE -copyright: (c) 2023 Eugen Wissner +copyright: (c) 2023-2024 Eugen Wissner author: Eugen Wissner maintainer: belka@caraus.de category: Build -extra-source-files: CHANGELOG.md +extra-source-files: + CHANGELOG.md + README.md + +source-repository head + type: git + location: https://git.caraus.tech/OSS/slackbuilder.git common dependencies build-depends: @@ -28,7 +34,7 @@ common dependencies directory ^>= 1.3.8, exceptions >= 0.10, filepath ^>= 1.4.2, - megaparsec ^>= 9.5, + megaparsec ^>= 9.6, modern-uri ^>= 0.3.6, memory ^>= 0.18, parser-combinators ^>= 1.3, @@ -36,13 +42,13 @@ common dependencies req ^>= 3.13, tar-conduit ^>= 0.4, lzma-conduit ^>= 1.2, - text ^>= 2.0, + text ^>= 2.1, tomland ^>= 1.3.3, transformers ^>= 0.5.6, - unordered-containers ^>= 0.2.19, + unordered-containers ^>= 0.2.20, vector ^>= 0.13.0, word8 ^>= 0.1.3 - default-language: Haskell2010 + default-language: GHC2021 default-extensions: DataKinds DuplicateRecordFields @@ -76,7 +82,7 @@ executable slackbuilder SlackBuilder.CommandLine SlackBuilder.Update build-depends: - ansi-terminal ^>= 1.0, + ansi-terminal ^>= 1.1, optparse-applicative ^>= 0.18.1, slackbuilder hs-source-dirs: src