autonix: JSON manifest format
This commit is contained in:
parent
0aa8e64967
commit
8862d8d9c9
@ -12,23 +12,23 @@
|
|||||||
# make a copy of this directory first. After copying, be sure to delete ./tmp
|
# make a copy of this directory first. After copying, be sure to delete ./tmp
|
||||||
# if it exists. Then follow the minor update instructions.
|
# if it exists. Then follow the minor update instructions.
|
||||||
|
|
||||||
{ autonix, symlinkJoin, kde4, kf5, pkgs, qt4, qt5, stdenv, newScope, debug ? false }:
|
{ pkgs, newScope, kf5 ? null, plasma5 ? null, qt5 ? null, debug ? false }:
|
||||||
|
|
||||||
with autonix;
|
let inherit (pkgs) autonix kde4 stdenv symlinkJoin; in
|
||||||
|
|
||||||
let inherit (stdenv) lib; in
|
with autonix; let inherit (stdenv) lib; in
|
||||||
|
|
||||||
let kf5Orig = kf5; in
|
let
|
||||||
|
kf5_ = if kf5 != null then kf5 else pkgs.kf510;
|
||||||
|
plasma5_ = if plasma5 != null then plasma5 else pkgs.plasma53;
|
||||||
|
qt5_ = if qt5 != null then qt5 else pkgs.qt54;
|
||||||
|
in
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
kf5 = kf5Orig.override { inherit debug qt5; };
|
kf5 = kf5_.override { inherit debug qt5; };
|
||||||
|
plasma5 = plasma5_.override { inherit debug kf5 qt5; };
|
||||||
kdePackage = pkg:
|
qt5 = qt5_;
|
||||||
(kf5.kdePackage pkg).override {
|
|
||||||
inherit (stdenv) mkDerivation;
|
|
||||||
inherit scope;
|
|
||||||
};
|
|
||||||
|
|
||||||
kdeOrL10nPackage = name: pkg:
|
kdeOrL10nPackage = name: pkg:
|
||||||
assert (builtins.isAttrs pkg);
|
assert (builtins.isAttrs pkg);
|
||||||
@ -124,53 +124,58 @@ let
|
|||||||
(lib.mapAttrs mirrorUrl)
|
(lib.mapAttrs mirrorUrl)
|
||||||
];
|
];
|
||||||
|
|
||||||
overrideDerivation = pkg: f:
|
kde4Package = pkg: overrideScope pkg (with kde4; {
|
||||||
let mkDerivation = super: drv: super.mkDerivation (drv // f drv);
|
inherit akonadi baloo kactivities libkdegames libkmahjongg;
|
||||||
in pkg.override (super: super // { mkDerivation = mkDerivation super; });
|
kde4 = self.kdelibs;
|
||||||
|
});
|
||||||
|
|
||||||
scope =
|
scope =
|
||||||
|
# KDE Frameworks 5
|
||||||
|
kf5 //
|
||||||
# packages in this collection
|
# packages in this collection
|
||||||
self //
|
self //
|
||||||
{
|
{
|
||||||
|
kf5baloo = plasma5.baloo;
|
||||||
|
kf5kdcraw = self.libkdcraw;
|
||||||
kf5kdegames = self.libkdegames;
|
kf5kdegames = self.libkdegames;
|
||||||
|
kf5kipi = self.libkipi;
|
||||||
libkonq = self.kde-baseapps;
|
libkonq = self.kde-baseapps;
|
||||||
} //
|
} //
|
||||||
# packages from KDE Frameworks 5
|
|
||||||
kf5.scope //
|
|
||||||
# packages requiring same Qt 5
|
# packages requiring same Qt 5
|
||||||
(with pkgs; {
|
(with pkgs; {
|
||||||
accountsqt5 = accounts-qt.override { inherit qt5; };
|
accountsqt5 = accounts-qt.override { inherit qt5; };
|
||||||
dbusmenuqt = libdbusmenu_qt;
|
dbusmenuqt = libdbusmenu_qt;
|
||||||
grantlee5 = grantlee5.override { inherit qt5; };
|
grantlee5 = grantlee5.override { inherit qt5; };
|
||||||
mlt = pkgs.mlt-qt5.override { inherit qt5; };
|
mlt = pkgs.mlt-qt5.override { inherit qt5; };
|
||||||
|
phonon4qt5 = pkgs.phonon_qt5.override { inherit qt5; };
|
||||||
qca-qt5 = qca-qt5.override { inherit qt5; };
|
qca-qt5 = qca-qt5.override { inherit qt5; };
|
||||||
|
qt5script = qt5.script;
|
||||||
|
qt5x11extras = qt5.x11extras;
|
||||||
signonqt5 = signon.override { inherit qt5; };
|
signonqt5 = signon.override { inherit qt5; };
|
||||||
telepathyqt5 = telepathy_qt5.override { inherit qt5; };
|
telepathyqt5 = telepathy_qt5.override { inherit qt5; };
|
||||||
}) //
|
}) //
|
||||||
# packages from KDE 4
|
|
||||||
(with kde4; {
|
|
||||||
inherit akonadi baloo kactivities libkdegames libkmahjongg;
|
|
||||||
kde4 = self.kdelibs;
|
|
||||||
}) //
|
|
||||||
# packages from nixpkgs
|
# packages from nixpkgs
|
||||||
(with pkgs; {
|
(with pkgs; {
|
||||||
inherit acl attr automoc4 avahi bison cdparanoia cfitsio cups
|
inherit acl attr automoc4 avahi bison cdparanoia cfitsio cmake cups
|
||||||
djvulibre docbook_xml_dtd_42 docbook_xsl enchant eigen2
|
djvulibre docbook_xml_dtd_42 docbook_xsl enchant eigen2
|
||||||
exiv2 fam ffmpeg flac flex freetype gmp gettext gpgme
|
exiv2 fam ffmpeg flac flex freetype gmp gettext gpgme
|
||||||
grantlee gsl hunspell ilmbase intltool jasper lcms2
|
grantlee gsl hunspell ilmbase intltool jasper lcms2
|
||||||
libgcrypt libraw libssh libspectre libvncserver libical
|
libaccounts-glib libgcrypt libotr libraw libssh libspectre
|
||||||
networkmanager openal opencv openexr phonon pkgconfig
|
libvncserver libical networkmanager openal opencv
|
||||||
polkit_qt4 prison python qca2 qimageblitz qjson qt4
|
openexr perl phonon pkgconfig polkit_qt4 prison python qca2
|
||||||
samba saneBackends soprano
|
qimageblitz qjson qt4 samba saneBackends soprano speechd
|
||||||
speechd strigi taglib udev xplanet xscreensaver xz;
|
strigi taglib udev xlibs xplanet xscreensaver xz;
|
||||||
alsa = alsaLib;
|
alsa = alsaLib;
|
||||||
assuan = libassuan;
|
assuan = libassuan;
|
||||||
boost = boost156;
|
boost = boost156;
|
||||||
canberra = libcanberra;
|
canberra = libcanberra;
|
||||||
|
eigen3 = eigen;
|
||||||
epub = ebook_tools;
|
epub = ebook_tools;
|
||||||
|
gif = giflib;
|
||||||
gphoto2 = libgphoto2;
|
gphoto2 = libgphoto2;
|
||||||
hupnp = herqq;
|
hupnp = herqq;
|
||||||
indi = indilib;
|
indi = indilib;
|
||||||
|
jpeg = libjpeg;
|
||||||
ldap = openldap;
|
ldap = openldap;
|
||||||
libattica = attica;
|
libattica = attica;
|
||||||
musicbrainz3 = libmusicbrainz;
|
musicbrainz3 = libmusicbrainz;
|
||||||
@ -180,6 +185,7 @@ let
|
|||||||
qalculate = libqalculate;
|
qalculate = libqalculate;
|
||||||
sasl2 = cyrus_sasl;
|
sasl2 = cyrus_sasl;
|
||||||
shareddesktopontologies = shared_desktop_ontologies;
|
shareddesktopontologies = shared_desktop_ontologies;
|
||||||
|
sharedmimeinfo = shared_mime_info;
|
||||||
sndfile = libsndfile;
|
sndfile = libsndfile;
|
||||||
tiff = libtiff;
|
tiff = libtiff;
|
||||||
telepathyqt4 = telepathy_qt;
|
telepathyqt4 = telepathy_qt;
|
||||||
@ -189,212 +195,330 @@ let
|
|||||||
});
|
});
|
||||||
|
|
||||||
self =
|
self =
|
||||||
(builtins.removeAttrs super [ "artikulate" # build failure; wrong boost?
|
(builtins.removeAttrs super [
|
||||||
|
"artikulate" # build failure; wrong boost?
|
||||||
"kde-dev-scripts" "kde-dev-utils" # docbook errors
|
"kde-dev-scripts" "kde-dev-utils" # docbook errors
|
||||||
"kdewebdev" # unknown build failure
|
"kdewebdev" # unknown build failure
|
||||||
|
"kde-l10n-sr" # missing CMake command
|
||||||
]) // {
|
]) // {
|
||||||
inherit kdePackage qt5 scope;
|
audiocd-kio = kde4Package super.audiocd-kio;
|
||||||
|
|
||||||
ark = overrideDerivation super.ark (drv: {
|
amor = kde4Package super.amor;
|
||||||
buildInputs = (drv.buildInputs or []) ++ [ pkgs.makeWrapper ];
|
|
||||||
|
ark = extendDerivation (kde4Package super.ark) {
|
||||||
|
buildInputs = [ pkgs.makeWrapper ];
|
||||||
# runtime dependency
|
# runtime dependency
|
||||||
postInstall = (drv.postInstall or "") + ''
|
postInstall = ''
|
||||||
wrapProgram $out/bin/ark --prefix PATH : "${pkgs.unzipNLS}/bin"
|
wrapProgram $out/bin/ark --prefix PATH : "${pkgs.unzipNLS}/bin"
|
||||||
'';
|
'';
|
||||||
});
|
};
|
||||||
|
|
||||||
ffmpegthumbs = overrideDerivation super.ffmpegthumbs (drv: {
|
cervisia = kde4Package super.cervisia;
|
||||||
nativeBuildInputs = (drv.nativeBuildInputs or []) ++ [ scope.pkgconfig ];
|
|
||||||
});
|
|
||||||
|
|
||||||
kaccounts-providers = overrideDerivation super.kaccounts-providers (drv: {
|
dolphin-plugins = kde4Package super.dolphin-plugins;
|
||||||
buildInputs = (drv.buildInputs or []) ++ [ pkgs.libaccounts-glib ];
|
|
||||||
|
dragon = kde4Package super.dragon;
|
||||||
|
|
||||||
|
ffmpegthumbs = extendDerivation (kde4Package super.ffmpegthumbs) {
|
||||||
|
nativeBuildInputs = [ scope.pkgconfig ];
|
||||||
|
};
|
||||||
|
|
||||||
|
juk = kde4Package super.juk;
|
||||||
|
|
||||||
|
jovie = kde4Package super.jovie;
|
||||||
|
|
||||||
|
kaccessible = kde4Package super.kaccessible;
|
||||||
|
|
||||||
|
kaccounts-providers = extendDerivation super.kaccounts-providers {
|
||||||
|
buildInputs = [ pkgs.libaccounts-glib ];
|
||||||
# hard-coded install path
|
# hard-coded install path
|
||||||
preConfigure = (drv.preConfigure or "") + ''
|
preConfigure = ''
|
||||||
substituteInPlace webkit-options/CMakeLists.txt \
|
substituteInPlace webkit-options/CMakeLists.txt \
|
||||||
--replace "/etc/signon-ui/webkit-options.d/" \
|
--replace "/etc/signon-ui/webkit-options.d/" \
|
||||||
"$out/etc/signon-ui/webkit-options.d/"
|
"$out/etc/signon-ui/webkit-options.d/"
|
||||||
'';
|
'';
|
||||||
});
|
};
|
||||||
|
|
||||||
kalzium = overrideDerivation super.kalzium (drv: {
|
kajongg = kde4Package super.kajongg;
|
||||||
nativeBuildInputs = (drv.nativeBuildInputs or []) ++ [ scope.pkgconfig ];
|
|
||||||
});
|
|
||||||
|
|
||||||
kate = overrideDerivation super.kate (drv: {
|
kalzium = extendDerivation (kde4Package super.kalzium) {
|
||||||
buildInputs =
|
nativeBuildInputs = [ scope.pkgconfig ];
|
||||||
(drv.buildInputs or [])
|
};
|
||||||
++ (with kf5; [ kconfig kguiaddons kiconthemes ki18n kinit kjobwidgets
|
|
||||||
kio kparts ktexteditor kwindowsystem kxmlgui ]);
|
|
||||||
nativeBuildInputs = (drv.nativeBuildInputs or []) ++ ([ kf5.kdoctools ]);
|
|
||||||
});
|
|
||||||
|
|
||||||
/*
|
kamera = kde4Package super.kamera;
|
||||||
kde-baseapps = overrideDerivation super.kde-baseapps (drv: {
|
|
||||||
buildInputs = (drv.buildInputs or []) ++ [ scope.qt4 ];
|
|
||||||
});
|
|
||||||
*/
|
|
||||||
|
|
||||||
kde-runtime = overrideDerivation super.kde-runtime (drv: {
|
kate = extendDerivation super.kate {
|
||||||
buildInputs = (drv.buildInputs or []) ++ [ scope.canberra ];
|
buildInputs = with scope; [
|
||||||
nativeBuildInputs = (drv.nativeBuildInputs or []) ++ [ scope.pkgconfig ];
|
kconfig kguiaddons kiconthemes ki18n kinit kjobwidgets kio
|
||||||
|
kparts ktexteditor kwindowsystem kxmlgui
|
||||||
|
];
|
||||||
|
nativeBuildInputs = [ scope.kdoctools ];
|
||||||
|
};
|
||||||
|
|
||||||
|
kcachegrind = kde4Package super.kcachegrind;
|
||||||
|
|
||||||
|
kcolorchooser = kde4Package super.kcolorchooser;
|
||||||
|
|
||||||
|
kde-base-artwork = kde4Package super.kde-base-artwork;
|
||||||
|
|
||||||
|
kde-baseapps = kde4Package super.kde-baseapps;
|
||||||
|
|
||||||
|
kde-runtime = extendDerivation (kde4Package super.kde-runtime) {
|
||||||
|
buildInputs = [ scope.canberra ];
|
||||||
|
nativeBuildInputs = [ scope.pkgconfig ];
|
||||||
# cmake does not detect path to `ilmbase`
|
# cmake does not detect path to `ilmbase`
|
||||||
NIX_CFLAGS_COMPILE =
|
NIX_CFLAGS_COMPILE = "-I${scope.ilmbase}/include/OpenEXR";
|
||||||
(drv.NIX_CFLAGS_COMPILE or "") + " -I${scope.ilmbase}/include/OpenEXR";
|
|
||||||
# some components of this package have been replaced in other packages
|
# some components of this package have been replaced in other packages
|
||||||
meta = { priority = 10; };
|
meta = { priority = 10; };
|
||||||
});
|
};
|
||||||
|
|
||||||
kde-workspace = overrideDerivation super.kde-workspace (drv: {
|
kde-wallpapers = kde4Package super.kde-wallpapers;
|
||||||
buildInputs =
|
|
||||||
(drv.buildInputs or []) ++
|
kde-workspace = extendDerivation (kde4Package super.kde-workspace) {
|
||||||
(with pkgs.xlibs; [
|
buildInputs = with scope.xlibs; [
|
||||||
libxkbfile libXcomposite xcbutilimage xcbutilkeysyms xcbutilrenderutil
|
libxkbfile libXcomposite xcbutilimage xcbutilkeysyms xcbutilrenderutil
|
||||||
]);
|
];
|
||||||
nativeBuildInputs = (drv.nativeBuildInputs or []) ++ [ scope.pkgconfig ];
|
nativeBuildInputs = [ scope.pkgconfig ];
|
||||||
# some components of this package have been replaced in other packages
|
# some components of this package have been replaced in other packages
|
||||||
meta = { priority = 10; };
|
meta = { priority = 10; };
|
||||||
});
|
};
|
||||||
|
|
||||||
kdelibs = overrideDerivation super.kdelibs (drv: {
|
kdeartwork = kde4Package super.kdeartwork;
|
||||||
buildInputs =
|
|
||||||
(drv.buildInputs or []) ++ (with scope; [ attr polkit_qt4 xsltproc xz ]);
|
|
||||||
|
|
||||||
nativeBuildInputs = (drv.nativeBuildInputs or []) ++ [ scope.pkgconfig ];
|
kdegraphics-mobipocket = kde4Package super.kdegraphics-mobipocket;
|
||||||
|
|
||||||
|
kdegraphics-strigi-analyzer = kde4Package super.kdegraphics-strigi-analyzer;
|
||||||
|
|
||||||
|
kdegraphics-thumbnailers = kde4Package super.kdegraphics-thumbnailers;
|
||||||
|
|
||||||
|
kdelibs = extendDerivation super.kdelibs {
|
||||||
|
buildInputs = with scope; [ attr polkit_qt4 xsltproc xz ];
|
||||||
|
propagatedBuildInputs = with scope; [ qt4 soprano phonon strigi ];
|
||||||
|
nativeBuildInputs = [ scope.pkgconfig ];
|
||||||
|
propagatedNativeBuildInputs = with scope; [
|
||||||
|
automoc4 cmake perl sharedmimeinfo
|
||||||
|
];
|
||||||
|
|
||||||
|
patches = [ ./kdelibs/polkit-install.patch ];
|
||||||
|
|
||||||
# cmake does not detect path to `ilmbase`
|
# cmake does not detect path to `ilmbase`
|
||||||
NIX_CFLAGS_COMPILE =
|
NIX_CFLAGS_COMPILE = "-I${scope.ilmbase}/include/OpenEXR";
|
||||||
(drv.NIX_CFLAGS_COMPILE or "") + " -I${scope.ilmbase}/include/OpenEXR";
|
|
||||||
|
|
||||||
propagatedBuildInputs =
|
cmakeFlags = [
|
||||||
(drv.propagatedBuildInputs or [])
|
|
||||||
++ (with scope; [ qt4 soprano phonon strigi ]);
|
|
||||||
|
|
||||||
propagatedNativeBuildInputs =
|
|
||||||
(drv.propagatedNativeBuildInputs or [])
|
|
||||||
++ (with scope; [ automoc4 cmake perl sharedmimeinfo ]);
|
|
||||||
|
|
||||||
patches = (drv.patches or []) ++ [ ./kdelibs/polkit-install.patch ];
|
|
||||||
|
|
||||||
cmakeFlags = (drv.cmakeFlags or []) ++ [
|
|
||||||
"-DDOCBOOKXML_CURRENTDTD_DIR=${scope.docbook_xml_dtd_42}/xml/dtd/docbook"
|
"-DDOCBOOKXML_CURRENTDTD_DIR=${scope.docbook_xml_dtd_42}/xml/dtd/docbook"
|
||||||
"-DDOCBOOKXSL_DIR=${scope.docbook_xsl}/xml/xsl/docbook"
|
"-DDOCBOOKXSL_DIR=${scope.docbook_xsl}/xml/xsl/docbook"
|
||||||
"-DHUPNP_ENABLED=ON"
|
"-DHUPNP_ENABLED=ON"
|
||||||
"-DWITH_SOLID_UDISKS2=ON"
|
"-DWITH_SOLID_UDISKS2=ON"
|
||||||
"-DKDE_DEFAULT_HOME=.kde"
|
"-DKDE_DEFAULT_HOME=.kde"
|
||||||
];
|
];
|
||||||
});
|
};
|
||||||
|
|
||||||
kdenlive = overrideDerivation super.kdenlive (drv: {
|
kdenetwork-filesharing = kde4Package super.kdenetwork-filesharing;
|
||||||
buildInputs = (drv.buildInputs or []) ++ [ scope.mlt ];
|
|
||||||
});
|
|
||||||
|
|
||||||
kdepim = overrideDerivation super.kdepim (drv: {
|
kdenetwork-strigi-analyzers = kde4Package super.kdenetwork-strigi-analyzers;
|
||||||
buildInputs = (drv.buildInputs or []) ++ (with scope; [ gpgme assuan ]);
|
|
||||||
nativeBuildInputs = (drv.nativeBuildInputs or []) ++ [ scope.pkgconfig ];
|
|
||||||
});
|
|
||||||
|
|
||||||
kdepimlibs = overrideDerivation super.kdepimlibs (drv: {
|
kdenlive = extendDerivation super.kdenlive { buildInputs = [ scope.mlt ]; };
|
||||||
nativeBuildInputs = (drv.nativeBuildInputs or []) ++ [ scope.pkgconfig ];
|
|
||||||
});
|
|
||||||
|
|
||||||
kdesdk-thumbnailers = overrideDerivation super.kdesdk-thumbnailers (drv: {
|
kdepim = extendDerivation (kde4Package super.kdepim) {
|
||||||
nativeBuildInputs = (drv.nativeBuildInputs or []) ++ [ scope.gettext ];
|
buildInputs = with scope; [ gpgme assuan ];
|
||||||
});
|
nativeBuildInputs = [ scope.pkgconfig ];
|
||||||
|
};
|
||||||
|
|
||||||
kgpg = overrideDerivation super.kgpg (drv: {
|
kdepim-runtime = kde4Package super.kdepim-runtime;
|
||||||
buildInputs = (drv.buildInputs or []) ++ [ scope.boost ];
|
|
||||||
});
|
|
||||||
|
|
||||||
khangman = overrideDerivation super.khangman (drv: {
|
kdepimlibs = extendDerivation (kde4Package super.kdepimlibs) {
|
||||||
buildInputs = (drv.buildInputs or []) ++ [ kf5.kio ];
|
nativeBuildInputs = [ scope.pkgconfig ];
|
||||||
});
|
};
|
||||||
|
|
||||||
kmix = overrideDerivation super.kmix (drv: {
|
kdesdk-kioslaves = kde4Package super.kdesdk-kioslaves;
|
||||||
nativeBuildInputs = (drv.nativeBuildInputs or []) ++ [ scope.pkgconfig ];
|
|
||||||
cmakeFlags = (drv.cmakeFlags or []) ++ [ "-DKMIX_KF5_BUILD=ON" ];
|
|
||||||
});
|
|
||||||
|
|
||||||
kmousetool = overrideDerivation super.kmousetool (drv: {
|
kdesdk-strigi-analyzers = kde4Package super.kdesdk-strigi-analyzers;
|
||||||
buildInputs = (drv.buildInputs or []) ++ (with pkgs.xlibs; [ libXtst libXt ]);
|
|
||||||
});
|
|
||||||
|
|
||||||
kremotecontrol = overrideDerivation super.kremotecontrol (drv: {
|
kdesdk-thumbnailers =
|
||||||
buildInputs = (drv.buildInputs or []) ++ [ pkgs.xlibs.libXtst ];
|
extendDerivation (kde4Package super.kdesdk-thumbnailers) {
|
||||||
});
|
nativeBuildInputs = [ scope.gettext ];
|
||||||
|
};
|
||||||
|
|
||||||
krfb = overrideDerivation super.krfb (drv: {
|
kdf = kde4Package super.kdf;
|
||||||
buildInputs =
|
|
||||||
(drv.buildInputs or [])
|
|
||||||
++ [ pkgs.xlibs.libXtst scope.ktp-common-internals ];
|
|
||||||
});
|
|
||||||
|
|
||||||
kstars = overrideDerivation super.kstars (drv: {
|
kfloppy = kde4Package super.kfloppy;
|
||||||
buildInputs = (drv.buildInputs or []) ++ (with scope; [ kparts cfitsio ]);
|
|
||||||
});
|
|
||||||
|
|
||||||
ktp-accounts-kcm = overrideDerivation super.ktp-accounts-kcm (drv: {
|
kgamma = kde4Package super.kgamma;
|
||||||
buildInputs = (drv.buildInputs or []) ++ [ pkgs.libaccounts-glib ];
|
|
||||||
});
|
|
||||||
|
|
||||||
ktp-common-internals = overrideDerivation super.ktp-common-internals (drv: {
|
kget = kde4Package super.kget;
|
||||||
buildInputs =
|
|
||||||
(drv.buildInputs or [])
|
|
||||||
++ (with scope; [ kdelibs4support kparts ])
|
|
||||||
++ [ pkgs.libotr ]; # needed for ktp-text-ui
|
|
||||||
});
|
|
||||||
|
|
||||||
ktp-text-ui = overrideDerivation super.ktp-text-ui (drv: {
|
kgoldrunner = kde4Package super.kgoldrunner;
|
||||||
buildInputs = (drv.buildInputs or []) ++ [ scope.kdbusaddons ];
|
|
||||||
});
|
|
||||||
|
|
||||||
lokalize = overrideDerivation super.lokalize (drv: {
|
kgpg = extendDerivation (kde4Package super.kgpg) {
|
||||||
buildInputs = (drv.buildInputs or []) ++ [ scope.kdbusaddons ];
|
buildInputs = [ scope.boost ];
|
||||||
});
|
};
|
||||||
|
|
||||||
libkdcraw = overrideDerivation super.libkdcraw (drv: {
|
khangman = extendDerivation super.khangman { buildInputs = [ scope.kio ]; };
|
||||||
buildInputs = (drv.buildInputs or []) ++ (with scope; [ kdelibs libraw ]);
|
|
||||||
nativeBuildInputs = (drv.nativeBuildInputs or []) ++ [ scope.pkgconfig ];
|
|
||||||
});
|
|
||||||
|
|
||||||
libkexiv2 = overrideDerivation super.libkexiv2 (drv: {
|
kigo = kde4Package super.kigo;
|
||||||
buildInputs = (drv.buildInputs or []) ++ (with scope; [ exiv2 kdelibs ]);
|
|
||||||
});
|
|
||||||
|
|
||||||
libkface = overrideDerivation super.libkface (drv: {
|
kiriki = kde4Package super.kiriki;
|
||||||
buildInputs = (drv.buildInputs or []) ++ (with scope; [ kdelibs opencv ]);
|
|
||||||
});
|
|
||||||
|
|
||||||
libkgeomap = overrideDerivation super.libkgeomap (drv: {
|
klickety = kde4Package super.klickety;
|
||||||
|
|
||||||
|
kmag = kde4Package super.kmag;
|
||||||
|
|
||||||
|
kmahjongg = kde4Package super.kmahjongg;
|
||||||
|
|
||||||
|
kmix = extendDerivation super.kmix {
|
||||||
|
nativeBuildInputs = [ scope.pkgconfig ];
|
||||||
|
cmakeFlags = [ "-DKMIX_KF5_BUILD=ON" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
kmousetool = extendDerivation (kde4Package super.kmousetool) {
|
||||||
|
buildInputs = with scope.xlibs; [ libXtst libXt ];
|
||||||
|
};
|
||||||
|
|
||||||
|
kmouth = kde4Package super.kmouth;
|
||||||
|
|
||||||
|
knavalbattle = kde4Package super.knavalbattle;
|
||||||
|
|
||||||
|
kolf = kde4Package super.kolf;
|
||||||
|
|
||||||
|
kolourpaint = kde4Package super.kolourpaint;
|
||||||
|
|
||||||
|
konquest = kde4Package super.konquest;
|
||||||
|
|
||||||
|
kopete = kde4Package super.kopete;
|
||||||
|
|
||||||
|
kppp = kde4Package super.kppp;
|
||||||
|
|
||||||
|
kqtquickcharts = kde4Package super.kqtquickcharts;
|
||||||
|
|
||||||
|
krdc = kde4Package super.krdc;
|
||||||
|
|
||||||
|
kremotecontrol = extendDerivation (kde4Package super.kremotecontrol) {
|
||||||
|
buildInputs = [ scope.xlibs.libXtst ];
|
||||||
|
};
|
||||||
|
|
||||||
|
kreversi = kde4Package super.kreversi;
|
||||||
|
|
||||||
|
krfb = extendDerivation (kde4Package super.krfb) {
|
||||||
|
buildInputs = with scope; [ xlibs.libXtst ktp-common-internals ];
|
||||||
|
};
|
||||||
|
|
||||||
|
ksaneplugin = kde4Package super.ksaneplugin;
|
||||||
|
|
||||||
|
kscd = kde4Package super.kscd;
|
||||||
|
|
||||||
|
ksirk = kde4Package super.ksirk;
|
||||||
|
|
||||||
|
ksnakeduel = kde4Package super.ksnakeduel;
|
||||||
|
|
||||||
|
ksnapshot = kde4Package super.ksnapshot;
|
||||||
|
|
||||||
|
kspaceduel = kde4Package super.kspaceduel;
|
||||||
|
|
||||||
|
kstars = extendDerivation super.kstars {
|
||||||
|
buildInputs = with scope; [ kparts cfitsio ];
|
||||||
|
};
|
||||||
|
|
||||||
|
ksudoku = kde4Package super.ksudoku;
|
||||||
|
|
||||||
|
ksystemlog = kde4Package super.ksystemlog;
|
||||||
|
|
||||||
|
ktp-accounts-kcm = extendDerivation super.ktp-accounts-kcm {
|
||||||
|
buildInputs = [ scope.libaccounts-glib ];
|
||||||
|
};
|
||||||
|
|
||||||
|
ktp-common-internals = extendDerivation super.ktp-common-internals {
|
||||||
|
buildInputs = with scope; [ kdelibs4support kparts libotr ];
|
||||||
|
};
|
||||||
|
|
||||||
|
ktp-text-ui = extendDerivation super.ktp-text-ui {
|
||||||
|
buildInputs = [ scope.kdbusaddons ];
|
||||||
|
};
|
||||||
|
|
||||||
|
ktuberling = kde4Package super.ktuberling;
|
||||||
|
|
||||||
|
ktux = kde4Package super.ktux;
|
||||||
|
|
||||||
|
kubrick = kde4Package super.kubrick;
|
||||||
|
|
||||||
|
kuser = kde4Package super.kuser;
|
||||||
|
|
||||||
|
kwalletmanager = kde4Package super.kwalletmanager;
|
||||||
|
|
||||||
|
lokalize = extendDerivation super.lokalize {
|
||||||
|
buildInputs = [ scope.kdbusaddons ];
|
||||||
|
};
|
||||||
|
|
||||||
|
libkcddb = kde4Package super.libkcddb;
|
||||||
|
|
||||||
|
libkcompactdisc = kde4Package super.libkcompactdisc;
|
||||||
|
|
||||||
|
libkdcraw = extendDerivation super.libkdcraw {
|
||||||
|
buildInputs = with scope; [ kdelibs libraw ];
|
||||||
|
nativeBuildInputs = [ scope.pkgconfig ];
|
||||||
|
};
|
||||||
|
|
||||||
|
libkdeedu = kde4Package super.libkdeedu;
|
||||||
|
|
||||||
|
libkexiv2 = extendDerivation super.libkexiv2 {
|
||||||
|
buildInputs = with scope; [ exiv2 kdelibs ];
|
||||||
|
};
|
||||||
|
|
||||||
|
libkface = extendDerivation super.libkface {
|
||||||
|
buildInputs = with scope; [ kdelibs opencv ];
|
||||||
|
};
|
||||||
|
|
||||||
|
libkgeomap = extendDerivation (kde4Package super.libkgeomap) {
|
||||||
cmakeFlags =
|
cmakeFlags =
|
||||||
(drv.cmakeFlags or [])
|
[ "-DCMAKE_MODULE_PATH=${scope.marble}/share/apps/cmake/modules" ];
|
||||||
++ [ "-DCMAKE_MODULE_PATH=${scope.marble}/share/apps/cmake/modules" ];
|
};
|
||||||
});
|
|
||||||
|
|
||||||
libkipi = overrideDerivation super.libkipi (drv: {
|
libkipi = extendDerivation super.libkipi {
|
||||||
buildInputs = (drv.buildInputs or []) ++ [ scope.kdelibs ];
|
buildInputs = [ scope.kdelibs ];
|
||||||
});
|
};
|
||||||
|
|
||||||
libksane = overrideDerivation super.libksane (drv: {
|
libksane = extendDerivation super.libksane {
|
||||||
buildInputs = (drv.buildInputs or []) ++ (with scope; [ kdelibs saneBackends]);
|
buildInputs = with scope; [ kdelibs saneBackends];
|
||||||
});
|
};
|
||||||
|
|
||||||
okular = overrideDerivation super.okular (drv: {
|
lskat = kde4Package super.lskat;
|
||||||
nativeBuildInputs = (drv.nativeBuildInputs or []) ++ [ scope.pkgconfig ];
|
|
||||||
});
|
|
||||||
|
|
||||||
rocs = overrideDerivation super.rocs (drv: {
|
marble = kde4Package super.marble;
|
||||||
buildInputs = (drv.buildInputs or []) ++ [ scope.kdelibs4support ];
|
|
||||||
});
|
|
||||||
|
|
||||||
signon-kwallet-extension =
|
mplayerthumbs = kde4Package super.mplayerthumbs;
|
||||||
overrideDerivation super.signon-kwallet-extension (drv: {
|
|
||||||
buildInputs = (drv.buildInputs or []) ++ [ scope.signonqt5 ];
|
okular = extendDerivation (kde4Package super.okular) {
|
||||||
preConfigure = (drv.preConfigure or "") + ''
|
nativeBuildInputs = [ scope.pkgconfig ];
|
||||||
sed -i src/CMakeLists.txt \
|
};
|
||||||
-e "s,\''${SIGNONEXTENSION_PLUGINDIR},$out/lib/signon/extensions,"
|
|
||||||
'';
|
pairs = kde4Package super.pairs;
|
||||||
});
|
|
||||||
|
palapeli = kde4Package super.palapeli;
|
||||||
|
|
||||||
|
picmi = kde4Package super.picmi;
|
||||||
|
|
||||||
|
poxml = kde4Package super.poxml;
|
||||||
|
|
||||||
|
rocs = extendDerivation super.rocs {
|
||||||
|
buildInputs = [ scope.kdelibs4support ];
|
||||||
|
};
|
||||||
|
|
||||||
|
signon-kwallet-extension = extendDerivation super.signon-kwallet-extension {
|
||||||
|
buildInputs = [ scope.signonqt5 ];
|
||||||
|
preConfigure = ''
|
||||||
|
sed -i src/CMakeLists.txt \
|
||||||
|
-e "s,\''${SIGNONEXTENSION_PLUGINDIR},$out/lib/signon/extensions,"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
superkaramba = kde4Package super.superkaramba;
|
||||||
|
|
||||||
|
svgpart = kde4Package super.svgpart;
|
||||||
|
|
||||||
|
sweeper = kde4Package super.sweeper;
|
||||||
|
|
||||||
|
umbrello = kde4Package super.umbrello;
|
||||||
|
|
||||||
|
zeroconf-ioslave = kde4Package super.zeroconf-ioslave;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1 +1,12 @@
|
|||||||
addToSearchPath XDG_DATA_DIRS @out@/share
|
addToSearchPath XDG_DATA_DIRS @out@/share
|
||||||
|
|
||||||
|
addQt4Plugins() {
|
||||||
|
if [[ -d "$1/lib/qt4/plugins" ]]; then
|
||||||
|
propagatedUserEnvPkgs+=" $1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -d "$1/lib/kde4/plugins" ]]; then
|
||||||
|
propagatedUserEnvPkgs+=" $1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
envHooks+=(addQt4Plugins)
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
{ bash, callPackage, coreutils, fetchurl, findutils, nix, runCommand, stdenv
|
{ pkgs }:
|
||||||
, substituteAll, wget, writeText }:
|
|
||||||
|
let inherit (pkgs) bash coreutils findutils nix wget;
|
||||||
|
inherit (pkgs) callPackage fetchurl runCommand stdenv substituteAll writeText;
|
||||||
|
in
|
||||||
|
|
||||||
/* autonix is a collection of tools to automate packaging large collections
|
/* autonix is a collection of tools to automate packaging large collections
|
||||||
* of software, particularly KDE. It consists of three components:
|
* of software, particularly KDE. It consists of three components:
|
||||||
@ -10,10 +13,18 @@
|
|||||||
* expressions from the output of the previous steps.
|
* expressions from the output of the previous steps.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
with stdenv.lib;
|
let inherit (stdenv) lib; in
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
|
resolveDeps = scope: deps:
|
||||||
|
let resolve = dep:
|
||||||
|
let res = scope."${dep}" or [];
|
||||||
|
in if lib.isList res then res else [res];
|
||||||
|
in lib.concatMap resolve deps;
|
||||||
|
|
||||||
|
in rec {
|
||||||
|
|
||||||
/* Download the packages into the Nix store, compute their hashes,
|
/* Download the packages into the Nix store, compute their hashes,
|
||||||
* and generate a package manifest in ./manifest.nix.
|
* and generate a package manifest in ./manifest.nix.
|
||||||
*/
|
*/
|
||||||
@ -32,240 +43,94 @@ let
|
|||||||
chmod +x $out
|
chmod +x $out
|
||||||
'';
|
'';
|
||||||
|
|
||||||
/* Convert a manifest.nix file to XML to be read by autonix-deps. */
|
mkPackage = callPackage: defaultOverride: name: pkg: let drv =
|
||||||
writeManifestXML = filename:
|
{ mkDerivation, fetchurl, scope }:
|
||||||
let
|
|
||||||
generateStores = mapAttrs (n: pkg: pkg.store);
|
|
||||||
manifest = importManifest filename { mirror = ""; };
|
|
||||||
stores = generateStores manifest;
|
|
||||||
in
|
|
||||||
writeText "manifest.xml" (builtins.toXML stores);
|
|
||||||
|
|
||||||
/* Generate a set of Nix expressions for the collection, given a
|
mkDerivation (defaultOverride {
|
||||||
* manifest.nix, dependencies.nix, and renames.nix in the same directory.
|
inherit (pkg) name;
|
||||||
*/
|
|
||||||
generateCollection = dir: # path to directory
|
|
||||||
{ mirror # mirror to download packages from
|
|
||||||
, mkDerivation ? mkDerivation
|
|
||||||
, preResolve ? id # modify package set before dependency resolution
|
|
||||||
, postResolve ? id # modify package set after dependency resolution
|
|
||||||
, renames ? {}
|
|
||||||
, scope ? {}
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
|
|
||||||
fix = f: let x = f x; in x;
|
src = fetchurl pkg.src;
|
||||||
|
|
||||||
resolvePkg = name:
|
buildInputs = resolveDeps scope pkg.buildInputs;
|
||||||
mapAttrs (attr: if isDepAttr attr then resolveDeps scope else id);
|
nativeBuildInputs = resolveDeps scope pkg.nativeBuildInputs;
|
||||||
|
propagatedBuildInputs = resolveDeps scope pkg.propagatedBuildInputs;
|
||||||
|
propagatedNativeBuildInputs =
|
||||||
|
resolveDeps scope pkg.propagatedNativeBuildInputs;
|
||||||
|
propagatedUserEnvPkgs = resolveDeps scope pkg.propagatedUserEnvPkgs;
|
||||||
|
|
||||||
resolve = mapAttrs resolvePkg;
|
enableParallelBuilding = true;
|
||||||
|
});
|
||||||
|
in callPackage drv {};
|
||||||
|
|
||||||
derive = mapAttrs (name: mkDerivation);
|
renameDeps = renames: lib.mapAttrs (name: pkg:
|
||||||
|
let breakCycles = lib.filter (dep: dep != name);
|
||||||
|
rename = dep: renames."${dep}" or dep;
|
||||||
|
in pkg // {
|
||||||
|
buildInputs = breakCycles (map rename pkg.buildInputs);
|
||||||
|
nativeBuildInputs = breakCycles (map rename pkg.nativeBuildInputs);
|
||||||
|
propagatedBuildInputs = breakCycles (map rename pkg.propagatedBuildInputs);
|
||||||
|
propagatedNativeBuildInputs =
|
||||||
|
breakCycles (map rename pkg.propagatedNativeBuildInputs);
|
||||||
|
propagatedUserEnvPkgs = breakCycles (map rename pkg.propagatedUserEnvPkgs);
|
||||||
|
});
|
||||||
|
|
||||||
renames_ =
|
propagateDeps = propagated: lib.mapAttrs (name: pkg:
|
||||||
if renames == {} then (import (dir + "/renames.nix") {}) else renames;
|
let isPropagated = dep: lib.elem dep propagated;
|
||||||
|
isNotPropagated = dep: !(isPropagated dep);
|
||||||
|
in pkg // {
|
||||||
|
buildInputs = lib.filter isNotPropagated pkg.buildInputs;
|
||||||
|
nativeBuildInputs = lib.filter isNotPropagated pkg.nativeBuildInputs;
|
||||||
|
propagatedBuildInputs =
|
||||||
|
pkg.propagatedBuildInputs
|
||||||
|
++ lib.filter isPropagated pkg.buildInputs;
|
||||||
|
propagatedNativeBuildInputs =
|
||||||
|
pkg.propagatedNativeBuildInputs
|
||||||
|
++ lib.filter isPropagated pkg.nativeBuildInputs;
|
||||||
|
});
|
||||||
|
|
||||||
packages = importPackages dir renames_ { inherit mirror; };
|
nativeDeps = native: lib.mapAttrs (name: pkg:
|
||||||
|
let isNative = dep: lib.elem dep native;
|
||||||
|
isNotNative = dep: !(isNative dep);
|
||||||
|
in pkg // {
|
||||||
|
buildInputs = lib.filter isNotNative pkg.buildInputs;
|
||||||
|
nativeBuildInputs =
|
||||||
|
pkg.nativeBuildInputs
|
||||||
|
++ lib.filter isNative pkg.buildInputs;
|
||||||
|
propagatedBuildInputs = lib.filter isNotNative pkg.propagatedBuildInputs;
|
||||||
|
propagatedNativeBuildInputs =
|
||||||
|
pkg.propagatedNativeBuildInputs
|
||||||
|
++ lib.filter isNative pkg.propagatedBuildInputs;
|
||||||
|
});
|
||||||
|
|
||||||
in derive (postResolve (resolve (preResolve packages)));
|
userEnvDeps = user: lib.mapAttrs (name: pkg:
|
||||||
|
let allDeps = with pkg; lib.concatLists [
|
||||||
|
buildInputs
|
||||||
|
nativeBuildInputs
|
||||||
|
propagatedBuildInputs
|
||||||
|
propagatedNativeBuildInputs
|
||||||
|
];
|
||||||
|
in assert (lib.isList allDeps); pkg // {
|
||||||
|
propagatedUserEnvPkgs = lib.filter (dep: lib.elem dep user) allDeps;
|
||||||
|
});
|
||||||
|
|
||||||
pkgAttrName = pkg: (builtins.parseDrvName pkg.name).name;
|
overrideDerivation = pkg: f: pkg.override (super: super // {
|
||||||
pkgVersion = pkg: (builtins.parseDrvName pkg.name).version;
|
mkDerivation = drv: super.mkDerivation (drv // f drv);
|
||||||
|
});
|
||||||
|
|
||||||
depAttrNames = [
|
extendDerivation = pkg: attrs:
|
||||||
"buildInputs" "nativeBuildInputs"
|
let mergeAttrBy = lib.mergeAttrBy // {
|
||||||
"propagatedBuildInputs" "propagatedNativeBuildInputs"
|
propagatedNativeBuildInputs = a: b: a ++ b;
|
||||||
"propagatedUserEnvPkgs"
|
NIX_CFLAGS_COMPILE = a: b: "${a} ${b}";
|
||||||
];
|
cmakeFlags = a: b: a ++ b;
|
||||||
|
|
||||||
isDepAttr = name: builtins.elem name depAttrNames;
|
|
||||||
|
|
||||||
removePkgDeps = deps:
|
|
||||||
let removeDepsIfDepAttr = attr: value:
|
|
||||||
if isDepAttr attr then fold remove value deps else value;
|
|
||||||
in mapAttrs removeDepsIfDepAttr;
|
|
||||||
|
|
||||||
hasDep = dep: pkg:
|
|
||||||
let depAttrs = attrValues (filterAttrs (n: v: isDepAttr n) pkg);
|
|
||||||
allDeps = concatLists depAttrs;
|
|
||||||
in elem dep allDeps;
|
|
||||||
|
|
||||||
importManifest = path: { mirror }:
|
|
||||||
let
|
|
||||||
uniqueNames = manifest:
|
|
||||||
unique (map pkgAttrName manifest);
|
|
||||||
|
|
||||||
versionsOf = manifest: name:
|
|
||||||
filter (pkg: pkgAttrName pkg == name) manifest;
|
|
||||||
|
|
||||||
bestVersions = manifest:
|
|
||||||
let best = versions:
|
|
||||||
let
|
|
||||||
strictlyLess = a: b:
|
|
||||||
builtins.compareVersions (pkgVersion a) (pkgVersion b) > 0;
|
|
||||||
sorted = sort strictlyLess versions;
|
|
||||||
in head sorted;
|
|
||||||
in map (name: best (versionsOf manifest name)) (uniqueNames manifest);
|
|
||||||
|
|
||||||
withNames = manifest:
|
|
||||||
builtins.listToAttrs
|
|
||||||
(map (p: nameValuePair (toLower (pkgAttrName p)) p) manifest);
|
|
||||||
|
|
||||||
orig = import path { inherit stdenv fetchurl mirror; };
|
|
||||||
in
|
|
||||||
fold (f: x: f x) orig [ withNames bestVersions ];
|
|
||||||
|
|
||||||
importPackages = path: renames: manifestScope:
|
|
||||||
let
|
|
||||||
|
|
||||||
# Do not allow any package to depend on itself.
|
|
||||||
breakRecursion =
|
|
||||||
let removeSelfDep = pkg:
|
|
||||||
mapAttrs
|
|
||||||
(n: if isDepAttr n
|
|
||||||
then filter (dep: dep != pkg && renamed dep != pkg)
|
|
||||||
else id);
|
|
||||||
in mapAttrs removeSelfDep;
|
|
||||||
|
|
||||||
renamed = dep: renames."${dep}" or dep;
|
|
||||||
|
|
||||||
manifest = importManifest (path + "/manifest.nix") manifestScope;
|
|
||||||
|
|
||||||
deps = import (path + "/dependencies.nix") {};
|
|
||||||
|
|
||||||
mkPkg = name: manifest:
|
|
||||||
{
|
|
||||||
inherit (manifest) name src;
|
|
||||||
inherit (deps."${name}")
|
|
||||||
buildInputs nativeBuildInputs propagatedBuildInputs
|
|
||||||
propagatedNativeBuildInputs propagatedUserEnvPkgs;
|
|
||||||
};
|
};
|
||||||
|
mergeAttrsByFunc = sets:
|
||||||
|
let merged = lib.foldl lib.mergeAttrByFunc { inherit mergeAttrBy; } sets;
|
||||||
|
in builtins.removeAttrs merged ["mergeAttrBy"];
|
||||||
|
in overrideDerivation pkg (drv: mergeAttrsByFunc [ drv attrs ]);
|
||||||
|
|
||||||
in breakRecursion (mapAttrs mkPkg manifest);
|
overrideScope = pkg: fnOrSet: pkg.override (super: super // {
|
||||||
|
scope = if builtins.isFunction fnOrSet
|
||||||
mkDerivation = drv: stdenv.mkDerivation (drv // { src = fetchurl drv.src; });
|
then super.scope // fnOrSet super.scope
|
||||||
|
else super.scope // fnOrSet;
|
||||||
resolveDeps = scope: deps:
|
});
|
||||||
let resolve = dep:
|
|
||||||
let res = scope."${dep}" or [];
|
|
||||||
in if lib.isList res then res else [res];
|
|
||||||
in lib.concatMap resolve deps;
|
|
||||||
|
|
||||||
userEnvPkg = dep:
|
|
||||||
mapAttrs
|
|
||||||
(name: pkg: pkg // {
|
|
||||||
propagatedUserEnvPkgs =
|
|
||||||
(pkg.propagatedUserEnvPkgs or [])
|
|
||||||
++ optional (hasDep dep pkg) dep;
|
|
||||||
});
|
|
||||||
|
|
||||||
in
|
|
||||||
{
|
|
||||||
inherit generateCollection;
|
|
||||||
inherit importManifest;
|
|
||||||
inherit isDepAttr;
|
|
||||||
inherit manifest;
|
|
||||||
inherit removePkgDeps;
|
|
||||||
inherit resolveDeps;
|
|
||||||
inherit userEnvPkg;
|
|
||||||
inherit writeManifestXML;
|
|
||||||
|
|
||||||
blacklist = names: pkgs:
|
|
||||||
let
|
|
||||||
removeDeps = deps: mapAttrs (name: removePkgDeps deps);
|
|
||||||
removePkgs = names: pkgs: builtins.removeAttrs pkgs names;
|
|
||||||
in removeDeps names (removePkgs names pkgs);
|
|
||||||
|
|
||||||
lib = rec {
|
|
||||||
mkPackage = callPackage: defaultOverride: name: pkg: let drv =
|
|
||||||
{ mkDerivation, fetchurl, scope }:
|
|
||||||
|
|
||||||
mkDerivation (defaultOverride {
|
|
||||||
inherit (pkg) name;
|
|
||||||
|
|
||||||
src = fetchurl pkg.src;
|
|
||||||
|
|
||||||
buildInputs = resolveDeps scope pkg.buildInputs;
|
|
||||||
nativeBuildInputs = resolveDeps scope pkg.nativeBuildInputs;
|
|
||||||
propagatedBuildInputs = resolveDeps scope pkg.propagatedBuildInputs;
|
|
||||||
propagatedNativeBuildInputs =
|
|
||||||
resolveDeps scope pkg.propagatedNativeBuildInputs;
|
|
||||||
propagatedUserEnvPkgs = resolveDeps scope pkg.propagatedUserEnvPkgs;
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
|
||||||
});
|
|
||||||
in callPackage drv {};
|
|
||||||
|
|
||||||
renameDeps = renames: lib.mapAttrs (name: pkg:
|
|
||||||
let breakCycles = lib.filter (dep: dep != name);
|
|
||||||
rename = dep: renames."${dep}" or dep;
|
|
||||||
in pkg // {
|
|
||||||
buildInputs = breakCycles (map rename pkg.buildInputs);
|
|
||||||
nativeBuildInputs = breakCycles (map rename pkg.nativeBuildInputs);
|
|
||||||
propagatedBuildInputs = breakCycles (map rename pkg.propagatedBuildInputs);
|
|
||||||
propagatedNativeBuildInputs = breakCycles (map rename pkg.propagatedNativeBuildInputs);
|
|
||||||
propagatedUserEnvPkgs = breakCycles (map rename pkg.propagatedUserEnvPkgs);
|
|
||||||
});
|
|
||||||
|
|
||||||
propagateDeps = propagated: lib.mapAttrs (name: pkg:
|
|
||||||
let isPropagated = dep: lib.elem dep propagated;
|
|
||||||
isNotPropagated = dep: !(isPropagated dep);
|
|
||||||
in pkg // {
|
|
||||||
buildInputs = lib.filter isNotPropagated pkg.buildInputs;
|
|
||||||
nativeBuildInputs = lib.filter isNotPropagated pkg.nativeBuildInputs;
|
|
||||||
propagatedBuildInputs =
|
|
||||||
pkg.propagatedBuildInputs
|
|
||||||
++ lib.filter isPropagated pkg.buildInputs;
|
|
||||||
propagatedNativeBuildInputs =
|
|
||||||
pkg.propagatedNativeBuildInputs
|
|
||||||
++ lib.filter isPropagated pkg.nativeBuildInputs;
|
|
||||||
});
|
|
||||||
|
|
||||||
nativeDeps = native: lib.mapAttrs (name: pkg:
|
|
||||||
let isNative = dep: lib.elem dep native;
|
|
||||||
isNotNative = dep: !(isNative dep);
|
|
||||||
in pkg // {
|
|
||||||
buildInputs = lib.filter isNotNative pkg.buildInputs;
|
|
||||||
nativeBuildInputs =
|
|
||||||
pkg.nativeBuildInputs
|
|
||||||
++ lib.filter isNative pkg.buildInputs;
|
|
||||||
propagatedBuildInputs = lib.filter isNotNative pkg.propagatedBuildInputs;
|
|
||||||
propagatedNativeBuildInputs =
|
|
||||||
pkg.propagatedNativeBuildInputs
|
|
||||||
++ lib.filter isNative pkg.propagatedBuildInputs;
|
|
||||||
});
|
|
||||||
|
|
||||||
userEnvDeps = user: lib.mapAttrs (name: pkg:
|
|
||||||
let allDeps = with pkg; lib.concatLists [
|
|
||||||
buildInputs
|
|
||||||
nativeBuildInputs
|
|
||||||
propagatedBuildInputs
|
|
||||||
propagatedNativeBuildInputs
|
|
||||||
];
|
|
||||||
in assert (lib.isList allDeps); pkg // {
|
|
||||||
propagatedUserEnvPkgs = lib.filter (dep: lib.elem dep user) allDeps;
|
|
||||||
});
|
|
||||||
|
|
||||||
overrideDerivation = pkg: f: pkg.override (super: super // {
|
|
||||||
mkDerivation = drv: super.mkDerivation (drv // f drv);
|
|
||||||
});
|
|
||||||
|
|
||||||
extendDerivation = pkg: attrs:
|
|
||||||
let mergeAttrBy = lib.mergeAttrBy // {
|
|
||||||
propagatedNativeBuildInputs = a: b: a ++ b;
|
|
||||||
NIX_CFLAGS_COMPILE = a: b: "${a} ${b}";
|
|
||||||
cmakeFlags = a: b: a ++ b;
|
|
||||||
};
|
|
||||||
mergeAttrsByFunc = sets:
|
|
||||||
let merged = lib.foldl lib.mergeAttrByFunc { inherit mergeAttrBy; } sets;
|
|
||||||
in builtins.removeAttrs merged ["mergeAttrBy"];
|
|
||||||
in overrideDerivation pkg (drv: mergeAttrsByFunc [ drv attrs ]);
|
|
||||||
|
|
||||||
overrideScope = pkg: fnOrSet: pkg.override (super: super // {
|
|
||||||
scope = if builtins.isFunction fnOrSet
|
|
||||||
then super.scope // fnOrSet super.scope
|
|
||||||
else super.scope // fnOrSet;
|
|
||||||
});
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
let inherit (pkgs) autonix stdenv symlinkJoin; in
|
let inherit (pkgs) autonix stdenv symlinkJoin; in
|
||||||
|
|
||||||
let kf5Orig = kf5; in
|
with autonix; let inherit (stdenv) lib; in
|
||||||
|
|
||||||
let
|
let
|
||||||
kf5_ = if kf5 != null then kf5 else pkgs.kf510;
|
kf5_ = if kf5 != null then kf5 else pkgs.kf510;
|
||||||
@ -26,7 +26,7 @@ in
|
|||||||
let
|
let
|
||||||
|
|
||||||
qt5 = qt5_;
|
qt5 = qt5_;
|
||||||
kf5 = kf5_.override { inherit qt5; };
|
kf5 = kf5_.override { inherit debug qt5; };
|
||||||
|
|
||||||
kdePackage = name: pkg:
|
kdePackage = name: pkg:
|
||||||
let defaultOverride = drv: drv // {
|
let defaultOverride = drv: drv // {
|
||||||
@ -106,7 +106,7 @@ let
|
|||||||
modemmanager openconnect openexr pam pango qt4 samba
|
modemmanager openconnect openexr pam pango qt4 samba
|
||||||
socat substituteAll taglib utillinux wayland xapian
|
socat substituteAll taglib utillinux wayland xapian
|
||||||
xkeyboard_config xlibs xorg;
|
xkeyboard_config xlibs xorg;
|
||||||
boost = boost155;
|
boost = boost156;
|
||||||
canberra = libcanberra;
|
canberra = libcanberra;
|
||||||
epub = ebook_tools;
|
epub = ebook_tools;
|
||||||
fontforge_executable = fontforge;
|
fontforge_executable = fontforge;
|
||||||
@ -153,7 +153,7 @@ let
|
|||||||
});
|
});
|
||||||
in symlinkJoin "breeze-${version}" [ breeze-qt4 breeze-qt5 ];
|
in symlinkJoin "breeze-${version}" [ breeze-qt4 breeze-qt5 ];
|
||||||
|
|
||||||
kde-gtk-config = overrideDerivation super.kde-gtk-config (drv: {
|
kde-gtk-config = extendDerivation super.kde-gtk-config {
|
||||||
NIX_CFLAGS_COMPILE = with scope;
|
NIX_CFLAGS_COMPILE = with scope;
|
||||||
lib.concatStringsSep " " [
|
lib.concatStringsSep " " [
|
||||||
"-I${cairo}/include/cairo"
|
"-I${cairo}/include/cairo"
|
||||||
@ -163,55 +163,51 @@ let
|
|||||||
"-I${glib}/lib/glib-2.0/include"
|
"-I${glib}/lib/glib-2.0/include"
|
||||||
"-I${pango}/include/pango-1.0"
|
"-I${pango}/include/pango-1.0"
|
||||||
];
|
];
|
||||||
});
|
};
|
||||||
|
|
||||||
kfilemetadata = overrideDerivation super.kfilemetadata (drv: {
|
kfilemetadata = extendDerivation super.kfilemetadata {
|
||||||
buildInputs = drv.buildInputs ++ [ pkgs.attr ];
|
buildInputs = [ scope.attr ];
|
||||||
});
|
};
|
||||||
|
|
||||||
kwin = overrideDerivation super.kwin (drv: {
|
kwin = extendDerivation super.kwin {
|
||||||
buildInputs =
|
buildInputs = with scope.xlibs; [ libICE libSM libXcursor ];
|
||||||
drv.buildInputs ++ (with pkgs.xlibs; [ libICE libSM libXcursor ]);
|
|
||||||
patches = [ ./kwin/kwin-import-plugin-follow-symlinks.patch ];
|
patches = [ ./kwin/kwin-import-plugin-follow-symlinks.patch ];
|
||||||
});
|
};
|
||||||
|
|
||||||
libkscreen = overrideDerivation super.libkscreen (drv: {
|
libkscreen = extendDerivation super.libkscreen {
|
||||||
buildInputs = drv.buildInputs ++ [ pkgs.xlibs.libXrandr];
|
buildInputs = [ scope.xlibs.libXrandr];
|
||||||
});
|
};
|
||||||
|
|
||||||
plasma-desktop = overrideDerivation super.plasma-desktop (drv: {
|
plasma-desktop = extendDerivation super.plasma-desktop {
|
||||||
buildInputs =
|
buildInputs = with scope;
|
||||||
drv.buildInputs
|
[ canberra ]
|
||||||
++ [ pkgs.libcanberra ]
|
++ (with xlibs; [ libxkbfile libXcursor libXft ]);
|
||||||
++ (with pkgs.xlibs; [ libxkbfile libXcursor libXft ]);
|
|
||||||
patches = [
|
patches = [
|
||||||
./plasma-desktop/plasma-desktop-hwclock.patch
|
./plasma-desktop/plasma-desktop-hwclock.patch
|
||||||
./plasma-desktop/plasma-desktop-zoneinfo.patch
|
./plasma-desktop/plasma-desktop-zoneinfo.patch
|
||||||
(pkgs.substituteAll {
|
(scope.substituteAll {
|
||||||
src = ./plasma-desktop/plasma-desktop-xkb-rules.patch;
|
src = ./plasma-desktop/plasma-desktop-xkb-rules.patch;
|
||||||
xkb = pkgs.xkeyboard_config;
|
xkb = scope.xkeyboard_config;
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
substituteInPlace kcms/dateandtime/helper.cpp \
|
substituteInPlace kcms/dateandtime/helper.cpp \
|
||||||
--subst-var-by hwclock "${scope.utillinux}/sbin/hwclock"
|
--subst-var-by hwclock "${scope.utillinux}/sbin/hwclock"
|
||||||
'';
|
'';
|
||||||
});
|
};
|
||||||
|
|
||||||
plasma-workspace = overrideDerivation super.plasma-workspace (drv: {
|
plasma-workspace = extendDerivation super.plasma-workspace {
|
||||||
patches = [
|
patches = [
|
||||||
(pkgs.substituteAll {
|
(scope.substituteAll {
|
||||||
src = ./plasma-workspace/0001-startkde-NixOS-patches.patch;
|
src = ./plasma-workspace/0001-startkde-NixOS-patches.patch;
|
||||||
inherit (pkgs) bash gnused gnugrep socat;
|
inherit (scope) bash gnused gnugrep socat;
|
||||||
inherit (kf5) kconfig kinit kservice;
|
inherit (scope) kconfig kinit kservice;
|
||||||
inherit (pkgs.xorg) mkfontdir xmessage xprop xrdb xset xsetroot;
|
inherit (scope.xorg) mkfontdir xmessage xprop xrdb xset xsetroot;
|
||||||
qt5tools = qt5.tools;
|
qt5tools = scope.qt5tools;
|
||||||
dbus_tools = pkgs.dbus.tools;
|
dbus_tools = scope.dbus.tools;
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
buildInputs =
|
buildInputs = with scope.xlibs; [ libSM libXcursor scope.pam ];
|
||||||
(drv.buildInputs or [])
|
|
||||||
++ (with pkgs.xlibs; [ libSM libXcursor scope.pam ]);
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace startkde/kstartupconfig/kstartupconfig.cpp \
|
substituteInPlace startkde/kstartupconfig/kstartupconfig.cpp \
|
||||||
--replace kdostartupconfig5 $out/bin/kdostartupconfig5
|
--replace kdostartupconfig5 $out/bin/kdostartupconfig5
|
||||||
@ -220,15 +216,15 @@ let
|
|||||||
substituteInPlace startkde/startkde.cmake \
|
substituteInPlace startkde/startkde.cmake \
|
||||||
--subst-var-by plasmaWorkspace "$out"
|
--subst-var-by plasmaWorkspace "$out"
|
||||||
'';
|
'';
|
||||||
});
|
};
|
||||||
|
|
||||||
powerdevil = overrideDerivation super.powerdevil (drv: {
|
powerdevil = extendDerivation super.powerdevil {
|
||||||
buildInputs = drv.buildInputs ++ [pkgs.xlibs.libXrandr];
|
buildInputs = [ scope.xlibs.libXrandr ];
|
||||||
});
|
};
|
||||||
|
|
||||||
sddm-kcm = overrideDerivation super.sddm-kcm (drv: {
|
sddm-kcm = extendDerivation super.sddm-kcm {
|
||||||
buildInputs = drv.buildInputs ++ [pkgs.xlibs.libXcursor];
|
buildInputs = [ scope.xlibs.libXcursor ];
|
||||||
});
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -12,13 +12,19 @@
|
|||||||
# make a copy of this directory first. After copying, be sure to delete ./tmp
|
# make a copy of this directory first. After copying, be sure to delete ./tmp
|
||||||
# if it exists. Then follow the minor update instructions.
|
# if it exists. Then follow the minor update instructions.
|
||||||
|
|
||||||
{ autonix, fetchurl, pkgs, qt5, stdenv, newScope, debug ? false }:
|
{ pkgs, newScope, qt5 ? null, debug ? false }:
|
||||||
|
|
||||||
with autonix;
|
let inherit (pkgs) autonix stdenv symlinkJoin; in
|
||||||
|
|
||||||
let inherit (stdenv) lib; in
|
with autonix; let inherit (stdenv) lib; in
|
||||||
|
|
||||||
let
|
let
|
||||||
|
qt5_ = if qt5 != null then qt5 else pkgs.qt54;
|
||||||
|
in
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
qt5 = qt5_;
|
||||||
|
|
||||||
super =
|
super =
|
||||||
let json = builtins.fromJSON (builtins.readFile ./packages.json);
|
let json = builtins.fromJSON (builtins.readFile ./packages.json);
|
||||||
@ -114,8 +120,6 @@ let
|
|||||||
);
|
);
|
||||||
|
|
||||||
self = super // {
|
self = super // {
|
||||||
inherit kdePackage scope;
|
|
||||||
|
|
||||||
extra-cmake-modules = overrideDerivation super.extra-cmake-modules (drv: {
|
extra-cmake-modules = overrideDerivation super.extra-cmake-modules (drv: {
|
||||||
buildInputs = [];
|
buildInputs = [];
|
||||||
nativeBuildInputs = [];
|
nativeBuildInputs = [];
|
||||||
@ -132,78 +136,72 @@ let
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
frameworkintegration = overrideDerivation super.frameworkintegration (drv: {
|
frameworkintegration = extendDerivation super.frameworkintegration {
|
||||||
buildInputs = drv.buildInputs ++ [ pkgs.xlibs.libXcursor ];
|
buildInputs = [ scope.xlibs.libXcursor ];
|
||||||
});
|
};
|
||||||
|
|
||||||
kauth = overrideDerivation super.kauth (drv: {
|
kauth = extendDerivation super.kauth {
|
||||||
buildInputs = drv.buildInputs ++ [ scope.polkit_qt5 ];
|
buildInputs = [ scope.polkit_qt5 ];
|
||||||
patches = [./kauth/kauth-policy-install.patch];
|
patches = [ ./kauth/kauth-policy-install.patch ];
|
||||||
});
|
};
|
||||||
|
|
||||||
kcmutils = overrideDerivation super.kcmutils (drv: {
|
kcmutils = extendDerivation super.kcmutils {
|
||||||
patches = [./kcmutils/kcmutils-pluginselector-follow-symlinks.patch];
|
patches = [ ./kcmutils/kcmutils-pluginselector-follow-symlinks.patch ];
|
||||||
});
|
};
|
||||||
|
|
||||||
kconfigwidgets = overrideDerivation super.kconfigwidgets (drv: {
|
kconfigwidgets = extendDerivation super.kconfigwidgets {
|
||||||
patches = [./kconfigwidgets/kconfigwidgets-helpclient-follow-symlinks.patch];
|
patches = [ ./kconfigwidgets/kconfigwidgets-helpclient-follow-symlinks.patch ];
|
||||||
});
|
};
|
||||||
|
|
||||||
kdelibs4support = overrideDerivation super.kdelibs4support (drv: {
|
kdelibs4support = extendDerivation super.kdelibs4support {
|
||||||
buildInputs = drv.buildInputs ++ [ scope.networkmanager pkgs.xlibs.libSM ];
|
buildInputs = [ scope.networkmanager scope.xlibs.libSM ];
|
||||||
cmakeFlags =
|
cmakeFlags = [
|
||||||
drv.cmakeFlags
|
"-DDocBookXML4_DTD_DIR=${pkgs.docbook_xml_dtd_45}/xml/dtd/docbook"
|
||||||
++ [
|
"-DDocBookXML4_DTD_VERSION=4.5"
|
||||||
"-DDocBookXML4_DTD_DIR=${pkgs.docbook_xml_dtd_45}/xml/dtd/docbook"
|
];
|
||||||
"-DDocBookXML4_DTD_VERSION=4.5"
|
};
|
||||||
];
|
|
||||||
});
|
|
||||||
|
|
||||||
kdoctools = overrideDerivation super.kdoctools (drv: {
|
kdoctools = extendDerivation super.kdoctools {
|
||||||
propagatedNativeBuildInputs =
|
propagatedNativeBuildInputs = [ scope.perl scope.perlPackages.URI ];
|
||||||
drv.propagatedNativeBuildInputs ++ [ scope.perl scope.perlPackages.URI ];
|
cmakeFlags = [
|
||||||
cmakeFlags =
|
"-DDocBookXML4_DTD_DIR=${scope.docbook_xml_dtd_45}/xml/dtd/docbook"
|
||||||
drv.cmakeFlags
|
"-DDocBookXML4_DTD_VERSION=4.5"
|
||||||
++ [
|
"-DDocBookXSL_DIR=${scope.docbook5_xsl}/xml/xsl/docbook"
|
||||||
"-DDocBookXML4_DTD_DIR=${pkgs.docbook_xml_dtd_45}/xml/dtd/docbook"
|
];
|
||||||
"-DDocBookXML4_DTD_VERSION=4.5"
|
patches = [ ./kdoctools/kdoctools-no-find-docbook-xml.patch ];
|
||||||
"-DDocBookXSL_DIR=${pkgs.docbook5_xsl}/xml/xsl/docbook"
|
};
|
||||||
];
|
|
||||||
patches = [./kdoctools/kdoctools-no-find-docbook-xml.patch];
|
|
||||||
});
|
|
||||||
|
|
||||||
ki18n = overrideDerivation super.ki18n (drv: {
|
ki18n = extendDerivation super.ki18n {
|
||||||
propagatedNativeBuildInputs =
|
propagatedNativeBuildInputs = with scope; [ libintl pythoninterp ];
|
||||||
drv.propagatedNativeBuildInputs ++ [ scope.libintl scope.pythoninterp ];
|
};
|
||||||
});
|
|
||||||
|
|
||||||
kimageformats = overrideDerivation super.kimageformats (drv: {
|
kimageformats = extendDerivation super.kimageformats {
|
||||||
NIX_CFLAGS_COMPILE = "-I${pkgs.ilmbase}/include/OpenEXR";
|
NIX_CFLAGS_COMPILE = "-I${pkgs.ilmbase}/include/OpenEXR";
|
||||||
});
|
};
|
||||||
|
|
||||||
kinit = overrideDerivation super.kinit (drv: {
|
kinit = extendDerivation super.kinit {
|
||||||
patches = [./kinit/0001-kinit-libpath.patch];
|
patches = [./kinit/0001-kinit-libpath.patch];
|
||||||
});
|
};
|
||||||
|
|
||||||
kpackage = overrideDerivation super.kpackage (drv: {
|
kpackage = extendDerivation super.kpackage {
|
||||||
patches = [./kpackage/0001-allow-external-paths.patch];
|
patches = [ ./kpackage/0001-allow-external-paths.patch ];
|
||||||
});
|
};
|
||||||
|
|
||||||
kservice = overrideDerivation super.kservice (drv: {
|
kservice = extendDerivation super.kservice {
|
||||||
buildInputs = drv.buildInputs ++ [ self.kwindowsystem ];
|
buildInputs = [ scope.kwindowsystem ];
|
||||||
patches = [
|
patches = [
|
||||||
./kservice/kservice-kbuildsycoca-follow-symlinks.patch
|
./kservice/kservice-kbuildsycoca-follow-symlinks.patch
|
||||||
./kservice/kservice-kbuildsycoca-no-canonicalize-path.patch
|
./kservice/kservice-kbuildsycoca-no-canonicalize-path.patch
|
||||||
];
|
];
|
||||||
});
|
};
|
||||||
|
|
||||||
ktexteditor = overrideDerivation super.ktexteditor (drv: {
|
ktexteditor = extendDerivation super.ktexteditor {
|
||||||
patches = [ ./ktexteditor/0001-no-qcoreapplication.patch ];
|
patches = [ ./ktexteditor/0001-no-qcoreapplication.patch ];
|
||||||
});
|
};
|
||||||
|
|
||||||
networkmanager-qt = overrideDerivation super.networkmanager-qt (drv: {
|
networkmanager-qt = extendDerivation super.networkmanager-qt {
|
||||||
propagatedBuildInputs = drv.propagatedBuildInputs ++ [ scope.networkmanager ];
|
propagatedBuildInputs = [ scope.networkmanager ];
|
||||||
});
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
in self
|
in self
|
||||||
|
@ -251,7 +251,7 @@ let
|
|||||||
theAttrSet = arg;
|
theAttrSet = arg;
|
||||||
};
|
};
|
||||||
|
|
||||||
autonix = callPackage ../build-support/autonix {};
|
autonix = import ../build-support/autonix { inherit pkgs; };
|
||||||
|
|
||||||
autoreconfHook = makeSetupHook
|
autoreconfHook = makeSetupHook
|
||||||
{ substitutions = { inherit autoconf automake libtool gettext; }; }
|
{ substitutions = { inherit autoconf automake libtool gettext; }; }
|
||||||
@ -11658,9 +11658,7 @@ let
|
|||||||
boost = boost155;
|
boost = boost155;
|
||||||
};
|
};
|
||||||
|
|
||||||
kdeApps_15_04 = recurseIntoAttrs (callPackage ../applications/kde-apps-15.04 {
|
kdeApps_15_04 = recurseIntoAttrs (callPackage ../applications/kde-apps-15.04 {});
|
||||||
kf5 = kf510;
|
|
||||||
});
|
|
||||||
kdeApps_stable = kdeApps_15_04;
|
kdeApps_stable = kdeApps_15_04;
|
||||||
kdeApps_latest = kdeApps_15_04;
|
kdeApps_latest = kdeApps_15_04;
|
||||||
|
|
||||||
@ -13940,7 +13938,7 @@ let
|
|||||||
|
|
||||||
numix-gtk-theme = callPackage ../misc/themes/gtk3/numix-gtk-theme { };
|
numix-gtk-theme = callPackage ../misc/themes/gtk3/numix-gtk-theme { };
|
||||||
|
|
||||||
plasma53 = recurseIntoAttrs (import ../desktops/plasma-5.3 { inherit pkgs newScope; });
|
plasma53 = recurseIntoAttrs (callPackage ../desktops/plasma-5.3 { inherit pkgs newScope; });
|
||||||
plasma5_latest = plasma53;
|
plasma5_latest = plasma53;
|
||||||
plasma5_stable = plasma53;
|
plasma5_stable = plasma53;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user