Merge #195393: lispPackages_new.sbclPackages: fix Qt4
This commit is contained in:
commit
cb6f217855
|
@ -14216,6 +14216,12 @@
|
||||||
githubId = 928084;
|
githubId = 928084;
|
||||||
name = "Utku Demir";
|
name = "Utku Demir";
|
||||||
};
|
};
|
||||||
|
uthar = {
|
||||||
|
email = "galkowskikasper@gmail.com";
|
||||||
|
github = "uthar";
|
||||||
|
githubId = 15697697;
|
||||||
|
name = "Kasper Gałkowski";
|
||||||
|
};
|
||||||
uvnikita = {
|
uvnikita = {
|
||||||
email = "uv.nikita@gmail.com";
|
email = "uv.nikita@gmail.com";
|
||||||
github = "uvNikita";
|
github = "uvNikita";
|
||||||
|
|
21
pkgs/development/libraries/smokegen/default.nix
Normal file
21
pkgs/development/libraries/smokegen/default.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
|
pkgs.stdenv.mkDerivation rec {
|
||||||
|
pname = "smokegen";
|
||||||
|
version = "v4.14.3";
|
||||||
|
src = pkgs.fetchzip {
|
||||||
|
url = "https://invent.kde.org/unmaintained/${pname}/-/archive/${version}/${pname}-${version}.tar.gz";
|
||||||
|
hash = "sha256-finsoruPeJZLawIjNUJ25Pq54eaCByfALVraNQJPk7c=";
|
||||||
|
};
|
||||||
|
buildInputs = [ pkgs.cmake pkgs.qt4 ];
|
||||||
|
buildPhase = ''
|
||||||
|
cmake .
|
||||||
|
'';
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A general purpose C++ parser with a plugin infrastructure";
|
||||||
|
homepage = "https://invent.kde.org/unmaintained/smokegen";
|
||||||
|
license = licenses.gpl2Only;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
maintainers = with maintainers; [ uthar ];
|
||||||
|
};
|
||||||
|
}
|
21
pkgs/development/libraries/smokeqt/default.nix
Normal file
21
pkgs/development/libraries/smokeqt/default.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
|
pkgs.stdenv.mkDerivation rec {
|
||||||
|
pname = "smokeqt";
|
||||||
|
version = "v4.14.3";
|
||||||
|
src = pkgs.fetchzip {
|
||||||
|
url = "https://invent.kde.org/unmaintained/${pname}/-/archive/${version}/${pname}-${version}.tar.gz";
|
||||||
|
hash = "sha256-8FiEGF8gduVw5I/bi2wExGUWmjIjYEhWpjpXKJGBNMg=";
|
||||||
|
};
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DCMAKE_CXX_STANDARD=98"
|
||||||
|
];
|
||||||
|
buildInputs = [ pkgs.cmake pkgs.qt4 pkgs.smokegen ];
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Bindings for the Qt libraries";
|
||||||
|
homepage = "https://invent.kde.org/unmaintained/smokeqt";
|
||||||
|
license = licenses.gpl2Only;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
maintainers = with maintainers; [ uthar ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -11,6 +11,9 @@ let
|
||||||
optionals
|
optionals
|
||||||
hasSuffix
|
hasSuffix
|
||||||
splitString
|
splitString
|
||||||
|
remove
|
||||||
|
optionalString
|
||||||
|
stringLength
|
||||||
;
|
;
|
||||||
|
|
||||||
# Used by builds that would otherwise attempt to write into storeDir.
|
# Used by builds that would otherwise attempt to write into storeDir.
|
||||||
|
@ -42,6 +45,11 @@ let
|
||||||
# Patches are already applied in `build`
|
# Patches are already applied in `build`
|
||||||
patches = [];
|
patches = [];
|
||||||
src = build;
|
src = build;
|
||||||
|
# TODO(kasper): handle this with a setup hook
|
||||||
|
LD_LIBRARY_PATH =
|
||||||
|
build.LD_LIBRARY_PATH
|
||||||
|
+ (optionalString (stringLength build.LD_LIBRARY_PATH != 0) ":")
|
||||||
|
+ "${build}";
|
||||||
});
|
});
|
||||||
|
|
||||||
# A little hacky
|
# A little hacky
|
||||||
|
@ -332,6 +340,89 @@ let
|
||||||
version = "f19162e76";
|
version = "f19162e76";
|
||||||
});
|
});
|
||||||
|
|
||||||
|
qt = let
|
||||||
|
rev = "dffff3ee3dbd0686c85c323f579b8bbf4881e60e";
|
||||||
|
in build-with-compile-into-pwd rec {
|
||||||
|
pname = "commonqt";
|
||||||
|
version = builtins.substring 0 7 rev;
|
||||||
|
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
inherit rev;
|
||||||
|
owner = pname;
|
||||||
|
repo = pname;
|
||||||
|
hash = "sha256-GAgwT0D9mIkYPTHfCH/KxxIv7b6QGwcxwZE7ehH5xug=";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ pkgs.qt4 ];
|
||||||
|
nativeBuildInputs = [ pkgs.smokegen pkgs.smokeqt ];
|
||||||
|
nativeLibs = [ pkgs.qt4 pkgs.smokegen pkgs.smokeqt ];
|
||||||
|
|
||||||
|
systems = [ "qt" ];
|
||||||
|
|
||||||
|
lispLibs = with ql; [
|
||||||
|
cffi named-readtables cl-ppcre alexandria
|
||||||
|
closer-mop iterate trivial-garbage bordeaux-threads
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
qt-libs = build-with-compile-into-pwd {
|
||||||
|
inherit (ql.qt-libs) pname version src;
|
||||||
|
patches = [ ./patches/qt-libs-dont-download.patch ];
|
||||||
|
prePatch = ''
|
||||||
|
substituteInPlace systems/*.asd --replace ":qt+libs" ":qt"
|
||||||
|
echo "LD Path: $LD_LIBRARY_PATH"
|
||||||
|
'';
|
||||||
|
lispLibs = ql.qt-libs.lispLibs ++ [ qt ];
|
||||||
|
systems = [
|
||||||
|
"qt-libs"
|
||||||
|
"commonqt"
|
||||||
|
# "phonon"
|
||||||
|
# "qimageblitz"
|
||||||
|
# "qsci"
|
||||||
|
"qt3support"
|
||||||
|
"qtcore"
|
||||||
|
"qtdbus"
|
||||||
|
"qtdeclarative"
|
||||||
|
"qtgui"
|
||||||
|
"qthelp"
|
||||||
|
"qtnetwork"
|
||||||
|
"qtopengl"
|
||||||
|
"qtscript"
|
||||||
|
"qtsql"
|
||||||
|
"qtsvg"
|
||||||
|
"qttest"
|
||||||
|
"qtuitools"
|
||||||
|
# "qtwebkit"
|
||||||
|
"qtxml"
|
||||||
|
"qtxmlpatterns"
|
||||||
|
# "qwt"
|
||||||
|
"smokebase"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
commonqt = qt-libs;
|
||||||
|
qt3support = qt-libs;
|
||||||
|
qtcore = qt-libs;
|
||||||
|
qtdbus = qt-libs;
|
||||||
|
qtdeclarative = qt-libs;
|
||||||
|
qtgui = qt-libs;
|
||||||
|
qthelp = qt-libs;
|
||||||
|
qtnetwork = qt-libs;
|
||||||
|
qtopengl = qt-libs;
|
||||||
|
qtscript = qt-libs;
|
||||||
|
qtsql = qt-libs;
|
||||||
|
qtsvg = qt-libs;
|
||||||
|
qttest = qt-libs;
|
||||||
|
qtuitools = qt-libs;
|
||||||
|
qtxml = qt-libs;
|
||||||
|
qtxmlpatterns = qt-libs;
|
||||||
|
smokebase = qt-libs;
|
||||||
|
|
||||||
|
qtools = build-with-compile-into-pwd {
|
||||||
|
inherit (ql.qtools) pname version src nativeLibs;
|
||||||
|
lispLibs = [ qt ] ++ remove ql.qt_plus_libs ql.qtools.lispLibs ++ [ qt-libs ];
|
||||||
|
patches = [ ./patches/qtools-use-nix-libs.patch ];
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
in packages
|
in packages
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
--- a/qt-libs.asd
|
||||||
|
+++ b/qt-libs.asd
|
||||||
|
@@ -17,5 +17,4 @@
|
||||||
|
:components ((:file "qt-libs"))
|
||||||
|
:depends-on (:qt-lib-generator
|
||||||
|
:cl-ppcre
|
||||||
|
- :cffi)
|
||||||
|
- :perform (asdf:load-op :after (op c) (uiop:symbol-call :qt-libs :ensure-standalone-libs)))
|
||||||
|
+ :cffi))
|
||||||
|
--- a/qt-libs.lisp
|
||||||
|
+++ b/qt-libs.lisp
|
||||||
|
@@ -94,16 +94,14 @@
|
||||||
|
standalone-dir)
|
||||||
|
|
||||||
|
(defun %ensure-lib-loaded (file)
|
||||||
|
- (let ((file (etypecase file
|
||||||
|
- (pathname file)
|
||||||
|
- (string (installed-library-file file))))
|
||||||
|
- (name (intern (string-upcase (pathname-name file))))
|
||||||
|
- #+sbcl(sb-ext:*muffled-warnings* 'style-warning))
|
||||||
|
- (cffi::register-foreign-library
|
||||||
|
- name `((T ,file))
|
||||||
|
- :search-path (to-directory file))
|
||||||
|
- (unless (cffi:foreign-library-loaded-p name)
|
||||||
|
- (cffi:load-foreign-library name))))
|
||||||
|
+ (let ((name (make-pathname :name (format nil "lib~a" file)
|
||||||
|
+ :type #+unix "so"
|
||||||
|
+ #+darwin "dylib")))
|
||||||
|
+ (or (find-if (lambda (lib)
|
||||||
|
+ (equal (cffi:foreign-library-pathname lib)
|
||||||
|
+ (namestring name)))
|
||||||
|
+ (cffi:list-foreign-libraries))
|
||||||
|
+ (cffi:load-foreign-library name))))
|
||||||
|
|
||||||
|
(defun ensure-lib-loaded (file)
|
||||||
|
(cond ((pathnamep file)
|
|
@ -0,0 +1,19 @@
|
||||||
|
Dont use the qt+libs system for managing Qt dependencies, because Nix provides
|
||||||
|
them already.
|
||||||
|
Don't build the deploy.lisp helper file, because Nix also can handle deployment.
|
||||||
|
--- a/qtools.asd
|
||||||
|
+++ b/qtools.asd
|
||||||
|
@@ -33,10 +33,9 @@
|
||||||
|
(:file "generate")
|
||||||
|
(:file "dynamic")
|
||||||
|
(:file "precompile")
|
||||||
|
- (:file "deploy")
|
||||||
|
(:file "fast-call")
|
||||||
|
(:file "documentation"))
|
||||||
|
- :depends-on (:qt+libs
|
||||||
|
+ :depends-on (:qt
|
||||||
|
:deploy
|
||||||
|
:cl-ppcre
|
||||||
|
:closer-mop
|
||||||
|
|
||||||
|
Diff finished. Sun Oct 2 14:38:06 2022
|
|
@ -4866,6 +4866,10 @@ with pkgs;
|
||||||
|
|
||||||
simg2img = callPackage ../tools/filesystems/simg2img { };
|
simg2img = callPackage ../tools/filesystems/simg2img { };
|
||||||
|
|
||||||
|
smokegen = callPackage ../development/libraries/smokegen {};
|
||||||
|
|
||||||
|
smokeqt = callPackage ../development/libraries/smokeqt {};
|
||||||
|
|
||||||
snazy = callPackage ../development/tools/snazy { };
|
snazy = callPackage ../development/tools/snazy { };
|
||||||
|
|
||||||
snippetpixie = callPackage ../tools/text/snippetpixie { };
|
snippetpixie = callPackage ../tools/text/snippetpixie { };
|
||||||
|
|
Loading…
Reference in a new issue