Merge #64892: 'staging-next' (another iteration)

It's not completely without regressions, but I believe we can deal with
the rest directly on master.  This is required for Firefox security fixes.
This commit is contained in:
Vladimír Čunát 2019-07-16 19:29:31 +02:00
commit 2b28e4c96f
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
137 changed files with 1087 additions and 983 deletions

View File

@ -4,71 +4,173 @@
<title>Qt</title>
<para>
Qt is a comprehensive desktop and mobile application development toolkit for
C++. Legacy support is available for Qt 3 and Qt 4, but all current
development uses Qt 5. The Qt 5 packages in Nixpkgs are updated frequently to
take advantage of new features, but older versions are typically retained
until their support window ends. The most important consideration in
packaging Qt-based software is ensuring that each package and all its
dependencies use the same version of Qt 5; this consideration motivates most
of the tools described below.
This section describes the differences between Nix expressions for Qt
libraries and applications and Nix expressions for other C++ software. Some
knowledge of the latter is assumed. There are primarily two problems which
the Qt infrastructure is designed to address: ensuring consistent versioning
of all dependencies and finding dependencies at runtime.
</para>
<section xml:id="ssec-qt-libraries">
<title>Packaging Libraries for Nixpkgs</title>
<example xml:id='qt-default-nix'>
<title>Nix expression for a Qt package (<filename>default.nix</filename>)</title>
<programlisting>
{ mkDerivation, lib, qtbase }: <co xml:id='qt-default-nix-co-1' />
mkDerivation { <co xml:id='qt-default-nix-co-2' />
pname = "myapp";
version = "1.0";
buildInputs = [ qtbase ]; <co xml:id='qt-default-nix-co-3' />
}
</programlisting>
</example>
<calloutlist>
<callout arearefs='qt-default-nix-co-1'>
<para>
Import <literal>mkDerivation</literal> and Qt (such as
<literal>qtbase</literal> modules directly. <emphasis>Do not</emphasis>
import Qt package sets; the Qt versions of dependencies may not be
coherent, causing build and runtime failures.
</para>
</callout>
<callout arearefs='qt-default-nix-co-2'>
<para>
Use <literal>mkDerivation</literal> instead of
<literal>stdenv.mkDerivation</literal>. <literal>mkDerivation</literal>
is a wrapper around <literal>stdenv.mkDerivation</literal> which
applies some Qt-specific settings.
This deriver accepts the same arguments as
<literal>stdenv.mkDerivation</literal>; refer to
<xref linkend='chap-stdenv' /> for details.
</para>
<para>
To use another deriver instead of
<literal>stdenv.mkDerivation</literal>, use
<literal>mkDerivationWith</literal>:
<programlisting>
mkDerivationWith myDeriver {
# ...
}
</programlisting>
If you cannot use <literal>mkDerivationWith</literal>, please refer to
<xref linkend='qt-runtime-dependencies' />.
</para>
</callout>
<callout arearefs='qt-default-nix-co-3'>
<para>
<literal>mkDerivation</literal> accepts the same arguments as
<literal>stdenv.mkDerivation</literal>, such as
<literal>buildInputs</literal>.
</para>
</callout>
</calloutlist>
<formalpara xml:id='qt-runtime-dependencies'>
<title>Locating runtime dependencies</title>
<para>
Qt applications need to be wrapped to find runtime dependencies. If you
cannot use <literal>mkDerivation</literal> or
<literal>mkDerivationWith</literal> above, include
<literal>wrapQtAppsHook</literal> in <literal>nativeBuildInputs</literal>:
<programlisting>
stdenv.mkDerivation {
# ...
nativeBuildInputs = [ wrapQtAppsHook ];
}
</programlisting>
</para>
</formalpara>
<para>
Whenever possible, libraries that use Qt 5 should be built with each
available version. Packages providing libraries should be added to the
top-level function <varname>mkLibsForQt5</varname>, which is used to build a
set of libraries for every Qt 5 version. A special
<varname>callPackage</varname> function is used in this scope to ensure that
the entire dependency tree uses the same Qt 5 version. Import dependencies
unqualified, i.e., <literal>qtbase</literal> not
<literal>qt5.qtbase</literal>. <emphasis>Do not</emphasis> import a package
set such as <literal>qt5</literal> or <literal>libsForQt5</literal>.
Entries added to <literal>qtWrapperArgs</literal> are used to modify the
wrappers created by <literal>wrapQtAppsHook</literal>. The entries are
passed as arguments to <xref linkend='fun-wrapProgram' />.
<programlisting>
mkDerivation {
# ...
qtWrapperArgs = [ ''--prefix PATH : /path/to/bin'' ];
}
</programlisting>
</para>
<para>
If a library does not support a particular version of Qt 5, it is best to
mark it as broken by setting its <literal>meta.broken</literal> attribute. A
package may be marked broken for certain versions by testing the
<literal>qtbase.version</literal> attribute, which will always give the
current Qt 5 version.
</para>
</section>
Set <literal>dontWrapQtApps</literal> to stop applications from being
wrapped automatically. It is required to wrap applications manually with
<literal>wrapQtApp</literal>, using the syntax of
<xref linkend='fun-wrapProgram' />:
<programlisting>
mkDerivation {
# ...
<section xml:id="ssec-qt-applications">
<title>Packaging Applications for Nixpkgs</title>
<para>
Call your application expression using
<literal>libsForQt5.callPackage</literal> instead of
<literal>callPackage</literal>. Import dependencies unqualified, i.e.,
<literal>qtbase</literal> not <literal>qt5.qtbase</literal>. <emphasis>Do
not</emphasis> import a package set such as <literal>qt5</literal> or
<literal>libsForQt5</literal>.
dontWrapQtApps = true;
preFixup = ''
wrapQtApp "$out/bin/myapp" --prefix PATH : /path/to/bin
'';
}
</programlisting>
</para>
<para>
Qt 5 maintains strict backward compatibility, so it is generally best to
build an application package against the latest version using the
<varname>libsForQt5</varname> library set. In case a package does not build
with the latest Qt version, it is possible to pick a set pinned to a
particular version, e.g. <varname>libsForQt55</varname> for Qt 5.5, if that
is the latest version the package supports. If a package must be pinned to
an older Qt version, be sure to file a bug upstream; because Qt is strictly
backwards-compatible, any incompatibility is by definition a bug in the
application.
Libraries are built with every available version of Qt. Use the <literal>meta.broken</literal>
attribute to disable the package for unsupported Qt versions:
<programlisting>
mkDerivation {
# ...
# Disable this library with Qt &lt; 5.9.0
meta.broken = builtins.compareVersions qtbase.version "5.9.0" &lt; 0;
}
</programlisting>
</para>
<formalpara>
<title>Adding a library to Nixpkgs</title>
<para>
When testing applications in Nixpkgs, it is a common practice to build the
package with <literal>nix-build</literal> and run it using the created
symbolic link. This will not work with Qt applications, however, because
they have many hard runtime requirements that can only be guaranteed if the
package is actually installed. To test a Qt application, install it with
<literal>nix-env</literal> or run it inside <literal>nix-shell</literal>.
Add a Qt library to <filename>all-packages.nix</filename> by adding it to the
collection inside <literal>mkLibsForQt5</literal>. This ensures that the
library is built with every available version of Qt as needed.
<example xml:id='qt-library-all-packages-nix'>
<title>Adding a Qt library to <filename>all-packages.nix</filename></title>
<programlisting>
{
# ...
mkLibsForQt5 = self: with self; {
# ...
mylib = callPackage ../path/to/mylib {};
};
# ...
}
</programlisting>
</example>
</para>
</section>
</formalpara>
<formalpara>
<title>Adding an application to Nixpkgs</title>
<para>
Add a Qt application to <filename>all-packages.nix</filename> using
<literal>libsForQt5.callPackage</literal> instead of the usual
<literal>callPackage</literal>. The former ensures that all dependencies
are built with the same version of Qt.
<example xml:id='qt-application-all-packages-nix'>
<title>Adding a Qt application to <filename>all-packages.nix</filename></title>
<programlisting>
{
# ...
myapp = libsForQt5.callPackage ../path/to/myapp/ {};
# ...
}
</programlisting>
</example>
</para>
</formalpara>
</section>

View File

@ -64,8 +64,8 @@ in
};
security.wrappers = {
kcheckpass.source = "${lib.getBin plasma5.kscreenlocker}/lib/libexec/kcheckpass";
"start_kdeinit".source = "${lib.getBin pkgs.kinit}/lib/libexec/kf5/start_kdeinit";
kcheckpass.source = "${lib.getBin plasma5.kscreenlocker}/libexec/kcheckpass";
"start_kdeinit".source = "${lib.getBin pkgs.kinit}/libexec/kf5/start_kdeinit";
kwin_wayland = {
source = "${lib.getBin plasma5.kwin}/bin/kwin_wayland";
capabilities = "cap_sys_nice+ep";

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost, zeromq, rapidcheck
, zlib, miniupnpc, qtbase ? null, qttools ? null, utillinux, protobuf, python3, qrencode, libevent
, zlib, miniupnpc, qtbase ? null, qttools ? null, wrapQtAppsHook ? null, utillinux, protobuf, python3, qrencode, libevent
, withGui }:
with stdenv.lib;
@ -14,7 +14,9 @@ stdenv.mkDerivation rec{
sha256 = "5e4e6890e07b620a93fdb24605dae2bb53e8435b2a93d37558e1db1913df405f";
};
nativeBuildInputs = [ pkgconfig autoreconfHook ];
nativeBuildInputs =
[ pkgconfig autoreconfHook ]
++ optional withGui wrapQtAppsHook;
buildInputs = [ openssl db48 boost zlib zeromq
miniupnpc protobuf libevent]
++ optionals stdenv.isLinux [ utillinux ]
@ -34,10 +36,11 @@ stdenv.mkDerivation rec{
doCheck = true;
checkFlags =
[ "LC_ALL=C.UTF-8" ]
# QT_PLUGIN_PATH needs to be set when executing QT, which is needed when testing Bitcoin's GUI.
# See also https://github.com/NixOS/nixpkgs/issues/24256
checkFlags = optionals withGui [ "QT_PLUGIN_PATH=${qtbase}/lib/qt-5.${versions.minor qtbase.version}/plugins" ]
++ [ "LC_ALL=C.UTF-8" ];
++ optional withGui "QT_PLUGIN_PATH=${qtbase}/${qtbase.qtPluginPrefix}";
enableParallelBuilding = true;

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub
, makeWrapper, makeDesktopItem
, wrapQtAppsHook, makeDesktopItem
, qtbase, qmake, qtmultimedia, qttools
, qtgraphicaleffects, qtdeclarative
, qtlocation, qtquickcontrols, qtquickcontrols2
@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
sha256 = "0ilx47771faygf97wilm64xnqxgxa3b43q0g9v014npk0qj8pc31";
};
nativeBuildInputs = [ qmake pkgconfig ];
nativeBuildInputs = [ qmake pkgconfig wrapQtAppsHook ];
buildInputs = [
qtbase qtmultimedia qtgraphicaleffects
@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
qtwebchannel qtwebengine qtx11extras
qtxmlpatterns monero unbound readline
boost libunwind libsodium pcsclite zeromq
cppzmq makeWrapper hidapi
cppzmq hidapi
];
patches = [
@ -94,11 +94,6 @@ stdenv.mkDerivation rec {
cp $src/images/appicons/$size.png \
$out/share/icons/hicolor/$size/apps/monero.png
done;
# wrap runtime dependencies
wrapProgram $out/bin/monero-wallet-gui \
--set QML2_IMPORT_PATH "${qml2ImportPath}" \
--set QT_PLUGIN_PATH "${qtbase.bin}/${qtbase.qtPluginPrefix}"
'';
meta = {

View File

@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, alsaLib, file, fluidsynth, ffmpeg, jack2,
liblo, libpulseaudio, libsndfile, pkgconfig, python3Packages,
which, withFrontend ? true,
withQt ? true, qtbase ? null,
withQt ? true, qtbase ? null, wrapQtAppsHook ? null,
withGtk2 ? true, gtk2 ? null,
withGtk3 ? true, gtk3 ? null }:
@ -9,6 +9,7 @@ with stdenv.lib;
assert withFrontend -> python3Packages ? pyqt5;
assert withQt -> qtbase != null;
assert withQt -> wrapQtAppsHook != null;
assert withGtk2 -> gtk2 != null;
assert withGtk3 -> gtk3 != null;
@ -23,7 +24,9 @@ stdenv.mkDerivation rec {
sha256 = "0fqgncqlr86n38yy7pa118mswfacmfczj7w9xx6c6k0jav3wk29k";
};
nativeBuildInputs = [ python3Packages.wrapPython pkgconfig which ];
nativeBuildInputs = [
python3Packages.wrapPython pkgconfig which wrapQtAppsHook
];
pythonPath = with python3Packages; [
rdflib pyliblo
@ -38,6 +41,7 @@ stdenv.mkDerivation rec {
installFlags = [ "PREFIX=$(out)" ];
dontWrapQtApps = true;
postFixup = ''
# Also sets program_PYTHONPATH and program_PATH variables
wrapPythonPrograms
@ -48,10 +52,9 @@ stdenv.mkDerivation rec {
patchPythonScript "$out/share/carla/carla_settings.py"
for program in $out/bin/*; do
wrapProgram "$program" \
wrapQtApp "$program" \
--prefix PATH : "$program_PATH:${which}/bin" \
--set PYTHONNOUSERSITE true \
--prefix QT_PLUGIN_PATH : "${qtbase.bin}/${qtbase.qtPluginPrefix}"
--set PYTHONNOUSERSITE true
done
'';

View File

@ -3,7 +3,7 @@
, chromaprint, docbook_xml_dtd_45, docbook_xsl, libxslt
, id3lib, taglib, mp4v2, flac, libogg, libvorbis
, zlib, readline , qtbase, qttools, qtmultimedia, qtquickcontrols
, makeWrapper
, wrapQtAppsHook
}:
stdenv.mkDerivation rec {
@ -16,11 +16,12 @@ stdenv.mkDerivation rec {
sha256 = "0xkrsjrbr3z8cn8hjf623l28r3b755gr11i0clv8d8i3s10vhbd8";
};
nativeBuildInputs = [ wrapQtAppsHook ];
buildInputs = with stdenv.lib;
[ pkgconfig cmake python ffmpeg phonon automoc4
chromaprint docbook_xml_dtd_45 docbook_xsl libxslt
id3lib taglib mp4v2 flac libogg libvorbis zlib readline
qtbase qttools qtmultimedia qtquickcontrols makeWrapper ];
qtbase qttools qtmultimedia qtquickcontrols ];
cmakeFlags = [ "-DWITH_APPS=Qt;CLI" ];
NIX_LDFLAGS = "-lm -lpthread";
@ -29,10 +30,6 @@ stdenv.mkDerivation rec {
export DOCBOOKDIR="${docbook_xsl}/xml/xsl/docbook/"
'';
postInstall = ''
wrapProgram $out/bin/kid3-qt --prefix QT_PLUGIN_PATH : $out/lib/qt5/plugins
'';
enableParallelBuilding = true;
meta = with stdenv.lib; {

View File

@ -1,7 +1,7 @@
{ stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d
, pkgconfig, gettext, libXft, dbus, libpng, libjpeg, libungif
, libtiff, librsvg, gconf, libxml2, imagemagick, gnutls, libselinux
, alsaLib, cairo, acl, gpm, cf-private, AppKit, GSS, ImageIO
, alsaLib, cairo, acl, gpm, AppKit, GSS, ImageIO
, withX ? !stdenv.isDarwin
, withGTK2 ? false, gtk2 ? null
, withGTK3 ? true, gtk3 ? null, gsettings-desktop-schemas ? null
@ -62,11 +62,7 @@ stdenv.mkDerivation rec {
++ lib.optionals (withX && withGTK3) [ gtk3 gsettings-desktop-schemas ]
++ lib.optional (stdenv.isDarwin && withX) cairo
++ lib.optionals (withX && withXwidgets) [ webkitgtk24x-gtk3 glib-networking ]
++ lib.optionals stdenv.isDarwin [
AppKit GSS ImageIO
# Needed for CFNotificationCenterAddObserver symbols.
cf-private
];
++ lib.optionals stdenv.isDarwin [ AppKit GSS ImageIO ];
hardeningDisable = [ "format" ];

View File

@ -1,7 +1,7 @@
{ stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm
, Xaw3d, libXcursor, pkgconfig, gettext, libXft, dbus, libpng, libjpeg, libungif
, libtiff, librsvg, gconf, libxml2, imagemagick, gnutls, libselinux
, alsaLib, cairo, acl, gpm, cf-private, AppKit, GSS, ImageIO, m17n_lib, libotf
, alsaLib, cairo, acl, gpm, AppKit, GSS, ImageIO, m17n_lib, libotf
, systemd ? null
, withX ? !stdenv.isDarwin
, withNS ? stdenv.isDarwin
@ -67,11 +67,7 @@ stdenv.mkDerivation rec {
++ lib.optionals (withX && withGTK3) [ gtk3-x11 gsettings-desktop-schemas ]
++ lib.optional (stdenv.isDarwin && withX) cairo
++ lib.optionals (withX && withXwidgets) [ webkitgtk ]
++ lib.optionals withNS [
AppKit GSS ImageIO
# Needed for CFNotificationCenterAddObserver symbols.
cf-private
];
++ lib.optionals withNS [ AppKit GSS ImageIO ];
hardeningDisable = [ "format" ];

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, ncurses, pkgconfig, texinfo, libxml2, gnutls, gettext, autoconf, automake
, cf-private, AppKit, Carbon, Cocoa, IOKit, OSAKit, Quartz, QuartzCore, WebKit
, AppKit, Carbon, Cocoa, IOKit, OSAKit, Quartz, QuartzCore, WebKit
, ImageCaptureCore, GSS, ImageIO # These may be optional
}:
@ -33,8 +33,6 @@ stdenv.mkDerivation rec {
buildInputs = [ ncurses libxml2 gnutls texinfo gettext
AppKit Carbon Cocoa IOKit OSAKit Quartz QuartzCore WebKit
ImageCaptureCore GSS ImageIO # may be optional
# Needed for CFNotificationCenterAddObserver symbols.
cf-private
];
postUnpack = ''

View File

@ -43,6 +43,8 @@ mkDerivation rec {
"-DCLANG_BUILTIN_DIR=${llvmPackages.clang-unwrapped}/lib/clang/${(builtins.parseDrvName llvmPackages.clang.name).version}/include"
];
dontWrapQtApps = true;
postPatch = ''
# FIXME: temporary until https://invent.kde.org/kde/kdevelop/merge_requests/8 is merged
substituteInPlace kdevplatform/language/backgroundparser/parsejob.cpp --replace \
@ -55,8 +57,7 @@ mkDerivation rec {
wrapProgram "$out/bin/kdevelop!" \
--prefix PATH ":" "${lib.makeBinPath [ qttools kde-cli-tools ]}"
wrapProgram "$out/bin/kdevelop" \
--prefix QT_PLUGIN_PATH : $out/lib/qt-${qtVersion}/plugins
wrapQtApp "$out/bin/kdevelop"
# Fix the (now wrapped) kdevelop! to find things in right places:
# - Fixup the one use where KDEV_BASEDIR is assumed to contain kdevelop.

View File

@ -10,7 +10,7 @@
, runtimeShell
# apple frameworks
, CoreServices, CoreData, Cocoa, Foundation, libobjc, cf-private
, CoreServices, CoreData, Cocoa, Foundation, libobjc
, features ? "huge" # One of tiny, small, normal, big or huge
, wrapPythonDrv ? false
@ -132,7 +132,7 @@ in stdenv.mkDerivation rec {
libXmu glib libICE ]
++ stdenv.lib.optional (guiSupport == "gtk2") gtk2-x11
++ stdenv.lib.optional (guiSupport == "gtk3") gtk3-x11
++ stdenv.lib.optionals darwinSupport [ CoreServices CoreData Cocoa Foundation libobjc cf-private ]
++ stdenv.lib.optionals darwinSupport [ CoreServices CoreData Cocoa Foundation libobjc ]
++ stdenv.lib.optional luaSupport lua
++ stdenv.lib.optional pythonSupport python
++ stdenv.lib.optional tclSupport tcl

View File

@ -6,7 +6,7 @@
sha256 = "18ifhv5q9prd175q3vxbqf6qyvkk6bc7d2lhqdk0q78i68kv9y0c";
}
# apple frameworks
, cf-private, Carbon, Cocoa
, Carbon, Cocoa
}:
let
@ -19,11 +19,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ gettext pkgconfig ];
buildInputs = [ ncurses ]
++ stdenv.lib.optionals stdenv.hostPlatform.isDarwin [
Carbon Cocoa
# Needed for OBJC_CLASS_$_NSArray symbols.
cf-private
];
++ stdenv.lib.optionals stdenv.hostPlatform.isDarwin [ Carbon Cocoa ];
configureFlags = [
"--enable-multibyte"

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, gdal, cmake, ninja, proj, clipper, zlib, qtbase, qttools
, qtlocation, qtsensors, doxygen, cups, makeWrapper, qtimageformats
, qtlocation, qtsensors, doxygen, cups, wrapQtAppsHook, qtimageformats
}:
stdenv.mkDerivation rec {
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
buildInputs = [ gdal qtbase qttools qtlocation qtimageformats
qtsensors clipper zlib proj doxygen cups];
nativeBuildInputs = [ cmake makeWrapper ninja ];
nativeBuildInputs = [ cmake wrapQtAppsHook ninja ];
src = fetchFromGitHub {
owner = "OpenOrienteering";
@ -47,9 +47,7 @@ stdenv.mkDerivation rec {
stdenv.lib.optionalString stdenv.isDarwin ''
# Fixes "This application failed to start because it could not find or load the Qt
# platform plugin "cocoa"."
wrapProgram $out/Mapper.app/Contents/MacOS/Mapper \
--set QT_QPA_PLATFORM_PLUGIN_PATH ${qtbase.bin}/lib/qt-*/plugins/platforms \
--set QT_PLUGIN_PATH ${qtbase.bin}/${qtbase.qtPluginPrefix}:${qtimageformats}/${qtbase.qtPluginPrefix}
wrapQtApp $out/Mapper.app/Contents/MacOS/Mapper
mkdir -p $out/bin
ln -s $out/Mapper.app/Contents/MacOS/Mapper $out/bin/mapper
'';

View File

@ -3,7 +3,7 @@
, libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, shared-mime-info
, python2Packages, libexif, gettext, xorg, glib-networking, libmypaint, gexiv2
, harfbuzz, mypaint-brushes, libwebp, libheif, libgudev, openexr
, AppKit, Cocoa, gtk-mac-integration-gtk2, cf-private }:
, AppKit, Cocoa, gtk-mac-integration-gtk2 }:
let
inherit (python2Packages) pygtk wrapPython python;
@ -24,9 +24,7 @@ in stdenv.mkDerivation rec {
libmng librsvg libwmf zlib libzip ghostscript aalib shared-mime-info libwebp libheif
python pygtk libexif xorg.libXpm glib-networking libmypaint mypaint-brushes
] ++ stdenv.lib.optionals stdenv.isDarwin [
# cf-private is needed to get some things not in swift-corefoundation.
# For instance _OBJC_CLASS_$_NSArray is missing.
AppKit Cocoa gtk-mac-integration-gtk2 cf-private
AppKit Cocoa gtk-mac-integration-gtk2
] ++ stdenv.lib.optionals stdenv.isLinux [ libgudev ];
pythonPath = [ pygtk ];

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, fetchpatch
, pkgconfig, makeWrapper
, pkgconfig, wrapQtAppsHook
, poppler, qt5, gnuplot
}:
@ -36,9 +36,9 @@ stdenv.mkDerivation rec {
})
];
nativeBuildInputs = [ pkgconfig qt5.qttools qt5.qmake wrapQtAppsHook ];
QT_PLUGIN_PATH = "${qt5.qtbase}/${qt5.qtbase.qtPluginPrefix}";
nativeBuildInputs = [ pkgconfig qt5.qttools qt5.qmake makeWrapper ];
buildInputs = [ qt5.qtbase poppler ];
enableParallelBuilding = true;
@ -50,9 +50,5 @@ stdenv.mkDerivation rec {
"QCOLLECTIONGENERATORCOMMAND=qhelpgenerator"
];
postFixup = ''
wrapProgram "$out/bin/qtikz" \
--prefix QT_PLUGIN_PATH : "${qt5.qtbase}/${qt5.qtbase.qtPluginPrefix}" \
--prefix PATH : "${gnuplot}/bin"
'';
qtWrapperArgs = [ ''--prefix PATH : "${gnuplot}/bin"'' ];
}

View File

@ -1,37 +1,39 @@
{
mkDerivation, lib, makeWrapper,
mkDerivation, lib, config,
extra-cmake-modules, kdoctools,
karchive, kconfig, kcrash, kdbusaddons, ki18n, kiconthemes, kitemmodels,
khtml, kio, kparts, kpty, kservice, kwidgetsaddons, libarchive,
breeze-icons, karchive, kconfig, kcrash, kdbusaddons, ki18n,
kiconthemes, kitemmodels, khtml, kio, kparts, kpty, kservice, kwidgetsaddons,
libarchive, libzip,
# Archive tools
p7zip, unzip, zip,
p7zip, lrzip,
# Unfree tools
unfreeEnableUnrar ? false, unrar,
}:
let
extraTools = [ p7zip lrzip ] ++ lib.optional unfreeEnableUnrar unrar;
in
mkDerivation {
name = "ark";
nativeBuildInputs = [ extra-cmake-modules kdoctools makeWrapper ];
propagatedBuildInputs = [
karchive kconfig kcrash kdbusaddons khtml ki18n kiconthemes kio kitemmodels
kparts kpty kservice kwidgetsaddons libarchive
];
outputs = [ "out" "dev" ];
postFixup =
let
PATH =
lib.makeBinPath
([ p7zip unzip zip ] ++ lib.optional unfreeEnableUnrar unrar);
in ''
wrapProgram "$out/bin/ark" --prefix PATH : "${PATH}"
'';
meta = {
license = with lib.licenses;
[ gpl2 lgpl3 ] ++ lib.optional unfreeEnableUnrar unfree;
maintainers = [ lib.maintainers.ttuegel ];
};
outputs = [ "out" "dev" ];
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [ libarchive libzip ] ++ extraTools;
propagatedBuildInputs = [
breeze-icons karchive kconfig kcrash kdbusaddons khtml ki18n kiconthemes kio
kitemmodels kparts kpty kservice kwidgetsaddons
];
qtWrapperArgs = [ "--prefix" "PATH" ":" (lib.makeBinPath extraTools) ];
}

View File

@ -1,18 +1,18 @@
{
stdenv, mkDerivation, lib,
extra-cmake-modules, kdoctools,
chmlib ? null, discount, djvulibre, ebook_tools, kactivities, karchive, kbookmarks,
kcompletion, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons,
kdegraphics-mobipocket, kiconthemes, kjs, khtml, kio, kparts, kpty, kwallet,
kwindowsystem, libkexiv2, libspectre, libzip, phonon, poppler, qca-qt5,
qtdeclarative, qtsvg, threadweaver, kcrash
breeze-icons, chmlib ? null, discount, djvulibre, ebook_tools, kactivities,
karchive, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons,
kdbusaddons, kdegraphics-mobipocket, kiconthemes, kjs, khtml, kio, kparts,
kpty, kwallet, kwindowsystem, libkexiv2, libspectre, libzip, phonon, poppler,
qca-qt5, qtdeclarative, qtsvg, threadweaver, kcrash
}:
mkDerivation {
name = "okular";
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [
discount djvulibre ebook_tools kactivities karchive kbookmarks
breeze-icons discount djvulibre ebook_tools kactivities karchive kbookmarks
kcompletion kconfig kconfigwidgets kcoreaddons kdbusaddons
kdegraphics-mobipocket kiconthemes kjs khtml kio kparts kpty kwallet
kwindowsystem libkexiv2 libspectre libzip phonon poppler qca-qt5

View File

@ -24,9 +24,7 @@
wayland,
# Darwin Frameworks
cf-private,
AppKit,
CoreFoundation,
CoreGraphics,
CoreServices,
CoreText,
@ -74,11 +72,7 @@ in buildRustPackage rec {
];
buildInputs = rpathLibs
++ lib.optionals stdenv.isDarwin [
AppKit CoreFoundation CoreGraphics CoreServices CoreText Foundation OpenGL
# Needed for CFURLResourceIsReachable symbols.
cf-private
];
++ lib.optionals stdenv.isDarwin [ AppKit CoreGraphics CoreServices CoreText Foundation OpenGL ];
outputs = [ "out" "terminfo" ];

View File

@ -37,11 +37,6 @@ mkDerivation rec {
rm "$out/lib"
'';
postInstall = ''
wrapProgram $out/bin/albert \
--prefix XDG_DATA_DIRS : $out/share
'';
meta = with lib; {
homepage = https://albertlauncher.github.io/;
description = "Desktop agnostic launcher";

View File

@ -2,7 +2,6 @@
, Carbon
, Cocoa
, Kernel
, cf-private
, fetchFromGitHub
, lib
, mesa_glu
@ -25,12 +24,7 @@ buildGoPackage rec {
xorg.libXinerama
xorg.libXrandr
xorg.libXxf86vm
] ++ lib.optionals stdenv.isDarwin [
Carbon
Cocoa
Kernel
cf-private /* Needed for NSDefaultRunLoopMode */
];
] ++ lib.optionals stdenv.isDarwin [ Carbon Cocoa Kernel ];
src = fetchFromGitHub {
owner = "liamg";

View File

@ -1,4 +1,4 @@
{ lib, fetchurl, python3Packages, qtbase, makeWrapper }:
{ lib, fetchurl, python3Packages, qtbase, wrapQtAppsHook }:
python3Packages.buildPythonApplication rec {
pname = "electron-cash";
@ -32,7 +32,7 @@ python3Packages.buildPythonApplication rec {
btchip
];
nativeBuildInputs = [ makeWrapper ];
nativeBuildInputs = [ wrapQtAppsHook ];
postPatch = ''
substituteInPlace contrib/requirements/requirements.txt \
@ -54,10 +54,6 @@ python3Packages.buildPythonApplication rec {
postInstall = ''
substituteInPlace $out/share/applications/electron-cash.desktop \
--replace "Exec=electron-cash" "Exec=$out/bin/electron-cash"
# Please remove this when #44047 is fixed
wrapProgram $out/bin/electron-cash \
--prefix QT_PLUGIN_PATH : ${qtbase}/lib/qt-5.${lib.versions.minor qtbase.version}/plugins
'';
doInstallCheck = true;

View File

@ -17,6 +17,7 @@
, qtsvg
, qtx11extras
, quazip
, wrapQtAppsHook
, yubikey-personalization
, zlib
@ -73,12 +74,11 @@ stdenv.mkDerivation rec {
doCheck = true;
checkPhase = ''
export LC_ALL="en_US.UTF-8"
export QT_PLUGIN_PATH="${qtbase.bin}/${qtbase.qtPluginPrefix}"
export QT_QPA_PLATFORM=offscreen
make test ARGS+="-E testgui --output-on-failure"
'';
nativeBuildInputs = [ cmake makeWrapper qttools ];
nativeBuildInputs = [ cmake wrapQtAppsHook qttools ];
buildInputs = [
curl
@ -102,10 +102,9 @@ stdenv.mkDerivation rec {
++ stdenv.lib.optional withKeePassKeeShareSecure quazip
++ stdenv.lib.optional stdenv.isDarwin qtmacextras;
postInstall = optionalString stdenv.isDarwin ''
preFixup = optionalString stdenv.isDarwin ''
# Make it work without Qt in PATH.
wrapProgram $out/Applications/KeePassXC.app/Contents/MacOS/KeePassXC \
--set QT_PLUGIN_PATH ${qtbase.bin}/${qtbase.qtPluginPrefix}
wrapQtApp $out/Applications/KeePassXC.app/Contents/MacOS/KeePassXC
'';
meta = {

View File

@ -9,7 +9,6 @@
IOKit,
Kernel,
OpenGL,
cf-private,
libicns,
libpng,
librsvg,
@ -40,7 +39,6 @@ buildPythonApplication rec {
IOKit
Kernel
OpenGL
cf-private
libpng
python3
zlib

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, sane-backends, qtbase, qtsvg, nss, autoPatchelfHook, lib, makeWrapper }:
{ stdenv, fetchurl, sane-backends, qtbase, qtsvg, nss, autoPatchelfHook, lib, wrapQtAppsHook }:
let
version = "5.4.10";
@ -11,17 +11,12 @@ in stdenv.mkDerivation {
sha256 = "1902ahb2g9xanrip1n0ihr31az8sv9fsvzddnzf70kbwlfclnqf7";
};
nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
nativeBuildInputs = [ autoPatchelfHook wrapQtAppsHook ];
buildInputs = [ nss qtbase qtsvg sane-backends stdenv.cc.cc ];
dontStrip = true;
# Please remove this when #44047 is fixed
postInstall = ''
wrapProgram $out/bin/masterpdfeditor5 --prefix QT_PLUGIN_PATH : ${lib.getBin qtbase}/${qtbase.qtPluginPrefix}
'';
installPhase = ''
runHook preInstall

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, fetchFromGitHub, autoreconfHook, cmake, makeWrapper, pkgconfig, qmake
{ stdenv, fetchurl, fetchFromGitHub, autoreconfHook, cmake, wrapQtAppsHook, pkgconfig, qmake
, curl, grantlee, libgit2, libusb, libssh2, libxml2, libxslt, libzip, zlib
, qtbase, qtconnectivity, qtlocation, qtsvg, qttools, qtwebkit, libXcomposite
}:
@ -79,18 +79,13 @@ in stdenv.mkDerivation rec {
qtbase qtconnectivity qtsvg qttools qtwebkit
];
nativeBuildInputs = [ cmake makeWrapper pkgconfig ];
nativeBuildInputs = [ cmake wrapQtAppsHook pkgconfig ];
cmakeFlags = [
"-DLIBDC_FROM_PKGCONFIG=ON"
"-DNO_PRINTING=OFF"
];
postInstall = ''
wrapProgram $out/bin/subsurface \
--prefix QT_PLUGIN_PATH : "${googlemaps}/${googlemaps.pluginsSubdir}"
'';
enableParallelBuilding = true;
passthru = { inherit version libdc googlemaps; };

View File

@ -1,5 +1,5 @@
{ stdenv, lib, fetchFromGitHub, fetchpatch, fetchurl, cmake, xlibsWrapper
, ApplicationServices, Carbon, Cocoa, CoreServices, ScreenSaver, cf-private
, ApplicationServices, Carbon, Cocoa, CoreServices, ScreenSaver
, libX11, libXi, libXtst, libXrandr, xinput, curl, openssl, unzip }:
stdenv.mkDerivation rec {
@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
buildInputs = [
cmake curl openssl
] ++ lib.optionals stdenv.isDarwin [
ApplicationServices Carbon Cocoa CoreServices ScreenSaver cf-private
ApplicationServices Carbon Cocoa CoreServices ScreenSaver
] ++ lib.optionals stdenv.isLinux [ xlibsWrapper libX11 libXi libXtst libXrandr xinput ];
installPhase = ''

View File

@ -1,6 +1,6 @@
{ enableGUI ? true, enablePDFtoPPM ? true, useT1Lib ? false
, stdenv, fetchurl, zlib, libpng, freetype ? null, t1lib ? null
, cmake, qtbase ? null, qtsvg ? null, makeWrapper
, cmake, qtbase ? null, qtsvg ? null, wrapQtAppsHook
}:
assert enableGUI -> qtbase != null && qtsvg != null && freetype != null;
@ -22,7 +22,9 @@ stdenv.mkDerivation {
# https://cmake.org/cmake/help/v3.10/command/cmake_minimum_required.html
patches = stdenv.lib.optional stdenv.isDarwin ./cmake_version.patch;
nativeBuildInputs = [ cmake makeWrapper ];
nativeBuildInputs =
[ cmake ]
++ stdenv.lib.optional enableGUI wrapQtAppsHook;
cmakeFlags = ["-DSYSTEM_XPDFRC=/etc/xpdfrc" "-DA4_PAPER=ON"];
@ -36,11 +38,6 @@ stdenv.mkDerivation {
hardeningDisable = [ "format" ];
postInstall = stdenv.lib.optionalString (stdenv.isDarwin && enableGUI) ''
wrapProgram $out/bin/xpdf \
--set QT_PLUGIN_PATH ${qtbase.bin}/${qtbase.qtPluginPrefix}:${qtsvg.bin}/${qtbase.qtPluginPrefix}
'';
meta = with stdenv.lib; {
homepage = https://www.xpdfreader.com;
description = "Viewer for Portable Document Format (PDF) files";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, rustPlatform, cmake, pkgconfig, openssl, CoreServices, cf-private }:
{ stdenv, fetchFromGitHub, rustPlatform, cmake, pkgconfig, openssl, CoreServices }:
rustPlatform.buildRustPackage rec {
pname = "zola";
@ -14,7 +14,8 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "1brmlg6nqyls1v62z0fg0km150q9m7h71wy67lidcnw76icmqr24";
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices cf-private ];
buildInputs = [ openssl ]
++ stdenv.lib.optional stdenv.isDarwin CoreServices;
postInstall = ''
install -D -m 444 completions/zola.bash \

View File

@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
];
enableParallelBuilding = true;
nativeBuildInputs = [ qt.qmake makeWrapper ];
nativeBuildInputs = [ qt.qmake qt.wrapQtAppsHook ];
buildInputs = [ qt.qtbase ];
qmakeFlags = [ "CONFIG-=app_bundle" ];
@ -29,11 +29,6 @@ stdenv.mkDerivation rec {
cp qtchan $out/bin
'';
preFixup = ''
wrapProgram $out/bin/qtchan \
--suffix QT_PLUGIN_PATH : ${qt.qtbase.bin}/${qt.qtbase.qtPluginPrefix}
'';
meta = with stdenv.lib; {
description = "4chan browser in qt5";
homepage = "https://github.com/siavash119/qtchan";

View File

@ -1,7 +1,7 @@
{ stable, version, sha256Hash, archPatchesRevision, archPatchesHash }:
{ mkDerivation, lib, fetchFromGitHub, fetchsvn
, pkgconfig, pythonPackages, cmake, wrapGAppsHook, gcc8
, pkgconfig, pythonPackages, cmake, wrapGAppsHook, wrapQtAppsHook, gcc8
, qtbase, qtimageformats, gtk3, libappindicator-gtk3, libnotify, xdg_utils
, dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
}:
@ -43,7 +43,7 @@ mkDerivation rec {
--replace '"notify"' '"${libnotify}/lib/libnotify.so"'
'';
nativeBuildInputs = [ pkgconfig pythonPackages.gyp cmake wrapGAppsHook gcc8 ];
nativeBuildInputs = [ pkgconfig pythonPackages.gyp cmake wrapGAppsHook wrapQtAppsHook gcc8 ];
# We want to run wrapProgram manually (with additional parameters)
dontWrapGApps = true;
@ -137,12 +137,13 @@ mkDerivation rec {
done
'';
dontWrapQtApps = true;
postFixup = ''
# This is necessary to run Telegram in a pure environment.
# We also use gappsWrapperArgs from wrapGAppsHook.
wrapProgram $out/bin/telegram-desktop \
"''${gappsWrapperArgs[@]}" \
--prefix QT_PLUGIN_PATH : "${qtbase}/${qtbase.qtPluginPrefix}" \
"''${qtWrapperArgs[@]}" \
--prefix PATH : ${xdg_utils}/bin \
--set XDG_RUNTIME_DIR "XDG-RUNTIME-DIR"
sed -i $out/bin/telegram-desktop \

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, qtbase, qtsvg, qmake, pkgconfig, boost, wirelesstools, iw, qwt, makeWrapper }:
{ stdenv, fetchurl, qtbase, qtsvg, qmake, pkgconfig, boost, wirelesstools, iw, qwt, wrapQtAppsHook }:
stdenv.mkDerivation rec {
name = "linssid-${version}";
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "13d35rlcjncd8lx3khkgn9x8is2xjd5fp6ns5xsn3w6l4xj9b4gl";
};
nativeBuildInputs = [ pkgconfig qmake makeWrapper ];
nativeBuildInputs = [ pkgconfig qmake wrapQtAppsHook ];
buildInputs = [ qtbase qtsvg boost qwt ];
patches = [ ./0001-unbundled-qwt.patch ];
@ -26,11 +26,8 @@ stdenv.mkDerivation rec {
rm -fr qwt-lib
'';
postInstall = ''
wrapProgram $out/bin/linssid \
--prefix QT_PLUGIN_PATH : ${qtbase}/${qtbase.qtPluginPrefix} \
--prefix PATH : ${stdenv.lib.makeBinPath [ wirelesstools iw ]}
'';
qtWrapperArgs =
[ ''--prefix PATH : ${stdenv.lib.makeBinPath [ wirelesstools iw ]}'' ];
meta = with stdenv.lib; {
description = "Graphical wireless scanning for Linux";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, makeWrapper, pkgconfig
{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, pkgconfig
, qt4, qmake4Hook, qt5, avahi, boost, libopus, libsndfile, protobuf3_6, speex, libcap
, alsaLib, python
, jackSupport ? false, libjack2 ? null
@ -158,11 +158,6 @@ in {
murmur_git = (server gitSource).overrideAttrs (old: {
meta = old.meta // { broken = iceSupport; };
nativeBuildInputs = old.nativeBuildInputs or [] ++ [ makeWrapper ];
installPhase = old.installPhase or "" + ''
wrapProgram $out/bin/murmurd --suffix QT_PLUGIN_PATH : \
${getBin qt5.qtbase}/${qt5.qtbase.qtPluginPrefix}
'';
nativeBuildInputs = old.nativeBuildInputs or [] ++ [ qt5.wrapQtAppsHook ];
});
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, qmake, pkgconfig, makeWrapper
{ stdenv, fetchFromGitHub, qmake, pkgconfig, wrapQtAppsHook
, qtbase, qttools, qtwebkit, sqlite
}:
@ -13,14 +13,9 @@ stdenv.mkDerivation rec {
sha256 = "0xav9qr8n6310636nfbgx4iix65fs3ya5rz2isxsf38bkjm7r3pa";
};
nativeBuildInputs = [ qmake pkgconfig makeWrapper ];
nativeBuildInputs = [ qmake pkgconfig wrapQtAppsHook ];
buildInputs = [ qtbase qttools qtwebkit sqlite.dev ];
postFixup = ''
wrapProgram $out/bin/quiterss \
--prefix QT_PLUGIN_PATH : "${qtbase}/${qtbase.qtPluginPrefix}"
'';
meta = with stdenv.lib; {
description = "A Qt-based RSS/Atom news feed reader";
longDescription = ''

View File

@ -1,5 +1,5 @@
{ stdenv, fetchgit, cmake, pkgconfig, qtbase, qtwebkit, qtkeychain, qttools, sqlite
, inotify-tools, makeWrapper, openssl_1_1, pcre, qtwebengine, libsecret
, inotify-tools, wrapQtAppsHook, openssl_1_1, pcre, qtwebengine, libsecret
, libcloudproviders
}:
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
fetchSubmodules = true;
};
nativeBuildInputs = [ pkgconfig cmake makeWrapper ];
nativeBuildInputs = [ pkgconfig cmake wrapQtAppsHook ];
buildInputs = [ qtbase qtwebkit qtkeychain qttools qtwebengine sqlite openssl_1_1.out pcre inotify-tools libcloudproviders ];
@ -31,13 +31,13 @@ stdenv.mkDerivation rec {
"-DINOTIFY_INCLUDE_DIR=${inotify-tools}/include"
];
qtWrapperArgs = [
''--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ libsecret ]}''
];
postInstall = ''
sed -i 's/\(Icon.*\)=nextcloud/\1=Nextcloud/g' \
$out/share/applications/nextcloud.desktop
wrapProgram "$out/bin/nextcloud" \
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ libsecret ]} \
--prefix QT_PLUGIN_PATH : ${qtbase}/${qtbase.qtPluginPrefix}
'';
meta = with stdenv.lib; {

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, lib, qtbase, qtmultimedia, qtsvg, qtdeclarative, qttools, full,
libsecret, libGL, libpulseaudio, glib, makeWrapper, makeDesktopItem }:
{ stdenv, fetchurl, lib, qtbase, qtmultimedia, qtsvg, qtdeclarative, qttools, full
, libsecret, libGL, libpulseaudio, glib, wrapQtAppsHook, makeDesktopItem }:
let
version = "1.1.5-1";
@ -28,7 +28,7 @@ in stdenv.mkDerivation rec {
sha256 = "1y5mphrs60zd6km9z64vskk70q9zzw4g6js7qvgl572wv81w2l75";
};
nativeBuildInputs = [ makeWrapper ];
nativeBuildInputs = [ wrapQtAppsHook ];
sourceRoot = ".";
@ -60,18 +60,11 @@ in stdenv.mkDerivation rec {
libpulseaudio
glib
];
qtPath = prefix: "${full}/${prefix}";
in ''
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${rpath}" \
$out/lib/protonmail-bridge
wrapProgram $out/lib/protonmail-bridge \
--set QT_PLUGIN_PATH "${qtPath qtbase.qtPluginPrefix}" \
--set QML_IMPORT_PATH "${qtPath qtbase.qtQmlPrefix}" \
--set QML2_IMPORT_PATH "${qtPath qtbase.qtQmlPrefix}" \
'';
meta = with stdenv.lib; {

View File

@ -30,7 +30,7 @@ in stdenv.mkDerivation {
nativeBuildInputs = [
bison cmake extra-cmake-modules flex pkgconfig
];
] ++ optional withQt qt5.wrapQtAppsHook;
buildInputs = [
gettext pcre perl libpcap lua5 libssh nghttp2 openssl libgcrypt
@ -70,12 +70,9 @@ in stdenv.mkDerivation {
done
done
wrapProgram $out/Applications/Wireshark.app/Contents/MacOS/Wireshark \
--set QT_PLUGIN_PATH ${qt5.qtbase.bin}/${qt5.qtbase.qtPluginPrefix}
wrapQtApp $out/Applications/Wireshark.app/Contents/MacOS/Wireshark
'' else optionalString withQt ''
install -Dm644 -t $out/share/applications ../wireshark.desktop
wrapProgram $out/bin/wireshark \
--set QT_PLUGIN_PATH ${qt5.qtbase.bin}/${qt5.qtbase.qtPluginPrefix}
substituteInPlace $out/share/applications/*.desktop \
--replace "Exec=wireshark" "Exec=$out/bin/wireshark"

View File

@ -1,4 +1,5 @@
{ stdenv, lib, fetchurl, doxygen, extra-cmake-modules, graphviz, kdoctools
, wrapQtAppsHook
, akonadi, alkimia, aqbanking, gmp, gwenhywfar, kactivities, karchive
, kcmutils, kcontacts, kdewebkit, kdiagram, kholidays, kidentitymanagement
@ -29,6 +30,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
doxygen extra-cmake-modules graphviz kdoctools python2Packages.wrapPython
wrapQtAppsHook
];
buildInputs = [
@ -57,10 +59,8 @@ stdenv.mkDerivation rec {
doInstallCheck = stdenv.hostPlatform == stdenv.buildPlatform;
installCheckInputs = [ xvfb_run ];
installCheckPhase = let
pluginPath = "${qtbase.bin}/${qtbase.qtPluginPrefix}";
in lib.optionalString doInstallCheck ''
QT_PLUGIN_PATH=${lib.escapeShellArg pluginPath} \
installCheckPhase =
lib.optionalString doInstallCheck ''
xvfb-run -s '-screen 0 1024x768x24' make test \
ARGS="-E '(reports-chart-test)'" # Test fails, so exclude it for now.
'';

View File

@ -1,4 +1,4 @@
{ stdenv, fetchsvn, makeWrapper, pkgconfig, cmake, qtbase, cairo, pixman,
{ stdenv, fetchsvn, wrapQtAppsHook, pkgconfig, cmake, qtbase, cairo, pixman,
boost, cups, fontconfig, freetype, hunspell, libjpeg, libtiff, libxml2, lcms2,
podofo, poppler, poppler_data, python2, harfbuzz, qtimageformats, qttools }:
@ -18,17 +18,13 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
nativeBuildInputs = [ wrapQtAppsHook ];
buildInputs = [
makeWrapper pkgconfig cmake qtbase cairo pixman boost cups fontconfig
pkgconfig cmake qtbase cairo pixman boost cups fontconfig
freetype hunspell libjpeg libtiff libxml2 lcms2 podofo poppler
poppler_data pythonEnv harfbuzz qtimageformats qttools
];
postFixup = ''
wrapProgram $out/bin/scribus \
--prefix QT_PLUGIN_PATH : "${qtbase}/${qtbase.qtPluginPrefix}"
'';
meta = {
maintainers = [ stdenv.lib.maintainers.erictapen ];
platforms = stdenv.lib.platforms.linux;

View File

@ -1,7 +1,7 @@
{ mkDerivation, lib, fetchFromGitHub
, cmake, freetype, libpng, libGLU_combined, openssl, perl, libiconv
, qtscript, qtserialport, qttools
, qtmultimedia, qtlocation, makeWrapper, qtbase
, qtmultimedia, qtlocation, qtbase, wrapQtAppsHook
}:
mkDerivation rec {
@ -15,18 +15,13 @@ mkDerivation rec {
sha256 = "0hf1wv2bb5j7ny2xh29mj9m4hjblhn02zylay8gl85w7xlqs7s5r";
};
nativeBuildInputs = [ cmake perl ];
nativeBuildInputs = [ cmake perl wrapQtAppsHook ];
buildInputs = [
freetype libpng libGLU_combined openssl libiconv qtscript qtserialport qttools
qtmultimedia qtlocation qtbase makeWrapper
qtmultimedia qtlocation qtbase
];
postInstall = ''
wrapProgram $out/bin/stellarium \
--prefix QT_PLUGIN_PATH : "${qtbase}/lib/qt-5.${lib.versions.minor qtbase.version}/plugins"
'';
meta = with lib; {
description = "Free open-source planetarium";
homepage = http://stellarium.org/;

View File

@ -1,6 +1,6 @@
{ stdenv, fetchFromGitHub, pkgconfig, cmake,
libzip, boost, fftw, qtbase,
libusb, makeWrapper, libsigrok4dsl, libsigrokdecode4dsl
libusb, wrapQtAppsHook, libsigrok4dsl, libsigrokdecode4dsl
}:
stdenv.mkDerivation rec {
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
./install.patch
];
nativeBuildInputs = [ cmake pkgconfig makeWrapper ];
nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ];
buildInputs = [
boost fftw qtbase libusb libzip libsigrokdecode4dsl libsigrok4dsl
@ -32,11 +32,6 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
postFixup = ''
wrapProgram $out/bin/DSView --suffix QT_PLUGIN_PATH : \
${qtbase.bin}/${qtbase.qtPluginPrefix}
'';
meta = with stdenv.lib; {
description = "A GUI program for supporting various instruments from DreamSourceLab, including logic analyzer, oscilloscope, etc";
homepage = https://www.dreamsourcelab.com/;

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, fetchpatch, cmake, pcre, pkgconfig, python2
, libX11, libXpm, libXft, libXext, libGLU_combined, zlib, libxml2, lzma, gsl_1
, Cocoa, OpenGL, cf-private, noSplash ? false }:
, Cocoa, OpenGL, noSplash ? false }:
stdenv.mkDerivation rec {
name = "root-${version}";
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ cmake pcre python2 zlib libxml2 lzma gsl_1 ]
++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU_combined ]
++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL cf-private ]
++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
;
patches = [

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, cmake, pcre, pkgconfig, python2
, libX11, libXpm, libXft, libXext, libGLU_combined, zlib, libxml2, lz4, lzma, gsl, xxHash
, Cocoa, OpenGL, cf-private, noSplash ? false }:
, Cocoa, OpenGL, noSplash ? false }:
stdenv.mkDerivation rec {
name = "root-${version}";
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ cmake pcre python2 zlib libxml2 lz4 lzma gsl xxHash ]
++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU_combined ]
++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL cf-private ]
++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
;
patches = [

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, lib, qtbase, qtmultimedia, qtscript, qtsensors, qtwebkit, openssl, xkeyboard_config, makeWrapper }:
{ stdenv, fetchurl, lib, qtbase, qtmultimedia, qtscript, qtsensors, qtwebkit, openssl, xkeyboard_config, wrapQtAppsHook }:
stdenv.mkDerivation rec {
name = "p4v-${version}";
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
};
dontBuild = true;
nativeBuildInputs = [makeWrapper];
nativeBuildInputs = [ wrapQtAppsHook ];
ldLibraryPath = lib.makeLibraryPath [
stdenv.cc.cc.lib
@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
openssl
];
dontWrapQtApps = true;
installPhase = ''
mkdir $out
cp -r bin $out
@ -31,10 +32,9 @@ stdenv.mkDerivation rec {
for f in $out/bin/*.bin ; do
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $f
wrapProgram $f \
wrapQtApp $f \
--suffix LD_LIBRARY_PATH : ${ldLibraryPath} \
--suffix QT_XKB_CONFIG_ROOT : ${xkeyboard_config}/share/X11/xkb \
--suffix QT_PLUGIN_PATH : ${qtbase.bin}/${qtbase.qtPluginPrefix}
--suffix QT_XKB_CONFIG_ROOT : ${xkeyboard_config}/share/X11/xkb
done
'';

View File

@ -1,7 +1,7 @@
{ stdenv, lib, fetchurl, cmake, pkgconfig
, zlib, gettext, libvdpau, libva, libXv, sqlite
, yasm, freetype, fontconfig, fribidi
, makeWrapper, libXext, libGLU, qttools, qtbase
, makeWrapper, libXext, libGLU, qttools, qtbase, wrapQtAppsHook
, alsaLib
, withX265 ? true, x265
, withX264 ? true, x264
@ -37,7 +37,9 @@ stdenv.mkDerivation rec {
./bootstrap_logging.patch
];
nativeBuildInputs = [ yasm cmake pkgconfig ];
nativeBuildInputs =
[ yasm cmake pkgconfig ]
++ lib.optional withQT wrapQtAppsHook;
buildInputs = [
zlib gettext libvdpau libva libXv sqlite fribidi fontconfig
freetype alsaLib libXext libGLU makeWrapper
@ -55,7 +57,10 @@ stdenv.mkDerivation rec {
buildCommand = let
qtVersion = "5.${stdenv.lib.versions.minor qtbase.version}";
wrapProgram = f: "wrapProgram ${f} --set ADM_ROOT_DIR $out --prefix LD_LIBRARY_PATH : ${libXext}/lib";
wrapWith = makeWrapper: filename:
"${makeWrapper} ${filename} --set ADM_ROOT_DIR $out --prefix LD_LIBRARY_PATH : ${libXext}/lib";
wrapQtApp = wrapWith "wrapQtApp";
wrapProgram = wrapWith "wrapProgram";
in ''
unpackPhase
cd "$sourceRoot"
@ -74,8 +79,8 @@ stdenv.mkDerivation rec {
${wrapProgram "$out/bin/avidemux3_cli"}
${stdenv.lib.optionalString withQT ''
${wrapProgram "$out/bin/avidemux3_qt5"} --prefix QT_PLUGIN_PATH : ${qtbase}/lib/qt-${qtVersion}/plugins
${wrapProgram "$out/bin/avidemux3_jobs_qt5"} --prefix QT_PLUGIN_PATH : ${qtbase}/lib/qt-${qtVersion}/plugins
${wrapQtApp "$out/bin/avidemux3_qt5"}
${wrapQtApp "$out/bin/avidemux3_jobs_qt5"}
''}
ln -s "$out/bin/avidemux3_${default}" "$out/bin/avidemux"

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, makeWrapper, phonon, phonon-backend-vlc, qtbase, qmake
{ stdenv, fetchFromGitHub, wrapQtAppsHook, phonon, phonon-backend-vlc, qtbase, qmake
, qtdeclarative, qttools
# "Free" key generated by nckx <github@tobias.gr>. I no longer have a Google
@ -17,17 +17,12 @@ stdenv.mkDerivation rec {
};
buildInputs = [ phonon phonon-backend-vlc qtbase qtdeclarative qttools ];
nativeBuildInputs = [ makeWrapper qmake ];
nativeBuildInputs = [ wrapQtAppsHook qmake ];
qmakeFlags = [ "DEFINES+=APP_GOOGLE_API_KEY=${withAPIKey}" ];
enableParallelBuilding = true;
postInstall = ''
wrapProgram $out/bin/minitube \
--prefix QT_PLUGIN_PATH : "${phonon-backend-vlc}/lib/qt-5.${stdenv.lib.versions.minor qtbase.version}/plugins"
'';
meta = with stdenv.lib; {
description = "Stand-alone YouTube video player";
longDescription = ''

View File

@ -70,12 +70,12 @@ ccWrapper_addCVars () {
local role_post role_pre
getHostRoleEnvHook
if [[ -d "$1/include" ]]; then
export NIX_${role_pre}CFLAGS_COMPILE+=" ${ccIncludeFlag:--isystem} $1/include"
if [ -d "$1/include" ]; then
export NIX_${role_pre}CFLAGS_COMPILE+=" -isystem $1/include"
fi
if [[ -d "$1/Library/Frameworks" ]]; then
export NIX_${role_pre}CFLAGS_COMPILE+=" -F$1/Library/Frameworks"
if [ -d "$1/Library/Frameworks" ]; then
export NIX_${role_pre}CFLAGS_COMPILE+=" -iframework $1/Library/Frameworks"
fi
}

View File

@ -34,7 +34,8 @@ mkDerivation {
qtgraphicaleffects qtquickcontrols qtquickcontrols2 qtscript qtwayland qtx11extras
];
outputs = [ "bin" "dev" "out" ];
propagatedUserEnvPkgs = [ qtgraphicaleffects ];
outputs = [ "out" "dev" ];
cmakeFlags = [
"-DNIXPKGS_XMESSAGE=${getBin xmessage}/bin/xmessage"
@ -45,7 +46,7 @@ mkDerivation {
"-DNIXPKGS_XPROP=${getBin xprop}/bin/xprop"
"-DNIXPKGS_ID=${getBin coreutils}/bin/id"
"-DNIXPKGS_DBUS_UPDATE_ACTIVATION_ENVIRONMENT=${getBin dbus}/bin/dbus-update-activation-environment"
"-DNIXPKGS_START_KDEINIT_WRAPPER=${getLib kinit}/lib/libexec/kf5/start_kdeinit_wrapper"
"-DNIXPKGS_START_KDEINIT_WRAPPER=${getLib kinit}/libexec/kf5/start_kdeinit_wrapper"
"-DNIXPKGS_QDBUS=${getBin qttools}/bin/qdbus"
"-DNIXPKGS_KWRAPPER5=${getBin kinit}/bin/kwrapper5"
"-DNIXPKGS_KREADCONFIG5=${getBin kconfig}/bin/kreadconfig5"
@ -72,10 +73,6 @@ mkDerivation {
preConfigure = ''
NIX_CFLAGS_COMPILE+=" -DNIXPKGS_KDOSTARTUPCONFIG5=\"''${!outputBin}/bin/kdostartupconfig5\""
cmakeFlags+=" -DNIXPKGS_STARTPLASMA=''${!outputBin}/lib/libexec/startplasma"
'';
postInstall = ''
moveToOutput lib/libexec/startplasma ''${!outputBin}
cmakeFlags+=" -DNIXPKGS_STARTPLASMA=''${!outputBin}/libexec/startplasma"
'';
}

View File

@ -32,7 +32,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ cmake python which swig ];
buildInputs = [ ncurses zlib libedit libxml2 llvm ]
++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa darwin.cf-private ];
++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ];
CXXFLAGS = "-fno-rtti";
hardeningDisable = [ "format" ];

View File

@ -31,7 +31,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ cmake python which swig ];
buildInputs = [ ncurses zlib libedit libxml2 llvm ]
++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa darwin.cf-private ];
++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ];
CXXFLAGS = "-fno-rtti";
hardeningDisable = [ "format" ];

View File

@ -31,7 +31,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ cmake python which swig ];
buildInputs = [ ncurses zlib libedit libxml2 llvm ]
++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa darwin.cf-private ];
++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ];
CXXFLAGS = "-fno-rtti";
hardeningDisable = [ "format" ];

View File

@ -9,6 +9,7 @@
, libxml2
, llvm
, clang-unwrapped
, perl
, python
, version
, darwin
@ -19,6 +20,11 @@ stdenv.mkDerivation {
src = fetch "lldb" "0klsscg1sczc4nw2l53xggi969k361cng2sjjrfp3bv4g5x14s4v";
nativeBuildInputs = [ cmake perl python which swig ];
buildInputs = [ ncurses zlib libedit libxml2 llvm ]
++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ];
postPatch = ''
# Fix up various paths that assume llvm and clang are installed in the same place
sed -i 's,".*ClangConfig.cmake","${clang-unwrapped}/lib/cmake/clang/ClangConfig.cmake",' \
@ -30,22 +36,21 @@ stdenv.mkDerivation {
sed -i -e 's,message(SEND_ERROR "Cannot find debugserver on system."),,' \
-e 's,string(STRIP ''${XCODE_DEV_DIR} XCODE_DEV_DIR),,' \
tools/debugserver/source/CMakeLists.txt
# Fix /usr/bin references for sandboxed builds.
patchShebangs scripts
'';
nativeBuildInputs = [ cmake python which swig ];
buildInputs = [ ncurses zlib libedit libxml2 llvm ]
++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa darwin.cf-private ];
CXXFLAGS = "-fno-rtti";
hardeningDisable = [ "format" ];
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-I${libxml2.dev}/include/libxml2";
cmakeFlags = [
"-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
"-DSKIP_DEBUGSERVER=ON"
];
CXXFLAGS = "-fno-rtti";
hardeningDisable = [ "format" ];
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-I${libxml2.dev}/include/libxml2";
enableParallelBuilding = true;
postInstall = ''

View File

@ -31,7 +31,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ cmake python which swig ];
buildInputs = [ ncurses zlib libedit libxml2 llvm ]
++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa darwin.cf-private ];
++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ];
CXXFLAGS = "-fno-rtti";
hardeningDisable = [ "format" ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, cmake, makeWrapper
{ stdenv, fetchFromGitHub, cmake
, boost, python3, eigen
, icestorm, trellis
@ -6,7 +6,7 @@
# laptop (and over a remote X server on my server...), so mark it broken for
# now, with intent to fix later.
, enableGui ? false
, qtbase
, qtbase, wrapQtAppsHook
}:
let
@ -36,7 +36,9 @@ stdenv.mkDerivation rec {
sha256 = "1y14jpa948cwk0i19bsfqh7yxsxkgskm4xym4z179sjcvcdvrn3a";
};
nativeBuildInputs = [ cmake makeWrapper ];
nativeBuildInputs
= [ cmake ]
++ (stdenv.lib.optional enableGui wrapQtAppsHook);
buildInputs
= [ boostPython python3 eigen ]
++ (stdenv.lib.optional enableGui qtbase);
@ -56,13 +58,6 @@ stdenv.mkDerivation rec {
--replace 'git log -1 --format=%h' 'echo ${substring 0 11 src.rev}'
'';
postInstall = stdenv.lib.optionalString enableGui ''
for x in generic ice40 ecp5; do
wrapProgram $out/bin/nextpnr-$x \
--prefix QT_PLUGIN_PATH : "${qtbase}/${qtbase.qtPluginPrefix}"
done
'';
meta = with stdenv.lib; {
description = "Place and route tool for FPGAs";
homepage = https://github.com/yosyshq/nextpnr;

View File

@ -83,8 +83,8 @@
_osx_support.customize_compiler(_config_vars)
_config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True'
- (cc, cxx, opt, cflags, ccshared, ldshared, shlib_suffix, ar, ar_flags) = \
- get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
- (cc, cxx, cflags, ccshared, ldshared, shlib_suffix, ar, ar_flags) = \
- get_config_vars('CC', 'CXX', 'CFLAGS',
- 'CCSHARED', 'LDSHARED', 'SHLIB_SUFFIX', 'AR', 'ARFLAGS')
+ (cc, cxx, cflags, ccshared, ldshared, ldcxxshared, shlib_suffix, ar, ar_flags) = \
+ get_config_vars('CC', 'CXX', 'CFLAGS', 'CCSHARED', 'LDSHARED', 'LDCXXSHARED',
@ -108,7 +108,7 @@
ldshared = ldshared + ' ' + os.environ['LDFLAGS']
+ ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS']
if 'CFLAGS' in os.environ:
- cflags = opt + ' ' + os.environ['CFLAGS']
- cflags = cflags + ' ' + os.environ['CFLAGS']
+ cflags = os.environ['CFLAGS']
ldshared = ldshared + ' ' + os.environ['CFLAGS']
+ if 'CXXFLAGS' in os.environ:

View File

@ -77,10 +77,10 @@ in {
sourceVersion = {
major = "3";
minor = "6";
patch = "8";
patch = "9";
suffix = "";
};
sha256 = "14qi6n5gpcjnwy165wi9hkfcmbadc95ny6bxxldknxwmx50n4i1m";
sha256 = "1nkh70azbv866aw5a9bbxsxarsf40233vrzpjq17z3rz9ramybsy";
inherit (darwin) CF configd;
inherit passthruFun;
};
@ -90,10 +90,10 @@ in {
sourceVersion = {
major = "3";
minor = "7";
patch = "3";
patch = "4";
suffix = "";
};
sha256 = "066ka8csjwkycqpgyv424d8hhqhfd7r6svsp4sfcvkylci0baq6s";
sha256 = "0gxiv5617zd7dnqm5k9r4q2188lk327nf9jznwq9j6b8p0s92ygv";
inherit (darwin) CF configd;
inherit passthruFun;
};

View File

@ -6,7 +6,6 @@
, libXext, libICE, libXrandr
, pulseaudioSupport ? config.pulseaudio or stdenv.isLinux && !stdenv.hostPlatform.isAndroid, libpulseaudio
, OpenGL, CoreAudio, CoreServices, AudioUnit, Kernel, Cocoa
, cf-private
}:
# NOTE: When editing this expression see if the same change applies to
@ -41,11 +40,7 @@ stdenv.mkDerivation rec {
buildInputs = [ ]
++ optional (!stdenv.hostPlatform.isMinGW && alsaSupport) audiofile
++ optionals stdenv.isDarwin [
AudioUnit CoreAudio CoreServices Kernel OpenGL
# Needed for NSDefaultRunLoopMode symbols.
cf-private
];
++ optionals stdenv.isDarwin [ AudioUnit CoreAudio CoreServices Kernel OpenGL ];
configureFlags = [
"--disable-oss"

View File

@ -14,7 +14,7 @@
, pulseaudioSupport ? config.pulseaudio or stdenv.isLinux && !stdenv.hostPlatform.isAndroid
, libpulseaudio
, AudioUnit, Cocoa, CoreAudio, CoreServices, ForceFeedback, OpenGL
, audiofile, cf-private, libiconv
, audiofile, libiconv
}:
# NOTE: When editing this expression see if the same change applies to
@ -58,11 +58,7 @@ stdenv.mkDerivation rec {
++ dlopenBuildInputs
++ optional ibusSupport ibus
++ optional fcitxSupport fcitx
++ optionals stdenv.isDarwin [
AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL
# Needed for NSDefaultRunLoopMode symbols.
cf-private
];
++ optionals stdenv.isDarwin [ AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL ];
enableParallelBuilding = true;

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig, makeWrapper
{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig, wrapQtAppsHook
, qtbase, libuuid, libcap, uwsgi, grantlee, pcre
}:
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
sha256 = "09cgfpr2k1jp98h1ahxqm5lmv3qbk0bcxpqpill6n5wmq2c8kl8b";
};
nativeBuildInputs = [ cmake pkgconfig makeWrapper ];
nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ];
buildInputs = [ qtbase libuuid libcap uwsgi grantlee pcre ];
cmakeFlags = [
@ -31,12 +31,6 @@ stdenv.mkDerivation rec {
unset LD_LIBRARY_PATH
'';
postInstall = ''
for prog in $out/bin/*; do
wrapProgram "$prog" --set QT_PLUGIN_PATH '${qtbase}/${qtbase.qtPluginPrefix}'
done
'';
meta = with lib; {
description = "C++ Web Framework built on top of Qt";
homepage = https://cutelyst.org/;

View File

@ -139,7 +139,7 @@
* Darwin frameworks
*/
, Cocoa, CoreAudio, CoreServices, AVFoundation, MediaToolbox
, VideoDecodeAcceleration, cf-private
, VideoDecodeAcceleration
}:
/* Maintainer notes:
@ -423,7 +423,7 @@ stdenv.mkDerivation rec {
++ optional nvenc nv-codec-headers
++ optionals stdenv.isDarwin [ Cocoa CoreServices CoreAudio AVFoundation
MediaToolbox VideoDecodeAcceleration
libiconv cf-private /* For _OBJC_EHTYPE_$_NSException */ ];
libiconv ];
buildFlags = [ "all" ]
++ optional qtFaststartProgram "tools/qt-faststart"; # Build qt-faststart executable
@ -431,14 +431,6 @@ stdenv.mkDerivation rec {
# Hacky framework patching technique borrowed from the phantomjs2 package
postInstall = optionalString qtFaststartProgram ''
cp -a tools/qt-faststart $out/bin/
'' + optionalString stdenv.isDarwin ''
FILES=($(ls $out/bin/*))
FILES+=($(ls $out/lib/*.dylib))
for f in ''${FILES[@]}; do
if [ ! -h "$f" ]; then
install_name_tool -change ${cf-private}/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation "$f"
fi
done
'';
enableParallelBuilding = true;

View File

@ -1,11 +1,13 @@
{ stdenv, fetchurl, pkgconfig, xlibsWrapper, xorgproto, libXi
, freeglut, libGLU_combined, libjpeg, zlib, libXft, libpng
, libtiff, freetype, cf-private, Cocoa, AGL, GLUT
, libtiff, freetype, Cocoa, AGL, GLUT
}:
let
version = "1.4.x-r13121";
in stdenv.mkDerivation {
in
stdenv.mkDerivation {
name = "fltk-${version}";
src = fetchurl {
@ -13,19 +15,16 @@ in stdenv.mkDerivation {
sha256 = "1v8wxvxcbk99i82x2v5fpqg5vj8n7g8a38g30ry7nzcjn5sf3r63";
};
preConfigure = "make clean";
patches = stdenv.lib.optionals stdenv.isDarwin [ ./nsosv.patch ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libGLU_combined libjpeg zlib libpng libXft ]
++ stdenv.lib.optional stdenv.isDarwin [ AGL Cocoa GLUT ];
buildInputs = [
libGLU_combined
libjpeg
zlib
libpng
libXft
];
propagatedBuildInputs = [ xorgproto ]
++ (if stdenv.isDarwin
then [ freetype libtiff ]
else [ xlibsWrapper libXi freeglut ]);
configureFlags = [
"--enable-gl"
@ -35,18 +34,15 @@ in stdenv.mkDerivation {
"--enable-xft"
];
propagatedBuildInputs = [ xorgproto ]
++ (if stdenv.isDarwin
then [ Cocoa AGL GLUT freetype libtiff cf-private /* Needed for NSDefaultRunLoopMode */ ]
else [ xlibsWrapper libXi freeglut ]);
preConfigure = "make clean";
enableParallelBuilding = true;
meta = {
meta = with stdenv.lib; {
description = "A C++ cross-platform lightweight GUI library";
homepage = http://www.fltk.org;
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
license = stdenv.lib.licenses.gpl2;
platforms = platforms.linux ++ platforms.darwin;
license = licenses.gpl2;
};
}

View File

@ -1,11 +1,13 @@
{ stdenv, fetchurl, pkgconfig, xlibsWrapper, xorgproto, libXi
, freeglut, libGLU_combined, libjpeg, zlib, libXft, libpng
, libtiff, freetype, cf-private, Cocoa, AGL, GLUT
, libtiff, freetype, Cocoa, AGL, GLUT
}:
let
version = "1.3.5";
in stdenv.mkDerivation {
in
stdenv.mkDerivation {
name = "fltk-${version}";
src = fetchurl {
@ -16,14 +18,13 @@ in stdenv.mkDerivation {
patches = stdenv.lib.optionals stdenv.isDarwin [ ./nsosv.patch ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libGLU_combined libjpeg zlib libpng libXft ]
++ stdenv.lib.optional stdenv.isDarwin [ AGL Cocoa GLUT ];
buildInputs = [
libGLU_combined
libjpeg
zlib
libpng
libXft
];
propagatedBuildInputs = [ xorgproto ]
++ (if stdenv.isDarwin
then [ freetype libtiff ]
else [ xlibsWrapper libXi freeglut ]);
configureFlags = [
"--enable-gl"
@ -33,18 +34,12 @@ in stdenv.mkDerivation {
"--enable-xft"
];
propagatedBuildInputs = [ xorgproto ]
++ (if stdenv.isDarwin
then [ Cocoa AGL GLUT freetype libtiff cf-private /* Needed for NSDefaultRunLoopMode */ ]
else [ xlibsWrapper libXi freeglut ]);
enableParallelBuilding = true;
meta = {
meta = with stdenv.lib; {
description = "A C++ cross-platform lightweight GUI library";
homepage = http://www.fltk.org;
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
license = stdenv.lib.licenses.gpl2;
platforms = platforms.linux ++ platforms.darwin;
license = licenses.gpl2;
};
}

View File

@ -1,5 +1,5 @@
{ stdenv, lib, fetchFromGitHub, cmake, libGL, libXrandr, libXinerama, libXcursor, libX11
, cf-private, Cocoa, Kernel, fixDarwinDylibNames
, Cocoa, Kernel, fixDarwinDylibNames
}:
stdenv.mkDerivation rec {
@ -19,13 +19,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake ];
buildInputs = [
libX11 libXrandr libXinerama libXcursor
] ++ lib.optionals stdenv.isDarwin [
Cocoa Kernel fixDarwinDylibNames
# Needed for NSDefaultRunLoopMode symbols.
cf-private
];
buildInputs = [ libX11 libXrandr libXinerama libXcursor ]
++ lib.optionals stdenv.isDarwin [ Cocoa Kernel fixDarwinDylibNames ];
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];

View File

@ -81,9 +81,6 @@ stdenv.mkDerivation rec {
utillinuxMinimal # for libmount
] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
AppKit Carbon Cocoa CoreFoundation CoreServices Foundation
# Needed for CFURLCreateFromFSRef, etc. which have deen deprecated
# since 10.9 and are not part of swift-corelibs CoreFoundation.
darwin.cf-private
]);
nativeBuildInputs = [

View File

@ -1,4 +1,7 @@
{ stdenv, fetchbzr, pkgconfig, qmake, qtbase, qtdeclarative, glib, gobject-introspection }:
{ stdenv, fetchbzr, pkgconfig
, qmake, qtbase, qtdeclarative, wrapQtAppsHook
, glib, gobject-introspection
}:
stdenv.mkDerivation rec {
name = "gsettings-qt-${version}";
@ -14,6 +17,7 @@ stdenv.mkDerivation rec {
pkgconfig
qmake
gobject-introspection
wrapQtAppsHook
];
buildInputs = [

View File

@ -45,17 +45,9 @@ let
if [ "$hookName" != postHook ]; then
postHooks+=("source @dev@/nix-support/setup-hook")
else
# Propagate $${out} output
propagatedUserEnvPkgs="$propagatedUserEnvPkgs @${out}@"
if [ -z "$outputDev" ]; then
echo "error: \$outputDev is unset!" >&2
exit 1
fi
# Propagate $dev so that this setup hook is propagated
# But only if there is a separate $dev output
if [ "$outputDev" != out ]; then
if [ "''${outputDev:?}" != out ]; then
propagatedBuildInputs="$propagatedBuildInputs @dev@"
fi
fi
@ -75,10 +67,9 @@ let
inherit (srcs."${name}") src version;
outputs = args.outputs or [ "bin" "dev" "out" ];
hasBin = lib.elem "bin" outputs;
hasDev = lib.elem "dev" outputs;
hasSeparateDev = lib.elem "dev" outputs;
defaultSetupHook = if hasBin && hasDev then propagateBin else null;
defaultSetupHook = if hasSeparateDev then propagateBin else null;
setupHook = args.setupHook or defaultSetupHook;
meta = {

View File

@ -1,16 +1,16 @@
_ecmEnvHook() {
ecmEnvHook() {
addToSearchPath XDG_DATA_DIRS "$1/share"
addToSearchPath XDG_CONFIG_DIRS "$1/etc/xdg"
}
addEnvHooks "$targetOffset" _ecmEnvHook
addEnvHooks "$targetOffset" ecmEnvHook
_ecmPreConfigureHook() {
ecmPostHook() {
# Because we need to use absolute paths here, we must set *all* the paths.
cmakeFlags+=" -DKDE_INSTALL_EXECROOTDIR=${!outputBin}"
cmakeFlags+=" -DKDE_INSTALL_BINDIR=${!outputBin}/bin"
cmakeFlags+=" -DKDE_INSTALL_SBINDIR=${!outputBin}/sbin"
cmakeFlags+=" -DKDE_INSTALL_LIBDIR=${!outputLib}/lib"
cmakeFlags+=" -DKDE_INSTALL_LIBEXECDIR=${!outputLib}/lib/libexec"
cmakeFlags+=" -DKDE_INSTALL_LIBEXECDIR=${!outputLib}/libexec"
cmakeFlags+=" -DKDE_INSTALL_CMAKEPACKAGEDIR=${!outputDev}/lib/cmake"
cmakeFlags+=" -DKDE_INSTALL_INCLUDEDIR=${!outputInclude}/include"
cmakeFlags+=" -DKDE_INSTALL_LOCALSTATEDIR=/var"
@ -51,4 +51,58 @@ _ecmPreConfigureHook() {
cmakeFlags+=" -DKDE_INSTALL_QMLDIR=${!outputBin}/$qtQmlPrefix"
fi
}
preConfigureHooks+=(_ecmPreConfigureHook)
postHooks+=(ecmPostHook)
xdgDataSubdirs=(
"doc" "config.kcfg" "kconf_update" "kservices5" "kservicetypes5" \
"kxmlgui5" "knotifications5" "icons" "locale" "sounds" "templates" \
"wallpapers" "applications" "desktop-directories" "mime" "appdata" "dbus-1" \
)
ecmHostPathSeen=( )
ecmUnseenHostPath() {
for pkg in "${ecmHostPathSeen[@]}"
do
if [ "${pkg:?}" == "$1" ]
then
return 1
fi
done
ecmHostPathSeen+=("$1")
return 0
}
ecmHostPathHook() {
ecmUnseenHostPath "$1" || return 0
local xdgConfigDir="$1/etc/xdg"
if [ -d "$xdgConfigDir" ]
then
qtWrapperArgs+=(--prefix XDG_CONFIG_DIRS : "$xdgConfigDir")
fi
for xdgDataSubdir in "${xdgDataSubdirs[@]}"
do
if [ -d "$1/share/$xdgDataSubdir" ]
then
qtWrapperArgs+=(--prefix XDG_DATA_DIRS : "$1/share")
break
fi
done
local manDir="$1/man"
if [ -d "$manDir" ]
then
qtWrapperArgs+=(--prefix MANPATH : "$manDir")
fi
local infoDir="$1/info"
if [ -d "$infoDir" ]
then
qtWrapperArgs+=(--prefix INFOPATH : "$infoDir")
fi
}
addEnvHooks "$hostOffset" ecmHostPathHook

View File

@ -9,6 +9,7 @@ let inherit (lib) getLib; in
mkDerivation {
name = "kinit";
meta = { maintainers = [ lib.maintainers.ttuegel ]; };
outputs = [ "out" "dev" ];
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [
kconfig kcrash ki18n kio kservice kwindowsystem
@ -19,9 +20,6 @@ mkDerivation {
''-DNIXPKGS_KF5_PARTS=\"${getLib kparts}/lib/libKF5Parts.so.5\"''
''-DNIXPKGS_KF5_PLASMA=\"${getLib plasma-framework}/lib/libKF5Plasma.so.5\"''
];
postFixup = ''
moveToOutput "lib/libexec/kf5/start_kdeinit" "$bin"
'';
setupHook = writeScript "setup-hook.sh" ''
kinitFixupOutputHook() {
if [ $prefix != ''${!outputBin} ] && [ -d $prefix/lib ]; then

View File

@ -1,20 +1,69 @@
{ stdenv, fetchurl, pkgconfig, intltool, libxml2, glib, json-glib, gcr
, gobject-introspection, liboauth, gnome3, p11-kit, openssl, uhttpmock }:
{ stdenv
, fetchurl
, pkgconfig
, meson
, ninja
, vala
, gettext
, libxml2
, glib
, json-glib
, gcr
, gobject-introspection
, liboauth
, gnome3
, p11-kit
, openssl
, uhttpmock
, libsoup
}:
stdenv.mkDerivation rec {
pname = "libgdata";
version = "0.17.9";
version = "0.17.10";
outputs = [ "out" "dev" "installedTests" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45";
sha256 = "04mh2p5x2iidfx0d1cablxbi3hvna8cmlddc1mm4387n0grx3ly1";
};
nativeBuildInputs = [ pkgconfig intltool gobject-introspection ];
patches = [
./installed-tests-path.patch
];
buildInputs = [ gnome3.libsoup libxml2 glib liboauth gcr gnome3.gnome-online-accounts p11-kit openssl uhttpmock ];
nativeBuildInputs = [
gettext
gobject-introspection
meson
ninja
pkgconfig
vala
];
propagatedBuildInputs = [ json-glib ];
buildInputs = [
gcr
glib
gnome3.gnome-online-accounts
liboauth
libsoup
libxml2
openssl
p11-kit
uhttpmock
];
propagatedBuildInputs = [
json-glib
];
mesonFlags = [
"-Dgtk_doc=false"
"-Dinstalled_test_bindir=${placeholder ''installedTests''}/libexec"
"-Dinstalled_test_datadir=${placeholder ''installedTests''}/share"
"-Dinstalled_tests=true"
];
passthru = {
updateScript = gnome3.updateScript {
@ -26,7 +75,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "GData API library";
homepage = https://wiki.gnome.org/Projects/libgdata;
maintainers = with maintainers; [ raskin lethalman ];
maintainers = with maintainers; [ raskin lethalman ] ++ gnome3.maintainers;
platforms = platforms.linux;
license = licenses.lgpl21Plus;
};

View File

@ -0,0 +1,94 @@
diff --git a/gdata/tests/meson.build b/gdata/tests/meson.build
index 52154e7a..1a44d1d8 100644
--- a/gdata/tests/meson.build
+++ b/gdata/tests/meson.build
@@ -1,5 +1,12 @@
-tests_execdir = gdata_libexecdir / 'installed-tests' / gdata_name
-tests_metadir = gdata_datadir / 'installed-tests' / gdata_name
+tests_bindir = get_option('installed_test_bindir') / 'installed-tests' / gdata_name
+if tests_bindir == ''
+ test_bindir = gdata_libexecdir / 'installed-tests' / gdata_name
+endif
+
+tests_datadir = get_option('installed_test_datadir') / 'installed-tests' / gdata_name
+if tests_datadir == ''
+ tests_datadir = gdata_datadir / 'installed-tests' / gdata_name
+endif
tests_sources = files(
'common.c',
@@ -48,7 +55,7 @@ foreach test_name, extra_args: tests
dependencies: common_deps + extra_args.get('dependencies', []),
sources: tests_sources,
install: install_tests,
- install_dir: tests_execdir,
+ install_dir: tests_bindir,
)
test(
@@ -63,7 +70,7 @@ if install_tests
foreach test_name, extra_args: tests
tests_conf = {
'TEST_TYPE': 'session',
- 'TEST_ABS_PATH': gdata_prefix / tests_execdir / test_name,
+ 'TEST_ABS_PATH': tests_bindir / test_name,
}
configure_file (
@@ -71,13 +78,13 @@ if install_tests
output: test_name + '.test',
configuration: tests_conf,
install: true,
- install_dir: tests_metadir,
+ install_dir: tests_datadir,
)
endforeach
install_subdir(
'traces',
- install_dir: tests_execdir,
+ install_dir: tests_bindir,
)
test_data = [
@@ -96,6 +103,6 @@ if install_tests
install_data(
test_data,
- install_dir: tests_execdir,
+ install_dir: tests_bindir,
)
endif
diff --git a/meson.build b/meson.build
index 7d2f5254..bed3e189 100644
--- a/meson.build
+++ b/meson.build
@@ -20,9 +20,9 @@ gdata_api_version_minor = 0
# Define the install directories
gdata_prefix = get_option('prefix')
-gdata_datadir = get_option('datadir')
-gdata_libexecdir = get_option('libexecdir')
-gdata_includedir = get_option('includedir')
+gdata_datadir = gdata_prefix / get_option('datadir')
+gdata_libexecdir = gdata_prefix / get_option('libexecdir')
+gdata_includedir = gdata_prefix / get_option('includedir')
gdata_include_subdir = gdata_name / 'gdata'
diff --git a/meson_options.txt b/meson_options.txt
index 25cc6b55..6fc2cfa3 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -43,3 +43,11 @@ option('vapi',
type: 'boolean',
value: true,
description: 'Enable creation of vapi files')
+
+option('installed_test_datadir', type: 'string',
+ value: '',
+ description: 'Installation directory for data files in tests')
+
+option('installed_test_bindir', type: 'string',
+ value: '',
+ description: 'Installation directory for binary files in tests')

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "librime";
version = "1.5.0";
version = "1.5.3";
src = fetchFromGitHub {
owner = "rime";
repo = "librime";
rev = "${version}";
sha256 = "10wvh1l4317yzcys4rzlkw42i6cj5p8g62r1xzyjw32ky2d0ndxl";
sha256 = "0xskhdhk7dgpc71r39pfzxi5vrlzy90aqj1gzv8nnapq91p2awhv";
};
nativeBuildInputs = [ cmake ];
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = https://rime.im/;
homepage = "https://rime.im/";
description = "Rime Input Method Engine, the core library";
license = licenses.bsd3;
maintainers = with maintainers; [ sifmelcara ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchgit, cmake, pkgconfig, gtk3, cf-private, Cocoa }:
{ stdenv, fetchgit, cmake, pkgconfig, gtk3, Cocoa }:
let
shortName = "libui";
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = stdenv.lib.optional stdenv.isLinux gtk3
++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa cf-private /* For NSDefaultRunLoopMode */ ];
++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa ];
preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
sed -i 's/set(CMAKE_OSX_DEPLOYMENT_TARGET "10.8")//' ./CMakeLists.txt

View File

@ -1,11 +1,12 @@
{ stdenv, fetchurl, fetchpatch, meson, ninja, pkgconfig, yacc, xkeyboard_config, libxcb, libX11, doxygen }:
stdenv.mkDerivation rec {
name = "libxkbcommon-0.8.0";
pname = "libxkbcommon";
version = "0.8.4";
src = fetchurl {
url = "https://xkbcommon.org/download/${name}.tar.xz";
sha256 = "0vgy84vfbig5bqznr137h5arjidnfwrxrdli0pxyn2jfn1fjcag8";
url = "https://xkbcommon.org/download/${pname}-${version}.tar.xz";
sha256 = "12vc91ydhphd5sddz15560r41l7k0i7mq6nma8kkbzdp6bwwzpb0";
};
outputs = [ "out" "dev" "doc" ];
@ -13,14 +14,6 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ meson ninja pkgconfig yacc doxygen ];
buildInputs = [ xkeyboard_config libxcb ];
patches = [
# darwin compatibility
(fetchpatch {
url = https://github.com/xkbcommon/libxkbcommon/commit/edb1c662394578a54b7bbed231d918925e5d8150.patch;
sha256 = "0ydjlir32r3xfsbqhnsx1bz6ags2m908yhf9i09i1s7sgcimbcx5";
})
];
mesonFlags = [
"-Denable-wayland=false"
"-Dxkb-config-root=${xkeyboard_config}/etc/X11/xkb"

View File

@ -1,30 +1,20 @@
{ stdenv, fetchurl, fetchpatch }:
{ stdenv
, fetchFromGitHub
, autoreconfHook
}:
let
stdenv.mkDerivation rec {
pname = "libyaml";
version = "0.2.2";
version = "0.2.1";
# https://github.com/yaml/pyyaml/issues/214
p1 = fetchpatch {
url = https://github.com/yaml/libyaml/commit/8ee83c0da22fe9aa7dea667be8f899a7e32ffb83.patch;
sha256 = "00jh39zww6s4gyhxfmlxwb6lz90nl3p51k5h1qm6z3ymik5vljmz";
};
p2 = fetchpatch {
url = https://github.com/yaml/libyaml/commit/56f4b17221868593d6903ee58d6d679b690cf4df.patch;
sha256 = "0najcay1y4kgfpsidj7dnyafnwjbav5jyawhyv215zl9gg3386n0";
src = fetchFromGitHub {
owner = "yaml";
repo = "libyaml";
rev = version;
sha256 = "0839nqcmxjzfgjn39j7740pnlsgmvngpkamiw1lfy1qlcqyc3r4v";
};
in
stdenv.mkDerivation {
name = "libyaml-${version}";
src = fetchurl {
url = "https://pyyaml.org/download/libyaml/yaml-${version}.tar.gz";
sha256 = "1karpcfgacgppa82wm2drcfn2kb6q2wqfykf5nrhy20sci2i2a3q";
};
patches = [ p1 p2 ]; # remove when the next release comes out
nativeBuildInputs = [ autoreconfHook ];
meta = with stdenv.lib; {
homepage = https://pyyaml.org/;

View File

@ -5,7 +5,7 @@ let
url = http://dev.gentoo.org/~polynomial-c/mozilla/nss-3.15.4-pem-support-20140109.patch.xz;
sha256 = "10ibz6y0hknac15zr6dw4gv9nb5r5z9ym6gq18j3xqx7v7n3vpdw";
};
version = "3.44";
version = "3.44.1";
underscoreVersion = builtins.replaceStrings ["."] ["_"] version;
in stdenv.mkDerivation rec {
@ -14,7 +14,7 @@ in stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://mozilla/security/nss/releases/NSS_${underscoreVersion}_RTM/src/${name}.tar.gz";
sha256 = "1zvabgxlyvz3fnv4w89y4a5qkscjmm88naf929dgvvgfnrchwqm5";
sha256 = "1y0jvva4s3j7cjz22kqw2lsml0an1295bgpc2raf7kc9r60cpr7w";
};
depsBuildBuild = [ buildPackages.stdenv.cc ];

View File

@ -31,7 +31,7 @@
, enableDC1394 ? false, libdc1394
, enableDocs ? false, doxygen, graphviz-nox
, cf-private, AVFoundation, Cocoa, VideoDecodeAcceleration, bzip2
, AVFoundation, Cocoa, VideoDecodeAcceleration, bzip2
}:
let
@ -206,7 +206,7 @@ stdenv.mkDerivation rec {
++ lib.optionals enableTesseract [ tesseract leptonica ]
++ lib.optional enableTbb tbb
++ lib.optional enableCuda cudatoolkit
++ lib.optionals stdenv.isDarwin [ cf-private AVFoundation Cocoa VideoDecodeAcceleration bzip2 ]
++ lib.optionals stdenv.isDarwin [ bzip2 AVFoundation Cocoa VideoDecodeAcceleration ]
++ lib.optionals enableDocs [ doxygen graphviz-nox ];
propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy;

View File

@ -31,7 +31,7 @@
, enableDC1394 ? false, libdc1394
, enableDocs ? false, doxygen, graphviz-nox
, cf-private, AVFoundation, Cocoa, VideoDecodeAcceleration, bzip2
, AVFoundation, Cocoa, VideoDecodeAcceleration, bzip2
}:
let
@ -213,7 +213,7 @@ stdenv.mkDerivation rec {
++ lib.optionals enableTesseract [ tesseract leptonica ]
++ lib.optional enableTbb tbb
++ lib.optional enableCuda cudatoolkit
++ lib.optionals stdenv.isDarwin [ cf-private AVFoundation Cocoa VideoDecodeAcceleration bzip2 ]
++ lib.optionals stdenv.isDarwin [ bzip2 AVFoundation Cocoa VideoDecodeAcceleration ]
++ lib.optionals enableDocs [ doxygen graphviz-nox ];
propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy;

View File

@ -10,7 +10,7 @@
, enableFfmpeg ? false, ffmpeg
, enableGStreamer ? false, gst_all_1
, enableEigen ? true, eigen
, cf-private, Cocoa, QTKit
, Cocoa, QTKit
}:
let
@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
++ lib.optional enableFfmpeg ffmpeg
++ lib.optionals enableGStreamer (with gst_all_1; [ gstreamer gst-plugins-base ])
++ lib.optional enableEigen eigen
++ lib.optionals stdenv.isDarwin [ Cocoa QTKit cf-private /* For NSDefaultRunLoopMode */ ]
++ lib.optionals stdenv.isDarwin [ Cocoa QTKit ]
;
propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy;

View File

@ -1,6 +1,6 @@
{ stdenv, fetchFromGitHub, cmake
, qhull, flann, boost, vtk, eigen, pkgconfig, qtbase
, libusb1, libpcap, libXt, libpng, Cocoa, AGL, cf-private, OpenGL
, libusb1, libpcap, libXt, libpng, Cocoa, AGL, OpenGL
}:
stdenv.mkDerivation rec {
@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig cmake ];
buildInputs = [ qhull flann boost eigen libusb1 libpcap
libpng vtk qtbase libXt ]
++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa AGL ];
++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa AGL cf-private ];
cmakeFlags = stdenv.lib.optionals stdenv.isDarwin [
"-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks"
];

View File

@ -14,7 +14,7 @@
, examples ? false
, demos ? false
# darwin support
, cf-private, libobjc, ApplicationServices, OpenGL, Cocoa, AGL, libcxx
, libobjc, ApplicationServices, OpenGL, Cocoa, AGL, libcxx
}:
let
@ -189,7 +189,7 @@ stdenv.mkDerivation rec {
postgresql sqlite libjpeg libmng libtiff icu ]
++ lib.optionals (mysql != null) [ mysql.connector-c ]
++ lib.optionals gtkStyle [ gtk2 gdk_pixbuf ]
++ lib.optionals stdenv.isDarwin [ cf-private ApplicationServices OpenGL Cocoa AGL libcxx libobjc ];
++ lib.optionals stdenv.isDarwin [ ApplicationServices OpenGL Cocoa AGL libcxx libobjc ];
nativeBuildInputs = [ perl pkgconfig which ];

View File

@ -17,10 +17,10 @@ top-level attribute to `top-level/all-packages.nix`.
{
newScope,
stdenv, fetchurl, fetchFromGitHub, makeSetupHook,
stdenv, fetchurl, fetchFromGitHub, makeSetupHook, makeWrapper,
bison, cups ? null, harfbuzz, libGL, perl,
gstreamer, gst-plugins-base, gtk3, dconf,
cf-private, llvmPackages_5,
llvmPackages_5,
# options
developerBuild ? false,
@ -34,6 +34,8 @@ let
qtCompatVersion = "5.11";
stdenvActual = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv;
mirror = "https://download.qt.io";
srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; } // {
# Community port of the now unmaintained upstream qtwebkit.
@ -64,16 +66,18 @@ let
qtwebkit = [ ./qtwebkit.patch ];
};
mkDerivation =
import ../mkDerivation.nix {
inherit (stdenv) lib;
stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv;
}
{ inherit debug; };
qtModule =
import ../qtModule.nix
{ inherit mkDerivation perl; inherit (stdenv) lib; }
{
inherit perl;
inherit (stdenv) lib;
# Use a variant of mkDerivation that does not include wrapQtApplications
# to avoid cyclic dependencies between Qt modules.
mkDerivation =
import ../mkDerivation.nix
{ inherit (stdenv) lib; inherit debug; wrapQtAppsHook = null; }
stdenvActual.mkDerivation;
}
{ inherit self srcs patches; };
addPackages = self: with self;
@ -81,7 +85,11 @@ let
callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; };
in {
inherit mkDerivation;
mkDerivationWith =
import ../mkDerivation.nix
{ inherit (stdenv) lib; inherit debug; inherit (self) wrapQtAppsHook; };
mkDerivation = mkDerivationWith stdenvActual.mkDerivation;
qtbase = callPackage ../modules/qtbase.nix {
inherit (srcs.qtbase) src version;
@ -92,17 +100,13 @@ let
};
qtcharts = callPackage ../modules/qtcharts.nix {};
qtconnectivity = callPackage ../modules/qtconnectivity.nix {
inherit cf-private;
};
qtconnectivity = callPackage ../modules/qtconnectivity.nix {};
qtdeclarative = callPackage ../modules/qtdeclarative.nix {};
qtdoc = callPackage ../modules/qtdoc.nix {};
qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {};
qtimageformats = callPackage ../modules/qtimageformats.nix {};
qtlocation = callPackage ../modules/qtlocation.nix { };
qtmacextras = callPackage ../modules/qtmacextras.nix {
inherit cf-private;
};
qtmacextras = callPackage ../modules/qtmacextras.nix {};
qtmultimedia = callPackage ../modules/qtmultimedia.nix {
inherit gstreamer gst-plugins-base;
};
@ -146,6 +150,12 @@ let
fix_qt_builtin_paths = ../hooks/fix-qt-builtin-paths.sh;
};
} ../hooks/qmake-hook.sh;
wrapQtAppsHook = makeSetupHook {
deps =
[ self.qtbase.dev makeWrapper ]
++ optional stdenv.isLinux self.qtwayland.dev;
} ../hooks/wrap-qt-apps-hook.sh;
};
self = makeScope newScope addPackages;

View File

@ -17,10 +17,10 @@ top-level attribute to `top-level/all-packages.nix`.
{
newScope,
stdenv, fetchurl, fetchFromGitHub, makeSetupHook,
stdenv, fetchurl, fetchFromGitHub, makeSetupHook, makeWrapper,
bison, cups ? null, harfbuzz, libGL, perl,
gstreamer, gst-plugins-base, gtk3, dconf,
cf-private, llvmPackages_5,
llvmPackages_5,
# options
developerBuild ? false,
@ -34,6 +34,8 @@ let
qtCompatVersion = "5.12";
stdenvActual = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv;
mirror = "https://download.qt.io";
srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; } // {
# Community port of the now unmaintained upstream qtwebkit.
@ -69,16 +71,18 @@ let
qttools = [ ./qttools.patch ];
};
mkDerivation =
import ../mkDerivation.nix {
inherit (stdenv) lib;
stdenv = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv;
}
{ inherit debug; };
qtModule =
import ../qtModule.nix
{ inherit mkDerivation perl; inherit (stdenv) lib; }
{
inherit perl;
inherit (stdenv) lib;
# Use a variant of mkDerivation that does not include wrapQtApplications
# to avoid cyclic dependencies between Qt modules.
mkDerivation =
import ../mkDerivation.nix
{ inherit (stdenv) lib; inherit debug; wrapQtAppsHook = null; }
stdenvActual.mkDerivation;
}
{ inherit self srcs patches; };
addPackages = self: with self;
@ -86,7 +90,11 @@ let
callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; };
in {
inherit mkDerivation;
mkDerivationWith =
import ../mkDerivation.nix
{ inherit (stdenv) lib; inherit debug; inherit (self) wrapQtAppsHook; };
mkDerivation = mkDerivationWith stdenvActual.mkDerivation;
qtbase = callPackage ../modules/qtbase.nix {
inherit (srcs.qtbase) src version;
@ -97,17 +105,13 @@ let
};
qtcharts = callPackage ../modules/qtcharts.nix {};
qtconnectivity = callPackage ../modules/qtconnectivity.nix {
inherit cf-private;
};
qtconnectivity = callPackage ../modules/qtconnectivity.nix {};
qtdeclarative = callPackage ../modules/qtdeclarative.nix {};
qtdoc = callPackage ../modules/qtdoc.nix {};
qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {};
qtimageformats = callPackage ../modules/qtimageformats.nix {};
qtlocation = callPackage ../modules/qtlocation.nix {};
qtmacextras = callPackage ../modules/qtmacextras.nix {
inherit cf-private;
};
qtmacextras = callPackage ../modules/qtmacextras.nix {};
qtmultimedia = callPackage ../modules/qtmultimedia.nix {
inherit gstreamer gst-plugins-base;
};
@ -151,6 +155,12 @@ let
fix_qt_builtin_paths = ../hooks/fix-qt-builtin-paths.sh;
};
} ../hooks/qmake-hook.sh;
wrapQtAppsHook = makeSetupHook {
deps =
[ self.qtbase.dev makeWrapper ]
++ optional stdenv.isLinux self.qtwayland.dev;
} ../hooks/wrap-qt-apps-hook.sh;
};
self = makeScope newScope addPackages;

View File

@ -26,10 +26,9 @@ existing packages here and modify it as necessary.
{
newScope,
stdenv, fetchurl, fetchpatch, makeSetupHook,
stdenv, fetchurl, fetchpatch, makeSetupHook, makeWrapper,
bison, cups ? null, harfbuzz, libGL, perl,
gstreamer, gst-plugins-base,
cf-private,
# options
developerBuild ? false,
@ -105,14 +104,18 @@ let
];
};
mkDerivation =
import ../mkDerivation.nix
{ inherit stdenv; inherit (stdenv) lib; }
{ inherit debug; };
qtModule =
import ../qtModule.nix
{ inherit mkDerivation perl; inherit (stdenv) lib; }
{
inherit perl;
inherit (stdenv) lib;
# Use a variant of mkDerivation that does not include wrapQtApplications
# to avoid cyclic dependencies between Qt modules.
mkDerivation =
import ../mkDerivation.nix
{ inherit (stdenv) lib; inherit debug; wrapQtAppsHook = null; }
stdenv.mkDerivation;
}
{ inherit self srcs patches; };
addPackages = self: with self;
@ -120,7 +123,11 @@ let
callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; };
in {
inherit mkDerivation;
mkDerivationWith =
import ../mkDerivation.nix
{ inherit (stdenv) lib; inherit debug; inherit (self) wrapQtAppsHook; };
mkDerivation = mkDerivationWith stdenv.mkDerivation;
qtbase = callPackage ../modules/qtbase.nix {
inherit bison cups harfbuzz libGL;
@ -133,9 +140,7 @@ let
/* qtactiveqt = not packaged */
/* qtandroidextras = not packaged */
/* qtcanvas3d = not packaged */
qtconnectivity = callPackage ../modules/qtconnectivity.nix {
inherit cf-private;
};
qtconnectivity = callPackage ../modules/qtconnectivity.nix {};
qtdeclarative = callPackage ../modules/qtdeclarative.nix {};
qtdoc = callPackage ../modules/qtdoc.nix {};
qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {};
@ -176,6 +181,12 @@ let
deps = [ self.qtbase.dev ];
substitutions = { inherit (stdenv) isDarwin; };
} ../hooks/qmake-hook.sh;
wrapQtAppsHook = makeSetupHook {
deps =
[ self.qtbase.dev makeWrapper ]
++ optional stdenv.isLinux self.qtwayland.dev;
} ../hooks/wrap-qt-apps-hook.sh;
};
self = makeScope newScope addPackages;

View File

@ -17,10 +17,9 @@ top-level attribute to `top-level/all-packages.nix`.
{
newScope,
stdenv, fetchurl, fetchpatch, makeSetupHook,
stdenv, fetchurl, fetchpatch, makeSetupHook, makeWrapper,
bison, cups ? null, harfbuzz, libGL, perl,
gstreamer, gst-plugins-base, gtk3, dconf,
cf-private,
# options
developerBuild ? false,
@ -68,14 +67,18 @@ let
};
mkDerivation =
import ../mkDerivation.nix
{ inherit stdenv; inherit (stdenv) lib; }
{ inherit debug; };
qtModule =
import ../qtModule.nix
{ inherit mkDerivation perl; inherit (stdenv) lib; }
{
inherit perl;
inherit (stdenv) lib;
# Use a variant of mkDerivation that does not include wrapQtApplications
# to avoid cyclic dependencies between Qt modules.
mkDerivation =
import ../mkDerivation.nix
{ inherit (stdenv) lib; inherit debug; wrapQtAppsHook = null; }
stdenv.mkDerivation;
}
{ inherit self srcs patches; };
addPackages = self: with self;
@ -83,7 +86,11 @@ let
callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; };
in {
inherit mkDerivation;
mkDerivationWith =
import ../mkDerivation.nix
{ inherit (stdenv) lib; inherit debug; inherit (self) wrapQtAppsHook; };
mkDerivation = mkDerivationWith stdenv.mkDerivation;
qtbase = callPackage ../modules/qtbase.nix {
inherit (srcs.qtbase) src version;
@ -94,17 +101,13 @@ let
};
qtcharts = callPackage ../modules/qtcharts.nix {};
qtconnectivity = callPackage ../modules/qtconnectivity.nix {
inherit cf-private;
};
qtconnectivity = callPackage ../modules/qtconnectivity.nix {};
qtdeclarative = callPackage ../modules/qtdeclarative.nix {};
qtdoc = callPackage ../modules/qtdoc.nix {};
qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {};
qtimageformats = callPackage ../modules/qtimageformats.nix {};
qtlocation = callPackage ../modules/qtlocation.nix {};
qtmacextras = callPackage ../modules/qtmacextras.nix {
inherit cf-private;
};
qtmacextras = callPackage ../modules/qtmacextras.nix {};
qtmultimedia = callPackage ../modules/qtmultimedia.nix {
inherit gstreamer gst-plugins-base;
};
@ -145,6 +148,12 @@ let
fix_qt_builtin_paths = ../hooks/fix-qt-builtin-paths.sh;
};
} ../hooks/qmake-hook.sh;
wrapQtAppsHook = makeSetupHook {
deps =
[ self.qtbase.dev makeWrapper ]
++ optional stdenv.isLinux self.qtwayland.dev;
} ../hooks/wrap-qt-apps-hook.sh;
};
self = makeScope newScope addPackages;

View File

@ -19,12 +19,14 @@ export QMAKEPATH
QMAKEMODULES=
export QMAKEMODULES
addToQMAKEPATH() {
if [ -d "$1/mkspecs" ]; then
qmakePathHook() {
if [ -d "$1/mkspecs" ]
then
QMAKEMODULES="${QMAKEMODULES}${QMAKEMODULES:+:}/mkspecs"
QMAKEPATH="${QMAKEPATH}${QMAKEPATH:+:}$1"
fi
}
envBuildHostHooks+=(qmakePathHook)
# Propagate any runtime dependency of the building package.
# Each dependency is propagated to the user environment and as a build
@ -32,18 +34,18 @@ addToQMAKEPATH() {
# package depending on the building package. (This is necessary in case
# the building package does not provide runtime dependencies itself and so
# would not be propagated to the user environment.)
qtEnvHook() {
addToQMAKEPATH "$1"
if providesQtRuntime "$1"; then
if [ "z${!outputBin}" != "z${!outputDev}" ]; then
qtEnvHostTargetHook() {
if providesQtRuntime "$1" && [ "z${!outputBin}" != "z${!outputDev}" ]
then
propagatedBuildInputs+=" $1"
fi
propagatedUserEnvPkgs+=" $1"
fi
}
envHostTargetHooks+=(qtEnvHook)
envHostTargetHooks+=(qtEnvHostTargetHook)
postPatchMkspecs() {
# Prevent this hook from running multiple times
dontPatchMkspecs=1
local bin="${!outputBin}"
local dev="${!outputDev}"
local doc="${!outputDoc}"

View File

@ -0,0 +1,106 @@
# Inherit arguments given in mkDerivation
qtWrapperArgs=( $qtWrapperArgs )
qtHostPathSeen=()
qtUnseenHostPath() {
for pkg in "${qtHostPathSeen[@]}"
do
if [ "${pkg:?}" == "$1" ]
then
return 1
fi
done
qtHostPathSeen+=("$1")
return 0
}
qtHostPathHook() {
qtUnseenHostPath "$1" || return 0
local pluginDir="$1/${qtPluginPrefix:?}"
if [ -d "$pluginDir" ]
then
qtWrapperArgs+=(--prefix QT_PLUGIN_PATH : "$pluginDir")
fi
local qmlDir="$1/${qtQmlPrefix:?}"
if [ -d "$qmlDir" ]
then
qtWrapperArgs+=(--prefix QML2_IMPORT_PATH : "$qmlDir")
fi
}
addEnvHooks "$hostOffset" qtHostPathHook
makeQtWrapper() {
local original="$1"
local wrapper="$2"
shift 2
makeWrapper "$original" "$wrapper" "${qtWrapperArgs[@]}" "$@"
}
wrapQtApp() {
local program="$1"
shift 1
wrapProgram "$program" "${qtWrapperArgs[@]}" "$@"
}
qtOwnPathsHook() {
local xdgDataDir="${!outputBin}/share"
if [ -d "$xdgDataDir" ]
then
qtWrapperArgs+=(--prefix XDG_DATA_DIRS : "$xdgDataDir")
fi
local xdgConfigDir="${!outputBin}/etc/xdg"
if [ -d "$xdgConfigDir" ]
then
qtWrapperArgs+=(--prefix XDG_CONFIG_DIRS : "$xdgConfigDir")
fi
qtHostPathHook "${!outputBin}"
}
preFixupPhases+=" qtOwnPathsHook"
isQtApp () {
readelf -d "$1" 2>/dev/null | grep -q -F 'libQt5Core'
}
# Note: $qtWrapperArgs still gets defined even if $dontWrapQtApps is set.
wrapQtAppsHook() {
# skip this hook when requested
[ -z "$dontWrapQtApps" ] || return 0
# guard against running multiple times (e.g. due to propagation)
[ -z "$wrapQtAppsHookHasRun" ] || return 0
wrapQtAppsHookHasRun=1
local targetDirs=( "$prefix/bin" )
echo "wrapping Qt applications in ${targetDirs[@]}"
for targetDir in "${targetDirs[@]}"
do
[ -d "$targetDir" ] || continue
find "$targetDir" -executable -print0 | while IFS= read -r -d '' file
do
isQtApp "$file" || continue
if [ -f "$file" ]
then
echo "wrapping $file"
wrapQtApp "$file"
elif [ -h "$file" ]
then
target="$(readlink -e "$file")"
echo "wrapping $file -> $target"
rm "$file"
makeQtWrapper "$target" "$file"
fi
done
done
}
fixupOutputHooks+=(wrapQtAppsHook)

View File

@ -1,8 +1,8 @@
{ stdenv, lib }:
{ lib, debug, wrapQtAppsHook }:
let inherit (lib) optional; in
{ debug }:
mkDerivation:
args:
@ -24,7 +24,9 @@ let
enableParallelBuilding = args.enableParallelBuilding or true;
nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ wrapQtAppsHook ];
};
in
stdenv.mkDerivation (args // args_)
mkDerivation (args // args_)

View File

@ -78,8 +78,6 @@ stdenv.mkDerivation {
[ libinput ]
++ lib.optional withGtk3 gtk3
)
# Needed for OBJC_CLASS_$_NSDate symbols.
++ lib.optional stdenv.isDarwin darwin.cf-private
++ lib.optional developerBuild gdb
++ lib.optional (cups != null) cups
++ lib.optional (mysql != null) mysql.connector-c

View File

@ -1,8 +1,8 @@
{ qtModule, stdenv, qtbase, qtdeclarative, bluez, cf-private }:
{ qtModule, stdenv, qtbase, qtdeclarative, bluez }:
qtModule {
name = "qtconnectivity";
qtInputs = [ qtbase qtdeclarative ];
buildInputs = if stdenv.isDarwin then [ cf-private ] else [ bluez ];
buildInputs = stdenv.lib.optional stdenv.isLinux bluez;
outputs = [ "out" "dev" "bin" ];
}

View File

@ -1,10 +1,8 @@
{ stdenv, qtModule, qtbase, cf-private }:
{ stdenv, qtModule, qtbase }:
qtModule {
name = "qtmacextras";
qtInputs = [ qtbase ]
# Needed for _OBJC_CLASS_$_NSData symbols.
++ stdenv.lib.optional stdenv.isDarwin cf-private;
qtInputs = [ qtbase ];
meta = with stdenv.lib; {
maintainers = with maintainers; [ periklis ];
platforms = platforms.darwin;

View File

@ -3,5 +3,5 @@
qtModule {
name = "qtspeech";
qtInputs = [ ];
outputs = [ "out" "dev" "bin" ];
outputs = [ "out" "dev" ];
}

View File

@ -200,14 +200,6 @@ EOF
(runCommand "MacOS_SDK_sandbox.h" {} ''
install -Dm444 "${lib.getDev darwin.apple_sdk.sdk}"/include/sandbox.h "$out"/include/sandbox.h
'')
# For:
# _NSDefaultRunLoopMode
# _OBJC_CLASS_$_NSDate
# _OBJC_CLASS_$_NSDictionary
# _OBJC_CLASS_$_NSRunLoop
# _OBJC_CLASS_$_NSURL
darwin.cf-private
]);
__impureHostDeps = optional stdenv.isDarwin "/usr/lib/libsandbox.1.dylib";

View File

@ -28,7 +28,7 @@ qtModule {
++ optional (stdenv.isDarwin && lib.versionAtLeast qtbase.version "5.9.0") qtmultimedia
++ optional usingAnnulenWebkitFork qtwebchannel;
buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite glib gst_all_1.gstreamer gst_all_1.gst-plugins-base ]
++ optionals (stdenv.isDarwin) (with darwin; with apple_sdk.frameworks; [ cf-private ICU OpenGL ])
++ optionals (stdenv.isDarwin) (with darwin; with apple_sdk.frameworks; [ ICU OpenGL ])
++ optional usingAnnulenWebkitFork hyphen;
nativeBuildInputs = [
bison2 flex gdb gperf perl pkgconfig python2 ruby

View File

@ -8,12 +8,6 @@ qtModule {
buildInputs = optional (stdenv.isDarwin) [
darwin.apple_sdk.frameworks.CoreFoundation
darwin.apple_sdk.frameworks.WebKit
# For:
# _OBJC_CLASS_$_NSArray
# _OBJC_CLASS_$_NSDate
# _OBJC_CLASS_$_NSURL
darwin.cf-private
];
outputs = [ "out" "dev" "bin" ];
NIX_LDFLAGS = optionalString stdenv.isDarwin "-framework CoreFoundation -framework WebKit";

View File

@ -1,6 +1,6 @@
{ stdenv, fetchzip, cmake, libX11, freetype, libjpeg, openal, flac, libvorbis
, glew, libXrandr, libXrender, udev, xcbutilimage
, cf-private, IOKit, Foundation, AppKit, OpenAL
, IOKit, Foundation, AppKit, OpenAL
}:
let
@ -19,10 +19,7 @@ stdenv.mkDerivation rec {
buildInputs = [ freetype libjpeg openal flac libvorbis glew ]
++ stdenv.lib.optional stdenv.isLinux udev
++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXrandr libXrender xcbutilimage ]
++ stdenv.lib.optionals stdenv.isDarwin [ IOKit Foundation AppKit OpenAL
# Needed for _NSDefaultRunLoopMode, _OBJC_CLASS_$_NSArray, _OBJC_CLASS_$_NSDate
cf-private
];
++ stdenv.lib.optionals stdenv.isDarwin [ IOKit Foundation AppKit OpenAL ];
cmakeFlags = [ "-DSFML_INSTALL_PKGCONFIG_FILES=yes"
"-DSFML_MISC_INSTALL_PREFIX=share/SFML"

View File

@ -32,11 +32,9 @@ stdenv.mkDerivation {
++ stdenv.lib.optional enableAqua "--enable-aqua";
nativeBuildInputs = [ pkgconfig ];
buildInputs = lib.optional enableAqua (with darwin.apple_sdk.frameworks; [ Cocoa ]);
propagatedBuildInputs = [ tcl libXft ]
++ lib.optional enableAqua (with darwin; with apple_sdk.frameworks; [
Cocoa cf-private
]);
propagatedBuildInputs = [ tcl libXft ];
doCheck = false; # fails. can't find itself

View File

@ -2,7 +2,7 @@
, qtLib ? null
# Darwin support
, Cocoa, CoreServices, DiskArbitration, IOKit, CFNetwork, Security, GLUT, OpenGL
, ApplicationServices, CoreText, IOSurface, cf-private, ImageIO, xpc, libobjc }:
, ApplicationServices, CoreText, IOSurface, ImageIO, xpc, libobjc }:
with stdenv.lib;
@ -20,13 +20,13 @@ stdenv.mkDerivation rec {
sha256 = "1hrjxkcvs3ap0bdhk90vymz5pgvxmg7q6sz8ab3wsyddbshr1abq";
};
buildInputs =
if !stdenv.isDarwin
then [ cmake libGLU_combined libX11 xorgproto libXt ] ++ optional (qtLib != null) qtLib
else [ cmake qtLib xpc CoreServices DiskArbitration IOKit cf-private
CFNetwork Security ApplicationServices CoreText IOSurface ImageIO
OpenGL GLUT ];
propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ Cocoa libobjc ];
buildInputs = [ cmake ]
++ optional (qtLib != null) qtLib
++ optionals stdenv.isLinux [ libGLU_combined libX11 xorgproto libXt ]
++ optionals stdenv.isDarwin [ xpc Cocoa CoreServices DiskArbitration IOKit
CFNetwork Security ApplicationServices CoreText
IOSurface ImageIO OpenGL GLUT ];
propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ libobjc ];
preBuild = ''

View File

@ -1,6 +1,6 @@
{ stdenv, fetchzip, expat, libiconv, libjpeg, libpng, libtiff, zlib
# darwin only attributes
, cf-private, derez, rez, setfile
, derez, rez, setfile
, AGL, Cocoa, Kernel
}:
@ -16,15 +16,9 @@ stdenv.mkDerivation rec {
buildInputs = [
expat libiconv libjpeg libpng libtiff zlib
derez rez setfile
Cocoa Kernel
# Needed for CFURLGetFSRef, etc. which have deen deprecated
# since 10.9 and are not part of swift-corelibs CoreFoundation.
cf-private
AGL Cocoa Kernel
];
propagatedBuildInputs = [ AGL ];
postPatch = ''
substituteInPlace configure --replace "-framework System" -lSystem
'';
@ -71,6 +65,5 @@ stdenv.mkDerivation rec {
homepage = https://www.wxwidgets.org/;
description = "a C++ library that lets developers create applications for Windows, macOS, Linux and other platforms with a single code base";
longDescription = "wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms that still utilize the native platform's controls and utilities. Link with the appropriate library for your platform and compiler, and your application will adopt the look and feel appropriate to that platform. On top of great GUI functionality, wxWidgets gives you: online help, network programming, streams, clipboard and drag and drop, multithreading, image loading and saving in a variety of popular formats, database support, HTML viewing and printing, and much more.";
broken = true;
};
}

View File

@ -1,4 +1,4 @@
{ lib, fetchPypi, python, buildPythonPackage, gfortran, pytest, blas, writeTextFile }:
{ lib, fetchPypi, python, buildPythonPackage, gfortran, pytest, blas, writeTextFile, isPyPy }:
let
blasImplementation = lib.nameFromURL blas.name "-";
@ -45,6 +45,8 @@ in buildPythonPackage rec {
enableParallelBuilding = true;
doCheck = !isPyPy; # numpy 1.16+ hits a bug in pypy's ctypes, using either numpy or pypy HEAD fixes this (https://github.com/numpy/numpy/issues/13807)
checkPhase = ''
runHook preCheck
pushd dist

View File

@ -1,6 +1,6 @@
{ stdenv, buildPythonPackage, pythonOlder, fetchPypi, attrs, hypothesis, py
, setuptools_scm, setuptools, six, pluggy, funcsigs, isPy3k, more-itertools
, atomicwrites, mock, writeText, pathlib2, wcwidth, packaging
, atomicwrites, mock, writeText, pathlib2, wcwidth, packaging, isPyPy
}:
buildPythonPackage rec {
version = "4.6.3";
@ -22,6 +22,7 @@ buildPythonPackage rec {
++ stdenv.lib.optionals (!isPy3k) [ funcsigs ]
++ stdenv.lib.optionals (pythonOlder "3.6") [ pathlib2 ];
doCheck = !isPyPy; # https://github.com/pytest-dev/pytest/issues/3460
checkPhase = ''
runHook preCheck
$out/bin/py.test -x testing/ -k "not test_collect_pyargs_with_testpaths"

View File

@ -17,7 +17,7 @@ buildPythonPackage rec {
};
buildInputs = stdenv.lib.optionals stdenv.isDarwin
[ pkgs.darwin.apple_sdk.frameworks.CoreServices pkgs.darwin.cf-private ];
[ pkgs.darwin.apple_sdk.frameworks.CoreServices ];
propagatedBuildInputs = [ argh pathtools pyyaml ];
doCheck = false;

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