diff options
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | README.md | 21 | ||||
-rw-r--r-- | docs/manual/Building.md | 18 | ||||
-rw-r--r-- | linux/makepkg/PKGBUILD.aqua | 58 | ||||
-rw-r--r-- | linux/makepkg/PKGBUILD.generic (renamed from linux/makepkg/PKGBUILD) | 0 |
5 files changed, 83 insertions, 17 deletions
@@ -4,5 +4,8 @@ build* # QtCreator .pro.user settings *.user +# clion +.idea + # python __pycache__ @@ -2,11 +2,15 @@ _It's yet another no-frills browser, poi!_ ### What is this and why should I care? -The aim is to create a small, clean and tweakable free-software web browser. +The aim is to create a [KISS](kiss-principle) free-software web browser. -* small is cute: do one thing and do it well +* small: do one thing and do it well * clean: a small codebase of human-readable code -* tweakable: so you can change all the things +* tweakable: you can change all the things + +This is free software. You can use it as you see fit, studay the source code +and change it to suit your needs, and share the program, with or without +modification. For more information, see LICENSE.md. ### What's up with the name?! It's a small boat. @@ -14,13 +18,12 @@ It's a small boat. ### Sounds dumb, how do I use it? You make it yourself. Then you _poi_. -Do you know what makepkg is? Then the PKGBUILD is in linux/makepkg/PKGBUILD. +Do you know what makepkg is? Then take a look in linux/makepkg/. -Do you know what a compiler is? Great, then configure qbs and run -```sh -qbs build -p poi profile:qt5 release -``` +Do you know what a compiler is? Great, glance at docs/manual/Building.md for +instructions. ### It doesn't work, what now? -For the time being, refer complaints to /dev/null. +Drop me an email at _aqua at iserlohn-fortress.net_. +[kiss-principle]: https://en.wikipedia.org/wiki/KISS_principle diff --git a/docs/manual/Building.md b/docs/manual/Building.md index a0c6d94..5eee024 100644 --- a/docs/manual/Building.md +++ b/docs/manual/Building.md @@ -4,9 +4,8 @@ ### Libraries - [Qt](https://www.qt.io/) - - at least 5.9 (codebase should largely work with Qt 5.7) - - core, widgets - - webengine, webenginewidgets + - an up-to-date version, even thought the codebase should largely work with Qt 5.7 or later + - WebEngine - [libconfig](https://hyperrealm.github.io/libconfig/) ### Tools @@ -17,16 +16,19 @@ - minimal version 3.1.0, but please use something up-to-date ## Compiling +smolbote follows the generic cmake build template. ``` -cmake -DCMAKE_BUILD_TYPE=Release ../smolbote.git +# generate makefile +cmake -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" ../smolbote.git +# build make -j 4 +# install +make DESTDIR=/install/root/goes/here install ``` ### Using libc++ -```text -cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DUseLibCpp=On ../smolbote.git -make -j 4 -``` +You can use libc++ over stdlibc++ by setting UseLibCpp to On. Requires clang. +> -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DUseLibCpp=On ## Packaging diff --git a/linux/makepkg/PKGBUILD.aqua b/linux/makepkg/PKGBUILD.aqua new file mode 100644 index 0000000..5dfe35e --- /dev/null +++ b/linux/makepkg/PKGBUILD.aqua @@ -0,0 +1,58 @@ +# Maintainer: Aqua-sama <aqua@iserlohn-fortress.net> + +pkgname=smolbote-git +pkgver=0.0.0 +pkgrel=1 +pkgdesc='Yet another no-frills browser' +url="https://neueland.iserlohn-fortress.net/smolbote" + +arch=('x86_64') +license=('GPL3') + +depends=('qt5-base' 'qt5-webengine') +makedepends=('git' 'cmake' 'ninja' 'libconfig' 'pkg-config') + +source=("smolbote-git::git+git://neueland.iserlohn-fortress.net/smolbote.git") +sha512sums=('SKIP') + +# any patches go here +#prepare() { +#} + +pkgver() { + cd smolbote-git + echo "$(git describe --long --tags | tr - .)" +} + +build() { + rm -rf "$pkgname-$pkgver" + mkdir "$pkgname-$pkgver" + cd "$pkgname-$pkgver" + + # CMake Options + # build type + _cmake_options="-DCMAKE_BUILD_TYPE=Release" + + # install prefix, or where should the binary be installed + _cmake_options="$_cmake_options -DCMAKE_INSTALL_PREFIX=$pkgdir/usr/local" + + # compiler + _cmake_options="$_cmake_options -DCMAKE_CXX_COMPILER=/usr/bin/clang++" + + # use libc++ instead of libstdc++ + _cmake_options="$_cmake_options -DUseLibCpp=On" + + # build system + _cmake_options="$_cmake_options -GNinja" + + # Generate a makefile + cmake $_cmake_options "$srcdir/smolbote-git" + + # build + ninja +} + +package() { + cd "$pkgname-$pkgver" + ninja install +} diff --git a/linux/makepkg/PKGBUILD b/linux/makepkg/PKGBUILD.generic index 9a17f9b..9a17f9b 100644 --- a/linux/makepkg/PKGBUILD +++ b/linux/makepkg/PKGBUILD.generic |