commit
c1e62e7e91
@ -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)
|
@ -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; |
||||
}; |
||||
} |
||||
} |
||||
|
@ -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; |
||||
}; |
||||
} |
@ -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,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; |
||||
}; |
||||
} |
||||
|
@ -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 |
||||
} |
||||
|
||||
|
@ -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',
|
@ -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,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"; |
||||
}; |
||||
} |
||||
|
@ -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; |
||||
}; |
||||
} |
@ -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
|
||||
|
@ -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}/)
|
@ -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)
|
@ -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)
|
@ -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…
Reference in new issue