Package Details: cosmic-epoch-git r123.2eadc4e-1

Git Clone URL: https://aur.archlinux.org/cosmic-epoch-git.git (read-only, click to copy)
Package Base: cosmic-epoch-git
Description: Cosmic desktop environment from System76's Pop!_OS written in Rust utilizing Iced inspired by GNOME
Upstream URL: https://github.com/pop-os/cosmic-epoch
Keywords: iced pop!_os rust system76
Licenses: GPL-3.0-or-later AND MPL-2.0 AND CC-BY-SA-4.0
Conflicts: cosmic-applets, cosmic-applibrary, cosmic-bg, cosmic-comp, cosmic-edit, cosmic-epoch, cosmic-files, cosmic-greeter, cosmic-icons, cosmic-launcher, cosmic-notifications, cosmic-osd, cosmic-panel, cosmic-randr, cosmic-screenshot, cosmic-session, cosmic-settings, cosmic-settings-daemon, cosmic-store, cosmic-term, cosmic-workspaces, cosmic-workspaces-epoch, xdg-desktop-portal-cosmic
Provides: cosmic-applets, cosmic-applibrary, cosmic-bg, cosmic-comp, cosmic-edit, cosmic-epoch, cosmic-files, cosmic-greeter, cosmic-icons, cosmic-launcher, cosmic-notifications, cosmic-osd, cosmic-panel, cosmic-randr, cosmic-screenshot, cosmic-session, cosmic-settings, cosmic-settings-daemon, cosmic-store, cosmic-term, cosmic-workspaces, cosmic-workspaces-epoch, xdg-desktop-portal-cosmic
Submitter: soloturn
Maintainer: soloturn (yochananmarqos)
Last Packager: yochananmarqos
Votes: 16
Popularity: 2.25
First Submitted: 2023-02-11 09:27 (UTC)
Last Updated: 2024-04-26 14:48 (UTC)

Required by (4)

Sources (24)

Pinned Comments

yochananmarqos commented on 2024-03-25 21:50 (UTC) (edited on 2024-03-25 21:51 (UTC) by yochananmarqos)

PSA: Do a clean build before commenting that it's not working.

FYI, every time I touch the PKGBUILD be sure that I just spent 30 - 40 minutes building it in a clean chroot.

soloturn commented on 2023-02-20 03:14 (UTC) (edited on 2024-03-31 10:15 (UTC) by soloturn)

Expect some loose ends, not yet released. 'Super + A' and 'Super + /' for application library and launcher. one can build with an AUR helper, or with makepkg.

build with AUR helper

this avoids recompiling the rust code again and again. but does not avoid relinking the executables in case one build fails and you trigger again:

CARGO_TARGET_DIR=~/.cache/paru/cargo-target paru
build with makepkg in clean environment

advantage is if you rebuild in case it fails one time, it better remembers stuff already built.

git LFS breaks build

do not enable git lfs. it may lead to failures in cloning. last known occurrence for cosmic-greeter, reported here: https://github.com/pop-os/cosmic-greeter/issues/5

Latest Comments

« First ‹ Previous 1 .. 3 4 5 6 7 8 9 10 11 12 13 .. 16 Next › Last »

yochananmarqos commented on 2024-01-07 20:20 (UTC)

@ywnkmn: Fix what? If you have a change to the PKGBUILD, post a diff, I have no idea what you're talking about.

FYI, I build in a clean chroot and test it on a system with both GNOME and COSMIC sessions logging in via GDM.

soloturn commented on 2024-01-07 20:18 (UTC) (edited on 2024-01-07 20:34 (UTC) by soloturn)

tried to see if ywnkmn error i can see as well. but for me it falls over earlier which i find confusing at the moment, as checking out cosmic greeter repo at cosmic-greeter @ 8d91f3c works. i saw that makepkg does not like git-lfs though:

  -> Creating working copy of cosmic-greeter git repo...
Cloning into 'cosmic-greeter'...
done.
Downloading res/background.png (941 KB)
Error downloading object: res/background.png (96f2a21): Smudge error: Error downloading res/background.png (96f2a2144f42a1d2284e854589f755b03678406c08bf686d7abd1a12634b11ed): error transferring "96f2a2144f42a1d2284e854589f755b03678406c08bf686d7abd1a12634b11ed": [0] remote missing object 96f2a2144f42a1d2284e854589f755b03678406c08bf686d7abd1a12634b11ed

Errors logged to '/home/tt/tmp/cosmic-epoch-git/src/cosmic-greeter/.git/lfs/logs/20240107T211255.646078887.log'.
Use `git lfs logs last` to view the log.
error: external filter 'git-lfs filter-process' failed
fatal: res/background.png: smudge filter lfs failed
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'

==> ERROR: Failure while creating working copy of cosmic-greeter git repo
    Aborting...

ywnkmn commented on 2024-01-07 20:07 (UTC) (edited on 2024-01-07 20:08 (UTC) by ywnkmn)

Spent a century on trying to fix it:

pkgname=cosmic-epoch-git
pkgver=r108.79c472c
pkgrel=1
pkgdesc="Cosmic desktop environment from System76's Pop!_OS written in Rust utilizing Iced inspired by GNOME"
arch=('x86_64')
url="https://github.com/pop-os/cosmic-epoch"
license=('GPL3')
depends=(
  'cage'
  'fontconfig'
  'greetd'
  'gtk3'
  'gtk4'
  'libinput'
  'libglvnd'
  'libpipewire'
  'libpulse'
  'libxkbcommon'
  'pop-icon-theme'
  'pop-launcher-git'
  'seatd'
  'systemd-libs'
  'wayland'
  'xdg-desktop-portal'
)
makedepends=(
  'cargo'
  'clang'
  'git'
  'intltool'
  'just'
  'mold'
)
checkdepends=('desktop-file-utils' 'appstream-glib')

provides=('cosmic-epoch')
conflicts=('cosmic-epoch')
backup=('etc/cosmic-comp/config.ron')
options=('!lto')
source=("cosmic-epoch::git+https://github.com/pop-os/cosmic-epoch.git")
sha256sums=('SKIP')

pkgver() {
  cd "$srcdir/cosmic-epoch"
  printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

prepare() {
  cd "$srcdir/cosmic-epoch"
  git submodule update --init --recursive

  export CARGO_HOME="$srcdir/cargo-home"
  export RUSTUP_TOOLCHAIN=stable

  # Use mold linker instead of lld for submodules that require it
  find . -name justfile -exec sed -i 's/lld/mold/g' {} \;

  # Adjustments for libexec to lib directory transition
  sed -i 's|libexecdir = $(prefix)/libexec|libexecdir = $(libdir)|g' \
    xdg-desktop-portal-cosmic/Makefile
  sed -i 's|libexec|lib|g' cosmic-session/src/main.rs
  sed -i 's|libexec|lib/polkit-1|g' cosmic-osd/src/subscriptions/polkit_agent_helper.rs
}

build() {
  cd "$srcdir/cosmic-epoch"
  export CARGO_HOME="$srcdir/cargo-home"
  export RUSTUP_TOOLCHAIN=stable
  export RUSTFLAGS="-A warnings -C link-arg=-fuse-ld=mold"

  # List of subdirectories to build
  local subdirs=(
    cosmic-applets
    cosmic-applibrary
    cosmic-bg
    cosmic-comp
    cosmic-edit
    cosmic-files
    cosmic-greeter
    cosmic-icons
    cosmic-launcher
    cosmic-notifications
    cosmic-osd
    cosmic-panel
    cosmic-randr
    cosmic-screenshot
    cosmic-session
    cosmic-settings
    cosmic-settings-daemon
    cosmic-term
    cosmic-workspaces-epoch
    xdg-desktop-portal-cosmic
  )

  # Build each component separately
  for subdir in "${subdirs[@]}"; do
    echo "Building ${subdir}..."
    cd "$subdir"

    # Check if there's a justfile and use it if available
    if [[ -f "justfile" ]]; then
      just || return 1  # Stop the build process if just fails
    else
      cargo build --release || return 1  # Stop the build process if cargo build fails
    fi

    # Go back to the root directory before building the next component
    cd ..
    just sysext
  done
}

check() {
  cd "$srcdir/cosmic-epoch"
  appstream-util validate-relax --nonet cosmic-sysext/usr/share/metainfo/*.metainfo.xml || :
  desktop-file-validate cosmic-sysext/usr/share/applications/*.desktop || :
}

package() {
  cd "$srcdir/cosmic-epoch"

  # Copy the files from cosmic-sysext
  if [ -d "cosmic-sysext" ] && [ "$(ls -A cosmic-sysext)" ]; then
    cp -r cosmic-sysext/* "$pkgdir/"
  else
    echo "cosmic-sysext directory is missing or empty."
    return 1 # Exit with an error
  fi

  # Install keybinding config
  install -Dm644 cosmic-comp/config.ron -t "$pkgdir/etc/cosmic-comp/"
}

Still panics with:

2024-01-07T20:03:18.474968Z  INFO cosmic_session: Starting cosmic-session
2024-01-07T20:03:18.475089Z  INFO launch_pad: starting process ' COSMIC_SESSION_SOCK=12 cosmic-comp '    
2024-01-07T20:03:20.478259Z  INFO cosmic_session: got environmental variables: [("DISPLAY", ":2"), ("WAYLAND_DISPLAY", "wayland-1")]
2024-01-07T20:03:20.478468Z  INFO launch_pad: starting process ' DISPLAY=:2 WAYLAND_DISPLAY=wayland-1 DAEMON_NOTIFICATIONS_FD=16 WAYLAND_SOCKET=19 cosmic-notifications '    
2024-01-07T20:03:20.479920Z  INFO cosmic_session::comp: sending 1 fds
2024-01-07T20:03:20.480006Z  INFO launch_pad: starting process ' DISPLAY=:2 WAYLAND_DISPLAY=wayland-1 PANEL_NOTIFICATIONS_FD=13 WAYLAND_SOCKET=19 cosmic-panel '    
2024-01-07T20:03:20.480761Z  INFO cosmic_session::comp: sending 1 fds
2024-01-07T20:03:20.480790Z  INFO launch_pad: starting process ' DISPLAY=:2 WAYLAND_DISPLAY=wayland-1 WAYLAND_SOCKET=19 cosmic-app-library '    
2024-01-07T20:03:20.481518Z  INFO cosmic_session::comp: sending 1 fds
2024-01-07T20:03:20.481543Z  INFO launch_pad: starting process ' DISPLAY=:2 WAYLAND_DISPLAY=wayland-1 WAYLAND_SOCKET=20 cosmic-launcher '    
2024-01-07T20:03:20.482263Z  INFO launch_pad: starting process ' DISPLAY=:2 WAYLAND_DISPLAY=wayland-1 WAYLAND_SOCKET=29 cosmic-workspaces '    
2024-01-07T20:03:20.482986Z  INFO cosmic_session::comp: sending 1 fds
2024-01-07T20:03:20.483019Z  INFO launch_pad: starting process ' DISPLAY=:2 WAYLAND_DISPLAY=wayland-1 WAYLAND_SOCKET=33 cosmic-osd '    
2024-01-07T20:03:20.483604Z  INFO cosmic_session::comp: sending 1 fds
2024-01-07T20:03:20.483629Z  INFO launch_pad: starting process ' DISPLAY=:2 WAYLAND_DISPLAY=wayland-1 WAYLAND_SOCKET=37 cosmic-bg '    
2024-01-07T20:03:20.484214Z  INFO launch_pad: starting process ' DISPLAY=:2 WAYLAND_DISPLAY=wayland-1 WAYLAND_SOCKET=41 /usr/libexec/xdg-desktop-portal-cosmic '    
2024-01-07T20:03:20.484862Z ERROR panic: thread 'main' panicked at 'failed to start /usr/libexec/xdg-desktop-portal-cosmic: Process(Os { code: 2, kind: NotFound, message: "No such file or directory" })': src/main.rs:346
   0: <unknown>
   1: <unknown>
   2: <unknown>
   3: <unknown>
   4: <unknown>
   5: <unknown>
   6: <unknown>
   7: <unknown>
   8: <unknown>
   9: <unknown>
  10: <unknown>
  11: <unknown>
  12: <unknown>
  13: <unknown>
  14: <unknown>
  15: <unknown>
  16: <unknown>
  17: <unknown>
  18: <unknown>
  19: __libc_start_main
  20: <unknown>

Vixea commented on 2023-12-31 04:18 (UTC)

@A-Walrus I believe this may be caused by the set export bit in cosmic-icons justfile removing it might fix it no other justfile has this bit though after looking into it more I doubt this is it. I've been having this issue too. @soloturn do you also have this issue?

soloturn commented on 2023-12-29 16:30 (UTC)

@greblus, @yochananmarqos i created a ticket towards cargo to improve workspaces: https://github.com/rust-lang/cargo/issues/13219

A-Walrus commented on 2023-12-24 10:32 (UTC)

Tried to install this and got this error:

error: Variable `rootdir` overridden on the command line but not present in justfile
error: Recipe `sysext` failed on line 34 with exit code 1
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: cosmic-epoch-git-exit status 4
 -> Failed to install the following packages. Manual intervention is required:
cosmic-epoch-git - exit status 4

Bitals commented on 2023-12-22 07:57 (UTC)

@hotbbqsauce this is not based on GTK anymore. And this is not a finished DE either as of now. So no overlapping at all ATM.

hotbbqsauce commented on 2023-12-22 07:55 (UTC)

Im wondering would this be somewhat safe to install alongside gnome? Im not sure how much 'bloat' and overlapping components will result in having both installed at the same time?

Bitals commented on 2023-12-11 17:45 (UTC)

@greblus I am building this for https://arch.bitals.xyz/custom/ ATM. Packages are updated nightly. Fingerprint of the PGP key used for package signing is in my profile, searchable on hockeypuck.ubuntu.com.

yochananmarqos commented on 2023-12-07 14:31 (UTC) (edited on 2023-12-07 14:32 (UTC) by yochananmarqos)

@greblus: It does not appear workspaces apply here as neither conditions apply:

A workspace is a set of packages that share the same Cargo.lock and output directory.

-- https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html

Either way, upstream would have to implement it.