Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 82 lines 1.9 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 meson, 6 ninja, 7 file, 8 docbook-xsl-nons, 9 gtk-doc ? null, 10 buildDevDoc ? gtk-doc != null, 11 12 # for passthru.tests 13 gnuradio, 14 gst_all_1, 15 qt6, 16 vips, 17}: 18 19stdenv.mkDerivation (finalAttrs: { 20 pname = "orc"; 21 version = "0.4.41"; 22 23 outputs = [ 24 "out" 25 "dev" 26 ] 27 ++ lib.optional buildDevDoc "devdoc"; 28 outputBin = "dev"; # compilation tools 29 30 src = fetchurl { 31 url = "https://gstreamer.freedesktop.org/src/orc/orc-${finalAttrs.version}.tar.xz"; 32 hash = "sha256-yxv9T2VSic05vARkLVl76d5UJ2I/CGHB/BnAjZhGf6I="; 33 }; 34 35 postPatch = lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) '' 36 # This benchmark times out on Hydra.nixos.org 37 sed -i '/memcpy_speed/d' testsuite/meson.build 38 ''; 39 40 mesonFlags = [ 41 (lib.mesonEnable "gtk_doc" buildDevDoc) 42 ]; 43 44 nativeBuildInputs = [ 45 meson 46 ninja 47 ] 48 ++ lib.optionals buildDevDoc [ 49 gtk-doc 50 file 51 docbook-xsl-nons 52 ]; 53 54 # https://gitlab.freedesktop.org/gstreamer/orc/-/issues/41 55 doCheck = 56 !( 57 stdenv.hostPlatform.isLinux 58 && stdenv.hostPlatform.isAarch64 59 && stdenv.cc.isGNU 60 && lib.versionAtLeast stdenv.cc.version "12" 61 ); 62 63 passthru.tests = { 64 inherit (gst_all_1) gst-plugins-good gst-plugins-bad gst-plugins-ugly; 65 inherit gnuradio vips; 66 qt6-qtmultimedia = qt6.qtmultimedia; 67 }; 68 69 meta = with lib; { 70 description = "Oil Runtime Compiler"; 71 homepage = "https://gstreamer.freedesktop.org/projects/orc.html"; 72 changelog = "https://gitlab.freedesktop.org/gstreamer/orc/-/blob/${finalAttrs.version}/RELEASE"; 73 # The source code implementing the Marsenne Twister algorithm is licensed 74 # under the 3-clause BSD license. The rest is 2-clause BSD license. 75 license = with licenses; [ 76 bsd3 77 bsd2 78 ]; 79 platforms = platforms.unix; 80 maintainers = [ ]; 81 }; 82})