From f0ddf281c593b82a2bd11110e8147ba85a1de70c Mon Sep 17 00:00:00 2001 From: Guillaume Girol Date: Sun, 12 Feb 2023 12:00:00 +0000 Subject: [PATCH 01/23] sane-backends: 1.1.1 -> 1.2.1 changelog: https://gitlab.com/sane-project/backends/-/tags/1.2.1 Tested by scanning in nixos-rebuild build-vm, which can be done by passing your USB printer to the vm as follows: QEMU_OPTS="-device usb-ehci,id=ehci -device usb-host,vendorid=0x1234,productid=0xabcd" result/bin/run-nixos-vm where lsusb reports Bus 003 Device 008: ID 1234:abcd The Printer --- pkgs/applications/graphics/sane/backends/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/graphics/sane/backends/default.nix b/pkgs/applications/graphics/sane/backends/default.nix index b7ee6d200af2..5571585e32d9 100644 --- a/pkgs/applications/graphics/sane/backends/default.nix +++ b/pkgs/applications/graphics/sane/backends/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation { pname = "sane-backends"; - version = "1.1.1"; + version = "1.2.1"; src = fetchurl { # raw checkouts of the repo do not work because, the configure script is @@ -25,8 +25,8 @@ stdenv.mkDerivation { # unfortunately this make the url unpredictable on update, to find the link # go to https://gitlab.com/sane-project/backends/-/releases and choose # the link under the heading "Other". - url = "https://gitlab.com/sane-project/backends/uploads/7d30fab4e115029d91027b6a58d64b43/sane-backends-1.1.1.tar.gz"; - sha256 = "sha256-3UsEw3pC8UxGGejupqlX9MfGF/5Z4yrihys3OUCotgM="; + url = "https://gitlab.com/sane-project/backends/uploads/110fc43336d0fb5e514f1fdc7360dd87/sane-backends-1.2.1.tar.gz"; + sha256 = "f832395efcb90bb5ea8acd367a820c393dda7e0dd578b16f48928b8f5bdd0524"; }; patches = [ From 3c4862636fd6a29f69a7b43f82a3cf070a9c650d Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 26 Jan 2023 15:59:59 +0000 Subject: [PATCH 02/23] linuxPackages.ipu6-drivers: init at 2023-01-17 --- .../linux/ipu6-drivers/default.nix | 60 +++++++++++++++++++ pkgs/top-level/linux-kernels.nix | 2 + 2 files changed, 62 insertions(+) create mode 100644 pkgs/os-specific/linux/ipu6-drivers/default.nix diff --git a/pkgs/os-specific/linux/ipu6-drivers/default.nix b/pkgs/os-specific/linux/ipu6-drivers/default.nix new file mode 100644 index 000000000000..d9c291032d5b --- /dev/null +++ b/pkgs/os-specific/linux/ipu6-drivers/default.nix @@ -0,0 +1,60 @@ +{ lib +, stdenv +, fetchFromGitHub +, kernel +}: + +let + ivsc-driver = fetchFromGitHub { + owner = "intel"; + repo = "ivsc-driver"; + rev = "94ecb88b3ac238d9145ac16230d6e0779bb4fd32"; + hash = "sha256-Q7iyKw4WFSX42E4AtoW/zYRKpknWZSU66V5VPAx6AjA="; + }; +in + +stdenv.mkDerivation rec { + pname = "ipu6-drivers"; + version = "unstable-2023-01-17"; + + src = fetchFromGitHub { + owner = "intel"; + repo = pname; + rev = "f83b0747b297cc42325668aaf69471d89253b88e"; + hash = "sha256-yl2ZtJUTh1/qmTA8USd+FBCUAY5qNdh4bSvFRPImQNI="; + }; + + postPatch = '' + cp --no-preserve=mode --recursive --verbose \ + ${ivsc-driver}/backport-include \ + ${ivsc-driver}/drivers \ + ${ivsc-driver}/include \ + . + ''; + + nativeBuildInputs = kernel.moduleBuildDependencies; + + makeFlags = kernel.makeFlags ++ [ + "KERNELRELEASE=${kernel.modDirVersion}" + "KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + ]; + + enableParallelBuilding = true; + + preInstall = '' + sed -i -e "s,INSTALL_MOD_DIR=,INSTALL_MOD_PATH=$out INSTALL_MOD_DIR=," Makefile + ''; + + installTargets = [ + "modules_install" + ]; + + meta = { + homepage = "https://github.com/intel/ipu6-drivers"; + description = "IPU6 kernel driver"; + license = lib.licenses.gpl2; + maintainers = with lib.maintainers; [ hexa ]; + platforms = [ "x86_64-linux" ]; + broken = kernel.kernelOlder "5.15"; + }; +} diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix index 56225b6d4241..d3d352cc7835 100644 --- a/pkgs/top-level/linux-kernels.nix +++ b/pkgs/top-level/linux-kernels.nix @@ -330,6 +330,8 @@ in { intel-speed-select = if lib.versionAtLeast kernel.version "5.3" then callPackage ../os-specific/linux/intel-speed-select { } else null; + ipu6-drivers = callPackage ../os-specific/linux/ipu6-drivers {}; + ixgbevf = callPackage ../os-specific/linux/ixgbevf {}; it87 = callPackage ../os-specific/linux/it87 {}; From 134e4a6473a032513c2bea03035342aacaf3f53d Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 26 Jan 2023 17:07:48 +0000 Subject: [PATCH 03/23] ipu6-camera-bin: init at 2022-11-12 Exposes both the ipu6 and ipu6ep firmware variants as top-level packages. --- .../firmware/ipu6-camera-bins/default.nix | 69 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 6 ++ 2 files changed, 75 insertions(+) create mode 100644 pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix diff --git a/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix b/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix new file mode 100644 index 000000000000..b8c9d9d0d436 --- /dev/null +++ b/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix @@ -0,0 +1,69 @@ +{ lib +, stdenv +, fetchFromGitHub + +# Pick one of +# - ipu6 (Tiger Lake) +# - ipu6ep (Alder Lake) +, ipuVersion ? "ipu6" +}: + +stdenv.mkDerivation { + pname = "${ipuVersion}-camera-bin"; + version = "unstable-2022-11-12"; + + src = fetchFromGitHub { + owner = "intel"; + repo = "ipu6-camera-bins"; + rev = "4694ba7ee51652d29ef41e7fde846b83a2a1c53b"; + hash = "sha256-XPT3dbV6Kl1/TEeiQESF4Q4s95hjtiv4VLlqlahQXqE="; + }; + + sourceRoot = "source/${ipuVersion}"; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp --no-preserve=mode --recursive \ + lib \ + include \ + $out/ + + install -D ../LICENSE $out/share/doc + + runHook postInstall + ''; + + postFixup = '' + for pcfile in $out/lib/pkgconfig/*.pc; do + substituteInPlace $pcfile \ + --replace 'exec_prefix=/usr' 'exec_prefix=''${prefix}' \ + --replace 'prefix=/usr' "prefix=$out" \ + --replace 'libdir=/usr/lib' 'libdir=''${prefix}/lib' \ + --replace 'includedir=/usr/include' 'includedir=''${prefix}/include' + done + ''; + + passthru = { + inherit ipuVersion; + }; + + meta = let + generation = { + ipu6 = "Tiger Lake"; + ipu6ep = "Alder Lake"; + }.${ipuVersion}; + in with lib; { + description = "${generation} IPU firmware and proprietary image processing libraries"; + homepage = "https://github.com/intel/ipu6-camera-bins"; + license = licenses.issl; + sourceProvenance = with sourceTypes; [ + binaryFirmware + ]; + maintainers = with maintainers; [ + hexa + ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 87f6a6d595df..3c184b74ddea 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25865,6 +25865,12 @@ with pkgs; iproute2 = callPackage ../os-specific/linux/iproute { }; + ipu6-camera-bin = callPackage ../os-specific/linux/firmware/ipu6-camera-bins {}; + + ipu6ep-camera-bin = callPackage ../os-specific/linux/firmware/ipu6-camera-bins { + ipuVersion = "ipu6ep"; + }; + iputils = hiPrio (callPackage ../os-specific/linux/iputils { }); # hiPrio for collisions with inetutils (ping) From 4269391e56b015472b8f238c1ae52442e168348f Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 26 Jan 2023 21:14:20 +0000 Subject: [PATCH 04/23] ipu6-camera-hal: init at 2023-01-09 Also exposes ipu6ep-camera-hal, an overriden version for the Alder Lake platform. --- .../libraries/ipu6-camera-hal/default.nix | 72 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 6 ++ 2 files changed, 78 insertions(+) create mode 100644 pkgs/development/libraries/ipu6-camera-hal/default.nix diff --git a/pkgs/development/libraries/ipu6-camera-hal/default.nix b/pkgs/development/libraries/ipu6-camera-hal/default.nix new file mode 100644 index 000000000000..d8ac28f4ce6b --- /dev/null +++ b/pkgs/development/libraries/ipu6-camera-hal/default.nix @@ -0,0 +1,72 @@ +{ lib +, stdenv +, fetchFromGitHub + +# build +, cmake +, pkg-config + +# runtime +, expat +, ipu6-camera-bin +, libtool +, gst_all_1 +}: + +stdenv.mkDerivation { + pname = "ipu6-camera-hal"; + version = "unstable-2023-01-09"; + + src = fetchFromGitHub { + owner = "intel"; + repo = "ipu6-camera-hal"; + rev = "37292891c73367d22ba1fc96ea9b6e4546903037"; + hash = "sha256-dJvTZt85rt5/v2JXOsfbSY933qffyXW74L0nWdIlqug="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + cmakeFlags = [ + "-DIPU_VER=${ipu6-camera-bin.ipuVersion}" + # missing libiacss + "-DUSE_PG_LITE_PIPE=ON" + # missing libipu4 + "-DENABLE_VIRTUAL_IPU_PIPE=OFF" + ]; + + NIX_CFLAGS_COMPILE = [ + "-I${lib.getDev ipu6-camera-bin}/include/ia_imaging" + "-I${lib.getDev ipu6-camera-bin}/include/ia_camera" + ]; + + enableParallelBuilding = true; + + buildInputs = [ + expat + ipu6-camera-bin + libtool + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + ]; + + preFixup = '' + ls -lah $out/lib/pkgconfig/ + sed -Ei \ + -e "s,^prefix=.*,prefix=$out," \ + -e "s,^exec_prefix=.*,exec_prefix=''${prefix}," \ + -e "s,^libdir=.*,libdir=''${prefix}/lib," \ + -e "s,^includedir=.*,includedir=''${prefix}/include/libcamhal," \ + $out/lib/pkgconfig/libcamhal.pc + ''; + + meta = with lib; { + description = "HAL for processing of images in userspace"; + homepage = "https://github.com/intel/ipu6-camera-hal"; + license = licenses.asl20; + maintainers = with maintainers; [ hexa ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3c184b74ddea..ed19a4cba4ef 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25867,10 +25867,16 @@ with pkgs; ipu6-camera-bin = callPackage ../os-specific/linux/firmware/ipu6-camera-bins {}; + ipu6-camera-hal = callPackage ../development/libraries/ipu6-camera-hal {}; + ipu6ep-camera-bin = callPackage ../os-specific/linux/firmware/ipu6-camera-bins { ipuVersion = "ipu6ep"; }; + ipu6ep-camera-hal = callPackage ../development/libraries/ipu6-camera-hal { + ipu6-camera-bin = ipu6ep-camera-bin; + }; + iputils = hiPrio (callPackage ../os-specific/linux/iputils { }); # hiPrio for collisions with inetutils (ping) From c4c9f600e7a09bb0044fc10ea3ae62a3c65b76b5 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 26 Jan 2023 21:44:12 +0000 Subject: [PATCH 05/23] gst_all_1.icamerasrc: init at 202212109 --- .../libraries/gstreamer/default.nix | 2 + .../gstreamer/icamerasrc/default.nix | 55 +++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 pkgs/development/libraries/gstreamer/icamerasrc/default.nix diff --git a/pkgs/development/libraries/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/default.nix index 9b67dd49c82b..69ee36149776 100644 --- a/pkgs/development/libraries/gstreamer/default.nix +++ b/pkgs/development/libraries/gstreamer/default.nix @@ -25,5 +25,7 @@ gst-vaapi = callPackage ./vaapi { }; + icamerasrc = callPackage ./icamerasrc { }; + # note: gst-python is in ./python/default.nix - called under pythonPackages } diff --git a/pkgs/development/libraries/gstreamer/icamerasrc/default.nix b/pkgs/development/libraries/gstreamer/icamerasrc/default.nix new file mode 100644 index 000000000000..d67f646b2b62 --- /dev/null +++ b/pkgs/development/libraries/gstreamer/icamerasrc/default.nix @@ -0,0 +1,55 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, pkg-config +, gst_all_1 +, ipu6-camera-hal +, libdrm +}: + +stdenv.mkDerivation rec { + pname = "icamerasrc"; + version = "20221209"; + + src = fetchFromGitHub { + owner = "intel"; + repo = "icamerasrc"; + rev = "refs/tags/rpl_plat_${version}_pv"; + hash = "sha256-qlV363l4tUjUAa1LiZQq55byKpz1tLESKAXEmgiYHVo="; + }; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + + preConfigure = '' + # https://github.com/intel/ipu6-camera-hal/issues/1 + export CHROME_SLIM_CAMHAL=ON + # https://github.com/intel/icamerasrc/issues/22 + export STRIP_VIRTUAL_CHANNEL_CAMHAL=ON + ''; + + buildInputs = [ + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + ipu6-camera-hal + libdrm + ]; + + NIX_CFLAGS_COMPILE = [ + # gstcameradeinterlace.cpp:55:10: fatal error: gst/video/video.h: No such file or directory + "-I${gst_all_1.gst-plugins-base.dev}/include/gstreamer-1.0" + ]; + + enableParallelBuilding = true; + + meta = with lib; { + description = "GStreamer Plugin for MIPI camera support through the IPU6/IPU6EP/IPU6SE on Intel Tigerlake/Alderlake/Jasperlake platforms"; + homepage = "https://github.com/intel/icamerasrc/tree/icamerasrc_slim_api"; + license = licenses.lgpl21Plus; + maintainers = with maintainers; [ hexa ]; + platforms = [ "x86_64-linux" ]; + }; +} From 9b4f6d4d9278632b1e6c28e83ed9764bd0387c43 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Tue, 14 Feb 2023 16:33:59 +0100 Subject: [PATCH 06/23] linuxPackages.ivsc-driver: init at 2023-01-06 --- .../os-specific/linux/ivsc-driver/default.nix | 43 +++++++++++++++++++ pkgs/top-level/linux-kernels.nix | 2 + 2 files changed, 45 insertions(+) create mode 100644 pkgs/os-specific/linux/ivsc-driver/default.nix diff --git a/pkgs/os-specific/linux/ivsc-driver/default.nix b/pkgs/os-specific/linux/ivsc-driver/default.nix new file mode 100644 index 000000000000..fbcf61955350 --- /dev/null +++ b/pkgs/os-specific/linux/ivsc-driver/default.nix @@ -0,0 +1,43 @@ +{ lib +, stdenv +, fetchFromGitHub +, kernel +}: + +stdenv.mkDerivation rec { + pname = "ivsc-drivers"; + version = "unstable-2023-01-06"; + + src = fetchFromGitHub { + owner = "intel"; + repo = "ivsc-driver"; + rev = "94ecb88b3ac238d9145ac16230d6e0779bb4fd32"; + hash = "sha256-Q7iyKw4WFSX42E4AtoW/zYRKpknWZSU66V5VPAx6AjA="; + }; + + nativeBuildInputs = kernel.moduleBuildDependencies; + + makeFlags = kernel.makeFlags ++ [ + "KERNELRELEASE=${kernel.modDirVersion}" + "KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + ]; + + enableParallelBuilding = true; + + preInstall = '' + sed -i -e "s,INSTALL_MOD_DIR=,INSTALL_MOD_PATH=$out INSTALL_MOD_DIR=," Makefile + ''; + + installTargets = [ + "modules_install" + ]; + + meta = { + homepage = "https://github.com/intel/ivsc-drivers"; + description = "Intel Vision Sensing Controller kernel driver"; + license = lib.licenses.gpl2; + maintainers = with lib.maintainers; [ hexa ]; + platforms = [ "x86_64-linux" ]; + broken = kernel.kernelOlder "5.15"; + }; +} diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix index d3d352cc7835..239caa1756fe 100644 --- a/pkgs/top-level/linux-kernels.nix +++ b/pkgs/top-level/linux-kernels.nix @@ -332,6 +332,8 @@ in { ipu6-drivers = callPackage ../os-specific/linux/ipu6-drivers {}; + ivsc-driver = callPackage ../os-specific/linux/ivsc-driver {}; + ixgbevf = callPackage ../os-specific/linux/ixgbevf {}; it87 = callPackage ../os-specific/linux/it87 {}; From 6b3385723874fc580a854701292a9a0c7ede4482 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Tue, 14 Feb 2023 17:03:57 +0100 Subject: [PATCH 07/23] ivsc-firmware: init at 2022-11-02 --- .../linux/firmware/ivsc-firmware/default.nix | 41 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 43 insertions(+) create mode 100644 pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix diff --git a/pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix b/pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix new file mode 100644 index 000000000000..fb2f940ddce6 --- /dev/null +++ b/pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix @@ -0,0 +1,41 @@ +{ lib +, stdenv +, fetchFromGitHub +}: + +stdenv.mkDerivation { + pname = "ivsc-firmware"; + version = "unstable-2022-11-02"; + + src = fetchFromGitHub { + owner = "intel"; + repo = "ivsc-firmware"; + rev = "29c5eff4cdaf83e90ef2dcd2035a9cdff6343430"; + hash = "sha256-GuD1oTnDEs0HslJjXx26DkVQIe0eS+js4UoaTDa77ME="; + }; + + dontBuild = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/lib/firmware/vsc + cp --no-preserve=mode --recursive ./firmware/* $out/lib/firmware/vsc/ + install -D ./LICENSE $out/share/doc + + runHook postInstall + ''; + + meta = with lib; { + description = "Firmware binaries for the Intel Vision Sensing Controller"; + homepage = "https://github.com/intel/ivsc-firmware"; + license = licenses.issl; + sourceProvenance = with sourceTypes; [ + binaryFirmware + ]; + maintainers = with maintainers; [ + hexa + ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ed19a4cba4ef..d64a9d7604cb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25877,6 +25877,8 @@ with pkgs; ipu6-camera-bin = ipu6ep-camera-bin; }; + ivsc-firmware = callPackage ../os-specific/linux/firmware/ivsc-firmware { }; + iputils = hiPrio (callPackage ../os-specific/linux/iputils { }); # hiPrio for collisions with inetutils (ping) From b38d6054d789ec8f12a11ed7c2107ce770be7a98 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Tue, 14 Feb 2023 17:58:59 +0100 Subject: [PATCH 08/23] linuxPackages.ipu6-drivers: Reuse ivsc-driver source Now that the ivsc-driver is packaged as well, we can reuse the source files. --- pkgs/os-specific/linux/ipu6-drivers/default.nix | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/pkgs/os-specific/linux/ipu6-drivers/default.nix b/pkgs/os-specific/linux/ipu6-drivers/default.nix index d9c291032d5b..155e384a119d 100644 --- a/pkgs/os-specific/linux/ipu6-drivers/default.nix +++ b/pkgs/os-specific/linux/ipu6-drivers/default.nix @@ -1,18 +1,10 @@ { lib , stdenv , fetchFromGitHub +, ivsc-driver , kernel }: -let - ivsc-driver = fetchFromGitHub { - owner = "intel"; - repo = "ivsc-driver"; - rev = "94ecb88b3ac238d9145ac16230d6e0779bb4fd32"; - hash = "sha256-Q7iyKw4WFSX42E4AtoW/zYRKpknWZSU66V5VPAx6AjA="; - }; -in - stdenv.mkDerivation rec { pname = "ipu6-drivers"; version = "unstable-2023-01-17"; @@ -26,9 +18,9 @@ stdenv.mkDerivation rec { postPatch = '' cp --no-preserve=mode --recursive --verbose \ - ${ivsc-driver}/backport-include \ - ${ivsc-driver}/drivers \ - ${ivsc-driver}/include \ + ${ivsc-driver.src}/backport-include \ + ${ivsc-driver.src}/drivers \ + ${ivsc-driver.src}/include \ . ''; From b3b79fc41eba5f31467bd5aa568ee52a5202ca7a Mon Sep 17 00:00:00 2001 From: Guillaume Girol Date: Sun, 19 Feb 2023 12:00:00 +0000 Subject: [PATCH 09/23] linuxPackages.systemtap: 4.5 -> 4.8 fixes the build with debuginfod-enabled elfutils --- pkgs/development/tools/profiling/systemtap/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/profiling/systemtap/default.nix b/pkgs/development/tools/profiling/systemtap/default.nix index 8799fbd62d39..36cc5cfab2fd 100644 --- a/pkgs/development/tools/profiling/systemtap/default.nix +++ b/pkgs/development/tools/profiling/systemtap/default.nix @@ -6,8 +6,8 @@ let ## fetchgit info url = "git://sourceware.org/git/systemtap.git"; rev = "release-${version}"; - sha256 = "sha256-3LgqMBCnUG2UmsekaIvV43lBpSPEocEXmFV9WpE7wE0="; - version = "4.5"; + sha256 = "sha256-UiUMoqdfkk6mzaPGctpQW3dvOWKhNBNuScJ5BpCykVg="; + version = "4.8"; inherit (kernel) stdenv; From 2f9b913c50b0966192b96a857ad2edd534197c31 Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Wed, 8 Mar 2023 11:05:26 +0100 Subject: [PATCH 10/23] prismlauncher: use qtWrapperArgs Signed-off-by: Sefa Eyeoglu --- pkgs/games/prismlauncher/default.nix | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/pkgs/games/prismlauncher/default.nix b/pkgs/games/prismlauncher/default.nix index 4abd40e24ab0..b3875245f872 100644 --- a/pkgs/games/prismlauncher/default.nix +++ b/pkgs/games/prismlauncher/default.nix @@ -55,7 +55,6 @@ stdenv.mkDerivation rec { cmakeFlags = lib.optionals (msaClientID != "") [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ] ++ lib.optionals (lib.versionAtLeast qtbase.version "6") [ "-DLauncher_QT_VERSION_MAJOR=6" ]; - dontWrapQtApps = true; postUnpack = '' rm -rf source/libraries/libnbtplusplus @@ -65,7 +64,7 @@ stdenv.mkDerivation rec { chown -R $USER: source/libraries/libnbtplusplus ''; - postInstall = + qtWrapperArgs = let libpath = with xorg; lib.makeLibraryPath [ @@ -81,13 +80,12 @@ stdenv.mkDerivation rec { stdenv.cc.cc.lib ]; in - '' + [ + "--set LD_LIBRARY_PATH /run/opengl-driver/lib:${libpath}" + "--prefix PRISMLAUNCHER_JAVA_PATHS : ${lib.makeSearchPath "bin/java" jdks}" # xorg.xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128 - wrapQtApp $out/bin/prismlauncher \ - --set LD_LIBRARY_PATH /run/opengl-driver/lib:${libpath} \ - --prefix PRISMLAUNCHER_JAVA_PATHS : ${lib.makeSearchPath "bin/java" jdks} \ - --prefix PATH : ${lib.makeBinPath [xorg.xrandr]} - ''; + "--prefix PATH : ${lib.makeBinPath [xorg.xrandr]}" + ]; meta = with lib; { homepage = "https://prismlauncher.org/"; From d5743785a6d3fd50594f6ae615f92671f7c38120 Mon Sep 17 00:00:00 2001 From: superherointj <5861043+superherointj@users.noreply.github.com> Date: Thu, 9 Mar 2023 11:52:48 -0300 Subject: [PATCH 11/23] CODEOWNERS: add superherointj to vscode --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 86787c03a5e3..b202fcd13ec1 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -237,6 +237,7 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt /pkgs/applications/editors/vim/plugins @figsoda @jonringer # VsCode Extensions +/pkgs/applications/editors/vscode @superherointj /pkgs/applications/editors/vscode/extensions @jonringer # Prometheus exporter modules and tests From 1c679b809d4fff45377572ad6e259a3a09c5401e Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 10 Mar 2023 18:21:59 +0000 Subject: [PATCH 12/23] crunch: fix cross --- pkgs/tools/security/crunch/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/crunch/default.nix b/pkgs/tools/security/crunch/default.nix index df1d50c60fad..d287fb32fb67 100644 --- a/pkgs/tools/security/crunch/default.nix +++ b/pkgs/tools/security/crunch/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "0mgy6ghjvzr26yrhj1bn73qzw6v9qsniskc5wqq1kk0hfhy6r3va"; }; - buildInputs = [ which ]; + nativeBuildInputs = [ which ]; preBuild = '' substituteInPlace Makefile \ @@ -18,7 +18,10 @@ stdenv.mkDerivation rec { --replace 'sudo ' "" ''; - makeFlags = [ "PREFIX=$(out)" ]; + makeFlags = [ + "CC=${stdenv.cc.targetPrefix}cc" + "PREFIX=$(out)" + ]; meta = with lib; { description = "Wordlist generator"; From ec58817987e72af0b71d709497790bdf1c4815cc Mon Sep 17 00:00:00 2001 From: Mika Tammi Date: Tue, 28 Feb 2023 22:00:29 +0200 Subject: [PATCH 13/23] libglibutil: fix cross-compilation Signed-off-by: Mika Tammi --- pkgs/development/libraries/libglibutil/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/libraries/libglibutil/default.nix b/pkgs/development/libraries/libglibutil/default.nix index 730ebf270446..50ee2d289fcd 100644 --- a/pkgs/development/libraries/libglibutil/default.nix +++ b/pkgs/development/libraries/libglibutil/default.nix @@ -21,6 +21,11 @@ stdenv.mkDerivation rec { glib ]; + postPatch = '' + # Fix pkg-config name for cross-compilation + substituteInPlace Makefile --replace "pkg-config" "$PKG_CONFIG" + ''; + makeFlags = [ "LIBDIR=$(out)/lib" "INSTALL_INCLUDE_DIR=$(dev)/include/gutil" From 19c3fb47f1fb4203b4c59d85f18964619fd8709b Mon Sep 17 00:00:00 2001 From: Mika Tammi Date: Tue, 28 Feb 2023 22:17:30 +0200 Subject: [PATCH 14/23] libgbinder: fix cross-compilation Signed-off-by: Mika Tammi --- pkgs/development/libraries/libgbinder/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/libraries/libgbinder/default.nix b/pkgs/development/libraries/libgbinder/default.nix index 69166ab33feb..054dc0847051 100644 --- a/pkgs/development/libraries/libgbinder/default.nix +++ b/pkgs/development/libraries/libgbinder/default.nix @@ -22,6 +22,13 @@ stdenv.mkDerivation rec { libglibutil ]; + postPatch = '' + # Fix pkg-config and ranlib names for cross-compilation + substituteInPlace Makefile \ + --replace "pkg-config" "$PKG_CONFIG" \ + --replace "ranlib" "$RANLIB" + ''; + makeFlags = [ "LIBDIR=$(out)/lib" "INSTALL_INCLUDE_DIR=$(dev)/include/gbinder" From be31f4a47e90ffe395d20f4e060a5c0651f13246 Mon Sep 17 00:00:00 2001 From: Mika Tammi Date: Tue, 28 Feb 2023 22:34:27 +0200 Subject: [PATCH 15/23] gbinder-python: fix cross-compilation Signed-off-by: Mika Tammi --- pkgs/development/python-modules/gbinder-python/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/python-modules/gbinder-python/default.nix b/pkgs/development/python-modules/gbinder-python/default.nix index e575c51e315f..9d9b906e2443 100644 --- a/pkgs/development/python-modules/gbinder-python/default.nix +++ b/pkgs/development/python-modules/gbinder-python/default.nix @@ -26,6 +26,11 @@ buildPythonPackage rec { pkg-config ]; + postPatch = '' + # Fix pkg-config name for cross-compilation + substituteInPlace setup.py --replace "pkg-config" "$PKG_CONFIG" + ''; + setupPyGlobalFlags = [ "--cython" ]; meta = with lib; { From 43df84b36bae1b276beb504b76ed52fb5ae052f6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 12 Mar 2023 01:22:42 +0000 Subject: [PATCH 16/23] lmdb: 0.9.29 -> 0.9.30 --- pkgs/development/libraries/lmdb/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/lmdb/default.nix b/pkgs/development/libraries/lmdb/default.nix index a8b5da5b56da..dbc15f11c3aa 100644 --- a/pkgs/development/libraries/lmdb/default.nix +++ b/pkgs/development/libraries/lmdb/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { pname = "lmdb"; - version = "0.9.29"; + version = "0.9.30"; src = fetchFromGitLab { domain = "git.openldap.org"; owner = "openldap"; repo = "openldap"; rev = "LMDB_${version}"; - sha256 = "19zq5s1amrv1fhw1aszcn2w2xjrk080l6jj5hc9f46yiqf98jjg3"; + sha256 = "sha256-zLa9BtSPzujHAIZKDl69lTo72cI3m/GZejFw5v8bFsg="; }; postUnpack = "sourceRoot=\${sourceRoot}/libraries/liblmdb"; From 9a9fe39ab64adad52ff51525501c2097aa845ecb Mon Sep 17 00:00:00 2001 From: Mathias Sven Date: Sun, 12 Mar 2023 05:18:42 +0000 Subject: [PATCH 17/23] discord: add taskbar notification badge --- .../networking/instant-messengers/discord/linux.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/networking/instant-messengers/discord/linux.nix b/pkgs/applications/networking/instant-messengers/discord/linux.nix index 72a9d2d3eba4..10fb303fdd67 100644 --- a/pkgs/applications/networking/instant-messengers/discord/linux.nix +++ b/pkgs/applications/networking/instant-messengers/discord/linux.nix @@ -5,6 +5,7 @@ , libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext, libXfixes , libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence, mesa, nspr, nss , pango, systemd, libappindicator-gtk3, libdbusmenu, writeScript, python3, runCommand +, libunity , wayland , branch , common-updater-scripts, withOpenASAR ? false }: @@ -69,6 +70,7 @@ stdenv.mkDerivation rec { libnotify libX11 libXcomposite + libunity libuuid libXcursor libXdamage From eb3e8ca5c1e9f4907c3533c507d4719f2ca3f3c6 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sun, 12 Mar 2023 13:49:59 +0100 Subject: [PATCH 18/23] vikunja-frontend: 0.20.4 -> 0.20.5 Changelog: https://kolaente.dev/vikunja/frontend/src/tag/v0.20.5/CHANGELOG.md --- pkgs/servers/web-apps/vikunja/frontend.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/web-apps/vikunja/frontend.nix b/pkgs/servers/web-apps/vikunja/frontend.nix index 2ccf1b4f3f5a..40dbca76cc18 100644 --- a/pkgs/servers/web-apps/vikunja/frontend.nix +++ b/pkgs/servers/web-apps/vikunja/frontend.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "vikunja-frontend"; - version = "0.20.4"; + version = "0.20.5"; src = fetchurl { url = "https://dl.vikunja.io/frontend/${pname}-${version}.zip"; - hash = "sha256-gkeX/2f6T8GW6jQa+qFcGc/k5cu9QoO9b3tL6B4lPOQ="; + hash = "sha256-fUWMlayE8pxVBGloLrywVAFCXF/3vlrz/CHjHNBa7U8="; }; nativeBuildInputs = [ unzip ]; From 17ccdf0ebfce957bba9a3667b2943e79dc21aae0 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sun, 12 Mar 2023 13:54:19 +0100 Subject: [PATCH 19/23] vikunja-api: 0.20.3 -> 0.20.4 Changelog: https://kolaente.dev/vikunja/api/src/tag/v0.20.4/CHANGELOG.md --- pkgs/servers/web-apps/vikunja/api.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/web-apps/vikunja/api.nix b/pkgs/servers/web-apps/vikunja/api.nix index ea91cb2505a8..76947cdddf34 100644 --- a/pkgs/servers/web-apps/vikunja/api.nix +++ b/pkgs/servers/web-apps/vikunja/api.nix @@ -2,14 +2,14 @@ buildGoModule rec { pname = "vikunja-api"; - version = "0.20.3"; + version = "0.20.4"; src = fetchFromGitea { domain = "kolaente.dev"; owner = "vikunja"; repo = "api"; rev = "v${version}"; - hash = "sha256-krmshpv7X8Ua61NUSZGTT1+avoBBNSFuxPa93go3qBY="; + hash = "sha256-SkZf8LFU4/HFEWVEEj7Gl2jVwIL834GRwyua4cw9nh4="; }; nativeBuildInputs = From 2155559979388577678b793db3ee0fa81e670a4c Mon Sep 17 00:00:00 2001 From: Kira Bruneau Date: Sun, 12 Mar 2023 09:49:40 -0400 Subject: [PATCH 20/23] maintainers: add fxttr --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 0fdd8716f6cb..6d0d5f9eaca6 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -5224,6 +5224,12 @@ githubId = 3036816; name = "Edgar Aroutiounian"; }; + fxttr = { + name = "Florian Büstgens"; + email = "fb@fx-ttr.de"; + github = "fxttr"; + githubId = 16306293; + }; fzakaria = { name = "Farid Zakaria"; email = "farid.m.zakaria@gmail.com"; From 861156414d40bf6b3f1b0aabd4b422f1d424e129 Mon Sep 17 00:00:00 2001 From: Kira Bruneau Date: Mon, 6 Mar 2023 19:51:51 -0500 Subject: [PATCH 21/23] emacsPackages.lsp-bridge: init at 20230309.554 --- .../emacs/elisp-packages/manual-packages.nix | 6 ++ .../manual-packages/acm/default.nix | 32 ++++++ .../manual-packages/lsp-bridge/default.nix | 97 +++++++++++++++++++ 3 files changed, 135 insertions(+) create mode 100644 pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm/default.nix create mode 100644 pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix index a7e8721f75b8..be7cf0b192d1 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix @@ -5,6 +5,8 @@ let inherit (self) callPackage; in { + acm = callPackage ./manual-packages/acm { }; + agda-input = callPackage ./manual-packages/agda-input { }; agda2-mode = callPackage ./manual-packages/agda2-mode { }; @@ -47,6 +49,10 @@ in llvm-mode = callPackage ./manual-packages/llvm-mode { }; + lsp-bridge = callPackage ./manual-packages/lsp-bridge { + inherit (pkgs) python3 git go gopls pyright; + }; + matrix-client = callPackage ./manual-packages/matrix-client { _map = self.map; }; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm/default.nix new file mode 100644 index 000000000000..5879865c901e --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm/default.nix @@ -0,0 +1,32 @@ +{ lib +, melpaBuild +, lsp-bridge +, yasnippet +, writeText +}: + +melpaBuild { + pname = "acm"; + version = lsp-bridge.version; + + src = lsp-bridge.src; + commit = lsp-bridge.src.rev; + + packageRequires = [ + yasnippet + ]; + + recipe = writeText "recipe" '' + (acm + :repo "manateelazycat/lsp-bridge" + :fetcher github + :files ("acm/*.el" "acm/icons")) + ''; + + meta = with lib; { + description = "Asynchronous Completion Menu"; + homepage = "https://github.com/manateelazycat/lsp-bridge"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ fxttr kira-bruneau ]; + }; +} diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix new file mode 100644 index 000000000000..bdfe1ed2c809 --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix @@ -0,0 +1,97 @@ +{ lib +, python3 +, melpaBuild +, fetchFromGitHub +, substituteAll +, acm +, markdown-mode +, posframe +, git +, go +, gopls +, pyright +, tempel +, writeText +, unstableGitUpdater +}: + +let + rev = "c5dc02f6bd47039c320083b3befac0e569c0efa4"; + python = python3.withPackages (ps: with ps; [ + epc + orjson + sexpdata + six + ]); +in +melpaBuild { + pname = "lsp-bridge"; + version = "20230311.1648"; # 16:48 UTC + + src = fetchFromGitHub { + owner = "manateelazycat"; + repo = "lsp-bridge"; + inherit rev; + sha256 = "sha256-vbSVGPFBjAp4VRbJc6a2W0d2IqOusNa+rk4X6jRcjRI="; + }; + + commit = rev; + + # Hardcode the python dependencies needed for lsp-bridge, so users + # don't have to modify their global environment + postPatch = '' + substituteInPlace lsp-bridge.el --replace \ + '(defcustom lsp-bridge-python-command (if (memq system-type '"'"'(cygwin windows-nt ms-dos)) "python.exe" "python3")' \ + '(defcustom lsp-bridge-python-command "${python.interpreter}"' + ''; + + packageRequires = [ + acm + markdown-mode + posframe + ]; + + buildInputs = [ python ]; + + checkInputs = [ + git + go + gopls + pyright + tempel + ]; + + recipe = writeText "recipe" '' + (lsp-bridge + :repo "manateelazycat/lsp-bridge" + :fetcher github + :files + ("*.el" + "lsp_bridge.py" + "core" + "langserver" + "multiserver" + "resources")) + ''; + + doCheck = true; + checkPhase = '' + runHook preCheck + + cd "$sourceRoot" + mkfifo test.log + cat < test.log & + HOME=$(mktemp -d) python -m test.test + + runHook postCheck + ''; + + passthru.updateScript = unstableGitUpdater { }; + + meta = with lib; { + description = "A blazingly fast LSP client for Emacs"; + homepage = "https://github.com/manateelazycat/lsp-bridge"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ fxttr kira-bruneau ]; + }; +} From 08916245bd25d03fa6f837d3c23ebac8b6ada016 Mon Sep 17 00:00:00 2001 From: Kira Bruneau Date: Fri, 10 Mar 2023 13:13:23 -0500 Subject: [PATCH 22/23] emacsPackages.acm-terminal: init at 20230215.414 --- .../emacs/elisp-packages/manual-packages.nix | 2 + .../manual-packages/acm-terminal/default.nix | 43 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm-terminal/default.nix diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix index be7cf0b192d1..7919c4a79d61 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix @@ -7,6 +7,8 @@ in { acm = callPackage ./manual-packages/acm { }; + acm-terminal = callPackage ./manual-packages/acm-terminal { }; + agda-input = callPackage ./manual-packages/agda-input { }; agda2-mode = callPackage ./manual-packages/agda2-mode { }; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm-terminal/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm-terminal/default.nix new file mode 100644 index 000000000000..8aadb0867c32 --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm-terminal/default.nix @@ -0,0 +1,43 @@ +{ lib +, melpaBuild +, fetchFromGitHub +, acm +, popon +, writeText +, unstableGitUpdater +}: + +let + rev = "321e05fc0398a6159925b858f46608ea07ef269e"; +in +melpaBuild { + pname = "acm-terminal"; + version = "20230215.414"; # 4:14 UTC + + src = fetchFromGitHub { + owner = "twlz0ne"; + repo = "acm-terminal"; + inherit rev; + sha256 = "sha256-Flw07EwH9z0E3tqXs4mStICJmoHfp60ALrP1GmUmeuU="; + }; + + commit = rev; + + packageRequires = [ + acm + popon + ]; + + recipe = writeText "recipe" '' + (acm-terminal :repo "twlz0ne/acm-terminal" :fetcher github) + ''; + + passthru.updateScript = unstableGitUpdater { }; + + meta = with lib; { + description = "Patch for LSP bridge acm on Terminal"; + homepage = "https://github.com/twlz0ne/acm-terminal"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ kira-bruneau ]; + }; +} From 7d15a3978150e4cdc9b749c1b2efdcf7fd7faae0 Mon Sep 17 00:00:00 2001 From: Moritz 'e1mo' Fromm Date: Sat, 11 Mar 2023 13:30:00 +0100 Subject: [PATCH 23/23] libreoffice: Fix invalid desktop files Fixes a regression introduced in #219166 by again setting the correct binary name in the Exec filed for the .desktop files. Fixes #220693 --- pkgs/applications/office/libreoffice/default.nix | 1 + pkgs/applications/office/libreoffice/wrapper.nix | 14 +++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix index c777e5b4b835..d5925fa4d42b 100644 --- a/pkgs/applications/office/libreoffice/default.nix +++ b/pkgs/applications/office/libreoffice/default.nix @@ -154,6 +154,7 @@ let mkDrv = if kdeIntegration then mkDerivation else stdenv.mkDerivation; srcs = { + primary = primary-src; third_party = map (x: ((fetchurl { inherit (x) url sha256 name; }) // { inherit (x) md5name md5; })) (importVariant "download.nix" ++ [ diff --git a/pkgs/applications/office/libreoffice/wrapper.nix b/pkgs/applications/office/libreoffice/wrapper.nix index d97e76617b03..c44ca11c4325 100644 --- a/pkgs/applications/office/libreoffice/wrapper.nix +++ b/pkgs/applications/office/libreoffice/wrapper.nix @@ -18,6 +18,8 @@ }: let + inherit (unwrapped.srcs.primary) major minor; + makeWrapperArgs = builtins.concatStringsSep " " ([ "--set" "GDK_PIXBUF_MODULE_FILE" "${librsvg}/${gdk-pixbuf.moduleDir}.cache" "--prefix" "GIO_EXTRA_MODULES" ":" "${lib.getLib dconf}/lib/gio/modules" @@ -86,8 +88,18 @@ in runCommand "${unwrapped.name}-wrapped" { }; } ('' mkdir -p "$out/bin" - ln -s ${unwrapped}/share $out/share + mkdir -p "$out/share" + + ln -s ${unwrapped}/share/icons $out/share/icons + ln -s ${unwrapped}/share/templates $out/share/templates ln -s ${unwrapped}/lib $out/lib + + cp -r ${unwrapped}/share/applications/ $out/share/ + for f in $out/share/applications/*.desktop; do + substituteInPlace "$f" \ + --replace "Exec=libreoffice${major}.${minor}" "Exec=soffice" + done + for i in sbase scalc sdraw smath swriter simpress soffice unopkg; do makeWrapper ${unwrapped}/lib/libreoffice/program/$i $out/bin/$i ${makeWrapperArgs} '' + lib.optionalString dbusVerify ''