diff options
Diffstat (limited to 'nixpkgs/pkgs/desktops/mate')
45 files changed, 1738 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/mate/atril/default.nix b/nixpkgs/pkgs/desktops/mate/atril/default.nix new file mode 100644 index 00000000000..f19114a5442 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/atril/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gtk3, glib, libxml2, libsecret, poppler, itstool, hicolor-icon-theme, mate, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "atril"; + version = "1.22.2"; + + src = fetchurl { + url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "11l78zkxszvsjr74cmk1wff5ycqrzd89y6k36rydv2rb5af2nsfw"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + glib + itstool + libsecret + libxml2 + poppler + mate.caja + mate.mate-desktop + hicolor-icon-theme + ]; + + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; + + makeFlags = [ "cajaextensiondir=$$out/lib/caja/extensions-2.0" ]; + + meta = { + description = "A simple multi-page document viewer for the MATE desktop"; + homepage = https://mate-desktop.org; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix b/nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix new file mode 100644 index 00000000000..597391eb135 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchurl, substituteAll +, pkgconfig, gobject-introspection, gdk-pixbuf +, gtk3, mate, python3, dropbox }: + +let + dropboxd = "${dropbox}/bin/dropbox"; +in +stdenv.mkDerivation rec { + pname = "caja-dropbox"; + version = "1.22.1"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "18cnd3yw2ingvl38mhmfbl5k0kfg8pzcf2649j00i6v90cwiril5"; + }; + + patches = [ + (substituteAll { + src = ./fix-cli-paths.patch; + inherit dropboxd; + }) + ]; + + strictDeps = true; + + nativeBuildInputs = [ + pkgconfig + gobject-introspection + gdk-pixbuf + (python3.withPackages (ps: with ps; [ + docutils + pygobject3 + ])) + ]; + + buildInputs = [ + gtk3 + mate.caja + python3 + ]; + + configureFlags = [ "--with-caja-extension-dir=$$out/lib/caja/extensions-2.0" ]; + + meta = with stdenv.lib; { + description = "Dropbox extension for Caja file manager"; + homepage = "https://github.com/mate-desktop/caja-dropbox"; + license = with licenses; [ gpl3 cc-by-nd-30 ]; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/caja-dropbox/fix-cli-paths.patch b/nixpkgs/pkgs/desktops/mate/caja-dropbox/fix-cli-paths.patch new file mode 100644 index 00000000000..de591f493f6 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/caja-dropbox/fix-cli-paths.patch @@ -0,0 +1,11 @@ +--- a/caja-dropbox.in ++++ b/caja-dropbox.in +@@ -70,7 +70,7 @@ DOWNLOADING = "Downloading Dropbox... %d%%" + UNPACKING = "Unpacking Dropbox... %d%%" + + PARENT_DIR = os.path.expanduser("~") +-DROPBOXD_PATH = "%s/.dropbox-dist/dropboxd" % PARENT_DIR ++DROPBOXD_PATH = "@dropboxd@" + DESKTOP_FILE = "@DESKTOP_FILE_DIR@/caja-dropbox.desktop" + + enc = locale.getpreferredencoding() diff --git a/nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix b/nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix new file mode 100644 index 00000000000..ba21cb00d35 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gtk3, gupnp, mate, imagemagick, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "caja-extensions"; + version = "1.22.0"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1h866jmdd3qpjzi7wjj11krwiaadnlf21844g1zqfb4jgrzj773p"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + gupnp + mate.caja + mate.mate-desktop + imagemagick + ]; + + postPatch = '' + for f in image-converter/caja-image-{resizer,rotator}.c; do + substituteInPlace $f --replace "/usr/bin/convert" "${imagemagick}/bin/convert" + done + ''; + + configureFlags = [ "--with-cajadir=$$out/lib/caja/extensions-2.0" ]; + + meta = with stdenv.lib; { + description = "Set of extensions for Caja file manager"; + homepage = https://mate-desktop.org; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/caja-with-extensions/default.nix b/nixpkgs/pkgs/desktops/mate/caja-with-extensions/default.nix new file mode 100644 index 00000000000..35e3cd198f6 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/caja-with-extensions/default.nix @@ -0,0 +1,20 @@ +{ stdenv, lib, makeWrapper, caja-extensions, caja, extensions ? [ caja-extensions ] }: + +stdenv.mkDerivation { + pname = "${caja.pname}-with-extensions"; + version = caja.version; + + phases = [ "installPhase" ]; + + nativeBuildInputs = [ makeWrapper ]; + + inherit caja; + + installPhase = '' + mkdir -p $out/bin + makeWrapper $caja/bin/caja $out/bin/caja \ + --set CAJA_EXTENSION_DIRS ${lib.concatMapStringsSep ":" (x: "${x.outPath}/lib/caja/extensions-2.0") extensions} + ''; + + inherit (caja.meta); +} diff --git a/nixpkgs/pkgs/desktops/mate/caja/caja-extension-dirs.patch b/nixpkgs/pkgs/desktops/mate/caja/caja-extension-dirs.patch new file mode 100644 index 00000000000..7490a368efd --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/caja/caja-extension-dirs.patch @@ -0,0 +1,30 @@ +diff --git a/libcaja-private/caja-module.c b/libcaja-private/caja-module.c +index 023c22e..414913b 100644 +--- a/libcaja-private/caja-module.c ++++ b/libcaja-private/caja-module.c +@@ -258,11 +258,25 @@ caja_module_setup (void) + { + static gboolean initialized = FALSE; + GList *res; ++ gchar *caja_extension_dirs; ++ gchar **dir_vector; + + if (!initialized) + { + initialized = TRUE; + ++ caja_extension_dirs = (gchar *) g_getenv ("CAJA_EXTENSION_DIRS"); ++ ++ if (caja_extension_dirs) ++ { ++ dir_vector = g_strsplit (caja_extension_dirs, G_SEARCHPATH_SEPARATOR_S, 0); ++ ++ for (gchar **dir = dir_vector; *dir != NULL; ++ dir) ++ load_module_dir (*dir); ++ ++ g_strfreev(dir_vector); ++ } ++ + load_module_dir (CAJA_EXTENSIONDIR); + + eel_debug_call_at_shutdown (free_module_objects); diff --git a/nixpkgs/pkgs/desktops/mate/caja/default.nix b/nixpkgs/pkgs/desktops/mate/caja/default.nix new file mode 100644 index 00000000000..667a73eb630 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/caja/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gtk3, libnotify, libxml2, libexif, exempi, mate, hicolor-icon-theme, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "caja"; + version = "1.22.1"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "10b7yjimblymp1fpsrl4jb2k7kbhla2izsj3njfmg2n6fv9fy9iv"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + libnotify + libxml2 + libexif + exempi + mate.mate-desktop + hicolor-icon-theme + ]; + + patches = [ + ./caja-extension-dirs.patch + ]; + + configureFlags = [ "--disable-update-mimedb" ]; + + meta = { + description = "File manager for the MATE desktop"; + homepage = https://mate-desktop.org; + license = with stdenv.lib.licenses; [ gpl2 lgpl2 ]; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/default.nix b/nixpkgs/pkgs/desktops/mate/default.nix new file mode 100644 index 00000000000..3970b2b2921 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/default.nix @@ -0,0 +1,93 @@ +{ newScope }: + +let + callPackage = newScope self; + + self = rec { + + atril = callPackage ./atril { }; + caja = callPackage ./caja { }; + caja-dropbox = callPackage ./caja-dropbox { }; + caja-extensions = callPackage ./caja-extensions { }; + caja-with-extensions = callPackage ./caja-with-extensions { }; + engrampa = callPackage ./engrampa { }; + eom = callPackage ./eom { }; + libmatekbd = callPackage ./libmatekbd { }; + libmatemixer = callPackage ./libmatemixer { }; + libmateweather = callPackage ./libmateweather { }; + marco = callPackage ./marco { }; + mate-applets = callPackage ./mate-applets { }; + mate-backgrounds = callPackage ./mate-backgrounds { }; + mate-calc = callPackage ./mate-calc { }; + mate-common = callPackage ./mate-common { }; + mate-control-center = callPackage ./mate-control-center { }; + mate-desktop = callPackage ./mate-desktop { }; + mate-icon-theme = callPackage ./mate-icon-theme { }; + mate-icon-theme-faenza = callPackage ./mate-icon-theme-faenza { }; + mate-indicator-applet = callPackage ./mate-indicator-applet { }; + mate-media = callPackage ./mate-media { }; + mate-menus = callPackage ./mate-menus { }; + mate-netbook = callPackage ./mate-netbook { }; + mate-notification-daemon = callPackage ./mate-notification-daemon { }; + mate-panel = callPackage ./mate-panel { }; + mate-polkit = callPackage ./mate-polkit { }; + mate-power-manager = callPackage ./mate-power-manager { }; + mate-sensors-applet = callPackage ./mate-sensors-applet { }; + mate-session-manager = callPackage ./mate-session-manager { }; + mate-settings-daemon = callPackage ./mate-settings-daemon { }; + mate-screensaver = callPackage ./mate-screensaver { }; + mate-system-monitor = callPackage ./mate-system-monitor { }; + mate-terminal = callPackage ./mate-terminal { }; + mate-themes = callPackage ./mate-themes { }; + mate-user-guide = callPackage ./mate-user-guide { }; + mate-user-share = callPackage ./mate-user-share { }; + mate-utils = callPackage ./mate-utils { }; + mozo = callPackage ./mozo { }; + pluma = callPackage ./pluma { }; + python-caja = callPackage ./python-caja { }; + + basePackages = [ + caja + libmatekbd + libmatemixer + libmateweather + marco + mate-common + mate-control-center + mate-desktop + mate-icon-theme + mate-menus + mate-notification-daemon + mate-panel + mate-polkit + mate-session-manager + mate-settings-daemon + mate-themes + ]; + + extraPackages = [ + atril + caja-extensions + engrampa + eom + mate-applets + mate-backgrounds + mate-calc + mate-indicator-applet + mate-media + mate-netbook + mate-power-manager + mate-screensaver + mate-sensors-applet + mate-system-monitor + mate-terminal + mate-user-guide + # mate-user-share + mate-utils + mozo + pluma + ]; + + }; + +in self diff --git a/nixpkgs/pkgs/desktops/mate/engrampa/default.nix b/nixpkgs/pkgs/desktops/mate/engrampa/default.nix new file mode 100644 index 00000000000..0278fd7fec8 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/engrampa/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, gtk3, mate, hicolor-icon-theme, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "engrampa"; + version = "1.22.2"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0ph7ngk32nnzc3psqjs5zy52zbjilk30spr2r4sixqxvmz7d28gd"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + itstool + wrapGAppsHook + ]; + + buildInputs = [ + libxml2 + gtk3 + mate.caja + hicolor-icon-theme + mate.mate-desktop + ]; + + configureFlags = [ "--with-cajadir=$$out/lib/caja/extensions-2.0" ]; + + meta = { + description = "Archive Manager for MATE"; + homepage = https://mate-desktop.org; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/eom/default.nix b/nixpkgs/pkgs/desktops/mate/eom/default.nix new file mode 100644 index 00000000000..cc683ab2db2 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/eom/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, pkgconfig, intltool, itstool, exempi, lcms2, libexif, libjpeg, librsvg, libxml2, libpeas, shared-mime-info, gtk3, mate, hicolor-icon-theme, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "eom"; + version = "1.22.1"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "03lpxqvyaqhz4wmi07nxcyn5q73ym3dzm41cdid53f2dp9lk1mv4"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + itstool + wrapGAppsHook + ]; + + buildInputs = [ + exempi + lcms2 + libexif + libjpeg + librsvg + libxml2 + shared-mime-info + gtk3 + libpeas + mate.mate-desktop + hicolor-icon-theme + ]; + + meta = { + description = "An image viewing and cataloging program for the MATE desktop"; + homepage = https://mate-desktop.org; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix b/nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix new file mode 100644 index 00000000000..d6709c375e6 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gtk3, libxklavier }: + +stdenv.mkDerivation rec { + pname = "libmatekbd"; + version = "1.22.0"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1dsr7618c92mhwabwhgxqsfp7gnf9zrz2z790jc5g085dxhg13y8"; + }; + + nativeBuildInputs = [ pkgconfig intltool ]; + + buildInputs = [ gtk3 libxklavier ]; + + meta = with stdenv.lib; { + description = "Keyboard management library for MATE"; + homepage = https://github.com/mate-desktop/libmatekbd; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix b/nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix new file mode 100644 index 00000000000..17fee5d61cb --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix @@ -0,0 +1,31 @@ +{ config, stdenv, fetchurl, pkgconfig, intltool, glib +, alsaSupport ? stdenv.isLinux, alsaLib +, pulseaudioSupport ? config.pulseaudio or true, libpulseaudio +, ossSupport ? false + }: + +stdenv.mkDerivation rec { + pname = "libmatemixer"; + version = "1.22.0"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1v0gpr55gj4mj8hzxbhgzrmhaxvs2inxhsmirvjw39sc7iplvrh9"; + }; + + nativeBuildInputs = [ pkgconfig intltool ]; + + buildInputs = [ glib ] + ++ stdenv.lib.optional alsaSupport alsaLib + ++ stdenv.lib.optional pulseaudioSupport libpulseaudio; + + configureFlags = stdenv.lib.optional ossSupport "--enable-oss"; + + meta = with stdenv.lib; { + description = "Mixer library for MATE"; + homepage = https://github.com/mate-desktop/libmatemixer; + license = with licenses; [ gpl2 lgpl2 ]; + platforms = platforms.linux; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/libmateweather/default.nix b/nixpkgs/pkgs/desktops/mate/libmateweather/default.nix new file mode 100644 index 00000000000..e4976f71ae6 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/libmateweather/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gtk3, libsoup, tzdata }: + +stdenv.mkDerivation rec { + pname = "libmateweather"; + version = "1.22.0"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1ribgcwl4ncfbcf9bkcbxrgc7yzajdnxg12837psngymkqswlp6a"; + }; + + nativeBuildInputs = [ pkgconfig intltool ]; + + buildInputs = [ gtk3 libsoup tzdata ]; + + configureFlags = [ + "--with-zoneinfo-dir=${tzdata}/share/zoneinfo" + "--enable-locations-compression" + ]; + + preFixup = "rm -f $out/share/icons/mate/icon-theme.cache"; + + meta = with stdenv.lib; { + description = "Library to access weather information from online services for MATE"; + homepage = https://github.com/mate-desktop/libmateweather; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/marco/default.nix b/nixpkgs/pkgs/desktops/mate/marco/default.nix new file mode 100644 index 00000000000..9899256018a --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/marco/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, libcanberra-gtk3, libgtop, libstartup_notification, gnome3, gtk3, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "marco"; + version = "1.22.2"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0sc7x14229yj22ka1vlzbaqndwcgh6idypjmm9rydkj4n968jwry"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + itstool + wrapGAppsHook + ]; + + buildInputs = [ + libxml2 + libcanberra-gtk3 + libgtop + libstartup_notification + gtk3 + gnome3.zenity + ]; + + meta = with stdenv.lib; { + description = "MATE default window manager"; + homepage = https://github.com/mate-desktop/marco; + license = [ licenses.gpl2 ]; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-applets/default.nix b/nixpkgs/pkgs/desktops/mate/mate-applets/default.nix new file mode 100644 index 00000000000..ec7ad2b4294 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-applets/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, pkgconfig, intltool, itstool, gnome3, glib, gtk3, gtksourceview3, libwnck3, libgtop, libxml2, libnotify, polkit, upower, wirelesstools, mate, hicolor-icon-theme, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "mate-applets"; + version = "1.22.1"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "19sjm2180ir8a264rz8m528qaqjpl3q3cq095ab0sbkp2igksrfx"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + itstool + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + gtksourceview3 + gnome3.gucharmap + libwnck3 + libgtop + libxml2 + libnotify + polkit + upower + wirelesstools + mate.libmateweather + mate.mate-panel + hicolor-icon-theme + ]; + + configureFlags = [ "--enable-suid=no" ]; + + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; + + meta = with stdenv.lib; { + description = "Applets for use with the MATE panel"; + homepage = https://mate-desktop.org; + license = with licenses; [ gpl2Plus lgpl2Plus ]; + platforms = platforms.linux; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix b/nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix new file mode 100644 index 00000000000..2667c25959e --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, intltool }: + +stdenv.mkDerivation rec { + pname = "mate-backgrounds"; + version = "1.22.0"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1j9ch04qi2q4mdcvb92w667ra9hpfdf2bfpi1dpw0nbph7r6qvj9"; + }; + + nativeBuildInputs = [ intltool ]; + + meta = with stdenv.lib; { + description = "Background images and data for MATE"; + homepage = https://mate-desktop.org; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-calc/default.nix b/nixpkgs/pkgs/desktops/mate/mate-calc/default.nix new file mode 100644 index 00000000000..64ede5101c7 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-calc/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtk3, libxml2, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "mate-calc"; + version = "1.22.1"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0zin3w03zrkpb12rvay23bfk9fnjpybkr5mqzkpn9xfnqamhk8ld"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + itstool + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + libxml2 + ]; + + meta = with stdenv.lib; { + description = "Calculator for the MATE desktop"; + homepage = https://mate-desktop.org; + license = [ licenses.gpl2Plus ]; + platforms = platforms.linux; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-common/default.nix b/nixpkgs/pkgs/desktops/mate/mate-common/default.nix new file mode 100644 index 00000000000..f85dd632bd1 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-common/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + pname = "mate-common"; + version = "1.22.0"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "11lwckndizawbq993ws8lqp59vsc873zri0m8s1i5zyc4qx9f69z"; + }; + + meta = { + description = "Common files for development of MATE packages"; + homepage = https://mate-desktop.org; + license = stdenv.lib.licenses.gpl3; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix b/nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix new file mode 100644 index 00000000000..a06c24b9c72 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix @@ -0,0 +1,63 @@ +{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, dbus-glib, + libxklavier, libcanberra-gtk3, librsvg, libappindicator-gtk3, + desktop-file-utils, gnome3, gtk3, mate, hicolor-icon-theme, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "mate-control-center"; + version = "1.22.1"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0w9w3wkxksbhzyd96y1x6yxb0q5lkp16y8i42564b6njvwqch5a0"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + itstool + desktop-file-utils + wrapGAppsHook + ]; + + buildInputs = [ + libxml2 + dbus-glib + libxklavier + libcanberra-gtk3 + librsvg + libappindicator-gtk3 + gtk3 + gnome3.dconf + hicolor-icon-theme + mate.mate-desktop + mate.libmatekbd + mate.mate-menus + mate.marco + mate.mate-settings-daemon + ]; + + patches = [ + # look up keyboard shortcuts in system data dirs + ./mate-control-center.keybindings-dir.patch + ]; + + configureFlags = [ "--disable-update-mimedb" ]; + + preFixup = '' + gappsWrapperArgs+=( + # WM keyboard shortcuts + --prefix XDG_DATA_DIRS : "${mate.marco}/share" + ) + ''; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "Utilities to configure the MATE desktop"; + homepage = https://github.com/mate-desktop/mate-control-center; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-control-center/mate-control-center.keybindings-dir.patch b/nixpkgs/pkgs/desktops/mate/mate-control-center/mate-control-center.keybindings-dir.patch new file mode 100644 index 00000000000..4a3036ae16e --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-control-center/mate-control-center.keybindings-dir.patch @@ -0,0 +1,106 @@ +From faeb322b01d3856f3cf163470cc38f4e88a8527c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com> +Date: Sun, 28 Apr 2019 21:45:39 -0300 +Subject: [PATCH] Use system data dirs to locate key bindings + +--- + capplets/keybindings/Makefile.am | 3 +- + .../keybindings/mate-keybinding-properties.c | 58 ++++++++++++------- + 2 files changed, 39 insertions(+), 22 deletions(-) + +diff --git a/capplets/keybindings/Makefile.am b/capplets/keybindings/Makefile.am +index e5efb109..9501dd8f 100644 +--- a/capplets/keybindings/Makefile.am ++++ b/capplets/keybindings/Makefile.am +@@ -33,8 +33,7 @@ AM_CPPFLAGS = \ + $(MATECC_CAPPLETS_CFLAGS) \ + -DMATELOCALEDIR="\"$(datadir)/locale\"" \ + -DMATECC_DATA_DIR="\"$(pkgdatadir)\"" \ +- -DMATECC_UI_DIR="\"$(uidir)\"" \ +- -DMATECC_KEYBINDINGS_DIR="\"$(pkgdatadir)/keybindings\"" ++ -DMATECC_UI_DIR="\"$(uidir)\"" + CLEANFILES = \ + $(MATECC_CAPPLETS_CLEANFILES) \ + $(desktop_DATA) \ +diff --git a/capplets/keybindings/mate-keybinding-properties.c b/capplets/keybindings/mate-keybinding-properties.c +index 4f257333..cf1891d2 100644 +--- a/capplets/keybindings/mate-keybinding-properties.c ++++ b/capplets/keybindings/mate-keybinding-properties.c +@@ -1033,39 +1033,57 @@ static void + reload_key_entries (GtkBuilder *builder) + { + gchar **wm_keybindings; +- GDir *dir; +- const char *name; + GList *list, *l; ++ const gchar * const * data_dirs; ++ GHashTable *loaded_files; ++ guint i; + + wm_keybindings = wm_common_get_current_keybindings(); + + clear_old_model (builder); + +- dir = g_dir_open (MATECC_KEYBINDINGS_DIR, 0, NULL); +- if (!dir) +- return; +- +- list = NULL; +- for (name = g_dir_read_name (dir) ; name ; name = g_dir_read_name (dir)) ++ loaded_files = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); ++ data_dirs = g_get_system_data_dirs (); ++ for (i = 0; data_dirs[i] != NULL; i++) + { +- if (g_str_has_suffix (name, ".xml")) ++ g_autofree gchar *dir_path = NULL; ++ GDir *dir; ++ const gchar *name; ++ ++ dir_path = g_build_filename (data_dirs[i], "mate-control-center", "keybindings", NULL); ++ g_debug ("Keybinding dir: %s", dir_path); ++ ++ dir = g_dir_open (dir_path, 0, NULL); ++ if (!dir) ++ continue; ++ ++ for (name = g_dir_read_name (dir) ; name ; name = g_dir_read_name (dir)) + { +- list = g_list_insert_sorted (list, g_strdup (name), +- (GCompareFunc) g_ascii_strcasecmp); +- } +- } +- g_dir_close (dir); ++ if (g_str_has_suffix (name, ".xml") == FALSE) ++ continue; ++ ++ if (g_hash_table_lookup (loaded_files, name) != NULL) ++ { ++ g_debug ("Not loading %s, it was already loaded from another directory", name); ++ continue; ++ } + ++ g_hash_table_insert (loaded_files, g_strdup (name), g_strdup (dir_path)); ++ } ++ ++ g_dir_close (dir); ++ } ++ list = g_hash_table_get_keys (loaded_files); ++ list = g_list_sort(list, (GCompareFunc) g_str_equal); + for (l = list; l != NULL; l = l->next) + { +- gchar *path; +- +- path = g_build_filename (MATECC_KEYBINDINGS_DIR, l->data, NULL); +- append_keys_to_tree_from_file (builder, path, wm_keybindings); +- g_free (l->data); +- g_free (path); ++ g_autofree gchar *path = NULL; ++ path = g_build_filename (g_hash_table_lookup (loaded_files, l->data), l->data, NULL); ++ g_debug ("Keybinding file: %s", path); ++ append_keys_to_tree_from_file (builder, path, wm_keybindings); + } + g_list_free (list); ++ g_hash_table_destroy (loaded_files); + + /* Load custom shortcuts _after_ system-provided ones, + * since some of the custom shortcuts may also be listed diff --git a/nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix b/nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix new file mode 100644 index 00000000000..58515a492b5 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, pkgconfig, intltool, isocodes, gnome3, gtk3, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "mate-desktop"; + version = "1.22.1"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1hr4r69855csqrcaqpbcyplsy4cwjfz7gabps2pzkh5132jycfr0"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + wrapGAppsHook + ]; + + buildInputs = [ + gnome3.dconf + gtk3 + isocodes + ]; + + meta = with stdenv.lib; { + description = "Library with common API for various MATE modules"; + homepage = https://mate-desktop.org; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix b/nixpkgs/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix new file mode 100644 index 00000000000..7db01f59816 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, autoreconfHook, gtk3, mate, hicolor-icon-theme }: + +stdenv.mkDerivation rec { + pname = "mate-icon-theme-faenza"; + version = "1.20.0"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "000vr9cnbl2qlysf2gyg1lsjirqdzmwrnh6d3hyrsfc0r2vh4wna"; + }; + + nativeBuildInputs = [ autoreconfHook gtk3 ]; + + buildInputs = [ mate.mate-icon-theme hicolor-icon-theme ]; + + postInstall = '' + for theme in "$out"/share/icons/*; do + gtk-update-icon-cache "$theme" + done + ''; + + meta = { + description = "Faenza icon theme from MATE"; + homepage = https://mate-desktop.org; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix b/nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix new file mode 100644 index 00000000000..9df0d0ce5a8 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, librsvg, hicolor-icon-theme, gtk3 }: + +stdenv.mkDerivation rec { + pname = "mate-icon-theme"; + version = "1.22.1"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1pn1xbmr4w4mi45nwk1qh18z9rlngmkhp9bw671yn4k6sii8fi3k"; + }; + + nativeBuildInputs = [ pkgconfig intltool iconnamingutils ]; + + buildInputs = [ librsvg hicolor-icon-theme ]; + + postInstall = '' + for theme in "$out"/share/icons/*; do + "${gtk3.out}/bin/gtk-update-icon-cache" "$theme" + done + ''; + + meta = { + description = "Icon themes from MATE"; + homepage = https://mate-desktop.org; + license = stdenv.lib.licenses.lgpl3; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix b/nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix new file mode 100644 index 00000000000..e1a6e874d1d --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gtk3, libindicator-gtk3, mate, hicolor-icon-theme, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "mate-indicator-applet"; + version = "1.22.0"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0zad81qvcin4m329hfxhv4a5j8gf4gj8944mvjrdgdh71bzan2x1"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + libindicator-gtk3 + mate.mate-panel + hicolor-icon-theme + ]; + + meta = with stdenv.lib; { + homepage = https://github.com/mate-desktop/mate-indicator-applet; + description = "MATE panel indicator applet"; + longDescription = '' + A small applet to display information from various applications + consistently in the panel. + + The indicator applet exposes Ayatana Indicators in the MATE Panel. + Ayatana Indicators are an initiative by Canonical to provide crisp and + clean system and application status indication. They take the form of + an icon and associated menu, displayed (usually) in the desktop panel. + Existing indicators include the Message Menu, Battery Menu and Sound + menu. + ''; + license = with licenses; [ gpl3Plus lgpl2Plus ]; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-media/default.nix b/nixpkgs/pkgs/desktops/mate/mate-media/default.nix new file mode 100644 index 00000000000..93c765a9953 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-media/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl, pkgconfig, intltool, libtool, libxml2, libcanberra-gtk3, gtk3, mate, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "mate-media"; + version = "1.22.1"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "13g1n2ddgr1yxgl4fsqj3sgb9344b756kam9v3sq6vh0bxlr4yf2"; + }; + + buildInputs = [ + libxml2 + libcanberra-gtk3 + gtk3 + mate.libmatemixer + mate.mate-panel + mate.mate-desktop + ]; + + nativeBuildInputs = [ + pkgconfig + intltool + libtool + wrapGAppsHook + ]; + + meta = with stdenv.lib; { + description = "Media tools for MATE"; + homepage = https://mate-desktop.org; + license = licenses.gpl3; + platforms = platforms.unix; + maintainers = [ maintainers.romildo maintainers.chpatrick ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-menus/default.nix b/nixpkgs/pkgs/desktops/mate/mate-menus/default.nix new file mode 100644 index 00000000000..e37a270f9dc --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-menus/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, pkgconfig, intltool, glib, gobject-introspection, python3 }: + +stdenv.mkDerivation rec { + pname = "mate-menus"; + version = "1.22.0"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1lkakbf2f1815c146z4xp5f0h4lim6jzr02681wbvzalc6k97v5c"; + }; + + nativeBuildInputs = [ pkgconfig intltool gobject-introspection ]; + + buildInputs = [ glib python3 ]; + + makeFlags = [ + "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/" + "INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0" + ]; + + meta = with stdenv.lib; { + description = "Menu system for MATE"; + homepage = https://github.com/mate-desktop/mate-menus; + license = with licenses; [ gpl2 lgpl2 ]; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix b/nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix new file mode 100644 index 00000000000..51d23e475ff --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gtk3, libwnck3, libfakekey, libXtst, mate, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "mate-netbook"; + version = "1.22.1"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "00n162bskbvxhy4k2w14f9zwlsg3wgi43228ssx7sc2p95psmm64"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + libwnck3 + libfakekey + libXtst + mate.mate-panel + ]; + + meta = with stdenv.lib; { + description = "MATE utilities for netbooks"; + longDescription = '' + MATE utilities for netbooks are an applet and a daemon to maximize + windows and move their titles on the panel. + + Installing these utilities is recommended for netbooks and similar + devices with low resolution displays. + ''; + homepage = https://mate-desktop.org; + license = with licenses; [ gpl3 lgpl2Plus ]; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix b/nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix new file mode 100644 index 00000000000..d53ae8efa35 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl, pkgconfig, intltool, glib, libcanberra-gtk3, + libnotify, libwnck3, gtk3, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "mate-notification-daemon"; + version = "1.22.0"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "06z3xczhz5diy4kk7b8lrzljrnql6fz0n1jyy916cf8pnnanpg0j"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + wrapGAppsHook + ]; + + buildInputs = [ + libcanberra-gtk3 + libnotify + libwnck3 + gtk3 + ]; + + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; + + meta = with stdenv.lib; { + description = "Notification daemon for MATE"; + homepage = https://github.com/mate-desktop/mate-notification-daemon; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix b/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix new file mode 100644 index 00000000000..39d2c1812cb --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchurl, pkgconfig, intltool, itstool, glib, libwnck3, librsvg, libxml2, gnome3, gtk3, mate, hicolor-icon-theme, gobject-introspection, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "mate-panel"; + version = "1.22.1"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0pb9dpgsfjp6gsldg4ad2jz23xdvjfarmz4cjwkpakygkq5i6dma"; + }; + + nativeBuildInputs = [ + gobject-introspection + intltool + itstool + pkgconfig + wrapGAppsHook + ]; + + buildInputs = [ + glib + libwnck3 + librsvg + libxml2 + gtk3 + gnome3.dconf + mate.libmateweather + mate.mate-desktop + mate.mate-menus + hicolor-icon-theme + ]; + + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; + + makeFlags = [ + "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/" + "INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0" + ]; + + meta = with stdenv.lib; { + description = "The MATE panel"; + homepage = https://github.com/mate-desktop/mate-panel; + license = with licenses; [ gpl2 lgpl2 ]; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix b/nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix new file mode 100644 index 00000000000..253472e3987 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gtk3, gobject-introspection, libappindicator-gtk3, libindicator-gtk3, polkit }: + +stdenv.mkDerivation rec { + pname = "mate-polkit"; + version = "1.22.0"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "02r8n71xflhvw2hsf6g4svdahzyg3r4n6xamasyzqfhyn0mqmjy0"; + }; + + nativeBuildInputs = [ + gobject-introspection + intltool + pkgconfig + ]; + + buildInputs = [ + gtk3 + libappindicator-gtk3 + libindicator-gtk3 + polkit + ]; + + meta = with stdenv.lib; { + description = "Integrates polkit authentication for MATE desktop"; + homepage = https://mate-desktop.org; + license = [ licenses.gpl2Plus ]; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix b/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix new file mode 100644 index 00000000000..6ba6ac205ce --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, pkgconfig, intltool, glib, itstool, libxml2, mate, libnotify, libcanberra-gtk3, dbus-glib, upower, gnome3, gtk3, libtool, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "mate-power-manager"; + version = "1.22.1"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "06vs2w44l1s25j0mifkid02yncw0nvdxw8r4pp2jm18kxan4frms"; + }; + + buildInputs = [ + glib + itstool + libxml2 + libcanberra-gtk3 + gtk3 + gnome3.libgnome-keyring + libnotify + dbus-glib + upower + mate.mate-panel + ]; + + nativeBuildInputs = [ + pkgconfig + intltool + libtool + wrapGAppsHook + ]; + + configureFlags = [ "--enable-applets" ]; + + meta = with stdenv.lib; { + description = "The MATE Power Manager"; + homepage = https://mate-desktop.org; + license = licenses.gpl3; + platforms = platforms.unix; + maintainers = [ maintainers.romildo maintainers.chpatrick ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix b/nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix new file mode 100644 index 00000000000..d1c1e481d70 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gtk3, dbus-glib, libXScrnSaver, libnotify, pam, systemd, mate, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "mate-screensaver"; + version = "1.22.1"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0c4qq5szsbfrz8hgkmlby2k7f1qs8kgqf2shd63z0pc8p6f47vvc"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + dbus-glib + libXScrnSaver + libnotify + pam + systemd + mate.mate-desktop + mate.mate-menus + ]; + + configureFlags = [ "--without-console-kit" ]; + + makeFlags = "DBUS_SESSION_SERVICE_DIR=$(out)/etc"; + + meta = with stdenv.lib; { + description = "Screen saver and locker for the MATE desktop"; + homepage = https://mate-desktop.org; + license = with licenses; [ gpl2Plus lgpl2Plus ]; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix b/nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix new file mode 100644 index 00000000000..bd9ed9f6cbe --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtk3, libxml2, libxslt, libatasmart, libnotify, lm_sensors, mate, hicolor-icon-theme, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "mate-sensors-applet"; + version = "1.22.1"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0rv19jxxviqqwk2wlhxlm98jsxa26scvs7ilp2i6plhn3ap2alq3"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + itstool + wrapGAppsHook + ]; + + # maybe add nvidia-settings later on + buildInputs = [ + gtk3 + libxml2 + libxslt + libatasmart + libnotify + lm_sensors + mate.mate-panel + hicolor-icon-theme + ]; + + meta = with stdenv.lib; { + homepage = https://github.com/mate-desktop/mate-sensors-applet; + description = "MATE panel applet for hardware sensors"; + license = with licenses; [ gpl2Plus ]; + platforms = platforms.linux; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix b/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix new file mode 100644 index 00000000000..b7735ec77fe --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, pkgconfig, intltool, xtrans, dbus-glib, systemd, + libSM, libXtst, gtk3, hicolor-icon-theme, mate, + wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "mate-session-manager"; + version = "1.22.1"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1ix8picxgc28m5zd0ww3zvzw6rz38wvzsrbqw28hghrfg926h6ig"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + xtrans + wrapGAppsHook + ]; + + buildInputs = [ + dbus-glib + systemd + libSM + libXtst + gtk3 + mate.mate-desktop + hicolor-icon-theme + ]; + + meta = with stdenv.lib; { + description = "MATE Desktop session manager"; + homepage = https://github.com/mate-desktop/mate-session-manager; + license = with licenses; [ gpl2 lgpl2 ]; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix b/nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix new file mode 100644 index 00000000000..5ee995402ec --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, pkgconfig, intltool, glib, dbus-glib, libxklavier, + libcanberra-gtk3, libnotify, nss, polkit, gnome3, gtk3, mate, + pulseaudioSupport ? stdenv.config.pulseaudio or true, libpulseaudio, + wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "mate-settings-daemon"; + version = "1.22.0"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0yr5v6b9hdk20j29smbw1k4fkyg82i5vlflmgly0vi5whgc74gym"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + wrapGAppsHook + ]; + + buildInputs = [ + dbus-glib + libxklavier + libcanberra-gtk3 + libnotify + nss + polkit + gtk3 + gnome3.dconf + mate.mate-desktop + mate.libmatekbd + mate.libmatemixer + ] ++ stdenv.lib.optional pulseaudioSupport libpulseaudio; + + configureFlags = stdenv.lib.optional pulseaudioSupport "--enable-pulse"; + + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; + + meta = with stdenv.lib; { + description = "MATE settings daemon"; + homepage = https://github.com/mate-desktop/mate-settings-daemon; + license = with licenses; [ gpl2 lgpl21 ]; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix b/nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix new file mode 100644 index 00000000000..6f5993cfc35 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtkmm3, libxml2, libgtop, libwnck3, librsvg, systemd, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "mate-system-monitor"; + version = "1.22.1"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0yh1sh5snd7ivchh6l9rbn1s7ia4j5ihhzhqkyjnhr8ln59dvcbm"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + itstool + wrapGAppsHook + ]; + + buildInputs = [ + gtkmm3 + libxml2 + libgtop + libwnck3 + librsvg + systemd + ]; + + configureFlags = [ "--enable-systemd" ]; + + meta = with stdenv.lib; { + description = "System monitor for the MATE desktop"; + homepage = https://mate-desktop.org; + license = [ licenses.gpl2Plus ]; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix b/nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix new file mode 100644 index 00000000000..7ec9944aa0e --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, pkgconfig, intltool, glib, itstool, libxml2, mate, gnome3, gtk3, vte, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "mate-terminal"; + version = "1.22.1"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "08210ry5lrivsgzqpdaxrchhpj0n5s1q0x4pxmwdpnksjpcj11mn"; + }; + + buildInputs = [ + glib + itstool + libxml2 + + mate.mate-desktop + + vte + gtk3 + gnome3.dconf + ]; + + nativeBuildInputs = [ + pkgconfig + intltool + wrapGAppsHook + ]; + + meta = with stdenv.lib; { + description = "The MATE Terminal Emulator"; + homepage = https://mate-desktop.org; + license = licenses.gpl3; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-themes/default.nix b/nixpkgs/pkgs/desktops/mate/mate-themes/default.nix new file mode 100644 index 00000000000..9ed5515ea3e --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-themes/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, pkgconfig, intltool, mate, gtk2, gtk3, + gtk_engines, gtk-engine-murrine, gdk-pixbuf, librsvg }: + +stdenv.mkDerivation rec { + pname = "mate-themes"; + version = "3.22.20"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/themes/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0c3dhf8p9nc2maky4g9xr04iil9wwbdkmhpzynlc6lfg4ksqq2bx"; + }; + + nativeBuildInputs = [ pkgconfig intltool gtk3 ]; + + buildInputs = [ mate.mate-icon-theme gtk2 gtk_engines gdk-pixbuf librsvg ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + postInstall = '' + gtk-update-icon-cache "$out"/share/icons/ContrastHigh + ''; + + meta = { + description = "A set of themes from MATE"; + homepage = https://mate-desktop.org; + license = stdenv.lib.licenses.lgpl21; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix b/nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix new file mode 100644 index 00000000000..a9a0e171231 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, intltool, itstool, libxml2, yelp }: + +stdenv.mkDerivation rec { + pname = "mate-user-guide"; + version = "1.22.2"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "01kcszsjiriqp4hf1k4fhazi2yfqlkn415sfgx0jw0p821bzqf2h"; + }; + + nativeBuildInputs = [ itstool intltool libxml2 ]; + + buildInputs = [ yelp ]; + + meta = with stdenv.lib; { + description = "MATE User Guide"; + homepage = https://mate-desktop.org; + license = with licenses; [ gpl2Plus fdl12 ]; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix b/nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix new file mode 100644 index 00000000000..999bee2e5d1 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix @@ -0,0 +1,52 @@ +{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtk3, dbus-glib, libnotify, libxml2, libcanberra-gtk3, mod_dnssd, apacheHttpd, hicolor-icon-theme, mate, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "mate-user-share"; + version = "1.22.1"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1krsar1pwa8720qz2dckcg0f6z9mvfk49djdxaz1afvi7blmqd6k"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + itstool + libxml2 + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + dbus-glib + libnotify + libcanberra-gtk3 + mate.caja + hicolor-icon-theme + # Should mod_dnssd and apacheHttpd be runtime dependencies? + # In gnome-user-share they are not. + #mod_dnssd + #apacheHttpd + ]; + + preConfigure = '' + sed -e 's,^LoadModule dnssd_module.\+,LoadModule dnssd_module ${mod_dnssd}/modules/mod_dnssd.so,' \ + -e 's,''${HTTP_MODULES_PATH},${apacheHttpd}/modules,' \ + -i data/dav_user_2.4.conf + ''; + + configureFlags = [ + "--with-httpd=${apacheHttpd.out}/bin/httpd" + "--with-modules-path=${apacheHttpd.dev}/modules" + "--with-cajadir=$(out)/lib/caja/extensions-2.0" + ]; + + meta = with stdenv.lib; { + description = "User level public file sharing for the MATE desktop"; + homepage = https://github.com/mate-desktop/mate-user-share; + license = with licenses; [ gpl2Plus ]; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mate-utils/default.nix b/nixpkgs/pkgs/desktops/mate/mate-utils/default.nix new file mode 100644 index 00000000000..7775173611e --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mate-utils/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtk3, libxml2, libgtop, libcanberra-gtk3, inkscape, mate, hicolor-icon-theme, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "mate-utils"; + version = "1.22.1"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0768y6x33ljc9dxjlfmvplsn4lrxj5xhjddbyab9h6pqav8527rg"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + itstool + inkscape + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + libgtop + libcanberra-gtk3 + libxml2 + mate.mate-panel + hicolor-icon-theme + ]; + + meta = with stdenv.lib; { + description = "Utilities for the MATE desktop"; + homepage = https://mate-desktop.org; + license = with licenses; [ gpl2Plus lgpl2Plus ]; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/mozo/default.nix b/nixpkgs/pkgs/desktops/mate/mozo/default.nix new file mode 100644 index 00000000000..36f8fecb192 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/mozo/default.nix @@ -0,0 +1,28 @@ +{ stdenv, python3, fetchurl, pkgconfig, intltool, mate, gtk3, glib, wrapGAppsHook, gobject-introspection }: + +python3.pkgs.buildPythonApplication rec { + pname = "mozo"; + version = "1.22.1"; + + format = "other"; + doCheck = false; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0yffp7p3b6ynpf7ck21klym7h09l35amnyahm71dxbv2kzj6hlqh"; + }; + + nativeBuildInputs = [ pkgconfig intltool gobject-introspection wrapGAppsHook ]; + + propagatedBuildInputs = [ mate.mate-menus python3.pkgs.pygobject3 ]; + + buildInputs = [ gtk3 glib ]; + + meta = with stdenv.lib; { + description = "MATE Desktop menu editor"; + homepage = https://github.com/mate-desktop/mozo; + license = with licenses; [ lgpl2Plus ]; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/pluma/default.nix b/nixpkgs/pkgs/desktops/mate/pluma/default.nix new file mode 100644 index 00000000000..cfbe33dd380 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/pluma/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchurl, pkgconfig, intltool, itstool, isocodes, enchant, libxml2, python3, gnome3, gtksourceview3, libpeas, mate, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "pluma"; + version = "1.22.1"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "14d5c5fg31d7br9h1y3gdcr53j4sxlgybf326jvdcw8mgy91k3dg"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + itstool + isocodes + wrapGAppsHook + ]; + + buildInputs = [ + enchant + libxml2 + python3 + gtksourceview3 + libpeas + gnome3.adwaita-icon-theme + mate.mate-desktop + ]; + + meta = { + description = "Powerful text editor for the MATE desktop"; + homepage = https://mate-desktop.org; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/python-caja/default.nix b/nixpkgs/pkgs/desktops/mate/python-caja/default.nix new file mode 100644 index 00000000000..42a8e328a16 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/python-caja/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gtk3, mate, python3Packages }: + +stdenv.mkDerivation rec { + pname = "python-caja"; + version = "1.22.0"; + + src = fetchurl { + url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1zwdjvxci72j0181nlfq6912lw3aq8j3746brlp7wlzn22qp7b0k"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + python3Packages.wrapPython + ]; + + buildInputs = [ + gtk3 + mate.caja + python3Packages.python + python3Packages.pygobject3 + ]; + + configureFlags = [ "--with-cajadir=$$out/lib/caja/extensions-2.0" ]; + + meta = with stdenv.lib; { + description = "Python binding for Caja components"; + homepage = https://github.com/mate-desktop/python-caja; + license = [ licenses.gpl2Plus ]; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/mate/update.sh b/nixpkgs/pkgs/desktops/mate/update.sh new file mode 100755 index 00000000000..fe294ae4985 --- /dev/null +++ b/nixpkgs/pkgs/desktops/mate/update.sh @@ -0,0 +1,64 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p libarchive curl common-updater-scripts + +set -eu -o pipefail + +cd "$(dirname "${BASH_SOURCE[0]}")" +root=../../.. +export NIXPKGS_ALLOW_UNFREE=1 + +mate_version=1.22 +theme_version=3.22 +materepo=https://pub.mate-desktop.org/releases/${mate_version} +themerepo=https://pub.mate-desktop.org/releases/themes/${theme_version} + +version() { + (cd "$root" && nix-instantiate --eval --strict -A "$1.version" | tr -d '"') +} + +update_package() { + local p=$1 + echo $p + echo "# $p" >> git-commits.txt + + local repo + if [ "$p" = "mate-themes" ]; then + repo=$themerepo + else + repo=$materepo + fi + + local p_version_old=$(version mate.$p) + local p_versions=$(curl -sS ${repo}/ | sed -rne "s/.*\"$p-([0-9]+\\.[0-9]+\\.[0-9]+)\\.tar\\.xz.*/\\1/p") + local p_version=$(echo $p_versions | sed -e 's/ /\n/g' | sort -t. -k 1,1n -k 2,2n -k 3,3n | tail -n1) + + if [[ -z "$p_version" ]]; then + echo "unavailable $p" + echo "# $p not found" >> git-commits.txt + echo + return + fi + + if [[ "$p_version" = "$p_version_old" ]]; then + echo "nothing to do, $p $p_version is current" + echo + return + fi + + # Download package and save hash and file path. + local url="$repo/$p-${p_version}.tar.xz" + mapfile -t prefetch < <(nix-prefetch-url --print-path "$url") + local hash=${prefetch[0]} + local path=${prefetch[1]} + echo "$p: $p_version_old -> $p_version" + (cd "$root" && update-source-version mate.$p "$p_version" "$hash") + echo " git add pkgs/desktops/mate/$p" >> git-commits.txt + echo " git commit -m \"mate.$p: $p_version_old -> $p_version\"" >> git-commits.txt + echo +} + +for d in $(ls -A --indicator-style=none); do + if [ -d $d ]; then + update_package $d + fi +done |