Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: f439dc71011a
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 98572a296ba4
Choose a head ref
  • 6 commits
  • 6 files changed
  • 3 contributors

Commits on Sep 5, 2020

  1. iso-flags: init at unstable-18012020

    Co-authored-by: Jan Tojnar <jtojnar@gmail.com>
    2 people authored and worldofpeace committed Sep 5, 2020
    Copy the full SHA
    e5b0918 View commit details
  2. Copy the full SHA
    430fe6c View commit details
  3. Copy the full SHA
    ad59f20 View commit details
  4. Copy the full SHA
    302c8a4 View commit details
  5. Copy the full SHA
    ce2895d View commit details
  6. Merge pull request #86069 from mkg20001/pkg/cinnamon-screensaver

    cinnamon.cinnamon-screensaver: init at 4.4.0
    worldofpeace authored Sep 5, 2020
    Copy the full SHA
    98572a2 View commit details
47 changes: 47 additions & 0 deletions pkgs/data/icons/iso-flags/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{ stdenv
, fetchFromGitHub
, perl
, perlPackages
, inkscape
, pngcrush
, librsvg
, targets ? [ "all" ]
}:

stdenv.mkDerivation {
pname = "iso-flags";
version = "unstable-18012020";

src = fetchFromGitHub {
owner = "joielechong";
repo = "iso-country-flags-svg-collection";
rev = "9ebbd577b9a70fbfd9a1931be80c66e0d2f31a9d";
sha256 = "17bm7w4md56xywixfvp7vr3d6ihvxk3383i9i4rpmgm6qa9dyxdl";
};

nativeBuildInputs = [
perl
inkscape
librsvg
(perl.withPackages(pp: with pp; [ JSON XMLLibXML ]))
];

postPatch = ''
patchShebangs .
'';

buildFlags = targets;

installPhase = ''
mkdir -p $out/share
mv build $out/share/iso-flags
'';

meta = with stdenv.lib; {
homepage = "https://github.com/joielechong/iso-country-flags-svg-collection";
description = "248 country flag SVG & PNG icons with different icon styles";
license = [ licenses.publicDomain ];
platforms = platforms.linux; # the output assets should work anywhere, but unsure about the tools to build them...
maintainers = [ maintainers.mkg20001 ];
};
}
156 changes: 156 additions & 0 deletions pkgs/desktops/cinnamon/cinnamon-common/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
{ atk
, autoreconfHook
, cacert
, fetchpatch
, dbus
, cinnamon-control-center
, cinnamon-desktop
, cinnamon-menus
, cjs
, fetchFromGitHub
, gdk-pixbuf
, libgnomekbd
, glib
, gobject-introspection
, gtk3
, intltool
, json-glib
, callPackage
, libsoup
, libstartup_notification
, libXtst
, muffin
, networkmanager
, pkgconfig
, polkit
, stdenv
, wrapGAppsHook
, libxml2
, gtk-doc
, gnome3
, python3
, keybinder3
, cairo
, xapps
, upower
, nemo
, libnotify
, accountsservice
, gnome-online-accounts
, glib-networking
, pciutils
, timezonemap
}:

let
libcroco = callPackage ./libcroco.nix { };
in
stdenv.mkDerivation rec {
pname = "cinnamon-common";
version = "4.4.1";

src = fetchFromGitHub {
owner = "linuxmint";
repo = "cinnamon";
rev = version;
sha256 = "0sv7nqd1l6c727qj30dcgdkvfh1wxpszpgmbdyh58ilmc8xklnqd";
};

patches = [
# remove dbus-glib
(fetchpatch {
url = "https://github.com/linuxmint/cinnamon/commit/ce99760fa15c3de2e095b9a5372eeaca646fbed1.patch";
sha256 = "0p2sbdi5w7sgblqbgisb6f8lcj1syzq5vlk0ilvwaqayxjylg8gz";
})
];

buildInputs = [
# TODO: review if we really need this all
(python3.withPackages (pp: with pp; [ dbus-python setproctitle pygobject3 pycairo xapp pillow pytz tinycss pam pexpect ]))
atk
cacert
cinnamon-control-center
cinnamon-desktop
cinnamon-menus
cjs
dbus
gdk-pixbuf
glib
gtk3
json-glib
libcroco
libsoup
libstartup_notification
libXtst
muffin
networkmanager
pkgconfig
polkit
libxml2
libgnomekbd

# bindings
cairo
gnome3.caribou
keybinder3
upower
xapps
timezonemap
nemo
libnotify
accountsservice

# gsi bindings
gnome-online-accounts
glib-networking # for goa
];

nativeBuildInputs = [
gobject-introspection
autoreconfHook
wrapGAppsHook
intltool
gtk-doc
];

autoreconfPhase = ''
GTK_DOC_CHECK=false NOCONFIGURE=1 bash ./autogen.sh
'';

configureFlags = [ "--disable-static" "--with-ca-certificates=${cacert}/etc/ssl/certs/ca-bundle.crt" "--with-libxml=${libxml2.dev}/include/libxml2" "--enable-gtk-doc=no" ];

postPatch = ''
substituteInPlace src/Makefile.am \
--replace "\$(libdir)/muffin" "${muffin}/lib/muffin"
patchShebangs autogen.sh
find . -type f -exec sed -i \
-e s,/usr/share/cinnamon,$out/share/cinnamon,g \
-e s,/usr/share/locale,/run/current-system/sw/share/locale,g \
{} +
sed "s|/usr/share/sounds|/run/current-system/sw/share/sounds|g" -i ./files/usr/share/cinnamon/cinnamon-settings/bin/SettingsWidgets.py
sed "s|/usr/bin/upload-system-info|${xapps}/bin/upload-system-info|g" -i ./files/usr/share/cinnamon/cinnamon-settings/modules/cs_info.py
sed "s|upload-system-info|${xapps}/bin/upload-system-info|g" -i ./files/usr/share/cinnamon/cinnamon-settings/modules/cs_info.py
sed "s|/usr/bin/cinnamon-control-center|${cinnamon-control-center}/bin/cinnamon-control-center|g" -i ./files/usr/bin/cinnamon-settings
# this one really IS optional
sed "s|/usr/bin/gnome-control-center|/run/current-system/sw/bin/gnome-control-center|g" -i ./files/usr/bin/cinnamon-settings
sed "s|\"/usr/lib\"|\"${cinnamon-control-center}/lib\"|g" -i ./files/usr/share/cinnamon/cinnamon-settings/bin/capi.py
# another bunch of optional stuff
sed "s|/usr/bin|/run/current-system/sw/bin|g" -i ./files/usr/bin/cinnamon-launcher
sed 's|"lspci"|"${pciutils}/bin/lspci"|g' -i ./files/usr/share/cinnamon/cinnamon-settings/modules/cs_info.py
'';

meta = with stdenv.lib; {
homepage = "https://github.com/linuxmint/cinnamon";
description = "The Cinnamon desktop environment";
license = [ licenses.gpl2 ];
platforms = platforms.linux;
maintainers = [ maintainers.mkg20001 ];
};
}
33 changes: 33 additions & 0 deletions pkgs/desktops/cinnamon/cinnamon-common/libcroco.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{ stdenv, fetchurl, pkgconfig, libxml2, glib, gnome3 }:

stdenv.mkDerivation rec {
pname = "libcroco";
version = "0.6.13";

src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn";
};

outputs = [ "out" "dev" ];
outputBin = "dev";

configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-Bsymbolic";

nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libxml2 glib ];

passthru = {
updateScript = gnome3.updateScript {
packageName = pname;
};
};

meta = with stdenv.lib; {
description = "GNOME CSS2 parsing and manipulation toolkit";
homepage = https://gitlab.gnome.org/GNOME/libcroco;
license = licenses.lgpl2;
platforms = platforms.unix;
};
}

111 changes: 111 additions & 0 deletions pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
{ stdenv
, fetchFromGitHub
, pkgconfig
, autoreconfHook
, glib
, dbus
, gettext
, cinnamon-desktop
, cinnamon-common
, intltool
, libxslt
, gtk3
, libnotify
, libxkbfile
, cinnamon-menus
, libgnomekbd
, libxklavier
, networkmanager
, libwacom
, gnome3
, libtool
, wrapGAppsHook
, tzdata
, glibc
, gobject-introspection
, python3
, pam
, accountsservice
, cairo
, xapps
, xorg
, iso-flags-png-320x420
}:

stdenv.mkDerivation rec {
pname = "cinnamon-screensaver";
version = "4.4.0";

src = fetchFromGitHub {
owner = "linuxmint";
repo = pname;
rev = version;
sha256 = "03v41wk1gmgmyl31j7a3pav52gfv2faibj1jnpj3ycwcv4cch5w5";
};

nativeBuildInputs = [
pkgconfig
autoreconfHook
wrapGAppsHook
gettext
intltool
dbus # for configure.ac
libxslt
libtool
];

buildInputs = [
# from configure.ac
gobject-introspection
gtk3
glib

xorg.libXext
xorg.libXinerama
xorg.libX11
xorg.libXrandr

(python3.withPackages (pp: with pp; [ pygobject3 setproctitle xapp pycairo ]))
xapps
pam
accountsservice
cairo
cinnamon-desktop
cinnamon-common
gnome3.libgnomekbd
gnome3.caribou

# things
iso-flags-png-320x420
];

NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; # TODO: https://github.com/NixOS/nixpkgs/issues/36468

postPatch = ''
patchShebangs autogen.sh
sed ${stdenv.lib.escapeShellArg "s&DBUS_SESSION_SERVICE_DIR=.*&DBUS_SESSION_SERVICE_DIR=`$PKG_CONFIG --variable session_bus_services_dir dbus-1 | sed -e 's,/usr/share,\${datarootdir},g' | sed 's|^|$out|'`&g"} -i configure.ac
# cscreensaver hardcodes absolute paths everywhere. Nuke from orbit.
find . -type f -exec sed -i \
-e s,/usr/share/locale,/run/current-system/sw/share/locale,g \
-e s,/usr/lib/cinnamon-screensaver,$out/lib,g \
-e s,/usr/share/cinnamon-screensaver,$out/share,g \
-e s,/usr/share/iso-flag-png,${iso-flags-png-320x420}/share/iso-flags-png,g \
{} +
sed "s|/usr/share/locale|/run/current-system/sw/share/locale|g" -i ./src/cinnamon-screensaver-main.py
'';

autoreconfPhase = ''
NOCONFIGURE=1 bash ./autogen.sh
'';

meta = with stdenv.lib; {
homepage = "https://github.com/linuxmint/cinnamon-screensaver";
description = "The Cinnamon screen locker and screensaver program";
license = [ licenses.gpl2 licenses.lgpl2 ];
platforms = platforms.linux;
maintainers = [ maintainers.mkg20001 ];
};
}
13 changes: 13 additions & 0 deletions pkgs/desktops/cinnamon/default.nix
Original file line number Diff line number Diff line change
@@ -1,10 +1,23 @@
{ pkgs, lib }:

lib.makeScope pkgs.newScope (self: with self; {
iso-flags-png-320x420 = pkgs.iso-flags.overrideAttrs(p: p // {
buildPhase = "make png-country-320x240-fancy";
# installPhase = "mkdir -p $out/share && mv build/png-country-4x2-fancy/res-320x240 $out/share/iso-flags-png-320x420";
installPhase = "mkdir -p $out/share && mv build/png-country-4x2-fancy/res-320x240 $out/share/iso-flags-png";
});

iso-flags-svg = pkgs.iso-flags.overrideAttrs(p: p // {
buildPhase = "mkdir -p $out/share";
installPhase = "mv svg $out/share/iso-flags-svg";
});

cinnamon-common = callPackage ./cinnamon-common { };
cinnamon-control-center = callPackage ./cinnamon-control-center { };
cinnamon-desktop = callPackage ./cinnamon-desktop { };
cinnamon-menus = callPackage ./cinnamon-menus { };
cinnamon-translations = callPackage ./cinnamon-translations { };
cinnamon-screensaver = callPackage ./cinnamon-screensaver { };
cinnamon-session = callPackage ./cinnamon-session { };
cinnamon-settings-daemon = callPackage ./cinnamon-settings-daemon { };
cjs = callPackage ./cjs { };
2 changes: 2 additions & 0 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
@@ -12959,6 +12959,8 @@ in

isocodes = callPackage ../development/libraries/iso-codes { };

iso-flags = callPackage ../data/icons/iso-flags { };

ispc = callPackage ../development/compilers/ispc {
stdenv = llvmPackages_10.stdenv;
llvmPackages = llvmPackages_10;