diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index e9d1c4497..bbf381d43 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -28,7 +28,7 @@ jobs: - name: Setup Version run: | VERSION="${GITHUB_REF#refs/*/}" - if [ $VERSION != "stable" ] && [ $VERSION != "staging"] ; then + if [ $VERSION != "stable" ] && [ $VERSION != "staging" ] ; then VERSION="experimental" fi cat > version.yml << EOF diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 3bb9d6337..000000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "files.associations": { - "any": "cpp", - "array": "cpp", - "atomic": "cpp", - "barrier": "cpp", - "bit": "cpp", - "*.tcc": "cpp", - "bitset": "cpp", - "cctype": "cpp", - "cfenv": "cpp", - "charconv": "cpp", - "chrono": "cpp", - "cinttypes": "cpp", - "clocale": "cpp", - "cmath": "cpp", - "codecvt": "cpp", - "compare": "cpp", - "complex": "cpp", - "concepts": "cpp", - "condition_variable": "cpp", - "coroutine": "cpp", - "csetjmp": "cpp", - "csignal": "cpp", - "cstdarg": "cpp", - "cstddef": "cpp", - "cstdint": "cpp", - "cstdio": "cpp", - "cstdlib": "cpp", - "cstring": "cpp", - "ctime": "cpp", - "cuchar": "cpp", - "cwchar": "cpp", - "cwctype": "cpp", - "deque": "cpp", - "forward_list": "cpp", - "list": "cpp", - "map": "cpp", - "set": "cpp", - "string": "cpp", - "unordered_map": "cpp", - "unordered_set": "cpp", - "vector": "cpp", - "exception": "cpp", - "algorithm": "cpp", - "functional": "cpp", - "iterator": "cpp", - "memory": "cpp", - "memory_resource": "cpp", - "numeric": "cpp", - "optional": "cpp", - "random": "cpp", - "ratio": "cpp", - "regex": "cpp", - "source_location": "cpp", - "string_view": "cpp", - "system_error": "cpp", - "tuple": "cpp", - "type_traits": "cpp", - "utility": "cpp", - "fstream": "cpp", - "future": "cpp", - "initializer_list": "cpp", - "iomanip": "cpp", - "iosfwd": "cpp", - "iostream": "cpp", - "istream": "cpp", - "latch": "cpp", - "limits": "cpp", - "mutex": "cpp", - "new": "cpp", - "numbers": "cpp", - "ostream": "cpp", - "ranges": "cpp", - "scoped_allocator": "cpp", - "semaphore": "cpp", - "shared_mutex": "cpp", - "span": "cpp", - "sstream": "cpp", - "stdexcept": "cpp", - "stop_token": "cpp", - "streambuf": "cpp", - "syncstream": "cpp", - "thread": "cpp", - "typeindex": "cpp", - "typeinfo": "cpp", - "valarray": "cpp", - "variant": "cpp" - }, - "Lua.diagnostics.globals": [ - "lfs" - ], - "Lua.workspace.library": [ - "/usr/share/awesome/lib", - "${3rd}/lfs/library" - ] -} \ No newline at end of file diff --git a/elements/apps/firefox.yml b/elements/apps/firefox.yml index b82b85170..2a32680b2 100644 --- a/elements/apps/firefox.yml +++ b/elements/apps/firefox.yml @@ -1,5 +1,5 @@ id: firefox -version: 117.0 +version: 120.0 about: Mozilla Firefox or simply Firefox is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. Firefox uses @@ -12,12 +12,21 @@ script: |- mkdir -p %{install-root}/%{bindir} mv firefox %{install-root}/%{libdir}/ - install -D -m 0755 /dev/stdin %{install-root}/%{bindir}/firefox << EOF - #!/bin/sh - exec %{libdir}/firefox/firefox --class "Firefox" --name "Firefox" "$@" - EOF + ln -sv %{libdir}/firefox/firefox %{install-root}/%{bindir}/firefox - install -D -m 0644 -t %{install-root}/%{datadir}/applications/ /files/firefox/firefox.desktop + install -D -m 0644 /dev/stdin %{install-root}/%{datadir}/applications/firefox.desktop << "EOF" + [Desktop Entry] + Name=Firefox + Name[en_US]=Firefox + GenericName=Web Browser + GenericName[en_US]=Web Browser + Comment=Free web browser from Mozilla + Exec=firefox %U + Terminal=false + Type=Application + Icon=firefox + Categories=Network; + EOF rm -rf %{install-root}/%{libdir}/firefox/browser/features install -vDm644 /dev/stdin %{install-root}/%{libdir}/firefox/distribution/policies.json << "EOF" diff --git a/elements/collections/desktop.yml b/elements/collections/desktop.yml index 2f90dbcaf..9acf66ed6 100644 --- a/elements/collections/desktop.yml +++ b/elements/collections/desktop.yml @@ -21,6 +21,7 @@ depends: - components/xdg-user-dirs-gtk.yml - components/xdg-utils.yml - components/flatpak.yml +- components/power-profiles-daemon.yml # X11 - components/x11/xserver.yml diff --git a/elements/components/initial-setup.yml b/elements/components/initial-setup.yml index 4a8f05a2a..0422ca8b2 100644 --- a/elements/components/initial-setup.yml +++ b/elements/components/initial-setup.yml @@ -3,7 +3,7 @@ merge: [version.yml] about: System Initial Setup variables: - commit: f1dae25a548e32a9b309042ed57baeccc9360531 + commit: 668a7ae3a5aa10d9ff74af64cf922b6cd82041b3 release: 1 post-script: |- diff --git a/elements/components/nvidia.yml b/elements/components/nvidia.yml index d5fbc6069..bb0798f7c 100644 --- a/elements/components/nvidia.yml +++ b/elements/components/nvidia.yml @@ -45,13 +45,6 @@ script: |- # install -Dm755 "libnvidia-compiler.so.%{version}" "%{install-root}/usr/lib/libnvidia-compiler.so.%{version}" install -Dm755 "libnvidia-opencl.so.%{version}" "%{install-root}/usr/lib/libnvidia-opencl.so.%{version}" - find "%{install-root}" -type f -name '*.so*' ! -path '*xorg/*' -print0 | while read -d $'\0' _lib; do - _soname=$(dirname "${_lib}")/$(readelf -d "${_lib}" | grep -Po 'SONAME.*: \[\K[^]]*' || true) - _base=$(echo ${_soname} | sed -r 's/(.*)\.so.*/\1.so/') - [[ -e "${_soname}" ]] || ln -s $(basename "${_lib}") "${_soname}" - [[ -e "${_base}" ]] || ln -s $(basename "${_soname}") "${_base}" - done - install -Dm755 nvidia_drv.so "%{install-root}/usr/lib/xorg/modules/drivers/nvidia_drv.so" # Wayland/GBM @@ -194,3 +187,11 @@ script: |- echo "blacklist nouveau" | install -Dm644 /dev/stdin "%{install-root}/usr/lib/modprobe.d/%{id}.conf" echo "nvidia-uvm" | install -Dm644 /dev/stdin "%{install-root}/usr/lib/modules-load.d/%{id}.conf" + + + find "%{install-root}" -type f -name '*.so*' ! -path '*xorg/*' -print0 | while read -d $'\0' _lib; do + _soname=$(dirname "${_lib}")/$(readelf -d "${_lib}" | grep -Po 'SONAME.*: \[\K[^]]*' || true) + _base=$(echo ${_soname} | sed -r 's/(.*)\.so.*/\1.so/') + [[ -e "${_soname}" ]] || ln -s $(basename "${_lib}") "${_soname}" + [[ -e "${_base}" ]] || ln -s $(basename "${_soname}") "${_base}" + done diff --git a/elements/components/power-profiles-daemon.yml b/elements/components/power-profiles-daemon.yml new file mode 100644 index 000000000..786ba2cf8 --- /dev/null +++ b/elements/components/power-profiles-daemon.yml @@ -0,0 +1,16 @@ +id: power-profiles-daemon +version: 0.13 +about: Makes power profiles handling available over D-Bus + +post-script: |- + install -v -D -m 0644 /dev/stdin %{install-root}%{libdir}/systemd/system-preset/%{id}.preset << "EOF" + enable %{id}.service + EOF + +depends: + - components/polkit.yml + - components/upower.yml + - components/py/py-gobject.yml + +sources: + - https://gitlab.freedesktop.org/hadess/power-profiles-daemon/-/archive/%{version}/power-profiles-daemon-%{version}.tar.gz diff --git a/elements/components/py/py-cups.yml b/elements/components/py/py-cups.yml new file mode 100644 index 000000000..6b6520dc8 --- /dev/null +++ b/elements/components/py/py-cups.yml @@ -0,0 +1,7 @@ +id: py-cups +version: 2.0.1 +about: Python bindings to libcups +depends: + - components/cups.yml +sources: + - py-cups-%{version}.tar.gz::https://github.com/OpenPrinting/pycups/archive/v%{version}.tar.gz diff --git a/elements/components/py/py-curl.yml b/elements/components/py/py-curl.yml new file mode 100644 index 000000000..dbed4ac9d --- /dev/null +++ b/elements/components/py/py-curl.yml @@ -0,0 +1,15 @@ +id: py-curl +version: 7.45.2 +about: Python bindings to curl + +pre-script: |- + make + +depends: + - components/curl.yml + +build-depends: + - components/py/py-setuptools.yml + +sources: + - https://github.com/pycurl/pycurl/archive/REL_%{version:_}/python-pycurl-%{version}.tar.gz diff --git a/elements/components/swupd.yml b/elements/components/swupd.yml index a7e2e5df4..fae4a0db9 100644 --- a/elements/components/swupd.yml +++ b/elements/components/swupd.yml @@ -3,7 +3,7 @@ version: 0.1.0 about: Software Updater Daemon variables: - commit: 2d8ef298f6d2f3e918f79053aa571aad3f8bcfcc + commit: 35e069d6ee4e2df2f8c31b5a30ff86e1127a6e74 post-script: |- install -v -D -m 0755 -t %{install-root}%{bindir} target/release/%{id} diff --git a/elements/components/system-config-printer.yml b/elements/components/system-config-printer.yml new file mode 100644 index 000000000..e44d57458 --- /dev/null +++ b/elements/components/system-config-printer.yml @@ -0,0 +1,40 @@ +id: system-config-printer +version: 1.5.18 +about: A CUPS printer configuration tool and status applet + +build-type: autotools + +configure: >- + --with-systemdsystemunitdir=%{libdir}/systemd/system + --with-udevdir=%{libdir}/udev + --with-udev-rules + --with-cups-serverbin-dir=%{libdir}/cups + +post-script: |- + find %{install-root} -name "*.py" -exec python -mpy_compile {} + + find %{install-root} -name "*.py" -exec python -O -mpy_compile {} + + + install -dm755 %{install-root}/usr/share/dbus-1/system.d + mv %{install-root}/etc/dbus-1/system.d/* %{install-root}/usr/share/dbus-1/system.d + rm -rf %{install-root}/etc/dbus-1 + + # TODO: Why we need to do this manually?? + mv %{install-root}/%{libdir}/python3.11/site-packages/cupshelpers-1.0-py3.11.egg/cupshelpers \ + %{install-root}/%{libdir}/python3.11/site-packages/ + + # Show settings on Xfce4 Settings Manager + sed -i '/^Categories=/ s/$/X-XFCE-SettingsDialog;X-XFCE-HardwareSettings;/' %{install-root}/%{datadir}/applications/%{id}.desktop + + +depends: +- components/gtk.yml +- components/libnotify.yml +- components/libusb.yml +- components/libsecret.yml +- components/py/py-cairo.yml +- components/py/py-dbus.yml +- components/py/py-cups.yml +- components/py/py-curl.yml + +sources: +- https://github.com/OpenPrinting/system-config-printer/releases/download/v%{version}/system-config-printer-%{version}.tar.xz diff --git a/elements/system/repo.yml b/elements/system/repo.yml index 2c0ba2066..2c6de4181 100644 --- a/elements/system/repo.yml +++ b/elements/system/repo.yml @@ -126,6 +126,7 @@ include: - components/xfce4/thunar-plugins/thunar-archive-plugin.yml - components/network-manager-applet.yml + - components/system-config-printer.yml - apps/firefox.yml