Merge branch 'master' into x-updates

wip/yesman
Vladimír Čunát 11 years ago
commit c1e62e7e91
  1. 2
      doc/stdenv.xml
  2. 6
      maintainers/docs/cross.txt
  3. 10
      pkgs/applications/audio/amarok/default.nix
  4. 46
      pkgs/applications/audio/amarok/find-mysql.patch
  5. 2
      pkgs/applications/audio/mpc123/default.nix
  6. 2
      pkgs/applications/audio/mpg321/default.nix
  7. 2
      pkgs/applications/audio/pavucontrol/default.nix
  8. 14
      pkgs/applications/audio/picard/default.nix
  9. 40
      pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix
  10. 30
      pkgs/applications/display-managers/lightdm/default.nix
  11. 2
      pkgs/applications/editors/ed/default.nix
  12. 2
      pkgs/applications/editors/emacs-23/default.nix
  13. 8
      pkgs/applications/editors/emacs-24/default.nix
  14. 2
      pkgs/applications/editors/emacs-modes/ecb/default.nix
  15. 2
      pkgs/applications/editors/emacs-modes/emacs-w3m/default.nix
  16. 2
      pkgs/applications/editors/emacs-modes/jdee/default.nix
  17. 2
      pkgs/applications/editors/emacs-modes/magit/default.nix
  18. 2
      pkgs/applications/editors/emacs-modes/org/default.nix
  19. 2
      pkgs/applications/editors/emacs-modes/quack/default.nix
  20. 2
      pkgs/applications/editors/emacs-modes/scala-mode/default.nix
  21. 20
      pkgs/applications/editors/flpsed/default.nix
  22. 35
      pkgs/applications/editors/nvpy/default.nix
  23. 2
      pkgs/applications/editors/texmacs/default.nix
  24. 24
      pkgs/applications/editors/tiled-qt/default.nix
  25. 17
      pkgs/applications/editors/vim/configurable.nix
  26. 6
      pkgs/applications/editors/vim/default.nix
  27. 2
      pkgs/applications/editors/zile/default.nix
  28. 2
      pkgs/applications/graphics/geeqie/default.nix
  29. 2
      pkgs/applications/graphics/ocrad/default.nix
  30. 2
      pkgs/applications/graphics/ufraw/default.nix
  31. 17
      pkgs/applications/misc/dunst/default.nix
  32. 2
      pkgs/applications/misc/gv/default.nix
  33. 17
      pkgs/applications/misc/pgadmin/default.nix
  34. 4
      pkgs/applications/misc/redshift/default.nix
  35. 53
      pkgs/applications/misc/vifm/default.nix
  36. 2
      pkgs/applications/misc/wordnet/default.nix
  37. 6
      pkgs/applications/misc/xmobar/default.nix
  38. 14
      pkgs/applications/networking/browsers/chromium/cups_allow_deprecated.patch
  39. 18
      pkgs/applications/networking/browsers/chromium/default.nix
  40. 292
      pkgs/applications/networking/browsers/chromium/sandbox_userns.patch
  41. 24
      pkgs/applications/networking/browsers/chromium/sandbox_userns_30.patch
  42. 18
      pkgs/applications/networking/browsers/chromium/sources.nix
  43. 17
      pkgs/applications/networking/browsers/conkeror/default.nix
  44. 6
      pkgs/applications/networking/browsers/firefox/default.nix
  45. 2
      pkgs/applications/networking/browsers/icecat-3/default.nix
  46. 7
      pkgs/applications/networking/browsers/midori/default.nix
  47. 8
      pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
  48. 6
      pkgs/applications/networking/mailreaders/thunderbird/default.nix
  49. 2
      pkgs/applications/office/gnucash/default.nix
  50. 8
      pkgs/applications/science/math/R/default.nix
  51. 2
      pkgs/applications/science/misc/simgrid/default.nix
  52. 2
      pkgs/applications/science/misc/tulip/default.nix
  53. 2
      pkgs/applications/version-management/darcs/default.nix
  54. 10
      pkgs/applications/version-management/git-and-tools/git-annex/default.nix
  55. 2
      pkgs/applications/version-management/git-and-tools/git/default.nix
  56. 8
      pkgs/applications/version-management/git-and-tools/qgit/default.nix
  57. 2
      pkgs/applications/version-management/rcs/default.nix
  58. 4
      pkgs/applications/version-management/subversion/default.nix
  59. 9
      pkgs/applications/video/vlc/default.nix
  60. 12
      pkgs/applications/virtualization/virtualbox/default.nix
  61. 2
      pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
  62. 2
      pkgs/applications/window-managers/ratpoison/default.nix
  63. 20
      pkgs/applications/window-managers/windowmaker/default.nix
  64. 2
      pkgs/build-support/fetchmtn/builder.sh
  65. 4
      pkgs/build-support/kernel/modules-closure.nix
  66. 12
      pkgs/build-support/kernel/modules-closure.sh
  67. 16
      pkgs/build-support/release/default.nix
  68. 2
      pkgs/build-support/vm/default.nix
  69. 4
      pkgs/data/documentation/man-pages/default.nix
  70. 2
      pkgs/data/fonts/freefont-ttf/default.nix
  71. 0
      pkgs/data/icons/hicolor-icon-theme/default.nix
  72. 22
      pkgs/data/icons/tango-icon-theme/default.nix
  73. 34
      pkgs/data/icons/tango-icon-theme/rsvg-convert.patch
  74. 2
      pkgs/desktops/gnome-2/platform/gtkglext/default.nix
  75. 19
      pkgs/desktops/kde-4.10/kdebindings/perlqt-include-smokeqt.patch
  76. 118
      pkgs/desktops/kde-4.10/kdebindings/perlqt-rewrite-FindPerlMore.patch
  77. 454
      pkgs/desktops/kde-4.10/kdebindings/perlqt-use-site-arch-install-dir.patch
  78. 6
      pkgs/desktops/kde-4.10/kdebindings/perlqt.nix
  79. 13
      pkgs/desktops/kde-4.10/kdebindings/qtruby-include-smokeqt.patch
  80. 4
      pkgs/desktops/kde-4.10/kdebindings/qtruby.nix
  81. 14
      pkgs/desktops/kde-4.10/kdebindings/smokegen-CMakeLists.txt-nix.patch
  82. 13
      pkgs/desktops/kde-4.10/kdebindings/smokegen-SmokeConfig.cmake.in-nix.patch
  83. 46
      pkgs/desktops/kde-4.10/kdebindings/smokegen-nix.patch
  84. 2
      pkgs/desktops/kde-4.10/kdebindings/smokegen.nix
  85. 11
      pkgs/desktops/kde-4.11/applications/kate.nix
  86. 11
      pkgs/desktops/kde-4.11/applications/konsole.nix
  87. 42
      pkgs/desktops/kde-4.11/default.nix
  88. 17
      pkgs/desktops/kde-4.11/files/kde-wallpapers-buildsystem.patch
  89. 12
      pkgs/desktops/kde-4.11/files/polkit-install.patch
  90. 9
      pkgs/desktops/kde-4.11/kactivities.nix
  91. 14
      pkgs/desktops/kde-4.11/kde-base-artwork.nix
  92. 11
      pkgs/desktops/kde-4.11/kde-baseapps/kde-baseapps.nix
  93. 444
      pkgs/desktops/kde-4.11/kde-package/4.11.0.nix
  94. 127
      pkgs/desktops/kde-4.11/kde-package/default.nix
  95. 146
      pkgs/desktops/kde-4.11/kde-package/kde-manifest.sh
  96. 23
      pkgs/desktops/kde-4.11/kde-runtime.nix
  97. 17
      pkgs/desktops/kde-4.11/kde-wallpapers.nix
  98. 39
      pkgs/desktops/kde-4.11/kde-workspace.nix
  99. 9
      pkgs/desktops/kde-4.11/kdeaccessibility/jovie.nix
  100. 9
      pkgs/desktops/kde-4.11/kdeaccessibility/kaccessible.nix
  101. Some files were not shown because too many files have changed in this diff Show More

@ -6,7 +6,7 @@
<para>The standard build environment in the Nix Packages collection
provides a environment for building Unix packages that does a lot of
provides an environment for building Unix packages that does a lot of
common build tasks automatically. In fact, for Unix packages that use
the standard <literal>./configure; make; make install</literal> build
interface, you don’t need to write a build script at all; the standard

@ -41,7 +41,7 @@ NB:
Keep in mind that many programs are not very well suited for cross
compilation. Either they are not intended to run on other platforms,
because the code is highly platform specific, or the configuration proces
because the code is highly platform specific, or the configuration process
is not written with cross compilation in mind.
Nix will not solve these problems for you!
@ -290,7 +290,7 @@ this compiler and verified to be working on a HP Jornada 820 running Linux
are "patch", "make" and "wget".
If we want to build C++ programs it gets a lot more difficult. GCC has a
three step compilation proces. In the first step a simple compiler, called
three step compilation process. In the first step a simple compiler, called
xgcc, that can compile only C programs is built. With that compiler it
compiles itself two more times: one time to build a full compiler, and another
time to build a full compiler once again with the freshly built compiler from
@ -318,7 +318,7 @@ with compilation flags. This is still work in progress for Nix.
---
After succesfully completing the whole toolchain you can start building
After successfully completing the whole toolchain you can start building
packages with the newly built tools. To make everything build correctly
you will need a stdenv for your target platform. Setting up this platform
will take some effort. Right now there is a very experimental setup for

@ -1,24 +1,24 @@
{ stdenv, fetchurl, lib, qtscriptgenerator, perl, gettext, curl
, libxml2, mysql, taglib, taglib_extras, loudmouth , kdelibs
, qca2, libmtp, liblastfm, libgpod, pkgconfig, automoc4, phonon
, strigi, soprano, qjson, ffmpeg, libofa }:
, strigi, soprano, qjson, ffmpeg, libofa, nepomuk_core ? null }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "amarok";
version = "2.6.0";
version = "2.8.0";
src = fetchurl {
url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.bz2";
sha256 = "1h6jzl0jnn8g05pz4mw01kz20wjjxwwz6iki7lvgj70qi3jq04m9";
sha256 = "1ilf9wdp3wna5pmvxill8x08rb9gw86qkc2zwm3xk9hpy8l9pf7l";
};
QT_PLUGIN_PATH="${qtscriptgenerator}/lib/qt4/plugins";
patches = ./find-mysql.patch;
buildInputs = [ qtscriptgenerator stdenv.gcc.libc gettext curl
libxml2 mysql taglib taglib_extras loudmouth kdelibs automoc4 phonon strigi
soprano qca2 libmtp liblastfm libgpod pkgconfig qjson ffmpeg libofa ];
soprano qca2 libmtp liblastfm libgpod pkgconfig qjson ffmpeg libofa nepomuk_core ];
cmakeFlags = "-DKDE4_BUILD_TESTS=OFF";

@ -1,46 +0,0 @@
commit 9979970f05f25329100168d85a5c4cdc8c084b7a
Author: Yury G. Kudryashov <urkud.urkud@gmail.com>
Date: Thu Aug 30 12:32:53 2012 +0400
FindMySQLAmarok.cmake: use PATH_SUFFIXES
diff --git a/cmake/modules/FindMySQLAmarok.cmake b/cmake/modules/FindMySQLAmarok.cmake
index 910b434..4c8b8e8 100644
--- a/cmake/modules/FindMySQLAmarok.cmake
+++ b/cmake/modules/FindMySQLAmarok.cmake
@@ -13,18 +13,17 @@
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
if(NOT WIN32)
- find_program(MYSQLCONFIG_EXECUTABLE NAMES mysql_config mysql_config5 PATHS ${BIN_INSTALL_DIR} ~/usr/bin /usr/local/bin)
+ find_program(MYSQLCONFIG_EXECUTABLE NAMES mysql_config mysql_config5 HINTS ${BIN_INSTALL_DIR})
endif(NOT WIN32)
find_path(MYSQL_INCLUDE_DIR mysql.h
- /opt/local/include/mysql5/mysql
+ PATHS
+ /opt/local/include
/opt/mysql/mysql/include
- /opt/mysqle/include/mysql
- /opt/ports/include/mysql5/mysql
- /usr/include/mysql
- /usr/local/include/mysql
- /usr/mysql/include/mysql
- ~/usr/include/mysql
+ /opt/mysqle/include
+ /opt/ports/include
+ /usr/mysql/include
+ PATH_SUFFIXES mysql mysql5/mysql
)
if(MYSQLCONFIG_EXECUTABLE)
@@ -40,8 +39,7 @@ if(MYSQLCONFIG_EXECUTABLE)
find_library(MYSQLD_PIC_SEPARATE
mysqld_pic
- PATHS
- /usr/lib/mysql
+ PATH_SUFFIXES mysql
)
if(MYSQLD_PIC_SEPARATE)

@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
license = "GPLv2+";
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
};
}

@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
description = "mpg321, a command-line MP3 player";
homepage = http://mpg321.sourceforge.net/;
license = "GPLv2";
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
platforms = stdenv.lib.platforms.gnu;
};
}

@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
license = "GPLv2+";
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
};
}

@ -1,16 +1,24 @@
{ stdenv, fetchurl, pythonPackages, gettext, pyqt4
, pkgconfig, libdiscid, libofa, ffmpeg }:
, pkgconfig, libdiscid, libofa, ffmpeg, acoustidFingerprinter
}:
pythonPackages.buildPythonPackage rec {
name = "picard-${version}";
namePrefix = "";
version = "1.1";
version = "1.2";
src = fetchurl {
url = "http://ftp.musicbrainz.org/pub/musicbrainz/picard/${name}.tar.gz";
md5 = "57abb76632a423760f336ac11da5c149";
md5 = "d1086687b7f7b0d359a731b1a25e7b66";
};
postPatch = let
fpr = "${acoustidFingerprinter}/bin/acoustid_fpcalc";
in ''
sed -ri -e 's|(TextOption.*"acoustid_fpcalc"[^"]*")[^"]*|\1${fpr}|' \
picard/ui/options/fingerprinting.py
'';
buildInputs = [
pkgconfig
ffmpeg

@ -1,23 +1,43 @@
{ stdenv, fetchurl, lightdm, pkgconfig, gtk3, intltool }:
{ stdenv, fetchurl, lightdm, pkgconfig, intltool
, hicolor_icon_theme, makeWrapper
, useGTK2 ? false, gtk2, gtk3 # gtk3 seems better supported
}:
stdenv.mkDerivation {
name = "lightdm-gtk-greeter";
#ToDo: bad icons with gtk2;
# avatar icon is missing in standard hicolor theme, I don't know where gtk3 takes it from
#ToDo: Failed to open sessions directory: Error opening directory '${lightdm}/share/lightdm/remote-sessions': No such file or directory
let
ver_branch = "1.6";
version = "1.5.1"; # 1.5.2 and 1.6.0 result into infinite cycling of X in restarts
in
stdenv.mkDerivation rec {
name = "lightdm-gtk-greeter-${version}";
src = fetchurl {
url = "https://launchpad.net/lightdm-gtk-greeter/1.6/1.5.1/+download/lightdm-gtk-greeter-1.5.1.tar.gz";
sha256 = "ecce7e917a79fa8f2126c3fafb6337f81f2198892159a4ef695016afecd2d621";
url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.gz";
sha256 = "08fnsbnay5jhd7ps8n91i6c227zq6xizpyn34qhqzykrga8pxkpc";
};
buildInputs = [ pkgconfig gtk3 lightdm intltool ];
patches = [ ./lightdm-gtk-greeter.patch ];
patchFlags = "-p0";
patches =
[ ./lightdm-gtk-greeter.patch
];
buildInputs = [ pkgconfig lightdm intltool ]
++ (if useGTK2 then [ gtk2 makeWrapper ] else [ gtk3 ]);
patchFlags = "-p0";
configureFlags = stdenv.lib.optional useGTK2 "--with-gtk2";
postInstall = ''
substituteInPlace "$out/share/xgreeters/lightdm-gtk-greeter.desktop" \
--replace "Exec=lightdm-gtk-greeter" "Exec=$out/sbin/lightdm-gtk-greeter"
'' + stdenv.lib.optionalString useGTK2 ''
wrapProgram "$out/sbin/lightdm-gtk-greeter" \
--prefix XDG_DATA_DIRS ":" "${hicolor_icon_theme}/share"
'';
meta = {
homepage = http://launchpad.net/lightdm-gtk-greeter;
platforms = stdenv.lib.platforms.linux;
};
}

@ -1,25 +1,31 @@
{ stdenv, fetchurl, pam, pkgconfig, libxcb, glib, libXdmcp, itstool, libxml2, intltool, x11, libxklavier, libgcrypt, makeWrapper }:
{ stdenv, fetchurl, pam, pkgconfig, libxcb, glib, libXdmcp, itstool, libxml2
, intltool, x11, libxklavier, libgcrypt, dbus/*for tests*/ }:
stdenv.mkDerivation {
name = "lightdm-1.5.1";
let
ver_branch = "1.8";
version = "1.7.0";
in
stdenv.mkDerivation rec {
name = "lightdm-${version}";
src = fetchurl {
url = https://launchpad.net/lightdm/1.6/1.5.1/+download/lightdm-1.5.1.tar.xz;
sha256 = "645db2d763cc514d6aecb1838f4a9c33c3dcf0c94567a7ef36c6b23d8aa56c86";
url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.xz";
sha256 = "0nwwjgc9xvwili6714ag88wsrf0lr5hv1i6z9f0xvin4ym18cbs5";
};
buildInputs = [ pkgconfig pam libxcb glib libXdmcp itstool libxml2 intltool libxklavier libgcrypt makeWrapper ];
patches = [ ./lightdm.patch ];
patchFlags = "-p0";
configureFlags = [ "--enable-liblightdm-gobject" ];
buildInputs = [
pkgconfig pam libxcb glib libXdmcp itstool libxml2 intltool libxklavier libgcrypt
] ++ stdenv.lib.optional doCheck dbus.daemon;
patches =
[ ./lightdm.patch
];
configureFlags = [ "--enable-liblightdm-gobject" "--localstatedir=/var" ];
patchFlags = "-p0";
doCheck = false; # some tests fail, don't know why
meta = {
homepage = http://launchpad.net/lightdm;
platforms = stdenv.lib.platforms.linux;
};
}
}

@ -41,6 +41,6 @@ stdenv.mkDerivation rec {
homepage = http://www.gnu.org/software/ed/;
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
};
}

@ -66,7 +66,7 @@ EOF
homepage = http://www.gnu.org/software/emacs/;
license = "GPLv3+";
maintainers = with stdenv.lib.maintainers; [ ludo simons chaoflow ];
maintainers = with stdenv.lib.maintainers; [ simons chaoflow ];
platforms = stdenv.lib.platforms.all;
};
}

@ -26,8 +26,10 @@ stdenv.mkDerivation rec {
++ stdenv.lib.optional stdenv.isLinux dbus;
configureFlags =
stdenv.lib.optionals (gtk != null) [ "--with-x-toolkit=gtk" "--with-xft"]
(if gtk != null then
[ "--with-x-toolkit=gtk" "--with-xft"]
else
[ "--with-x-toolkit=no" ])
# On NixOS, help Emacs find `crt*.o'.
++ stdenv.lib.optional (stdenv ? glibc)
[ "--with-crt-dir=${stdenv.glibc}/lib" ];
@ -67,7 +69,7 @@ EOF
homepage = "http://www.gnu.org/software/emacs/";
license = "GPLv3+";
maintainers = with maintainers; [ chaoflow lovek323 ludo simons ];
maintainers = with maintainers; [ chaoflow lovek323 simons ];
platforms = platforms.all;
};
}

@ -43,6 +43,6 @@ stdenv.mkDerivation rec {
homepage = http://ecb.sourceforge.net/;
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
};
}

@ -56,6 +56,6 @@ stdenv.mkDerivation rec {
homepage = http://emacs-w3m.namazu.org/;
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
};
}

@ -91,7 +91,7 @@ in
license = "GPLv2+";
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
};
}

@ -40,6 +40,6 @@ stdenv.mkDerivation rec {
'';
platforms = stdenv.lib.platforms.all;
maintainers = with stdenv.lib.maintainers; [ simons ludo ];
maintainers = with stdenv.lib.maintainers; [ simons ];
};
}

@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
license = "GPLv3+";
maintainers = with stdenv.lib.maintainers; [ ludo chaoflow ];
maintainers = with stdenv.lib.maintainers; [ chaoflow ];
platforms = stdenv.lib.platforms.gnu;
};
}

@ -27,6 +27,6 @@ stdenv.mkDerivation {
description = "Enhanced Emacs support for editing and running Scheme code";
homepage = http://www.neilvandyke.org/quack/;
license = "GPLv2+";
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
};
}

@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
# non-copyleft, BSD-style
license = "permissive";
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
};
}

@ -0,0 +1,20 @@
{stdenv, fetchurl, fltk13, ghostscript}:
stdenv.mkDerivation {
name = "flpsed-0.7.0";
src = fetchurl {
url = "http://www.ecademix.com/JohannesHofmann/flpsed-0.7.0.tar.gz";
sha1 = "7966fd3b6fb3aa2a376386533ed4421ebb66ad62";
};
buildInputs = [ fltk13 ghostscript ];
meta = {
description = "A WYSIWYG PostScript annotator.";
homepage = "http://http://flpsed.org/flpsed.html";
license = "GPLv3";
platforms = stdenv.lib.platforms.all;
};
}

@ -0,0 +1,35 @@
{ pkgs, fetchurl, tk, buildPythonPackage, pythonPackages }:
buildPythonPackage rec {
version = "0.9.2";
name = "nvpy-${version}";
src = fetchurl {
url = "https://github.com/cpbotha/nvpy/archive/v${version}.tar.gz";
sha256 = "78e41b80fc5549cba8cfd92b52d6530e8dfc8e8f37e96e4b219f30c266af811d";
};
buildInputs = [tk];
propagatedBuildInputs = [
pythonPackages.markdown
pythonPackages.tkinter
];
postInstall = ''
install -dm755 "$out/share/licenses/nvpy/"
install -m644 LICENSE.txt "$out/share/licenses/nvpy/LICENSE"
install -dm755 "$out/share/doc/nvpy/"
install -m644 README.rst "$out/share/doc/nvpy/README"
wrapProgram $out/bin/nvpy --set TK_LIBRARY "${tk}/lib/${tk.libPrefix}"
'';
meta = with pkgs.lib; {
description = "A simplenote-syncing note-taking tool inspired by Notational Velocity";
homepage = "https://github.com/cpbotha/nvpy";
platforms = platforms.linux;
license = licenses.bsd3;
};
}

@ -89,7 +89,7 @@ stdenv.mkDerivation rec {
'';
homepage = http://texmacs.org/;
license = "GPLv2+";
maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.roconnor ];
maintainers = [ stdenv.lib.maintainers.roconnor ];
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
};
}

@ -0,0 +1,24 @@
{ stdenv, fetchurl, qt }:
stdenv.mkDerivation rec {
name = "tiled-qt-0.9.1";
src = fetchurl {
url = "mirror://sourceforge/tiled/${name}.tar.gz";
sha256 = "09xm6ry56zsqbfl9fvlvc5kq9ikzdskm283r059q6rlc7crzhs38";
};
buildInputs = [ qt ];
preConfigure = "qmake -r PREFIX=$out";
meta = {
description = "A free, easy to use and flexible tile map editor";
homepage = "http://www.mapeditor.org/";
# libtiled and tmxviewer is licensed under 2-calause BSD license.
# The rest is GPL2 or later.
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ iyzsong ];
};
}

@ -1,6 +1,6 @@
# TODO tidy up eg The patchelf code is patching gvim even if you don't build it..
# but I have gvim with python support now :) - Marc
args@{source ? "latest", ...}: with args;
args@{source ? "default", ...}: with args;
let inherit (args.composableDerivation) composableDerivation edf; in
@ -11,7 +11,7 @@ composableDerivation {
else stdenv ).mkDerivation;
} (fix: {
name = "vim_configurable-7.3";
name = "vim_configurable-7.4";
enableParallelBuilding = true; # test this
@ -20,8 +20,8 @@ composableDerivation {
"default" =
# latest release
args.fetchurl {
url = ftp://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2;
sha256 = "079201qk8g9yisrrb0dn52ch96z3lzw6z473dydw9fzi0xp5spaw";
url = ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2;
sha256 = "1pjaffap91l2rb9pjnlbrpvb3ay5yhhr3g91zabjvw1rqk9adxfh";
};
"vim-nox" =
{
@ -31,14 +31,7 @@ composableDerivation {
name = "vim-nox-hg-2082fc3";
# END
}.src;
"latest" = {
# vim latest usually is vim + bug fixes. So it should be very stable
# REGION AUTO UPDATE: { name="vim"; type="hg"; url="https://vim.googlecode.com/hg"; }
src = (fetchurl { url = "http://mawercer.de/~nix/repos/vim-hg-7f98896.tar.bz2"; sha256 = "efcb8cc5924b530631a8e5fc2a0622045c2892210d32d300add24aded51866f1"; });
name = "vim-hg-7f98896";
# END
}.src;
};
};
# if darwin support is enabled, we want to make sure we're not building with
# OS-installed python framework

@ -1,12 +1,14 @@
{ stdenv, fetchurl, ncurses, gettext, pkgconfig }:
stdenv.mkDerivation rec {
name = "vim-7.3";
name = "vim-7.4";
src = fetchurl {
url = "ftp://ftp.vim.org/pub/vim/unix/${name}.tar.bz2";
sha256 = "079201qk8g9yisrrb0dn52ch96z3lzw6z473dydw9fzi0xp5spaw";
sha256 = "1pjaffap91l2rb9pjnlbrpvb3ay5yhhr3g91zabjvw1rqk9adxfh";
};
enableParallelBuilding = true;
buildInputs = [ ncurses pkgconfig ];
nativeBuildInputs = [ gettext ];

@ -47,6 +47,6 @@ stdenv.mkDerivation rec {
license = "GPLv3+";
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
};
}

@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
homepage = http://geeqie.sourceforge.net;
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
platforms = stdenv.lib.platforms.gnu;
};
}

@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
license = "GPLv3+";
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
};
}

@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
license = "GPLv2+";
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
platforms = stdenv.lib.platforms.gnu; # needs GTK+
};
}

@ -1,15 +1,18 @@
{ stdenv, fetchurl, coreutils , unzip, which, pkgconfig , dbus
{ stdenv, fetchgit, coreutils , unzip, which, pkgconfig , dbus
, freetype, xdg_utils , libXext, glib, pango , cairo, libX11, libnotify
, libxdg_basedir , libXScrnSaver, xproto, libXinerama , perl, gdk_pixbuf
}:
stdenv.mkDerivation rec {
version = "1.0.0";
name = "dunst-${version}";
rev = "6a3a855b48a3db64821d1cf8a91c5ee2815a2b2d";
name = "dunst-${rev}";
src = fetchurl {
url = "https://github.com/knopwob/dunst/archive/v${version}.zip";
sha256 = "1x6k6jrf219v8hmhqhnnfjycldvsnp7ag8a2y8adp5rhfmgyn671";
# 1.0.0 release doesn't include 100% CPU fix
# https://github.com/knopwob/dunst/issues/98
src = fetchgit {
inherit rev;
url = "https://github.com/knopwob/dunst.git";
sha256 = "0m7yki16d72xm9n2m2fjszd8phqpn5b95q894cz75pmd0sv1j6bj";
};
patchPhase = ''
@ -23,7 +26,7 @@ stdenv.mkDerivation rec {
libXScrnSaver xproto libXinerama perl];
buildPhase = ''
export VERSION=${version};
export VERSION=${rev};
export PREFIX=$out;
make dunst;
'';

@ -31,7 +31,7 @@ stdenv.mkDerivation {
'';
license = "GPLv3+";
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
};
}

@ -1,18 +1,25 @@
{ stdenv, fetchurl, postgresql, wxGTK, libxml2, libxslt, openssl }:
stdenv.mkDerivation rec {
name = "pgadmin3-1.10.0";
name = "pgadmin3-${version}";
version = "1.16.1";
src = fetchurl {
url = "http://ftp3.de.postgresql.org/pub/Mirrors/ftp.postgresql.org/pgadmin3/release/v1.10.0/src/pgadmin3-1.10.0.tar.gz";
sha256 = "1ndi951da3jw5800fjdgkbvl8n6k71x7x16ghihi1l88bilf2a16";
url = "http://ftp.postgresql.org/pub/pgadmin3/release/v${version}/src/pgadmin3-${version}.tar.gz";
sha256 = "13n2nyjnbmjbz9n0xp6627n3pavkqfp4n45l1mnqxhjdq8yj9fnl";
};
buildInputs = [ postgresql wxGTK libxml2 libxslt openssl ];
meta = {
preConfigure = ''
substituteInPlace pgadmin/ver_svn.sh --replace "bin/bash" "$shell"
'';
meta = with stdenv.lib; {
description = "PostgreSQL administration GUI tool";
homepage = http://www.pgadmin.org;
license = "GPL2";
license = licenses.gpl2;
maintainers = [ maintainers.iElectric ];
platforms = platforms.unix;
};
}

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
pname = "redshift";
version = "1.6";
version = "1.7";
name = "${pname}-${version}";
src = fetchurl {
url = "http://launchpad.net/${pname}/trunk/${version}/+download/${pname}-${version}.tar.bz2";
sha256 = "0g46zhqnx3y2fssmyjgaardzhjw1j29l1dbc2kmccw9wxqfla1wi";
sha256 = "1j0hs0vnlic90cf4bryn11n4ani1x2s5l8z6ll3fmrlw98ykrylv";
};
buildInputs = [ libX11 libXrandr libXxf86vm libxcb pkgconfig python

@ -1,48 +1,31 @@
x@{builderDefsPackage
, ncurses
, ...}:
builderDefsPackage
(a :
let
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
[];
{ pkgs, fetchurl, stdenv, ncurses, utillinux, file, libX11 }:
buildInputs = map (n: builtins.getAttr n x)
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
sourceInfo = rec {
baseName="vifm";
version="0.6.3";
name="${baseName}-${version}";
url="mirror://sourceforge/project/${baseName}/${baseName}/${name}.tar.bz2";
hash="1v5kiifjk7iyqrzjd94wn6a5dz4j3krl06pbp1ps9g3zdq2w2skv";
};
in
rec {
src = a.fetchurl {
url = sourceInfo.url;
sha256 = sourceInfo.hash;
let
name = "vifm-${version}";
version = "0.7.5";
in stdenv.mkDerivation {
inherit name;
src = fetchurl {
url="mirror://sourceforge/project/vifm/vifm/${name}.tar.bz2";
sha256 ="1r1d92zrff94rfx011dw2qsgdwd2ksqlz15la74d6h7sfcsnyd01";
};
inherit (sourceInfo) name version;
inherit buildInputs;
#phaseNames = ["doConfigure" "doMakeInstall"];
buildInputs = [ utillinux ncurses file libX11 ];
/* doConfigure should be removed if not needed */
phaseNames = ["doConfigure" "doMakeInstall"];
meta = {
description = "A vi-like file manager";
maintainers = with a.lib.maintainers;
[
raskin
];
platforms = with a.lib.platforms;
linux;
license = a.lib.licenses.gpl2;
maintainers = with pkgs.lib.maintainers; [ raskin garbas ];
platforms = pkgs.lib.platforms.linux;
license = pkgs.lib.licenses.gpl2;
};
passthru = {
updateInfo = {
downloadPage = "http://vifm.sf.net";
};
};
}) x
}

@ -35,7 +35,7 @@ stdenv.mkDerivation {
homepage = http://wordnet.princeton.edu/;
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
};
}

@ -1,5 +1,5 @@
{ cabal, filepath, libXrandr, mtl, parsec, regexCompat, stm, time
, utf8String, wirelesstools, X11, X11Xft
, utf8String, X11, X11Xft
}:
cabal.mkDerivation (self: {
@ -11,8 +11,8 @@ cabal.mkDerivation (self: {
buildDepends = [
filepath mtl parsec regexCompat stm time utf8String X11 X11Xft
];
extraLibraries = [ libXrandr wirelesstools ];
configureFlags = "-fwith_xft -fwith_iwlib";
extraLibraries = [ libXrandr ];
configureFlags = "-fwith_xft";
meta = {
homepage = "http://projects.haskell.org/xmobar/";
description = "A Minimalistic Text Based Status Bar";

@ -1,14 +0,0 @@
diff --git a/printing/printing.gyp b/printing/printing.gyp
index 19fa1b2..f11d76e 100644
--- a/printing/printing.gyp
+++ b/printing/printing.gyp
@@ -26,6 +26,9 @@
'include_dirs': [
'..',
],
+ 'cflags': [
+ '-Wno-deprecated-declarations',
+ ],
'sources': [
'backend/print_backend.cc',
'backend/print_backend.h',

@ -88,11 +88,9 @@ let
libExecPath = "$out/libexec/${packageName}";
# user namespace sandbox patch
userns_patch = if versionOlder sourceInfo.version "29.0.0.0"
then ./sandbox_userns.patch
else if versionOlder sourceInfo.version "30.0.0.0"
then ./sandbox_userns_29.patch
else ./sandbox_userns_30.patch;
userns_patch = if versionOlder sourceInfo.version "30.0.0.0"
then ./sandbox_userns_29.patch
else ./sandbox_userns_30.patch;
in stdenv.mkDerivation rec {
name = "${packageName}-${version}";
@ -127,14 +125,18 @@ in stdenv.mkDerivation rec {
prePatch = "patchShebangs .";
patches = [ userns_patch ]
++ optional cupsSupport ./cups_allow_deprecated.patch;
patches = [ userns_patch ];
postPatch = ''
sed -i -r -e 's/-f(stack-protector)(-all)?/-fno-\1/' build/common.gypi
sed -i -e 's|/usr/bin/gcc|gcc|' third_party/WebKit/Source/core/core.gypi
'' + optionalString useOpenSSL ''
cat $opensslPatches | patch -p1 -d third_party/openssl/openssl
'' + optionalString (!versionOlder sourceInfo.version "30.0.0.0") ''
sed -i -e '/base::FilePath exe_dir/,/^ *} *$/c \
sandbox_binary = \
base::FilePath("'"${libExecPath}/${packageName}_sandbox"'");
' content/browser/browser_main_loop.cc
'';
gypFlags = mkGypFlags (gypFlagsUseSystemLibs // {
@ -213,7 +215,7 @@ in stdenv.mkDerivation rec {
'';
meta = {
description = "Chromium, an open source web browser";
description = "An open source web browser from Google";
homepage = http://www.chromium.org/;
maintainers = with maintainers; [ goibhniu chaoflow aszlig ];
license = licenses.bsd3;

@ -1,292 +0,0 @@
From a242351d8a32ea33e6337b928969cc9f715e314e Mon Sep 17 00:00:00 2001
From: aszlig <aszlig@redmoonstudios.org>
Date: Thu, 16 May 2013 14:17:56 +0200
Subject: [PATCH] zygote: Add support for user namespaces on Linux.
The implementation is done by patching the Zygote host to execute the sandbox
binary with CLONE_NEWUSER and setting the uid and gid mapping so that the child
process is using uid 0 and gid 0 which map to the current user of the parent.
Afterwards, the sandbox will continue as if it was called as a setuid binary.
In addition, this adds new_user_namespace as an option in process_util in order
to set the UID and GID mapping correctly. The reason for this is that just
passing CLONE_NEWUSER to clone_flags doesn't help in LaunchProcess(), because
without setting the mappings exec*() will clear the process's capability sets.
If the kernel doesn't support unprivileged user namespaces and the sandbox
binary doesn't have the setuid flag, the Zygote main process will run without a
sandbox. This is to mimic the behaviour if no SUID sandbox binary path is set.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
---
base/process_util.h | 4 ++
base/process_util_posix.cc | 71 +++++++++++++++++++++-
.../browser/zygote_host/zygote_host_impl_linux.cc | 28 +++++++--
content/zygote/zygote_main_linux.cc | 7 +++
sandbox/linux/suid/client/setuid_sandbox_client.cc | 8 +++
sandbox/linux/suid/client/setuid_sandbox_client.h | 4 ++
sandbox/linux/suid/common/sandbox.h | 1 +
7 files changed, 117 insertions(+), 6 deletions(-)
diff --git a/base/process_util.h b/base/process_util.h
index 6efc70c..0f0c74c 100644
--- a/base/process_util.h
+++ b/base/process_util.h
@@ -261,3 +261,4 @@ struct LaunchOptions {
+ , new_user_namespace(false)
#endif // OS_LINUX
#if defined(OS_CHROMEOS)
, ctrl_terminal_fd(-1)
@@ -332,6 +333,9 @@ struct LaunchOptions {
#if defined(OS_LINUX)
// If non-zero, start the process using clone(), using flags as provided.
int clone_flags;
+
+ // If true, start the process in a new user namespace.
+ bool new_user_namespace;
#endif // defined(OS_LINUX)
#if defined(OS_CHROMEOS)
diff --git a/base/process_util_posix.cc b/base/process_util_posix.cc
index 6f15130..cea07f0 100644
--- a/base/process_util_posix.cc
+++ b/base/process_util_posix.cc
@@ -34,6 +34,13 @@
#include "base/threading/platform_thread.h"
#include "base/threading/thread_restrictions.h"
+#if defined(OS_LINUX)
+#include <sched.h>
+#if !defined(CLONE_NEWUSER)
+#define CLONE_NEWUSER 0x10000000
+#endif
+#endif
+
#if defined(OS_CHROMEOS)
#include <sys/ioctl.h>
#endif
@@ -621,8 +628,19 @@ bool LaunchProcess(const std::vector<std::string>& argv,
pid_t pid;
#if defined(OS_LINUX)
- if (options.clone_flags) {
- pid = syscall(__NR_clone, options.clone_flags, 0, 0, 0);
+ int map_pipe_fd[2];
+ int flags = options.clone_flags;
+
+ if (options.new_user_namespace) {
+ flags |= CLONE_NEWUSER;
+ if (pipe(map_pipe_fd) < 0) {
+ DPLOG(ERROR) << "user namespace pipe";
+ return false;
+ }
+ }
+
+ if (options.clone_flags || options.new_user_namespace) {
+ pid = syscall(__NR_clone, flags, 0, 0, 0);
} else
#endif
{
@@ -635,6 +653,21 @@ bool LaunchProcess(const std::vector<std::string>& argv,
} else if (pid == 0) {
// Child process
+#if defined(OS_LINUX)
+ if (options.new_user_namespace) {
+ // Close the write end of the pipe so we get an EOF when the parent closes
+ // the FD. This is to avoid race conditions when the UID/GID mappings are
+ // written _after_ execvp().
+ close(map_pipe_fd[1]);
+
+ char dummy;
+ if (HANDLE_EINTR(read(map_pipe_fd[0], &dummy, 1)) != 0) {
+ RAW_LOG(ERROR, "Unexpected input in uid/gid mapping pipe.");
+ _exit(127);
+ }
+ }
+#endif
+
// DANGER: fork() rule: in the child, if you don't end up doing exec*(),
// you call _exit() instead of exit(). This is because _exit() does not
// call any previously-registered (in the parent) exit handlers, which
@@ -749,6 +782,40 @@ bool LaunchProcess(const std::vector<std::string>& argv,
_exit(127);
} else {
// Parent process
+#if defined(OS_LINUX)
+ if (options.new_user_namespace) {
+ // We need to write UID/GID mapping here to map the current user outside
+ // the namespace to the root user inside the namespace in order to
+ // correctly "fool" the child process.
+ char buf[256];
+ int map_fd, map_len;
+
+ snprintf(buf, sizeof(buf), "/proc/%d/uid_map", pid);
+ map_fd = open(buf, O_RDWR);
+ DPCHECK(map_fd >= 0);
+ snprintf(buf, sizeof(buf), "0 %d 1", geteuid());
+ map_len = strlen(buf);
+ if (write(map_fd, buf, map_len) != map_len) {
+ RAW_LOG(WARNING, "Can't write to uid_map.");
+ }
+ close(map_fd);
+
+ snprintf(buf, sizeof(buf), "/proc/%d/gid_map", pid);
+ map_fd = open(buf, O_RDWR);
+ DPCHECK(map_fd >= 0);
+ snprintf(buf, sizeof(buf), "0 %d 1", getegid());
+ map_len = strlen(buf);
+ if (write(map_fd, buf, map_len) != map_len) {
+ RAW_LOG(WARNING, "Can't write to gid_map.");
+ }
+ close(map_fd);
+
+ // Close the pipe on the parent, so the child can continue doing the
+ // execvp() call.
+ close(map_pipe_fd[1]);
+ }
+#endif
+
if (options.wait) {
// While this isn't strictly disk IO, waiting for another process to
// finish is the sort of thing ThreadRestrictions is trying to prevent.
diff --git a/content/browser/zygote_host/zygote_host_impl_linux.cc b/content/browser/zygote_host/zygote_host_impl_linux.cc
index ba7884f8..2a674a0 100644
--- a/content/browser/zygote_host/zygote_host_impl_linux.cc
+++ b/content/browser/zygote_host/zygote_host_impl_linux.cc
@@ -117,6 +117,9 @@ void ZygoteHostImpl::Init(const std::string& sandbox_cmd) {
sandbox_binary_ = sandbox_cmd.c_str();
+ bool userns_sandbox = false;
+ const std::vector<std::string> cmd_line_unwrapped(cmd_line.argv());
+
if (!sandbox_cmd.empty()) {
struct stat st;
if (stat(sandbox_binary_.c_str(), &st) != 0) {
@@ -124,16 +127,21 @@ void ZygoteHostImpl::Init(const std::string& sandbox_cmd) {
<< sandbox_binary_ << " Aborting now.";
}
- if (access(sandbox_binary_.c_str(), X_OK) == 0 &&
- (st.st_uid == 0) &&
- (st.st_mode & S_ISUID) &&
- (st.st_mode & S_IXOTH)) {
+ if (access(sandbox_binary_.c_str(), X_OK) == 0) {
using_suid_sandbox_ = true;
+
cmd_line.PrependWrapper(sandbox_binary_);
scoped_ptr<sandbox::SetuidSandboxClient>
sandbox_client(sandbox::SetuidSandboxClient::Create());
sandbox_client->SetupLaunchEnvironment();
+
+ if (!((st.st_uid == 0) &&
+ (st.st_mode & S_ISUID) &&
+ (st.st_mode & S_IXOTH))) {
+ userns_sandbox = true;
+ sandbox_client->SetNoSuid();
+ }
} else {
LOG(FATAL) << "The SUID sandbox helper binary was found, but is not "
"configured correctly. Rather than run without sandboxing "
@@ -161,7 +169,19 @@ void ZygoteHostImpl::Init(const std::string& sandbox_cmd) {
base::ProcessHandle process = -1;
base::LaunchOptions options;
options.fds_to_remap = &fds_to_map;
+ if (userns_sandbox)
+ options.new_user_namespace = true;
base::LaunchProcess(cmd_line.argv(), options, &process);
+
+ if (process == -1 && userns_sandbox) {
+ LOG(ERROR) << "User namespace sandbox failed to start, running without "
+ << "sandbox! You need at least kernel 3.8.0 with CONFIG_USER_NS "
+ << "enabled in order to use the sandbox without setuid bit.";
+ using_suid_sandbox_ = false;
+ options.new_user_namespace = false;
+ base::LaunchProcess(cmd_line_unwrapped, options, &process);
+ }
+
CHECK(process != -1) << "Failed to launch zygote process";
if (using_suid_sandbox_) {
diff --git a/content/zygote/zygote_main_linux.cc b/content/zygote/zygote_main_linux.cc
index ca75518..d906411 100644
--- a/content/zygote/zygote_main_linux.cc
+++ b/content/zygote/zygote_main_linux.cc
@@ -402,6 +402,13 @@ static bool EnterSandbox(sandbox::SetuidSandboxClient* setuid_sandbox,
*has_started_new_init = true;
}
+ // Don't set non-dumpable, as it causes trouble when the host tries to find
+ // the zygote process (XXX: Not quite sure why this happens with user
+ // namespaces). Fortunately, we also have the seccomp filter sandbox which
+ // should disallow the use of ptrace.
+ if (setuid_sandbox->IsNoSuid())
+ return true;
+
#if !defined(OS_OPENBSD)
// Previously, we required that the binary be non-readable. This causes the
// kernel to mark the process as non-dumpable at startup. The thinking was
diff --git a/sandbox/linux/suid/client/setuid_sandbox_client.cc b/sandbox/linux/suid/client/setuid_sandbox_client.cc
index 7a174ef..633401e 100644
--- a/sandbox/linux/suid/client/setuid_sandbox_client.cc
+++ b/sandbox/linux/suid/client/setuid_sandbox_client.cc
@@ -166,6 +166,10 @@ bool SetuidSandboxClient::IsInNewNETNamespace() const {
return env_->HasVar(kSandboxNETNSEnvironmentVarName);
}
+bool SetuidSandboxClient::IsNoSuid() const {
+ return env_->HasVar(kSandboxNoSuidVarName);
+}
+
bool SetuidSandboxClient::IsSandboxed() const {
return sandboxed_;
}
@@ -175,5 +179,9 @@ void SetuidSandboxClient::SetupLaunchEnvironment() {
SetSandboxAPIEnvironmentVariable(env_);
}
+void SetuidSandboxClient::SetNoSuid() {
+ env_->SetVar(kSandboxNoSuidVarName, "1");
+}
+
} // namespace sandbox
diff --git a/sandbox/linux/suid/client/setuid_sandbox_client.h b/sandbox/linux/suid/client/setuid_sandbox_client.h
index a9f6536..2e8113a 100644
--- a/sandbox/linux/suid/client/setuid_sandbox_client.h
+++ b/sandbox/linux/suid/client/setuid_sandbox_client.h
@@ -39,6 +39,8 @@ class SetuidSandboxClient {
bool IsInNewPIDNamespace() const;
// Did the setuid helper create a new network namespace ?
bool IsInNewNETNamespace() const;
+ // Is sandboxed without SUID binary ?
+ bool IsNoSuid() const;
// Are we done and fully sandboxed ?
bool IsSandboxed() const;
@@ -46,6 +48,8 @@ class SetuidSandboxClient {
// helper.
void SetupLaunchEnvironment();
+ void SetNoSuid();
+
private:
// Holds the environment. Will never be NULL.
base::Environment* env_;
diff --git a/sandbox/linux/suid/common/sandbox.h b/sandbox/linux/suid/common/sandbox.h
index aad4ff8..bd710d5 100644
--- a/sandbox/linux/suid/common/sandbox.h
+++ b/sandbox/linux/suid/common/sandbox.h
@@ -18,6 +18,7 @@ static const char kAdjustLowMemMarginSwitch[] = "--adjust-low-mem";
static const char kSandboxDescriptorEnvironmentVarName[] = "SBX_D";
static const char kSandboxHelperPidEnvironmentVarName[] = "SBX_HELPER_PID";
+static const char kSandboxNoSuidVarName[] = "SBX_NO_SUID";
static const long kSUIDSandboxApiNumber = 1;
static const char kSandboxEnvironmentApiRequest[] = "SBX_CHROME_API_RQ";
--
1.8.2.1

@ -1,4 +1,4 @@
commit b9a1fa30eb3296b169f51ffa8ee05513c5c1dbae
commit 41510de6ae32e6161073992bd1243f7f33148a06
Author: aszlig <aszlig@redmoonstudios.org>
Date: Thu May 16 14:17:56 2013 +0200
@ -43,10 +43,10 @@ index 45b1053..ce71418 100644
#if defined(OS_CHROMEOS)
diff --git a/base/process/launch_posix.cc b/base/process/launch_posix.cc
index 336633c..4b50a5d 100644
index 52e149c..312f835 100644
--- a/base/process/launch_posix.cc
+++ b/base/process/launch_posix.cc
@@ -36,6 +36,13 @@
@@ -37,6 +37,13 @@
#include "base/threading/platform_thread.h"
#include "base/threading/thread_restrictions.h"
@ -60,12 +60,11 @@ index 336633c..4b50a5d 100644
#if defined(OS_CHROMEOS)
#include <sys/ioctl.h>
#endif
@@ -395,8 +402,19 @@ bool LaunchProcess(const std::vector<std::string>& argv,
@@ -416,13 +423,23 @@ bool LaunchProcess(const std::vector<std::string>& argv,
pid_t pid;
#if defined(OS_LINUX)
- if (options.clone_flags) {
- pid = syscall(__NR_clone, options.clone_flags, 0, 0, 0);
+ int map_pipe_fd[2];
+ int flags = options.clone_flags;
+
@ -78,11 +77,18 @@ index 336633c..4b50a5d 100644
+ }
+
+ if (options.clone_flags || options.new_user_namespace) {
// Signal handling in this function assumes the creation of a new
// process, so we check that a thread is not being created by mistake
// and that signal handling follows the process-creation rules.
- RAW_CHECK(
- !(options.clone_flags & (CLONE_SIGHAND | CLONE_THREAD | CLONE_VM)));
- pid = syscall(__NR_clone, options.clone_flags, 0, 0, 0);
+ RAW_CHECK(!(flags & (CLONE_SIGHAND | CLONE_THREAD | CLONE_VM)));
+ pid = syscall(__NR_clone, flags, 0, 0, 0);
} else
#endif
{
@@ -409,6 +427,21 @@ bool LaunchProcess(const std::vector<std::string>& argv,
@@ -440,6 +457,21 @@ bool LaunchProcess(const std::vector<std::string>& argv,
} else if (pid == 0) {
// Child process
@ -104,7 +110,7 @@ index 336633c..4b50a5d 100644
// DANGER: fork() rule: in the child, if you don't end up doing exec*(),
// you call _exit() instead of exit(). This is because _exit() does not
// call any previously-registered (in the parent) exit handlers, which
@@ -523,6 +556,40 @@ bool LaunchProcess(const std::vector<std::string>& argv,
@@ -555,6 +587,40 @@ bool LaunchProcess(const std::vector<std::string>& argv,
_exit(127);
} else {
// Parent process
@ -209,10 +215,10 @@ index bb84e62..bce0d18 100644
if (using_suid_sandbox_) {
diff --git a/content/zygote/zygote_main_linux.cc b/content/zygote/zygote_main_linux.cc
index dcea4c0..c06b4ae 100644
index 1f0e9f5..ade5aab 100644
--- a/content/zygote/zygote_main_linux.cc
+++ b/content/zygote/zygote_main_linux.cc
@@ -398,6 +398,13 @@ static bool EnterSandbox(sandbox::SetuidSandboxClient* setuid_sandbox,
@@ -420,6 +420,13 @@ static bool EnterSandbox(sandbox::SetuidSandboxClient* setuid_sandbox,
*has_started_new_init = true;
}

@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory.
{
dev = {
version = "30.0.1573.2";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-30.0.1573.2.tar.xz";
sha256 = "1pbph4jz0svaawk06zajq73x0xm73f9kdiflhad2709f4y23gzjz";
version = "30.0.1599.10";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-30.0.1599.10.tar.xz";
sha256 = "1h6wak2sy0cawsk63gdbg7ggq8lg7cahs1v8i0hvzwm9k6apwphs";
};
beta = {
version = "29.0.1547.32";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-29.0.1547.32.tar.xz";
sha256 = "14p5s1xn15mdrlf87hv4y9kczw5r8s461a56kkdzb5xzyq25ph8w";
version = "29.0.1547.57";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-29.0.1547.57.tar.xz";
sha256 = "0xl595fng7qzlc8vh73lslzchr6ayd4vlmz2mpqppb8pai520xxf";
};
stable = {
version = "28.0.1500.71";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-28.0.1500.71.tar.xz";
sha256 = "1w8hkbb17bwq9myhj7fig27pn50qlwdfrqs04xjvam4ah3w6qb0r";
version = "29.0.1547.57";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-29.0.1547.57.tar.xz";
sha256 = "0xl595fng7qzlc8vh73lslzchr6ayd4vlmz2mpqppb8pai520xxf";
};
}

@ -1,15 +1,16 @@
{ stdenv, fetchurl, unzip, xulrunner, makeWrapper }:
{ stdenv, fetchgit, unzip, xulrunner, makeWrapper }:
stdenv.mkDerivation {
name = "conkeror-1.0pre-20130401";
src = fetchurl {
url = http://repo.or.cz/w/conkeror.git/snapshot/0341e791c78653a2f5bbbff9a1dac04bf898dd65.zip;
sha256 = "11v7p40lcz6r5z0w54f8pk6hyn9mqjcw44fqszjyz25rkhx951ry";
name = "conkeror-1.0pre-20130817-1";
src = fetchgit {
url = git://repo.or.cz/conkeror.git;
rev = "refs/tags/debian-1.0--pre+git130817-1";
sha256 = "aef3c782ac98c031e7b99852f42538e225e151cd226cde3094823a5cae015fcf";
};
buildInputs = [ unzip makeWrapper ];
installPhase = ''
mkdir -p $out/libexec/conkeror
cp -r * $out/libexec/conkeror

@ -19,9 +19,9 @@ assert useSystemCairo -> cairo != null;
let optional = stdenv.lib.optional;
in rec {
firefoxVersion = "22.0";
firefoxVersion = "23.0";
xulVersion = "22.0"; # this attribute is used by other packages
xulVersion = "23.0"; # this attribute is used by other packages
src = fetchurl {
@ -31,7 +31,7 @@ in rec {
# Fall back to this url for versions not available at releases.mozilla.org.
"ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2"
];
sha1 = "db2d5b028b6ea95b5f006b46e153f50f7a52bf80";
sha1 = "31936d2ddb727640c96a3ae697bf145c42a2a20e";
};
commonConfigureFlags =

@ -107,7 +107,7 @@ stdenv.mkDerivation {
homepage = http://www.gnu.org/software/gnuzilla/;
licenses = [ "GPLv2+" "LGPLv2+" "MPLv1+" ];
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
platforms = stdenv.lib.platforms.gnu;
};

@ -12,6 +12,7 @@ let
gtksourceview pkgconfig which gettext makeWrapper
file libidn sqlite docutils libnotify libsoup vala
kbproto xproto scrnsaverproto libXScrnSaver dbus_glib
glib_networking
];
in
rec {
@ -34,7 +35,11 @@ rec {
shebangsHere = (doPatchShebangs ".");
shebangsInstalled = (doPatchShebangs "$out/bin");
wrapWK = (makeManyWrappers "$out/bin/*" "--set WEBKIT_IGNORE_SSL_ERRORS 1");
wrapWK = (makeManyWrappers "$out/bin/*"
''
--set WEBKIT_IGNORE_SSL_ERRORS 1 \
--prefix GIO_EXTRA_MODULES : "${args.glib_networking}/lib/gio/modules"
'');
name = "midori-${version}.${release}";
meta = {

@ -44,9 +44,9 @@ let
throw "no x86_64 debugging version available"
else rec {
# -> http://labs.adobe.com/downloads/flashplayer10.html
version = "11.2.202.273";
version = "11.2.202.297";
url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz";
sha256 = "0c15nszgg7zsv00n2qxha5zf8hmyf8i6byvhalnh5x46mr0rkbv9";
sha256 = "0jfigq56p6zp61pmc4jl12p8gv2jhfmim18j1b30iikw3iv26lh8";
}
else if stdenv.system == "i686-linux" then
if debug then {
@ -55,9 +55,9 @@ let
url = http://fpdownload.macromedia.com/pub/flashplayer/updaters/11/flashplayer_11_plugin_debug.i386.tar.gz;
sha256 = "1z3649lv9sh7jnwl8d90a293nkaswagj2ynhsr4xmwiy7c0jz2lk";
} else rec {
version = "11.2.202.273";
version = "11.2.202.297";
url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz";
sha256 = "1gb14xv7gbq57qg1hxmrnryaw6xgmkg54ql5hr7q6szplj65wvmd";
sha256 = "0mpj25b2ar7gccqmw5lffdzlr3yyfalphpgwnl18s05wy1fx484y";
}
else throw "Flash Player is not supported on this platform";

@ -12,17 +12,17 @@
enableOfficialBranding ? false
}:
let version = "17.0.7"; in
let version = "17.0.8"; in
stdenv.mkDerivation {
name = "thunderbird-${version}";
src = fetchurl {
url = "ftp://ftp.mozilla.org/pub/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.bz2";
sha1 = "d6dca3e1cc4293f2e15d6b35056bd8dc319014ee";
sha1 = "4bcbb33f0b3ea050e805723680b5669d80438812";
};
enableParallelBuilding = false;
enableParallelBuilding = true;
buildInputs =
[ pkgconfig perl python zip unzip bzip2 gtk dbus_glib alsaLib libIDL nspr

@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
homepage = http://www.gnucash.org/;
maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons stdenv.lib.maintainers.iElectric ];
maintainers = [ stdenv.lib.maintainers.simons stdenv.lib.maintainers.iElectric ];
platforms = stdenv.lib.platforms.gnu;
};
}

@ -36,9 +36,15 @@ stdenv.mkDerivation rec {
--with-system-pcre
--with-system-xz
--with-ICU
R_SHELL="${stdenv.shell}"
AR=$(type -p ar)
AWK=$(type -p gawk)
CC=$(type -p gcc)
CXX=$(type -p g++)
FC="${gfortran}/bin/gfortran" F77="${gfortran}/bin/gfortran"
JAVA_HOME="${jdk}"
LDFLAGS="-L${gfortran.gcc}/lib"
RANLIB=$(type -p ranlib)
R_SHELL="${stdenv.shell}"
)
echo "TCLLIBPATH=${tk}/lib" >>etc/Renviron.in
'';

@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
license = "LGPLv2+";
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
};
}

@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
license = "GPLv3+";
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
};
}

@ -15,11 +15,11 @@ cabal.mkDerivation (self: {
utf8String vector zlib
];
extraLibraries = [ curl ];
doCheck = false;
postInstall = ''
mkdir -p $out/etc/bash_completion.d
mv contrib/darcs_completion $out/etc/bash_completion.d/darcs
'';
doCheck = false;
meta = {
homepage = "http://darcs.net/";
description = "a distributed, interactive, smart revision control system";

@ -1,7 +1,7 @@
{ cabal, aeson, async, blazeBuilder, bloomfilter, bup
, caseInsensitive, clientsession, cryptoApi, curl, dataDefault
, dataenc, DAV, dbus, dlist, dns, editDistance
, extensibleExceptions, filepath, git, gnupg1, gnutls, hamlet
, extensibleExceptions, feed, filepath, git, gnupg1, gnutls, hamlet
, hinotify, hS3, hslogger, HTTP, httpConduit, httpTypes, HUnit
, IfElse, json, lsof, MissingH, MonadCatchIOTransformers
, monadControl, mtl, network, networkInfo, networkMulticast
@ -14,15 +14,15 @@
cabal.mkDerivation (self: {
pname = "git-annex";
version = "4.20130723";
sha256 = "1fc8kz4n2g4x9fzvdx4bz4d8gkbajdnqphldcglwl23g97vyrn6i";
version = "4.20130815";
sha256 = "0c4fvqmnvyrncmiz0dxwax2rnb4yrqw1y54q2zkqiifzrihcyi71";
isLibrary = false;
isExecutable = true;
buildDepends = [
aeson async blazeBuilder bloomfilter caseInsensitive clientsession
cryptoApi dataDefault dataenc DAV dbus dlist dns editDistance
extensibleExceptions filepath gnutls hamlet hinotify hS3 hslogger
HTTP httpConduit httpTypes HUnit IfElse json MissingH
extensibleExceptions feed filepath gnutls hamlet hinotify hS3
hslogger HTTP httpConduit httpTypes HUnit IfElse json MissingH
MonadCatchIOTransformers monadControl mtl network networkInfo
networkMulticast networkProtocolXmpp QuickCheck random regexTdfa
SafeSemaphore SHA stm text time transformers unixCompat utf8String

@ -140,6 +140,6 @@ stdenv.mkDerivation {
'';
platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons ];
maintainers = [ stdenv.lib.maintainers.simons ];
};
}

@ -1,18 +1,18 @@
{stdenv, fetchurl, qt, libXext, libX11}:
stdenv.mkDerivation rec {
name = "qgit-2.3";
name = "qgit-2.5";
meta =
{
license = "GPLv2";
homepage = "http://digilander.libero.it/mcostalba/";
homepage = "http://libre.tibirna.org/projects/qgit/wiki/QGit";
description = "Graphical front-end to Git";
inherit (qt.meta) platforms;
};
src = fetchurl
{
url = "mirror://sourceforge/qgit/${name}.tar.bz2";
sha256 = "a5fdd7e27fea376790eed787e22f4863eb9d2fe0217fd98b9fdbcf47a45bdc64";
url = "http://libre.tibirna.org/attachments/download/9/${name}.tar.gz";
sha256 = "25f1ca2860d840d87b9919d34fc3a1b05d4163671ed87d29c3e4a8a09e0b2499";
};
buildInputs = [qt libXext libX11];
configurePhase = "qmake PREFIX=$out";

@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
'';
license = "GPLv3+";
maintainers = with stdenv.lib.maintainers; [ eelco simons ludo ];
maintainers = with stdenv.lib.maintainers; [ eelco simons ];
platforms = stdenv.lib.platforms.all;
};
}

@ -21,13 +21,13 @@ assert compressionSupport -> neon.compressionSupport;
stdenv.mkDerivation rec {
version = "1.7.10";
version = "1.7.11";
name = "subversion-${version}";
src = fetchurl {
url = "mirror://apache/subversion//${name}.tar.bz2";
sha1 = "a4f3de0a13b034b0eab4d35512c6c91a4abcf4f5";
sha1 = "d82e187803043b74c072cd5a861ac02e4a027684";
};
buildInputs = [ zlib apr aprutil sqlite ]

@ -10,18 +10,13 @@
stdenv.mkDerivation rec {
name = "vlc-${version}";
version = "2.0.7";
version = "2.0.8";
src = fetchurl {
url = "http://download.videolan.org/pub/videolan/vlc/${version}/${name}.tar.xz";
sha256 = "052kfkpd0r2fwkyz97qhz2a368xqxa905qacrd1bkl2bkvahfc94";
sha256 = "00hpbm0v424yhfzqyxrvrvfjkbvf3f43yqk6h1qhwmnl8n1z4am0";
};
postPatch = /* flac 1.3.0 fix */ ''
sed -i -e 's:stream_decoder.h:FLAC/stream_decoder.h:' modules/codec/flac.c
sed -i -e 's:stream_encoder.h:FLAC/stream_encoder.h:' modules/codec/flac.c
'';
buildInputs =
[ xz bzip2 perl zlib a52dec libmad faad2 ffmpeg alsaLib libdvdnav libdvdnav.libdvdread
libbluray dbus fribidi qt4 libvorbis libtheora speex lua5 libgcrypt

@ -11,7 +11,7 @@ with stdenv.lib;
let
version = "4.2.14"; # changes ./guest-additions as well
version = "4.2.16"; # changes ./guest-additions as well
forEachModule = action: ''
for mod in \
@ -31,11 +31,13 @@ let
'';
# See https://github.com/NixOS/nixpkgs/issues/672 for details
extpackRevision = "86644";
extpackRevision = "86992";
extensionPack = requireFile rec {
name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}.vbox-extpack";
# Has to be base16 because it's used as an input to VBoxExtPackHelperApp!
sha256 = "5813cae72790de4893cadb839ffbd148290a44ec6913d901d84c9b3740ab1b1e";
# IMPORTANT: Hash must be base16 encoded because it's used as an input to
# VBoxExtPackHelperApp!
# Tip: nix-hash --type sha256 --to-base16 "hash from nix-prefetch-url"
sha256 = "8f88b1ebe69b770103e9151bebf6681c5e049eb5fac45ae8d52c43440aa0fa0d";
message = ''
In order to use the extension pack, you need to comply with the VirtualBox Personal Use
and Evaluation License (PUEL) by downloading the related binaries from:
@ -54,7 +56,7 @@ in stdenv.mkDerivation {
src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
sha256 = "038k65cdvr80da5nfan5r3rjrnxqab2fbf2pr2jq8g1gc4cxrxpq";
sha256 = "0nnl8qh8j4sk5zn78hrp6ccidmk332p7qg6pv5a0a4irs0b8j3zz";
};
buildInputs =

@ -12,7 +12,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
sha256 = "9f08f13bbd818fb3ef9916658542ad0999c35e11afc1f6e8ff0b944405486e8a";
sha256 = "1id0rb2sdnn34rvjl2v3hp3z9g9c4s4f4kl1lx0myjlqv8i0fayg";
};
KERN_DIR = "${kernelDev}/lib/modules/*/build";

@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
cripples Emacs and other quality pieces of software.
'';
maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons ];
maintainers = [ stdenv.lib.maintainers.simons ];
platforms = stdenv.lib.platforms.linux;
};
}

@ -0,0 +1,20 @@
{ stdenv, fetchurl, pkgconfig, libX11, libXft, libXmu }:
stdenv.mkDerivation rec {
name = "windowmaker-${version}";
version = "0.95.4";
src = fetchurl {
url = "http://windowmaker.org/pub/source/release/"
+ "WindowMaker-${version}.tar.gz";
sha256 = "0icffqnmkkjjf412m27wljbf9vxb2ry4aiyi2pqmzw3h0pq9gsib";
};
buildInputs = [ pkgconfig libX11 libXft libXmu ];
meta = {
homepage = "http://windowmaker.org/";
description = "NeXTSTEP-like window manager";
license = stdenv.lib.licenses.gpl2Plus;
};
}

@ -24,7 +24,7 @@ for source in $dbs; do
echo "selector $selector does not match any revision";
fi
else
echo "pulling branch $branch wasn't succesfull";
echo "pulling branch $branch wasn't successful";
fi;
if test -n "$done"; then
break;

@ -4,12 +4,12 @@
# Also generate an appropriate modules.dep.
{ stdenv, kernel, nukeReferences, rootModules
, module_init_tools, allowMissing ? false }:
, kmod, allowMissing ? false }:
stdenv.mkDerivation {
name = kernel.name + "-shrunk";
builder = ./modules-closure.sh;
buildInputs = [nukeReferences];
inherit kernel rootModules module_init_tools allowMissing;
inherit kernel rootModules kmod allowMissing;
allowedReferences = ["out"];
}

@ -2,24 +2,20 @@ source $stdenv/setup
set -o pipefail
PATH=$module_init_tools/sbin:$PATH
PATH=$kmod/sbin:$PATH
version=$(cd $kernel/lib/modules && ls -d *)
echo "kernel version is $version"
export MODULE_DIR=$(readlink -f $kernel/lib/modules/)
# Determine the dependencies of each root module.
closure=
for module in $rootModules; do
echo "root module: $module"
deps=$(modprobe --config /dev/null --set-version "$version" --show-depends "$module" \
deps=$(modprobe --config no-config -d $kernel --set-version "$version" --show-depends "$module" \
| sed 's/^insmod //') \
|| if test -z "$allowMissing"; then exit 1; fi
#for i in $deps; do echo $i; done
if [[ "$deps" != builtin* ]]
then
if [[ "$deps" != builtin* ]]; then
closure="$closure $deps"
fi
done
@ -41,4 +37,4 @@ for module in $closure; do
echo $target >> $out/insmod-list
done
MODULE_DIR=$out/lib/modules/ depmod -a $version
depmod -b $out -a $version

@ -40,13 +40,23 @@ rec {
} // args);
aggregate =
{ name, members, meta ? { } }:
{ name, constituents, meta ? { } }:
pkgs.runCommand name
{ inherit members meta;
{ inherit constituents meta;
preferLocalBuild = true;
_hydraAggregate = true;
}
''
echo $members > $out
mkdir -p $out/nix-support
touch $out/nix-support/hydra-build-products
echo $constituents > $out/nix-support/hydra-aggregate-constituents
# Propagate build failures.
for i in $constituents; do
if [ -e $i/nix-support/failed ]; then
touch $out/nix-support/failed
fi
done
'';
}

@ -1,5 +1,5 @@
{ pkgs
, kernel ? pkgs.linux
, kernel ? pkgs.linux_3_10
, img ? "bzImage"
, rootModules ?
[ "virtio_pci" "virtio_blk" "virtio_balloon" "ext4" "unix" "9p" "9pnet_virtio" ]

@ -1,11 +1,11 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "man-pages-3.50";
name = "man-pages-3.53";
src = fetchurl {
url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz";
sha256 = "04fn7zzi75y79rkg57nkync3hf14m8708iw33s03f0x8ays6fajz";
sha256 = "0kzkjfrw65f7bv6laz3jism4yqajmfh3vdq2jb5d6gyp4n14sxnl";
};
preBuild =

@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
license = "GPLv3+";
platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
};
}

@ -0,0 +1,22 @@
{ stdenv, fetchurl, intltool, pkgconfig, iconnamingutils, imagemagick, librsvg }:
stdenv.mkDerivation rec {
name = "tango-icon-theme-0.8.90";
src = fetchurl {
url = "http://tango.freedesktop.org/releases/${name}.tar.gz";
sha256 = "13n8cpml71w6zfm2jz5fa7r1z18qlzk4gv07r6n1in2p5l1xi63f";
};
patches = [ ./rsvg-convert.patch ];
buildInputs = [ intltool pkgconfig iconnamingutils imagemagick librsvg ];
configureFlags = "--enable-png-creation";
meta = {
description = "A basic set of icons";
homepage = http://tango.freedesktop.org/Tango_Icon_Library;
platforms = stdenv.lib.platforms.linux;
};
}

@ -0,0 +1,34 @@
Based on https://build.opensuse.org/package/view_file?file=tango-icon-theme-rsvg-2_35_2.patch&package=tango-icon-theme&project=openSUSE%3A12.2&rev=faf71bf8278d5df6ec8a31726e5b8542
diff -ru -x '*~' tango-icon-theme-0.8.90/configure tango-icon-theme-0.8.90-new/configure
--- tango-icon-theme-0.8.90/configure 2009-02-26 04:08:00.000000000 +0100
+++ tango-icon-theme-0.8.90-new/configure 2013-08-15 17:54:24.167065399 +0200
@@ -6554,7 +6554,7 @@
enable_large_bitmaps=no
fi
if test "x$enable_large_bitmaps" = "xyes"; then
- svgconvert_prog="rsvg"
+ svgconvert_prog="rsvg-convert"
else
svgconvert_prog="ksvgtopng"
fi
diff -ru -x '*~' tango-icon-theme-0.8.90/svg2png.sh.in tango-icon-theme-0.8.90-new/svg2png.sh.in
--- tango-icon-theme-0.8.90/svg2png.sh.in 2007-02-16 21:04:29.000000000 +0100
+++ tango-icon-theme-0.8.90-new/svg2png.sh.in 2013-08-15 17:54:08.275084837 +0200
@@ -9,12 +9,14 @@
ICONFILE=`basename ${3}`
ICONNAME=`echo ${ICONFILE} | sed -e "s/.svg//"`
-if test `basename $SVGCONVERT` = "rsvg"; then
+if test `basename $SVGCONVERT` = "rsvg-convert"; then
OPTIONS="-w ${1} -h ${1}"
+ OUTPUT="-o"
else
OPTIONS="${1} ${1}"
+ OUTPUT=""
fi
echo "${SVGCONVERT} ${OPTIONS} ${3} ${2}/${ICONNAME}.png"
-${SVGCONVERT} ${OPTIONS} ${3} ${2}/${ICONNAME}.png
+${SVGCONVERT} ${OPTIONS} ${3} ${OUTPUT} ${2}/${ICONNAME}.png

@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
license = "LGPLv2+";
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
};
}

@ -1,19 +0,0 @@
commit 48b92b74bc6fd270c33a726257e2879203cf5064
Author: Yury G. Kudryashov [diff odt] <urkud.urkud@gmail.com>
Date: Wed Mar 21 00:47:43 2012 +0400
Include SMOKE_QTCORE_INCLUDE_DIR
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 48020a1..2263a73 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -14,7 +14,7 @@ find_package(Smoke COMPONENTS QtCore QtGui QtNetwork Qt3Support QtDeclarative Qt
QtOpenGl QtScript QtSql QtSvg QtTest QtUiTools QtWebKit QtXml QtXmlPatterns
Phonon Qwt QSci QImageBlitz)
-include_directories(${SMOKE_INCLUDE_DIR} ${QT_INCLUDES} ${CMAKE_CURRENT_SOURCE_DIR}/src)
+include_directories(${SMOKE_INCLUDE_DIR} ${SMOKE_QTCORE_INCLUDE_DIR} ${QT_INCLUDES} ${CMAKE_CURRENT_SOURCE_DIR}/src)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${SMOKE_CMAKE_MODULE_DIR})
include(MacroOptionalFindPackage)
include(MacroOptionalAddBindings)

@ -1,118 +0,0 @@
commit e702abfd16f610e773fb0310d8c6512991794c63
Author: Yury G. Kudryashov [diff odt] <urkud.urkud@gmail.com>
Date: Wed Mar 21 00:50:02 2012 +0400
Rewrite FindPerlMore.cmake
* Ask perl for expanded paths
* Move execute_process to a macro
* Add PERL_*_INSTALL_DIR variables that point to CMAKE_INSTALL_PREFIX
The last change makes it easy to install a file into CMAKE_INSTALL_PREFIX
instead of perl install prefix.Add debug message
diff --git a/cmake/FindPerlMore.cmake b/cmake/FindPerlMore.cmake
index 6412a47..cc8faf8 100644
--- a/cmake/FindPerlMore.cmake
+++ b/cmake/FindPerlMore.cmake
@@ -5,54 +5,52 @@
#
# PERL_INCLUDE_PATH = path to where perl.h can be found
-if(PERL_INCLUDE_PATH)
- # Already in cache, be silent
- SET(PERL_HEADERS_FOUND TRUE)
-endif (PERL_INCLUDE_PATH)
-
-IF(PERL_EXECUTABLE)
- EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{archlib}"
- OUTPUT_VARIABLE PERL_ARCH_LIB_DIR)
-
- EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{sitearch}"
- OUTPUT_VARIABLE PERL_SITE_ARCH_DIR)
-
- EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{vendorarch}"
- OUTPUT_VARIABLE PERL_VENDOR_ARCH_DIR)
-
- EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{sitelib}"
- OUTPUT_VARIABLE PERL_SITE_LIB_DIR)
-
- EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{vendorlib}"
- OUTPUT_VARIABLE PERL_VENDOR_LIB_DIR)
-
- EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{version}"
- OUTPUT_VARIABLE PERL_VERSION)
-
- EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{ccflags}"
- OUTPUT_VARIABLE PERL_CXX_FLAGS)
-
- EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{ccdlflags}"
- OUTPUT_VARIABLE PERL_CCDL_FLAGS)
-
- EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -MFile::Spec -e "print '-L' . File::Spec->catdir(\$Config{archlibexp}, 'CORE')"
- OUTPUT_VARIABLE PERL_EXTRA_LIB_PATHS)
-
- EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{perllibs}"
- OUTPUT_VARIABLE PERL_LIBS)
-
- FIND_PATH(PERL_INCLUDE_PATH
- NAMES perl.h
- PATHS ${PERL_ARCH_LIB_DIR}/CORE
- )
-
- if(PERL_INCLUDE_PATH)
- SET(PERL_HEADERS_FOUND TRUE)
- endif (PERL_INCLUDE_PATH)
-
- MARK_AS_ADVANCED(
- PERL_INCLUDE_PATH
- )
+if(FIND_PERLMORE_REQUIRED)
+ find_package(Perl REQUIRED)
+else()
+ find_package(Perl)
+endif()
+
+macro(_perl_get_config_var name output)
+ execute_process(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{${name}}"
+ OUTPUT_VARIABLE PERL_${output})
+endmacro()
+
+macro(_perl_get_config_dir name)
+ string(TOLOWER ${name} _tmp)
+ string(REPLACE "_" "" _tmp ${_tmp})
+ _perl_get_config_var(${_tmp}exp ${name}_DIR)
+ string(REPLACE "${PERL_ROOT_DIR}" "${CMAKE_INSTALL_PREFIX}" PERL_${name}_INSTALL_DIR "${PERL_${name}_DIR}")
+endmacro()
+
+if(PERL_EXECUTABLE)
+ _perl_get_config_var(prefixexp ROOT_DIR)
+
+ _perl_get_config_dir(ARCH_LIB)
+ _perl_get_config_dir(SITE_ARCH)
+ _perl_get_config_dir(VENDOR_ARCH)
+ _perl_get_config_dir(SITE_LIB)
+ _perl_get_config_dir(VENDOR_LIB)
+
+ _perl_get_config_var(version VERSION)
+ _perl_get_config_var(ccflags CXX_FLAGS)
+ _perl_get_config_var(ccdlflags CCDL_FLAGS)
+
+ EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -MFile::Spec -e "print '-L' . File::Spec->catdir(\$Config{archlibexp}, 'CORE')"
+ OUTPUT_VARIABLE PERL_EXTRA_LIB_PATHS)
+
+ _perl_get_config_var(perllibs LIBS)
+
+ FIND_PATH(PERL_INCLUDE_PATH
+ NAMES perl.h
+ HINTS ${PERL_ARCH_LIB_DIR}/CORE
+ )
+
+ if(PERL_INCLUDE_PATH)
+ SET(PERL_HEADERS_FOUND TRUE)
+ endif (PERL_INCLUDE_PATH)
+
+ MARK_AS_ADVANCED(PERL_INCLUDE_PATH)
ENDIF(PERL_EXECUTABLE)
IF(PERL_HEADERS_FOUND)

@ -1,454 +0,0 @@
commit c78779fcaff587818ee37bec3ded5e0617625b95
Author: Yury G. Kudryashov [diff odt] <urkud.urkud@gmail.com>
Date: Wed Mar 21 01:01:27 2012 +0400
Install to PERL_SITE_ARCH_INSTALL_DIR
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 48020a1..16188df 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -36,7 +36,6 @@ macro_log_feature(Qwt5_Qt4_FOUND "Qwt5 for Qt4" "Qwt5 libraries for Qt4" "http:/
add_definitions(-DDEBUG)
include (FindPerlMore)
-set(CUSTOM_PERL_SITE_ARCH_DIR ${PERL_SITE_ARCH_DIR} CACHE DIR "Custom installation directory for perl binary extension")
# the RPATH to be used when installing, but only if it's not a system directory
GET_FILENAME_COMPONENT(SMOKE_LIB_DIR ${SMOKE_BASE_LIBRARY} PATH)
diff --git a/INSTALL b/INSTALL
index d19f97e..97cc9f1 100644
--- a/INSTALL
+++ b/INSTALL
@@ -36,7 +36,6 @@ ccmake step.
The standard options are:
CMAKE_BUILD_TYPE = The type of build ('Debug', 'Release', etc)
CMAKE_INSTALL_PREFIX = The location for any executables ( e.g. puic4 )
- CUSTOM_PERL_SITE_ARCH_DIR = The location for the perl modules themselves.
QT_QMAKE_EXECUTABLE = The path to your system's qmake.
cmake looks in your path for a qmake executable. If it can't find it, it will
diff --git a/Makefile.PL b/Makefile.PL
index df9a13c..31dd912 100755
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -3,7 +3,7 @@
use strict;
use Config;
-my ($prefix, $sitearch, $qmake) = ($Config{prefix}, $Config{sitearch});
+my ($prefix, $qmake) = ($Config{prefix});
my @cmakeArgs;
foreach my $arg (@ARGV) {
my $key = $arg;
@@ -12,7 +12,6 @@ foreach my $arg (@ARGV) {
$value =~ s/^[^=]*=//g;
if ($key eq 'PREFIX' or $key eq 'INSTALL_BASE') {
$prefix = $value;
- $sitearch = "$prefix";
}
elsif ($key eq 'QMAKE') {
$qmake = $value;
@@ -34,7 +33,6 @@ if($^O =~ /win/i){
}
push @args, "-DCMAKE_INSTALL_PREFIX=$prefix" if $prefix;
push @args, "-DQT_QMAKE_EXECUTABLE=$qmake" if $qmake;
-push @args, "-DCUSTOM_PERL_SITE_ARCH_DIR=$sitearch" if $sitearch;
push @args, @cmakeArgs;
if ( eval "require Alien::SmokeQt" ) {
diff --git a/phonon/lib/CMakeLists.txt b/phonon/lib/CMakeLists.txt
index f2857c3..78674ea 100644
--- a/phonon/lib/CMakeLists.txt
+++ b/phonon/lib/CMakeLists.txt
@@ -1,2 +1,2 @@
add_custom_target(phononpm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Phonon.pm ${CMAKE_BINARY_DIR}/blib/lib/Phonon.pm)
-install(FILES Phonon.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
+install(FILES Phonon.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
diff --git a/phonon/src/CMakeLists.txt b/phonon/src/CMakeLists.txt
index a04db11..9933dfd 100644
--- a/phonon/src/CMakeLists.txt
+++ b/phonon/src/CMakeLists.txt
@@ -37,4 +37,4 @@ target_link_libraries(perl_phonon
set_target_properties(perl_phonon PROPERTIES OUTPUT_NAME ${libraryName})
set_target_properties(perl_phonon PROPERTIES PREFIX "")
-install(TARGETS perl_phonon DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
+install(TARGETS perl_phonon DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
diff --git a/qimageblitz/lib/CMakeLists.txt b/qimageblitz/lib/CMakeLists.txt
index 0809ba8..22fc1c0 100644
--- a/qimageblitz/lib/CMakeLists.txt
+++ b/qimageblitz/lib/CMakeLists.txt
@@ -1,2 +1,2 @@
add_custom_target(qimageblitzpm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QImageBlitz.pm ${CMAKE_BINARY_DIR}/blib/lib/QImageBlitz.pm)
-install(FILES QImageBlitz.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
+install(FILES QImageBlitz.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
diff --git a/qimageblitz/src/CMakeLists.txt b/qimageblitz/src/CMakeLists.txt
index 02ef494..4f02c1b 100644
--- a/qimageblitz/src/CMakeLists.txt
+++ b/qimageblitz/src/CMakeLists.txt
@@ -37,4 +37,4 @@ target_link_libraries(perl_qimageblitz
set_target_properties(perl_qimageblitz PROPERTIES OUTPUT_NAME ${libraryName})
set_target_properties(perl_qimageblitz PROPERTIES PREFIX "")
-install(TARGETS perl_qimageblitz DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
+install(TARGETS perl_qimageblitz DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
diff --git a/qsci/lib/CMakeLists.txt b/qsci/lib/CMakeLists.txt
index 63b451f..d22869f 100644
--- a/qsci/lib/CMakeLists.txt
+++ b/qsci/lib/CMakeLists.txt
@@ -1,2 +1,2 @@
add_custom_target(qscipm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Qsci.pm ${CMAKE_BINARY_DIR}/blib/lib/Qsci.pm)
-install(FILES Qsci.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
+install(FILES Qsci.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
diff --git a/qsci/src/CMakeLists.txt b/qsci/src/CMakeLists.txt
index 8c1659b..bdcb5a8 100644
--- a/qsci/src/CMakeLists.txt
+++ b/qsci/src/CMakeLists.txt
@@ -37,4 +37,4 @@ target_link_libraries(perl_qsci
set_target_properties(perl_qsci PROPERTIES OUTPUT_NAME ${libraryName})
set_target_properties(perl_qsci PROPERTIES PREFIX "")
-install(TARGETS perl_qsci DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
+install(TARGETS perl_qsci DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
diff --git a/qt3support/lib/CMakeLists.txt b/qt3support/lib/CMakeLists.txt
index 2f04cfa..dda5afa 100644
--- a/qt3support/lib/CMakeLists.txt
+++ b/qt3support/lib/CMakeLists.txt
@@ -1,2 +1,2 @@
add_custom_target(qt3support4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Qt3Support4.pm ${CMAKE_BINARY_DIR}/blib/lib/Qt3Support4.pm)
-install(FILES Qt3Support4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
+install(FILES Qt3Support4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
diff --git a/qt3support/src/CMakeLists.txt b/qt3support/src/CMakeLists.txt
index b24532e..bed99aa 100644
--- a/qt3support/src/CMakeLists.txt
+++ b/qt3support/src/CMakeLists.txt
@@ -37,4 +37,4 @@ target_link_libraries(perl_qt3support4
set_target_properties(perl_qt3support4 PROPERTIES OUTPUT_NAME ${libraryName})
set_target_properties(perl_qt3support4 PROPERTIES PREFIX "")
-install(TARGETS perl_qt3support4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
+install(TARGETS perl_qt3support4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
diff --git a/qtcore/lib/CMakeLists.txt b/qtcore/lib/CMakeLists.txt
index ef07d10..1d78196 100644
--- a/qtcore/lib/CMakeLists.txt
+++ b/qtcore/lib/CMakeLists.txt
@@ -1,3 +1,3 @@
add_subdirectory( QtCore4 )
add_custom_target(perlqtcore4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtCore4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtCore4.pm)
-install( FILES QtCore4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR} )
+install( FILES QtCore4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR} )
diff --git a/qtcore/lib/QtCore4/CMakeLists.txt b/qtcore/lib/QtCore4/CMakeLists.txt
index 44c7893..06aef20 100644
--- a/qtcore/lib/QtCore4/CMakeLists.txt
+++ b/qtcore/lib/QtCore4/CMakeLists.txt
@@ -1,3 +1,3 @@
-install( FILES signals.pm slots.pm isa.pm debug.pm classinfo.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/QtCore4 )
+install( FILES signals.pm slots.pm isa.pm debug.pm classinfo.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/QtCore4 )
add_custom_target(perlqt4pmlibmkdir ALL ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/blib/lib/QtCore4)
add_custom_target(perlqt4pmlibsubdir ALL ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_BINARY_DIR}/blib/lib/QtCore4)
diff --git a/qtcore/src/CMakeLists.txt b/qtcore/src/CMakeLists.txt
index 3910636..b5e645c 100644
--- a/qtcore/src/CMakeLists.txt
+++ b/qtcore/src/CMakeLists.txt
@@ -53,10 +53,10 @@ target_link_libraries(perlqtcore4
set_target_properties(perlqtcore4 PROPERTIES
OUTPUT_NAME ${libraryName}
PREFIX ""
- INSTALL_NAME_DIR ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/
+ INSTALL_NAME_DIR ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/
)
-install(TARGETS perlqtcore4 EXPORT PerlQtExport DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
+install(TARGETS perlqtcore4 EXPORT PerlQtExport DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
install(FILES binding.h handlers.h listclass_macros.h marshall_basetypes.h marshall_complex.h
marshall.h marshall_macros.h marshall_primitives.h marshall_types.h perlqt.h ppport.h
QtCore4.h smokehelp.h smokeperl.h util.h
diff --git a/qtdbus/lib/CMakeLists.txt b/qtdbus/lib/CMakeLists.txt
index d03a672..a60d603 100644
--- a/qtdbus/lib/CMakeLists.txt
+++ b/qtdbus/lib/CMakeLists.txt
@@ -1,2 +1,2 @@
add_custom_target(qtdbus4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtDBus4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtDBus4.pm)
-install(FILES QtDBus4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
+install(FILES QtDBus4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
diff --git a/qtdbus/src/CMakeLists.txt b/qtdbus/src/CMakeLists.txt
index 9aa05a0..5786ea2 100644
--- a/qtdbus/src/CMakeLists.txt
+++ b/qtdbus/src/CMakeLists.txt
@@ -31,4 +31,4 @@ target_link_libraries(perl_qtdbus4
set_target_properties(perl_qtdbus4 PROPERTIES OUTPUT_NAME "QtDBus4")
set_target_properties(perl_qtdbus4 PROPERTIES PREFIX "")
-install(TARGETS perl_qtdbus4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/QtDBus4/)
+install(TARGETS perl_qtdbus4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/QtDBus4/)
diff --git a/qtdeclarative/lib/CMakeLists.txt b/qtdeclarative/lib/CMakeLists.txt
index e8d2847..b458858 100644
--- a/qtdeclarative/lib/CMakeLists.txt
+++ b/qtdeclarative/lib/CMakeLists.txt
@@ -1,2 +1,2 @@
add_custom_target(qtdeclarative4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtDeclarative4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtDeclarative4.pm)
-install(FILES QtDeclarative4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
+install(FILES QtDeclarative4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
diff --git a/qtdeclarative/src/CMakeLists.txt b/qtdeclarative/src/CMakeLists.txt
index 1662167..ec2a8fc 100644
--- a/qtdeclarative/src/CMakeLists.txt
+++ b/qtdeclarative/src/CMakeLists.txt
@@ -37,4 +37,4 @@ target_link_libraries(perl_qtdeclarative4
set_target_properties(perl_qtdeclarative4 PROPERTIES OUTPUT_NAME ${libraryName})
set_target_properties(perl_qtdeclarative4 PROPERTIES PREFIX "")
-install(TARGETS perl_qtdeclarative4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
+install(TARGETS perl_qtdeclarative4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
diff --git a/qtgui/lib/CMakeLists.txt b/qtgui/lib/CMakeLists.txt
index 82626c8..e62a4ac 100644
--- a/qtgui/lib/CMakeLists.txt
+++ b/qtgui/lib/CMakeLists.txt
@@ -1,2 +1,2 @@
add_custom_target(qtgui4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtGui4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtGui4.pm)
-install(FILES QtGui4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
+install(FILES QtGui4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
diff --git a/qtgui/src/CMakeLists.txt b/qtgui/src/CMakeLists.txt
index 4cc8b36..44041b6 100644
--- a/qtgui/src/CMakeLists.txt
+++ b/qtgui/src/CMakeLists.txt
@@ -38,4 +38,4 @@ target_link_libraries(perl_qtgui4
set_target_properties(perl_qtgui4 PROPERTIES OUTPUT_NAME ${libraryName})
set_target_properties(perl_qtgui4 PROPERTIES PREFIX "")
-install(TARGETS perl_qtgui4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
+install(TARGETS perl_qtgui4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
diff --git a/qthelp/lib/CMakeLists.txt b/qthelp/lib/CMakeLists.txt
index dcf5ebe..da817d4 100644
--- a/qthelp/lib/CMakeLists.txt
+++ b/qthelp/lib/CMakeLists.txt
@@ -1,2 +1,2 @@
add_custom_target(qthelp4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtHelp4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtHelp4.pm)
-install(FILES QtHelp4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
+install(FILES QtHelp4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
diff --git a/qthelp/src/CMakeLists.txt b/qthelp/src/CMakeLists.txt
index c00359d..689cb29 100644
--- a/qthelp/src/CMakeLists.txt
+++ b/qthelp/src/CMakeLists.txt
@@ -37,4 +37,4 @@ target_link_libraries(perl_qthelp4
set_target_properties(perl_qthelp4 PROPERTIES OUTPUT_NAME ${libraryName})
set_target_properties(perl_qthelp4 PROPERTIES PREFIX "")
-install(TARGETS perl_qthelp4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
+install(TARGETS perl_qthelp4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
diff --git a/qtmultimedia/lib/CMakeLists.txt b/qtmultimedia/lib/CMakeLists.txt
index e55f697..5384539 100644
--- a/qtmultimedia/lib/CMakeLists.txt
+++ b/qtmultimedia/lib/CMakeLists.txt
@@ -1,2 +1,2 @@
add_custom_target(qtmultimedia4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtMultimedia4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtMultimedia4.pm)
-install(FILES QtMultimedia4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
+install(FILES QtMultimedia4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
diff --git a/qtmultimedia/src/CMakeLists.txt b/qtmultimedia/src/CMakeLists.txt
index 0728aba..df8e552 100644
--- a/qtmultimedia/src/CMakeLists.txt
+++ b/qtmultimedia/src/CMakeLists.txt
@@ -37,4 +37,4 @@ target_link_libraries(perl_qtmultimedia4
set_target_properties(perl_qtmultimedia4 PROPERTIES OUTPUT_NAME ${libraryName})
set_target_properties(perl_qtmultimedia4 PROPERTIES PREFIX "")
-install(TARGETS perl_qtmultimedia4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
+install(TARGETS perl_qtmultimedia4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
diff --git a/qtnetwork/lib/CMakeLists.txt b/qtnetwork/lib/CMakeLists.txt
index 12cd5dd..d1fb0e6 100644
--- a/qtnetwork/lib/CMakeLists.txt
+++ b/qtnetwork/lib/CMakeLists.txt
@@ -1,2 +1,2 @@
add_custom_target(qtnetwork4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtNetwork4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtNetwork4.pm)
-install(FILES QtNetwork4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
+install(FILES QtNetwork4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
diff --git a/qtnetwork/src/CMakeLists.txt b/qtnetwork/src/CMakeLists.txt
index caf8327..0994d57 100644
--- a/qtnetwork/src/CMakeLists.txt
+++ b/qtnetwork/src/CMakeLists.txt
@@ -39,4 +39,4 @@ target_link_libraries(perl_qtnetwork4
set_target_properties(perl_qtnetwork4 PROPERTIES OUTPUT_NAME ${libraryName})
set_target_properties(perl_qtnetwork4 PROPERTIES PREFIX "")
-install(TARGETS perl_qtnetwork4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
+install(TARGETS perl_qtnetwork4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
diff --git a/qtopengl/lib/CMakeLists.txt b/qtopengl/lib/CMakeLists.txt
index f3b5640..d8dc9e4 100644
--- a/qtopengl/lib/CMakeLists.txt
+++ b/qtopengl/lib/CMakeLists.txt
@@ -1,2 +1,2 @@
add_custom_target(qtopengl4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtOpenGL4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtOpenGL4.pm)
-install(FILES QtOpenGL4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
+install(FILES QtOpenGL4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
diff --git a/qtopengl/src/CMakeLists.txt b/qtopengl/src/CMakeLists.txt
index 20493a9..777af89 100644
--- a/qtopengl/src/CMakeLists.txt
+++ b/qtopengl/src/CMakeLists.txt
@@ -37,4 +37,4 @@ target_link_libraries(perl_qtopengl4
set_target_properties(perl_qtopengl4 PROPERTIES OUTPUT_NAME ${libraryName})
set_target_properties(perl_qtopengl4 PROPERTIES PREFIX "")
-install(TARGETS perl_qtopengl4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
+install(TARGETS perl_qtopengl4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
diff --git a/qtscript/lib/CMakeLists.txt b/qtscript/lib/CMakeLists.txt
index d21dbe5..320ff93 100644
--- a/qtscript/lib/CMakeLists.txt
+++ b/qtscript/lib/CMakeLists.txt
@@ -1,2 +1,2 @@
add_custom_target(qtscript4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtScript4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtScript4.pm)
-install(FILES QtScript4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
+install(FILES QtScript4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
diff --git a/qtscript/src/CMakeLists.txt b/qtscript/src/CMakeLists.txt
index dd395be..6ff47d8 100644
--- a/qtscript/src/CMakeLists.txt
+++ b/qtscript/src/CMakeLists.txt
@@ -37,4 +37,4 @@ target_link_libraries(perl_qtscript4
set_target_properties(perl_qtscript4 PROPERTIES OUTPUT_NAME ${libraryName})
set_target_properties(perl_qtscript4 PROPERTIES PREFIX "")
-install(TARGETS perl_qtscript4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
+install(TARGETS perl_qtscript4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
diff --git a/qtsql/lib/CMakeLists.txt b/qtsql/lib/CMakeLists.txt
index 59336d3..d9dd4d5 100644
--- a/qtsql/lib/CMakeLists.txt
+++ b/qtsql/lib/CMakeLists.txt
@@ -1,2 +1,2 @@
add_custom_target(qtsql4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtSql4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtSql4.pm)
-install(FILES QtSql4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
+install(FILES QtSql4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
diff --git a/qtsql/src/CMakeLists.txt b/qtsql/src/CMakeLists.txt
index 3ec2028..59096ba 100644
--- a/qtsql/src/CMakeLists.txt
+++ b/qtsql/src/CMakeLists.txt
@@ -37,4 +37,4 @@ target_link_libraries(perl_qtsql4
set_target_properties(perl_qtsql4 PROPERTIES OUTPUT_NAME ${libraryName})
set_target_properties(perl_qtsql4 PROPERTIES PREFIX "")
-install(TARGETS perl_qtsql4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
+install(TARGETS perl_qtsql4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
diff --git a/qtsvg/lib/CMakeLists.txt b/qtsvg/lib/CMakeLists.txt
index 33f6deb..bf1dc1f 100644
--- a/qtsvg/lib/CMakeLists.txt
+++ b/qtsvg/lib/CMakeLists.txt
@@ -1,2 +1,2 @@
add_custom_target(qtsvg4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtSvg4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtSvg4.pm)
-install(FILES QtSvg4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
+install(FILES QtSvg4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
diff --git a/qtsvg/src/CMakeLists.txt b/qtsvg/src/CMakeLists.txt
index 11eccd2..449bf0f 100644
--- a/qtsvg/src/CMakeLists.txt
+++ b/qtsvg/src/CMakeLists.txt
@@ -37,4 +37,4 @@ target_link_libraries(perl_qtsvg4
set_target_properties(perl_qtsvg4 PROPERTIES OUTPUT_NAME ${libraryName})
set_target_properties(perl_qtsvg4 PROPERTIES PREFIX "")
-install(TARGETS perl_qtsvg4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
+install(TARGETS perl_qtsvg4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
diff --git a/qttest/lib/CMakeLists.txt b/qttest/lib/CMakeLists.txt
index 3bfa78c..5a8d8da 100644
--- a/qttest/lib/CMakeLists.txt
+++ b/qttest/lib/CMakeLists.txt
@@ -1,2 +1,2 @@
add_custom_target(qttest4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtTest4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtTest4.pm)
-install(FILES QtTest4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
+install(FILES QtTest4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
diff --git a/qttest/src/CMakeLists.txt b/qttest/src/CMakeLists.txt
index 5492e55..d4662b1 100644
--- a/qttest/src/CMakeLists.txt
+++ b/qttest/src/CMakeLists.txt
@@ -38,4 +38,4 @@ target_link_libraries(perl_qttest4
set_target_properties(perl_qttest4 PROPERTIES OUTPUT_NAME ${libraryName})
set_target_properties(perl_qttest4 PROPERTIES PREFIX "")
-install(TARGETS perl_qttest4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
+install(TARGETS perl_qttest4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
diff --git a/qtuitools/lib/CMakeLists.txt b/qtuitools/lib/CMakeLists.txt
index 119e40e..3a5f472 100644
--- a/qtuitools/lib/CMakeLists.txt
+++ b/qtuitools/lib/CMakeLists.txt
@@ -1,2 +1,2 @@
add_custom_target(qtuitools4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtUiTools4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtUiTools4.pm)
-install(FILES QtUiTools4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
+install(FILES QtUiTools4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
diff --git a/qtuitools/src/CMakeLists.txt b/qtuitools/src/CMakeLists.txt
index a8ae4a2..ecc079f 100644
--- a/qtuitools/src/CMakeLists.txt
+++ b/qtuitools/src/CMakeLists.txt
@@ -37,4 +37,4 @@ target_link_libraries(perl_qtuitools4
set_target_properties(perl_qtuitools4 PROPERTIES OUTPUT_NAME ${libraryName})
set_target_properties(perl_qtuitools4 PROPERTIES PREFIX "")
-install(TARGETS perl_qtuitools4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
+install(TARGETS perl_qtuitools4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
diff --git a/qtwebkit/lib/CMakeLists.txt b/qtwebkit/lib/CMakeLists.txt
index a02f7ee..3846227 100644
--- a/qtwebkit/lib/CMakeLists.txt
+++ b/qtwebkit/lib/CMakeLists.txt
@@ -1,2 +1,2 @@
add_custom_target(qtwebkit4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtWebKit4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtWebKit4.pm)
-install(FILES QtWebKit4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
+install(FILES QtWebKit4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
diff --git a/qtwebkit/src/CMakeLists.txt b/qtwebkit/src/CMakeLists.txt
index a6e00f8..dbebc44 100644
--- a/qtwebkit/src/CMakeLists.txt
+++ b/qtwebkit/src/CMakeLists.txt
@@ -37,4 +37,4 @@ target_link_libraries(perl_qtwebkit4
set_target_properties(perl_qtwebkit4 PROPERTIES OUTPUT_NAME ${libraryName})
set_target_properties(perl_qtwebkit4 PROPERTIES PREFIX "")
-install(TARGETS perl_qtwebkit4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
+install(TARGETS perl_qtwebkit4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
diff --git a/qtxml/lib/CMakeLists.txt b/qtxml/lib/CMakeLists.txt
index 5505bc4..7db743c 100644
--- a/qtxml/lib/CMakeLists.txt
+++ b/qtxml/lib/CMakeLists.txt
@@ -1,2 +1,2 @@
add_custom_target(qtxml4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtXml4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtXml4.pm)
-install(FILES QtXml4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
+install(FILES QtXml4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
diff --git a/qtxml/src/CMakeLists.txt b/qtxml/src/CMakeLists.txt
index 018508c..a351609 100644
--- a/qtxml/src/CMakeLists.txt
+++ b/qtxml/src/CMakeLists.txt
@@ -37,4 +37,4 @@ target_link_libraries(perl_qtxml4
set_target_properties(perl_qtxml4 PROPERTIES OUTPUT_NAME ${libraryName})
set_target_properties(perl_qtxml4 PROPERTIES PREFIX "")
-install(TARGETS perl_qtxml4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
+install(TARGETS perl_qtxml4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
diff --git a/qtxmlpatterns/lib/CMakeLists.txt b/qtxmlpatterns/lib/CMakeLists.txt
index a35f3df..3d86103 100644
--- a/qtxmlpatterns/lib/CMakeLists.txt
+++ b/qtxmlpatterns/lib/CMakeLists.txt
@@ -1,2 +1,2 @@
add_custom_target(qtxmlpatterns4pm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/QtXmlPatterns4.pm ${CMAKE_BINARY_DIR}/blib/lib/QtXmlPatterns4.pm)
-install(FILES QtXmlPatterns4.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
+install(FILES QtXmlPatterns4.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
diff --git a/qtxmlpatterns/src/CMakeLists.txt b/qtxmlpatterns/src/CMakeLists.txt
index 9970a98..563e922 100644
--- a/qtxmlpatterns/src/CMakeLists.txt
+++ b/qtxmlpatterns/src/CMakeLists.txt
@@ -37,4 +37,4 @@ target_link_libraries(perl_qtxmlpatterns4
set_target_properties(perl_qtxmlpatterns4 PROPERTIES OUTPUT_NAME ${libraryName})
set_target_properties(perl_qtxmlpatterns4 PROPERTIES PREFIX "")
-install(TARGETS perl_qtxmlpatterns4 DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
+install(TARGETS perl_qtxmlpatterns4 DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)
diff --git a/qwt/lib/CMakeLists.txt b/qwt/lib/CMakeLists.txt
index 0013c4d..d67ffbf 100644
--- a/qwt/lib/CMakeLists.txt
+++ b/qwt/lib/CMakeLists.txt
@@ -1,2 +1,2 @@
add_custom_target(qwtpm ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Qwt.pm ${CMAKE_BINARY_DIR}/blib/lib/Qwt.pm)
-install(FILES Qwt.pm DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/)
+install(FILES Qwt.pm DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/)
diff --git a/qwt/src/CMakeLists.txt b/qwt/src/CMakeLists.txt
index 869d818..b644e80 100644
--- a/qwt/src/CMakeLists.txt
+++ b/qwt/src/CMakeLists.txt
@@ -37,4 +37,4 @@ target_link_libraries(perl_qwt
set_target_properties(perl_qwt PROPERTIES OUTPUT_NAME ${libraryName})
set_target_properties(perl_qwt PROPERTIES PREFIX "")
-install(TARGETS perl_qwt DESTINATION ${CUSTOM_PERL_SITE_ARCH_DIR}/auto/${libraryName}/)
+install(TARGETS perl_qwt DESTINATION ${PERL_SITE_ARCH_INSTALL_DIR}/auto/${libraryName}/)

@ -5,12 +5,6 @@ kde {
buildInputs = [ smokeqt perl ];
nativeBuildInputs = [ cmake ];
patches =
# The order is important
[ ./perlqt-include-smokeqt.patch ./perlqt-rewrite-FindPerlMore.patch
./perlqt-use-site-arch-install-dir.patch
];
meta = {
description = "Perl bindings for Qt library";
};

@ -1,13 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 33078b4..1a6ad2e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,7 +5,7 @@ set(COMPILE_RUBY FALSE CACHE INTERNAL "")
find_package(Ruby REQUIRED)
find_package(Qt4 REQUIRED)
find_package(Smoke COMPONENTS QtCore QtGui QtXml QtOpenGl QtSql QtNetwork QtDbus QtSvg Phonon QSci QtDeclarative QtScript QtWebkit QtUiTools QtTest Qwt)
-include_directories(${SMOKE_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/src ${QT_INCLUDES})
+include_directories(${SMOKE_INCLUDE_DIR} ${SMOKE_QTCORE_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/src ${QT_INCLUDES})
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${SMOKE_CMAKE_MODULE_DIR})
include(MacroOptionalFindPackage)

@ -5,9 +5,7 @@ kde {
buildInputs = [ smokeqt ruby ];
nativeBuildInputs = [ cmake ];
# The second patch is not ready for upstream submmission. I should add an
# option() instead.
patches = [ ./qtruby-include-smokeqt.patch ./qtruby-install-prefix.patch ];
patches = [ ./qtruby-install-prefix.patch ];
cmakeFlags="-DRUBY_ROOT_DIR=${ruby}";

@ -0,0 +1,14 @@
--- smokegen-4.10.5.orig/CMakeLists.txt 2013-06-28 17:14:50.000000000 +0000
+++ smokegen-4.10.5/CMakeLists.txt 2013-07-31 19:15:17.000000000 +0000
@@ -36,6 +36,10 @@
set (CMAKE_SKIP_BUILD_RPATH FALSE)
set (CMAKE_SKIP_RPATH FALSE)
+# add the automatically determined parts of the RPATH
+# which point to directories outside the build tree to the install RPATH
+SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in config.h @ONLY )
add_executable(smokegen ${generator_SRC})

@ -0,0 +1,13 @@
diff -urN smokegen-4.10.5.orig/cmake/SmokeConfig.cmake.in smokegen-4.10.5/cmake/SmokeConfig.cmake.in
--- smokegen-4.10.5.orig/cmake/SmokeConfig.cmake.in 2013-06-28 17:14:50.000000000 +0000
+++ smokegen-4.10.5/cmake/SmokeConfig.cmake.in 2013-07-30 21:26:33.000000000 +0000
@@ -80,8 +80,7 @@
set(SMOKE_API_BIN "@SMOKE_API_BIN@")
find_library(SMOKE_BASE_LIBRARY smokebase
- PATHS "@SMOKE_LIBRARY_PREFIX@"
- NO_DEFAULT_PATH)
+ PATHS "@SMOKE_LIBRARY_PREFIX@")
if (NOT SMOKE_BASE_LIBRARY)
if (Smoke_FIND_REQUIRED)

@ -1,46 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 79945c4..a244d0f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -32,10 +32,6 @@ set(generator_SRC
type.cpp
)
-# force RPATH so that the binary is usable from within the build tree
-set (CMAKE_SKIP_BUILD_RPATH FALSE)
-set (CMAKE_SKIP_RPATH FALSE)
-
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in config.h @ONLY )
add_executable(smokegen ${generator_SRC})
diff --git a/cmake/SmokeConfig.cmake.in b/cmake/SmokeConfig.cmake.in
index 947315c..de8d66c 100644
--- a/cmake/SmokeConfig.cmake.in
+++ b/cmake/SmokeConfig.cmake.in
@@ -44,21 +44,19 @@ macro (find_smoke_component name)
set (SMOKE_${uppercase}_FOUND FALSE CACHE INTERNAL "")
find_path(SMOKE_${uppercase}_INCLUDE_DIR
- ${lowercase}_smoke.h
- PATH ${SMOKE_INCLUDE_DIR}
- NO_DEFAULT_PATH
+ ${lowercase}_smoke.h
+ HINTS ${SMOKE_INCLUDE_DIR}
+ PATH_SUFFIXES smoke
)
if(WIN32)
# DLLs are in the bin directory.
find_library(SMOKE_${uppercase}_LIBRARY
smoke${lowercase}
- PATHS "@CMAKE_INSTALL_PREFIX@/bin"
- NO_DEFAULT_PATH)
+ PATHS "@CMAKE_INSTALL_PREFIX@/bin")
else(WIN32)
find_library(SMOKE_${uppercase}_LIBRARY
smoke${lowercase}
- PATHS "@SMOKE_LIBRARY_PREFIX@"
- NO_DEFAULT_PATH)
+ PATHS "@SMOKE_LIBRARY_PREFIX@")
endif(WIN32)
if (NOT SMOKE_${uppercase}_INCLUDE_DIR OR NOT SMOKE_${uppercase}_LIBRARY)

@ -4,7 +4,7 @@ kde {
buildInputs = [ qt4 ];
nativeBuildInputs = [ cmake ];
patches = [ ./smokegen-nix.patch ];
patches = [ ./smokegen-SmokeConfig.cmake.in-nix.patch ./smokegen-CMakeLists.txt-nix.patch ];
meta = {
description = "C++ parser used to generate language bindings for Qt/KDE";

@ -0,0 +1,11 @@
{ kde, kdelibs, kactivities, qjson, pyqt4, sip, python, pykde4 }:
kde {
buildInputs = [ kdelibs kactivities qjson pyqt4 sip python pykde4];
meta = {
description = "Kate, the KDE Advanced Text Editor, as well as KWrite";
license = "GPLv2";
};
}

@ -0,0 +1,11 @@
{ kde, kdelibs, kde_baseapps }:
kde {
buildInputs = [ kdelibs kde_baseapps ];
meta = {
description = "Konsole, the KDE terminal emulator";
license = "GPLv2";
};
}

@ -0,0 +1,42 @@
{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.11.0" }:
let
# Need callPackageOrig to avoid infinite cycle
kde = callPackageOrig ./kde-package {
inherit release ignoreList extraSubpkgs callPackage;
};
# The list of igored individual modules
ignoreList = {
# Doesn't work yet
kdeutils = [ "ksecrets" ];
# kdeadmin/strigi-analyzer has no real code
kdeadmin = [ "strigi-analyzer" ];
# Most of kdebindings do not compile due to a bug in the buildsystem
kdebindings = [ "kimono" "korundum" "kross-interpreters" "perlkde" "qyoto" ];
};
# Extra subpackages in the manifest format
extraSubpkgs = {};
in
kde.modules // kde.individual //
{
inherit (kde) manifest modules individual splittedModuleList;
akonadi = callPackage ./support/akonadi { };
qt4 = qt48;
kdebase_workspace = kde.modules.kde_workspace;
inherit release;
full = stdenv.lib.attrValues kde.modules;
l10n = callPackage ./l10n {
inherit release;
inherit (kde.manifest) stable;
};
}

@ -0,0 +1,17 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3d3e247..f78db67 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,10 @@
-find_package(KDE4 REQUIRED)
-include(KDE4Defaults)
+project(kde-wallpapers NONE)
+if( WALLPAPER_INSTALL_DIR )
+ message(STATUS "Installing wallpapers to user-supplied directory ${WALLPAPER_INSTALL_DIR}")
+else()
+ find_package(KDE4 REQUIRED)
+ include(KDE4Defaults)
+endif()
install(DIRECTORY Air DESTINATION ${WALLPAPER_INSTALL_DIR} PATTERN .svn EXCLUDE)

@ -0,0 +1,12 @@
diff -ru -x '*~' kdelibs-4.6.90-orig/kdecore/auth/ConfigureChecks.cmake kdelibs-4.6.90/kdecore/auth/ConfigureChecks.cmake
--- kdelibs-4.6.90-orig/kdecore/auth/ConfigureChecks.cmake 2011-05-20 22:24:54.000000000 +0200
+++ kdelibs-4.6.90/kdecore/auth/ConfigureChecks.cmake 2011-07-12 14:03:00.000000000 +0200
@@ -139,7 +139,7 @@
${CMAKE_INSTALL_PREFIX} _KDE4_AUTH_POLICY_FILES_INSTALL_DIR
${POLKITQT-1_POLICY_FILES_INSTALL_DIR})
- set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR ${_KDE4_AUTH_POLICY_FILES_INSTALL_DIR} CACHE STRING
+ set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR "\${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions" CACHE STRING
"Where policy files generated by KAuth will be installed" FORCE)
elseif(KDE4_AUTH_BACKEND_NAME STREQUAL "FAKE")
set (KAUTH_COMPILING_FAKE_BACKEND TRUE)

@ -0,0 +1,9 @@
{ kde, kdelibs, nepomuk_core }:
kde {
propagatedBuildInputs = [ kdelibs nepomuk_core ];
meta = {
description = "KDE activities library and daemon";
};
}

@ -0,0 +1,14 @@
{ kde, kdelibs }:
kde {
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = "0mrd3w7rhsj0v92c8rh9zjxyifq7wyvwszksf2gyn53dzd06blk8";
buildInputs = [ kdelibs ];
meta = {
description = "KDE Base artwork";
license = "GPL";
};
}

@ -0,0 +1,11 @@
{ kde, kdelibs, htmlTidy, kactivities
, nepomuk_core, nepomuk_widgets, libXt }:
kde {
buildInputs = [ kdelibs nepomuk_core nepomuk_widgets htmlTidy kactivities libXt ];
meta = {
description = "Base KDE applications, including the Dolphin file manager and Konqueror web browser";
license = "GPLv2";
};
}

@ -0,0 +1,444 @@
{stable=true;
hashes=builtins.listToAttrs[
{name="amor";value="0xz73rnznng6nd8ax2s8yh5wmvlwlhy7qm2y0m15fxw8x9dyym2s";}
{name="analitza";value="1pvi6nsdh64pjmrq0xm6vjl2rdpllm8vizf5pxm64m3s225x11r8";}
{name="ark";value="152cilip6g0jvqvczv29kdnlghyra0qs9166g4py82w94f96h4a0";}
{name="audiocd-kio";value="1xly06zy2m7xg8b675y2l3xj2mixy739f65b6mciyz0240qlian5";}
{name="blinken";value="0kyrblhn4b46fcf2rkidkkvpvnirz1z866yp7mi3m9dnl9iqzk32";}
{name="bomber";value="1s9wkdz7mgmsr438ikjxc3qj810aw39kblwc2a0v21skhv9glx40";}
{name="bovo";value="1p4v5nvx6nfprpv5wm9ab25d0wklx0znf6257ssy97p9knj7lzf4";}
{name="cantor";value="00j2fwl2y93k3mwqmnl9ndcqdfmxl2r5nff920sjmylhplsrvzri";}
{name="cervisia";value="1gg53a5lcp2mlii285ys6d570wzjx7v5h3g0r1l3h146ipnddkpm";}
{name="dolphin-plugins";value="1cj0vajrpmi1imz3gg6has8bqm2hj2px0k2fda35lc0wb2h6vwip";}
{name="dragon";value="1gclq1v9a84aq9jbakc0fs0c4y7ykzf05vl0gkpjkijnnb5sr028";}
{name="ffmpegthumbs";value="04zarg373420mzdc4psziw173flpv1jc80xavq5qff4j8njjynw4";}
{name="filelight";value="1q7lsiq2xxvfs30i0l0ywvpzch0kd8blbg10r56p15wyyjc84h1d";}
{name="granatier";value="14zlk4y30kgbx69hb516dcva78xqk7yhi90f7yg327r5a72njwvv";}
{name="gwenview";value="0686bybi10vyz6yb2h5zi906d295rcd7wlgh87zjiw0p2rz5qd6b";}
{name="jovie";value="02b2jl3ip7y0sd4xscw8qmkmm646ksmlm0c3xwwcijwvdj1h3xsw";}
{name="juk";value="1wm0ngpsc62766l127nk38cg5vdhlqsh3gsl7alk2rcrgfainkhh";}
{name="kaccessible";value="0mixfx8f8097p2y7zqacawb64r8jzj6iqrkhh7xp9ldwrrnf8jr0";}
{name="kactivities";value="0s5l0h2axq43ip8a4wn9lqb7i6hvxzzpscr1wv9qm02g98h1kzc5";}
{name="kajongg";value="0g7cx3qjrhga37wp9wypwwhzsk4q4fy63qqbpzh7znc4kfiw3j56";}
{name="kalgebra";value="01vgg54sr7g3h7lk9cd3m739y317x680brnp858chqvi7jq9nw5i";}
{name="kalzium";value="1zbrq2jm7j9sjzxfl93kambv1n665ah57ljr16r5dqk0x3xchirn";}
{name="kamera";value="1bhmxij7fnzc26hv4fbglqm3fhi5jdd8bqxnyx91sjja34wr55l4";}
{name="kanagram";value="1hdv0ydklz8y8wh49drpmgc9hqkwp59zvwn39h67fsiig44k6jag";}
{name="kapman";value="024q8w4x1hy518qcl76nxgr6q8h3blkw9qfg9z6d899qa6zb6ihq";}
{name="kapptemplate";value="09xgy5wrqhxlgvk6yhdfvickqx4v4rqd0s9zda7mlj13yfphbq8k";}
{name="kate";value="1r8i3hiqfxs2idjkszkzzn5lpkpm5bzjprs9dv33gzfnnq7w6q54";}
{name="katomic";value="0g197ynk6pzwxhr3yw20jw16qd9664j35vsr7511jxyydadbnrx6";}
{name="kblackbox";value="1pv9f3vh7l25xlvxpvznjiw3va2ljcz2znc1qxy6ib907qfgnryv";}
{name="kblocks";value="0rahh2hra6k0f0z9sh906avznv6x451da6w62bn561hl1fsd3qmy";}
{name="kbounce";value="1h25lyga30fxrhrlagw51la3vl38h5qil6zrwr5j3n8agard6nxf";}
{name="kbreakout";value="09mq49ia5synl9k166k2zw7n4awv2jkv0c0cckfc1byfvyfp6hnq";}
{name="kbruch";value="1fmc1mi94c8dz20qlj8gva64qk8kwdy22frlx8mv049lpaslhnh9";}
{name="kcachegrind";value="0iqa5vd03b3ysms692yqk4wy0igmrzjg1jfyw5sapdch1fv4v5bq";}
{name="kcalc";value="0yy41pjy0ai47yl2q8ii74b1qqcrg79xan8m1pxlx1pn0pdqib5h";}
{name="kcharselect";value="0sbz5c3jkmh6vpb2zh1jmy1l5f37nwxvhn3a1gbzv20wf2a3mh4x";}
{name="kcolorchooser";value="11kjklvvxfg2drwc0gh3z14gh94d6yimswh4g0nrpb7ppny8h0hh";}
{name="kcron";value="0ydm9b9x38j4n2v6j144v1jkh91nblbfln0yyfshiig44lxfcg4y";}
{name="kdeartwork";value="17s40canzk0z6v4hr683l1xzmpld53lma6m2z7kb537ms4sjrim9";}
{name="kde-baseapps";value="06mavmk0v54lwma083w7wyr2374vdwblcbisqb6kr4fsqdng67yk";}
{name="kde-base-artwork";value="020j4hi6qmwkjipgf9840m1828bjlcy9vg3nmhrjxvj6wxbaijib";}
{name="kde-dev-scripts";value="1hscdf1qdg8kc8x2hp0mibp0k3lq255h8a1kj03b8bk0agrzycjr";}
{name="kde-dev-utils";value="05nlisn69r6p58340gaaa8ma1ndpafv69yrynln4nzsw5va6awiv";}
{name="kdegraphics-mobipocket";value="1f1x07yy0awz7bas0c189xqn1zrv4sz9fb2vlix1g9qbz4j7440v";}
{name="kdegraphics-strigi-analyzer";value="0sq5lmnlgz52znz5jlsd2dixfmiqb6cmwrf6x9pw1px5i76gc63m";}
{name="kdegraphics-thumbnailers";value="09bmhxxr53p4szqln8s5pz4yfacyn8drq4p7ffsmp7crhjfjxad3";}
{name="kdelibs";value="0q7gzfzkdy8vi56v7xkq79ib3d3x22mi9prc5lkqzq3w9f08xnim";}
{name="kdenetwork-filesharing";value="11sc6jxnjl3i5wncc6jpif9d8c6dha3r96qjm5l2afg3g945kjq0";}
{name="kdenetwork-strigi-analyzers";value="125vk7y2yjni5bwgld47fg9ms0fksd2mwgpzlmbalcz5a05pwxqr";}
{name="kdepim";value="017005mndsg69pfvwn24mdbw0cjny7i3hhvc9102hwv7vn3b38c9";}
{name="kdepimlibs";value="0q5g626n6117ri11inyr29lnzirpm8ls68h72m8gy7jbbhpsy2h9";}
{name="kdepim-runtime";value="17yjsyyn7hp24r1nx4aggcfjkpw8nyb7lzpp21nf61fb26gdk0m9";}
{name="kdeplasma-addons";value="174770q0jgx7h61z48322aqvzprnfyfb1yipv2v725r79wpl8knc";}
{name="kde-runtime";value="0yafj2mxqp26zsg3kh1s0vw77wx0l9468jh1g0wkl1hbwxjlszp7";}
{name="kdesdk-kioslaves";value="00prg3pblgil86way9air9sl01gfrag8ika96nv8i5qhv0fs5x3n";}
{name="kdesdk-strigi-analyzers";value="08rpclbv0csrciqh688akfzh36wy2nc60gsbqfrwrmz82cn0rgyp";}
{name="kdesdk-thumbnailers";value="1zx6g94vixk7id1zb7a4f6x4ymkfm4n6g6j2akklzwnba1nqadjx";}
{name="kde-wallpapers";value="0km2zpgy4qpqlvnbnbfnklal900idf85xls9h3dn57qckrvscs7n";}
{name="kdewebdev";value="1pzph18gw47gy7yfmzcmz7hx35wgsdgc7z7h50p15irrfqd9vxvz";}
{name="kde-workspace";value="0wdnnwvzd8djysims0sflban0vvf4rjl5xy9cfxl5c61kgf31zvy";}
{name="kdf";value="0znmsv5cpxciqx1pksicpchfqk25damz4zrhsh8fl1y41wr5i0g7";}
{name="kdiamond";value="13pz413fvwz74jhvyfvn3l18p5asin2l8r39mqvrp5izz876lrxs";}
{name="kdnssd";value="1my59awfn0h67aza1wym7cdlbffm22hf1dma80k4kqwrcws433q7";}
{name="kfloppy";value="0aglds7n33pk19qmq26xdr2bmfn3hv80zd479a3czlh0yn0wl0lb";}
{name="kfourinline";value="0mbggqssizcsrddi2nb93hwyf9wa6lnqmyswia5bp6803diw0iyr";}
{name="kgamma";value="0fwgk3jq5x5fp36jp1yvid69pzqdaac7p8xyd7qwa0m2zz2mbddy";}
{name="kgeography";value="0hya5wqigyahl24cmm1ssi5xc6pv8d6hvrd5z4s185pd5i2syfyf";}
{name="kget";value="0pnnfizq6xmv3bmpdvqf12pnr1rlbzpdn05c71cl0200frd0samd";}
{name="kgoldrunner";value="1s2847rhl1r35a3sjh10yadg7qjs4qycv2j2yc4k6yvh226wixzn";}
{name="kgpg";value="1hsa5z4igqn5fd9rnjmm80k6mylf3zyg6ss0m66j96f1r1hc7y9g";}
{name="khangman";value="0myjlfm1bws6g8a6r27n4cfdiz6vsii7wk03dhc25a63mbw30lq2";}
{name="kig";value="1w0i2q6vvy310ffsc87dahbxx2pv0alsv36wcz5j41a0c0q1lnnq";}
{name="kigo";value="026dwwakci2xsxzr05k9wdfn8k22sd0f2qd2hjpjf3nd3306q2m7";}
{name="killbots";value="1acn16i1k9il6qflw5kbmwgrdhgf59ziqv0dsdj541wp06v9syzf";}
{name="kimono";value="0vws62kw7n6xy4sgyn2w1a1ysfb7g3l730rfvcgdcch1v5k5w6sx";}
{name="kiriki";value="0jz9rsmvyb3yqnxpb0fr8nxqcbb55ah4gg75mphxvagfak6180x8";}
{name="kiten";value="1vvpd63783lzwb1ixchxzcnv4dwhdfdqvgf6ambxiabdhwzzhrfp";}
{name="kjumpingcube";value="0czsirg9r8kngy8y21ds491mdqcysn7c5yravrbvv399j71fgcl7";}
{name="klettres";value="0b7zd1f9a3b2d3r4wx03b3gclbnxyxl8sdq4mkrmvxlbv6is4w41";}
{name="klickety";value="00yzd79lm7rlfc96cg0asvj3zy1bwb4d0qx2sarf0ny1sbs05d52";}
{name="klines";value="1qvjhb88vzymy8c75azhchqxp21iwvbhxiq0mzzb4wg513qz9b1w";}
{name="kmag";value="0p7k9w93zyl6ffjwydjfm9pps4irrgdcjf9ksbzm5r41ayj1x3nh";}
{name="kmahjongg";value="0wz4lvy4gzix5c5viwcfxqvv43n65151wfz9jay09227f5qfqz1w";}
{name="kmines";value="0gsyhmzcj3579bscdlzyp3y1lsxgk7fz6s8gzs36pb1d7cll30i1";}
{name="kmix";value="1h5z508yy0y39p5dhmz4lvq2fsl1y9hiqgm0m3xk6js1ysz5cp0w";}
{name="kmousetool";value="1p57b4s87hw5rhj3d1m9qaw8r0wx4x7brc9ksizxyjfm90q8hj00";}
{name="kmouth";value="1bmmv8w6w9z9dnmm8bwai8wvj1cz3nbibd9qilv0wzy8f9x8z2n2";}
{name="kmplot";value="037n51fvpj8r4fz98f1f1jm9pzmlpbcn428cq8kn2p6ahy9g0zhn";}
{name="knavalbattle";value="1i128qa95zi0fz6bkkkc0qic630c4n6r24bnc73wp38kkklj1mfm";}
{name="knetwalk";value="1yfflp2yndjv0fawahiqq33x9ivv0r5dxivhy38p1xx3bw7aa3qg";}
{name="kolf";value="0cfi9mfj1ng7p6vqckjpx4hvzs4cqkiy0wk0c32gyzm3w76ggdsk";}
{name="kollision";value="17hzzp4pwl46skf7n2aapxc1wbihxvb8p6z5ch7315d967fbw1iy";}
{name="kolourpaint";value="1mvqicbjmbyx7wmw8l8gsfci2x0mg7c7csfbib09p6l5ypr0w5an";}
{name="kompare";value="1s5yb2jk6dgsaciwklil43vc3zpr70sarakray0jz22w8sbp00l4";}
{name="konquest";value="0v9icbn3pam8w6akz8sk4qpmq8447l9d692877yz9a0wbd4kc3yk";}
{name="konsole";value="07pikjzjn824xvjjszvczwwg2alj8qqr7ajy0c7wa9w711hqj654";}
{name="kopete";value="114g0pl67vdacxfcnpnhzmy9aarmjm1j6iy6jxc1v3ahrmv7iy1q";}
{name="korundum";value="07s4y585a2x6wg9m8hfwhxixbp03aa8z4f7cyk7i7fgvhy32s4wh";}
{name="kpat";value="1dqbhn3lypjfnhn4i6212g3spdihp0j12vgkxwf0pii79dwk1lih";}
{name="kppp";value="1qk2hvpi72w10gyipw3dcsmkqlg5shvr943rxhkjpx7vp327gcii";}
{name="krdc";value="0ikb0bmcq8zpmhr2jbyg40ihjzvi1zfkhcf6y76yjsifzx5nkxaj";}
{name="kremotecontrol";value="03mwsl79ljd6zni1ijxbrhl4pm7l52dxdjr5456avx6pbp7rq8j7";}
{name="kreversi";value="0r66kj0lanj54ajk1fdn6kijsq412gknva3i29wsvy0hlg18lwgf";}
{name="krfb";value="096a61zv76nyqkh9cdzjbgy62g3vi9a7xiwkx0mw63jpfag5sqws";}
{name="kross-interpreters";value="0x12cl1hnj9rfasivs3j1m15lr5pmh65bm2dghcypzffs1h4m17h";}
{name="kruler";value="0cv3qrs20qckx3d4y0a5ciy6n3hnlxhi20ln9m6szk5nrqwwf8hv";}
{name="ksaneplugin";value="02kdbnalq6jfkvcj0dmiyp6hijm8jjl1wl4fxd0kky0wdpj25mqw";}
{name="kscd";value="1dmmjzphxy00yynvmb238s60c0xjb9arcyjnynm1pyz8gwbjv370";}
{name="kshisen";value="1rildx85ajl14j7qhkwfv3ddyai2m3d2mf6d4i6hd4f6hi01y6lc";}
{name="ksirk";value="1rzihjagj78lxyprhzrixk129wgn6v9zacbh5ash6mfgmvpp28fq";}
{name="ksnakeduel";value="0fi32y79gjnajswwb5ldkyk0aap1cbdb7i6wdaskpwjh7m9xgbqj";}
{name="ksnapshot";value="162rbwlg16b0lq436rsmdaljrp4na0c7hsviw8mv989ylm7k78g5";}
{name="kspaceduel";value="1k228vhlv1fglp4572w7li3dvz1inn9x08rqfm167qisz7lz9gk0";}
{name="ksquares";value="0i0gw2dq657p3nnlp7billnwlz0jynb01bd3alis9b0y7fzr8141";}
{name="kstars";value="1hlv4x43asrz0kha7sypw073zpnb0z1mmwxqsjm7rdb3fzr664ca";}
{name="ksudoku";value="1ym6q32jlh55q4af622mq2x4q7ir61h54y03i1cwwl0n536jarw3";}
{name="ksystemlog";value="1lipz5ijw90zifvcj8j5cbm5myn3j31v0faik352dy552zbc69ld";}
{name="kteatime";value="0nkfshr4gh71yvb4fn3zv99mj8ywq98fmzl41pc8g7zb78c56min";}
{name="ktimer";value="0bfyhxcnz4cll3al5sqjiilhhy0wckvnsxl1j9v9cl6fj0yclccx";}
{name="ktouch";value="0j2qxh2r1pasa86zakil9hbw0vb39qgwcmkjkds4mgd1rdx3z063";}
{name="ktuberling";value="0imb0djrsi3b8aasyycalv7b6r42879053h9r89bq0vr7frshza5";}
{name="kturtle";value="04739cjbc8hnhjmccamiim3nhm09jpd5398ckwbqa7z1jrnrfglx";}
{name="ktux";value="1dkcca00s2cxr9kimqm8vlar0d47184ba0miihipgi7p752sik5a";}
{name="kubrick";value="1f1sfr1w66b3i4pi7b8y3wbks5l2dxij4azx8dzracanfraymhs6";}
{name="kuser";value="1r1ysz52w7v8nhl4qj9b4aybb7q45qav9yyzdqxjlz3ixvvvyndy";}
{name="kwallet";value="0a5009qx820nfbdhcmwvzbda3bvdmjzbi9i5d05rkcbmxz7l3i7v";}
{name="kwordquiz";value="11rhwmzn93gilwlgjmh64pbmmkxf4nxjn3sg8plxnvfnjl27dlwr";}
{name="libkcddb";value="0jkblif31r3raykhl69c9mjircsdwrbmzdjks7ngwacyfng2ys7l";}
{name="libkcompactdisc";value="1c6g1q543siyk8m81bvxca4qv6pnfjxcmv5mgpnqsv5lbi0k0dil";}
{name="libkdcraw";value="1bi0ayf6sg93hx30k5yvblv3jfs8ba6sva7fig1xwag2a1dmpbms";}
{name="libkdeedu";value="080mmb6spbr9gyz16n92jai8hv13kxjqgnid8qmgzvrkl9dr5zpi";}
{name="libkdegames";value="07324rsyqszsjgpybpr7kpvfpkmg61c4yaaajfr0sbj5a0flypn9";}
{name="libkexiv2";value="0rpqj634vxffz1498m2vbjhndc3xha06b4w79wv9qlqgcsaglr9c";}
{name="libkipi";value="0har58a6ir3cywsl289avblpqlc67ghv6bhli79nhplblycaf56k";}
{name="libkmahjongg";value="1xz4x96l0cim2mcjk9ndikzb0p53i6nximmiwji5ysk9k9ijz8l2";}
{name="libksane";value="1wydrqjfczb6c37vpzzavqk4n4fxlg7xfxm3qmg90973z9mhndql";}
{name="lokalize";value="0ikcq18jsnk9iqf1636c1llbs43dcbv6pnanydsd8m7pp2x8wd77";}
{name="lskat";value="0ld93jvy7w6zy3jifwhb2cvm4qrylknbkgknhxcycq7vxxi1nd1r";}
{name="marble";value="0l32r5hbqzyvx85xzvphkyv8fz0ar9l6yyql01y54p9q7g2i0wvy";}
{name="mplayerthumbs";value="022n2mi1mkc6isc06b1w7q10k4qxgmvjdg9inysqnyw25zgzqbk0";}
{name="nepomuk-core";value="1a08gv05lql1jkkng655k8n4y9bxivaq3j6i9np901calr6q7vq6";}
{name="nepomuk-widgets";value="12pfyi4y64p0xs62ax18mbkwf9gd4gn0zsih338ryf2zdpw806c9";}
{name="okteta";value="0pg9i7ywcp377brrprl93ayxjjizdmyzgw6fx3zmry7amf45dw1z";}
{name="okular";value="1kgkvzfwcqc9v18qgm9vm36v9svasdwyqgbn70nxmwr7rmkvzpsy";}
{name="oxygen-icons";value="1m0mha40zg03jy2nvw1cnsi9li8kb84hq3mdr2839jd0qwf06rcs";}
{name="pairs";value="0scqagvvp0aaa5gknl5rlfv49r289mgrf5ll0sqbb7w2ga1z71kf";}
{name="palapeli";value="1qw6cn7qa5p918x5hhl45c17firyrj3llghd808k9jn0azffkn2k";}
{name="parley";value="191ql9jc7pib36ndrn3dyz7h0zqa1a5z06vcppcy56adw395khga";}
{name="perlkde";value="0x9pf8hjlnii6kh6jrli8p1glqmnly8ck5f0a9jllx5ylc2v7xgy";}
{name="perlqt";value="01wwnpkr0rafmp4lqggpnnzan4abgcbdkf49dzvzf202ksyc7i4s";}
{name="picmi";value="1x0gx8spda3m4d8gp3dw4wrjq9plya17x945dd3xww5jb537k9jg";}
{name="poxml";value="1icgyilfyv3kfgqnx81c0xfdjklx8rr8xhllqlgh5gpr109ib0v3";}
{name="print-manager";value="1bxkf7lfg2bvqy655zd22p1zsj68zyw95kl1xgk2fsbv4p4d4s46";}
{name="pykde4";value="0x2zx012n3ng7cnbwv6mjjy7d5cpxj0xicnnp5xpd7cqmi2v4k8x";}
{name="qtruby";value="0vbhfynyc0bffr76iz2jfxn15l1nv95g8y7lr9iy32ha84bmc5g3";}
{name="qyoto";value="0r8q9hwinac1bk0mvym60s9fwx7ahdsc80mk2a7i9bns5fpd30x8";}
{name="rocs";value="16kk54yqpx94cvhkmxvclzkz5w3lfrvcy3mvhyqb0czsknv7hmgm";}
{name="smokegen";value="0v1adb6qfmdpvw4yimq8dlxw8zsdbjdw0viwvlxbmvaf4an5kd3y";}
{name="smokekde";value="00rw321lcm0by0p8ij60kylg56nrpi0y3j0xj2ss10k9cr13cgwd";}
{name="smokeqt";value="116avrlmy7k3ihc176rjl81jlzcp9jlpym1j2cziyxpzygki77ip";}
{name="step";value="16vzcw16hqifhmscvhdrww0ykcim8bw271xbqb2g75rf2dcl1zvf";}
{name="superkaramba";value="1fx5qwmd6md2x8zxn8xqnildrcxpwlrxbqmi2ia4qm7ivngpdsy4";}
{name="svgpart";value="0az94772zvzsikm3imdaq7a22c1gfpn0yv2alc5nk85sa7yl3jzc";}
{name="sweeper";value="18nwfrjpdczrmm5ckr64vgznz0nfj53lbwafwyzabp1d2wbvp1r8";}
{name="umbrello";value="09pg5xng1mgfvna5kdl4wbfc38b4wrswfl48kdmskjk640p854z7";}
];
modules=[
{
module="kdemultimedia";
split=true;
pkgs=[
{ name="audiocd-kio"; sane="audiocd_kio"; }
{ name="dragon"; }
{ name="ffmpegthumbs"; }
{ name="juk"; }
{ name="kmix"; }
{ name="kscd"; }
{ name="libkcddb"; }
{ name="libkcompactdisc"; }
{ name="mplayerthumbs"; }
];
}
{
module="kdegraphics";
split=true;
pkgs=[
{ name="gwenview"; }
{ name="kamera"; }
{ name="kcolorchooser"; }
{ name="kdegraphics-mobipocket"; sane="kdegraphics_mobipocket"; }
{ name="kdegraphics-strigi-analyzer"; sane="kdegraphics_strigi_analyzer"; }
{ name="kdegraphics-thumbnailers"; sane="kdegraphics_thumbnailers"; }
{ name="kgamma"; }
{ name="kolourpaint"; }
{ name="kruler"; }
{ name="ksaneplugin"; }
{ name="ksnapshot"; }
{ name="libkdcraw"; }
{ name="libkexiv2"; }
{ name="libkipi"; }
{ name="libksane"; }
{ name="okular"; }
{ name="svgpart"; }
];
}
{
module="kdelibs";
split=true;
pkgs=[
{ name="kdelibs"; }
{ name="nepomuk-core"; sane="nepomuk_core"; }
{ name="nepomuk-widgets"; sane="nepomuk_widgets"; }
];
}
{
module="kdenetwork";
split=true;
pkgs=[
{ name="kdenetwork-filesharing"; sane="kdenetwork_filesharing"; }
{ name="kdenetwork-strigi-analyzers"; sane="kdenetwork_strigi_analyzers"; }
{ name="kdnssd"; }
{ name="kget"; }
{ name="kopete"; }
{ name="kppp"; }
{ name="krdc"; }
{ name="krfb"; }
];
}
{
module="kdeutils";
split=true;
pkgs=[
{ name="ark"; }
{ name="filelight"; }
{ name="kcalc"; }
{ name="kcharselect"; }
{ name="kdf"; }
{ name="kfloppy"; }
{ name="kgpg"; }
{ name="kremotecontrol"; }
{ name="ktimer"; }
{ name="kwallet"; }
{ name="print-manager"; sane="print_manager"; }
{ name="superkaramba"; }
{ name="sweeper"; }
];
}
{
module="applications";
split=true;
pkgs=[
{ name="kate"; }
{ name="konsole"; }
];
}
{
module="kdetoys";
split=true;
pkgs=[
{ name="amor"; }
{ name="kteatime"; }
{ name="ktux"; }
];
}
{
module="kdesdk";
split=true;
pkgs=[
{ name="cervisia"; }
{ name="dolphin-plugins"; sane="dolphin_plugins"; }
{ name="kapptemplate"; }
{ name="kcachegrind"; }
{ name="kde-dev-scripts"; sane="kde_dev_scripts"; }
{ name="kde-dev-utils"; sane="kde_dev_utils"; }
{ name="kdesdk-kioslaves"; sane="kdesdk_kioslaves"; }
{ name="kdesdk-strigi-analyzers"; sane="kdesdk_strigi_analyzers"; }
{ name="kdesdk-thumbnailers"; sane="kdesdk_thumbnailers"; }
{ name="kompare"; }
{ name="lokalize"; }
{ name="okteta"; }
{ name="poxml"; }
{ name="umbrello"; }
];
}
{
module="kdegames";
split=true;
pkgs=[
{ name="bomber"; }
{ name="bovo"; }
{ name="granatier"; }
{ name="kajongg"; }
{ name="kapman"; }
{ name="katomic"; }
{ name="kblackbox"; }
{ name="kblocks"; }
{ name="kbounce"; }
{ name="kbreakout"; }
{ name="kdiamond"; }
{ name="kfourinline"; }
{ name="kgoldrunner"; }
{ name="kigo"; }
{ name="killbots"; }
{ name="kiriki"; }
{ name="kjumpingcube"; }
{ name="klickety"; }
{ name="klines"; }
{ name="kmahjongg"; }
{ name="kmines"; }
{ name="knavalbattle"; }
{ name="knetwalk"; }
{ name="kolf"; }
{ name="kollision"; }
{ name="konquest"; }
{ name="kpat"; }
{ name="kreversi"; }
{ name="kshisen"; }
{ name="ksirk"; }
{ name="ksnakeduel"; }
{ name="kspaceduel"; }
{ name="ksquares"; }
{ name="ksudoku"; }
{ name="ktuberling"; }
{ name="kubrick"; }
{ name="libkdegames"; }
{ name="libkmahjongg"; }
{ name="lskat"; }
{ name="palapeli"; }
{ name="picmi"; }
];
}
{
module="kdeedu";
split=true;
pkgs=[
{ name="analitza"; }
{ name="blinken"; }
{ name="cantor"; }
{ name="kalgebra"; }
{ name="kalzium"; }
{ name="kanagram"; }
{ name="kbruch"; }
{ name="kgeography"; }
{ name="khangman"; }
{ name="kig"; }
{ name="kiten"; }
{ name="klettres"; }
{ name="kmplot"; }
{ name="kstars"; }
{ name="ktouch"; }
{ name="kturtle"; }
{ name="kwordquiz"; }
{ name="libkdeedu"; }
{ name="marble"; }
{ name="pairs"; }
{ name="parley"; }
{ name="rocs"; }
{ name="step"; }
];
}
{
module="kdeadmin";
split=true;
pkgs=[
{ name="kcron"; }
{ name="ksystemlog"; }
{ name="kuser"; }
];
}
{
module="kdebindings";
split=true;
pkgs=[
{ name="kimono"; }
{ name="korundum"; }
{ name="kross-interpreters"; sane="kross_interpreters"; }
{ name="perlkde"; }
{ name="perlqt"; }
{ name="pykde4"; }
{ name="qtruby"; }
{ name="qyoto"; }
{ name="smokegen"; }
{ name="smokekde"; }
{ name="smokeqt"; }
];
}
{
module="kdeaccessibility";
split=true;
pkgs=[
{ name="jovie"; }
{ name="kaccessible"; }
{ name="kmag"; }
{ name="kmousetool"; }
{ name="kmouth"; }
];
}
{
module="kde-baseapps";
sane="kde_baseapps"; split=true;
pkgs=[
{ name="kde-baseapps"; sane="kde_baseapps"; }
];
}
{ module="kactivities"; split=false;}
{ module="kdeartwork"; split=false;
pkgs=[
{ name="ColorSchemes"; }
{ name="IconThemes"; }
{ name="emoticons"; }
{ name="kscreensaver"; }
{ name="kwin-styles"; sane="kwin_styles";}
{ name="sounds"; }
{ name="styles"; }
{ name="wallpapers"; }
{ name="HighResolutionWallpapers"; }
{ name="WeatherWallpapers"; }
{ name="desktopthemes"; }
];
}
{ module="kde-base-artwork"; sane="kde_base_artwork"; split=false;}
{ module="kdelibs"; split=false;}
{ module="kdepim"; split=false;}
{ module="kdepimlibs"; split=false;}
{ module="kdepim-runtime"; sane="kdepim_runtime"; split=false;}
{ module="kdeplasma-addons"; sane="kdeplasma_addons"; split=false;}
{ module="kde-runtime"; sane="kde_runtime"; split=false;}
{ module="kde-wallpapers"; sane="kde_wallpapers"; split=false;}
{ module="kdewebdev"; split=false;
pkgs=[
{ name="klinkstatus"; }
{ name="kfilereplace"; }
{ name="kimagemapeditor"; }
{ name="kommander"; }
];
}
{ module="kde-workspace"; sane="kde_workspace"; split=false;}
{ module="oxygen-icons"; sane="oxygen_icons"; split=false;}
];
}

@ -0,0 +1,127 @@
{ callPackage, runCommand, stdenv, fetchurl, qt4, cmake, automoc4
, release, ignoreList, extraSubpkgs
}:
let
inherit (stdenv.lib) filter fold;
inherit (builtins) getAttr hasAttr remoteAttrs listToAttrs tail head;
in
rec {
manifest = import (./. + "/${release}.nix");
# src attribute for $name tarball
kdesrc = name: fetchurl {
url = "mirror://kde/" + (if manifest.stable then "" else "un")
+ "stable/${release}/src/${name}-${release}.tar.xz";
sha256 = getAttr name manifest.hashes;
};
# Default meta attribute
defMeta = {
homepage = http://www.kde.org;
inherit (qt4.meta) platforms maintainers;
};
# KDE package built from the whole tarball
# This function is used both for monolithic modules and modules which are
# released as individual tarballs
kdeMonoPkg = name: let n_ = name; in a@{meta, name ? n_, ...}:
stdenv.mkDerivation ({
name = "${name}-${release}";
src = kdesrc name;
meta = defMeta // meta;
enableParallelBuilding = true;
} // (removeAttrs a [ "meta" "name" ]));
# kdeMonoPkg wrapper for modules splitted upstream compatible with combinePkgs
# API.
kdeSplittedPkg = module: {name, sane ? name}: kdeMonoPkg name;
# Build subdirectory ${subdir} of tarball ${module}-${release}.tar.xz
kdeSubdirPkg = module:
{name, subdir ? name, sane ? name}:
let name_ = name; in
a@{cmakeFlags ? [], name ? name_, meta ? {}, ...}:
stdenv.mkDerivation ({
name = "${name}-${release}";
src = kdesrc module;
cmakeFlags =
[ "-DDISABLE_ALL_OPTIONAL_SUBDIRECTORIES=TRUE"
"-DBUILD_doc=TRUE"
"-DBUILD_${subdir}=TRUE"
] ++ cmakeFlags;
meta = defMeta // meta;
enableParallelBuilding = module.enableParallelBuilding or true;
} // (removeAttrs a [ "meta" "name" "cmakeFlags" ]));
# A KDE monolithic module
kdeMonoModule = name: path: callPackage path { kde = kdeMonoPkg name; };
# Combine packages in one module.
# Arguments:
# * pkgFun --- a function of the following signature:
# module: manifest_attrs: manual_attrs: derivation;
# * module --- name of the module
# * pkgs --- list of packages in manifest format
combinePkgs = pkgFun: module: pkgs:
let
f = p@{name, ...}:
callPackage (./.. + "/${module}/${name}.nix") { kde = pkgFun module p; };
list = map f pkgs;
attrs = listToAttrs (map
({name, sane ? name, ...}@p: { name = sane; value = f p; })
pkgs);
in
runCommand "${module}-${release}"
({passthru = attrs // {
propagatedUserEnvPackages = list;
projects = attrs;
};})
''
mkdir -pv $out/nix-support
echo "${toString list}" | tee $out/nix-support/propagated-user-env-packages
'';
# Given manifest module data, return the module
kdeModule = { module, sane ? module, split, pkgs ? [] }:
let
pkgs_ = filterPkgs module pkgs;
in
# Module is splitted by upstream
if split then combinePkgs kdeSplittedPkg module pkgs_
# Monolithic module
else if pkgs == [] then kdeMonoModule module (./.. + "/${module}.nix")
# Module is splitted by us
else combinePkgs kdeSubdirPkg module pkgs_;
# The same, as nameValuePair with sane name
kdeModuleNV = a@{ module, sane ? module, ... }:
{ name = sane; value = kdeModule a; };
filterPkgs = module: (p:
removeNames (stdenv.lib.attrByPath [module] [] ignoreList) p
++ (stdenv.lib.attrByPath [module] [] extraSubpkgs));
# Remove attrsets with x.name in subst. Optimized for empty subst.
removeNames = subst: big:
fold (s: out: filter (x: x.name != s) out) big subst;
modules = listToAttrs (map kdeModuleNV manifest.modules);
splittedModuleList =
let
splitted = filter (a: a ? pkgs) manifest.modules;
names = map ({module, sane ? module, ...}: sane) splitted;
in
map (m: m.projects) (stdenv.lib.attrVals names modules);
individual =
stdenv.lib.zipAttrsWith
(
name: list:
if tail list == []
then head list
else abort "Multiple modules define ${name}"
)
splittedModuleList;
}

@ -0,0 +1,146 @@
#! /bin/sh
# Usage: download kde release to $dir, then run
# $0 $dir
dir="$1"
# Detect release number & whether it is a stable release
if [[ ! -d "${dir}" ]]; then
echo "${dir} is not a directory (or doesn't exist)!" >&2
exit 1
fi
release=$(ls "${dir}"/kdelibs-*.tar.xz | \
sed -e 's/.*kdelibs-//' -e 's/\.tar\.xz//')
if [[ ${release##*.} -gt 50 ]]; then
stable="false"
else
stable="true"
fi
echo "Detected release ${release}" >&2
declare -A hash
declare -A modules
declare -a packages
declare -a top_level
# xsltproc output declares -A module
if [[ ! -f kde_projects.xml ]]; then
curl -O -J http://projects.kde.org/kde_projects.xml
fi
eval `xsltproc kde-submodules.xslt kde_projects.xml`
module[kde-baseapps]=kde-baseapps
unset module[kactivities]
print_sane() {
echo "Called print_sane $1" >&2
sane="${1//[^a-z0-9_]/_}"
if [[ "$sane" != "$1" ]]; then
echo "Sane version is $sane" >&2
echo -n "sane=\"$sane\";"
fi
}
for i in `cd "${dir}"; ls *-${release}.tar.xz`; do
package=${i%-${release}.tar.xz}
packages+=( "$package" )
echo -n "${package}.. " >&2
hash[$package]=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}")
echo -n ${hash[$package]} >&2
if [ -n "${module[$package]}" ]; then
m="${module[$package]}"
echo " (${m})" >&2
modules[$m]=1
else
top_level+=( "$package" )
echo " (top-level)" >&2
fi
#nix-store --add-fixed sha256 "${dir}/${i}" >&2
done
print_pkg_hash() {
echo " {name=\"${1}\";value=\"${hash[$1]}\";}"
}
print_hashes(){
echo "hashes=builtins.listToAttrs["
for p in "${packages[@]}"; do print_pkg_hash "$p"; done
echo "];"
}
print_split_module(){
echo -n "$1:" >&2
echo -e "{\n module=\"$1\";"
print_sane "$1"
echo " split=true;"
echo " pkgs=["
for p in "${packages[@]}"; do
if [[ "${module[$p]}" == "$1" ]]; then
echo -n " { name=\"$p\"; "
print_sane "$p"
echo " }"
echo -n " $p" >&2
fi
done
echo " ];"
echo "}"
echo >&2
}
print_mono_module(){
echo -en "{ module=\"$1\"; "
print_sane "$1"
echo -n "$1 ... " >&2
echo -n " split=false;"
cml="$1-$release/CMakeLists.txt"
tar -xf "${dir}/$1-${release}.tar.xz" "$cml"
if grep '^[^#]*add_subdirectory' $cml >/dev/null; then
if grep '^[^#]*add_subdirectory' $cml | grep -v macro_optional_add_subdirectory >/dev/null; then
echo " is monolithic (has unconditionally added subdirs)" >&2
else
subdirs=( `grep '^[^#]*add_subdirectory' $cml |
sed -e 's/[^#]*add_subdirectory *( *\(.*\) *)/\1/' |
grep -v '\(doc\|cmake\)'` )
echo " seems splittable, subdirs: ${subdirs[*]}" >&2
echo -e "\n pkgs=["
for s in "${subdirs[@]}"; do
echo -en " {"
echo -n " name=\"${s//\//-}\"; "
print_sane "$s"
if [[ $s != "${s//\//-}" ]]; then
echo -n "subdir=\"$s\"; "
fi
echo "}"
done
echo -e " ];\n"
fi
else
echo " is monolithic (has no subdirs)" >&2
fi
rm $cml
rmdir $1-$release
echo "}"
}
print_modules(){
echo "modules=["
echo "Printing modules splitted by upstream" >&2
for m in "${!modules[@]}"; do print_split_module "$m"; done
echo >&2
echo "Printing modules not splitted by upstream (${top_level[*]})" >&2
for m in "${top_level[@]}"; do print_mono_module "$m"; done
echo "];"
}
echo "Writing ${release}.nix" >&2
exec > "${release}.nix"
echo "{stable=${stable};"
print_hashes
print_modules
echo "}"

@ -0,0 +1,23 @@
{ kde, kdelibs, bzip2, libssh, exiv2, attica, qca2
, libcanberra, virtuoso, samba, libjpeg, ntrack, pkgconfig, xz, pulseaudio
, networkmanager, kactivities, kdepimlibs, openexr, ilmbase
}:
kde {
buildInputs = [
kdelibs attica xz bzip2 libssh libjpeg exiv2 ntrack
qca2 samba libcanberra pulseaudio
networkmanager kactivities kdepimlibs openexr
#todo: add openslp
];
nativeBuildInputs = [ pkgconfig ];
NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
passthru.propagatedUserEnvPackages = [ virtuoso ];
meta = {
license = "LGPL";
};
}

@ -0,0 +1,17 @@
{ kde, cmake }:
kde {
nativeBuildInputs = [ cmake ];
patches = [ ./files/kde-wallpapers-buildsystem.patch ];
cmakeFlags = "-DWALLPAPER_INSTALL_DIR=share/wallpapers";
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = "07jwbxp4gdxkvxdasbzbv00l3kqrjph4d8dlbyxgryf12waykcmm";
meta = {
description = "Wallpapers for KDE";
};
}

@ -0,0 +1,39 @@
{ kde, kdelibs, qimageblitz, libdbusmenu_qt, xorg, lm_sensors
, pciutils, libraw1394, libusb1, python, libqalculate, akonadi
, xkeyboard_config, kdepimlibs, pam, boost, gpsd, prison
, libjpeg, pkgconfig, kactivities, qjson, udev
}:
kde {
#todo: wayland, consolekit, xmms, opengles, libusb isn't found
buildInputs =
[ kdelibs qimageblitz libdbusmenu_qt xorg.libxcb xorg.xcbutilimage libjpeg
xorg.xcbutilrenderutil xorg.xcbutilkeysyms xorg.libpthreadstubs xorg.libXdmcp
xorg.libxkbfile xorg.libXcomposite xorg.libXtst
xorg.libXdamage
python boost qjson lm_sensors gpsd libraw1394 pciutils udev
akonadi pam libusb1 libqalculate kdepimlibs prison
kactivities
];
nativeBuildInputs = [ pkgconfig ];
preConfigure =
''
# Fix incorrect path to kde4-config.
substituteInPlace startkde.cmake --replace '$bindir/kde4-config' ${kdelibs}/bin/kde4-config
# Fix the path to the keyboard configuration files.
substituteInPlace kcontrol/keyboard/xkb_rules.cpp \
--replace /usr/share/X11 ${xkeyboard_config}/etc/X11
'';
enableParallelBuilding = false; # frequent problems on Hydra
meta = {
description = "KDE workspace components such as Plasma, Kwin and System Settings";
license = "GPLv2";
};
}

@ -0,0 +1,9 @@
{ kde, kdelibs, speechd }:
kde {
buildInputs = [ kdelibs speechd ];
meta = {
description = "Text-to-speech synthesis daemon";
};
}

@ -0,0 +1,9 @@
{ kde, kdelibs, speechd }:
kde {
buildInputs = [ kdelibs speechd ];
meta = {
description = "Bridge that provides accessibility services to applications";
};
}

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

Loading…
Cancel
Save