 53de5140ae
			
		
	
	
		53de5140ae
		
			
		
	
	
	
	
		
			
			Conflicts: pkgs/applications/editors/vim/plugins/non-generated/nvim-spectre/default.nix pkgs/applications/editors/vim/plugins/non-generated/sg-nvim/default.nix pkgs/by-name/ce/cedar/package.nix pkgs/by-name/gn/gnome-podcasts/package.nix pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix pkgs/by-name/sy/systemctl-tui/package.nix pkgs/by-name/ti/tinty/package.nix
		
			
				
	
	
		
			79 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | ||
|   lib,
 | ||
|   stdenv,
 | ||
|   fetchurl,
 | ||
|   meson,
 | ||
|   ninja,
 | ||
|   gettext,
 | ||
|   pkg-config,
 | ||
|   libgtop,
 | ||
|   glib,
 | ||
|   gnome,
 | ||
|   gnome-menus,
 | ||
|   replaceVars,
 | ||
| }:
 | ||
| 
 | ||
| stdenv.mkDerivation (finalAttrs: {
 | ||
|   pname = "gnome-shell-extensions";
 | ||
|   version = "47.3";
 | ||
| 
 | ||
|   src = fetchurl {
 | ||
|     url = "mirror://gnome/sources/gnome-shell-extensions/${lib.versions.major finalAttrs.version}/gnome-shell-extensions-${finalAttrs.version}.tar.xz";
 | ||
|     hash = "sha256-GpFCpOhdeit9xbrTfjTfnuuzjoSW9JOL4teys1iD0Tk=";
 | ||
|   };
 | ||
| 
 | ||
|   patches = [
 | ||
|     (replaceVars ./fix_gmenu.patch {
 | ||
|       gmenu_path = "${gnome-menus}/lib/girepository-1.0";
 | ||
|     })
 | ||
|     (replaceVars ./fix_gtop.patch {
 | ||
|       gtop_path = "${libgtop}/lib/girepository-1.0";
 | ||
|     })
 | ||
|   ];
 | ||
| 
 | ||
|   nativeBuildInputs = [
 | ||
|     meson
 | ||
|     ninja
 | ||
|     pkg-config
 | ||
|     gettext
 | ||
|     glib
 | ||
|   ];
 | ||
| 
 | ||
|   mesonFlags = [ "-Dextension_set=all" ];
 | ||
| 
 | ||
|   preFixup = ''
 | ||
|     # Since we do not install the schemas to central location,
 | ||
|     # let’s link them to where extensions installed
 | ||
|     # through the extension portal would look for them.
 | ||
|     # Adapted from export-zips.sh in the source.
 | ||
| 
 | ||
|     extensiondir=$out/share/gnome-shell/extensions
 | ||
|     schemadir=${glib.makeSchemaPath "$out" "$name"}
 | ||
| 
 | ||
|     for f in $extensiondir/*; do
 | ||
|       name=$(basename "''${f%%@*}")
 | ||
|       schema=$schemadir/org.gnome.shell.extensions.$name.gschema.xml
 | ||
|       schemas_compiled=$schemadir/gschemas.compiled
 | ||
| 
 | ||
|       if [[ -f $schema ]]; then
 | ||
|         mkdir "$f/schemas"
 | ||
|         ln -s "$schema" "$f/schemas"
 | ||
|         ln -s "$schemas_compiled" "$f/schemas"
 | ||
|       fi
 | ||
|     done
 | ||
|   '';
 | ||
| 
 | ||
|   passthru = {
 | ||
|     updateScript = gnome.updateScript { packageName = "gnome-shell-extensions"; };
 | ||
|   };
 | ||
| 
 | ||
|   meta = with lib; {
 | ||
|     homepage = "https://gitlab.gnome.org/GNOME/gnome-shell-extensions";
 | ||
|     changelog = "https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/blob/${finalAttrs.version}/NEWS?ref_type=tags";
 | ||
|     description = "Modify and extend GNOME Shell functionality and behavior";
 | ||
|     maintainers = teams.gnome.members;
 | ||
|     license = licenses.gpl2Plus;
 | ||
|     platforms = platforms.linux;
 | ||
|   };
 | ||
| })
 |