updates to guix shell

This commit is contained in:
Chris Cochrun 2023-10-23 09:20:44 -05:00
parent d759535e85
commit e608f44c75
5 changed files with 71 additions and 51 deletions

2
.envrc
View file

@ -6,7 +6,7 @@ export CXX=g++
export CC=gcc export CC=gcc
# export CXXQT_INCLUDE_PATH=$GUIX_ENVIRONMENT/include # export CXXQT_INCLUDE_PATH=$GUIX_ENVIRONMENT/include
# export INCLUDEPATH="/gnu/store/pkjvij1f6rvx42xv2kygicr7fsch41dl-profile/include" # export INCLUDEPATH="/gnu/store/pkjvij1f6rvx42xv2kygicr7fsch41dl-profile/include"
use flake . --impure # use flake . --impure
# eval $(guix shell -D --search-paths) # eval $(guix shell -D --search-paths)
# use guix --development -f guix.scm # use guix --development -f guix.scm

8
Cargo.lock generated
View file

@ -46,9 +46,9 @@ checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
[[package]] [[package]]
name = "ashpd" name = "ashpd"
version = "0.6.2" version = "0.6.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3affe251686bd936a0afb74b9693e8bf2f193d51da1b9a45d3f1303a9bd2cc7" checksum = "2c018490e423efb6f032ef575f873ea57b61d44bec763cfe027b8e8852a027cf"
dependencies = [ dependencies = [
"async-std", "async-std",
"enumflags2", "enumflags2",
@ -1767,9 +1767,9 @@ checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
[[package]] [[package]]
name = "rfd" name = "rfd"
version = "0.12.0" version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "241a0deb168c88050d872294f7b3106c1dfa8740942bcc97bc91b98e97b5c501" checksum = "3c9e7b57df6e8472152674607f6cc68aa14a748a3157a857a94f516e11aeacc2"
dependencies = [ dependencies = [
"ashpd", "ashpd",
"async-io", "async-io",

View file

@ -31,7 +31,7 @@ tar = "0.4.40"
zstd = "0.12.4" zstd = "0.12.4"
serde_json = "1.0.104" serde_json = "1.0.104"
fastrand = "2.0.0" fastrand = "2.0.0"
rfd = { version = "0.12.0", features = ["xdg-portal"], default-features = false } rfd = { version = "0.12.1", features = ["xdg-portal"], default-features = false }
sqlx = { version = "0.7", features = ["sqlite", "runtime-tokio"] } sqlx = { version = "0.7", features = ["sqlite", "runtime-tokio"] }
tokio = { version = "1.32.0", features = ["full"] } tokio = { version = "1.32.0", features = ["full"] }
tracing-subscriber = { version = "0.3.17", features = ["fmt", "std", "time", "local-time", "env-filter"] } tracing-subscriber = { version = "0.3.17", features = ["fmt", "std", "time", "local-time", "env-filter"] }

105
guix.scm
View file

@ -23,8 +23,10 @@
(gnu packages pkg-config) (gnu packages pkg-config)
(gnu packages kde-frameworks) (gnu packages kde-frameworks)
(gnu packages kde) (gnu packages kde)
(gnu packages python)
(gnu packages video) (gnu packages video)
(gnu packages cmake) (gnu packages cmake)
(gnu packages commencement)
(gnu packages crates-io) (gnu packages crates-io)
(gnu services) (gnu services)
(guix gexp) (guix gexp)
@ -32,6 +34,7 @@
(guix git-download) (guix git-download)
(guix build-system qt) (guix build-system qt)
(guix build-system cmake) (guix build-system cmake)
(guix utils)
((guix licenses) #:prefix license:)) ((guix licenses) #:prefix license:))
(define this-directory (define this-directory
@ -70,18 +73,33 @@
(synopsis "Adding rust to cmake projects") (synopsis "Adding rust to cmake projects")
(description "idk")))) (description "idk"))))
(define-public qtfull (define lumina-declarative
(package (package
(inherit qtbase-5) (inherit qtdeclarative-5)
(propagated-inputs (modify-inputs (name "qtdeclarative")
(package-inputs qtbase-5) (arguments
(append (substitute-keyword-arguments (package-arguments qtsvg-5)
qtdeclarative-5 ((#:phases phases)
qtquickcontrols2-5 #~(modify-phases #$phases
qtx11extras (add-after 'build 'fix-qt5core-install-prefix
qtwayland-5 (lambda _
qtwebengine-5 ;; The Qt5Core install prefix is set to qtbase, but qmlcachegen
qttools-5))))) ;; is provided by qtdeclarative-5.
(substitute*
"lib/cmake/Qt5QuickCompiler/Qt5QuickCompilerConfig.cmake"
(("\\$\\{_qt5Core_install_prefix\\}") #$output))
(substitute* "lib/headers"
(("\\$\\$\\[QT_INSTALL_HEADERS\\]")
"$$clean_path($$replace(dir, mkspecs/modules, ../../include/qt5))"))
(substitute* "lib"
(("\\$\\$\\[QT_INSTALL_LIBS\\]")
"$$clean_path($$replace(dir, mkspecs/modules, ../../lib))")
(("\\$\\$\\[QT_HOST_LIBS\\]")
"$$clean_path($$replace(dir, mkspecs/modules, ../../lib))"))
(substitute* "bin"
(("\\$\\$\\[QT_INSTALL_BINS\\]")
"$$clean_path($$replace(dir, mkspecs/modules, ../../bin))"))))))))))
;; (define-public rust-cxx-qt-1 ;; (define-public rust-cxx-qt-1
;; (package ;; (package
@ -115,32 +133,32 @@
;; (description "This package provides a safe interop between Rust and C++.") ;; (description "This package provides a safe interop between Rust and C++.")
;; (license (list license:expat license:asl2.0)))) ;; (license (list license:expat license:asl2.0))))
(define-public rust-youtube-dl-0.9 ;; (define-public rust-youtube-dl-0.9
(package ;; (package
(name "rust-youtube-dl") ;; (name "rust-youtube-dl")
(version "0.9.0") ;; (version "0.9.0")
(source ;; (source
(origin ;; (origin
(method url-fetch) ;; (method url-fetch)
(uri (crate-uri "youtube_dl" version)) ;; (uri (crate-uri "youtube_dl" version))
(file-name (string-append name "-" version ".tar.gz")) ;; (file-name (string-append name "-" version ".tar.gz"))
(sha256 ;; (sha256
(base32 "1fas41jl0f2c3lmdfikvcqbagi5skg9mfnb8xa976p2l5fc1lygw")))) ;; (base32 "1fas41jl0f2c3lmdfikvcqbagi5skg9mfnb8xa976p2l5fc1lygw"))))
(build-system cargo-build-system) ;; (build-system cargo-build-system)
(arguments ;; (arguments
`(#:cargo-inputs (("rust-log" ,rust-log-0.4) ;; `(#:cargo-inputs (("rust-log" ,rust-log-0.4)
("rust-reqwest" ,rust-reqwest-0.11) ;; ("rust-reqwest" ,rust-reqwest-0.11)
("rust-serde" ,rust-serde-1) ;; ("rust-serde" ,rust-serde-1)
("rust-serde-json" ,rust-serde-json-1) ;; ("rust-serde-json" ,rust-serde-json-1)
("rust-tokio" ,rust-tokio-1) ;; ("rust-tokio" ,rust-tokio-1)
("rust-wait-timeout" ,rust-wait-timeout-0.2)) ;; ("rust-wait-timeout" ,rust-wait-timeout-0.2))
#:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.10) ;; #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.10)
("rust-tempfile" ,rust-tempfile-3) ;; ("rust-tempfile" ,rust-tempfile-3)
("rust-tokio" ,rust-tokio-1)))) ;; ("rust-tokio" ,rust-tokio-1))))
(home-page "https://github.com/GyrosOfWar/youtube-dl-rs") ;; (home-page "https://github.com/GyrosOfWar/youtube-dl-rs")
(synopsis "Runs yt-dlp and parses its JSON output.") ;; (synopsis "Runs yt-dlp and parses its JSON output.")
(description "Runs yt-dlp and parses its JSON output.") ;; (description "Runs yt-dlp and parses its JSON output.")
(license (list license:expat license:asl2.0)))) ;; (license (list license:expat license:asl2.0))))
(define-public lumina (define-public lumina
(package (package
@ -148,11 +166,11 @@
(version "0.0.1") (version "0.0.1")
(source source) (source source)
(build-system qt-build-system) (build-system qt-build-system)
(arguments `(#:phases ;; (arguments `(#:phases
(modify-phases %standard-phases ;; (modify-phases %standard-phases
(replace 'build ;; (replace 'build
(lambda* (#:key outputs #:allow-other-keys) ;; (lambda* (#:key outputs #:allow-other-keys)
(invoke "/bin/sh" "./build.sh" "-d")))))) ;; (invoke "just" "build"))))))
(inputs (list mpv (inputs (list mpv
ffmpeg)) ffmpeg))
@ -163,6 +181,7 @@
clang-toolchain clang-toolchain
gdb gdb
pkg-config pkg-config
lumina-declarative
qtbase-5 qtbase-5
qttools-5 qttools-5
qt-creator qt-creator
@ -189,7 +208,7 @@
`(,rust "cargo") `(,rust "cargo")
rust-analyzer rust-analyzer
rust-clippy-0.0 rust-clippy-0.0
rust-youtube-dl-0.9 ;; rust-youtube-dl-0.9
rust-configparser-3 rust-configparser-3
rust-serde-1 rust-serde-1
rust-quote-1 rust-quote-1

View file

@ -5,10 +5,10 @@ mkShell rec {
nativeBuildInputs = [ nativeBuildInputs = [
# ffmpeg # ffmpeg
gcc
]; ];
buildInputs = [ buildInputs = [
gcc
stdenv stdenv
gnumake gnumake
gdb gdb
@ -66,6 +66,8 @@ mkShell rec {
LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib"; LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
CMAKE_C_COMPILER = "${gcc}/bin/gcc"; CMAKE_C_COMPILER = "${gcc}/bin/gcc";
CMAKE_CXX_COMPILER = "${gcc}/bin/g++"; CMAKE_CXX_COMPILER = "${gcc}/bin/g++";
CARGO_PROFILE_RELEASE_BUILD_OVERRIDE_DEBUG = true;
# QT_SCALE_FACTOR = 1; # QT_SCALE_FACTOR = 1;
# QT_PLUGIN_PATH="${QT_PLUGIN_PATH/':''/nix/store/85jx8w2nh1ln4kb0hf3dc6ky0dh6ri24-lightly-qt-0.4.1/lib/qt-5.15.9/plugins'':'/':'}" # QT_PLUGIN_PATH="${QT_PLUGIN_PATH/':''/nix/store/85jx8w2nh1ln4kb0hf3dc6ky0dh6ri24-lightly-qt-0.4.1/lib/qt-5.15.9/plugins'':'/':'}"
# QML2_IMPORT_PATH=${QML2_IMPORT_PATH/':''/run/current-system/sw/lib/qt-5.15.10/qml'':'/':'} # QML2_IMPORT_PATH=${QML2_IMPORT_PATH/':''/run/current-system/sw/lib/qt-5.15.10/qml'':'/':'}
@ -77,6 +79,5 @@ mkShell rec {
makeQtWrapper "/bin/sh" "$setQtEnvironment" "''${qtWrapperArgs[@]}" makeQtWrapper "/bin/sh" "$setQtEnvironment" "''${qtWrapperArgs[@]}"
sed "/^exec/d" -i "$setQtEnvironment" sed "/^exec/d" -i "$setQtEnvironment"
source "$setQtEnvironment" source "$setQtEnvironment"
export QT_PLUGIN_PATH="$QT_PLUGIN_PATH:/nix/store/85jx8w2nh1ln4kb0hf3dc6ky0dh6ri24-lightly-qt-0.4.1/lib/qt-5.15.9/plugins"
''; '';
} }