Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2022-03-28 00:11:42 +00:00 committed by GitHub
commit f0839d8bcd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
250 changed files with 9112 additions and 7314 deletions

View File

@ -49,7 +49,7 @@ jobs:
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Comment on failure
uses: peter-evans/create-or-update-comment@v1
uses: peter-evans/create-or-update-comment@v2
if: ${{ failure() }}
with:
issue-number: 105153

View File

@ -43,7 +43,7 @@ jobs:
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Comment on failure
uses: peter-evans/create-or-update-comment@v1
uses: peter-evans/create-or-update-comment@v2
if: ${{ failure() }}
with:
issue-number: 105153

View File

@ -39,7 +39,7 @@ jobs:
title: ${{ steps.setup.outputs.title }}
token: ${{ secrets.GITHUB_TOKEN }}
- name: comment on failure
uses: peter-evans/create-or-update-comment@v1
uses: peter-evans/create-or-update-comment@v2
if: ${{ failure() }}
with:
issue-number: 153416

View File

@ -389,6 +389,11 @@ in mkLicense lset) ({
free = false;
};
generaluser = {
fullName = "GeneralUser GS License v2.0";
url = "http://www.schristiancollins.com/generaluser.php"; # license included in sources
};
gpl1Only = {
spdxId = "GPL-1.0-only";
fullName = "GNU General Public License v1.0 only";
@ -607,6 +612,11 @@ in mkLicense lset) ({
fullName = "Enlightenment License (e16)";
};
mit0 = {
spdxId = "MIT-0";
fullName = "MIT No Attribution";
};
mpl10 = {
spdxId = "MPL-1.0";
fullName = "Mozilla Public License 1.0";

View File

@ -9944,6 +9944,12 @@
fingerprint = "48AD DE10 F27B AFB4 7BB0 CCAF 2D25 95A0 0D08 ACE0";
}];
};
ppenguin = {
name = "Jeroen Versteeg";
email = "hieronymusv@gmail.com";
github = "ppenguin";
githubId = 17690377;
};
ppom = {
name = "Paco Pompeani";
email = "paco@ecomail.io";

View File

@ -28,6 +28,11 @@ def process_args() -> argparse.Namespace:
default=1,
help="operate on aliases older than $year-$month",
)
arg_parser.add_argument(
"--only-throws",
action="store_true",
help="only operate on throws. e.g remove throws older than $date",
)
arg_parser.add_argument("--file", required=True, type=Path, help="alias file")
arg_parser.add_argument(
"--dry-run", action="store_true", help="don't modify files, only print results"
@ -36,7 +41,7 @@ def process_args() -> argparse.Namespace:
def get_date_lists(
txt: list[str], cutoffdate: datetimedate
txt: list[str], cutoffdate: datetimedate, only_throws: bool
) -> tuple[list[str], list[str], list[str]]:
"""get a list of lines in which the date is older than $cutoffdate"""
date_older_list: list[str] = []
@ -57,7 +62,11 @@ def get_date_lists(
except ValueError:
continue
if my_date is None or my_date > cutoffdate or "preserve, reason:" in line.lower():
if (
my_date is None
or my_date > cutoffdate
or "preserve, reason:" in line.lower()
):
continue
if "=" not in line:
@ -67,7 +76,7 @@ def get_date_lists(
print(f"RESOLVE MANUALLY {line}")
elif "throw" in line:
date_older_throw_list.append(line)
else:
elif not only_throws:
date_older_list.append(line)
return (
@ -160,6 +169,7 @@ def main() -> None:
"""main"""
args = process_args()
only_throws = args.only_throws
aliasfile = Path(args.file).absolute()
cutoffdate = (datetime.strptime(f"{args.year}-{args.month}-01", "%Y-%m-%d")).date()
@ -170,13 +180,12 @@ def main() -> None:
date_older_throw_list: list[str] = []
date_older_list, date_sep_line_list, date_older_throw_list = get_date_lists(
txt, cutoffdate
txt, cutoffdate, only_throws
)
converted_to_throw: list[tuple[str, str]] = []
converted_to_throw = convert_to_throw(date_older_list)
if date_older_list:
converted_to_throw = convert_to_throw(date_older_list)
print(" Will be converted to throws. ".center(100, "-"))
for l_n in date_older_list:
print(l_n)

View File

@ -1610,6 +1610,12 @@
warning.
</para>
</listitem>
<listitem>
<para>
<literal>services.autorandr</literal> now allows for adding
hooks and profiles declaratively.
</para>
</listitem>
<listitem>
<para>
The <literal>pomerium-cli</literal> command has been moved out

View File

@ -569,6 +569,8 @@ In addition to numerous new and upgraded packages, this release has the followin
Reason is that the old name has been deprecated upstream.
Using the old option name will still work, but produce a warning.
- `services.autorandr` now allows for adding hooks and profiles declaratively.
- The `pomerium-cli` command has been moved out of the `pomerium` package into
the `pomerium-cli` package, following upstream's repository split. If you are
using the `pomerium-cli` command, you should now install the `pomerium-cli`

View File

@ -47,8 +47,8 @@ in
enable = mkOption {
type = types.bool;
default = false;
internal = true;
default = !(config.environment.etc ? "resolv.conf");
defaultText = literalExpression ''!(config.environment.etc ? "resolv.conf")'';
description = ''
DNS configuration is managed by resolvconf.
'';
@ -110,8 +110,6 @@ in
config = mkMerge [
{
networking.resolvconf.enable = !(config.environment.etc ? "resolv.conf");
environment.etc."resolvconf.conf".text =
if !cfg.enable then
# Force-stop any attempts to use resolvconf

View File

@ -153,7 +153,7 @@ in {
type = types.separatedString " ";
default = "-Xmx2048M -Xms2048M";
# Example options from https://minecraft.gamepedia.com/Tutorials/Server_startup_script
example = "-Xmx2048M -Xms4092M -XX:+UseG1GC -XX:+CMSIncrementalPacing "
example = "-Xms4092M -Xmx4092M -XX:+UseG1GC -XX:+CMSIncrementalPacing "
+ "-XX:+CMSClassUnloadingEnabled -XX:ParallelGCThreads=2 "
+ "-XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10";
description = "JVM options for the Minecraft server.";

View File

@ -5,6 +5,243 @@ with lib;
let
cfg = config.services.autorandr;
hookType = types.lines;
matrixOf = n: m: elemType:
mkOptionType rec {
name = "matrixOf";
description =
"${toString n}×${toString m} matrix of ${elemType.description}s";
check = xss:
let listOfSize = l: xs: isList xs && length xs == l;
in listOfSize n xss
&& all (xs: listOfSize m xs && all elemType.check xs) xss;
merge = mergeOneOption;
getSubOptions = prefix: elemType.getSubOptions (prefix ++ [ "*" "*" ]);
getSubModules = elemType.getSubModules;
substSubModules = mod: matrixOf n m (elemType.substSubModules mod);
functor = (defaultFunctor name) // { wrapped = elemType; };
};
profileModule = types.submodule {
options = {
fingerprint = mkOption {
type = types.attrsOf types.str;
description = ''
Output name to EDID mapping.
Use <code>autorandr --fingerprint</code> to get current setup values.
'';
default = { };
};
config = mkOption {
type = types.attrsOf configModule;
description = "Per output profile configuration.";
default = { };
};
hooks = mkOption {
type = hooksModule;
description = "Profile hook scripts.";
default = { };
};
};
};
configModule = types.submodule {
options = {
enable = mkOption {
type = types.bool;
description = "Whether to enable the output.";
default = true;
};
crtc = mkOption {
type = types.nullOr types.ints.unsigned;
description = "Output video display controller.";
default = null;
example = 0;
};
primary = mkOption {
type = types.bool;
description = "Whether output should be marked as primary";
default = false;
};
position = mkOption {
type = types.str;
description = "Output position";
default = "";
example = "5760x0";
};
mode = mkOption {
type = types.str;
description = "Output resolution.";
default = "";
example = "3840x2160";
};
rate = mkOption {
type = types.str;
description = "Output framerate.";
default = "";
example = "60.00";
};
gamma = mkOption {
type = types.str;
description = "Output gamma configuration.";
default = "";
example = "1.0:0.909:0.833";
};
rotate = mkOption {
type = types.nullOr (types.enum [ "normal" "left" "right" "inverted" ]);
description = "Output rotate configuration.";
default = null;
example = "left";
};
transform = mkOption {
type = types.nullOr (matrixOf 3 3 types.float);
default = null;
example = literalExpression ''
[
[ 0.6 0.0 0.0 ]
[ 0.0 0.6 0.0 ]
[ 0.0 0.0 1.0 ]
]
'';
description = ''
Refer to
<citerefentry>
<refentrytitle>xrandr</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
for the documentation of the transform matrix.
'';
};
dpi = mkOption {
type = types.nullOr types.ints.positive;
description = "Output DPI configuration.";
default = null;
example = 96;
};
scale = mkOption {
type = types.nullOr (types.submodule {
options = {
method = mkOption {
type = types.enum [ "factor" "pixel" ];
description = "Output scaling method.";
default = "factor";
example = "pixel";
};
x = mkOption {
type = types.either types.float types.ints.positive;
description = "Horizontal scaling factor/pixels.";
};
y = mkOption {
type = types.either types.float types.ints.positive;
description = "Vertical scaling factor/pixels.";
};
};
});
description = ''
Output scale configuration.
</para><para>
Either configure by pixels or a scaling factor. When using pixel method the
<citerefentry>
<refentrytitle>xrandr</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
option
<parameter class="command">--scale-from</parameter>
will be used; when using factor method the option
<parameter class="command">--scale</parameter>
will be used.
</para><para>
This option is a shortcut version of the transform option and they are mutually
exclusive.
'';
default = null;
example = literalExpression ''
{
x = 1.25;
y = 1.25;
}
'';
};
};
};
hooksModule = types.submodule {
options = {
postswitch = mkOption {
type = types.attrsOf hookType;
description = "Postswitch hook executed after mode switch.";
default = { };
};
preswitch = mkOption {
type = types.attrsOf hookType;
description = "Preswitch hook executed before mode switch.";
default = { };
};
predetect = mkOption {
type = types.attrsOf hookType;
description = ''
Predetect hook executed before autorandr attempts to run xrandr.
'';
default = { };
};
};
};
hookToFile = folder: name: hook:
nameValuePair "xdg/autorandr/${folder}/${name}" {
source = "${pkgs.writeShellScriptBin "hook" hook}/bin/hook";
};
profileToFiles = name: profile:
with profile;
mkMerge ([
{
"xdg/autorandr/${name}/setup".text = concatStringsSep "\n"
(mapAttrsToList fingerprintToString fingerprint);
"xdg/autorandr/${name}/config".text =
concatStringsSep "\n" (mapAttrsToList configToString profile.config);
}
(mapAttrs' (hookToFile "${name}/postswitch.d") hooks.postswitch)
(mapAttrs' (hookToFile "${name}/preswitch.d") hooks.preswitch)
(mapAttrs' (hookToFile "${name}/predetect.d") hooks.predetect)
]);
fingerprintToString = name: edid: "${name} ${edid}";
configToString = name: config:
if config.enable then
concatStringsSep "\n" ([ "output ${name}" ]
++ optional (config.position != "") "pos ${config.position}"
++ optional (config.crtc != null) "crtc ${toString config.crtc}"
++ optional config.primary "primary"
++ optional (config.dpi != null) "dpi ${toString config.dpi}"
++ optional (config.gamma != "") "gamma ${config.gamma}"
++ optional (config.mode != "") "mode ${config.mode}"
++ optional (config.rate != "") "rate ${config.rate}"
++ optional (config.rotate != null) "rotate ${config.rotate}"
++ optional (config.transform != null) ("transform "
+ concatMapStringsSep "," toString (flatten config.transform))
++ optional (config.scale != null)
((if config.scale.method == "factor" then "scale" else "scale-from")
+ " ${toString config.scale.x}x${toString config.scale.y}"))
else ''
output ${name}
off
'';
in {
@ -22,6 +259,67 @@ in {
for further reference.
'';
};
hooks = mkOption {
type = hooksModule;
description = "Global hook scripts";
default = { };
example = ''
{
postswitch = {
"notify-i3" = "''${pkgs.i3}/bin/i3-msg restart";
"change-background" = readFile ./change-background.sh;
"change-dpi" = '''
case "$AUTORANDR_CURRENT_PROFILE" in
default)
DPI=120
;;
home)
DPI=192
;;
work)
DPI=144
;;
*)
echo "Unknown profle: $AUTORANDR_CURRENT_PROFILE"
exit 1
esac
echo "Xft.dpi: $DPI" | ''${pkgs.xorg.xrdb}/bin/xrdb -merge
'''
};
}
'';
};
profiles = mkOption {
type = types.attrsOf profileModule;
description = "Autorandr profiles specification.";
default = { };
example = literalExpression ''
{
"work" = {
fingerprint = {
eDP1 = "<EDID>";
DP1 = "<EDID>";
};
config = {
eDP1.enable = false;
DP1 = {
enable = true;
crtc = 0;
primary = true;
position = "0x0";
mode = "3840x2160";
gamma = "1.0:0.909:0.833";
rate = "60.00";
rotate = "left";
};
};
hooks.postswitch = readFile ./work-postswitch.sh;
};
}
'';
};
};
};
@ -30,7 +328,15 @@ in {
services.udev.packages = [ pkgs.autorandr ];
environment.systemPackages = [ pkgs.autorandr ];
environment = {
systemPackages = [ pkgs.autorandr ];
etc = mkMerge ([
(mapAttrs' (hookToFile "postswitch.d") cfg.hooks.postswitch)
(mapAttrs' (hookToFile "preswitch.d") cfg.hooks.preswitch)
(mapAttrs' (hookToFile "predetect.d") cfg.hooks.predetect)
(mkMerge (mapAttrsToList profileToFiles cfg.profiles))
]);
};
systemd.services.autorandr = {
wantedBy = [ "sleep.target" ];
@ -49,5 +355,5 @@ in {
};
meta.maintainers = with maintainers; [ ];
meta.maintainers = with maintainers; [ alexnortung ];
}

View File

@ -472,6 +472,7 @@ in
seafile = handleTest ./seafile.nix {};
searx = handleTest ./searx.nix {};
service-runner = handleTest ./service-runner.nix {};
sfxr-qt = handleTest ./sfxr-qt.nix {};
shadow = handleTest ./shadow.nix {};
shadowsocks = handleTest ./shadowsocks {};
shattered-pixel-dungeon = handleTest ./shattered-pixel-dungeon.nix {};

View File

@ -24,6 +24,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
services.xserver.desktopManager.gnome.enable = true;
services.xserver.desktopManager.gnome.debug = true;
services.xserver.displayManager.defaultSession = "gnome-xorg";
programs.gnome-terminal.enable = true;
systemd.user.services = {
"org.gnome.Shell@x11" = {

View File

@ -22,6 +22,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
services.xserver.desktopManager.gnome.enable = true;
services.xserver.desktopManager.gnome.debug = true;
programs.gnome-terminal.enable = true;
environment.systemPackages = [
(pkgs.makeAutostartItem {

32
nixos/tests/sfxr-qt.nix Normal file
View File

@ -0,0 +1,32 @@
import ./make-test-python.nix ({ pkgs, ... }: {
name = "sfxr-qt";
meta = with pkgs.lib.maintainers; {
maintainers = [ fgaz ];
};
machine = { config, pkgs, ... }: {
imports = [
./common/x11.nix
];
services.xserver.enable = true;
sound.enable = true;
environment.systemPackages = [ pkgs.sfxr-qt ];
};
enableOCR = true;
testScript =
''
machine.wait_for_x()
# Add a dummy sound card, or the program won't start
machine.execute("modprobe snd-dummy")
machine.execute("sfxr-qt >&2 &")
machine.wait_for_window(r"sfxr")
machine.sleep(10)
machine.wait_for_text("requency")
machine.screenshot("screen")
'';
})

View File

@ -1,18 +1,24 @@
{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, curl, libnotify, gdk-pixbuf }:
{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, curl, libnotify
, gdk-pixbuf, libnotifySupport ? stdenv.isLinux, debug ? false }:
stdenv.mkDerivation rec {
pname = "cmusfm";
version = "0.4.1";
stdenv.mkDerivation {
version = "2021-05-19";
pname = "cmusfm-unstable";
src = fetchFromGitHub {
owner = "Arkq";
repo = "cmusfm";
rev = "a1f9f37c5819ca8a5b48e6185c2ec7ad478b9f1a";
sha256 = "19akgvh9gl99xvpmzgqv88w2mnnln7k6290dr5rn3h6a1ihvllaw";
repo = pname;
rev = "v${version}";
sha256 = "1px2is80jdxchg8cpn5cizg6jvcbzyxl0qzs3bn0k3d10qjvdww5";
};
# building
configureFlags = [ "--enable-libnotify" ];
configureFlags = lib.optional libnotifySupport "--enable-libnotify"
++ lib.optional debug "--enable-debug";
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [ curl libnotify gdk-pixbuf ];
buildInputs = [ curl gdk-pixbuf ]
++ lib.optional libnotifySupport libnotify;
meta = with lib; {
description = "Last.fm and Libre.fm standalone scrobbler for the cmus music player";

View File

@ -1,24 +1,46 @@
{ lib, stdenv, alsa-lib, boost, dbus-glib, fetchsvn, ganv, glibmm
, gtkmm2, libjack2, pkg-config, python2, wafHook
{ lib
, stdenv
, fetchFromGitLab
, alsa-lib
, boost
, dbus-glib
, ganv
, glibmm
, gtkmm2
, libjack2
, pkg-config
, python3
, wafHook
}:
stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "patchage";
version = "1.0.1";
src = fetchsvn {
url = "http://svn.drobilla.net/lad/trunk/patchage/";
rev = "5821";
sha256 = "1ar64l0sg468qzxj7i6ppgfqjpm92awcp5lzskamrf3ln17lrgj7";
version = "1.0.4";
src = fetchFromGitLab {
owner = "drobilla";
repo = pname;
rev = "v${version}";
hash = "sha256-feQXACsn2i2pJXs0EA9tIbtpl9Lxx5K4G7eG5VWuDV0=";
fetchSubmodules = true;
};
buildInputs = [
alsa-lib boost dbus-glib ganv glibmm gtkmm2 libjack2
pkg-config python2 wafHook
alsa-lib
boost
dbus-glib
ganv
glibmm
gtkmm2
libjack2
pkg-config
python3
wafHook
];
meta = {
description = "Modular patch bay for Jack and ALSA systems";
homepage = "http://non.tuxfamily.org";
homepage = "https://drobilla.net/software/patchage.html";
license = lib.licenses.lgpl3;
platforms = lib.platforms.linux;
maintainers = [ lib.maintainers.nico202 ];

View File

@ -10,6 +10,7 @@
, libnotify
, libdmapsharing
, gnome
, gobject-introspection
, totem-pl-parser
, tdb
, json-glib
@ -65,6 +66,9 @@ in stdenv.mkDerivation rec {
totem-pl-parser
gnome.adwaita-icon-theme
gobject-introspection
python3.pkgs.pygobject3
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
@ -83,6 +87,12 @@ in stdenv.mkDerivation rec {
"--with-libsecret"
];
preFixup = ''
gappsWrapperArgs+=(
--prefix PYTHONPATH : "${python3.pkgs.pygobject3}/${python3.sitePackages}:$out/lib/rhythmbox/plugins/"
)
'';
enableParallelBuilding = true;
passthru = {

View File

@ -1,26 +1,36 @@
{ lib
, mkDerivation
, fetchFromGitHub
, fetchpatch
, cmake
, extra-cmake-modules
, qtbase
, qtquickcontrols2
, SDL
, python3
, callPackage
, nixosTests
}:
mkDerivation rec {
pname = "sfxr-qt";
version = "1.4.0";
version = "1.5.0";
src = fetchFromGitHub {
owner = "agateau";
repo = "sfxr-qt";
rev = version;
sha256 = "sha256-Mn+wcwu70BwsTLFlc12sOOe6U1AJ8hR7bCIPlPnCooE=";
sha256 = "sha256-Ce5NJe1f+C4pPmtenHYvtkxste+nPuxJoB+N7K2nyRo=";
fetchSubmodules = true;
};
# Remove on next release
patches = [(fetchpatch {
name = "sfxr-qr-missing-qpainterpath-include";
url = "https://github.com/agateau/sfxr-qt/commit/ef051f473654052112b647df987eb263e38faf47.patch";
sha256 = "sha256-bqMnxHUzdS5oG/2hfr5MvkpwrtZW+GTN5fS2WpV2W2c=";
})];
nativeBuildInputs = [
cmake
extra-cmake-modules
@ -33,6 +43,11 @@ mkDerivation rec {
SDL
];
passthru.tests = {
export-square-wave = callPackage ./test-export-square-wave {};
sfxr-qt-starts = nixosTests.sfxr-qt;
};
meta = with lib; {
homepage = "https://github.com/agateau/sfxr-qt";
description = "A sound effect generator, QtQuick port of sfxr";

View File

@ -0,0 +1,6 @@
{ runCommand, sfxr-qt }:
runCommand "sfxr-qt-test-export-square-wave" ''
mkdir $out
${sfxr-qt}/bin/sfxr-qt --export --output $out/output.wav ${./input.sfxj}
''

View File

@ -0,0 +1,29 @@
{
"properties": {
"attackTime": 0,
"baseFrequency": 1,
"changeAmount": 0,
"changeSpeed": 0,
"decayTime": 1,
"deltaSlide": 0,
"dutySweep": 0,
"hpFilterCutoff": 0,
"hpFilterCutoffSweep": 0,
"lpFilterCutoff": 1,
"lpFilterCutoffSweep": 0,
"lpFilterResonance": 0,
"minFrequency": 0,
"phaserOffset": 0,
"phaserSweep": 0,
"repeatSpeed": 0,
"slide": 0,
"squareDuty": 0,
"sustainPunch": 0,
"sustainTime": 1,
"vibratoDepth": 0,
"vibratoSpeed": 0,
"volume": 1,
"waveForm": "Square"
},
"version": 1
}

View File

@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitLab
, fetchpatch
, rustPlatform
, substituteAll
, desktop-file-utils
@ -40,6 +41,13 @@ stdenv.mkDerivation rec {
src = ./borg-path.patch;
borg = "${borgbackup}/bin/borg";
})
# Fix build with meson 0.61, can be removed on next release.
# https://gitlab.gnome.org/World/pika-backup/-/issues/156
# https://github.com/mesonbuild/meson/issues/9441
(fetchpatch {
url = "https://gitlab.gnome.org/World/pika-backup/-/commit/54be149c88fd69fb9e74b7362fe7182863237869.patch";
sha256 = "sha256-Tffxo5hlf/gSkp1GfyL4eHthX49tuTq6B+S53N8oA2M=";
})
];
postPatch = ''
@ -73,5 +81,6 @@ stdenv.mkDerivation rec {
changelog = "https://gitlab.gnome.org/World/pika-backup/-/blob/v${version}/CHANGELOG.md";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ dotlambda ];
platforms = platforms.linux;
};
}

View File

@ -13,14 +13,14 @@ let
in stdenv.mkDerivation rec {
pname = "apostrophe";
version = "2.5";
version = "2.6.1";
src = fetchFromGitLab {
owner = "World";
repo = pname;
domain = "gitlab.gnome.org";
rev = "v${version}";
sha256 = "06yfiflmj3ip7ppcz41nb3xpgb5ggw5h74w0v87yaqqkq7qh31lp";
sha256 = "awaXXSUiEIzOAj9Zw8K961HuIKsLFi3QKETUTTIaTjk=";
};
nativeBuildInputs = [ meson ninja pkg-config desktop-file-utils

View File

@ -429,10 +429,10 @@
elpaBuild {
pname = "buffer-env";
ename = "buffer-env";
version = "0.2";
version = "0.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/buffer-env-0.2.tar";
sha256 = "1420qln8ww43d6gs70cnxab6lf10dhmk5yk29pwsvjk86afhwhwf";
url = "https://elpa.gnu.org/packages/buffer-env-0.3.tar";
sha256 = "0h92pia258fndihnwmnak10ix00dmfanadnsnzbdah3q64416qhz";
};
packageRequires = [ emacs ];
meta = {
@ -1206,10 +1206,10 @@
elpaBuild {
pname = "ebdb";
ename = "ebdb";
version = "0.8.12";
version = "0.8.14";
src = fetchurl {
url = "https://elpa.gnu.org/packages/ebdb-0.8.12.tar";
sha256 = "1k53crdmaw6lzvprsmpdfvg96ck54bzs4z1d4q9x890anglxq5m6";
url = "https://elpa.gnu.org/packages/ebdb-0.8.14.tar";
sha256 = "0h7yva7p4b4lapi7pwcibf75nqmazjf3r67ibnkc8l9salfhml25";
};
packageRequires = [ emacs seq ];
meta = {
@ -1266,10 +1266,10 @@
elpaBuild {
pname = "eev";
ename = "eev";
version = "20220316";
version = "20220324";
src = fetchurl {
url = "https://elpa.gnu.org/packages/eev-20220316.tar";
sha256 = "1ax487ca2rsq6ck2g0694fq3z7a89dy4pcns15wd7ygkf3a4sykf";
url = "https://elpa.gnu.org/packages/eev-20220324.tar";
sha256 = "0x1fhjj7g96xmp8pnj3k23xi61nfzaj04bzx050qjc1dvdg8gpfa";
};
packageRequires = [ emacs ];
meta = {
@ -1324,10 +1324,10 @@
elpaBuild {
pname = "eldoc";
ename = "eldoc";
version = "1.11.0";
version = "1.11.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/eldoc-1.11.0.el";
sha256 = "1py9l1vl7s90y5kfpglhy11jswam2gcrqap09h6wb5ldnyb8cgq2";
url = "https://elpa.gnu.org/packages/eldoc-1.11.1.tar";
sha256 = "065clc07nrgp56cgynqhq3fmnwd64ccg2jxzikzb0f2zkn10vc90";
};
packageRequires = [ emacs ];
meta = {
@ -2073,10 +2073,10 @@
elpaBuild {
pname = "isearch-mb";
ename = "isearch-mb";
version = "0.4";
version = "0.5";
src = fetchurl {
url = "https://elpa.gnu.org/packages/isearch-mb-0.4.tar";
sha256 = "11q9sdi6l795hspi7hr621bbra66pxsgrkry95k7wxjkmibcbsxr";
url = "https://elpa.gnu.org/packages/isearch-mb-0.5.tar";
sha256 = "0fah8dmh9jv05i93ccn9dvl7qmfy32vwxqdzkf1v8gr1plsyjyx7";
};
packageRequires = [ emacs ];
meta = {
@ -3295,10 +3295,10 @@
elpaBuild {
pname = "phps-mode";
ename = "phps-mode";
version = "0.4.19";
version = "0.4.20";
src = fetchurl {
url = "https://elpa.gnu.org/packages/phps-mode-0.4.19.tar";
sha256 = "1l9ivg6x084r235jpd90diaa4v29r1kyfsblzsb8blskb9ka5b56";
url = "https://elpa.gnu.org/packages/phps-mode-0.4.20.tar";
sha256 = "0xb4i3s6yira1kfqwrs72ajvpqc6pw7gqlxmfmdhyyvib6p93l6m";
};
packageRequires = [ emacs ];
meta = {
@ -3396,6 +3396,21 @@
license = lib.licenses.free;
};
}) {};
pulsar = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "pulsar";
ename = "pulsar";
version = "0.2.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/pulsar-0.2.0.tar";
sha256 = "0vil6gv7w6d77hksc2pbrwjdd8dp3ka4kf5kihx04r95032pky62";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/pulsar.html";
license = lib.licenses.free;
};
}) {};
pyim = callPackage ({ async, elpaBuild, emacs, fetchurl, lib, xr }:
elpaBuild {
pname = "pyim";
@ -3725,10 +3740,10 @@
elpaBuild {
pname = "repology";
ename = "repology";
version = "1.2.2";
version = "1.2.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/repology-1.2.2.tar";
sha256 = "0ggb0zgz24hs5andhyrlpqm0gda0gf1wynzkarj4z7gpk5p9wrpr";
url = "https://elpa.gnu.org/packages/repology-1.2.3.tar";
sha256 = "1ngx23b7dilyps20nznrrn867kbxyn6nryf4p1sy5m576hkw18kn";
};
packageRequires = [ emacs ];
meta = {
@ -4700,10 +4715,10 @@
elpaBuild {
pname = "vertico-posframe";
ename = "vertico-posframe";
version = "0.5.2";
version = "0.5.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/vertico-posframe-0.5.2.tar";
sha256 = "0gzvm0la706kg3aqgrd6crz6353sp47dnpxdj9l2avb31avyqmv9";
url = "https://elpa.gnu.org/packages/vertico-posframe-0.5.3.tar";
sha256 = "12jcb4im1ys2s0wbv9nfmgpcrz037zagd677qjm8hz8fn29xdh6n";
};
packageRequires = [ emacs posframe vertico ];
meta = {

View File

@ -2,10 +2,11 @@
# Updating
To update the list of packages from MELPA,
To update the list of packages from ELPA,
1. Run `./update-elpa`.
2. Check for evaluation errors:
# "../../../../../" points to the default.nix from root of Nixpkgs tree
env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate ../../../../../ -A emacs.pkgs.elpaPackages
3. Run `git commit -m "elpa-packages $(date -Idate)" -- elpa-generated.nix`

View File

@ -6,6 +6,7 @@ To update the list of packages from MELPA,
1. Run `./update-melpa`
2. Check for evaluation errors:
# "../../../../../" points to the default.nix from root of Nixpkgs tree
env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../../ -A emacs.pkgs.melpaStablePackages
env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../../ -A emacs.pkgs.melpaPackages
3. Run `git commit -m "melpa-packages $(date -Idate)" recipes-archive-melpa.json`

View File

@ -712,10 +712,10 @@
elpaBuild {
pname = "geiser";
ename = "geiser";
version = "0.23";
version = "0.23.2";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/geiser-0.23.tar";
sha256 = "1g82jaldq4rxiyhnzyqf82scys1545djc3y2nn9ih292g8rwqqms";
url = "https://elpa.nongnu.org/nongnu/geiser-0.23.2.tar";
sha256 = "1rdz13rjfp8j2ik3vbw1jvacjri3abghlq6aqfvkd7vwm21h30ih";
};
packageRequires = [ emacs project transient ];
meta = {
@ -802,10 +802,10 @@
elpaBuild {
pname = "geiser-guile";
ename = "geiser-guile";
version = "0.23";
version = "0.23.2";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/geiser-guile-0.23.tar";
sha256 = "0fxn15kpljkdj1vvrv51232km49z2sbr6q9ghpvqwkgi0z9khxz6";
url = "https://elpa.nongnu.org/nongnu/geiser-guile-0.23.2.tar";
sha256 = "1z2khagg425y5cfja694zxrj3lyw3awsmqd86b2hpqhrylrb8jaa";
};
packageRequires = [ emacs geiser ];
meta = {
@ -1063,10 +1063,10 @@
elpaBuild {
pname = "helm";
ename = "helm";
version = "3.8.4";
version = "3.8.5";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/helm-3.8.4.tar";
sha256 = "0yc7ijap3g68w7npgwymzlp5bcawk3lhnp0004m03zfdbxhmkq0z";
url = "https://elpa.nongnu.org/nongnu/helm-3.8.5.tar";
sha256 = "1h71qcik375zhkk4rgcxj6ffnzpns2lvzwq82yfhmmhzrrxhds0z";
};
packageRequires = [ helm-core popup ];
meta = {
@ -1078,10 +1078,10 @@
elpaBuild {
pname = "helm-core";
ename = "helm-core";
version = "3.8.4";
version = "3.8.5";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/helm-core-3.8.4.tar";
sha256 = "0a1liapy345nlqjgxbzad0mkdbs4g6619cqplwiyh89x0lm0jprx";
url = "https://elpa.nongnu.org/nongnu/helm-core-3.8.5.tar";
sha256 = "0117y2gazm8h5fxj23166a53w4r68r1mscgardk0y6xd6lz73yz9";
};
packageRequires = [ async emacs ];
meta = {

View File

@ -6,7 +6,8 @@ To update the list of packages from nongnu (ELPA),
1. Run `./update-nongnu`.
2. Check for evaluation errors:
env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate ../../../../.. -A emacs.pkgs.nongnuPackages
# "../../../../../" points to the default.nix from root of Nixpkgs tree
env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate ../../../../../ -A emacs.pkgs.nongnuPackages
3. Run `git commit -m "nongnu-packages $(date -Idate)" -- nongnu-generated.nix`
*/

View File

@ -2,21 +2,29 @@
trivialBuild {
pname = "plz";
version = "unstable-2021-08-22";
version = "0.pre+date=2021-08-22";
src = fetchFromGitHub {
owner = "alphapapa";
repo = "plz.el";
rev = "7e456638a651bab3a814e3ea81742dd917509cbb";
sha256 = "sha256-8kn9ax1AVF6f9iCTqvVeJZihs03pYAhLjUDooG/ubxY=";
hash = "sha256-8kn9ax1AVF6f9iCTqvVeJZihs03pYAhLjUDooG/ubxY=";
};
postPatch = ''
substituteInPlace ./plz.el --replace 'plz-curl-program "curl"' 'plz-curl-program "${curl}/bin/curl"'
substituteInPlace ./plz.el \
--replace 'plz-curl-program "curl"' 'plz-curl-program "${curl}/bin/curl"'
'';
meta = {
description = "plz is an HTTP library for Emacs";
description = "An HTTP library for Emacs";
longDescription = ''
plz is an HTTP library for Emacs. It uses curl as a backend, which avoids
some of the issues with using Emacss built-in url library. It supports
both synchronous and asynchronous requests. Its API is intended to be
simple, natural, and expressive. Its code is intended to be simple and
well-organized. Every feature is tested against httpbin.org.
'';
license = lib.licenses.gpl3Only;
platforms = lib.platforms.all;
};

View File

@ -8,22 +8,22 @@
, autoPatchelfHook
, gsettings-desktop-schemas
, gtk3
, wrapGAppsHook
, makeWrapper
}:
stdenv.mkDerivation rec {
pname = "pinegrow";
version = "6.4";
version = "6.5";
src = fetchurl {
url = "https://download.pinegrow.com/PinegrowLinux64.${version}.zip";
sha256 = "0i8sg4criimrqmz0g68b8xcwcrb362ssid5jazswpa6hhwj6s5n4";
sha256 = "1l7cf5jgidpykaf68mzf92kywl1vxwl3fg43ibgr2rg4cnl1g82b";
};
nativeBuildInputs = [
unzip
autoPatchelfHook
wrapGAppsHook
makeWrapper
];
buildInputs = [
@ -34,6 +34,11 @@ stdenv.mkDerivation rec {
gtk3
];
wrapProgramFlags = [
"--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ gcc-unwrapped.lib gtk3 udev ]}"
"--prefix PATH : ${lib.makeBinPath [ stdenv.cc ]}"
];
sourceRoot = ".";
dontUnpack = true;
@ -57,7 +62,7 @@ stdenv.mkDerivation rec {
preFixup = ''
export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
wrapGApp "$out/opt/pinegrow/PinegrowLibrary" --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ udev ]}
wrapProgram "$out/opt/pinegrow/PinegrowLibrary" ''${wrapProgramFlags[@]}
'';
meta = with lib; {

View File

@ -2673,6 +2673,18 @@ final: prev:
meta.homepage = "https://github.com/phaazon/hop.nvim/";
};
hotpot-nvim = buildVimPluginFrom2Nix {
pname = "hotpot.nvim";
version = "2022-03-23";
src = fetchFromGitHub {
owner = "rktjmp";
repo = "hotpot.nvim";
rev = "72704e1914648774a4fb42f57ca411d689e08ae6";
sha256 = "1dh6i2asqrhxc1irnhr46drn8ksj7xq81m6ankvy1gj8bkc74dmp";
};
meta.homepage = "https://github.com/rktjmp/hotpot.nvim/";
};
i3config-vim = buildVimPluginFrom2Nix {
pname = "i3config.vim";
version = "2021-06-23";

View File

@ -693,6 +693,7 @@ rhysd/vim-operator-surround
RishabhRD/nvim-lsputils
RishabhRD/popfix
rktjmp/fwatch.nvim
rktjmp/hotpot.nvim
rktjmp/lush.nvim
rmagatti/auto-session
rmagatti/goto-preview

View File

@ -5,21 +5,22 @@ let
${stdenv.glibc}/lib/ld-linux${optionalString stdenv.is64bit "-x86-64"}.so.2 \
${file}
'';
system = stdenv.hostPlatform.system;
in
stdenv.mkDerivation rec {
pname = "brscan5";
version = "1.2.7-0";
version = "1.2.9-0";
src = {
"i686-linux" = fetchurl {
url = "https://download.brother.com/welcome/dlf104034/${pname}-${version}.i386.deb";
sha256 = "647d06f629c22408d25be7c0bf49a4b1c7280bf78a27aa2cde6c3e3fa8b6807a";
sha256 = "ac23c9a435818955e7882ab06380adf346203ff4e45f384b40e84b8b29642f07";
};
"x86_64-linux" = fetchurl {
url = "https://download.brother.com/welcome/dlf104033/${pname}-${version}.amd64.deb";
sha256 = "867bd88ab0d90f8e9391dc8127385095127e533cb6bd2d5d13449df602b165ae";
sha256 = "4ec23ff4b457323ae778e871a0f1abcc1848ea105af17850b57f7dcaddcfd96d";
};
}."${stdenv.hostPlatform.system}";
}."${system}" or (throw "Unsupported system: ${system}");
unpackPhase = ''
ar x $src
@ -30,21 +31,28 @@ stdenv.mkDerivation rec {
buildInputs = [ libusb1 avahi-compat stdenv.cc.cc glib ];
dontBuild = true;
postPatch = ''
${myPatchElf "opt/brother/scanner/brscan5/brsaneconfig5"}
${myPatchElf "opt/brother/scanner/brscan5/brscan_cnetconfig"}
${myPatchElf "opt/brother/scanner/brscan5/brscan_gnetconfig"}
postPatch =
let
patchOffsetBytes =
if system == "x86_64-linux" then 84632
else if system == "i686-linux" then 77396
else throw "Unsupported system: ${system}";
in
''
${myPatchElf "opt/brother/scanner/brscan5/brsaneconfig5"}
${myPatchElf "opt/brother/scanner/brscan5/brscan_cnetconfig"}
${myPatchElf "opt/brother/scanner/brscan5/brscan_gnetconfig"}
for a in opt/brother/scanner/brscan5/*.so.* opt/brother/scanner/brscan5/brscan_[cg]netconfig; do
if ! test -L $a; then
patchelf --set-rpath ${lib.makeLibraryPath buildInputs} $a
fi
done
for file in opt/brother/scanner/brscan5/*.so.* opt/brother/scanner/brscan5/brscan_[cg]netconfig; do
if ! test -L $file; then
patchelf --set-rpath ${lib.makeLibraryPath buildInputs} $file
fi
done
# driver is hardcoded to look in /opt/brother/scanner/brscan5/models for model metadata.
# patch it to look in /etc/opt/brother/scanner/models instead, so nixos environment.etc can make it available
printf '/etc/opt/brother/scanner/models\x00' | dd of=opt/brother/scanner/brscan5/libsane-brother5.so.1.0.7 bs=1 seek=84632 conv=notrunc
'';
# driver is hardcoded to look in /opt/brother/scanner/brscan5/models for model metadata.
# patch it to look in /etc/opt/brother/scanner/models instead, so nixos environment.etc can make it available
printf '/etc/opt/brother/scanner/models\x00' | dd of=opt/brother/scanner/brscan5/libsane-brother5.so.1.0.7 bs=1 seek=${toString patchOffsetBytes} conv=notrunc
'';
installPhase = with lib; ''
runHook preInstall

View File

@ -13,12 +13,12 @@
let font-droid = nerdfonts.override { fonts = [ "DroidSansMono" ]; };
in stdenv.mkDerivation rec {
pname = "koreader";
version = "2022.03";
version = "2022.03.1";
src = fetchurl {
url =
"https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-amd64.deb";
sha256 = "sha256-xR92sCeP7wcYukUGxoG9LQyk4k/qkmnxqmjY4Umt05I=";
sha256 = "sha256-ZoqITWPR60G4xY9InrtIY9rCWUk0PidGFZokHLWl5ps=";
};
sourceRoot = ".";

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "logseq";
version = "0.6.3";
version = "0.6.5";
src = fetchurl {
url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
sha256 = "o3tBHk7bauNczz6lPS3lV0mpYEaBa0lh/mAJKJM2eWU=";
sha256 = "WKROcCv0IzRnQd74j5Iget5jlfyDbeJ/PXgZmSNrSsQ=";
name = "${pname}-${version}.AppImage";
};

View File

@ -0,0 +1,91 @@
{ lib
, mkDerivation
, stdenv
, fetchFromGitHub
, cmake
, ninja
, pkg-config
, which
, python3
, rsync
, makeWrapper
, qtbase
, qtsvg
, libGLU
, libGL
, zlib
, icu
, freetype
}:
mkDerivation rec {
pname = "organicmaps";
version = "2022.03.23-4-android";
src = fetchFromGitHub {
owner = "organicmaps";
repo = "organicmaps";
rev = version;
sha256 = "sha256-4VBsHq8z/odD7Nrk9e0sYMEBBLeTAHsWsdgPIN1KVZo=";
fetchSubmodules = true;
};
postPatch = ''
# Disable certificate check. It's dependent on time
echo "exit 0" > tools/unix/check_cert.sh
# crude fix for https://github.com/organicmaps/organicmaps/issues/1862
echo "echo ${lib.replaceStrings ["." "-" "android"] ["" "" ""] version}" > tools/unix/version.sh
'';
nativeBuildInputs = [
cmake
ninja
pkg-config
which
python3
rsync
makeWrapper
];
# Most dependencies are vendored
buildInputs = [
qtbase
qtsvg
libGLU
libGL
zlib
icu
freetype
];
# Yes, this is PRE configure. The configure phase uses cmake
preConfigure = ''
bash ./configure.sh
'';
postInstall = ''
install -Dm755 OMaps $out/bin/OMaps
# Tell the program that the read-only and the read-write data locations
# are different, and create the read-write one.
wrapProgram $out/bin/OMaps \
--add-flags "-resources_path $out/share/organicmaps/data" \
--add-flags '-data_path "''${XDG_DATA_HOME:-''${HOME}/.local/share}/OMaps"' \
--run 'mkdir -p "''${XDG_DATA_HOME:-''${HOME}/.local/share}/OMaps"'
mkdir -p $out/share/organicmaps
cp -r ../data $out/share/organicmaps/data
install -Dm644 ../qt/res/logo.png $out/share/icons/hicolor/96x96/apps/organicmaps.png
install -Dm644 ../qt/res/OrganicMaps.desktop $out/share/applications/OrganicMaps.desktop
'';
meta = with lib; {
homepage = "https://organicmaps.app/";
description = "Detailed Offline Maps for Travellers, Tourists, Hikers and Cyclists";
license = licenses.asl20;
maintainers = with maintainers; [ fgaz ];
platforms = platforms.all;
mainProgram = "OMaps";
broken = stdenv.isDarwin; # "invalid application of 'sizeof' to a function type"
};
}

View File

@ -34,6 +34,12 @@ let
url = "https://github.com/swaywm/wlroots/commit/66593071bc90a1cccaeedc636eb6f33c973f5362.patch";
sha256 = "sha256-yKf/twdUzrII5IakH7AH6LGyPDo9Nl/gIB0pTThSTfY=";
})
# xdg-activation: Allow to submit tokens
(fetchpatch {
name = "allow-to-submit-tokens.patch";
url = "https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/4c59f7d46a949548caa55805b00922f846d58525.patch";
sha256 = "sha256-1kUIt6lV3HXN2BBBER8sjYVLTvgqELdSeFullJjNGo8=";
})
# xwayland: Allow to retrieve startup-id via _NET_STARTUP_INFO
(fetchpatch {
name = "allow-to-retrieve-startup-id-via-net-startup-info.patch";
@ -44,7 +50,7 @@ let
});
in stdenv.mkDerivation rec {
pname = "phoc";
version = "0.12.0";
version = "0.13.0";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
@ -52,7 +58,7 @@ in stdenv.mkDerivation rec {
owner = "Phosh";
repo = pname;
rev = "v${version}";
sha256 = "sha256-kfMM/YjgAktpOKHNcxxl1FPVbgATPDNRhEJ/sVT1LYs=";
sha256 = "sha256-65u59S6ntvkoQUO5BvkHZVcbj6cHIU4CgHWjzFo6s94=";
};
nativeBuildInputs = [

View File

@ -91,11 +91,11 @@ in
stdenv.mkDerivation rec {
pname = "brave";
version = "1.36.116";
version = "1.36.122";
src = fetchurl {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
sha256 = "whGV0VgCm6JSyrcFQTKbM35b/qLQdBmChTrYuyC+OlI=";
sha256 = "aBHoEu1egRPMpeUBgRl2V5J3op1Ju+CvprG14dIWc8M=";
};
dontConfigure = true;

View File

@ -23,7 +23,7 @@
, libusb1, re2
, ffmpeg, libxslt, libxml2
, nasm
, nspr, nss, systemd
, nspr, nss
, util-linux, alsa-lib
, bison, gperf, libkrb5
, glib, gtk3, dbus-glib
@ -47,6 +47,8 @@
, ungoogled ? false, ungoogled-chromium
# Optional dependencies:
, libgcrypt ? null # gnomeSupport || cupsSupport
, systemdSupport ? stdenv.isLinux
, systemd
}:
buildFun:
@ -139,7 +141,7 @@ let
libusb1 re2
ffmpeg libxslt libxml2
nasm
nspr nss systemd
nspr nss
util-linux alsa-lib
bison gperf libkrb5
glib gtk3 dbus-glib
@ -151,7 +153,8 @@ let
libdrm wayland mesa.drivers libxkbcommon
curl
libepoxy
] ++ optionals gnomeSupport [ gnome2.GConf libgcrypt ]
] ++ optional systemdSupport systemd
++ optionals gnomeSupport [ gnome2.GConf libgcrypt ]
++ optional gnomeKeyringSupport libgnome-keyring3
++ optionals cupsSupport [ libgcrypt cups ]
++ optional pulseSupport libpulseaudio;
@ -204,9 +207,10 @@ let
sed -i -e 's@"\(#!\)\?.*xdg-@"\1${xdg-utils}/bin/xdg-@' \
chrome/browser/shell_integration_linux.cc
'' + lib.optionalString systemdSupport ''
sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${lib.getLib systemd}/lib/\1!' \
device/udev_linux/udev?_loader.cc
'' + ''
sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \
gpu/config/gpu_info_collector_linux.cc

View File

@ -45,9 +45,9 @@
}
},
"ungoogled-chromium": {
"version": "99.0.4844.82",
"sha256": "0p6jqwal0yrvn8iylm2f3n07hkkaf8899iw9i3cvks0d870hpfxq",
"sha256bin64": "0zhhibz727qx2wg2pcazha3q9xwf1bcm1f9hgid7jq2pq7fq3hdr",
"version": "99.0.4844.84",
"sha256": "05bma8lsm5lad58mlfiv8bg0fw5k5mxh0v6g1ik7xp2bsd71iv10",
"sha256bin64": "0sdnsnp7hnpip91hwbz3hiw2727g0a3ydf55ldqv9bgik3vn1wln",
"deps": {
"gn": {
"version": "2022-01-10",
@ -56,8 +56,8 @@
"sha256": "1103lf38h7412949j6nrk48m2vv2rrxacn42sjg33lg88nyv7skv"
},
"ungoogled-patches": {
"rev": "99.0.4844.82-1",
"sha256": "1zj8834slli7ydslcwid15r7id4iw0d7ns42hkrj24zl9zh3d5q3"
"rev": "99.0.4844.84-1",
"sha256": "1j02zcam09mdw7wg30r1mx27b8bw0s9dvk4qjl6vrhp24rbmscs7"
}
}
}

View File

@ -50,11 +50,11 @@ let
in stdenv.mkDerivation rec {
pname = "opera";
version = "84.0.4316.31";
version = "84.0.4316.42";
src = fetchurl {
url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb";
sha256 = "sha256-ypSnarhtJNQn3yOtydjmf6WmHAYbOfMg3xatCxTfIMY=";
sha256 = "sha256-ZjVuw30YfHQ69BVxPvIde6VuOcqtnXrGwhZpA26vLpw=";
};
unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc .";

View File

@ -2,13 +2,13 @@
mkYarnPackage rec {
pname = "vieb";
version = "6.2.0";
version = "7.1.2";
src = fetchFromGitHub {
owner = "Jelmerro";
repo = pname;
rev = version;
sha256 = "sha256-FuaN9iUxR5Y6SnNmuegmNJXn1BYKgcobquTL3thuByM=";
sha256 = "sha256-4LGg3w/rleTyHJd4867dog+/fIXhtKbYgF1bYKwoh/I=";
};
packageJSON = ./package.json;

View File

@ -1,7 +1,7 @@
{
"name": "vieb",
"productName": "Vieb",
"version": "5.3.0",
"version": "7.1.2",
"description": "Vim Inspired Electron Browser",
"main": "app/index.js",
"scripts": {
@ -14,7 +14,7 @@
"fix": "eslint --fix app .eslintrc.js build.js",
"lint": "eslint app .eslintrc.js build.js",
"start": "electron app",
"test": "jest --testEnvironment jsdom --coverage --collectCoverageFrom 'app/**/*.js' -u && npm run lint && echo 'All good :)'"
"test": "TZ=UTC jest --testEnvironment jsdom --coverage --collectCoverageFrom 'app/**/*.js' -u && npm run lint && echo 'All good :)'"
},
"repository": "https://github.com/Jelmerro/Vieb",
"homepage": "https://vieb.dev",
@ -28,23 +28,18 @@
"email": "Jelmerro@users.noreply.github.com",
"license": "GPL-3.0-or-later",
"devDependencies": {
"archiver": "5.3.0",
"electron": "13.1.4",
"electron-builder": "22.11.7",
"eslint": "7.29.0",
"eslint-plugin-compat": "3.9.0",
"eslint-plugin-sort-keys-fix": "1.1.1",
"jest": "27.0.6",
"jest-environment-jsdom": "27.0.6"
"electron": "17.0.1",
"electron-builder": "22.14.13",
"eslint": "8.9.0",
"eslint-plugin-sort-keys": "2.3.5",
"jest": "27.5.1",
"jest-environment-jsdom": "27.5.1"
},
"dependencies": {
"7zip-bin": "5.1.1",
"@cliqz/adblocker-electron": "1.22.2",
"@cliqz/adblocker-electron-preload": "1.22.2",
"is-svg": "4.3.1",
"@cliqz/adblocker-electron": "1.23.6",
"@cliqz/adblocker-electron-preload": "1.23.6",
"is-svg": "4.3.2",
"rimraf": "3.0.2"
},
"browserslist": [
"last 2 Chrome versions"
]
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "cloudflared";
version = "2022.3.1";
version = "2022.3.4";
src = fetchFromGitHub {
owner = "cloudflare";
repo = "cloudflared";
rev = version;
hash = "sha256-iVg+AXSBO+caeYxUR41infCvsCTZkJTf7K0oZnOQmnY=";
hash = "sha256-W3XA3AOzuyHlFCps2ne4Fh2X+E48inJT4QrDJLOeD5M=";
};
vendorSha256 = null;

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "driftctl";
version = "0.24.0";
version = "0.25.0";
src = fetchFromGitHub {
owner = "snyk";
repo = "driftctl";
rev = "v${version}";
sha256 = "sha256-jKaJqmJMOz+2pWXTgVtnJbYbikdTfW8nWQJKWVxqv5I=";
sha256 = "sha256-opR1NkMGptZilSPVZ7yNjYBBjnOXxrqAFCYzQ1tNS78=";
};
vendorSha256 = "sha256-I0OCRhUvuaF4k5qqPaV6R24mrd9AG5GgQCCF6yodK0E=";

View File

@ -0,0 +1,32 @@
{ lib, buildGoModule, fetchFromGitHub, testVersion, ocm }:
buildGoModule rec {
pname = "ocm";
version = "0.1.62";
src = fetchFromGitHub {
owner = "openshift-online";
repo = "ocm-cli";
rev = "v${version}";
sha256 = "0kv0zcx6wdlyid37ygzg05xyyk77ybd2qcdgbswjv6crcjh1xdrd";
};
vendorSha256 = "sha256-nXUrbF9mcHy8G7c+ktQixBmmf6x066gpuaZ0eUsJQwc=";
# Tests expect the binary to be located in the root directory.
preCheck = ''
ln -s $GOPATH/bin/ocm ocm
'';
passthru.tests.version = testVersion {
package = ocm;
command = "ocm version";
};
meta = with lib; {
description = "CLI for the Red Hat OpenShift Cluster Manager";
license = licenses.asl20;
homepage = "https://github.com/openshift-online/ocm-cli";
maintainers = with maintainers; [ stehessel ];
};
}

View File

@ -0,0 +1,27 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "pluto";
version = "5.6.0";
src = fetchFromGitHub {
owner = "FairwindsOps";
repo = "pluto";
rev = "v${version}";
sha256 = "0nr8h8vg8ifgibgw80rs4mk63bj3qhmd37lfjc89iyml4g6p9mwr";
};
vendorSha256 = "08x5mzypg66s54apkd7hhj6bi5pgbch9if2dbr58ksd3arkji2pv";
ldflags = [
"-w" "-s"
"-X main.version=v${version}"
];
meta = with lib; {
homepage = "https://github.com/FairwindsOps/pluto";
description = "Find deprecated Kubernetes apiVersions";
license = licenses.asl20;
maintainers = with maintainers; [ peterromfeldhk ];
};
}

View File

@ -6,15 +6,19 @@
buildGoModule rec {
pname = "gmailctl";
version = "0.10.0";
# on an unstable version because of https://github.com/mbrt/gmailctl/issues/232
# and https://github.com/mbrt/gmailctl/commit/484bb689866987580e0576165180ef06375a543f
version = "unstable-2022-03-24";
src = fetchFromGitHub {
owner = "mbrt";
repo = "gmailctl";
rev = "v${version}";
sha256 = "sha256-JuE8+OW+qM6tir4A25tN2GTXQIkcKVE4uKbZNSTcNlA=";
rev = "484bb689866987580e0576165180ef06375a543f";
sha256 = "sha256-hIoS64QEDJ1qq3KJ2H8HjgQl8SxuIo+xz7Ot8CdjjQA=";
};
vendorSha256 = "sha256-KWM20a38jZ3/a45313kxY2LaCQyiNMEdfdIV78phrBo=";
nativeBuildInputs = [
installShellFiles
];
@ -26,8 +30,6 @@ buildGoModule rec {
--zsh <($out/bin/gmailctl completion zsh)
'';
vendorSha256 = "sha256-nAczO439tRiQU9f9LbJVENJiURVRnBAInwUp699RxOY=";
doCheck = false;
meta = with lib; {

View File

@ -1,38 +1,41 @@
{ lib
, copyDesktopItems
, electron
, electron_14
, esbuild
, fetchFromGitHub
, fetchpatch
, libdeltachat
, makeDesktopItem
, makeWrapper
, nodePackages
, nodejs-14_x
, noto-fonts-emoji
, pkg-config
, roboto
, rustPlatform
, sqlcipher
, stdenv
, CoreServices
}:
let
libdeltachat' = libdeltachat.overrideAttrs (old: rec {
version = "1.70.0";
version = "1.76.0";
src = fetchFromGitHub {
owner = "deltachat";
repo = "deltachat-core-rust";
rev = version;
hash = "sha256-702XhFWvFG+g++3X97sy6C5DMNWogv1Xbr8QPR8QyLo=";
hash = "sha256-aeYOszOFyLaC1xKswYZLzqoWSFFWOOeOkc+WrtqU0jo=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${old.pname}-${version}";
hash = "sha256-MiSGJMXe8vouv4XEHXq274FHEvBMtd7IX6DyNJIWYeU=";
hash = "sha256-sBFXcLXpAkX+HzRKrLKaHhi5ieS8Yc/Uf30WcXyWrok=";
};
});
electronExec = if stdenv.isDarwin then
"${electron}/Applications/Electron.app/Contents/MacOS/Electron"
"${electron_14}/Applications/Electron.app/Contents/MacOS/Electron"
else
"${electron}/bin/electron";
"${electron_14}/bin/electron";
esbuild' = esbuild.overrideAttrs (old: rec {
version = "0.12.29";
src = fetchFromGitHub {
@ -42,19 +45,18 @@ let
hash = "sha256-oU++9E3StUoyrMVRMZz8/1ntgPI62M1NoNz9sH/N5Bg=";
};
});
in nodePackages.deltachat-desktop.override rec {
in nodejs-14_x.pkgs.deltachat-desktop.override rec {
pname = "deltachat-desktop";
version = "1.26.0";
version = "1.28.0";
src = fetchFromGitHub {
owner = "deltachat";
repo = "deltachat-desktop";
rev = "v${version}";
hash = "sha256-IDyGV2+/+wHp5N4G10y5OHvw2yoyVxWx394xszIYoj4=";
hash = "sha256-Ur0UxaKEWp+y7lGz2Khsg4npOf+gjCiOoijkSbnp0hg=";
};
nativeBuildInputs = [
esbuild
makeWrapper
pkg-config
] ++ lib.optionals stdenv.isLinux [
@ -72,27 +74,29 @@ in nodePackages.deltachat-desktop.override rec {
USE_SYSTEM_LIBDELTACHAT = "true";
VERSION_INFO_GIT_REF = src.rev;
postInstall = let
keep = lib.concatMapStringsSep " " (file: "! -name ${file}") [
"_locales" "build" "html-dist" "images" "index.js"
"node_modules" "themes" "tsc-dist"
];
in ''
postInstall = ''
rm -r node_modules/deltachat-node/{deltachat-core-rust,prebuilds,src}
patchShebangs node_modules/sass/sass.js
npm run build
npm prune --production
find . -mindepth 1 -maxdepth 1 ${keep} -print0 | xargs -0 rm -r
awk '!/^#/ && NF' build/packageignore_list \
| xargs -I {} sh -c "rm -rf {}" || true
ln -sf ${noto-fonts-emoji}/share/fonts/noto/NotoColorEmoji.ttf \
$out/lib/node_modules/deltachat-desktop/html-dist/fonts/noto/emoji
for font in $out/lib/node_modules/deltachat-desktop/html-dist/fonts/Roboto-*.ttf; do
ln -sf ${roboto}/share/fonts/truetype/$(basename $font) \
$out/lib/node_modules/deltachat-desktop/html-dist/fonts
done
mkdir -p $out/share/icons/hicolor/scalable/apps
ln -s $out/lib/node_modules/deltachat-desktop/build/icon.png \
$out/share/icons/hicolor/scalable/apps/deltachat.png
makeWrapper ${electronExec} $out/bin/deltachat \
--set LD_PRELOAD ${sqlcipher}/lib/libsqlcipher${stdenv.hostPlatform.extensions.sharedLibrary} \
--add-flags $out/lib/node_modules/deltachat-desktop
'';

View File

@ -1,23 +1,24 @@
{
"name": "deltachat-desktop",
"version": "1.26.0",
"version": "1.28.0",
"dependencies": {
"@blueprintjs/core": "^3.22.3",
"@deltachat/message_parser_wasm": "^0.1.0",
"@deltachat/message_parser_wasm": "^0.3.0",
"@mapbox/geojson-extent": "^1.0.0",
"application-config": "^1.0.1",
"classnames": "^2.3.1",
"debounce": "^1.2.0",
"deltachat-node": "1.70.0",
"deltachat-node": "1.76.0",
"emoji-js-clean": "^4.0.0",
"emoji-mart": "^3.0.0",
"emoji-regex": "^9.2.2",
"error-stack-parser": "2.0.6",
"error-stack-parser": "^2.0.7",
"filesize": "^8.0.6",
"immutable": "^4.0.0",
"mapbox-gl": "^1.12.0",
"mime-types": "^2.1.31",
"moment": "^2.27.0",
"node-fetch": "^2.6.1",
"node-fetch": "^2.6.7",
"path-browserify": "^1.0.1",
"rc": "^1.2.8",
"react": "^17.0.2",
@ -28,9 +29,11 @@
"react-virtualized-auto-sizer": "^1.0.5",
"react-window": "^1.8.6",
"react-window-infinite-loader": "^1.0.7",
"react-zoom-pan-pinch": "^2.1.3",
"source-map-support": "^0.5.19",
"stackframe": "^1.2.1",
"tempy": "^0.3.0",
"url-parse": "^1.5.3",
"url-parse": "^1.5.9",
"use-debounce": "^3.3.0",
"@babel/core": "^7.7.7",
"@babel/preset-env": "^7.7.7",
@ -48,8 +51,8 @@
"@types/react-window": "^1.8.4",
"@types/react-window-infinite-loader": "^1.0.4",
"@types/url-parse": "^1.4.3",
"electron": "^13.1.6",
"esbuild": "^0.12.15",
"electron": "^14.2.6",
"esbuild": "^0.12.29",
"glob-watcher": "^5.0.5",
"sass": "^1.26.5",
"typescript": "^4.4.4",

View File

@ -29,7 +29,7 @@ tac default.nix \
src=$(nix-build "$nixpkgs" -A deltachat-desktop.src --no-out-link)
jq '{ name, version, dependencies: (.dependencies + (.devDependencies | del(.["@typescript-eslint/eslint-plugin","@typescript-eslint/parser","electron-builder","electron-devtools-installer","electron-notarize","eslint","eslint-config-prettier","eslint-plugin-react-hooks","hallmark","prettier","tape","testcafe","testcafe-browser-provider-electron","testcafe-react-selectors","walk"]))) }' \
jq '{ name, version, dependencies: (.dependencies + (.devDependencies | del(.["@types/chai","@types/mocha","@typescript-eslint/eslint-plugin","@typescript-eslint/parser","chai","electron-builder","electron-devtools-installer","electron-notarize","eslint","eslint-config-prettier","eslint-plugin-react-hooks","hallmark","mocha","prettier","testcafe","testcafe-browser-provider-electron","testcafe-react-selectors","ts-node","walk"]))) }' \
"$src/package.json" > package.json.new
if cmp --quiet package.json{.new,}; then

View File

@ -10,16 +10,16 @@
buildGoModule rec {
pname = "gotktrix";
version = "0.1.1";
version = "0.1.2";
src = fetchFromGitHub {
owner = "diamondburned";
repo = pname;
rev = "v${version}";
sha256 = "sha256-9feKg/rnkWdJRolHBQ5WT6Rl3xTFe82M8HyxJK3VuN4=";
sha256 = "sha256-K+q0sykdOMnAWypOXnwTU5oTokpYw61CTsAW1gIvGSQ=";
};
vendorSha256 = "sha256-eO/2MvWOVCeeCsiU2mSwgSEVlSbCXOp8qHyoG0lmk+Q=";
vendorSha256 = "sha256-Br9KgUoN01yoGujgbj5UEoB57K87oEH/o40rrRtIZVY=";
buildInputs = [
gtk4

View File

@ -13,7 +13,7 @@
stdenv.mkDerivation rec {
pname = "termius";
version = "7.34.1";
version = "7.36.1";
src = fetchurl {
# find the latest version with
@ -22,8 +22,8 @@ stdenv.mkDerivation rec {
# curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.download_url' -r
# and the sha512 with
# curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.download_sha512' -r
url = "https://api.snapcraft.io/api/v1/snaps/download/WkTBXwoX81rBe3s3OTt3EiiLKBx2QhuS_101.snap";
sha512 = "7fdd82535fd288277b01fedde4739dc97782236fbf25372efa56114bba676c21277ed96b32a1d46ac86af19925b14935818af50985d43a1307639530db044af4";
url = "https://api.snapcraft.io/api/v1/snaps/download/WkTBXwoX81rBe3s3OTt3EiiLKBx2QhuS_107.snap";
sha512 = "ef8514bdd0e6761a9bc7bf6b0b72d95c661905798c1507af932bd38a1e0c96713f71140b0d91454c3da5f3b97a0c8143b32918294eea2e46a7dca8faabda57e6";
};
desktopItem = makeDesktopItem {
@ -55,15 +55,7 @@ stdenv.mkDerivation rec {
runHook preInstall
cd squashfs-root
mkdir -p $out/opt/termius
cp -r \
icudtl.dat \
libffmpeg.so \
locales \
resources \
resources.pak \
termius-app \
v8_context_snapshot.bin \
$out/opt/termius
cp -r ./ $out/opt/termius
mkdir -p "$out/share/applications" "$out/share/pixmaps/termius-app.png"
cp "${desktopItem}/share/applications/"* "$out/share/applications"

View File

@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
license = licenses.lgpl21;
maintainers = with maintainers; [ mvs ];
platforms = platforms.unix;
broken = stdenv.isDarwin; # see https://github.com/NixOS/nixpkgs/issues/165422
};
}

View File

@ -0,0 +1,49 @@
{ stdenv
, lib
, cmake
, fetchFromGitHub
, pkg-config
, fftwFloat
, mbedtls
, boost
, lksctp-tools
, libconfig
, pcsclite
, uhd
, soapysdr
, libbladeRF
}:
stdenv.mkDerivation rec {
pname = "srsran";
version = "21.10";
src = fetchFromGitHub {
owner = "srsran";
repo = "srsran";
rev = "release_${builtins.replaceStrings ["."] ["_"] version}";
sha256 = "sha256-uJv8khevp7g2p4zT6bkrut67kvMu+fuL1VHDDit0viw=";
};
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [
fftwFloat
mbedtls
boost
libconfig
lksctp-tools
pcsclite
uhd
soapysdr
libbladeRF
];
meta = with lib; {
homepage = "https://www.srslte.com/";
description = "Open-source 4G and 5G software radio suite.";
license = licenses.agpl3;
platforms = with platforms; linux ;
maintainers = with maintainers; [ hexagonal-sun ];
};
}

View File

@ -3,45 +3,45 @@
{
"kicad" = {
kicadVersion = {
version = "6.0.2";
version = "6.0.4";
src = {
rev = "378541a8ebe8a691b61c8ed1b4012c71343acfbb";
sha256 = "1lcl25zkqkyj5rvw9rad3n7bklpg10kmhmhkyyrgg8ql7di6wa0f";
rev = "6f826c9f35a3dc9a104bb24a0a89a2e04b2d9721";
sha256 = "0lki59ws0ncqkp9wxrhyni1ck2sx5z07mmpkjg0d9jpkync9hx9y";
};
};
libVersion = {
version = "6.0.2";
version = "6.0.4";
libSources = {
symbols.rev = "80a176076a8f3785a4cd64e55ec87f27f6fcc163";
symbols.sha256 = "1f57wv5b95iqd64k8ab82fvxnh5q890v7bzclmn019gl6ikisxj5";
templates.rev = "c9a51b852eacc3e64639548032b50edd80ddb27c";
symbols.rev = "9d00fbb9373571e54d9f29985b21a03d862795a4";
symbols.sha256 = "12lyc187337bf2frl3jvwqdwwnd69f7l414k3kxhccs3sa2mcf1y";
templates.rev = "c4f4fe4b821e062a3ddd275f9313d5d81ff8f8d7";
templates.sha256 = "13h9ly6amiwm7zkwa2fd9730kh295ls8j95fszlfjp9rczv2yyzm";
footprints.rev = "c81b399054b0d3842094d7e8dfe08eb04310573a";
footprints.sha256 = "1xmnq2731v2afan1d08xb1qqgl5xd01v5jphi6cdmw28ri555cna";
packages3d.rev = "75175a21b720c59a26efce9a8c6dba3d032392a9";
packages3d.sha256 = "10zf8hp85ksi84cbiczsksn0ygvri4ffsa126v73nnkx6irw6nkk";
footprints.rev = "c48d3dfcfa6ce58ec11e10b7a74878bb69fae580";
footprints.sha256 = "0px2g9jansky0rvc0bdjylbmv8xwhc0q63g88hd2nzbknqli9f1y";
packages3d.rev = "b1de0b5c3edc16999602b809a05017da62ff52cc";
packages3d.sha256 = "0ms9py93qyihxrhh9wm2ziycmdn88m36r8adx22ynjnxixw1f9ja";
};
};
};
"kicad-unstable" = {
kicadVersion = {
version = "2022-01-13";
version = "2022-03-19";
src = {
rev = "33a4c9b08e040a17daefae9069fdf834063555b4";
sha256 = "1ma0i0vgvdsjrmlfzdi34byly7n1vsaynwp9f1hny4s1m53nirha";
rev = "58c146a7c00ee64ca07cacbcc594121f40aa2aeb";
sha256 = "0gcbl11pq0dgp590hdwsh5np7spixk5kgva0v8mx9rqd374z4bdm";
};
};
libVersion = {
version = "2022-01-13";
version = "2022-03-19";
libSources = {
symbols.rev = "e3b198d827817b79fb8a6df07f0cfc1cb9140edf";
symbols.sha256 = "1azjx1bmxaz8bniyw75lq60mc8hvay00jn9qdc2zp7isy3c9ibp0";
symbols.rev = "9b8d3163450172a7f368462c6d005841ad199144";
symbols.sha256 = "12lyc187337bf2frl3jvwqdwwnd69f7l414k3kxhccs3sa2mcf1y";
templates.rev = "a27d83f0a20f0be0c1ab04b139a0c518da51a5d4";
templates.sha256 = "13h9ly6amiwm7zkwa2fd9730kh295ls8j95fszlfjp9rczv2yyzm";
footprints.rev = "a939c691f1c515d6830e54cf035a420de3e5a92c";
footprints.sha256 = "13g6y1l95znz6ixc4dpqsxp3icrzs951xpabnzr5znw42577gm9j";
packages3d.rev = "196a26294d8e501b0e8b06c1df1abae0ebe23051";
packages3d.sha256 = "0ywlk00dfwv7hc494finmazdh3g1yx0ir7bvnd8zp6cq4ql0nwl4";
footprints.rev = "c871df2c81a894bc5e91d2d517b76884d5a918aa";
footprints.sha256 = "0px2g9jansky0rvc0bdjylbmv8xwhc0q63g88hd2nzbknqli9f1y";
packages3d.rev = "6ff98426fd51d53c55bc48025d66d3d0b0c5df92";
packages3d.sha256 = "0ms9py93qyihxrhh9wm2ziycmdn88m36r8adx22ynjnxixw1f9ja";
};
};
};

View File

@ -14,11 +14,11 @@
stdenv.mkDerivation rec {
pname = "ngspice";
version = "34";
version = "36";
src = fetchurl {
url = "mirror://sourceforge/ngspice/ngspice-${version}.tar.gz";
sha256 = "sha256-ImP//GaUdUlyr3By7wHP5irHkIANrWUbwpC/yueb17U=";
sha256 = "sha256-T4GCh++6JFNBBGY1t1eugfh5VJsyakMWtfbml6pRf4w=";
};
nativeBuildInputs = [ flex bison ];

View File

@ -1,5 +1,5 @@
{ stdenv
, lib
{ lib
, callPackage
, fetchFromGitHub
, fetchpatch
, cmake
@ -14,13 +14,37 @@
, sqlite
, gtest
, lit
# Build KLEE in debug mode. Defaults to false.
, debug ? false
# Include debug info in the build. Defaults to true.
, includeDebugInfo ? true
# Enable KLEE asserts. Defaults to true, since LLVM is built with them.
, asserts ? true
# Build the KLEE runtime in debug mode. Defaults to true, as this improves
# stack traces of the software under test.
, debugRuntime ? true
# Enable runtime asserts. Default false.
, runtimeAsserts ? false
# Extra klee-uclibc config.
, extraKleeuClibcConfig ? {}
}:
let
# Python used for KLEE tests.
kleePython = python3.withPackages (ps: with ps; [ tabulate ]);
# The klee-uclibc derivation.
kleeuClibc = callPackage ./klee-uclibc.nix {
inherit clang_9 llvmPackages_9 extraKleeuClibcConfig debugRuntime runtimeAsserts;
};
in
stdenv.mkDerivation rec {
clang_9.stdenv.mkDerivation rec {
pname = "klee";
version = "2.2";
src = fetchFromGitHub {
@ -30,11 +54,12 @@ stdenv.mkDerivation rec {
sha256 = "Ar3BKfADjJvvP0dI9+x/l3RDs8ncx4jmO7ol4MgOr4M=";
};
buildInputs = [
llvmPackages_9.llvm clang_9 z3 stp cryptominisat
llvmPackages_9.llvm
z3 stp cryptominisat
gperftools sqlite
];
nativeBuildInputs = [
cmake
cmake clang_9
];
checkInputs = [
gtest
@ -46,14 +71,17 @@ stdenv.mkDerivation rec {
];
cmakeFlags = let
buildType = if debug then "Debug" else "Release";
in
[
"-DCMAKE_BUILD_TYPE=${buildType}"
"-DKLEE_RUNTIME_BUILD_TYPE=${buildType}"
"-DENABLE_POSIX_RUNTIME=ON"
"-DENABLE_UNIT_TESTS=ON"
"-DENABLE_SYSTEM_TESTS=ON"
onOff = val: if val then "ON" else "OFF";
in [
"-DCMAKE_BUILD_TYPE=${if debug then "Debug" else if !debug && includeDebugInfo then "RelWithDebInfo" else "MinSizeRel"}"
"-DKLEE_RUNTIME_BUILD_TYPE=${if debugRuntime then "Debug" else "Release"}"
"-DKLEE_ENABLE_TIMESTAMP=${onOff false}"
"-DENABLE_KLEE_UCLIBC=${onOff true}"
"-DKLEE_UCLIBC_PATH=${kleeuClibc}"
"-DENABLE_KLEE_ASSERTS=${onOff asserts}"
"-DENABLE_POSIX_RUNTIME=${onOff true}"
"-DENABLE_UNIT_TESTS=${onOff true}"
"-DENABLE_SYSTEM_TESTS=${onOff true}"
"-DGTEST_SRC_DIR=${gtest.src}"
"-DGTEST_INCLUDE_DIR=${gtest.src}/googletest/include"
"-Wno-dev"
@ -66,21 +94,40 @@ stdenv.mkDerivation rec {
patchShebangs .
'';
/* This patch is currently necessary for the unit test suite to run correctly.
* See https://www.mail-archive.com/klee-dev@imperial.ac.uk/msg03136.html
* and https://github.com/klee/klee/pull/1458 for more information.
*/
patches = map fetchpatch [
/* This patch is currently necessary for the unit test suite to run correctly.
* See https://www.mail-archive.com/klee-dev@imperial.ac.uk/msg03136.html
* and https://github.com/klee/klee/pull/1458 for more information.
*/
{
name = "fix-gtest";
sha256 = "F+/6videwJZz4sDF9lnV4B8lMx6W11KFJ0Q8t1qUDf4=";
url = "https://github.com/klee/klee/pull/1458.patch";
}
# This patch fixes test compile issues with glibc 2.33+.
{
name = "fix-glibc-2.33";
sha256 = "PzxqtFyLy9KF1eA9AAKg1tu+ggRdvu7leuvXifayIcc=";
url = "https://github.com/klee/klee/pull/1385.patch";
}
# /etc/mtab doesn't exist in the Nix build sandbox.
{
name = "fix-etc-mtab-in-tests";
sha256 = "2Yb/rJA791esNNqq8uAXV+MML4YXIjPKkHBOufvyRoQ=";
url = "https://github.com/klee/klee/pull/1471.patch";
}
];
doCheck = true;
checkTarget = "check";
passthru = {
# Let the user depend on `klee.uclibc` for klee-uclibc
uclibc = kleeuClibc;
};
meta = with lib; {
description = "A symbolic virtual machine built on top of LLVM";
longDescription = ''

View File

@ -0,0 +1,98 @@
{ lib
, fetchurl
, fetchFromGitHub
, which
, linuxHeaders
, clang_9
, llvmPackages_9
, python3
, debugRuntime ? true
, runtimeAsserts ? false
, extraKleeuClibcConfig ? {}
}:
let
localeSrcBase = "uClibc-locale-030818.tgz";
localeSrc = fetchurl {
url = "http://www.uclibc.org/downloads/${localeSrcBase}";
sha256 = "xDYr4xijjxjZjcz0YtItlbq5LwVUi7k/ZSmP6a+uvVc=";
};
resolvedExtraKleeuClibcConfig = lib.mapAttrsToList (name: value: "${name}=${value}") (extraKleeuClibcConfig // {
"UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA" = "n";
"RUNTIME_PREFIX" = "/";
"DEVEL_PREFIX" = "/";
});
in
clang_9.stdenv.mkDerivation rec {
pname = "klee-uclibc";
version = "1.2";
src = fetchFromGitHub {
owner = "klee";
repo = "klee-uclibc";
rev = "klee_uclibc_v${version}";
sha256 = "qdrGMw+2XwpDsfxdv6swnoaoACcF5a/RWgUxUYbtPrI=";
};
nativeBuildInputs = [
clang_9
llvmPackages_9.llvm
python3
which
];
# Some uClibc sources depend on Linux headers.
UCLIBC_KERNEL_HEADERS = "${linuxHeaders}/include";
# HACK: needed for cross-compile.
# See https://www.mail-archive.com/klee-dev@imperial.ac.uk/msg03141.html
KLEE_CFLAGS = "-idirafter ${clang_9}/resource-root/include";
prePatch = ''
patchShebangs ./configure
patchShebangs ./extra
'';
# klee-uclibc configure does not support --prefix, so we override configurePhase entirely
configurePhase = ''
./configure ${lib.escapeShellArgs (
["--make-llvm-lib"]
++ lib.optional (!debugRuntime) "--enable-release"
++ lib.optional runtimeAsserts "--enable-assertions"
)}
# Set all the configs we care about.
configs=(
PREFIX=$out
)
for value in ${lib.escapeShellArgs resolvedExtraKleeuClibcConfig}; do
configs+=("$value")
done
for configFile in .config .config.cmd; do
for config in "''${configs[@]}"; do
prefix="''${config%%=*}="
if grep -q "$prefix" "$configFile"; then
sed -i "s"'\001'"''${prefix}"'\001'"#''${prefix}"'\001'"g" "$configFile"
fi
echo "$config" >> "$configFile"
done
done
'';
# Link the locale source into the correct place
preBuild = ''
ln -sf ${localeSrc} extra/locale/${localeSrcBase}
'';
makeFlags = ["HAVE_DOT_CONFIG=y"];
meta = with lib; {
description = "A modified version of uClibc for KLEE.";
longDescription = ''
klee-uclibc is a bitcode build of uClibc meant for compatibility with the
KLEE symbolic virtual machine.
'';
homepage = "https://klee.github.io/";
license = licenses.lgpl3;
maintainers = with maintainers; [ numinit ];
};
}

View File

@ -0,0 +1,40 @@
{ lib, fetchurl, stdenv, zlib, ncurses, libiconv }:
stdenv.mkDerivation rec {
pname = "fnc";
version = "0.10";
src = fetchurl {
url = "https://fnc.bsdbox.org/tarball/${version}/fnc-${version}.tar.gz";
sha256 = "1phqxh0afky7q2qmhgjlsq1awbv4254yd8wpzxlww4p7a57cp0lk";
};
buildInputs = [ libiconv ncurses zlib ];
makeFlags = [ "PREFIX=$(out)" ];
preInstall = ''
mkdir -p $out/bin
'';
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
test "$($out/bin/fnc --version)" = '${pname} ${version}'
runHook postInstallCheck
'';
meta = with lib; {
description = "Interactive ncurses browser for Fossil repositories";
longDescription = ''
An interactive ncurses browser for Fossil repositories.
fnc uses libfossil to create a fossil ui experience in the terminal.
'';
homepage = "https://fnc.bsdbox.org";
license = licenses.isc;
platforms = platforms.all;
maintainers = with maintainers; [ abbe ];
};
}

View File

@ -2,12 +2,11 @@
stdenv.mkDerivation rec {
pname = "got";
version = "0.67";
version = "0.68.1";
src = fetchurl {
url =
"https://gameoftrees.org/releases/portable/got-portable-${version}.tar.gz";
sha256 = "sha256-37Ncljw2tibVRrynDlbxk7d5IS+5QypNFvKIkZ5JvME=";
url = "https://gameoftrees.org/releases/portable/got-portable-${version}.tar.gz";
sha256 = "122wignzrhsw00mfnh7mxcxvjyp9rk73yxzfyvmg7f5kmb0hng35";
};
nativeBuildInputs = [ pkg-config ];

View File

@ -0,0 +1,44 @@
{ fetchFromGitHub
, makeWrapper
, stdenvNoCC
, lib
, gnugrep
, gnused
, curl
, openssl
, mpv
, aria2
}:
stdenvNoCC.mkDerivation rec {
pname = "ani-cli";
version = "1.9";
src = fetchFromGitHub {
owner = "pystardust";
repo = "ani-cli";
rev = "v${version}";
sha256 = "sha256-oYiq3Mnuhba5NELJXqVN3gY/d0RfQIqW13YtdcmYKK4=";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
install -Dm755 ani-cli $out/bin/ani-cli
wrapProgram $out/bin/ani-cli \
--prefix PATH : ${lib.makeBinPath [ gnugrep gnused curl openssl mpv aria2 ]}
runHook postInstall
'';
meta = with lib; {
homepage = "https://github.com/pystardust/ani-cli";
description = "A cli tool to browse and play anime";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ skykanin ];
platforms = platforms.unix;
};
}

View File

@ -1,6 +1,6 @@
{ lib, stdenv, fetchurl, qt4, pkg-config, boost, expat, cairo, python2Packages,
cmake, flex, bison, pango, librsvg, librevenge, libxml2, libcdr, libzip,
poppler, imagemagick, openexr, ffmpeg_3, opencolorio_1, openimageio,
poppler, imagemagick, openexr, ffmpeg, opencolorio_1, openimageio,
qmake4Hook, libpng, libGL, lndir, libraw, openjpeg, libwebp, fetchFromGitHub }:
let
@ -74,7 +74,7 @@ let
sha256 = "OQg6a5wNy9TFFySjmgd1subvXRxY/ZnSOCkaoUo+ZaA=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [
libpng ffmpeg_3 openexr opencolorio_1 openimageio boost libGL
libpng ffmpeg openexr opencolorio_1 openimageio boost libGL
seexpr libraw openjpeg libwebp
];
})
@ -135,5 +135,6 @@ stdenv.mkDerivation {
license = lib.licenses.gpl2;
maintainers = [ maintainers.puffnfresh ];
platforms = platforms.linux;
broken = true; # Last evaluated on Hydra on 2021-05-18
};
}

View File

@ -8,16 +8,16 @@
buildGoModule rec {
pname = "lima";
version = "0.9.1";
version = "0.9.2";
src = fetchFromGitHub {
owner = "lima-vm";
repo = pname;
rev = "v${version}";
sha256 = "sha256-Y15oYAdq+bsG2qD/ZTqXHgkelAdQF4SnOE79gDhlNGE=";
sha256 = "sha256-GS/mzBoVL78U7vMxkbnQfb89U640w8YdA8YhPH4Iwrc=";
};
vendorSha256 = "sha256-66CcLWG45vZwM2LVc1xsjJYyxefGEBW4fY3wo1ESQUM=";
vendorSha256 = "sha256-funVyM0RhDzGQPyzsABzXu3ETPYJwRosqkQreGBADZc=";
nativeBuildInputs = [ makeWrapper installShellFiles ];

View File

@ -31,7 +31,7 @@
stdenv.mkDerivation rec {
pname = "phosh";
version = "0.15.0";
version = "0.16.0";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
repo = pname;
rev = "v${version}";
fetchSubmodules = true; # including gvc and libcall-ui which are designated as subprojects
sha256 = "sha256-ZEfYjgSaj4vVdfgdIcg0PWwlFX90PIm5wvdn9P/8tvo=";
sha256 = "sha256-nxQYVWUXT1fNgOTRB3iWCLWYI/STk8vtguTbPPNTHdg=";
};
nativeBuildInputs = [
@ -109,8 +109,6 @@ stdenv.mkDerivation rec {
postFixup = ''
mkdir -p $out/share/wayland-sessions
ln -s $out/share/applications/sm.puri.Phosh.desktop $out/share/wayland-sessions/
# The OSK0.desktop points to a dummy stub that's not needed
rm $out/share/applications/sm.puri.OSK0.desktop
'';
passthru = {

View File

@ -1,15 +1,28 @@
{ lib, fetchFromGitHub, python3, python3Packages, mypy, glib, pango, pkg-config, xcbutilcursor }:
{ lib
, fetchFromGitHub
, python3
, python3Packages
, mypy
, glib
, pango
, pkg-config
, libinput
, libxkbcommon
, wayland
, wlroots
, xcbutilcursor
}:
let
unwrapped = python3Packages.buildPythonPackage rec {
pname = "qtile";
version = "0.20.0";
version = "0.21.0";
src = fetchFromGitHub {
owner = "qtile";
repo = "qtile";
rev = "v${version}";
sha256 = "TRmul3t//izJRdViTvxFz29JZeGYsWc7WsJjagQ35nw=";
sha256 = "3QCI1TZIh1LcWuklVQkqgR1MQphi6CzZKc1UZcytV0k=";
};
patches = [
@ -48,6 +61,13 @@ let
xkbcommon
];
buildInputs = [
libinput
wayland
wlroots
libxkbcommon
];
# for `qtile check`, needs `stubtest` and `mypy` commands
makeWrapperArgs = [
"--suffix PATH : ${lib.makeBinPath [ mypy ]}"

View File

@ -1,14 +1,14 @@
{ lib, stdenv, fetchFromGitHub, gtk3, breeze-icons, pantheon, gnome-icon-theme, hicolor-icon-theme }:
{ lib, stdenvNoCC, fetchFromGitHub, gtk3, breeze-icons, pantheon, gnome-icon-theme, hicolor-icon-theme }:
stdenv.mkDerivation rec {
stdenvNoCC.mkDerivation rec {
pname = "flat-remix-icon-theme";
version = "20211106";
version = "20220304";
src = fetchFromGitHub {
owner = "daniruiz";
repo = "flat-remix";
rev = version;
sha256 = "1dlz88bg764zzd0s3yqci4m1awhwdrrql9l9plsjjzgdx9r7ndmf";
sha256 = "sha256-SE3e3lPGLw6gONVQD8Joj6KNnXC/UygT0fy0AgH8us8=";
};
nativeBuildInputs = [
@ -36,7 +36,8 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Flat remix is a pretty simple icon theme inspired on material design";
homepage = "https://drasite.com/flat-remix";
license = with licenses; [ gpl3 ];
license = with licenses; [ gpl3Only ];
# breeze-icons and pantheon.elementary-icon-theme dependencies are restricted to linux
platforms = platforms.linux;
maintainers = with maintainers; [ mschneider ];
};

View File

@ -1,12 +1,12 @@
{ lib, stdenv, fetchurl, gtk3, gnome, hicolor-icon-theme }:
{ lib, stdenvNoCC, fetchurl, gtk3, gnome, hicolor-icon-theme }:
stdenv.mkDerivation rec {
stdenvNoCC.mkDerivation rec {
pname = "humanity-icon-theme";
version = "0.6.15";
version = "0.6.16";
src = fetchurl {
url = "https://launchpad.net/ubuntu/+archive/primary/+files/${pname}_${version}.tar.xz";
sha256 = "19ja47468s3jfabvakq9wknyfclfr31a9vd11p3mhapfq8jv9g4x";
sha256 = "sha256-AyHl4zMyFE2/5Cui3Y/SB1yEUuyafDdybFPrafo4Ki0=";
};
nativeBuildInputs = [

View File

@ -0,0 +1,25 @@
{ lib, stdenv, fetchzip }:
stdenv.mkDerivation rec {
pname = "generaluser";
version = "1.471";
# we can't use fetchurl since stdenv does not handle unpacking *.zip's by default.
src = fetchzip {
# Linked on http://www.schristiancollins.com/generaluser.php:
url = "https://www.dropbox.com/s/4x27l49kxcwamp5/GeneralUser_GS_${version}.zip";
sha256 = "sha256-lwUlWubXiVZ8fijKuNF54YQjT0uigjNAbjKaNjmC51s=";
};
installPhase = ''
install -Dm644 GeneralUser*.sf2 $out/share/soundfonts/GeneralUser-GS.sf2
'';
meta = with lib; {
description = "a SoundFont bank featuring 259 instrument presets and 11 drum kits";
homepage = "http://www.schristiancollins.com/generaluser.php";
license = licenses.generaluser;
platforms = platforms.all;
maintainers = with maintainers; [ ckie ];
};
}

View File

@ -1,14 +1,25 @@
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, sassc, gdk-pixbuf, librsvg, gtk-engine-murrine }:
{ lib
, stdenv
, fetchFromGitHub
, meson
, ninja
, pkg-config
, sassc
, gdk-pixbuf
, librsvg
, gtk-engine-murrine
, gitUpdater
}:
stdenv.mkDerivation rec {
pname = "greybird";
version = "3.22.15";
version = "3.23.1";
src = fetchFromGitHub {
owner = "shimmerproject";
repo = pname;
rev = "v${version}";
sha256 = "1fk66fxy2lif9ngazlgkpsziw216i4b1ld2zm97cadf7n97376g9";
sha256 = "hfi2TBRrZTSN43tYKMPvb/dWwwUE7RakKTMBziHnCWA=";
};
nativeBuildInputs = [
@ -27,6 +38,8 @@ stdenv.mkDerivation rec {
gtk-engine-murrine
];
passthru.updateScript = gitUpdater { inherit pname version; rev-prefix = "v"; };
meta = with lib; {
description = "Grey and blue theme from the Shimmer Project for GTK-based environments";
homepage = "https://github.com/shimmerproject/Greybird";

View File

@ -35,6 +35,11 @@ stdenv.mkDerivation rec {
url = "https://gitlab.gnome.org/GNOME/gnome-user-share/commit/8772980d4732c15505b15dccff2ca3c97e96d49d.patch";
sha256 = "03clzhrx72pq1cbmg2y24hvw4i1xsvrg9ip113fi5bc3w4gcji7p";
})
# fix compilation with meson >=0.61
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-user-share/-/commit/c31b0a8f33b95c0077cd5ee2102a71a49bee8abe.patch";
hash = "sha256-kH+cPBmSErWxsw+IyyjWgENi4I3ZcKjSA9+em8u4DYs=";
})
];
postPatch = ''

View File

@ -61,6 +61,16 @@ super: lib.trivial.pipe super [
'';
}))
(patchExtension "screen-autorotate@kosmospredanie.yandex.ru" (old: {
# Requires gjs
# https://github.com/NixOS/nixpkgs/issues/164865
postPatch = ''
for file in *.js; do
substituteInPlace $file --replace "gjs" "${gjs}/bin/gjs"
done
'';
}))
(patchExtension "shell-volume-mixer@derhofbauer.at" (old: {
patches = [
(substituteAll {

View File

@ -1,25 +1,34 @@
{ lib, stdenv, fetchurl, fetchpatch, pkg-config, intltool, dbus-glib, gtk2, libical, libnotify, tzdata
, popt, libxfce4ui, xfce4-panel, withPanelPlugin ? true, wrapGAppsHook, xfce }:
{ lib
, mkXfceDerivation
, dbus-glib
, gtk3
, libical
, libnotify
, libxfce4ui
, popt
, tzdata
, xfce4-panel
, withPanelPlugin ? true
}:
assert withPanelPlugin -> libxfce4ui != null && xfce4-panel != null;
let
inherit (lib) optionals;
in
stdenv.mkDerivation rec {
mkXfceDerivation {
category = "apps";
pname = "orage";
version = "4.12.1";
version = "4.16.0";
odd-unstable = false;
sha256 = "sha256-Q2vTjfhbhG7TrkGeU5oVBB+UvrV5QFtl372wgHU4cxw=";
src = fetchurl {
url = "https://archive.xfce.org/src/apps/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "sha256-PPmqRBroPIaIhl+CIXAlzfPrqhUszkVxd3uMKqjdkGI=";
};
nativeBuildInputs = [ pkg-config intltool wrapGAppsHook ];
buildInputs = [ dbus-glib gtk2 libical libnotify popt ]
++ optionals withPanelPlugin [ libxfce4ui xfce4-panel ];
buildInputs = [
dbus-glib
gtk3
libical
libnotify
libxfce4ui
popt
]
++ lib.optionals withPanelPlugin [
xfce4-panel
];
postPatch = ''
substituteInPlace src/parameters.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
@ -27,27 +36,13 @@ stdenv.mkDerivation rec {
substituteInPlace tz_convert/tz_convert.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
'';
postConfigure = "rm -rf libical"; # ensure pkgs.libical is used instead of one included in the orage sources
patches = [
# Fix build with libical 3.0
(fetchpatch {
name = "fix-libical3.patch";
url = "https://aur.archlinux.org/cgit/aur.git/plain/libical3.patch?h=orage-4.10";
sha256 = "sha256-bsnQMGmeo4mRNGM/7UYXez2bNopXMHRFX7VFVg0IGtE=";
})
];
passthru.updateScript = xfce.archiveUpdater {
category = "apps";
inherit pname version;
};
postConfigure = ''
# ensure pkgs.libical is used instead of one included in the orage sources
rm -rf libical
'';
meta = with lib; {
description = "Simple calendar application with reminders";
homepage = "https://git.xfce.org/archive/orage/";
license = licenses.gpl2Plus;
platforms = platforms.linux;
description = "Simple calendar application for Xfce";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View File

@ -31,13 +31,13 @@
let
hip = stdenv.mkDerivation rec {
pname = "hip";
version = "4.5.2";
version = "5.0.2";
src = fetchFromGitHub {
owner = "ROCm-Developer-Tools";
repo = "HIP";
rev = "rocm-${version}";
sha256 = "sha256-AuA5ubRPywXaBBrjdHg5AT8rrVKULKog6Lh8jPaUcXY=";
hash = "sha256-w023vBLJaiFbRdvz9UfZLPasRjk3VqM9zwctCIJ5hGU=";
};
# - fix bash paths
@ -68,14 +68,14 @@ let
-e 's,`file,`${file}/bin/file,g' \
-e 's,`readelf,`${binutils-unwrapped}/bin/readelf,' \
-e 's, ar , ${binutils-unwrapped}/bin/ar ,g' \
-i bin/hipcc
-i bin/hipcc.pl
sed -e 's,^\($HSA_PATH=\).*$,\1"${rocm-runtime}";,' \
-e 's,^\($HIP_CLANG_PATH=\).*$,\1"${clang}/bin";,' \
-e 's,^\($HIP_PLATFORM=\).*$,\1"amd";,' \
-e 's,$HIP_CLANG_PATH/llc,${llvm}/bin/llc,' \
-e 's, abs_path, Cwd::abs_path,' \
-i bin/hipconfig
-i bin/hipconfig.pl
sed -e 's, abs_path, Cwd::abs_path,' -i bin/hipvars.pm
'';
@ -102,13 +102,13 @@ let
in
stdenv.mkDerivation rec {
pname = "hip";
version = "4.5.2";
version = "5.0.2";
src = fetchFromGitHub {
owner = "ROCm-Developer-Tools";
repo = "hipamd";
rev = "rocm-${version}";
sha256 = "WvOuQu/EN81Kwcoc3ZtGlhb996edQJ3OWFsmPuqeNXE=";
hash = "sha256-hhTwKG0wDpbIBI8S61AhdNldX+STO8C66xi2EzmJSBs=";
};
nativeBuildInputs = [ cmake python3 makeWrapper perl ];
@ -135,6 +135,7 @@ stdenv.mkDerivation rec {
"-DAMD_OPENCL_PATH=${rocm-opencl-runtime.src}"
"-DHIP_COMMON_DIR=${hip}"
"-DROCCLR_PATH=${rocclr}"
"-DHIP_VERSION_BUILD_ID=0"
];
postInstall = ''

View File

@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
meta = llvm_meta // {
homepage = "https://lld.llvm.org/";
description = "The LLVM linker";
description = "The LLVM linker (unwrapped)";
longDescription = ''
LLD is a linker from the LLVM project that is a drop-in replacement for
system linkers and runs much faster than them. It also provides features

View File

@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
meta = llvm_meta // {
homepage = "https://lld.llvm.org/";
description = "The LLVM linker";
description = "The LLVM linker (unwrapped)";
longDescription = ''
LLD is a linker from the LLVM project that is a drop-in replacement for
system linkers and runs much faster than them. It also provides features

View File

@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
meta = llvm_meta // {
homepage = "https://lld.llvm.org/";
description = "The LLVM linker";
description = "The LLVM linker (unwrapped)";
longDescription = ''
LLD is a linker from the LLVM project that is a drop-in replacement for
system linkers and runs much faster than them. It also provides features

View File

@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
meta = llvm_meta // {
homepage = "https://lld.llvm.org/";
description = "The LLVM linker";
description = "The LLVM linker (unwrapped)";
longDescription = ''
LLD is a linker from the LLVM project that is a drop-in replacement for
system linkers and runs much faster than them. It also provides features

View File

@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
meta = llvm_meta // {
homepage = "https://lld.llvm.org/";
description = "The LLVM linker";
description = "The LLVM linker (unwrapped)";
longDescription = ''
LLD is a linker from the LLVM project that is a drop-in replacement for
system linkers and runs much faster than them. It also provides features

View File

@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
meta = llvm_meta // {
homepage = "https://lld.llvm.org/";
description = "The LLVM linker";
description = "The LLVM linker (unwrapped)";
longDescription = ''
LLD is a linker from the LLVM project that is a drop-in replacement for
system linkers and runs much faster than them. It also provides features

View File

@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
meta = llvm_meta // {
homepage = "https://lld.llvm.org/";
description = "The LLVM linker";
description = "The LLVM linker (unwrapped)";
longDescription = ''
LLD is a linker from the LLVM project that is a drop-in replacement for
system linkers and runs much faster than them. It also provides features

View File

@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
meta = llvm_meta // {
homepage = "https://lld.llvm.org/";
description = "The LLVM linker";
description = "The LLVM linker (unwrapped)";
longDescription = ''
LLD is a linker from the LLVM project that is a drop-in replacement for
system linkers and runs much faster than them. It also provides features

View File

@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
meta = llvm_meta // {
homepage = "https://lld.llvm.org/";
description = "The LLVM linker";
description = "The LLVM linker (unwrapped)";
longDescription = ''
LLD is a linker from the LLVM project that is a drop-in replacement for
system linkers and runs much faster than them. It also provides features

View File

@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
meta = llvm_meta // {
homepage = "https://lld.llvm.org/";
description = "The LLVM linker";
description = "The LLVM linker (unwrapped)";
longDescription = ''
LLD is a linker from the LLVM project that is a drop-in replacement for
system linkers and runs much faster than them. It also provides features

View File

@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
meta = llvm_meta // {
homepage = "https://lld.llvm.org/";
description = "The LLVM linker";
description = "The LLVM linker (unwrapped)";
longDescription = ''
LLD is a linker from the LLVM project that is a drop-in replacement for
system linkers and runs much faster than them. It also provides features

View File

@ -1,78 +0,0 @@
--- a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
+++ b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
@@ -370,15 +370,6 @@
#if SANITIZER_GLIBC
// _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
- _(CYGETDEFTHRESH, WRITE, sizeof(int));
- _(CYGETDEFTIMEOUT, WRITE, sizeof(int));
- _(CYGETMON, WRITE, struct_cyclades_monitor_sz);
- _(CYGETTHRESH, WRITE, sizeof(int));
- _(CYGETTIMEOUT, WRITE, sizeof(int));
- _(CYSETDEFTHRESH, NONE, 0);
- _(CYSETDEFTIMEOUT, NONE, 0);
- _(CYSETTHRESH, NONE, 0);
- _(CYSETTIMEOUT, NONE, 0);
_(EQL_EMANCIPATE, WRITE, struct_ifreq_sz);
_(EQL_ENSLAVE, WRITE, struct_ifreq_sz);
_(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz);
--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
@@ -143,7 +143,6 @@
# include <sys/procfs.h>
#endif
#include <sys/user.h>
-#include <linux/cyclades.h>
#include <linux/if_eql.h>
#include <linux/if_plip.h>
#include <linux/lp.h>
@@ -460,7 +459,6 @@
#if SANITIZER_GLIBC
unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
- unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
#if EV_VERSION > (0x010000)
unsigned struct_input_keymap_entry_sz = sizeof(struct input_keymap_entry);
#else
@@ -824,15 +822,6 @@
#endif // SANITIZER_LINUX
#if SANITIZER_LINUX && !SANITIZER_ANDROID
- unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
- unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
- unsigned IOCTL_CYGETMON = CYGETMON;
- unsigned IOCTL_CYGETTHRESH = CYGETTHRESH;
- unsigned IOCTL_CYGETTIMEOUT = CYGETTIMEOUT;
- unsigned IOCTL_CYSETDEFTHRESH = CYSETDEFTHRESH;
- unsigned IOCTL_CYSETDEFTIMEOUT = CYSETDEFTIMEOUT;
- unsigned IOCTL_CYSETTHRESH = CYSETTHRESH;
- unsigned IOCTL_CYSETTIMEOUT = CYSETTIMEOUT;
unsigned IOCTL_EQL_EMANCIPATE = EQL_EMANCIPATE;
unsigned IOCTL_EQL_ENSLAVE = EQL_ENSLAVE;
unsigned IOCTL_EQL_GETMASTRCFG = EQL_GETMASTRCFG;
--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.h
+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.h
@@ -983,7 +983,6 @@
#if SANITIZER_LINUX && !SANITIZER_ANDROID
extern unsigned struct_ax25_parms_struct_sz;
-extern unsigned struct_cyclades_monitor_sz;
extern unsigned struct_input_keymap_entry_sz;
extern unsigned struct_ipx_config_data_sz;
extern unsigned struct_kbdiacrs_sz;
@@ -1328,15 +1327,6 @@
#endif // SANITIZER_LINUX
#if SANITIZER_LINUX && !SANITIZER_ANDROID
-extern unsigned IOCTL_CYGETDEFTHRESH;
-extern unsigned IOCTL_CYGETDEFTIMEOUT;
-extern unsigned IOCTL_CYGETMON;
-extern unsigned IOCTL_CYGETTHRESH;
-extern unsigned IOCTL_CYGETTIMEOUT;
-extern unsigned IOCTL_CYSETDEFTHRESH;
-extern unsigned IOCTL_CYSETDEFTIMEOUT;
-extern unsigned IOCTL_CYSETTHRESH;
-extern unsigned IOCTL_CYSETTIMEOUT;
extern unsigned IOCTL_EQL_EMANCIPATE;
extern unsigned IOCTL_EQL_ENSLAVE;
extern unsigned IOCTL_EQL_GETMASTRCFG;

View File

@ -1,33 +0,0 @@
From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001
From: Will Dietz <w@wdtz.org>
Date: Tue, 19 Sep 2017 13:13:06 -0500
Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that
needs it
---
cmake/Modules/AddCompilerRT.cmake | 8 ------
test/asan/CMakeLists.txt | 52 ---------------------------------------
test/tsan/CMakeLists.txt | 47 -----------------------------------
3 files changed, 107 deletions(-)
diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
index bc5fb9ff7..b64eb4246 100644
--- a/cmake/Modules/AddCompilerRT.cmake
+++ b/cmake/Modules/AddCompilerRT.cmake
@@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type)
set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "")
set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib")
endif()
- if(APPLE)
- # Ad-hoc sign the dylibs
- add_custom_command(TARGET ${libname}
- POST_BUILD
- COMMAND codesign --sign - $<TARGET_FILE:${libname}>
- WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR}
- )
- endif()
endif()
install(TARGETS ${libname}
ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR}
2.14.1

View File

@ -29,12 +29,9 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" ];
patches = [
./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
# https://github.com/llvm/llvm-project/commit/68d5235cb58f988c71b403334cd9482d663841ab.diff but the compiler-rt part of the path is stripped
./68d5235cb58f988c71b403334cd9482d663841ab.patch
];
prePatch = ''
cd compiler-rt
'';
# TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
# to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra

View File

@ -1,12 +1,12 @@
{ stdenv, lib, buildPackages, fetchFromGitHub, callPackage, wrapCCWith, overrideCC }:
let
version = "4.5.2";
version = "5.0.2";
src = fetchFromGitHub {
owner = "RadeonOpenCompute";
repo = "llvm-project";
rev = "rocm-${version}";
hash = "sha256-XWh81+2yyXQEPO+5SgxHh66fzFG1bVbvnjPfvXDC+fU=";
hash = "sha256-wPzwbeQUFE6RAytrz5lBa6UUPoVL0UeMyY3qa4M6W6M=";
};
in rec {
clang = wrapCCWith rec {
@ -47,7 +47,7 @@ in rec {
compiler-rt = callPackage ./compiler-rt {
inherit version llvm;
src = "${src}/compiler-rt";
inherit src;
stdenv = overrideCC stdenv clangNoCompilerRt;
};

View File

@ -59,7 +59,9 @@ in stdenv.mkDerivation rec {
"-DSPHINX_WARNINGS_AS_ERRORS=OFF"
];
postPatch = lib.optional enableSharedLibraries ''
postPatch = ''
patchShebangs lib/OffloadArch/make_generated_offload_arch_h.sh
'' + lib.optionalString enableSharedLibraries ''
substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
patch -p1 < ./outputs.patch
'';

View File

@ -11,13 +11,13 @@
stdenv.mkDerivation rec {
pname = "guile-ssh";
version = "0.15.0";
version = "0.15.1";
src = fetchFromGitHub {
owner = "artyom-poptsov";
repo = pname;
rev = "v${version}";
sha256 = "sha256-dcG3Q1K1/CxrMeEUWSZ3Qu57Aesalydg4UjkIqg1NJ0=";
sha256 = "sha256-+BhyaBieqMwTgsSLci3HJdCrNQmfPN/jK2Od5DQs9n8=";
};
configureFlags = [ "--with-guilesitedir=\${out}/share/guile/site" ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "janet";
version = "1.20.0";
version = "1.21.0";
src = fetchFromGitHub {
owner = "janet-lang";
repo = pname;
rev = "v${version}";
sha256 = "sha256-mCeOaTbOQej4Uza9fg+xop77z31SQ3sO09dZK8SVAyU=";
sha256 = "sha256-chVnD5mxnA50yEL65KUYJwpkZ4jPWiLVHHXeeFxtHBo=";
};
# This release fails the test suite on darwin, remove when debugged.

View File

@ -1,20 +1,30 @@
{ lib, stdenv, fetchFromGitHub, sqlite, readline, asciidoc, SDL, SDL_gfx }:
{ lib
, stdenv
, fetchFromGitHub
let
makeSDLFlags = map (p: "-I${lib.getDev p}/include/SDL");
, asciidoc
, pkg-config
, inetutils
in stdenv.mkDerivation rec {
, sqlite
, readline
, SDL
, SDL_gfx
}:
stdenv.mkDerivation rec {
pname = "jimtcl";
version = "0.79";
version = "0.81";
src = fetchFromGitHub {
owner = "msteveb";
repo = "jimtcl";
rev = version;
sha256 = "1k88hz0v3bi19xdvlp0i9nsx38imzwpjh632w7326zwbv2wldf0h";
sha256 = "sha256-OpM9y7fQ+18qxl3/5wUCrNA9qiCdA0vTHqLYSw2lvJs=";
};
nativeBuildInputs = [
pkg-config
asciidoc
];
@ -35,8 +45,6 @@ in stdenv.mkDerivation rec {
"--ipv6"
];
NIX_CFLAGS_COMPILE = toString (makeSDLFlags [ SDL SDL_gfx ]);
enableParallelBuilding = true;
doCheck = true;
@ -45,6 +53,9 @@ in stdenv.mkDerivation rec {
rm tests/exec2.test
'';
# test posix-1.6 needs the "hostname" command
checkInputs = [ inetutils ];
postInstall = ''
ln -sr $out/lib/libjim.so.${version} $out/lib/libjim.so
'';
@ -54,6 +65,6 @@ in stdenv.mkDerivation rec {
homepage = "http://jim.tcl.tk/";
license = lib.licenses.bsd2;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ dbohdan vrthra ];
maintainers = with lib.maintainers; [ dbohdan fgaz vrthra ];
};
}

View File

@ -0,0 +1,48 @@
{ stdenv
, lib
, fetchFromGitHub
, fetchpatch
, cmake
, SDL2
, flac
, libmikmod
, libvorbis
, timidity
, AudioToolbox
, CoreAudio
}:
stdenv.mkDerivation rec {
pname = "SDL2_sound";
version = "2.0.1";
src = fetchFromGitHub {
owner = "icculus";
repo = "SDL_sound";
rev = "v${version}";
sha256 = "sha256-N2znqy58tMHgYa07vEsSedWLRhoJzDoINcsUu0UYLnA=";
};
patches = [
(fetchpatch {
# https://github.com/icculus/SDL_sound/pull/32 - fix build on darwin
# can be dropped on the next update
url = "https://github.com/icculus/SDL_sound/commit/c15d75b7720113b28639baad284f45f943846294.patch";
sha256 = "sha256-4GL8unsZ7eNkzjLXq9QdaxFQMzX2tdP0cBR1jTaRLc0=";
})
];
nativeBuildInputs = [ cmake ];
cmakeFlags = [ "-DSDLSOUND_DECODER_MIDI=1" ];
buildInputs = [ SDL2 flac libmikmod libvorbis timidity ]
++ lib.optionals stdenv.isDarwin [ AudioToolbox CoreAudio ];
meta = with lib; {
description = "SDL2 sound library";
platforms = platforms.unix;
license = licenses.zlib;
homepage = "https://www.icculus.org/SDL_sound/";
};
}

View File

@ -1,68 +1,70 @@
{ lib, gcc9Stdenv, fetchFromGitHub, runCommand, cosmopolitan }:
{ lib, stdenv, fetchFromGitHub, runCommand, unzip, cosmopolitan,bintools-unwrapped }:
gcc9Stdenv.mkDerivation rec {
stdenv.mkDerivation rec {
pname = "cosmopolitan";
version = "0.3";
version = "unstable-2022-03-22";
src = fetchFromGitHub {
owner = "jart";
repo = "cosmopolitan";
rev = version;
sha256 = "sha256-OVdOObO82W6JN63OWKHaERS7y0uvgxt+WLp6Y0LsmJk=";
rev = "5022f9e9207ff2b79ddd6de6d792d3280e12fb3a";
sha256 = "sha256-UjL4wR5HhuXiQXg6Orcx2fKiVGRPMJk15P779BP1fRA=";
};
patches = [
./ioctl.patch # required /dev/tty
];
postPatch = ''
patchShebangs build/
rm -r third_party/gcc
'';
dontConfigure = true;
dontFixup = true;
enableParallelBuilding = true;
preBuild = ''
makeFlagsArray=(
SHELL=/bin/sh
AS=${gcc9Stdenv.cc.targetPrefix}as
CC=${gcc9Stdenv.cc.targetPrefix}gcc
GCC=${gcc9Stdenv.cc.targetPrefix}gcc
CXX=${gcc9Stdenv.cc.targetPrefix}g++
LD=${gcc9Stdenv.cc.targetPrefix}ld
OBJCOPY=${gcc9Stdenv.cc.targetPrefix}objcopy
"MKDIR=mkdir -p"
)
'';
nativeBuildInputs = [ bintools-unwrapped unzip ];
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,lib/include}
install o/cosmopolitan.h $out/lib/include
mkdir -p $out/{bin,include,lib}
install o/cosmopolitan.h $out/include
install o/cosmopolitan.a o/libc/crt/crt.o o/ape/ape.{o,lds} $out/lib
cat > $out/bin/cosmoc <<EOF
#!${gcc9Stdenv.shell}
exec ${gcc9Stdenv.cc}/bin/${gcc9Stdenv.cc.targetPrefix}gcc \
#!${stdenv.shell}
exec ${stdenv.cc}/bin/${stdenv.cc.targetPrefix}gcc \
-O -static -nostdlib -nostdinc -fno-pie -no-pie -mno-red-zone \
"\$@" \
-Wl,--oformat=binary -Wl,--gc-sections -Wl,-z,max-page-size=0x1000 \
-Wl,--gc-sections -Wl,-z,max-page-size=0x1000 \
-fuse-ld=bfd -Wl,-T,$out/lib/ape.lds \
-include $out/lib/{include/cosmopolitan.h,crt.o,ape.o,cosmopolitan.a}
-include $out/include/cosmopolitan.h \
-I $out/include \
$out/lib/{crt.o,ape.o,cosmopolitan.a}
EOF
chmod +x $out/bin/cosmoc
pushd o
find -iname "*.com" -type f -exec install -D {} $out/{} \;
popd
find -iname "*.h" -type f -exec install -m644 -D {} $out/include/{} \;
find -iname "*.inc" -type f -exec install -m644 -D {} $out/include/{} \;
runHook postInstall
'';
passthru.tests = lib.optional (gcc9Stdenv.buildPlatform == gcc9Stdenv.hostPlatform) {
passthru.tests = lib.optionalAttrs (stdenv.buildPlatform == stdenv.hostPlatform) {
hello = runCommand "hello-world" { } ''
printf 'main() { printf("hello world\\n"); }\n' >hello.c
${gcc9Stdenv.cc}/bin/gcc -g -O -static -nostdlib -nostdinc -fno-pie -no-pie -mno-red-zone -o hello.com.dbg hello.c \
printf '#include "libc/stdio/stdio.h"\nmain() { printf("hello world\\n"); }\n' >hello.c
${stdenv.cc}/bin/gcc -g -O -static -nostdlib -nostdinc -fno-pie -no-pie -mno-red-zone -o hello.com.dbg hello.c \
-fuse-ld=bfd -Wl,-T,${cosmopolitan}/lib/ape.lds \
-include ${cosmopolitan}/lib/{include/cosmopolitan.h,crt.o,ape.o,cosmopolitan.a}
${gcc9Stdenv.cc.bintools.bintools_bin}/bin/objcopy -S -O binary hello.com.dbg hello.com
-include ${cosmopolitan}/include/cosmopolitan.h \
-I ${cosmopolitan}/include \
${cosmopolitan}/lib/{crt.o,ape.o,cosmopolitan.a}
${stdenv.cc.bintools.bintools_bin}/bin/objcopy -S -O binary hello.com.dbg hello.com
./hello.com
printf "test successful" > $out
'';
cosmoc = runCommand "cosmoc-hello" { } ''
printf 'main() { printf("hello world\\n"); }\n' >hello.c
printf '#include "libc/stdio/stdio.h"\nmain() { printf("hello world\\n"); }\n' >hello.c
${cosmopolitan}/bin/cosmoc hello.c
./a.out
printf "test successful" > $out

View File

@ -0,0 +1,12 @@
diff --git a/third_party/python/python.mk b/third_party/python/python.mk
index f18c15060..b17455bca 100644
--- a/third_party/python/python.mk
+++ b/third_party/python/python.mk
@@ -1818,7 +1818,6 @@ THIRD_PARTY_PYTHON_PYTEST_PYMAINS = \
third_party/python/Lib/test/test_int_literal.py \
third_party/python/Lib/test/test_bisect.py \
third_party/python/Lib/test/test_pyexpat.py \
- third_party/python/Lib/test/test_ioctl.py \
third_party/python/Lib/test/test_getopt.py \
third_party/python/Lib/test/test_sort.py \
third_party/python/Lib/test/test_slice.py \

View File

@ -1,35 +1,52 @@
{ lib
, stdenv
, fetchFromGitHub
, nix-update-script
, cmake
, python3
, gtest
, withAnimation ? true
, withTranscoder ? true
, eigen
, ghc_filesystem
, tinygltf
}:
let
cmakeBool = b: if b then "ON" else "OFF";
in
stdenv.mkDerivation rec {
version = "1.5.0";
version = "1.5.2";
pname = "draco";
src = fetchFromGitHub {
owner = "google";
repo = "draco";
rev = version;
hash = "sha256-BoJg2lZBPVVm6Nc0XK8QSISpe+B8tpgRg9PFncN4+fY=";
sha256 = "sha256-o6KQJFrnxx2kz6g3vXk1w435OmaJhAJjzsKM/gmVJ2M=";
fetchSubmodules = true;
};
buildInputs = [ gtest ]
++ lib.optionals withTranscoder [ eigen ghc_filesystem tinygltf ];
nativeBuildInputs = [ cmake python3 ];
cmakeFlags = [
"-DDRACO_ANIMATION_ENCODING=${cmakeBool withAnimation}"
"-DDRACO_TRANSCODER_SUPPORTED=${cmakeBool withTranscoder}"
"-DDRACO_GOOGLETEST_PATH=${gtest}"
"-DBUILD_SHARED_LIBS=${cmakeBool true}"
"-DDRACO_TRANSCODER_SUPPORTED=${cmakeBool withTranscoder}"
] ++ lib.optionals withTranscoder [
"-DDRACO_EIGEN_PATH=${eigen}/include/eigen3"
"-DDRACO_FILESYSTEM_PATH=${ghc_filesystem}"
"-DDRACO_TINYGLTF_PATH=${tinygltf}"
];
passthru.updateScript = nix-update-script {
attrPath = pname;
};
meta = with lib; {
description = "Library for compressing and decompressing 3D geometric meshes and point clouds";
homepage = "https://google.github.io/draco/";

Some files were not shown because too many files have changed in this diff Show More