Files
extra/lumina/PKGBUILD
2025-06-22 20:39:04 -05:00

290 lines
8.6 KiB
Bash

# Maintainer: Jesus E. <heckyel@riseup.net>
pkgbase=lumina
pkgname=(lumina-core lumina-core-utils
lumina-archiver lumina-fileinfo lumina-fm
lumina-photo lumina-screenshot
lumina-textedit lumina-calculator)
pkgver=1.6.0
pkgrel=8
pkgdesc="Lumina Desktop Environment"
arch=('i686' 'x86_64')
url='https://lumina-desktop.org/'
license=('Modified-BSD')
makedepends=(libxcb libxcursor libxdamage qt-base qt-multimedia qt-svg qt-x11extras qt-xcb-private-headers xcb-util xcb-util-image xcb-util-wm)
source=($pkgbase-$pkgver.tar.gz::https://github.com/lumina-desktop/lumina/archive/refs/tags/v$pkgver.tar.gz
$pkgbase-calculator-$pkgver.tar.gz::https://github.com/lumina-desktop/lumina-calculator/archive/refs/tags/v$pkgver.tar.gz
distributor-logo-dark.svg
distributor-logo-light.svg
libre.patch
boot-splash.patch
remove-xscreensaver-support.patch)
sha512sums=('e923961568ab9cc32206386066daef8cd1fd2db2d5c3e260e5c1da1dcda39a516576418f607cefbe5a1c47d8684591d0e595fb344e7d6aa2859fc3b326e73e30'
'e4005a3b17ff46a90b07f6dd22c7b2c6156c9c26396aefd33394fa5bbb434437e5361a276868b8e2b8753a17b13604b448094b1c04a34e3360fae4f78a271e37'
'58646a70b7a7586662592e7adafed30a679d5a9b06d3f7e0936b7bab9012cde6d92f413019cbff2e90f1864cc484d5b322c57ec4fb978bfc2a7f304fedbe1d74'
'73220ecc0a67e91dca646a81b34351c1933b110aecc34abe0901b37c525bcfc1cc23f395958308fd88074d43926ebb674de6c2007df1db0e1f3aeb4fe80158ae'
'7f8a7ee6613405a9141d891acf4223b01c2584305f193e5897907c149c8e6f50a414f0b95842a0ef8634c7a20cf8881f86e943af587f92a8e9196904f69e482e'
'3e03896bcd450cfd6077526de93ede976170fee71935e43f88687fdd18d2a6f04111e291adcb134f745002366c6169f7c44fb7123ffdbac9e585599c4952419b'
'0bc569cf61b20251d1480631d6eaaa0f8d1f348aa8ea6ad41400b3984625aec6f2b4a0401d8ad5d064ee99edf6bd7e0a9f3746be54098dc0e30ec27ad7658fe0')
prepare() {
cd $pkgbase-$pkgver
# remove non-free data
patch -p1 -i ${srcdir}/libre.patch
# remove unneeded messages within boot-splash
# we want to provide a clean and fitting experience
patch -Np1 -i ${srcdir}/boot-splash.patch
# remove xscreensaver-support
# we do not want further work with this project
patch -Np1 -i ${srcdir}/remove-xscreensaver-support.patch
# array declaration for removals in icon-sets
# we do not want to provide non-free data
declare -a non_free=(
# icons that have problematic issues
'nodejs'
'npm'
'umbraco'
# icons that are related to non-free applications
'apple-finder'
'apple-safari'
'edge'
'emby'
'evernote'
'google-chrome'
'google-earth'
'internet-explorer'
'itunes'
'jira'
'opera'
'plex'
'quicktime'
'skype'
'slack'
'steam'
'teamviewer'
'unity'
'visualstudio'
'whatsapp'
# icons that are related to non-free games
'black-mesa'
'minecraft'
# icons that are related to non-free network services
'amazon'
'appnet'
'basecamp'
'bing'
'bitbucket'
'blogger'
'deviantart'
'disqus'
'dribbble'
'dropbox'
'ebay'
'etsy'
'facebook'
'flattr'
'foursquare'
'github'
'gmail'
'google-drive'
'google-maps'
'google-photos'
'google-play'
'google-plus'
'google-translate'
'google-wallet'
'instagram'
'jsfiddle'
'lastfm'
'linkedin'
'linode'
'mixcloud'
'onedrive'
'pandora'
'pinterest'
'rdio'
'reddit'
'soundcloud'
'spotify'
'stackexchange'
'stackoverflow'
'telegram'
'tumblr'
'twitch'
'twitter'
'vimeo'
'vine'
'vk'
'wechat'
'xing'
'yelp'
'youtube'
# icons that are related to non-FSDG operating systems
'android'
'ubuntu'
# icons that are related to non-free operating systems
'apple-ios'
# icons that are trademarked brands and products
'apple'
'beats'
'blackberry'
'dolby'
'google'
'google-cardboard'
'google-glass'
'microsoft'
'playstation'
'wii'
'wiiu'
# icons that are trademarked characters
'clippy'
)
for i in "${non_free[@]}";
do
rm -rf icon-theme/material-design-{dark,light}/applications/$i.svg
done
unset non_free
}
build() {
cd $srcdir/$pkgbase-$pkgver
qmake CONFIG+=nostrip L_ETCDIR=/etc PREFIX=/usr L_MANDIR=/usr/share/man DEFINES=QT_NO_DBUS
make
cd $srcdir/$pkgbase-calculator-$pkgver/src-qt5
qmake L_ETCDIR=/etc PREFIX=/usr L_MANDIR=/usr/share/man
make
}
package_lumina-core() {
pkgdesc+=" - Core Components"
depends=(fluxbox libxcursor libxdamage libxcb qt-base qt-multimedia qt-svg qt-x11extras xcb-util xcb-util-image xcb-util-wm xenocara-xinit)
optdepends=('alsa-utils: audio mixer control using amixer'
'numlockx: used to toggle the numlock key on session start'
'xenocara-xbacklight: screen brightness control'
'xterm: XDG standards require the availability of a graphical terminal to launch particular types of applications'
'xenocara-xcompmgr: compositor to provide cross-application transparency effects and graphical smoothing'
'picom: compositor to provide cross-application transparency effects and graphical smoothing')
groups=(lumina)
backup=(etc/luminaDesktop.conf)
cd $pkgbase-$pkgver/src-qt5/core
make INSTALL_ROOT=$pkgdir install
install -Dm644 ../../LICENSE -t $pkgdir/usr/share/licenses/$pkgname
mv -v $pkgdir/etc/luminaDesktop.conf{.dist,}
# Set distributor logo
dirdark='usr/share/icons/material-design-dark/scalable/places'
dirlight='usr/share/icons/material-design-light/scalable/places'
install -Dm644 "$srcdir/distributor-logo-dark.svg" $pkgdir/$dirdark/distributor-logo.svg
install -Dm644 "$srcdir/distributor-logo-light.svg" $pkgdir/$dirlight/distributor-logo.svg
# symlinks logo
for i in /usr/share/icons/material-design-{dark,light}/scalable/places
do
ln -sv "$i/distributor-logo.svg" "$pkgdir/${i/\/}/distributor-logo-hyperbola.svg"
done
declare -a _distributor=('hyperbola' 'lumina')
for i in "${_distributor[@]}"
do
ln -sv "/$dirdark/distributor-logo.svg" "$pkgdir/$dirdark/start-here-$i.svg"
ln -sv "/$dirlight/distributor-logo.svg" "$pkgdir/$dirlight/start-here-$i.svg"
done
unset _distributor
}
package_lumina-core-utils() {
pkgdesc+=" - Core Utilities"
depends=(qt-base qt-multimedia qt-svg qt-x11extras xenocara-xrandr)
groups=(lumina)
cd $pkgbase-$pkgver/src-qt5/core-utils
make INSTALL_ROOT=$pkgdir install
install -Dm644 ../../LICENSE -t $pkgdir/usr/share/licenses/$pkgname
}
package_lumina-archiver() {
pkgdesc+=" - Archive Manager"
depends=(coreutils qt-base qt-multimedia qt-svg tar)
groups=(lumina-extra)
cd $pkgbase-$pkgver/src-qt5/desktop-utils/$pkgname
make INSTALL_ROOT=$pkgdir install
install -Dm644 ../../../LICENSE -t $pkgdir/usr/share/licenses/$pkgname
}
package_lumina-fileinfo() {
pkgdesc+=" - File Information Utility"
depends=(qt-base qt-multimedia qt-svg)
groups=(lumina-extra)
cd $pkgbase-$pkgver/src-qt5/desktop-utils/$pkgname
make INSTALL_ROOT=$pkgdir install
install -Dm644 ../../../LICENSE -t $pkgdir/usr/share/licenses/$pkgname
}
package_lumina-fm() {
pkgdesc+=" - File Manager"
depends=(lumina-archiver lumina-core lumina-fileinfo qt-base qt-multimedia qt-svg)
groups=(lumina-extra)
cd $pkgbase-$pkgver/src-qt5/desktop-utils/$pkgname
make INSTALL_ROOT=$pkgdir install
install -Dm644 ../../../LICENSE -t $pkgdir/usr/share/licenses/$pkgname
}
package_lumina-photo() {
pkgdesc+=" - Image Viewer"
depends=(qt-base qt-multimedia qt-svg)
groups=(lumina-extra)
cd $pkgbase-$pkgver/src-qt5/desktop-utils/$pkgname
make INSTALL_ROOT=$pkgdir install
install -Dm644 ../../../LICENSE -t $pkgdir/usr/share/licenses/$pkgname
}
package_lumina-screenshot() {
pkgdesc+=" - Screenshot Utility"
depends=(libxcb libxdamage qt-base qt-multimedia qt-svg qt-x11extras xcb-util xcb-util-image xcb-util-wm)
groups=(lumina-extra)
cd $pkgbase-$pkgver/src-qt5/desktop-utils/$pkgname
make INSTALL_ROOT=$pkgdir install
install -Dm644 ../../../LICENSE -t $pkgdir/usr/share/licenses/$pkgname
}
package_lumina-textedit() {
pkgdesc+=" - Plaintext Editor"
depends=(qt-base qt-multimedia qt-svg)
groups=(lumina-extra)
cd $pkgbase-$pkgver/src-qt5/desktop-utils/$pkgname
make INSTALL_ROOT=$pkgdir install
install -Dm644 ../../../LICENSE -t $pkgdir/usr/share/licenses/$pkgname
}
package_lumina-calculator() {
pkgdesc+=" - Calculator"
depends=(qt-base qt-multimedia qt-svg)
groups=(lumina-extra)
cd $pkgbase-calculator-$pkgver/src-qt5
make INSTALL_ROOT=$pkgdir install
install -Dm644 ../LICENSE -t $pkgdir/usr/share/licenses/$pkgname
}