Sindbad~EG File Manager

Current Path : /snap/gnome-46-2404/current/snap/
Upload File :
Current File : //snap/gnome-46-2404/current/snap/snapcraft.yaml

name: gnome-46-2404
adopt-info: gnome-sdk
summary: Shared GNOME 46 Ubuntu stack
source-code: https://github.com/ubuntu/gnome-sdk/tree/gnome-46-2404
description: |
  This snap provides the GNOME 46 stack to other snaps that use it. It shares the base GNOME libraries and desktop integration components through the content interface. This helps reduce the size of snaps and helps developers to easily snap desktop applications.

  **For users**

  This snap is automatically installed and removed when needed. **Manually adding or removing this snap is not recommended** and might break things.

  * If you are having issues with **snaps** using GNOME, please contact the experts on the Snapcraft forum: https://forum.snapcraft.io/
  * If you want to install the GNOME Desktop Environment, then you are in the wrong place. Please take a look at https://www.gnome.org/ for more information on how to get it.

  **For developers**

  * The `gnome` extension is the recommended way to use this in your own snap: https://snapcraft.io/docs/gnome-extension
  * You can report issues with this content snap on GitHub: https://github.com/ubuntu/gnome-sdk/issues
  * The source code of this snap is available on GitHub in the `gnome-46-2404` branch: https://github.com/ubuntu/gnome-sdk/tree/gnome-46-2404
contact: https://github.com/ubuntu/gnome-sdk/issues

confinement: strict
grade: stable
icon: icon.png
base: core24
compression: lzo

# the recommended mountpoint for that content is /gnome-platform
slots:
  gnome-46-2404:
    interface: content
    read:
      - /

parts:
  gnome-sdk:
    plugin: nil
    stage-snaps: [ gnome-46-2404-sdk/latest/candidate ]
    build-packages:
      - yq
    override-build: |
      set -eu
      craftctl default
      # LOCAL_SDK_SNAP is set by `local-build.py` when using a local snap
      if [ -z "${LOCAL_SDK_SNAP:-}" ]; then
        echo Using upstream SDK
        sdk_version=$(cat ${CRAFT_PART_INSTALL}/snap.gnome-46-2404-sdk/manifest.yaml \
          | yq -r '.version')
      else
        echo Using local $CRAFT_PROJECT_DIR/${LOCAL_SDK_SNAP}
        snap install --dangerous $CRAFT_PROJECT_DIR/${LOCAL_SDK_SNAP}

        cp -a /snap/gnome-46-2404-sdk/current/usr $CRAFT_PART_INSTALL/
        cp -a /snap/gnome-46-2404-sdk/current/etc $CRAFT_PART_INSTALL/
        cp -a /snap/gnome-46-2404-sdk/current/var $CRAFT_PART_INSTALL/
        cp -a /snap/gnome-46-2404-sdk/current/lib $CRAFT_PART_INSTALL/
      fi

      # Use the same logic of snapcraft
      project_version=$(git -C "${CRAFT_PROJECT_DIR}" describe --dirty 2>/dev/null || true)
      if [ -z "${project_version}" ]; then
        project_version="0+git.$(git -C "${CRAFT_PROJECT_DIR}" describe --dirty --always)"
      fi
      version="${project_version}-sdk${sdk_version}"
      craftctl set version="${version:0:32}"
    stage:
      - lib/*/bindtextdomain.so
      - usr
      - lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/*
      - etc/gnome/*
      - -etc/emacs
      - -etc/X11/Xreset.d/README
      - -etc/fonts/conf.d/README
      - -var/lib/aspell/README
      - -var/lib/ispell/README
      - -usr/share/dict/README.select-wordlist
      - -usr/share/emacs
      - -usr/share/fontconfig
      - -usr/share/gdb
      - -usr/share/glade
      - -usr/share/gobject-introspection-1.0
      - -usr/share/gst-plugins-base
      - -usr/share/gtk-doc
      - -usr/share/help
      - -usr/share/installed-tests
      - -usr/share/maven-repo
      - -usr/bin/dpkg*
      - -usr/bin/$CRAFT_ARCH_TRIPLET_BUILD_FOR-*
      - -usr/bin/g-ir-*
      - -usr/bin/glib-compile-*
      - -usr/bin/glib-gettextize
      - -usr/bin/glib-genmarshal
      - -usr/bin/glib-mkenums
      - -usr/bin/gtester*
      - -usr/bin/gtk-builder-tool
      - -usr/bin/gtk4-builder-tool
      - -usr/bin/gtk-update-icon-cache
      - -usr/bin/gtk4-update-icon-cache
      - -usr/bin/h2ph
      - -usr/bin/h2xs
      - -usr/bin/make
      - -usr/bin/make-first-existing-target
      - -usr/bin/mm-common-get
      - -usr/bin/mm-common-prepare
      - -usr/bin/nm
      - -usr/bin/objcopy
      - -usr/bin/objdump
      - -usr/bin/patch
      - -usr/bin/peas-demo
      - -usr/bin/pkg-config
      - -usr/bin/pl2pm
      - -usr/bin/pldd
      - -usr/bin/prove
      - -usr/bin/py3clean
      - -usr/bin/ranlib
      - -usr/bin/readelf
      - -usr/bin/rpcgen
      - -usr/bin/size
      - -usr/bin/strings
      - -usr/bin/strip
      - -usr/bin/wayland-scanner
      - -usr/bin/x86_64-pc-linux-gnu-pkg-config
      - -usr/bin/xgettext
      - -usr/bin/xsubpp

      - -usr/**/*.a
      - -usr/**/*.c
      - -usr/**/*.cpp
      - -usr/**/*.o
      - -usr/**/*.h
      - -usr/**/*.hpp
      - -usr/**/*.pc

      - -usr/bin/g++*
      - -usr/bin/*-linux-gnu-g++*
      - -usr/bin/gcc*
      - -usr/bin/*-linux-gnu-gcc*
      - -usr/bin/python*
      - -usr/bin/vala*
      - -usr/bin/vapi*

      - -usr/include

      - -usr/lib/*vala*

      - -usr/share/perl
      - -usr/share/vala*
      - -usr/share/gir*

      - -usr/bin/meson
      - -usr/bin/ninja
      - -usr/lib/python3/dist-packages/meson*
      - -usr/share/devhelp/books

  debs:
    after: [ gnome-sdk ]
    plugin: nil
    stage-packages:
      - fcitx-frontend-gtk3
      - fonts-noto-color-emoji
      - gir1.2-ggit-1.0
      - gir1.2-gucharmap-2.90
      - gir1.2-vte-2.91
      - gstreamer1.0-gl
      - gstreamer1.0-plugins-base
      - gstreamer1.0-plugins-good
      - gstreamer1.0-pipewire
      - ibus-gtk3
      - libasound2t64
      - libasyncns0
      - libavahi-client3
      - libavahi-common3
      - libbrotli1
      - libc-bin
      - libcanberra-gtk3-module
      - libcdt5
      - libcgraph6
      - libcolord2
      - libcups2t64
      - libdatrie1
      - libdbus-glib-1-2
      - libdb5.3t64
      - libevdev2
      - libflac12t64
      - libfontconfig1
      - libfreetype6
      - libgck-1-0
      - libgcr-base-3-1
      - libgcr-ui-3-1
      - libgoa-1.0-0b
      - libgraphite2-3
      - libgspell-1-2
      - libgstreamer-plugins-base1.0-0
      - libgstreamer-plugins-good1.0-0
      - libgstreamer1.0-0
      - libgtk3-nocsd0
      - libgtksourceview-3.0-1
      - libgvc6
      - libicu74
      - libinput10
      - libjbig0
      - libjpeg-turbo8
      - liblcms2-2
      - libllvm17t64
      - libmozjs-115-0t64
      - libmpc3
      - libmpfr6
      - libmtdev1t64
      - libogg0
      - libpathplan4
      - libpipewire-0.3-0t64
      - libproxy1v5
      - libpng16-16t64
      - libpulse0
      - libpython3.12t64
      - librsvg2-2
      - libsigc++-2.0-0v5
      - libsndfile1
      - libthai0
      - libtiff6
      - libvorbis0a
      - libvorbisenc2
      - libwacom9
      - libwebkit2gtk-4.1-0
      - libx11-6
      - libxau6
      - libxcb-render0
      - libxcomposite1
      - libxcursor1
      - libxdamage1
      - libxdmcp6
      - libxext6
      - libxfixes3
      - libxft2
      - libxi6
      - libxinerama1
      - libxkbcommon0
      - libxml2
      - libxrandr2
      - libxrender1
      - libxtst6
      - locales-all
      - python3-dbus
      - python3-gi
      - python3.12-minimal
      - shared-mime-info
      - ubuntu-settings
      - unity-gtk3-module
      - xdg-user-dirs
      - xkb-data
    stage:
      - -usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/libLLVM*
    override-build: |
      set -eux
      craftctl default
      cd $CRAFT_STAGE/usr
      # We need to explicitly remove this recursively
      rm -rf $CRAFT_PART_INSTALL/usr/lib/python3/dist-packages/PyGObject-3.*.egg-info
      find . -type f,l -exec rm -f $CRAFT_PART_INSTALL/usr/{} \;
      find . -type f,l -name "*.so*" -exec bash -c "rm -f $CRAFT_PART_INSTALL/usr/{}*" \;
      cd $CRAFT_STAGE/usr/lib
      find . -type f,l -exec rm -f $CRAFT_PART_INSTALL/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/{} \;
      find . -type f,l -name "*.so*" -exec bash -c "rm -f $CRAFT_PART_INSTALL/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/{}*" \;
      cd $CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR
      find . -type f,l -exec rm -f $CRAFT_PART_INSTALL/usr/lib/{} \;
      find . -type f,l -name "*.so*" -exec bash -c "rm -f $CRAFT_PART_INSTALL/usr/lib/{}*" \;

  fonts-config:
      after: [ debs ]
      plugin: nil
      stage-packages: [ fontconfig-config, fonts-arphic-ukai, fonts-arphic-uming, fonts-beng-extra, fonts-dejavu-core, fonts-deva-extra, fonts-droid-fallback, fonts-gubbi, fonts-gujr-extra, fonts-guru-extra, fonts-lohit-beng-assamese, fonts-lohit-beng-bengali, fonts-lohit-deva, fonts-lohit-gujr, fonts-lohit-guru, fonts-lohit-knda, fonts-lohit-mlym, fonts-lohit-orya, fonts-lohit-taml, fonts-lohit-taml-classical, fonts-lohit-telu, fonts-noto-cjk, fonts-noto-mono, fonts-orya-extra, fonts-pagul, fonts-smc-anjalioldlipi, fonts-smc-chilanka, fonts-smc-dyuthi, fonts-smc-karumbi, fonts-smc-keraleeyam, fonts-smc-manjari, fonts-smc-meera, fonts-smc-rachana, fonts-smc-raghumalayalamsans, fonts-smc-suruma, fonts-smc-uroob, fonts-telu-extra, fonts-tlwg-garuda, fonts-tlwg-kinnari, fonts-tlwg-laksaman, fonts-tlwg-loma, fonts-tlwg-mono, fonts-tlwg-norasi, fonts-tlwg-typist, fonts-tlwg-typo, fonts-tlwg-umpush, fonts-tlwg-waree, fonts-urw-base35, language-selector-common ]
      stage:
      - etc/fonts
      - usr/share/fontconfig

  caches:
    after: [ fonts-config ]
    plugin: nil
    build-packages:
      - gtk-update-icon-cache
      - libglib2.0-bin
      - shared-mime-info
    build-environment:
      - LD_LIBRARY_PATH: $CRAFT_STAGE/usr/lib:$CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
    override-build: |
      set -eux
      craftctl default
      $CRAFT_STAGE/usr/bin/glib-compile-schemas $CRAFT_STAGE/usr/share/glib-2.0/schemas
      $CRAFT_STAGE/usr/bin/update-mime-database $CRAFT_STAGE/usr/share/mime

      # the icons cache is rebuilt in 'cleanup' priming because it is there where the duplicated icons are removed

      export CACHE=$CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/gdk-pixbuf-2.0/2.10.0/loaders.cache
      $CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders $CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/gdk-pixbuf-2.0/2.10.0/loaders/* > $CACHE
      sed -i "s@$CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/gdk-pixbuf-2.0/2.10.0@/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/gdk-pixbuf-2.0/2.10.0@g" $CACHE

  command-chain:
    source: https://github.com/snapcore/snapcraft-desktop-integration.git
    source-type: git
    source-subdir: gnome
    plugin: make
    make-parameters:
      - PLATFORM_PLUG=$SNAPCRAFT_PROJECT_NAME
      - WITH_GRAPHICS=false
      - WITH_PYTHON=3.12

  cleanup:
    after: [ caches ]
    plugin: nil
    source: https://github.com/canonical/gpu-snap.git
    build-snaps:
      - gtk-common-themes
    build-packages:
      - python3-pip
      - zip
      - python3-apt
    override-prime: |
      set -eux

      cd /snap/gtk-common-themes/current
      find . -type f,l ! -name index.theme -exec rm -f $CRAFT_PRIME/usr/{} \;
      cd $CRAFT_PRIME
      for dir in usr/share/icons/*; do
        if [ -f "$dir/index.theme" ]; then
          $CRAFT_STAGE/usr/bin/gtk-update-icon-cache --force "$dir"
        fi
      done

      rm -rf usr/share/doc
      rm -rf usr/share/man

      find . -type d -empty -delete

      ${CRAFT_PART_SRC}/bin/gpu-2404-cleanup mesa-2404
      # delete any broken link
      find . -xtype l -delete

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists