From 72b15842815566c46b9e770915fa917d41e7fe89 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Fri, 5 Jan 2018 20:23:33 +0100 Subject: Updated ReadMe and pkgbuild --- .gitignore | 3 +++ README.md | 21 ++++++++------- docs/manual/Building.md | 18 +++++++------ linux/makepkg/PKGBUILD | 47 ---------------------------------- linux/makepkg/PKGBUILD.aqua | 58 ++++++++++++++++++++++++++++++++++++++++++ linux/makepkg/PKGBUILD.generic | 47 ++++++++++++++++++++++++++++++++++ 6 files changed, 130 insertions(+), 64 deletions(-) delete mode 100644 linux/makepkg/PKGBUILD create mode 100644 linux/makepkg/PKGBUILD.aqua create mode 100644 linux/makepkg/PKGBUILD.generic diff --git a/.gitignore b/.gitignore index f692ec6..2d6b408 100644 --- a/.gitignore +++ b/.gitignore @@ -4,5 +4,8 @@ build* # QtCreator .pro.user settings *.user +# clion +.idea + # python __pycache__ diff --git a/README.md b/README.md index 4620bc3..d7bcd68 100644 --- a/README.md +++ b/README.md @@ -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 b/linux/makepkg/PKGBUILD deleted file mode 100644 index 9a17f9b..0000000 --- a/linux/makepkg/PKGBUILD +++ /dev/null @@ -1,47 +0,0 @@ -# Maintainer: Aqua-sama - -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' '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" - - # Generate a makefile - # Adjust the install prefix as necessary, default is /usr/local/bin - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local "$srcdir/smolbote-git" - - # Use this if you want to link with libc++ instead - # This requires clang, since gcc doesn't understand the concept of not using libstdc++ - #cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DUseLibCpp=On "$srcdir/smolbote-git" - - # build, with 4 threads - make -j 4 -} - -package() { - cd "$pkgname-$pkgver" - make DESTDIR="$pkgdir/" install -} 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 + +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.generic b/linux/makepkg/PKGBUILD.generic new file mode 100644 index 0000000..9a17f9b --- /dev/null +++ b/linux/makepkg/PKGBUILD.generic @@ -0,0 +1,47 @@ +# Maintainer: Aqua-sama + +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' '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" + + # Generate a makefile + # Adjust the install prefix as necessary, default is /usr/local/bin + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local "$srcdir/smolbote-git" + + # Use this if you want to link with libc++ instead + # This requires clang, since gcc doesn't understand the concept of not using libstdc++ + #cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DUseLibCpp=On "$srcdir/smolbote-git" + + # build, with 4 threads + make -j 4 +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir/" install +} -- cgit v1.2.1