jiebi/CodeConvo huggingface dataset:
<ins> { lib , stdenv , fetchFromGitHub , SDL2 , cmake , espeak , ffmpeg , file , freetype , harfbuzz , leptonica , libGL , libX11 , libXau , libXcomposite , libXdmcp , libXfixes , libdrm , libffi , libusb1 , libuvc , libvlc , libvncserver , libxcb , libxkbcommon , luajit , makeWrapper , mesa , openal , pkg-config , sqlite , tesseract , valgrind , wayland , wayland-protocols , xcbutil , xcbutilwm , xz , buildManPages ? true, ruby }: let # TODO: investigate vendoring, especially OpenAL # WARN: vendoring of OpenAL is required for running arcan_lwa # INFO: maybe it needs leaveDotGit, but it is dangerous/impure letoram-openal-src = fetchFromGitHub { owner = "letoram"; repo = "openal"; rev = "1c7302c580964fee9ee9e1d89ff56d24f934bdef"; hash = "sha256-InqU59J0zvwJ20a7KU54xTM7d76VoOlFbtj7KbFlnTU="; }; in stdenv.mkDerivation rec { pname = "arcan"; version = "0.6.1pre1+unstable=2021-07-07"; src = fetchFromGitHub { owner = "letoram"; repo = "arcan"; rev = "f3341ab94b32d02f3d15c3b91a512b2614e950a5"; hash = "sha256-YBtRA5uCk4tjX3Bsu5vMkaNaCLRlM6HVQ53sna3gDsY="; }; postUnpack = '' ( cd $sourceRoot/external/git/ cp -a ${letoram-openal-src}/ openal/ chmod --recursive 744 openal/ ) ''; # TODO: work with upstream in order to get rid of these hardcoded paths postPatch = '' substituteInPlace ./src/platform/posix/paths.c  --replace "/usr/bin" "$out/bin"  --replace "/usr/share" "$out/share" substituteInPlace ./src/CMakeLists.txt --replace "SETUID" "# SETUID" ''; nativeBuildInputs = [ cmake makeWrapper pkg-config ] ++ lib.optionals buildManPages [ ruby ]; buildInputs = [ SDL2 espeak ffmpeg file freetype harfbuzz leptonica libGL libX11 libXau libXcomposite libXdmcp libXfixes libdrm libffi libusb1 libuvc libvlc libvncserver libxcb libxkbcommon luajit mesa openal sqlite tesseract valgrind wayland wayland-protocols xcbutil xcbutilwm xz ]; # INFO: According to the source code, the manpages need to be generated before # the configure phase preConfigure = lib.optionalString buildManPages '' (cd doc; ruby docgen.rb mangen) ''; cmakeFlags = [ "-DBUILD_PRESET=everything" # The upstream project recommends tagging the distribution "-DDISTR_TAG=Nixpkgs" "-DENGINE_BUILDTAG=${version}" "-DHYBRID_SDL=on" "-DSTATIC_OPENAL=off" "../src" ]; hardeningDisable = [ "format" ]; meta = with lib; { homepage = "https://arcan-fe.com/"; description = "Combined Display Server, Multimedia Framework, Game Engine"; longDescription = '' Arcan is a portable and fast self-sufficient multimedia engine for advanced visualization and analysis work in a wide range of applications e.g. game development, real-time streaming video, monitoring and surveillance, up to and including desktop compositors and window managers. ''; license = with licenses; [ bsd3 gpl2Plus lgpl2Plus ]; maintainers = with maintainers; [ AndersonTorres ]; platforms = platforms.unix; }; } </ins>
<ins> { callPackage, lib, pkgs }: rec { # Dependencies espeak = pkgs.espeak-ng; ffmpeg = pkgs.ffmpeg-full; harfbuzz = pkgs.harfbuzzFull; # Arcan arcan = callPackage ./arcan.nix { }; arcan-wrapped = callPackage ./wrapper.nix { }; xarcan = callPackage ./xarcan.nix { }; # Appls durden = callPackage ./durden.nix { }; durden-wrapped = callPackage ./wrapper.nix { name = "durden-wrapped"; appls = [ durden ]; }; pipeworld = callPackage ./pipeworld.nix { }; pipeworld-wrapped = callPackage ./wrapper.nix { name = "pipeworld-wrapped"; appls = [ pipeworld ]; }; prio = callPackage ./prio.nix { }; prio-wrapped = callPackage ./wrapper.nix { name = "prio-wrapped"; appls = [ prio ]; }; # One Expression to SymlinkJoin Them All everyone-wrapped = callPackage ./wrapper.nix { name = "everyone-wrapped"; appls = [ durden pipeworld prio ]; }; } </ins>
<ins> { lib , stdenv , fetchFromGitHub }: stdenv.mkDerivation rec { pname = "durden"; version = "0.6.1+unstable=2021-06-25"; src = fetchFromGitHub { owner = "letoram"; repo = pname; rev = "fb618fccc57a68b6ce933b4df5822acd1965d591"; hash = "sha256-PovI837Xca4wV0g0s4tYUMFGVUDf+f8HcdvM1+0aDxk="; }; installPhase = '' runHook preInstall mkdir -p ${placeholder "out"}/share/arcan/appl/ cp -a ./durden ${placeholder "out"}/share/arcan/appl/ runHook postInstall ''; meta = with lib; { homepage = "https://durden.arcan-fe.com/"; description = "Reference Desktop Environment for Arcan"; longDescription = '' Durden is a desktop environment for the Arcan Display Server. It serves both as a reference showcase on how to take advantage of some of the features in Arcan, and as a very competent entry to the advanced-user side of the desktop environment spectrum. ''; license = licenses.bsd3; maintainers = with maintainers; [ AndersonTorres ]; platforms = platforms.all; }; } </ins>
<ins> { lib , stdenv , fetchFromGitHub }: stdenv.mkDerivation rec { pname = "pipeworld"; version = "0.0.0+unstable=2021-05-27"; src = fetchFromGitHub { owner = "letoram"; repo = pname; rev = "c26df9ca0225ce2fd4f89e7ec59d4ab1f94a4c2e"; hash = "sha256-RkDAbM1q4o61RGPLPLXHLvbvClp+bfjodlWgUGoODzA="; }; installPhase = '' runHook preInstall mkdir -p ${placeholder "out"}/share/arcan/appl/ cp -a ./pipeworld ${placeholder "out"}/share/arcan/appl/ runHook postInstall ''; meta = with lib; { homepage = "https://github.com/letoram/pipeworld"; description = "Dataflow 'spreadsheet' desktop environment"; longDescription = '' Pipeworld is a zooming dataflow tool and desktop heavily inspired by userland. It is built using the arcan desktop engine. It combines the programmable processing of shell scripts and pipes, the interactive visual addressing/programming model of spread sheets, the scenegraph- and interactive controls-, IPC- and client processing- of display servers into one model with zoomable tiling window management. It can be used as a standalone desktop of its own, or as a normal application within another desktop as a 'substitute' for your normal terminal emulator. ''; license = licenses.bsd3; maintainers = with maintainers; [ AndersonTorres ]; platforms = platforms.all; }; } </ins>
<ins> { lib , stdenv , fetchFromGitHub }: stdenv.mkDerivation rec { pname = "prio"; version = "0.0.0+unstable=2018-09-13"; src = fetchFromGitHub { owner = "letoram"; repo = pname; rev = "c3f97491339d15f063d6937d5f89bcfaea774dd1"; hash = "sha256-Idv/duEYmDk/rO+TI8n+FY3VFDtUEh8C292jh12BJuM="; }; installPhase = '' runHook preInstall mkdir -p ${placeholder "out"}/share/arcan/appl/prio cp -a ./* ${placeholder "out"}/share/arcan/appl/prio runHook postInstall ''; meta = with lib; { homepage = "https://github.com/letoram/prio"; description = "Plan9- Rio like Window Manager for Arcan"; license = licenses.bsd3; maintainers = with maintainers; [ AndersonTorres ]; platforms = platforms.all; }; } </ins>
<ins> { arcan , makeWrapper , symlinkJoin , appls ? [ ] , name ? "arcan-wrapped" }: symlinkJoin rec { inherit name; paths = appls ++ [ arcan ]; nativeBuildInputs = [ makeWrapper ]; postBuild = '' for prog in ${placeholder "out"}/bin/*; do wrapProgram $prog  --prefix PATH ":" "${placeholder "out"}/bin"  --set ARCAN_APPLBASEPATH "${placeholder "out"}/share/arcan/appl/"  --set ARCAN_BINPATH "${placeholder "out"}/bin/arcan_frameserver"  --set ARCAN_LIBPATH "${placeholder "out"}/lib/"  --set ARCAN_RESOURCEPATH "${placeholder "out"}/share/arcan/resources/"  --set ARCAN_SCRIPTPATH "${placeholder "out"}/share/arcan/scripts/"  --set ARCAN_STATEBASEPATH "$HOME/.arcan/resources/savestates/" done ''; } # TODO: set ARCAN_FONTPATH to a set of fonts that can be provided in a parameter </ins>
<ins> { lib , stdenv , fetchFromGitHub , arcan , audit , dbus , epoxy , fontutil , libGL , libX11 , libXau , libXdmcp , libXfont2 , libdrm , libgcrypt , libmd , libselinux , libtirpc , libxcb , libxkbfile , libxshmfence , mesa , meson , nettle , ninja , openssl , pixman , pkg-config , systemd , xcbutil , xcbutilwm , xkbcomp , xkeyboard_config , xorgproto , xtrans }: stdenv.mkDerivation rec { pname = "xarcan"; version = "0.6.0+unstable=2021-06-14"; src = fetchFromGitHub { owner = "letoram"; repo = pname; rev = "98d28a5f2c6860bb191fbc1c9e577c18e4c9a9b7"; hash = "sha256-UTIVDKnYD/q0K6G7NJUKh1tHcqnsuiJ/cQxWuPMJ2G4="; }; nativeBuildInputs = [ meson ninja pkg-config ]; buildInputs = [ arcan audit dbus epoxy fontutil libGL libX11 libXau libXdmcp libXfont2 libdrm libgcrypt libmd libselinux libtirpc libxcb libxkbfile libxshmfence mesa nettle openssl pixman systemd xcbutil xcbutilwm xkbcomp xkeyboard_config xorgproto xtrans ]; configureFlags = [ "--disable-int10-module" "--disable-static" "--disable-xnest" "--disable-xorg" "--disable-xvfb" "--disable-xwayland" "--enable-glamor" "--enable-glx" "--enable-ipv6" "--enable-kdrive" "--enable-record" "--enable-xarcan" "--enable-xcsecurity" "--with-xkb-bin-directory=${xkbcomp}/bin" "--with-xkb-output=/tmp" "--with-xkb-path=${xkeyboard_config}/share/X11/xkb" ]; meta = with lib; { homepage = "https://github.com/letoram/letoram"; description = "Patched Xserver that bridges connections to Arcan"; longDescription = '' xarcan is a patched X server with a KDrive backend that uses the arcan-shmif to map Xlib/Xcb/X clients to a running arcan instance. It allows running an X session as a window under Arcan. ''; license = licenses.mit; maintainers = with maintainers; [ AndersonTorres ]; platforms = platforms.all; }; } </ins>
The <literal>tomcat-connector</literal> <literal>httpd.extraSubservice</literal> has been removed from nixpkgs. </para> </listitem> <ins> <listitem> <para> It's now possible to change configuration in <link linkend="opt-services.nextcloud.enable">services.nextcloud</link> after the initial deploy since all config parameters are persisted in an additional config file generated by the module. Previously core configuration like database parameters were set using their imperative installer after creating <literal>/var/lib/nextcloud</literal>. </para> </listitem> </ins> </itemizedlist> </section> </section>
systemd.services = { "nextcloud-setup" = let <ins> c = cfg.config; writePhpArrary = a: "[${concatMapStringsSep "," (val: ''"${toString val}"'') a}]"; </ins> overrideConfig = pkgs.writeText "nextcloud-config.php" '' <?php <ins> ${optionalString (c.dbpassFile != null) '' function nix_read_pwd() { $file = "${c.dbpassFile}"; if (!file_exists($file)) { throw new RuntimeException(sprintf( "Cannot start Nextcloud, dbpass file %s set by NixOS doesn't exist!", $file )); } return trim(file_get_contents($file)); } ''} </ins> $CONFIG = [ 'apps_paths' => [ [ 'path' => '${cfg.home}/apps', 'url' => '/apps', 'writable' => false ],
${optionalString cfg.caching.apcu "'memcache.local' => 'OCMemcacheAPCu',"} 'log_type' => 'syslog', 'log_level' => '${builtins.toString cfg.logLevel}', <del> ${optionalString (cfg.config.overwriteProtocol != null) "'overwriteprotocol' => '${cfg.config.overwriteProtocol}',"} </del> <ins> ${optionalString (c.overwriteProtocol != null) "'overwriteprotocol' => '${c.overwriteProtocol}',"} ${optionalString (c.dbname != null) "'dbname' => '${c.dbname}',"} ${optionalString (c.dbhost != null) "'dbhost' => '${c.dbhost}',"} ${optionalString (c.dbport != null) "'dbport' => '${toString c.dbport}',"} ${optionalString (c.dbuser != null) "'dbuser' => '${c.dbuser}',"} ${optionalString (c.dbtableprefix != null) "'dbtableprefix' => '${toString c.dbtableprefix}',"} ${optionalString (c.dbpass != null) "'dbpassword' => '${c.dbpass}',"} ${optionalString (c.dbpassFile != null) "'dbpassword' => nix_read_pwd(),"} 'dbtype' => '${c.dbtype}', 'trusted_domains' => ${writePhpArrary c.extraTrustedDomains}, </ins> ]; ''; occInstallCmd = let <del> c = cfg.config; adminpass = if c.adminpassFile != null then ''"$(<"${toString c.adminpassFile}")"'' else ''"${toString c.adminpass}"''; </del> dbpass = if c.dbpassFile != null then ''"$(<"${toString c.dbpassFile}")"'' else if c.dbpass != null then ''"${toString c.dbpass}"'' else null; <ins> adminpass = if c.adminpassFile != null then ''"$(<"${toString c.adminpassFile}")"'' else ''"${toString c.adminpass}"''; </ins> installFlags = concatStringsSep " n    " (mapAttrsToList (k: v: "${k} ${toString v}") { "--database" = ''"${c.dbtype}"'';
services.postgresql = { <link linkend="opt-services.postgresql.enable">enable</link> = true; <del> <link linkend="opt-services.postgresql.initialScript">initialScript</link> = pkgs.writeText "psql-init" '' CREATE ROLE nextcloud WITH LOGIN; CREATE DATABASE nextcloud WITH OWNER nextcloud; ''; </del> <ins> <link linkend="opt-services.postgresql.ensureDatabases">ensureDatabases</link> = [ "nextcloud" ]; <link linkend="opt-services.postgresql.ensureUsers">ensureUsers</link> = [ { name = "nextcloud"; ensurePermissions."DATABASE nextcloud" = "ALL PRIVILEGES"; } ]; </ins> }; # ensure that postgres is running *before* running the setup
are used internally to configure an HTTP server using <literal><link xlink:href="https://php-fpm.org/">PHP-FPM</link></literal> and <literal>nginx</literal>. The <literal>config</literal> attribute set is <del> used for the <literal>config.php</literal> which is used for the application's configuration. <emphasis>Beware: this isn't entirely pure since the config is modified by the application's runtime!</emphasis> </del> <ins> used by the imperative installer and all values are written to an additional file to ensure that changes can be applied by changing the module's options. </ins> </para> <para> <del> In case the application serves multiple hosts (those are checked with </del> <ins> In case the application serves multiple domains (those are checked with </ins> <literal><link xlink:href="http://php.net/manual/en/reserved.variables.server.php">$_SERVER['HTTP_HOST']</link></literal>) <del> those can be added using </del> <ins> it's needed to add them to </ins> <literal><link linkend="opt-services.nextcloud.config.extraTrustedDomains">services.nextcloud.config.extraTrustedDomains</link></literal>. </para> <ins> <para> Auto updates for Nextcloud apps can be enabled using <literal><link linkend="opt-services.nextcloud.autoUpdateApps.enable">services.nextcloud.autoUpdateApps</link></literal>. </para> </ins> </section> <section xml:id="module-services-nextcloud-pitfalls-during-upgrade"> <title>Pitfalls</title>
</para> <para> <del> Right now changes to the <literal>services.nextcloud.config</literal> attribute set won't take effect after the first install (except <literal><link linkend="opt-services.nextcloud.config.extraTrustedDomains">services.nextcloud.config.extraTrustedDomains</link></literal>) since the actual configuration file is generated by the NextCloud installer which also sets up critical parts such as the database structure. </del> <ins> All configuration parameters are also stored in <literal>/var/lib/nextcloud/config/override.config.php</literal> which is generated by the module and linked from the store to ensure that all values from <literal>config.php</literal> can be modified by the module. However <literal>config.php</literal> manages the application's state and shouldn't be touched manually because of that. </ins> </para> <del> <para> <emphasis>Warning: don't delete <literal>config.php</literal>! This file </del> <ins> <warning> <para>Don't delete <literal>config.php</literal>! This file </ins> tracks the application's state and a deletion can cause unwanted <del> side-effects!</emphasis> </para> </del> <ins> side-effects!</para> </warning> </ins> <del> <para> <emphasis>Warning: don't rerun <literal>nextcloud-occ </del> <ins> <warning> <para>Don't rerun <literal>nextcloud-occ </ins> maintenance:install</literal>! This command tries to install the application <del> and can cause unwanted side-effects!</emphasis> </para> <para> The issues are known and reported in <link xlink:href="https://github.com/NixOS/nixpkgs/issues/49783">#49783</link>, for now it's unfortunately necessary to manually work around these issues. </para> <para> Right now app installation and configuration is done imperatively in the nextcloud web ui or via the <literal>nextcloud-occ</literal> command line utility. You can activate auto updates for your apps via <literal><link linkend="opt-services.nextcloud.autoUpdateApps.enable">services.nextcloud.autoUpdateApps</link></literal>. </para> </del> <ins> and can cause unwanted side-effects!</para> </warning> </ins> </section> </chapter>
services.postgresql = { enable = true; <del> initialScript = pkgs.writeText "psql-init" '' create role nextcloud with login password 'hunter2'; create database nextcloud with owner nextcloud; ''; </del> <ins> ensureDatabases = [ "nextcloud" ]; ensureUsers = [ { name = "nextcloud"; ensurePermissions."DATABASE nextcloud" = "ALL PRIVILEGES"; } ]; </ins> }; }; };
beta = stable; legacy_340 = generic { <del> version = "340.104"; sha256_32bit = "1l8w95qpxmkw33c4lsf5ar9w2fkhky4x23rlpqvp1j66wbw1b473"; sha256_64bit = "18k65gx6jg956zxyfz31xdp914sq3msn665a759bdbryksbk3wds"; settingsSha256 = "1vvpqimvld2iyfjgb9wvs7ca0b0f68jzfdpr0icbyxk4vhsq7sxk"; persistencedSha256 = "0zqws2vsrxbxhv6z0nn2galnghcsilcn3s0f70bpm6jqj9wzy7x8"; </del> <ins> version = "340.107"; sha256_32bit = "0mh83affz6bim26ws7kkwwcfj2s6vkdy4d45hifsbshr82qd52wd"; sha256_64bit = "0pv9yv3x0kg9hfkmc50xb54ahxkbnyy2vyy4hj2h0s6m9sb5kqz3"; settingsSha256 = "1rgaa24acdyqa1rqrx56293vxpskr792njqqpigqmps04llsx703"; persistencedSha256 = "0nwv6kh4gxgy80x1zs6gcg5hy3amg25xhsfa2v4mwqa36sblxz6l"; </ins> useGLVND = false; patches = maybePatch_drm_legacy ++ [ ./vm_operations_struct-fault.patch ];
''; }); <ins> # On Darwin, git-annex mis-detects options to `cp`, so we wrap the binary to # ensure it uses Nixpkgs' coreutils. git-annex = with pkgs; if (!stdenv.isLinux) then let path = stdenv.lib.makeBinPath [ coreutils ]; in overrideCabal (addBuildTool super.git-annex makeWrapper) (_drv: { postFixup = '' wrapProgram $out/bin/git-annex  --prefix PATH : "${path}" ''; }) else super.git-annex; </ins> # The test suite has undeclared dependencies on git. githash = dontCheck super.githash;
nativeBuildInputs = [ file pkgconfig gnupg autoreconfHook git texinfo ] ++ lib.optionals pythonSupport [ python swig2 which ncurses ]; <ins> patches = [ (fetchpatch { name = "fix-key-expiry.patch"; url = "https://files.gnupg.net/file/data/fehgbjmataj5tc2pnfhj/PHID-FILE-aqck6l4elhw53tjanrie/file"; sha256 = "1h80m045gy7r0g7dzzlfpql6p065x88p274ij9jnf7d4lwwgrf1a"; }) ]; </ins> postPatch ='' substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file '';
elmPackages = (import ./packages/elm-srcs.nix); versionsDat = ./versions.dat; }; <ins> patches = [ (fetchpatch { url = "https://github.com/elm/compiler/pull/1886/commits/39d86a735e28da514be185d4c3256142c37c2a8a.patch"; sha256 = "0nni5qx1523rjz1ja42z6z9pijxvi3fgbw1dhq5qi11mh1nb9ay7"; }) ]; </ins> buildTools = drv.buildTools or [] ++ [ makeWrapper ]; jailbreak = true; postInstall = ''
default = true; description = lib.mdDoc '' <del> Disables horizontal scrolling. When disabled, this driver will discard any horizontal scroll events from libinput. Note that this does not disable horizontal scrolling, it merely discards the horizontal axis from any scroll events. </del> <ins> Enables or disables horizontal scrolling. When disabled, this driver will discard any horizontal scroll events from libinput. This does not disable horizontal scroll events from libinput; it merely discards the horizontal axis from any scroll events. </ins> ''; };
"password sufficient ${pkgs.sssd}/lib/security/pam_sss.so use_authtok"} ${optionalString config.krb5.enable "password sufficient ${pam_krb5}/lib/security/pam_krb5.so use_first_pass"} <del> ${optionalString config.services.samba.syncPasswordsByPam "password optional ${pkgs.samba}/lib/security/pam_smbpass.so nullok use_authtok try_first_pass"} </del> ${optionalString cfg.enableGnomeKeyring "password optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so use_authtok"}
''; }; <del> syncPasswordsByPam = mkOption { type = types.bool; default = false; description = '' Enabling this will add a line directly after pam_unix.so. Whenever a password is changed the samba password will be updated as well. However, you still have to add the samba password once, using smbpasswd -a user. If you don't want to maintain an extra password database, you still can send plain text passwords which is not secure. ''; }; </del> invalidUsers = mkOption { type = types.listOf types.str; default = [ "root" ];
# `contents = {object = ...; symlink = /init;}' is a typical # argument. <del> { stdenv, perl, cpio, contents, compressor, prepend, ubootTools </del> <ins> { stdenv, perl, cpio, contents, ubootTools , name ? "initrd" , compressor ? "gzip -9n" , prepend ? [] </ins> }: stdenv.mkDerivation rec { <del> name = "initrd"; </del> <ins> inherit name; </ins> builder = ./make-initrd.sh; makeUInitrd = stdenv.hostPlatform.platform.kernelTarget == "uImage";
makeAutostartItem = callPackage ../build-support/make-startupitem { }; <del> makeInitrd = { contents, compressor ? "gzip -9n", prepend ? [ ] }: callPackage ../build-support/kernel/make-initrd.nix { inherit contents compressor prepend; }; </del> <ins> makeInitrd = callPackage ../build-support/kernel/make-initrd.nix; # Args intentionally left out </ins> makeWrapper = makeSetupHook { deps = [ dieHook ]; substitutions = { shell = pkgs.runtimeShell; }; } ../build-support/setup-hooks/make-wrapper.sh;
# /usr/bin/env gets special treatment so that ".../bin/env python" is # rewritten to /nix/store/<hash>/bin/python.  Interpreters that are # already in the store are left untouched. <ins> # A script file must be marked as executable, otherwise it will not be # considered. </ins> fixupOutputHooks+=(patchShebangsAuto) <del> # Run patch shebangs on a directory. # patchShebangs [--build | --host] directory </del> <ins> # Run patch shebangs on a directory or file. # Can take multiple paths as arguments. # patchShebangs [--build | --host] PATH... </ins> # Flags: # --build : Lookup commands available at build-time
# - options: something starting with a '-' # - environment variables: foo=bar if $(echo "$arg0" | grep -q -- "^-.*|.*=.*"); then <del> echo "$f: unsupported interpreter directive "$oldInterpreterLine" (set dontPatchShebangs=1 and handle shebang patching yourself)" </del> <ins> echo "$f: unsupported interpreter directive "$oldInterpreterLine" (set dontPatchShebangs=1 and handle shebang patching yourself)" >0 </ins> exit 1 fi
// lib.optionalAttrs (stdenv.hostPlatform != stdenv.buildPlatform) { preInstall = null; # clobber the native hook <del> dontStrip = true; separateDebugInfo = false; # this is currently broken for crossDrv </del> # To avoid a dependency on the build system 'bash'. preFixup = '' rm -f $bin/bin/{ldd,tzselect,catchsegv,xtrace}
<ins> { lib, python3Packages, fetchpatch }: # Packaging documentation at: # https://github.com/pimutils/vdirsyncer/blob/0.16.7/docs/packaging.rst python3Packages.buildPythonApplication rec { version = "0.16.7"; pname = "vdirsyncer"; src = python3Packages.fetchPypi { inherit pname version; sha256 = "6c9bcfb9bcb01246c83ba6f8551cf54c58af3323210755485fc23bb7848512ef"; }; propagatedBuildInputs = with python3Packages; [ click click-log click-threading requests_toolbelt requests requests_oauthlib # required for google oauth sync atomicwrites ]; nativeBuildInputs = with python3Packages; [ setuptools_scm ]; checkInputs = with python3Packages; [ hypothesis pytest pytest-localserver pytest-subtesthack ]; patches = [ # Fixes for hypothesis: https://github.com/pimutils/vdirsyncer/pull/779 (fetchpatch { url = https://github.com/pimutils/vdirsyncer/commit/22ad88a6b18b0979c5d1f1d610c1d2f8f87f4b89.patch; sha256 = "0dbzj6jlxhdidnm3i21a758z83sdiwzhpd45pbkhycfhgmqmhjpl"; }) ]; postPatch = '' # Invalid argument: 'perform_health_check' is not a valid setting substituteInPlace tests/conftest.py  --replace "perform_health_check=False" "" substituteInPlace tests/unit/test_repair.py  --replace $'@settings(perform_health_check=False)  # Using the random module for UIDsn' "" ''; checkPhase = '' make DETERMINISTIC_TESTS=true test ''; meta = with lib; { homepage = https://github.com/pimutils/vdirsyncer; description = "Synchronize calendars and contacts"; license = licenses.mit; maintainers = with maintainers; [ loewenheim ]; }; } </ins>