Geekices

Updates to Jarvis, my Arch buildbot

My Arch buildbot, Jarvis, received an update today in the options logic. Now, it can receive an argument in the add (-a) and delete (-d) options, so the user can specify the package to add or delete.

The option to add a package, for now, only works for AUR. If you want to add a package that’s not in AUR, you’ll need to manually add the submodule. In the future, Jarvis will allow you to use a git repository with a PKGBUILD file.

Tony Stark would be jealous. 😉


Geekices

Atualização à lista AntiNónio

Hoje, graças a ela, que tentou ver um vídeo do Miguel Sousa Tavares no site da TVI24, apercebi-me que as páginas com vídeos daquele endereço mostravam o spam do Nónio. “Estranho”, pensei eu. “Isto devia estar bloqueado”.

Uma análise inicial levou-me a pensar que o culpado era um script relacionado com o leitor de vídeo que utilizam, devido à presença da palavra-chave nonio no código. Isto acabou por se revelar errado.

Depois de uma nova vista de olhos nos scripts, o que está relacionado com a barra IOL pareceu-me ser o “gato escondido com o rabo de fora”. E era. Quase… Na verdade era só o rabo. Ao bloquear esse script, os vídeos não eram mostrados; a popup do Nónio também não aparecia mas invalidava o acesso ao vídeo.

Quando olhei para o conteúdo dele, apercebi-me que também invoca outros ficheiros javascript. Um deles, o cdn.iol.pt/BarraIOL/dist/main.js, também contém várias menções àquele incómodo irritante no código fonte.

Bingo! É aquele sacana.

Depois de descoberto, fiz novo commit no repositório e adicionei um bloqueio ao elemento visual relacionado com o spam do Nónio, just in case.

Para teres a última versão, força a atualização das listas no adblocker que usas ou aguarda pela atualização automática.


Geekices

First own package on userrepository.eu

Until now, userrepository.eu only used software from AUR. Today, to get me distracted from the flu and a respiratory infection I got a few days ago, I’ve finally created my first package for Arch Linux on my repository. It’s for a GTK web browser named Eoli and it builds from the master git branch.

Here’s the PKGBUILD at the time of writing:

# Maintainer: Bruno Miguel <omitted>
​
pkgname=eolie-git
_gitname=eolie
pkgver=da1899ff
pkgrel=1
pkgdesc="Simple GTK web browser for GNOME"
arch=('x86_64')
url="https://wiki.gnome.org/Apps/Eolie"
license=('GPL3')
depends=('gtkspell3' 'python-cairo' 'python-dateutil' 'python-gobject' 'webkit2gtk')
makedepends=('git' 'gobject-introspection' 'meson')
optdepends=('python-beautifulsoup4: Import html bookmarks'
            'python-crypto: Firefox Sync support'
            'python-fxa: Firefox Sync support'
            'python-pyopenssl: Show SSL certificates'
            'python-requests-hawk: Firefox Sync support')
source=("git+https://gitlab.gnome.org/World/eolie.git")
sha256sums=('SKIP')
​
pkgver() {
    cd "${_gitname}"
    ( set -o pipefail
        git describe --long 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' ||
        printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
    )
}
​
build() {
    arch-meson "${_gitname}" build
    ninja -C build
}
​
package() {
    DESTDIR="$pkgdir" meson install -C build
}
​

Every time there’s a new commit, it will grab that source and build it. This means you might get a less than stable browser, but also that you’ll always get the latest source.

Happy free softwareing! 🙂


Geekices

Metapackage for a personal installation of Arch Linux and Arch-based distributions

I’ve been using Arch or Arch-based distributions for over a year now. In this time testing a few of them, I’ve always lacked a simple and logical way of installing the same “essential” software. To tackle this, I’ve created a metapackage with all this software and this is what I’ve got so far:

# Maintainer: Bruno Miguel <https://twitter.com/brunomiguel>

pkgname='bruno-essentials'
pkgdesc="A metapackage for some packages I find essential. Requires userrepository.eu repo"
pkgver='0.0.2'
pkgrel=2

url='https://github.com/brunomiguel/base-bruno'
arch=('any')
license=('GPL3')

depends=(
    # base
	'tmux' 'rxvt-unicode' 'urxvt-tabbedex' 'gotop-git' 'pakku' 'inxi' 'brightnessctl-git' 'broot' 'ranger' 'htop' 'git' 'scat' 'scaleway-cli' 'reflector' 'qjournalctl' 'openvpn' 'openssh' 'cpupower' 'bash-completion'
	
	# editors
	'vim' 'micro' 'marktext-bin' 'notable-bin' 'quilter'
	
	# cli utilities
	'terminal-markdown-viewer' 'redshift' 'youtube-dl' 'unrar' 'unzip' 'spicetify-cli' 'pfetch-git' 'profile-cleaner' 'cups'
	
	# multimedia
	'acestream-launcher' 'gimp' 'gimp-plugin-gmic' 'gimp-refocus' 'spotify' 'pavucontrol' 'vlc' 'curseradio-git' 'mpv-acestream' 'jpegoptim' 'optipng' 'acestream-engine' 'trimage' 'pngzop'
	
	# fonts
	'ttf-fira-go' 'ttf-fira-mono-ibx' 'ttf-league-mono' 'ttf-inter-ui' 'interui-otf'
	
	# plasma (somewhat minimal)
	'kvantum-qt5' 'kvantum-theme-materia' 'plasma-desktop' 'konsole' 'ark' 'gwenview' 'kde-gtk-config' 'kdeplasma-addons' 'ksysguard' 'powerdevil' 'user-manager' 'spectacle' 'kio-extras' 'kipi-plugins' 'kcalc' 'kcron' 'okular' 'dolphin' 'dolphin-plugins' 'sweeper' 'kdeconnect' 'oxygen' 'plasma-nm' 'plasma-pa' 'plasma5-applets-redshift-control' 'konsole' 'okular' 'kate' 'print-manager'
	
	# browsers
	'brave-dev-bin' 'firefox' 'firefox-i18n-pt-pt' 'falkon-git' 'librewolf-bin'
	
	# desktop utilities
	'roxterm' 'flameshot' 'libreoffice-fresh' 'filelight'
	
	# security
	'bitwarden-bin'
	
	# i3
	'i3-gaps-rounded-git' 'polybar' 'rofi' 'compton-tryone-git' 'nitrogen'
	
	# themes and icons
	'korla-icon-theme' 'arc-icon-theme' 'boston-icon-theme-git'	
	
	#gamimg
	'steam' 'gamehub'
	
	
)

You can keep up with the changes on Github.