Merge commit 'cb21b77' into master.upstream

This is a partial merge of staging for builds which are working
This commit is contained in:
William A. Kennington III 2015-11-13 15:53:10 -08:00
commit 9579c9ec7f
392 changed files with 7282 additions and 7266 deletions

View File

@ -666,27 +666,6 @@ to find out the store path of the system's zlib library. Now, you can
The same thing applies to `cabal configure`, of course, if you're
building with `cabal-install` instead of Stack.
## Creating statically linked binaries
There are two levels of static linking. The first option is to configure the
build with the Cabal flag `--disable-executable-dynamic`. In Nix expressions,
this can be achieved by setting the attribute:
enableSharedExecutables = false;
That gives you a binary with statically linked Haskell libraries and
dynamically linked system libraries.
To link both Haskell libraries and system libraries statically, the additional
flags `--ghc-option=-optl=-static --ghc-option=-optl=-pthread` need to be used.
In Nix, this is accomplished with:
configureFlags = [ "--ghc-option=-optl=-static" "--ghc-option=-optl=-pthread" ];
It's important to realize, however, that most system libraries in Nix are built
as shared libraries only, i.e. there is just no static library available that
Cabal could link!
# Other resources

View File

@ -150,7 +150,6 @@
jwilberding = "Jordan Wilberding <jwilberding@afiniate.com>";
jzellner = "Jeff Zellner <jeffz@eml.cc>";
kamilchm = "Kamil Chmielewski <kamil.chm@gmail.com>";
kampfschlaefer = "Arnold Krille <arnold@arnoldarts.de>";
khumba = "Bryan Gardiner <bog@khumba.net>";
kkallio = "Karn Kallio <tierpluspluslists@gmail.com>";
koral = "Koral <koral@mailoo.org>";
@ -189,7 +188,6 @@
meditans = "Carlo Nucera <meditans@gmail.com>";
meisternu = "Matt Miemiec <meister@krutt.org>";
michelk = "Michel Kuhlmann <michel@kuhlmanns.info>";
michaelpj = "Michael Peyton Jones <michaelpj@gmail.com>";
mirdhyn = "Merlin Gaillard <mirdhyn@gmail.com>";
mschristiansen = "Mikkel Christiansen <mikkel@rheosystems.com>";
modulistic = "Pablo Costa <modulistic@gmail.com>";

View File

@ -4,28 +4,24 @@ set -o pipefail
GNOME_FTP="ftp.gnome.org/pub/GNOME/sources"
# projects that don't follow the GNOME major versioning, or that we don't want to
# programmatically update
NO_GNOME_MAJOR="gtkhtml gdm"
usage() {
echo "Usage: $0 show|update project [major.minor]" >&2
echo "Usage: $0 gnome_dir <show project>|<update project>|<update-all> [major.minor]" >&2
echo "gnome_dir is for example pkgs/desktops/gnome-3/3.18" >&2
exit 0
}
if [ "$#" -lt 1 ]; then
if [ "$#" -lt 2 ]; then
usage
fi
GNOME_TOP="$1"
shift
action="$1"
project="$2"
majorVersion="$3"
if [ "$action" != "show" ] && [ "$action" != "update" ]; then
echo "Unknown action $action" >&2
usage
fi
if [ -z "$project" ]; then
echo "No project specified, exiting"
exit 1
fi
# curl -l ftp://... doesn't work from my office in HSE, and I don't want to have
# any conversations with sysadmin. Somehow lftp works.
@ -39,79 +35,93 @@ else
}
fi
if [ -z "$majorVersion" ]; then
echo "Looking for available versions..." >&2
available_baseversions=( `ls_ftp ftp://${GNOME_FTP}/${project} | grep '[0-9]\.[0-9]' | sort -t. -k1,1n -k 2,2n` )
if [ "$?" -ne "0" ]; then
echo "Project $project not found" >&2
exit 1
find_project() {
exec find "$GNOME_TOP" -mindepth 2 -maxdepth 2 -type d $@
}
show_project() {
local project="$1"
local majorVersion="$2"
local version=""
if [ -z "$majorVersion" ]; then
echo "Looking for available versions..." >&2
local available_baseversions=( `ls_ftp ftp://${GNOME_FTP}/${project} | grep '[0-9]\.[0-9]' | sort -t. -k1,1n -k 2,2n` )
if [ "$?" -ne "0" ]; then
echo "Project $project not found" >&2
return 1
fi
echo -e "The following versions are available:\n ${available_baseversions[@]}" >&2
echo -en "Choose one of them: " >&2
read majorVersion
fi
echo -e "The following versions are available:\n ${available_baseversions[@]}" >&2
echo -en "Choose one of them: " >&2
read majorVersion
fi
if echo "$majorVersion" | grep -q "[0-9]\+\.[0-9]\+\.[0-9]\+"; then
# not a major version
version="$majorVersion"
majorVersion=$(echo "$majorVersion" | cut -d '.' -f 1,2)
fi
FTPDIR="${GNOME_FTP}/${project}/${majorVersion}"
#version=`curl -l ${FTPDIR}/ 2>/dev/null | grep LATEST-IS | sed -e s/LATEST-IS-//`
# gnome's LATEST-IS is broken. Do not trust it.
if [ -z "$version" ]; then
files=$(ls_ftp "${FTPDIR}")
declare -A versions
for f in $files; do
case $f in
(LATEST-IS-*|*.news|*.changes|*.sha256sum|*.diff*):
;;
($project-*.*.9*.tar.*):
tmp=${f#$project-}
tmp=${tmp%.tar*}
echo "Ignored unstable version ${tmp}" >&2
;;
($project-*.tar.*):
tmp=${f#$project-}
tmp=${tmp%.tar*}
versions[${tmp}]=1
;;
(*):
echo "UNKNOWN FILE $f"
;;
esac
done
echo "Found versions ${!versions[@]}" >&2
version=`echo ${!versions[@]} | sed -e 's/ /\n/g' | sort -t. -k1,1n -k 2,2n -k 3,3n | tail -n1`
echo "Latest version is: ${version}" >&2
fi
name=${project}-${version}
echo "Fetching .sha256 file" >&2
sha256out=$(curl -s -f http://${FTPDIR}/${name}.sha256sum)
if [ "$?" -ne "0" ]; then
echo "Version not found" >&2
exit 1
fi
extensions=( "xz" "bz2" "gz" )
echo "Choosing archive extension (known are ${extensions[@]})..." >&2
for ext in ${extensions[@]}; do
if echo -e "$sha256out" | grep -q "\\.tar\\.${ext}$"; then
ext_pref=$ext
sha256=$(echo -e "$sha256out" | grep "\\.tar\\.${ext}$" | cut -f1 -d\ )
break
if echo "$majorVersion" | grep -q "[0-9]\+\.[0-9]\+\.[0-9]\+"; then
# not a major version
version="$majorVersion"
majorVersion=$(echo "$majorVersion" | cut -d '.' -f 1,2)
fi
done
echo "Chosen ${ext_pref}, hash is ${sha256}" >&2
local FTPDIR="${GNOME_FTP}/${project}/${majorVersion}"
#version=`curl -l ${FTPDIR}/ 2>/dev/null | grep LATEST-IS | sed -e s/LATEST-IS-//`
# gnome's LATEST-IS is broken. Do not trust it.
if [ -z "$version" ]; then
local files=$(ls_ftp "${FTPDIR}")
declare -A versions
for f in $files; do
case $f in
(LATEST-IS-*|*.news|*.changes|*.sha256sum|*.diff*):
;;
($project-*.*.9*.tar.*):
tmp=${f#$project-}
tmp=${tmp%.tar*}
echo "Ignored unstable version ${tmp}" >&2
;;
($project-*.tar.*):
tmp=${f#$project-}
tmp=${tmp%.tar*}
versions[${tmp}]=1
;;
(*):
echo "UNKNOWN FILE $f" >&2
;;
esac
done
echo "Found versions ${!versions[@]}" >&2
version=`echo ${!versions[@]} | sed -e 's/ /\n/g' | sort -t. -k1,1n -k 2,2n -k 3,3n | tail -n1`
if [ -z "$version" ]; then
echo "No version available for major $majorVersion" >&2
return 1
fi
src="# Autogenerated by maintainers/scripts/gnome.sh update
echo "Latest version is: ${version}" >&2
fi
local name=${project}-${version}
echo "Fetching .sha256 file" >&2
local sha256out=$(curl -s -f http://${FTPDIR}/${name}.sha256sum)
if [ "$?" -ne "0" ]; then
echo "Version not found" >&2
return 1
fi
extensions=( "xz" "bz2" "gz" )
echo "Choosing archive extension (known are ${extensions[@]})..." >&2
for ext in ${extensions[@]}; do
if echo -e "$sha256out" | grep -q "\\.tar\\.${ext}$"; then
ext_pref=$ext
sha256=$(echo -e "$sha256out" | grep "\\.tar\\.${ext}$" | cut -f1 -d\ )
break
fi
done
echo "Chosen ${ext_pref}, hash is ${sha256}" >&2
echo "# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = \"${project}-${version}\";
@ -122,17 +132,63 @@ fetchurl: {
};
}"
if [ "$action" == "update" ]; then
return 0
}
update_project() {
local project="$1"
local majorVersion="$2"
# find project in nixpkgs tree
GNOME_TOP=$(readlink -e $(dirname "${BASH_SOURCE[0]}")"/../../pkgs/desktops/gnome-3/")
projectPath=$(find "$GNOME_TOP" -name "$project" -print)
projectPath=$(find_project -name "$project" -print)
if [ -z "$projectPath" ]; then
echo "Project $project not found under $GNOME_TOP"
exit 1
fi
echo "Updating $projectPath/src.nix"
echo -e "$src" > "$projectPath/src.nix"
src=$(show_project "$project" "$majorVersion")
if [ "$?" -eq "0" ]; then
echo "Updating $projectPath/src.nix" >&2
echo -e "$src" > "$projectPath/src.nix"
fi
return 0
}
if [ "$action" == "update-all" ]; then
majorVersion="$2"
if [ -z "$majorVersion" ]; then
echo "No major version specified" >&2
usage
fi
# find projects
projects=$(find_project -exec basename '{}' \;)
for project in $projects; do
if echo "$NO_GNOME_MAJOR"|grep -q $project; then
echo "Skipping $project"
else
echo "= Updating $project to $majorVersion" >&2
update_project $project $majorVersion
echo >&2
fi
done
else
echo -e "\n$src"
fi
project="$2"
majorVersion="$3"
if [ -z "$project" ]; then
echo "No project specified, exiting" >&2
usage
fi
if [ "$action" == "show" ]; then
show_project $project $majorVersion
elif [ "$action" == "update" ]; then
update_project $project $majorVersion
else
echo "Unknown action $action" >&2
usage
fi
fi

View File

@ -46,17 +46,6 @@ in {
is left empty, the OpenSMTPD server will not start.
'';
};
procPackages = mkOption {
type = types.listOf types.path;
default = [];
description = ''
Packages to search for filters, tables, queues, and schedulers.
Add OpenSMTPD-extras here if you want to use the filters, etc. from
that package.
'';
};
};
};
@ -83,19 +72,12 @@ in {
};
};
systemd.services.opensmtpd = let
procEnv = pkgs.buildEnv {
name = "opensmtpd-procs";
paths = [ opensmtpd ] ++ cfg.procPackages;
pathsToLink = [ "/libexec/opensmtpd" ];
};
in {
systemd.services.opensmtpd = {
wantedBy = [ "multi-user.target" ];
wants = [ "network.target" ];
after = [ "network.target" ];
preStart = "mkdir -p /var/spool";
serviceConfig.ExecStart = "${opensmtpd}/sbin/smtpd -d -f ${conf} ${args}";
environment.OPENSMTPD_PROC_PATH = "${procEnv}/libexec/opensmtpd";
};
environment.systemPackages = [ (pkgs.runCommand "opensmtpd-sendmail" {} ''

View File

@ -72,10 +72,11 @@ let
${coreutils}/bin/rm -f $tmp $tmp.ns
'';
# pre-up and pre-down hooks were added in NM 0.9.10, but we still use 0.9.0
dispatcherTypesSubdirMap = {
"basic" = "";
"pre-up" = "pre-up.d/";
"pre-down" = "pre-down.d/";
/*"pre-up" = "pre-up.d/";
"pre-down" = "pre-down.d/";*/
};
in {

View File

@ -69,6 +69,7 @@ let
"systemd-journal-flush.service"
"systemd-journal-gatewayd.socket"
"systemd-journal-gatewayd.service"
"systemd-journald-audit.socket"
"systemd-journald-dev-log.socket"
"syslog.socket"
@ -99,7 +100,7 @@ let
# Maintaining state across reboots.
"systemd-random-seed.service"
"systemd-backlight@.service"
"systemd-rfkill@.service"
"systemd-rfkill.service"
# Hibernate / suspend.
"hibernate.target"
@ -109,8 +110,6 @@ let
"systemd-hibernate.service"
"systemd-suspend.service"
"systemd-hybrid-sleep.service"
"systemd-shutdownd.socket"
"systemd-shutdownd.service"
# Reboot stuff.
"reboot.target"
@ -758,7 +757,6 @@ in
systemd.services."systemd-rfkill@".restartIfChanged = false;
systemd.services."user@".restartIfChanged = false;
systemd.services.systemd-journal-flush.restartIfChanged = false;
systemd.services.systemd-journald.restartIfChanged = false; # FIXME: shouldn't be necessary with systemd 219
systemd.services.systemd-random-seed.restartIfChanged = false;
systemd.services.systemd-remount-fs.restartIfChanged = false;
systemd.services.systemd-update-utmp.restartIfChanged = false;

View File

@ -46,6 +46,51 @@ let
'';
});
# Collect all interfaces that are defined for a device
# as device:interface key:value pairs.
wlanDeviceInterfaces =
let
allDevices = unique (mapAttrsToList (_: v: v.device) cfg.wlanInterfaces);
interfacesOfDevice = d: filterAttrs (_: v: v.device == d) cfg.wlanInterfaces;
in
genAttrs allDevices (d: interfacesOfDevice d);
# Convert device:interface key:value pairs into a list, and if it exists,
# place the interface which is named after the device at the beginning.
wlanListDeviceFirst = device: interfaces:
if hasAttr device interfaces
then [{"${device}"=interfaces.device; _iName=device;}] ++ mapAttrsToList (n: v: v//{_iName=n;}) (filterAttrs (n: _: n!=device) interfaces)
else mapAttrsToList (n: v: v // {_iName = n;}) interfaces;
# udev script that configures a physical wlan device and adds virtual interfaces
wlanDeviceUdevScript = device: interfaceList: pkgs.writeScript "wlan-${device}-udev-script" ''
#!${pkgs.stdenv.shell}
# Change the wireless phy device to a predictable name.
if [ -e "/sys/class/net/${device}/phy80211/name" ]; then
${pkgs.iw}/bin/iw phy `${pkgs.coreutils}/bin/cat /sys/class/net/${device}/phy80211/name` set name ${device} || true
fi
# Crate new, virtual interfaces and configure them at the same time
${flip concatMapStrings (drop 1 interfaceList) (i: ''
${pkgs.iw}/bin/iw dev ${device} interface add ${i._iName} type ${i.type} \
${optionalString (i.type == "mesh" && i.meshID != null) "mesh_id ${i.meshID}"} \
${optionalString (i.type == "monitor" && i.flags != null) "flags ${i.flags}"} \
${optionalString (i.type == "managed" && i.fourAddr != null) "4addr ${if i.fourAddr then "on" else "off"}"} \
${optionalString (i.mac != null) "addr ${i.mac}"}
'')}
# Reconfigure and rename the default interface that already exists
${flip concatMapStrings (take 1 interfaceList) (i: ''
${pkgs.iw}/bin/iw dev ${device} set type ${i.type}
${optionalString (i.type == "mesh" && i.meshID != null) "${pkgs.iw}/bin/iw dev ${device} set meshid ${i.meshID}"}
${optionalString (i.type == "monitor" && i.flags != null) "${pkgs.iw}/bin/iw dev ${device} set monitor ${i.flags}"}
${optionalString (i.type == "managed" && i.fourAddr != null) "${pkgs.iw}/bin/iw dev ${device} set 4addr ${if i.fourAddr then "on" else "off"}"}
${optionalString (i.mac != null) "${pkgs.iproute}/bin/ip link set dev ${device} address ${i.mac}"}
${optionalString (device != i._iName) "${pkgs.iproute}/bin/ip link set dev ${device} name ${i._iName}"}
'')}
'';
# We must escape interfaces due to the systemd interpretation
subsystemDevice = interface:
"sys-subsystem-net-devices-${escapeSystemdPath interface}.device";

36
nixos/tests/gnome3_18.nix Normal file
View File

@ -0,0 +1,36 @@
import ./make-test.nix ({ pkgs, ...} : {
name = "gnome3";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ iElectric eelco chaoflow lethalman ];
};
machine =
{ config, pkgs, ... }:
{ imports = [ ./common/user-account.nix ];
services.xserver.enable = true;
services.xserver.displayManager.auto.enable = true;
services.xserver.displayManager.auto.user = "alice";
services.xserver.desktopManager.gnome3.enable = true;
environment.gnome3.packageSet = pkgs.gnome3_18;
virtualisation.memorySize = 512;
};
testScript =
''
$machine->waitForX;
$machine->sleep(15);
# Check that logging in has given the user ownership of devices.
$machine->succeed("getfacl /dev/snd/timer | grep -q alice");
$machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'");
$machine->waitForWindow(qr/Terminal/);
$machine->sleep(20);
$machine->screenshot("screen");
'';
})

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, wxGTK, pkgconfig, gettext, gtk, glib, zlib, perl, intltool,
libogg, libvorbis, libmad, alsaLib, libsndfile, soxr, flac, lame,
expat, libid3tag, ffmpeg, soundtouch /*, portaudio - given up fighting their portaudio.patch */
expat, libid3tag, ffmpeg /*, portaudio - given up fighting their portaudio.patch */
}:
stdenv.mkDerivation rec {
@ -19,13 +19,11 @@ stdenv.mkDerivation rec {
rm -r lib-src-rm/
'';
configureFlags = "--with-libsamplerate";
buildInputs = [
pkgconfig gettext wxGTK gtk expat alsaLib
libsndfile soxr libid3tag
ffmpeg libmad lame libvorbis flac soundtouch
]; #ToDo: detach sbsms
ffmpeg libmad lame libvorbis flac
]; #ToDo: soundtouch, detach sbsms
dontDisableStatic = true;
doCheck = true;

View File

@ -1,35 +0,0 @@
{ stdenv, fetchurl, pkgs, jack ? pkgs.libjack2 }:
stdenv.mkDerivation rec {
name = "jackmix-0.5.2";
src = fetchurl {
url = https://github.com/kampfschlaefer/jackmix/archive/v0.5.2.tar.gz;
sha256 = "18f5v7g66mgarhs476frvayhch7fy4nyjf2xivixc061ipn0m82j";
};
buildInputs = [
pkgs.pkgconfig
pkgs.scons
pkgs.kde4.qt4
pkgs.lash
jack
];
buildPhase = ''
scons
'';
installPhase = ''
mkdir -p $out/bin
cp jackmix/jackmix $out/bin
'';
meta = {
description = "Matrix-Mixer for the Jack-Audio-connection-Kit";
homepage = http://www.arnoldarts.de/jackmix/;
license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.kampfschlaefer ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -245,7 +245,7 @@ rec {
/* =============== simple script files ==================== */
# also have a look at enblend-enfuse in all-packages.nix
# also have a look at enblendenfuse in all-packages.nix
exposureBlend = scriptDerivation {
name = "exposure-blend";
src = fetchurl {

View File

@ -1,7 +1,7 @@
{ stdenv, cmake, fetchurl, gnumake, pkgconfig
, boost, gettext, tclap, wxGTK
, freeglut, glew, libXi, libXmu, mesa
, autopanosiftc, enblend-enfuse, exiv2, ilmbase, lensfun, libpng, libtiff
, autopanosiftc, enblendenfuse, exiv2, ilmbase, lensfun, libpng, libtiff
, openexr, panotools, perlPackages
}:
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
# commandline tools needed by the hugin batch processor
# you may have to tell hugin (in the preferences) where these binaries reside
propagatedUserEnvPackages = [ autopanosiftc enblend-enfuse gnumake
propagatedUserEnvPackages = [ autopanosiftc enblendenfuse gnumake
perlPackages.ImageExifTool
];

View File

@ -37,5 +37,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl3;
maintainers = with maintainers; [ viric ];
platforms = with platforms; linux;
hydraPlatforms = [];
};
}

View File

@ -1,4 +1,4 @@
{stdenv, fetchurl, flex, bison, libpcap, libdnet, libnfnetlink, libnetfilter_queue}:
{stdenv, fetchurl, flex, bison, libpcap}:
stdenv.mkDerivation rec {
name = "daq-2.0.5";
@ -9,9 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "0vdwb0r9kdlgj4g0i0swafbc7qik0zmks17mhqji8cl7hpdva13p";
};
buildInputs = [ flex bison libpcap libdnet libnfnetlink libnetfilter_queue];
configureFlags = "--enable-nfq-module=yes --with-dnet-includes=${libdnet}/includes --with-dnet-libraries=${libdnet}/lib";
buildInputs = [ flex bison libpcap ];
meta = {
description = "Data AcQuisition library (DAQ), for packet I/O";

View File

@ -1,4 +1,4 @@
{stdenv, makeWrapper, fetchurl, libpcap, pcre, libdnet, daq, zlib, flex, bison}:
{stdenv, fetchurl, libpcap, pcre, libdnet, daq, zlib, flex, bison, makeWrapper}:
stdenv.mkDerivation rec {
version = "2.9.7.2";

View File

@ -1,44 +0,0 @@
{ stdenv, fetchurl, ncurses }:
stdenv.mkDerivation rec {
version = "1.1.4";
name = "iptraf-ng-${version}";
src = fetchurl {
url = "https://fedorahosted.org/releases/i/p/iptraf-ng/${name}.tar.gz";
sha256 = "02gb8z9h2s6s1ybyikywz7jgb1mafdx88hijfasv3khcgkq0q53r";
};
buildInputs = [ ncurses ];
configurePhase = ''
./configure --prefix=$out/usr --sysconfdir=$out/etc \
--localstatedir=$out/var --sbindir=$out/bin
'';
meta = {
description = "A console-based network monitoring utility (fork of iptraf)";
longDescription = ''
IPTraf-ng is a console-based network monitoring utility. IPTraf-ng
gathers data like TCP connection packet and byte counts, interface
statistics and activity indicators, TCP/UDP traffic breakdowns, and LAN
station packet and byte counts. IPTraf-ng features include an IP traffic
monitor which shows TCP flag information, packet and byte counts, ICMP
details, OSPF packet types, and oversized IP packet warnings; interface
statistics showing IP, TCP, UDP, ICMP, non-IP and other IP packet counts,
IP checksum errors, interface activity and packet size counts; a TCP and
UDP service monitor showing counts of incoming and outgoing packets for
common TCP and UDP application ports, a LAN statistics module that
discovers active hosts and displays statistics about their activity; TCP,
UDP and other protocol display filters so you can view just the traffic
you want; logging; support for Ethernet, FDDI, ISDN, SLIP, PPP, and
loopback interfaces; and utilization of the built-in raw socket interface
of the Linux kernel, so it can be used on a wide variety of supported
network cards.
'';
homepage = https://fedorahosted.org/iptraf-ng/;
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.devhell ];
};
}

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, intltool, file, makeWrapper
, openssl, curl, libevent, inotify-tools, systemd
, openssl, curl, libevent, inotify-tools, systemd, zlib
, enableGTK3 ? false, gtk3
}:
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
sha256 = "1sxr1magqb5s26yvr5yhs1f7bmir8gl09niafg64lhgfnhv1kz59";
};
buildInputs = [ pkgconfig intltool file openssl curl libevent inotify-tools ]
buildInputs = [ pkgconfig intltool file openssl curl libevent inotify-tools zlib ]
++ optionals enableGTK3 [ gtk3 makeWrapper ]
++ optional stdenv.isLinux systemd;

View File

@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, docutils, python }:
let version = "0.9.0"; in
stdenv.mkDerivation rec {
stdenv.mkDerivation {
name = "git-hub-${version}";
src = fetchFromGitHub {
@ -11,6 +11,20 @@ stdenv.mkDerivation rec {
owner = "sociomantic";
};
meta = with stdenv.lib; {
inherit version;
description = "Git command line interface to GitHub";
longDescription = ''
A simple command line interface to GitHub, enabling most useful GitHub
tasks (like creating and listing pull request or issues) to be accessed
directly through the Git command line.
'';
homepage = https://github.com/sociomantic/git-hub;
license = licenses.gpl3Plus;
platforms = with platforms; linux;
maintainers = with maintainers; [ nckx ];
};
buildInputs = [ python ];
nativeBuildInputs = [ docutils ];
@ -27,18 +41,4 @@ stdenv.mkDerivation rec {
# Remove inert ftdetect vim plugin and a README that's a man page subset:
rm -r $out/share/{doc,vim}
'';
meta = with stdenv.lib; {
inherit version;
inherit (src.meta) homepage;
description = "Git command line interface to GitHub";
longDescription = ''
A simple command line interface to GitHub, enabling most useful GitHub
tasks (like creating and listing pull request or issues) to be accessed
directly through the Git command line.
'';
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ nckx ];
};
}

View File

@ -8,7 +8,6 @@
, stdenv, fetchurl, apr, aprutil, zlib, sqlite
, apacheHttpd ? null, expat, swig ? null, jdk ? null, python ? null, perl ? null
, sasl ? null, serf ? null
, branch ? "1.9"
}:
assert bdbSupport -> aprutil.bdbSupport;
@ -16,26 +15,15 @@ assert httpServer -> apacheHttpd != null;
assert pythonBindings -> swig != null && python != null;
assert javahlBindings -> jdk != null && perl != null;
let
config = {
"1.9".ver_min = "2";
"1.9".sha1 = "fb9db3b7ddf48ae37aa8785872301b59bfcc7017";
"1.8".ver_min = "14";
"1.8".sha1 = "0698efc58373e7657f6dd3ce13cab7b002ffb497";
};
in
assert builtins.hasAttr branch config;
stdenv.mkDerivation (rec {
version = "${branch}." + config.${branch}.ver_min;
version = "1.9.2";
name = "subversion-${version}";
src = fetchurl {
url = "mirror://apache/subversion/${name}.tar.bz2";
inherit (config.${branch}) sha1;
sha1 = "fb9db3b7ddf48ae37aa8785872301b59bfcc7017";
};
buildInputs = [ zlib apr aprutil sqlite ]

View File

@ -1,16 +1,16 @@
{ stdenv, fetchurl, qt5 }:
{ stdenv, fetchurl, qt4 }:
stdenv.mkDerivation rec {
name = "smplayer-15.9.0";
name = "smplayer-14.9.0.6690";
src = fetchurl {
url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
sha256 = "1yx6kikaj9v5aj8aavvrcklx283wl6wrnpl905hjc7v03kgp1ac5";
sha256 = "0nmw69kg8rqvl9icyx1r1v1pyxg6560363l0kyqyja18j79a3j2y";
};
patches = [ ./basegui.cpp.patch ];
buildInputs = [ qt5.script ];
buildInputs = [ qt4 ];
preConfigure = ''
makeFlags="PREFIX=$out"

View File

@ -7,15 +7,16 @@
stdenv.mkDerivation rec {
name = "weston-${version}";
version = "1.8.0";
version = "1.9.0";
src = fetchurl {
url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
sha256 = "04nkbbdglh0pqznxkdqvak3pc53jmz24d0658bn5r0cf6agycqw9";
sha256 = "1ks8mja6glzy2dkayi535hd6w5c5h021bqk7vzgv182g33rh66ww";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
pkgconfig wayland mesa libxkbcommon cairo libxcb libXcursor xlibsWrapper udev libdrm
wayland mesa libxkbcommon cairo libxcb libXcursor xlibsWrapper udev libdrm
mtdev libjpeg pam dbus.libs libinput pango libunwind freerdp vaapi libva
libwebp
];

View File

@ -117,10 +117,20 @@ sub addPkg {
}
}
# Read packages list.
my $pkgs;
if (exists $ENV{"pkgsPath"}) {
open FILE, $ENV{"pkgsPath"};
$pkgs = <FILE>;
close FILE;
} else {
$pkgs = $ENV{"pkgs"}
}
# Symlink to the packages that have been installed explicitly by the
# user.
for my $pkg (@{decode_json $ENV{"pkgs"}}) {
for my $pkg (@{decode_json $pkgs}) {
for my $path (@{$pkg->{paths}}) {
addPkg($path, $ENV{"ignoreCollisions"} eq "1", $pkg->{priority}) if -e $path;
}

View File

@ -38,7 +38,7 @@
}:
runCommand name
{ inherit manifest ignoreCollisions passthru pathsToLink extraPrefix postBuild buildInputs;
rec { inherit manifest ignoreCollisions passthru pathsToLink extraPrefix postBuild buildInputs;
pkgs = builtins.toJSON (map (drv: {
paths =
[ drv ]
@ -46,6 +46,8 @@ runCommand name
priority = drv.meta.priority or 5;
}) paths);
preferLocalBuild = true;
# XXX: The size is somewhat arbitrary
passAsFile = if builtins.stringLength pkgs >= 128*1024 then [ "pkgs" ] else null;
}
''
${perl}/bin/perl -w ${./builder.pl}

View File

@ -336,7 +336,7 @@ let inherit (builtins) head tail trace; in
doDump = n: noDepEntry "echo Dump number ${n}; set";
saveEnv = noDepEntry ''export > $TMP/env-vars'';
saveEnv = noDepEntry ''export > "$TMP/env-vars" || true'';
doDumpBuildInputs = noDepEntry (''
echo "${toString realBuildInputs}"

View File

@ -32,7 +32,7 @@ let
stable-patch = with pkgs.kernelPatches; grsecurity_stable;
grKernel = if cfg.stable
then mkKernel pkgs.linux_3_14 stable-patch
then throw "Grsecurity stable no longer supported due to https://grsecurity.net/announce.php"
else mkKernel pkgs.linux_4_2 test-patch;
## -- grsecurity configuration ---------------------------------------------

View File

@ -8,7 +8,12 @@ find_gio_modules() {
envHooks+=(find_gio_modules)
# Note: $gappsWrapperArgs still gets defined even if $dontWrapGApps is set.
wrapGAppsHook() {
# guard against running multiple times (e.g. due to propagation)
[ -z "$wrapGAppsHookHasRun" ] || return
wrapGAppsHookHasRun=1
if [ -n "$GDK_PIXBUF_MODULE_FILE" ]; then
gappsWrapperArgs+=(--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE")
fi

View File

@ -1,20 +1,23 @@
{stdenv, fetchurl, pkgconfig, gettext, perl, perlXMLParser, intltool
, libxml2, glib}:
let version = "1.5"; in
stdenv.mkDerivation rec {
name = "shared-mime-info-1.3";
name = "shared-mime-info-${version}";
src = fetchurl {
url = "http://freedesktop.org/~hadess/${name}.tar.xz";
sha256 = "0fijrc8j2kw6bvdx7fmlfafbcwxvinhr8l44b46b3v59gj69rm2g";
sha256 = "1021x95xbkfc5ipx3gi2rdc0y6x2pv36yyzxc5pg6nr6xd02hhfn";
};
buildInputs = [
nativeBuildInputs = [
pkgconfig gettext intltool perl perlXMLParser libxml2 glib
];
meta = {
inherit version;
description = "A database of common MIME types";
homepage = http://freedesktop.org/wiki/Software/shared-mime-info;
license = stdenv.lib.licenses.gpl2Plus;
};
}

View File

@ -3,7 +3,7 @@
, gdk_pixbuf, librsvg, libxkbfile, libnotify
, libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk
, cracklib, python, libkrb5, networkmanagerapplet, networkmanager
, libwacom, samba, shared_mime_info, tzdata, icu, libtool, udev
, libwacom, samba, shared_mime_info, tzdata, icu, libtool, udev, libgudev
, docbook_xsl, docbook_xsl_ns, modemmanager, clutter, clutter_gtk
, fontconfig, sound-theme-freedesktop }:
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
accountsservice libkrb5 networkmanagerapplet libwacom samba libnotify libxkbfile
shared_mime_info icu libtool docbook_xsl docbook_xsl_ns gnome3.grilo
gdk_pixbuf gnome3.defaultIconTheme librsvg clutter clutter_gtk
gnome3.vino udev libcanberra_gtk3
gnome3.vino udev libgudev libcanberra_gtk3
networkmanager modemmanager makeWrapper gnome3.gnome-bluetooth ];
preBuild = ''

View File

@ -1,6 +1,6 @@
{ fetchurl, stdenv, pkgconfig, gnome3, intltool, glib, libnotify, lcms2, libXtst
, libxkbfile, libpulseaudio, libcanberra_gtk3, upower, colord, libgweather, polkit
, geoclue2, librsvg, xf86_input_wacom, udev, libwacom, libxslt, libtool, networkmanager
, geoclue2, librsvg, xf86_input_wacom, udev, libgudev, libwacom, libxslt, libtool, networkmanager
, docbook_xsl, docbook_xsl_ns, makeWrapper, ibus, xkeyboard_config }:
stdenv.mkDerivation rec {
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
[ intltool pkgconfig ibus gtk glib gsettings_desktop_schemas networkmanager
libnotify gnome_desktop lcms2 libXtst libxkbfile libpulseaudio
libcanberra_gtk3 upower colord libgweather xkeyboard_config
polkit geocode_glib geoclue2 librsvg xf86_input_wacom udev libwacom libxslt
polkit geocode_glib geoclue2 librsvg xf86_input_wacom udev libgudev libwacom libxslt
libtool docbook_xsl docbook_xsl_ns makeWrapper gnome_themes_standard ];
preFixup = ''

View File

@ -0,0 +1,28 @@
{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook
, itstool, libxml2, python3, python3Packages, pyatspi, at_spi2_core
, dbus, intltool, libwnck3 }:
stdenv.mkDerivation rec {
name = "accerciser-3.14.0";
src = fetchurl {
url = "mirror://gnome/sources/accerciser/3.14/${name}.tar.xz";
sha256 = "0x05gpajpcs01g7m34g6fxz8122cf9kx3k0lchwl34jy8xfr39gm";
};
buildInputs = [
pkgconfig gtk3 wrapGAppsHook itstool libxml2 python3 pyatspi
python3Packages.pygobject3 python3Packages.ipython
at_spi2_core dbus intltool libwnck3 gnome3.defaultIconTheme
];
wrapPrefixVariables = [ "PYTHONPATH" ];
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Accerciser;
description = "Interactive Python accessibility explorer";
maintainers = gnome3.maintainers;
license = licenses.bsd3;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,36 @@
{ stdenv, intltool, fetchurl, pkgconfig, glib
, evolution_data_server, evolution, sqlite
, makeWrapper, itstool, desktop_file_utils
, clutter_gtk, libuuid, webkitgtk, zeitgeist
, gnome3, librsvg, gdk_pixbuf, libxml2 }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
doCheck = true;
propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
buildInputs = [ pkgconfig glib intltool itstool libxml2
clutter_gtk libuuid webkitgtk gnome3.tracker
gnome3.gnome_online_accounts zeitgeist desktop_file_utils
gnome3.gsettings_desktop_schemas makeWrapper
gdk_pixbuf gnome3.defaultIconTheme librsvg
evolution_data_server evolution sqlite ];
enableParallelBuilding = true;
preFixup = ''
wrapProgram "$out/bin/bijiben" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
'';
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Bijiben;
description = "Note editor designed to remain simple to use";
maintainers = gnome3.maintainers;
license = licenses.gpl3;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "bijiben-3.18.0";
src = fetchurl {
url = mirror://gnome/sources/bijiben/3.18/bijiben-3.18.0.tar.xz;
sha256 = "3e933eae3776ae50a639f0866b5c11279961b5ebdaa83a621509dfe31c218fea";
};
}

View File

@ -0,0 +1,25 @@
{ stdenv, intltool, fetchurl, wrapGAppsHook, gnome-video-effects, libcanberra_gtk3
, pkgconfig, gtk3, glib, clutter_gtk, clutter-gst_2, udev, gst_all_1, itstool
, adwaita-icon-theme, librsvg, gdk_pixbuf, gnome3, gnome_desktop, libxml2 }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
buildInputs = [ pkgconfig gtk3 glib intltool wrapGAppsHook gnome-video-effects itstool
gdk_pixbuf adwaita-icon-theme librsvg udev gst_all_1.gstreamer libxml2
gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gnome_desktop
gst_all_1.gst-plugins-bad clutter_gtk clutter-gst_2
libcanberra_gtk3 ];
enableParallelBuilding = true;
NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0";
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Cheese;
description = "Take photos and videos with your webcam, with fun graphical effects";
maintainers = gnome3.maintainers;
license = licenses.gpl3;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "cheese-3.18.0";
src = fetchurl {
url = mirror://gnome/sources/cheese/3.18/cheese-3.18.0.tar.xz;
sha256 = "65ba4a60be51b9fc5537e5c1cdb6605b3098145982fae75a08ace94b965aeb0b";
};
}

View File

@ -0,0 +1,49 @@
{ stdenv, intltool, fetchurl, libxml2, webkitgtk, highlight
, pkgconfig, gtk3, glib, libnotify, gtkspell3
, makeWrapper, itstool, shared_mime_info, libical, db, gcr, sqlite
, gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu, libtool
, libcanberra_gtk3, bogofilter, gst_all_1, procps, p11_kit }:
let
majVer = gnome3.version;
in stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
doCheck = true;
propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
propagatedBuildInputs = [ gnome3.gtkhtml ];
buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 libtool
gdk_pixbuf gnome3.defaultIconTheme librsvg db icu
gnome3.evolution_data_server libsecret libical gcr
webkitgtk shared_mime_info gnome3.gnome_desktop gtkspell3
libcanberra_gtk3 bogofilter gnome3.libgdata sqlite
gst_all_1.gstreamer gst_all_1.gst-plugins-base p11_kit
nss nspr libnotify procps highlight gnome3.libgweather
gnome3.gsettings_desktop_schemas makeWrapper ];
configureFlags = [ "--disable-spamassassin" "--disable-pst-import" "--disable-autoar"
"--disable-libcryptui" ];
NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss -I${glib}/include/gio-unix-2.0";
enableParallelBuilding = true;
preFixup = ''
for f in $out/bin/* $out/libexec/*; do
wrapProgram "$f" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
done
'';
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Evolution;
description = "Personal information management application that provides integrated mail, calendaring and address book functionality";
maintainers = gnome3.maintainers;
license = licenses.lgpl2Plus;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "evolution-3.18.0";
src = fetchurl {
url = mirror://gnome/sources/evolution/3.18/evolution-3.18.0.tar.xz;
sha256 = "a3efe42a861200c0463476e0a02e566fde74a0d4a699d8cc6514c031d5cad410";
};
}

View File

@ -0,0 +1,25 @@
{ stdenv, fetchurl, glib, pkgconfig, gnome3, intltool, itstool, libxml2, libarchive
, attr, bzip2, acl, makeWrapper, librsvg, gdk_pixbuf }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
# TODO: support nautilus
# it tries to create {nautilus}/lib/nautilus/extensions-3.0/libnautilus-fileroller.so
buildInputs = [ glib pkgconfig gnome3.gtk intltool itstool libxml2 libarchive
gnome3.defaultIconTheme attr bzip2 acl gdk_pixbuf librsvg
makeWrapper ];
preFixup = ''
wrapProgram "$out/bin/file-roller" \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:$out/share"
'';
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/FileRoller;
description = "Archive manager for the GNOME desktop environment";
platforms = platforms.linux;
maintainers = gnome3.maintainers;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "file-roller-3.16.4";
src = fetchurl {
url = mirror://gnome/sources/file-roller/3.16/file-roller-3.16.4.tar.xz;
sha256 = "5455980b2c9c7eb063d2d65560ae7ab2e7f01b208ea3947e151680231c7a4185";
};
}

View File

@ -0,0 +1,33 @@
{ stdenv, intltool, fetchurl, enchant, isocodes
, pkgconfig, gtk3, glib
, bash, makeWrapper, itstool, libsoup, libxml2
, gnome3, librsvg, gdk_pixbuf, file }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
buildInputs = [ pkgconfig gtk3 glib intltool itstool enchant isocodes
gdk_pixbuf gnome3.defaultIconTheme librsvg libsoup
gnome3.libpeas gnome3.gtksourceview libxml2
gnome3.gsettings_desktop_schemas makeWrapper file ];
enableParallelBuilding = true;
preFixup = ''
wrapProgram "$out/bin/gedit" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
--prefix LD_LIBRARY_PATH : "${gnome3.libpeas}/lib:${gnome3.gtksourceview}/lib" \
--prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
'';
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Gedit;
description = "Official text editor of the GNOME desktop environment";
maintainers = gnome3.maintainers;
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "gedit-3.18.0";
src = fetchurl {
url = mirror://gnome/sources/gedit/3.18/gedit-3.18.0.tar.xz;
sha256 = "9abd4f1478385f8b6c983298206f4ab1a25c682b9c87fb00d759b7db5b949533";
};
}

View File

@ -0,0 +1,30 @@
{ stdenv, intltool, fetchurl, python
, pkgconfig, gtk3, glib
, makeWrapper, itstool, libxml2, docbook_xsl
, gnome3, librsvg, gdk_pixbuf, libxslt }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 python
gnome3.gsettings_desktop_schemas makeWrapper docbook_xsl
gdk_pixbuf gnome3.defaultIconTheme librsvg libxslt ];
enableParallelBuilding = true;
preFixup = ''
wrapProgram "$out/bin/glade" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
'';
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Glade;
description = "User interface designer for GTK+ applications";
maintainers = gnome3.maintainers;
license = licenses.lgpl2;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "glade-3.18.3";
src = fetchurl {
url = mirror://gnome/sources/glade/3.18/glade-3.18.3.tar.xz;
sha256 = "ecdbce46e7fbfecd463be840b94fbf54d83723b3ebe075414cfd225ddab66452";
};
}

View File

@ -0,0 +1,42 @@
{ stdenv, fetchurl, makeWrapper, pkgconfig, intltool, itstool, libvirt-glib
, glib, gobjectIntrospection, libxml2, gtk3, gtkvnc, libvirt, spice_gtk
, spice_protocol, libuuid, libsoup, libosinfo, systemd, tracker, vala
, libcap_ng, libcap, yajl, gmp, gdbm, cyrus_sasl, gnome3, librsvg
, desktop_file_utils, mtools, cdrkit, libcdio
, libusb, libarchive, acl
}:
# TODO: ovirt (optional)
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
enableParallelBuilding = true;
doCheck = true;
buildInputs = [
makeWrapper pkgconfig intltool itstool libvirt-glib glib
gobjectIntrospection libxml2 gtk3 gtkvnc libvirt spice_gtk spice_protocol
libuuid libsoup libosinfo systemd tracker vala libcap_ng libcap yajl gmp
gdbm cyrus_sasl gnome3.defaultIconTheme libusb libarchive
librsvg desktop_file_utils acl
];
preFixup = ''
for prog in "$out/bin/"*; do
wrapProgram "$prog" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
--prefix PATH : "${mtools}/bin:${cdrkit}/bin:${libcdio}/bin"
done
'';
meta = with stdenv.lib; {
description = "Simple GNOME 3 application to access remote or virtual systems";
homepage = https://wiki.gnome.org/action/show/Apps/Boxes;
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ bjornfor ];
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "gnome-boxes-3.18.0";
src = fetchurl {
url = mirror://gnome/sources/gnome-boxes/3.18/gnome-boxes-3.18.0.tar.xz;
sha256 = "ed2b442fc676bdfa47d6b6326836238c2c98af9725a91eb023784a3e692ae749";
};
}

View File

@ -0,0 +1,22 @@
{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook
, intltool, evolution_data_server, sqlite, libxml2, libsoup
, glib, gnome_online_accounts }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
buildInputs = [
pkgconfig gtk3 wrapGAppsHook intltool evolution_data_server
sqlite libxml2 libsoup glib gnome3.defaultIconTheme gnome_online_accounts
];
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Calendar;
description = "Simple and beautiful calendar application for GNOME";
maintainers = gnome3.maintainers;
license = licenses.gpl3;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "gnome-calendar-3.18.0";
src = fetchurl {
url = mirror://gnome/sources/gnome-calendar/3.18/gnome-calendar-3.18.0.tar.xz;
sha256 = "f7d50fe8d5d3dcc574f0034dba6a64cbb9b3f842faab5978c9d02b38548f355b";
};
}

View File

@ -0,0 +1,19 @@
{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook
, intltool, gjs, gdk_pixbuf, librsvg }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
buildInputs = [
pkgconfig gtk3 wrapGAppsHook intltool gjs gdk_pixbuf
librsvg gnome3.defaultIconTheme
];
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Design/Apps/CharacterMap;
description = "Simple utility application to find and insert unusual characters";
maintainers = gnome3.maintainers;
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "gnome-characters-3.18.0";
src = fetchurl {
url = mirror://gnome/sources/gnome-characters/3.18/gnome-characters-3.18.0.tar.xz;
sha256 = "e068b2275a08639565a88b096d378a4ac2abf90301ff43056bb5157dff54ce08";
};
}

View File

@ -0,0 +1,27 @@
{ stdenv, intltool, fetchurl, libgweather, libnotify
, pkgconfig, gtk3, glib, gsound
, makeWrapper, itstool, libcanberra_gtk3, libtool
, gnome3, librsvg, gdk_pixbuf, geoclue2, wrapGAppsHook }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
doCheck = true;
buildInputs = [ pkgconfig gtk3 glib intltool itstool libcanberra_gtk3
gnome3.gsettings_desktop_schemas makeWrapper
gdk_pixbuf gnome3.defaultIconTheme librsvg
gnome3.gnome_desktop gnome3.geocode_glib geoclue2
libgweather libnotify libtool gsound
wrapGAppsHook ];
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Clocks;
description = "Clock application designed for GNOME 3";
maintainers = gnome3.maintainers;
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "gnome-clocks-3.18.0";
src = fetchurl {
url = mirror://gnome/sources/gnome-clocks/3.18/gnome-clocks-3.18.0.tar.xz;
sha256 = "ca0818ec89e3539201da6b5388365e3d66df815198beccc90e2be44c7822baa0";
};
}

View File

@ -0,0 +1,39 @@
{ stdenv, intltool, fetchurl, evince, gjs
, pkgconfig, gtk3, glib
, makeWrapper, itstool, libxslt, webkitgtk
, gnome3, librsvg, gdk_pixbuf, libsoup, docbook_xsl
, gobjectIntrospection, json_glib, inkscape, poppler_utils
, gmp, desktop_file_utils, wrapGAppsHook }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
doCheck = true;
configureFlags = [ "--enable-getting-started" ];
buildInputs = [ pkgconfig gtk3 glib intltool itstool libxslt
docbook_xsl desktop_file_utils inkscape poppler_utils
gnome3.gsettings_desktop_schemas makeWrapper gmp
gdk_pixbuf gnome3.defaultIconTheme librsvg evince
libsoup webkitgtk gjs gobjectIntrospection gnome3.rest
gnome3.tracker gnome3.libgdata gnome3.gnome_online_accounts
gnome3.gnome_desktop gnome3.libzapojit json_glib
wrapGAppsHook ];
enableParallelBuilding = true;
preFixup = ''
substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib}/bin/gapplication"
gappsWrapperArgs+=(--run 'if [ -z "$XDG_CACHE_DIR" ]; then XDG_CACHE_DIR=$HOME/.cache; fi; if [ -w "$XDG_CACHE_DIR/.." ]; then mkdir -p "$XDG_CACHE_DIR/gnome-documents"; fi')
'';
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Documents;
description = "Document manager application designed to work with GNOME 3";
maintainers = gnome3.maintainers;
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "gnome-documents-3.18.0.1";
src = fetchurl {
url = mirror://gnome/sources/gnome-documents/3.18/gnome-documents-3.18.0.1.tar.xz;
sha256 = "0b19593e949276de71cb7292bb77520eb3cd915ac8c71d27a8d05f79b9e86816";
};
}

View File

@ -0,0 +1,15 @@
{ stdenv, fetchurl, gnome3, intltool, itstool, libxml2 }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
buildInputs = [ intltool itstool libxml2 ];
meta = with stdenv.lib; {
homepage = https://live.gnome.org/DocumentationProject;
description = "Help a new user get started in GNOME";
maintainers = gnome3.maintainers;
license = licenses.cc-by-sa-30;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "gnome-getting-started-docs-3.18.0";
src = fetchurl {
url = mirror://gnome/sources/gnome-getting-started-docs/3.18/gnome-getting-started-docs-3.18.0.tar.xz;
sha256 = "5ef0373c5a864fefdecb17bffdfc2cca00fb2abf93756b1df9062e12208925d6";
};
}

View File

@ -0,0 +1,21 @@
{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook
, intltool, itstool, libxml2, systemd }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
configureFlags = [ "--disable-tests" ];
buildInputs = [
pkgconfig gtk3 wrapGAppsHook intltool itstool libxml2
systemd gnome3.defaultIconTheme
];
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Logs;
description = "A log viewer for the systemd journal";
maintainers = gnome3.maintainers;
license = licenses.gpl3;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "gnome-logs-3.18.0";
src = fetchurl {
url = mirror://gnome/sources/gnome-logs/3.18/gnome-logs-3.18.0.tar.xz;
sha256 = "7602b55d47b5d889be7547869a0a48f03f6b22a1c872b86ed70049695d06d699";
};
}

View File

@ -0,0 +1,25 @@
{ stdenv, fetchurl, intltool, pkgconfig, gnome3, gtk3
, gobjectIntrospection, gdk_pixbuf, librsvg, autoreconfHook
, geoclue2, wrapGAppsHook, folks, libchamplain, gfbgraph, file, libsoup }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
doCheck = true;
buildInputs = [ pkgconfig intltool gobjectIntrospection wrapGAppsHook
gtk3 geoclue2 gnome3.gjs gnome3.libgee folks gfbgraph
gnome3.geocode_glib libchamplain file libsoup
gdk_pixbuf librsvg autoreconfHook
gnome3.gnome_online_accounts gnome3.defaultIconTheme ];
patches = [ ./soup.patch ];
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Maps;
description = "A map application for GNOME 3";
maintainers = gnome3.maintainers;
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,10 @@
--- gnome-maps-3.18.0/configure.ac.orig 2015-09-24 18:38:31.912498368 +0200
+++ gnome-maps-3.18.0/configure.ac 2015-09-24 18:38:40.783320413 +0200
@@ -50,6 +50,7 @@
folks >= $FOLKS_MIN_VERSION
geocode-glib-1.0 >= $GEOCODE_MIN_VERSION
champlain-0.12 >= $CHAMPLAIN_MIN_VERSION
+ libsoup-2.4
])
AC_SUBST(GNOME_MAPS_LIB_CFLAGS)
AC_SUBST(GNOME_MAPS_LIB_LIBS)

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "gnome-maps-3.18.0";
src = fetchurl {
url = mirror://gnome/sources/gnome-maps/3.18/gnome-maps-3.18.0.tar.xz;
sha256 = "242f70346a1527ba0d9a664bd863b02e2227f9f0f0f577b9b0c00dc3075eb85e";
};
}

View File

@ -0,0 +1,30 @@
{ stdenv, intltool, fetchurl, gdk_pixbuf, tracker
, python3, libxml2, python3Packages, libnotify, wrapGAppsHook
, pkgconfig, gtk3, glib, cairo
, makeWrapper, itstool, gnome3, librsvg, gst_all_1 }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.libmediaart
gdk_pixbuf gnome3.defaultIconTheme librsvg python3
gnome3.grilo gnome3.grilo-plugins libxml2 python3Packages.pygobject3 libnotify
python3Packages.pycairo python3Packages.dbus gnome3.totem-pl-parser
gst_all_1.gstreamer gst_all_1.gst-plugins-base wrapGAppsHook
gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad
gnome3.gsettings_desktop_schemas makeWrapper tracker ];
wrapPrefixVariables = [ "PYTHONPATH" ];
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Music;
description = "Music player and management application for the GNOME desktop environment";
maintainers = gnome3.maintainers;
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "gnome-music-3.18.0";
src = fetchurl {
url = mirror://gnome/sources/gnome-music/3.18/gnome-music-3.18.0.tar.xz;
sha256 = "e2e4b99a57c7b5c83ce3deccd38880cbafb875b423ab276204af523bc648d69c";
};
}

View File

@ -0,0 +1,26 @@
{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook
, libgtop, intltool, itstool, libxml2, nmap, inetutils }:
stdenv.mkDerivation rec {
name = "gnome-nettool-3.8.1";
src = fetchurl {
url = "mirror://gnome/sources/gnome-nettool/3.8/${name}.tar.xz";
sha256 = "1c9cvzvyqgfwa5zzyvp7118pkclji62fkbb33g4y9sp5kw6m397h";
};
buildInputs = [
pkgconfig gtk3 wrapGAppsHook libgtop intltool itstool libxml2
gnome3.defaultIconTheme
];
propagatedUserEnvPkgs = [ nmap inetutils ];
meta = with stdenv.lib; {
homepage = http://projects.gnome.org/gnome-network;
description = "A collection of networking tools";
maintainers = gnome3.maintainers;
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,31 @@
{ stdenv, intltool, fetchurl, exempi, libxml2
, pkgconfig, gtk3, glib
, makeWrapper, itstool, gegl, babl, lcms2
, desktop_file_utils, gmp, libmediaart, wrapGAppsHook
, gnome3, librsvg, gdk_pixbuf, libexif }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
# doCheck = true;
NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
buildInputs = [ pkgconfig gtk3 glib intltool itstool gegl babl gnome3.libgdata
gnome3.gsettings_desktop_schemas makeWrapper gmp libmediaart
gdk_pixbuf gnome3.defaultIconTheme librsvg exempi
gnome3.gfbgraph gnome3.grilo-plugins gnome3.grilo
gnome3.gnome_online_accounts gnome3.gnome_desktop
lcms2 libexif gnome3.tracker libxml2 desktop_file_utils
wrapGAppsHook ];
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Photos;
description = "Photos is an application to access, organize and share your photos with GNOME 3";
maintainers = gnome3.maintainers;
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "gnome-photos-3.18.0";
src = fetchurl {
url = mirror://gnome/sources/gnome-photos/3.18/gnome-photos-3.18.0.tar.xz;
sha256 = "5ca74b33de33da125059918e2d7c665ff78ac1adfbc04c98b3378e705cc73a54";
};
}

View File

@ -0,0 +1,19 @@
{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook, gjs
, libgweather, intltool, itstool }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
buildInputs = [
pkgconfig gtk3 wrapGAppsHook gjs intltool itstool
libgweather gnome3.defaultIconTheme
];
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Weather;
description = "Access current weather conditions and forecasts";
maintainers = gnome3.maintainers;
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "gnome-weather-3.18.0";
src = fetchurl {
url = mirror://gnome/sources/gnome-weather/3.18/gnome-weather-3.18.0.tar.xz;
sha256 = "fa0c098bef351af7457abf0ef6bd0afb62d727f041a15107e02693c9c7bd48aa";
};
}

View File

@ -0,0 +1,22 @@
{ stdenv, fetchurl, glib, pkgconfig, gnome3, intltool
, gobjectIntrospection, makeWrapper }:
stdenv.mkDerivation rec {
name = "nautilus-sendto-${version}";
version = "3.8.1";
src = fetchurl {
url = "mirror://gnome/sources/nautilus-sendto/3.8/${name}.tar.xz";
sha256 = "03fa46bff271acdbdedab6243b2a84e5ed3daa19c81b69d087b3e852c8fe5dab";
};
buildInputs = [ glib pkgconfig gobjectIntrospection intltool makeWrapper ];
meta = with stdenv.lib; {
description = "Integrates Evolution and Pidgin into the Nautilus file manager";
maintainers = gnome3.maintainers;
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,22 @@
{ stdenv, intltool, fetchurl, gdk_pixbuf, adwaita-icon-theme
, telepathy_glib, gjs, itstool, telepathy_idle
, pkgconfig, gtk3, glib, librsvg, gnome3, wrapGAppsHook }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
propagatedUserEnvPkgs = [ telepathy_idle ];
buildInputs = [ pkgconfig gtk3 glib intltool itstool adwaita-icon-theme wrapGAppsHook
telepathy_glib gjs gdk_pixbuf librsvg ];
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Polari;
description = "IRC chat client designed to integrate with the GNOME desktop";
maintainers = gnome3.maintainers;
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "polari-3.18.0";
src = fetchurl {
url = mirror://gnome/sources/polari/3.18/polari-3.18.0.tar.xz;
sha256 = "7b98c820a1e9a25a0f3a927e8d4ba8400296041f783301a764e37840c7ef6018";
};
}

View File

@ -0,0 +1,35 @@
{ stdenv, intltool, fetchurl, vala
, pkgconfig, gtk3, glib
, makeWrapper, itstool, gnupg, libsoup
, gnome3, librsvg, gdk_pixbuf, gpgme
, libsecret, avahi, p11_kit, openssh }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
doCheck = true;
propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.gcr
gnome3.gsettings_desktop_schemas makeWrapper gnupg
gdk_pixbuf gnome3.defaultIconTheme librsvg gpgme
libsecret avahi libsoup p11_kit vala gnome3.gcr
openssh ];
preFixup = ''
wrapProgram "$out/bin/seahorse" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
'';
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Seahorse;
description = "Application for managing encryption keys and passwords in the GnomeKeyring";
maintainers = gnome3.maintainers;
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "seahorse-3.16.0";
src = fetchurl {
url = mirror://gnome/sources/seahorse/3.16/seahorse-3.16.0.tar.xz;
sha256 = "770a5f03b8745054ef04cef9923dd713b1fbf309169150bc8dd32d7e5f7ee131";
};
}

View File

@ -0,0 +1,21 @@
{ stdenv, fetchurl, pkgconfig, gtk3, gnome3, vte, libxml2, gtkvnc, intltool
, libsecret, itstool, makeWrapper, librsvg }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
buildInputs = [ pkgconfig gtk3 vte libxml2 gtkvnc intltool libsecret
itstool makeWrapper gnome3.defaultIconTheme librsvg ];
preFixup = ''
wrapProgram "$out/bin/vinagre" \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:$out/share"
'';
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Vinagre;
description = "Remote desktop viewer for GNOME";
platforms = platforms.linux;
maintainers = gnome3.maintainers;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "vinagre-3.18.0";
src = fetchurl {
url = mirror://gnome/sources/vinagre/3.18/vinagre-3.18.0.tar.xz;
sha256 = "77214384c03df985551a5094ea16fd3f42b74c708123128b29baff6458b2fef9";
};
}

View File

@ -0,0 +1,21 @@
{ stdenv, fetchurl, pkgconfig, intltool, gnome3
, iconnamingutils, gtk, gdk_pixbuf, librsvg, hicolor_icon_theme }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
# For convenience, we can specify adwaita-icon-theme only in packages
propagatedBuildInputs = [ hicolor_icon_theme ];
buildInputs = [ gdk_pixbuf librsvg ];
nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk ];
# remove a tree of dirs with no files within
postInstall = '' rm -rf "$out/locale" '';
meta = with stdenv.lib; {
platforms = platforms.linux;
maintainers = gnome3.maintainers;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "adwaita-icon-theme-3.18.0";
src = fetchurl {
url = mirror://gnome/sources/adwaita-icon-theme/3.18/adwaita-icon-theme-3.18.0.tar.xz;
sha256 = "5e9ce726001fdd8ee93c394fdc3cdb9e1603bbed5b7c62df453ccf521ec50e58";
};
}

View File

@ -0,0 +1,32 @@
{ stdenv, intltool, fetchurl, vala, libgtop
, pkgconfig, gtk3, glib
, bash, makeWrapper, itstool, libxml2
, gnome3, librsvg, gdk_pixbuf, file }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
doCheck = true;
NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
buildInputs = [ vala pkgconfig gtk3 glib libgtop intltool itstool libxml2
gnome3.gsettings_desktop_schemas makeWrapper file
gdk_pixbuf gnome3.defaultIconTheme librsvg ];
preFixup = ''
wrapProgram "$out/bin/baobab" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
'';
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Baobab;
description = "Graphical application to analyse disk usage in any Gnome environment";
maintainers = gnome3.maintainers;
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "baobab-3.18.0";
src = fetchurl {
url = mirror://gnome/sources/baobab/3.18/baobab-3.18.0.tar.xz;
sha256 = "75924c53dd0e94d97c2f0ec30270fa3ffc59adfab7e21aac3ed9c6c088760b5a";
};
}

View File

@ -0,0 +1,31 @@
{ fetchurl, stdenv, pkgconfig, gnome3, clutter, dbus, pythonPackages, libxml2, autoconf
, libxklavier, libXtst, gtk2, intltool, libxslt, at_spi2_core, automake114x }:
let
majorVersion = "0.4";
in
stdenv.mkDerivation rec {
name = "caribou-${majorVersion}.18.1";
src = fetchurl {
url = "mirror://gnome/sources/caribou/${majorVersion}/${name}.tar.xz";
sha256 = "0l1ikx56ddgayvny3s2xv8hs3p23xsclw4zljs3cczv4b89dzymf";
};
buildInputs = with gnome3;
[ glib pkgconfig gtk clutter at_spi2_core dbus pythonPackages.python automake114x
pythonPackages.pygobject3 libxml2 libXtst gtk2 intltool libxslt autoconf ];
propagatedBuildInputs = [ gnome3.libgee libxklavier ];
preBuild = ''
patchShebangs .
substituteInPlace libcaribou/Makefile.am --replace "--shared-library=libcaribou.so.0" "--shared-library=$out/lib/libcaribou.so.0"
'';
meta = with stdenv.lib; {
platforms = platforms.linux;
maintainers = gnome3.maintainers;
};
}

View File

@ -0,0 +1,19 @@
{ stdenv, fetchurl, vala, libxslt, pkgconfig, glib, dbus_glib, gnome3
, libxml2, intltool, docbook_xsl_ns, docbook_xsl, makeWrapper }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
buildInputs = [ vala libxslt pkgconfig glib dbus_glib gnome3.gtk libxml2 gnome3.defaultIconTheme
intltool docbook_xsl docbook_xsl_ns makeWrapper gnome3.dconf ];
preFixup = ''
wrapProgram "$out/bin/dconf-editor" \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
'';
meta = with stdenv.lib; {
platforms = platforms.linux;
maintainers = gnome3.maintainers;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "dconf-editor-3.18.0";
src = fetchurl {
url = mirror://gnome/sources/dconf-editor/3.18/dconf-editor-3.18.0.tar.xz;
sha256 = "6579b8b216b068acae7d8301b5e2d57054c85a3f147c92355ffa46a62c052534";
};
}

View File

@ -0,0 +1,23 @@
{ stdenv, fetchurl, vala, libxslt, pkgconfig, glib, dbus_glib, gnome3
, libxml2, intltool, docbook_xsl_ns, docbook_xsl, makeWrapper }:
let
majorVersion = "0.24";
in
stdenv.mkDerivation rec {
name = "dconf-${version}";
version = "${majorVersion}.0";
src = fetchurl {
url = "mirror://gnome/sources/dconf/${majorVersion}/${name}.tar.xz";
sha256 = "4373e0ced1f4d7d68d518038796c073696280e22957babb29feb0267c630fec2";
};
buildInputs = [ vala libxslt pkgconfig glib dbus_glib gnome3.gtk libxml2
intltool docbook_xsl docbook_xsl_ns makeWrapper ];
meta = with stdenv.lib; {
platforms = platforms.linux;
maintainers = gnome3.maintainers;
};
}

View File

@ -0,0 +1,57 @@
{ stdenv, intltool, fetchurl, webkitgtk, pkgconfig, gtk3, glib
, file, librsvg, gnome3, gdk_pixbuf
, dbus_glib, dbus_libs, telepathy_glib, telepathy_farstream
, clutter_gtk, clutter-gst, gst_all_1, cogl, gnome_online_accounts
, gcr, libsecret, folks, libpulseaudio, telepathy_mission_control
, telepathy_logger, libnotify, clutter, libsoup, gnutls
, evolution_data_server
, libcanberra_gtk3, p11_kit, farstream, libtool, shared_mime_info
, bash, makeWrapper, itstool, libxml2, libxslt, icu, libgee }:
# TODO: enable more features
let
majorVersion = "3.12";
in
stdenv.mkDerivation rec {
name = "empathy-${majorVersion}.8";
src = fetchurl {
url = "mirror://gnome/sources/empathy/${majorVersion}/${name}.tar.xz";
sha256 = "10z6ksia6yx7vg0wsdbk4w6vjgfg3cg3n04jf9bj2vr7kr5zvs7w";
};
propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard
gnome_online_accounts shared_mime_info ];
propagatedBuildInputs = [ folks telepathy_logger evolution_data_server
telepathy_mission_control ];
buildInputs = [ pkgconfig gtk3 glib webkitgtk intltool itstool
libxml2 libxslt icu file makeWrapper
telepathy_glib clutter_gtk clutter-gst cogl
gst_all_1.gstreamer gst_all_1.gst-plugins-base
gcr libsecret libpulseaudio gnome3.yelp_xsl gdk_pixbuf
libnotify clutter libsoup gnutls libgee p11_kit
libcanberra_gtk3 telepathy_farstream farstream
gnome3.defaultIconTheme gnome3.gsettings_desktop_schemas
file libtool librsvg ];
NIX_CFLAGS_COMPILE = [ "-I${dbus_glib}/include/dbus-1.0"
"-I${dbus_libs}/include/dbus-1.0"
"-I${dbus_libs}/lib/dbus-1.0/include" ];
preFixup = ''
for f in $out/bin/* $out/libexec/*; do
wrapProgram $f \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
done
'';
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Empathy;
description = "Messaging program which supports text, voice, video chat, and file transfers over many different protocols";
maintainers = gnome3.maintainers;
# TODO: license = [ licenses.gpl2 licenses.lgpl2 ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,25 @@
{ fetchurl, stdenv, intltool, pkgconfig, itstool, libxml2, libjpeg, gnome3
, shared_mime_info, makeWrapper, librsvg, libexif }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
buildInputs = with gnome3;
[ intltool pkgconfig itstool libxml2 libjpeg gtk glib libpeas makeWrapper librsvg
gsettings_desktop_schemas shared_mime_info adwaita-icon-theme gnome_desktop libexif ];
preFixup = ''
wrapProgram "$out/bin/eog" \
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${shared_mime_info}/share:${gnome3.adwaita-icon-theme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
'';
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/EyeOfGnome;
platforms = platforms.linux;
description = "GNOME image viewer";
maintainers = gnome3.maintainers;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "eog-3.16.3";
src = fetchurl {
url = mirror://gnome/sources/eog/3.16/eog-3.16.3.tar.xz;
sha256 = "ee6d101f8e73aacc8d48256f06a780c6d0d5f3975990f375f58cd0e70816b766";
};
}

View File

@ -0,0 +1,42 @@
{ stdenv, intltool, fetchurl, pkgconfig, gtk3, glib, nspr, icu
, bash, makeWrapper, gnome3, libwnck3, libxml2, libxslt, libtool
, webkitgtk, libsoup, libsecret, gnome_desktop, libnotify, p11_kit
, sqlite, gcr, avahi, nss, isocodes, itstool, file, which
, gdk_pixbuf, librsvg, gnome_common }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
# Tests need an X display
configureFlags = [ "--disable-static --disable-tests" ];
propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
nativeBuildInputs = [ pkgconfig file ];
buildInputs = [ gtk3 glib intltool libwnck3 libxml2 libxslt pkgconfig file
webkitgtk libsoup libsecret gnome_desktop libnotify libtool
sqlite isocodes nss itstool p11_kit nspr icu gnome3.yelp_tools
gdk_pixbuf gnome3.defaultIconTheme librsvg which gnome_common
gcr avahi gnome3.gsettings_desktop_schemas makeWrapper ];
NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss -I${glib}/include/gio-unix-2.0";
enableParallelBuilding = true;
preFixup = ''
for f in $out/bin/* $out/libexec/*; do
wrapProgram "$f" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
done
'';
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Epiphany;
description = "WebKit based web browser for GNOME";
maintainers = gnome3.maintainers;
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,10 @@
--- configure.ac.orig 2015-04-08 18:53:52.284580835 +0200
+++ configure.ac 2015-04-08 18:55:55.697225280 +0200
@@ -113,6 +113,7 @@
PKG_CHECK_MODULES(WEB_EXTENSION, [
webkit2gtk-web-extension-4.0 >= $WEBKIT_GTK_REQUIRED
libsecret-1 >= $LIBSECRET_REQUIRED
+ libxml-2.0 >= $LIBXML_REQUIRED
])
AC_SUBST(WEB_EXTENSION_CFLAGS)
AC_SUBST(WEB_EXTENSION_LIBS)

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "epiphany-3.18.0";
src = fetchurl {
url = mirror://gnome/sources/epiphany/3.18/epiphany-3.18.0.tar.xz;
sha256 = "d5ba67a8cd85c80b81e076862bcab3fc376ba51b0a1536ca7430608d1f50491d";
};
}

View File

@ -0,0 +1,64 @@
{ fetchurl, stdenv, pkgconfig, intltool, perl, perlXMLParser, libxml2
, glib, gtk3, pango, atk, gdk_pixbuf, shared_mime_info, itstool, gnome3
, poppler, ghostscriptX, djvulibre, libspectre, libsecret , makeWrapper
, librsvg, recentListSize ? null # 5 is not enough, allow passing a different number
, gobjectIntrospection
}:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
buildInputs = [
pkgconfig intltool perl perlXMLParser libxml2
glib gtk3 pango atk gdk_pixbuf gobjectIntrospection
itstool gnome3.adwaita-icon-theme
gnome3.libgnome_keyring gnome3.gsettings_desktop_schemas
poppler ghostscriptX djvulibre libspectre
makeWrapper libsecret librsvg gnome3.adwaita-icon-theme
];
configureFlags = [
"--disable-nautilus" # Do not use nautilus
"--enable-introspection"
];
NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
preConfigure = with stdenv.lib;
optionalString doCheck ''
for file in test/*.py; do
echo "patching $file"
sed '1s,/usr,${python},' -i "$file"
done
'' + optionalString (recentListSize != null) ''
sed -i 's/\(gtk_recent_chooser_set_limit .*\)5)/\1${builtins.toString recentListSize})/' shell/ev-open-recent-action.c
sed -i 's/\(if (++n_items == \)5\(.*\)/\1${builtins.toString recentListSize}\2/' shell/ev-window.c
'';
preFixup = ''
# Tell Glib/GIO about the MIME info directory, which is used
# by `g_file_info_get_content_type ()'.
wrapProgram "$out/bin/evince" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${shared_mime_info}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
'';
doCheck = false; # would need pythonPackages.dogTail, which is missing
meta = with stdenv.lib; {
homepage = http://www.gnome.org/projects/evince/;
description = "GNOME's document viewer";
longDescription = ''
Evince is a document viewer for multiple document formats. It
currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
of Evince is to replace the multiple document viewers that exist
on the GNOME Desktop with a single simple application.
'';
license = stdenv.lib.licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ maintainers.vcunat ];
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "evince-3.18.0";
src = fetchurl {
url = mirror://gnome/sources/evince/3.18/evince-3.18.0.tar.xz;
sha256 = "96e8351f6a6fc5823bb8f51178cde1182bd66481af6fb09bf58a18b673cafa70";
};
}

View File

@ -0,0 +1,30 @@
{ fetchurl, stdenv, pkgconfig, gnome3, python
, intltool, libsoup, libxml2, libsecret, icu, sqlite
, p11_kit, db, nspr, nss, libical, gperf, makeWrapper, valaSupport ? true, vala }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
buildInputs = with gnome3;
[ pkgconfig glib python intltool libsoup libxml2 gtk gnome_online_accounts
gcr p11_kit libgweather libgdata gperf makeWrapper icu sqlite gsettings_desktop_schemas ]
++ stdenv.lib.optional valaSupport vala;
propagatedBuildInputs = [ libsecret nss nspr libical db ];
# uoa irrelevant for now
configureFlags = [ "--disable-uoa" ]
++ stdenv.lib.optional valaSupport "--enable-vala-bindings";
preFixup = ''
for f in "$out/libexec/"*; do
wrapProgram "$f" --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
done
'';
meta = with stdenv.lib; {
platforms = platforms.linux;
maintainers = gnome3.maintainers;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "evolution-data-server-3.18.0";
src = fetchurl {
url = mirror://gnome/sources/evolution-data-server/3.18/evolution-data-server-3.18.0.tar.xz;
sha256 = "ca4273b888912cadc474c1c2aebd2f02639381a9ddfa516a46cf9abd3dbc11f7";
};
}

View File

@ -0,0 +1,43 @@
{ fetchurl, stdenv, pkgconfig, glib, gnome3, nspr, intltool
, vala, sqlite, libxml2, dbus_glib, libsoup, nss, dbus_libs
, telepathy_glib, evolution_data_server, libsecret, db }:
# TODO: enable more folks backends
let
majorVersion = "0.11";
in
stdenv.mkDerivation rec {
name = "folks-${majorVersion}.0";
src = fetchurl {
url = "mirror://gnome/sources/folks/${majorVersion}/${name}.tar.xz";
sha256 = "0q9hny6a38zn0gamv0ji0pn3jw6bpn2i0fr6vbzkhm9h9ws0cqvz";
};
propagatedBuildInputs = [ glib gnome3.libgee sqlite ];
# dbus_daemon needed for tests
buildInputs = [ dbus_glib telepathy_glib evolution_data_server dbus_libs
vala libsecret libxml2 libsoup nspr nss intltool db ];
nativeBuildInputs = [ pkgconfig ];
configureFlags = "--disable-fatal-warnings";
NIX_CFLAGS_COMPILE = ["-I${nspr}/include/nspr" "-I${nss}/include/nss"
"-I${dbus_glib}/include/dbus-1.0" "-I${dbus_libs}/include/dbus-1.0"];
enableParallelBuilding = true;
postBuild = "rm -rf $out/share/gtk-doc";
meta = {
description = "Folks";
homepage = https://wiki.gnome.org/Projects/Folks;
license = stdenv.lib.licenses.lgpl2Plus;
maintainers = gnome3.maintainers;
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
};
}

View File

@ -0,0 +1,32 @@
{ stdenv, fetchurl, pkgconfig, dbus_glib, gnome3 ? null, glib, libxml2
, intltool, polkit, orbit, withGtk ? false }:
assert withGtk -> (gnome3 != null);
stdenv.mkDerivation rec {
versionMajor = "3.2";
versionMinor = "6";
moduleName = "GConf";
origName = "${moduleName}-${versionMajor}.${versionMinor}";
name = "gconf-${versionMajor}.${versionMinor}";
src = fetchurl {
url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${origName}.tar.xz";
sha256 = "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr";
};
buildInputs = [ libxml2 polkit orbit ] ++ stdenv.lib.optional withGtk gnome3.gtk;
propagatedBuildInputs = [ glib dbus_glib ];
nativeBuildInputs = [ pkgconfig intltool ];
# ToDo: ldap reported as not found but afterwards reported as supported
meta = with stdenv.lib; {
homepage = http://projects.gnome.org/gconf/;
description = "A system for storing application preferences";
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,28 @@
{ stdenv, fetchurl, pkgconfig, intltool, gnupg, p11_kit, glib
, libgcrypt, libtasn1, dbus_glib, gtk, pango, gdk_pixbuf, atk
, gobjectIntrospection, makeWrapper, libxslt, vala, gnome3 }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
buildInputs = [
pkgconfig intltool gnupg glib gobjectIntrospection libxslt
libgcrypt libtasn1 dbus_glib gtk pango gdk_pixbuf atk makeWrapper vala
];
propagatedBuildInputs = [ p11_kit ];
#doCheck = true;
#enableParallelBuilding = true; issues on hydra
preFixup = ''
wrapProgram "$out/bin/gcr-viewer" \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
'';
meta = with stdenv.lib; {
platforms = platforms.linux;
maintainers = gnome3.maintainers;
};
}

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "gcr-3.16.0";
src = fetchurl {
url = mirror://gnome/sources/gcr/3.16/gcr-3.16.0.tar.xz;
sha256 = "ecfe8df41cc88158364bb15addc670b11e539fe844742983629ba2323888d075";
};
}

View File

@ -0,0 +1,41 @@
{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, xorg, dbus
, intltool, accountsservice, libX11, gnome3, systemd, gnome_session
, gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection }:
stdenv.mkDerivation rec {
name = "gdm-${gnome3.version}.2";
src = fetchurl {
url = "mirror://gnome/sources/gdm/${gnome3.version}/${name}.tar.xz";
sha256 = "0mhv3q8z208qvhz00zrxlqn7w9gi5vy6w8dpjh5s2ka28l3yhbn3";
};
preConfigure = ''
substituteInPlace ./configure --replace "/usr/bin/X" "${xorg.xorgserver}/bin/X"
substituteInPlace daemon/gdm-simple-slave.c --replace 'BINDIR "/gnome-session' '"${gnome_session}/bin/gnome-session'
substituteInPlace daemon/gdm-launch-environment.c --replace 'BINDIR "/dbus-launch' '"${dbus.tools}/bin/dbus-launch'
substituteInPlace data/gdm.conf-custom.in --replace '#WaylandEnable=false' 'WaylandEnable=false'
sed 's/#Enable=true/Enable=true/' -i data/gdm.conf-custom.in
'';
configureFlags = [ "--localstatedir=/var" "--with-systemd=yes" "--without-plymouth"
"--with-systemdsystemunitdir=$(out)/etc/systemd/system"
"--with-initial-vt=10" ];
buildInputs = [ pkgconfig glib itstool libxml2 intltool
accountsservice gnome3.dconf systemd
gobjectIntrospection libX11 gtk
libcanberra_gtk3 pam libtool ];
#enableParallelBuilding = true; # problems compiling
# Disable Access Control because our X does not support FamilyServerInterpreted yet
patches = [ ./xserver_path.patch ./sessions_dir.patch ./disable_x_access_control.patch ];
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Projects/GDM;
description = "A program that manages graphical display servers and handles graphical user logins";
platforms = platforms.linux;
maintainers = gnome3.maintainers;
};
}

View File

@ -0,0 +1,15 @@
--- gdm-3.16.0/daemon/gdm-display.c.orig 2015-04-08 13:53:14.370274369 +0200
+++ gdm-3.16.0/daemon/gdm-display.c 2015-04-08 13:53:36.287520435 +0200
@@ -1706,9 +1706,10 @@
gdm_error_trap_push ();
- for (i = 0; i < G_N_ELEMENTS (host_entries); i++) {
+ /*for (i = 0; i < G_N_ELEMENTS (host_entries); i++) {
XAddHost (self->priv->x11_display, &host_entries[i]);
- }
+ }*/
+ XDisableAccessControl(self->priv->x11_display);
XSync (self->priv->x11_display, False);
if (gdm_error_trap_pop ()) {

View File

@ -0,0 +1,17 @@
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
index f759d2d..d154716 100644
--- a/daemon/gdm-session.c
+++ b/daemon/gdm-session.c
@@ -373,9 +373,12 @@ get_system_session_dirs (void)
#ifdef ENABLE_WAYLAND_SUPPORT
DATADIR "/wayland-sessions/",
#endif
+ NULL,
NULL
};
+ search_dirs[4] = getenv("GDM_SESSIONS_DIR") != NULL ? getenv("GDM_SESSIONS_DIR") : NULL;
+
return search_dirs;
}

View File

@ -0,0 +1,83 @@
--- a/daemon/gdm-server.c 2014-07-30 23:00:17.786841724 +0200
+++ b/daemon/gdm-server.c 2014-07-30 23:02:10.491239180 +0200
@@ -322,7 +322,11 @@
fallback:
#endif
- server->priv->command = g_strdup_printf (X_SERVER X_SERVER_ARG_FORMAT, verbosity, debug_options);
+ if (g_getenv("GDM_X_SERVER") != NULL) {
+ server->priv->command = g_strdup (g_getenv("GDM_X_SERVER"));
+ } else {
+ server->priv->command = g_strdup_printf (X_SERVER X_SERVER_ARG_FORMAT, verbosity, debug_options);
+ }
}
static gboolean
--- gdm-3.16.0/daemon/gdm-x-session.c.orig 2015-04-15 18:44:16.875743928 +0200
+++ gdm-3.16.0/daemon/gdm-x-session.c 2015-04-16 13:34:02.335708638 +0200
@@ -207,6 +207,8 @@
char *display_fd_string = NULL;
char *vt_string = NULL;
char *display_number;
+ int nixos_argc = 0;
+ char **nixos_argv = NULL;
gsize display_number_size;
auth_file = prepare_auth_file ();
@@ -236,7 +238,15 @@
display_fd_string = g_strdup_printf ("%d", DISPLAY_FILENO);
- g_ptr_array_add (arguments, X_SERVER);
+ if (g_getenv("GDM_X_SERVER") != NULL) {
+ int i = 0;
+ g_shell_parse_argv(g_getenv("GDM_X_SERVER"), &nixos_argc, &nixos_argv, NULL);
+ for (i = 0; i < nixos_argc; i++) {
+ g_ptr_array_add (arguments, nixos_argv[i]);
+ }
+ } else {
+ g_ptr_array_add (arguments, X_SERVER);
+ }
if (vt_string != NULL) {
g_ptr_array_add (arguments, vt_string);
@@ -259,12 +269,12 @@
g_ptr_array_add (arguments, "-noreset");
g_ptr_array_add (arguments, "-keeptty");
- g_ptr_array_add (arguments, "-verbose");
+ /*g_ptr_array_add (arguments, "-verbose");
if (state->debug_enabled) {
g_ptr_array_add (arguments, "7");
} else {
g_ptr_array_add (arguments, "3");
- }
+ }*/
if (state->debug_enabled) {
g_ptr_array_add (arguments, "-core");
@@ -275,6 +285,9 @@
(const char * const *) arguments->pdata,
&error);
g_free (display_fd_string);
+ if (nixos_argv) {
+ g_strfreev (nixos_argv);
+ }
g_clear_object (&launcher);
g_ptr_array_free (arguments, TRUE);
--- gdm-3.16.0/daemon/gdm-session.c.orig 2015-04-16 14:19:01.392802683 +0200
+++ gdm-3.16.0/daemon/gdm-session.c 2015-04-16 14:20:36.012296764 +0200
@@ -2359,6 +2359,12 @@
gchar *desktop_names;
const char *locale;
+ if (g_getenv ("GDM_X_SERVER") != NULL) {
+ gdm_session_set_environment_variable (self,
+ "GDM_X_SERVER",
+ g_getenv ("GDM_X_SERVER"));
+ }
+
gdm_session_set_environment_variable (self,
"GDMSESSION",
get_session_name (self));

View File

@ -0,0 +1,41 @@
{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, xorg, dbus
, intltool, accountsservice, libX11, gnome3, systemd, gnome_session
, gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection }:
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
# Only needed to make it build
preConfigure = ''
substituteInPlace ./configure --replace "/usr/bin/X" "${xorg.xorgserver}/bin/X"
'';
configureFlags = [ "--sysconfdir=/etc"
"--localstatedir=/var"
"--with-systemd=yes"
"--with-systemdsystemunitdir=$(out)/etc/systemd/system" ];
buildInputs = [ pkgconfig glib itstool libxml2 intltool
accountsservice gnome3.dconf systemd
gobjectIntrospection libX11 gtk
libcanberra_gtk3 pam libtool ];
#enableParallelBuilding = true; # problems compiling
preBuild = ''
substituteInPlace daemon/gdm-simple-slave.c --replace 'BINDIR "/gnome-session' '"${gnome_session}/bin/gnome-session'
'';
# Disable Access Control because our X does not support FamilyServerInterpreted yet
patches = [ ./xserver_path.patch ./sessions_dir.patch
./disable_x_access_control.patch ./no-dbus-launch.patch ];
installFlags = [ "sysconfdir=$(out)/etc" "dbusconfdir=$(out)/etc/dbus-1/system.d" ];
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Projects/GDM;
description = "A program that manages graphical display servers and handles graphical user logins";
platforms = platforms.linux;
maintainers = gnome3.maintainers;
};
}

Some files were not shown because too many files have changed in this diff Show More