Project import generated by Copybara.
GitOrigin-RevId: e4d49de45a3b5dbcb881656b4e3986e666141ea9
This commit is contained in:
parent
ca06522312
commit
c6ca5b8f13
631 changed files with 18039 additions and 10269 deletions
|
@ -602,10 +602,10 @@ been removed, in this case, it's recommended to use `pytestCheckHook`.
|
|||
#### Using pytestCheckHook {#using-pytestcheckhook}
|
||||
|
||||
`pytestCheckHook` is a convenient hook which will substitute the setuptools
|
||||
`test` command for a checkPhase which runs `pytest`. This is also beneficial
|
||||
`test` command for a `checkPhase` which runs `pytest`. This is also beneficial
|
||||
when a package may need many items disabled to run the test suite.
|
||||
|
||||
Using the example above, the analagous pytestCheckHook usage would be:
|
||||
Using the example above, the analagous `pytestCheckHook` usage would be:
|
||||
|
||||
```
|
||||
checkInputs = [ pytestCheckHook ];
|
||||
|
@ -624,7 +624,7 @@ Using the example above, the analagous pytestCheckHook usage would be:
|
|||
];
|
||||
```
|
||||
|
||||
This is expecially useful when tests need to be conditionallydisabled,
|
||||
This is expecially useful when tests need to be conditionally disabled,
|
||||
for example:
|
||||
|
||||
```
|
||||
|
@ -640,31 +640,35 @@ for example:
|
|||
"socket"
|
||||
];
|
||||
```
|
||||
Trying to concatenate the related strings to disable tests in a regular checkPhase
|
||||
would be much harder to read. This also enables us to comment on why specific tests
|
||||
are disabled.
|
||||
|
||||
Trying to concatenate the related strings to disable tests in a regular
|
||||
`checkPhase` would be much harder to read. This also enables us to comment on
|
||||
why specific tests are disabled.
|
||||
|
||||
#### Using pythonImportsCheck {#using-pythonimportscheck}
|
||||
|
||||
Although unit tests are highly prefered to validate correctness of a package, not
|
||||
all packages have test suites that can be ran easily, and some have none at all.
|
||||
Although unit tests are highly preferred to validate correctness of a package, not
|
||||
all packages have test suites that can be run easily, and some have none at all.
|
||||
To help ensure the package still works, `pythonImportsCheck` can attempt to import
|
||||
the listed modules.
|
||||
|
||||
```
|
||||
pythonImportsCheck = [ "requests" "urllib" ];
|
||||
```
|
||||
|
||||
roughly translates to:
|
||||
|
||||
```
|
||||
postCheck = ''
|
||||
PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
|
||||
python -c "import requests; import urllib"
|
||||
'';
|
||||
```
|
||||
However, this is done in it's own phase, and not dependent on whether `doCheck = true;`
|
||||
|
||||
However, this is done in its own phase, and not dependent on whether `doCheck = true;`.
|
||||
|
||||
This can also be useful in verifying that the package doesn't assume commonly
|
||||
present packages (e.g. `setuptools`)
|
||||
present packages (e.g. `setuptools`).
|
||||
|
||||
#### Using pythonRelaxDepsHook {#using-pythonrelaxdepshook}
|
||||
|
||||
|
@ -719,7 +723,7 @@ pkg3
|
|||
```
|
||||
|
||||
In general you should always use `pythonRelaxDeps`, because `pythonRemoveDeps`
|
||||
will convert build errors in runtime errors. However `pythonRemoveDeps` may
|
||||
will convert build errors into runtime errors. However `pythonRemoveDeps` may
|
||||
still be useful in exceptional cases, and also to remove dependencies wrongly
|
||||
declared by upstream (for example, declaring `black` as a runtime dependency
|
||||
instead of a dev dependency).
|
||||
|
@ -738,14 +742,14 @@ creates a special link to the project code. That way, you can run updated code
|
|||
without having to reinstall after each and every change you make. Development
|
||||
mode is also available. Let's see how you can use it.
|
||||
|
||||
In the previous Nix expression the source was fetched from an url. We can also
|
||||
In the previous Nix expression the source was fetched from a url. We can also
|
||||
refer to a local source instead using `src = ./path/to/source/tree;`
|
||||
|
||||
If we create a `shell.nix` file which calls `buildPythonPackage`, and if `src`
|
||||
is a local source, and if the local source has a `setup.py`, then development
|
||||
mode is activated.
|
||||
|
||||
In the following example we create a simple environment that has a Python 3.9
|
||||
In the following example, we create a simple environment that has a Python 3.9
|
||||
version of our package in it, as well as its dependencies and other packages we
|
||||
like to have in the environment, all specified with `propagatedBuildInputs`.
|
||||
Indeed, we can just add any package we like to have in our environment to
|
||||
|
@ -862,7 +866,7 @@ Each interpreter has the following attributes:
|
|||
|
||||
### Optimizations {#optimizations}
|
||||
|
||||
The Python interpreters are by default not build with optimizations enabled, because
|
||||
The Python interpreters are by default not built with optimizations enabled, because
|
||||
the builds are in that case not reproducible. To enable optimizations, override the
|
||||
interpreter of interest, e.g using
|
||||
|
||||
|
@ -913,7 +917,7 @@ and the aliases
|
|||
#### `buildPythonPackage` function {#buildpythonpackage-function}
|
||||
|
||||
The `buildPythonPackage` function is implemented in
|
||||
`pkgs/development/interpreters/python/mk-python-derivation`
|
||||
`pkgs/development/interpreters/python/mk-python-derivation.nix`
|
||||
using setup hooks.
|
||||
|
||||
The following is an example:
|
||||
|
@ -954,7 +958,7 @@ The `buildPythonPackage` mainly does four things:
|
|||
* In the `postFixup` phase, the `wrapPythonPrograms` bash function is called to
|
||||
wrap all programs in the `$out/bin/*` directory to include `$PATH`
|
||||
environment variable and add dependent libraries to script's `sys.path`.
|
||||
* In the `installCheck` phase, `${python.interpreter} setup.py test` is ran.
|
||||
* In the `installCheck` phase, `${python.interpreter} setup.py test` is run.
|
||||
|
||||
By default tests are run because `doCheck = true`. Test dependencies, like
|
||||
e.g. the test runner, should be added to `checkInputs`.
|
||||
|
@ -969,7 +973,7 @@ following are specific to `buildPythonPackage`:
|
|||
|
||||
* `catchConflicts ? true`: If `true`, abort package build if a package name
|
||||
appears more than once in dependency tree. Default is `true`.
|
||||
* `disabled` ? false: If `true`, package is not built for the particular Python
|
||||
* `disabled ? false`: If `true`, package is not built for the particular Python
|
||||
interpreter version.
|
||||
* `dontWrapPythonPrograms ? false`: Skip wrapping of Python programs.
|
||||
* `permitUserSite ? false`: Skip setting the `PYTHONNOUSERSITE` environment
|
||||
|
@ -1421,7 +1425,8 @@ in newpkgs.inkscape
|
|||
|
||||
### `python setup.py bdist_wheel` cannot create .whl {#python-setup.py-bdist_wheel-cannot-create-.whl}
|
||||
|
||||
Executing `python setup.py bdist_wheel` in a `nix-shell `fails with
|
||||
Executing `python setup.py bdist_wheel` in a `nix-shell`fails with
|
||||
|
||||
```
|
||||
ValueError: ZIP does not support timestamps before 1980
|
||||
```
|
||||
|
@ -1513,7 +1518,7 @@ in pkgs.mkShell rec {
|
|||
# the environment.
|
||||
pythonPackages.python
|
||||
|
||||
# This execute some shell code to initialize a venv in $venvDir before
|
||||
# This executes some shell code to initialize a venv in $venvDir before
|
||||
# dropping into the shell
|
||||
pythonPackages.venvShellHook
|
||||
|
||||
|
|
|
@ -1218,7 +1218,7 @@ The `validatePkgConfig` hook validates all pkg-config (`.pc`) files in a package
|
|||
|
||||
### cmake {#cmake}
|
||||
|
||||
Overrides the default configure phase to run the CMake command. By default, we use the Make generator of CMake. In addition, dependencies are added automatically to CMAKE_PREFIX_PATH so that packages are correctly detected by CMake. Some additional flags are passed in to give similar behavior to configure-based packages. You can disable this hook’s behavior by setting configurePhase to a custom value, or by setting dontUseCmakeConfigure. cmakeFlags controls flags passed only to CMake. By default, parallel building is enabled as CMake supports parallel building almost everywhere. When Ninja is also in use, CMake will detect that and use the ninja generator.
|
||||
Overrides the default configure phase to run the CMake command. By default, we use the Make generator of CMake. In addition, dependencies are added automatically to `CMAKE_PREFIX_PATH` so that packages are correctly detected by CMake. Some additional flags are passed in to give similar behavior to configure-based packages. You can disable this hook’s behavior by setting `configurePhase` to a custom value, or by setting `dontUseCmakeConfigure`. `cmakeFlags` controls flags passed only to CMake. By default, parallel building is enabled as CMake supports parallel building almost everywhere. When Ninja is also in use, CMake will detect that and use the ninja generator.
|
||||
|
||||
### xcbuildHook {#xcbuildhook}
|
||||
|
||||
|
|
1
third_party/nixpkgs/lib/systems/default.nix
vendored
1
third_party/nixpkgs/lib/systems/default.nix
vendored
|
@ -36,6 +36,7 @@ rec {
|
|||
config = parse.tripleFromSystem final.parsed;
|
||||
# Determine whether we can execute binaries built for the provided platform.
|
||||
canExecute = platform:
|
||||
final.isAndroid == platform.isAndroid &&
|
||||
parse.isCompatible final.parsed.cpu platform.parsed.cpu
|
||||
&& final.parsed.kernel == platform.parsed.kernel;
|
||||
isCompatible = _: throw "2022-05-23: isCompatible has been removed in favor of canExecute, refer to the 22.11 changelog for details";
|
||||
|
|
10
third_party/nixpkgs/lib/systems/examples.nix
vendored
10
third_party/nixpkgs/lib/systems/examples.nix
vendored
|
@ -57,23 +57,23 @@ rec {
|
|||
armv7a-android-prebuilt = {
|
||||
config = "armv7a-unknown-linux-androideabi";
|
||||
rustc.config = "armv7-linux-androideabi";
|
||||
sdkVer = "29";
|
||||
ndkVer = "21";
|
||||
sdkVer = "28";
|
||||
ndkVer = "24";
|
||||
useAndroidPrebuilt = true;
|
||||
} // platforms.armv7a-android;
|
||||
|
||||
aarch64-android-prebuilt = {
|
||||
config = "aarch64-unknown-linux-android";
|
||||
rustc.config = "aarch64-linux-android";
|
||||
sdkVer = "29";
|
||||
ndkVer = "21";
|
||||
sdkVer = "28";
|
||||
ndkVer = "24";
|
||||
useAndroidPrebuilt = true;
|
||||
};
|
||||
|
||||
aarch64-android = {
|
||||
config = "aarch64-unknown-linux-android";
|
||||
sdkVer = "30";
|
||||
ndkVer = "21";
|
||||
ndkVer = "24";
|
||||
libc = "bionic";
|
||||
useAndroidPrebuilt = false;
|
||||
useLLVM = true;
|
||||
|
|
|
@ -417,6 +417,12 @@
|
|||
githubId = 4732885;
|
||||
name = "Ivan Jager";
|
||||
};
|
||||
aiotter = {
|
||||
email = "git@aiotter.com";
|
||||
github = "aiotter";
|
||||
githubId = 37664775;
|
||||
name = "Yuto Oguchi";
|
||||
};
|
||||
airwoodix = {
|
||||
email = "airwoodix@posteo.me";
|
||||
github = "airwoodix";
|
||||
|
@ -887,6 +893,13 @@
|
|||
githubId = 661909;
|
||||
name = "Antonio Nuno Monteiro";
|
||||
};
|
||||
anoa = {
|
||||
matrix = "@andrewm:amorgan.xyz";
|
||||
email = "andrew@amorgan.xyz";
|
||||
github = "anoadragon453";
|
||||
githubId = 1342360;
|
||||
name = "Andrew Morgan";
|
||||
};
|
||||
anpryl = {
|
||||
email = "anpryl@gmail.com";
|
||||
github = "anpryl";
|
||||
|
@ -3733,6 +3746,12 @@
|
|||
githubId = 1897147;
|
||||
name = "Elijah Caine";
|
||||
};
|
||||
Elinvention = {
|
||||
email = "elia@elinvention.ovh";
|
||||
github = "Elinvention";
|
||||
githubId = 5737945;
|
||||
name = "Elia Argentieri";
|
||||
};
|
||||
elitak = {
|
||||
email = "elitak@gmail.com";
|
||||
github = "elitak";
|
||||
|
@ -5393,6 +5412,13 @@
|
|||
githubId = 40234257;
|
||||
name = "ilkecan bozdogan";
|
||||
};
|
||||
ihatethefrench = {
|
||||
email = "michal@tar.black";
|
||||
matrix = "@michal:tar.black";
|
||||
github = "ihatethefrench";
|
||||
githubId = 30374463;
|
||||
name = "Michal S.";
|
||||
};
|
||||
illegalprime = {
|
||||
email = "themichaeleden@gmail.com";
|
||||
github = "illegalprime";
|
||||
|
@ -6109,6 +6135,12 @@
|
|||
githubId = 60272884;
|
||||
name = "Jonathan Jeppener-Haltenhoff";
|
||||
};
|
||||
jocelynthode = {
|
||||
email = "jocelyn.thode@gmail.com";
|
||||
github = "jocelynthode";
|
||||
githubId = 3967312;
|
||||
name = "Jocelyn Thode";
|
||||
};
|
||||
joelancaster = {
|
||||
email = "joe.a.lancas@gmail.com";
|
||||
github = "JoeLancaster";
|
||||
|
@ -6615,6 +6647,15 @@
|
|||
githubId = 15373888;
|
||||
name = "Claudius Holeksa";
|
||||
};
|
||||
ken-matsui = {
|
||||
email = "nix@kmatsui.me";
|
||||
github = "ken-matsui";
|
||||
githubId = 26405363;
|
||||
name = "Ken Matsui";
|
||||
keys = [{
|
||||
fingerprint = "3611 8CD3 6DE8 3334 B44A DDE4 1033 60B3 298E E433";
|
||||
}];
|
||||
};
|
||||
kennyballou = {
|
||||
email = "kb@devnulllabs.io";
|
||||
github = "kennyballou";
|
||||
|
@ -7857,6 +7898,12 @@
|
|||
githubId = 26470037;
|
||||
name = "Markus Kowalewski";
|
||||
};
|
||||
mariaa144 = {
|
||||
email = "speechguard_intensivist@aleeas.com";
|
||||
github = "mariaa144";
|
||||
githubId = 105451387;
|
||||
name = "Maria";
|
||||
};
|
||||
marijanp = {
|
||||
name = "Marijan Petričević";
|
||||
email = "marijan.petricevic94@gmail.com";
|
||||
|
@ -8923,6 +8970,15 @@
|
|||
githubId = 818502;
|
||||
name = "Nathan Yong";
|
||||
};
|
||||
natsukium = {
|
||||
email = "nixpkgs@natsukium.com";
|
||||
github = "natsukium";
|
||||
githubId = 25083790;
|
||||
name = "Tomoya Otabi";
|
||||
keys = [{
|
||||
fingerprint = "3D14 6004 004C F882 D519 6CD4 9EA4 5A31 DB99 4C53";
|
||||
}];
|
||||
};
|
||||
natto1784 = {
|
||||
email = "natto@weirdnatto.in";
|
||||
github = "natto1784";
|
||||
|
@ -9033,6 +9089,15 @@
|
|||
github = "nessdoor";
|
||||
githubId = 25993494;
|
||||
};
|
||||
netali = {
|
||||
name = "Jennifer Graul";
|
||||
email = "me@netali.de";
|
||||
github = "NetaliDev";
|
||||
githubId = 15304894;
|
||||
keys = [{
|
||||
fingerprint = "F729 2594 6F58 0B05 8FB3 F271 9C55 E636 426B 40A9";
|
||||
}];
|
||||
};
|
||||
netcrns = {
|
||||
email = "jason.wing@gmx.de";
|
||||
github = "netcrns";
|
||||
|
@ -9286,6 +9351,12 @@
|
|||
githubId = 40049608;
|
||||
name = "Andy Chun";
|
||||
};
|
||||
nook = {
|
||||
name = "Tom Nook";
|
||||
email = "0xnook@protonmail.com";
|
||||
github = "0xnook";
|
||||
githubId = 88323754;
|
||||
};
|
||||
noreferences = {
|
||||
email = "norkus@norkus.net";
|
||||
github = "jozuas";
|
||||
|
@ -11498,6 +11569,13 @@
|
|||
githubId = 543055;
|
||||
name = "Shadaj Laddad";
|
||||
};
|
||||
shadowrz = {
|
||||
email = "shadowrz+nixpkgs@disroot.org";
|
||||
matrix = "@ShadowRZ:matrixim.cc";
|
||||
github = "ShadowRZ";
|
||||
githubId = 23130178;
|
||||
name = "夜坂雅";
|
||||
};
|
||||
shahrukh330 = {
|
||||
email = "shahrukh330@gmail.com";
|
||||
github = "shahrukh330";
|
||||
|
|
|
@ -2,30 +2,159 @@
|
|||
#! nix-shell -i bash -p coreutils findutils gnused nix wget
|
||||
|
||||
set -efuo pipefail
|
||||
export LC_COLLATE=C # fix sort order
|
||||
|
||||
SRCS=
|
||||
if [ -d "$1" ]; then
|
||||
SRCS="$(pwd)/$1/srcs.nix"
|
||||
. "$1/fetch.sh"
|
||||
else
|
||||
SRCS="$(pwd)/$(dirname $1)/srcs.nix"
|
||||
. "$1"
|
||||
# parse files and folders from https://download.kde.org/ and https://download.qt.io/
|
||||
# you can override this function in fetch.sh
|
||||
function PARSE_INDEX() {
|
||||
cat "$1" | grep -o -E -e '\s+href="[^"]+\.tar\.xz"' -e '\s+href="[-_a-zA-Z0-9]+/"' | cut -d'"' -f2 | sort | uniq
|
||||
}
|
||||
|
||||
if [ $# != 1 ]; then
|
||||
echo "example use:" >&2
|
||||
echo "cd nixpkgs/" >&2
|
||||
echo "./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/qt-5/5.12" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
tmp=$(mktemp -d)
|
||||
pushd $tmp >/dev/null
|
||||
wget -nH -r -c --no-parent "${WGET_ARGS[@]}" >/dev/null
|
||||
if ! echo "$1" | grep -q '^pkgs/'; then
|
||||
echo "error: path argument must start with pkgs/" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
csv=$(mktemp)
|
||||
find . -type f | while read src; do
|
||||
# need absolute path for the pushd-popd block
|
||||
if [ -f "$1" ]; then
|
||||
echo "ok: using fetchfile $1"
|
||||
fetchfilerel="$1"
|
||||
fetchfile="$(readlink -f "$fetchfilerel")" # resolve absolute path
|
||||
basedir="$(dirname "$fetchfile")"
|
||||
basedirrel="$(dirname "$fetchfilerel")"
|
||||
elif [ -d "$1" ]; then
|
||||
echo "ok: using basedir $1"
|
||||
basedirrel="$1"
|
||||
basedir="$(readlink -f "$basedirrel")" # resolve absolute path
|
||||
if ! [ -d "$basedir" ]; then
|
||||
basedir="$(dirname "$basedir")"
|
||||
fi
|
||||
fetchfile="$basedir/fetch.sh"
|
||||
else
|
||||
echo 'error: $1 must be file or dir' >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
pkgname=$(basename "$basedir")
|
||||
SRCS="$basedir/srcs.nix"
|
||||
srcsrel="$basedirrel/srcs.nix"
|
||||
|
||||
source "$fetchfile"
|
||||
|
||||
if [ -n "$WGET_ARGS" ]; then # old format
|
||||
BASE_URL="${WGET_ARGS[0]}" # convert to new format
|
||||
# validate
|
||||
if ! echo "$BASE_URL" | grep -q -E '^(http|https|ftp)://'; then
|
||||
printf 'error: from WGET_ARGS, converted invalid BASE_URL: %q\n' "$BASE_URL" >&2
|
||||
exit 1
|
||||
fi
|
||||
printf 'ok: from WGET_ARGS, converted BASE_URL: %q\n' "$BASE_URL"
|
||||
elif [ -n "$BASE_URL" ]; then # new format
|
||||
:
|
||||
else
|
||||
echo "error: fetch.sh must set either WGET_ARGS or BASE_URL" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
tmptpl=tmp.fetch-kde-qt.$pkgname.XXXXXXXXXX
|
||||
|
||||
tmp=$(mktemp -d $tmptpl)
|
||||
pushd $tmp >/dev/null
|
||||
echo "tempdir is $tmp"
|
||||
|
||||
wgetargs='--quiet --show-progress'
|
||||
#wgetargs='' # debug
|
||||
|
||||
dirlist="$BASE_URL"
|
||||
filelist=""
|
||||
base_url_len=${#BASE_URL}
|
||||
|
||||
clean_urls() {
|
||||
# // -> /
|
||||
sed -E 's,//+,/,g' | sed -E 's,^(http|https|ftp):/,&/,'
|
||||
}
|
||||
|
||||
while [ -n "$dirlist" ]
|
||||
do
|
||||
for dirurl in $dirlist
|
||||
do
|
||||
echo "fetching index.html from $dirurl"
|
||||
relpath=$(echo "./${dirurl:$base_url_len}" | clean_urls)
|
||||
mkdir -p "$relpath"
|
||||
indexfile=$(echo "$relpath/index.html" | clean_urls)
|
||||
wget $wgetargs -O "$indexfile" "$dirurl"
|
||||
echo "parsing $indexfile"
|
||||
filedirlist="$(PARSE_INDEX "$indexfile")"
|
||||
filelist_next="$(echo "$filedirlist" | grep '\.tar\.xz$' | while read file; do echo "$dirurl/$file"; done)"
|
||||
filelist_next="$(echo "$filelist_next" | clean_urls)"
|
||||
[ -n "$filelist" ] && filelist+=$'\n'
|
||||
filelist+="$filelist_next"
|
||||
dirlist="$(echo "$filedirlist" | grep -v '\.tar\.xz$' | while read dir; do echo "$dirurl/$dir"; done || true)"
|
||||
dirlist="$(echo "$dirlist" | clean_urls)"
|
||||
done
|
||||
done
|
||||
|
||||
filecount=$(echo "$filelist" | wc -l)
|
||||
|
||||
if [ -z "$filelist" ]
|
||||
then
|
||||
echo "error: no files parsed from $tmp/index.html"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "parsed $filecount tar.xz files:"; echo "$filelist"
|
||||
|
||||
# most time is spent here
|
||||
echo "fetching $filecount sha256 files ..."
|
||||
urllist="$(echo "$filelist" | while read file; do echo "$file.sha256"; done)"
|
||||
# wget -r: keep directory structure
|
||||
echo "$urllist" | xargs wget $wgetargs -nH -r -c --no-parent && {
|
||||
actual=$(find . -type f -name '*.sha256' | wc -l)
|
||||
echo "fetching $filecount sha256 files done: got $actual files"
|
||||
} || {
|
||||
# workaround: in rare cases, the server does not provide the sha256 files
|
||||
# for example when the release is just a few hours old
|
||||
# and the servers are not yet fully synced
|
||||
actual=$(find . -type f -name '*.sha256' | wc -l)
|
||||
echo "fetching $filecount sha256 files failed: got only $actual files"
|
||||
|
||||
# TODO fetch only missing tar.xz files
|
||||
echo "fetching $filecount tar.xz files ..."
|
||||
urllist="$(echo "$filelist" | while read file; do echo "$BASE_URL/$file"; done)"
|
||||
echo "$urllist" | xargs wget $wgetargs -nH -r -c --no-parent
|
||||
|
||||
echo "generating sha256 files ..."
|
||||
find . -type f -name '*.tar.xz' | while read src; do
|
||||
name=$(basename "$src")
|
||||
sha256=$(sha256sum "$src" | cut -d' ' -f1)
|
||||
echo "$sha256 $name" >"$src.sha256"
|
||||
done
|
||||
}
|
||||
|
||||
csv=$(mktemp $tmptpl.csv)
|
||||
echo "writing temporary file $csv ..."
|
||||
find . -type f -name '*.sha256' | while read sha256file; do
|
||||
src="${sha256file%.*}" # remove extension
|
||||
sha256=$(cat $sha256file | cut -d' ' -f1) # base16
|
||||
sha256=$(nix-hash --type sha256 --to-base32 $sha256)
|
||||
# Sanitize file name
|
||||
filename=$(basename "$src" | tr '@' '_')
|
||||
nameVersion="${filename%.tar.*}"
|
||||
name=$(echo "$nameVersion" | sed -e 's,-[[:digit:]].*,,' | sed -e 's,-opensource-src$,,' | sed -e 's,-everywhere-src$,,')
|
||||
version=$(echo "$nameVersion" | sed -e 's,^\([[:alpha:]][[:alnum:]]*-\)\+,,')
|
||||
echo "$name,$version,$src,$filename" >>$csv
|
||||
echo "$name,$version,$src,$filename,$sha256" >>$csv
|
||||
done
|
||||
|
||||
files_before=$(grep -c 'src = ' "$SRCS")
|
||||
|
||||
echo "writing output file $SRCS ..."
|
||||
cat >"$SRCS" <<EOF
|
||||
# DO NOT EDIT! This file is generated automatically.
|
||||
# Command: $0 $@
|
||||
|
@ -39,8 +168,8 @@ gawk -F , "{ print \$1 }" $csv | sort | uniq | while read name; do
|
|||
latestVersion=$(echo "$versions" | sort -rV | head -n 1)
|
||||
src=$(gawk -F , "/^$name,$latestVersion,/ { print \$3 }" $csv)
|
||||
filename=$(gawk -F , "/^$name,$latestVersion,/ { print \$4 }" $csv)
|
||||
sha256=$(gawk -F , "/^$name,$latestVersion,/ { print \$5 }" $csv)
|
||||
url="${src:2}"
|
||||
sha256=$(nix-hash --type sha256 --base32 --flat "$src")
|
||||
cat >>"$SRCS" <<EOF
|
||||
$name = {
|
||||
version = "$latestVersion";
|
||||
|
@ -55,6 +184,13 @@ done
|
|||
|
||||
echo "}" >>"$SRCS"
|
||||
|
||||
files_after=$(grep -c 'src = ' "$SRCS")
|
||||
echo "files before: $files_before"
|
||||
echo "files after: $files_after"
|
||||
|
||||
echo "compare:"
|
||||
echo "git diff $srcsrel"
|
||||
|
||||
popd >/dev/null
|
||||
rm -fr $tmp >/dev/null
|
||||
|
||||
|
|
|
@ -362,7 +362,6 @@ with foo_running:
|
|||
... # Put `foo` through its paces
|
||||
```
|
||||
|
||||
|
||||
`polling_condition` takes the following (optional) arguments:
|
||||
|
||||
`seconds_interval`
|
||||
|
@ -407,6 +406,9 @@ import ./make-test-python.nix
|
|||
|
||||
nodes = { };
|
||||
|
||||
# Type checking on extra packages doesn't work yet
|
||||
skipTypeCheck = true;
|
||||
|
||||
testScript = ''
|
||||
import numpy as np
|
||||
assert str(np.zeros(4) == "array([0., 0., 0., 0.])")
|
||||
|
|
|
@ -680,6 +680,9 @@ import ./make-test-python.nix
|
|||
|
||||
nodes = { };
|
||||
|
||||
# Type checking on extra packages doesn't work yet
|
||||
skipTypeCheck = true;
|
||||
|
||||
testScript = ''
|
||||
import numpy as np
|
||||
assert str(np.zeros(4) == "array([0., 0., 0., 0.])")
|
||||
|
|
|
@ -341,6 +341,15 @@
|
|||
Add udev rules for the Teensy family of microcontrollers.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The <literal>pass-secret-service</literal> package now
|
||||
includes systemd units from upstream, so adding it to the
|
||||
NixOS <literal>services.dbus.packages</literal> option will
|
||||
make it start automatically as a systemd user service when an
|
||||
application tries to talk to the libsecret D-Bus API.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
There is a new module for the <literal>thunar</literal>
|
||||
|
|
|
@ -128,6 +128,8 @@ Use `configure.packages` instead.
|
|||
|
||||
- Add udev rules for the Teensy family of microcontrollers.
|
||||
|
||||
- The `pass-secret-service` package now includes systemd units from upstream, so adding it to the NixOS `services.dbus.packages` option will make it start automatically as a systemd user service when an application tries to talk to the libsecret D-Bus API.
|
||||
|
||||
- There is a new module for the `thunar` program (the Xfce file manager), which depends on the `xfconf` dbus service, and also has a dbus service and a systemd unit. The option `services.xserver.desktopManager.xfce.thunarPlugins` has been renamed to `programs.thunar.plugins`, and in a future release it may be removed.
|
||||
|
||||
- There is a new module for the `xfconf` program (the Xfce configuration storage system), which has a dbus service.
|
||||
|
|
|
@ -53,16 +53,16 @@ with lib;
|
|||
|
||||
supportedLocales = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = builtins.map (l: l + "/UTF-8")
|
||||
(unique (
|
||||
default = unique
|
||||
(builtins.map (l: (replaceStrings [ "utf8" "utf-8" "UTF8" ] [ "UTF-8" "UTF-8" "UTF-8" ] l) + "/UTF-8") (
|
||||
[
|
||||
"C.UTF-8"
|
||||
config.i18n.defaultLocale
|
||||
] ++ (attrValues (filterAttrs (n: v: n != "LANGUAGE") config.i18n.extraLocaleSettings))
|
||||
));
|
||||
defaultText = literalExpression ''
|
||||
builtins.map (l: l + "/UTF-8")
|
||||
(unique (
|
||||
unique
|
||||
(builtins.map (l: (replaceStrings [ "utf8" "utf-8" "UTF8" ] [ "UTF-8" "UTF-8" "UTF-8" ] l) + "/UTF-8") (
|
||||
[
|
||||
"C.UTF-8"
|
||||
config.i18n.defaultLocale
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
x86_64-linux = "/nix/store/6g4fla3vkcxihph282a0v3cd10709y7c-nix-2.9.1";
|
||||
i686-linux = "/nix/store/j143221z44469zx21f5m9a47x7y1jpr5-nix-2.9.1";
|
||||
aarch64-linux = "/nix/store/c4z3vy1sgm49la8bvmdrrpssgk4iw2nk-nix-2.9.1";
|
||||
x86_64-darwin = "/nix/store/cqdwb7khf6zg94bz7lnvfjqx6z775qaw-nix-2.9.1";
|
||||
aarch64-darwin = "/nix/store/1brkxcs287n1px2i4fq39l7h51hjv0f8-nix-2.9.1";
|
||||
x86_64-linux = "/nix/store/3af6g226v4hsv6x7xzh23d6wqyq0nzjp-nix-2.10.3";
|
||||
i686-linux = "/nix/store/43xxh2jip6rpdhylc5z9a5fxx54dw206-nix-2.10.3";
|
||||
aarch64-linux = "/nix/store/6qw3r57nra08ars8j8zyj3fl8lz4cvnd-nix-2.10.3";
|
||||
x86_64-darwin = "/nix/store/3b7qrm0qjw57fmznrsvm0ai568i89hc2-nix-2.10.3";
|
||||
aarch64-darwin = "/nix/store/gp7k17iy1n7hgf97qwnxw28c6v9nhb1i-nix-2.10.3";
|
||||
}
|
||||
|
|
21
third_party/nixpkgs/nixos/modules/misc/ids.nix
vendored
21
third_party/nixpkgs/nixos/modules/misc/ids.nix
vendored
|
@ -667,6 +667,27 @@ in
|
|||
# uid. Users and groups with the same name should have equal
|
||||
# uids and gids. Also, don't use gids above 399!
|
||||
|
||||
# For exceptional cases where you really need a gid above 399, leave a
|
||||
# comment stating why.
|
||||
#
|
||||
# Also, avoid the following GID ranges:
|
||||
#
|
||||
# 1000 - 29999: user accounts (see ../config/update-users-groups.pl)
|
||||
# 30000 - 31000: nixbld users (the upper limit is arbitrarily chosen)
|
||||
# 61184 - 65519: systemd DynamicUser (see systemd.exec(5))
|
||||
# 65535: the error return sentinel value when uid_t was 16 bits
|
||||
#
|
||||
# 100000 - 6653600: subgid allocated for user namespaces
|
||||
# (see ../config/update-users-groups.pl)
|
||||
# 4294967294: unauthenticated user in some NFS implementations
|
||||
# 4294967295: error return sentinel value
|
||||
#
|
||||
# References:
|
||||
# https://www.debian.org/doc/debian-policy/ch-opersys.html#uid-and-gid-classes
|
||||
|
||||
onepassword = 31001; # 1Password requires that its GID be larger than 1000
|
||||
onepassword-cli = 31002; # 1Password requires that its GID be larger than 1000
|
||||
|
||||
users = 100;
|
||||
nixbld = 30000;
|
||||
nogroup = 65534;
|
||||
|
|
|
@ -11,7 +11,7 @@ in
|
|||
options.system = {
|
||||
|
||||
nixos.label = mkOption {
|
||||
type = types.str;
|
||||
type = types.strMatching "[a-zA-Z0-9:_\\.-]*";
|
||||
description = ''
|
||||
NixOS version name to be used in the names of generated
|
||||
outputs and boot labels.
|
||||
|
@ -19,6 +19,9 @@ in
|
|||
If you ever wanted to influence the labels in your GRUB menu,
|
||||
this is the option for you.
|
||||
|
||||
It can only contain letters, numbers and the following symbols:
|
||||
<literal>:</literal>, <literal>_</literal>, <literal>.</literal> and <literal>-</literal>.
|
||||
|
||||
The default is <option>system.nixos.tags</option> separated by
|
||||
"-" + "-" + <envar>NIXOS_LABEL_VERSION</envar> environment
|
||||
variable (defaults to the value of
|
||||
|
|
|
@ -215,6 +215,7 @@
|
|||
./programs/systemtap.nix
|
||||
./programs/starship.nix
|
||||
./programs/steam.nix
|
||||
./programs/streamdeck-ui.nix
|
||||
./programs/sway.nix
|
||||
./programs/system-config-printer.nix
|
||||
./programs/thefuck.nix
|
||||
|
@ -1002,6 +1003,7 @@
|
|||
./services/security/oauth2_proxy.nix
|
||||
./services/security/oauth2_proxy_nginx.nix
|
||||
./services/security/opensnitch.nix
|
||||
./services/security/pass-secret-service.nix
|
||||
./services/security/privacyidea.nix
|
||||
./services/security/physlock.nix
|
||||
./services/security/shibboleth-sp.nix
|
||||
|
|
|
@ -8,19 +8,16 @@ let
|
|||
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
(mkRemovedOptionModule [ "programs" "_1password-gui" "gid" ] ''
|
||||
A preallocated GID will be used instead.
|
||||
'')
|
||||
];
|
||||
|
||||
options = {
|
||||
programs._1password-gui = {
|
||||
enable = mkEnableOption "the 1Password GUI application";
|
||||
|
||||
gid = mkOption {
|
||||
type = types.addCheck types.int (x: x >= 1000);
|
||||
example = literalExpression "5000";
|
||||
description = ''
|
||||
The gid to assign to the onepassword group, which is needed for browser integration.
|
||||
It must be 1000 or greater.
|
||||
'';
|
||||
};
|
||||
|
||||
polkitPolicyOwners = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ ];
|
||||
|
@ -44,7 +41,7 @@ in
|
|||
in
|
||||
mkIf cfg.enable {
|
||||
environment.systemPackages = [ package ];
|
||||
users.groups.onepassword.gid = cfg.gid;
|
||||
users.groups.onepassword.gid = config.ids.gids.onepassword;
|
||||
|
||||
security.wrappers = {
|
||||
"1Password-BrowserSupport" = {
|
||||
|
|
|
@ -8,19 +8,16 @@ let
|
|||
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
(mkRemovedOptionModule [ "programs" "_1password" "gid" ] ''
|
||||
A preallocated GID will be used instead.
|
||||
'')
|
||||
];
|
||||
|
||||
options = {
|
||||
programs._1password = {
|
||||
enable = mkEnableOption "the 1Password CLI tool";
|
||||
|
||||
gid = mkOption {
|
||||
type = types.addCheck types.int (x: x >= 1000);
|
||||
example = literalExpression "5001";
|
||||
description = ''
|
||||
The gid to assign to the onepassword-cli group, which is needed for integration with the 1Password GUI.
|
||||
It must be 1000 or greater.
|
||||
'';
|
||||
};
|
||||
|
||||
package = mkPackageOption pkgs "1Password CLI" {
|
||||
default = [ "_1password" ];
|
||||
};
|
||||
|
@ -29,7 +26,7 @@ in
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
users.groups.onepassword-cli.gid = cfg.gid;
|
||||
users.groups.onepassword-cli.gid = config.ids.gids.onepassword-cli;
|
||||
|
||||
security.wrappers = {
|
||||
"op" = {
|
||||
|
|
|
@ -6,7 +6,7 @@ let
|
|||
cfg = config.programs.dmrconfig;
|
||||
|
||||
in {
|
||||
meta.maintainers = [ maintainers.etu ];
|
||||
meta.maintainers = with maintainers; [ ];
|
||||
|
||||
###### interface
|
||||
options = {
|
||||
|
|
28
third_party/nixpkgs/nixos/modules/programs/streamdeck-ui.nix
vendored
Normal file
28
third_party/nixpkgs/nixos/modules/programs/streamdeck-ui.nix
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.programs.streamdeck-ui;
|
||||
in {
|
||||
options.programs.streamdeck-ui = {
|
||||
enable = mkEnableOption "streamdeck-ui";
|
||||
|
||||
autoStart = mkOption {
|
||||
default = true;
|
||||
type = types.bool;
|
||||
description = "Whether streamdeck-ui should be started automatically.";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
streamdeck-ui
|
||||
(mkIf cfg.autoStart (makeAutostartItem { name = "streamdeck-ui"; package = streamdeck-ui; }))
|
||||
];
|
||||
|
||||
services.udev.packages = with pkgs; [ streamdeck-ui ];
|
||||
};
|
||||
|
||||
meta.maintainers = with maintainers; [ majiir ];
|
||||
}
|
|
@ -483,7 +483,8 @@ let
|
|||
auth ${p11.control} ${pkgs.pam_p11}/lib/security/pam_p11.so ${pkgs.opensc}/lib/opensc-pkcs11.so
|
||||
'') +
|
||||
(let u2f = config.security.pam.u2f; in optionalString cfg.u2fAuth ''
|
||||
auth ${u2f.control} ${pkgs.pam_u2f}/lib/security/pam_u2f.so ${optionalString u2f.debug "debug"} ${optionalString (u2f.authFile != null) "authfile=${u2f.authFile}"} ${optionalString u2f.interactive "interactive"} ${optionalString u2f.cue "cue"} ${optionalString (u2f.appId != null) "appid=${u2f.appId}"}
|
||||
auth ${u2f.control} ${pkgs.pam_u2f}/lib/security/pam_u2f.so ${optionalString u2f.debug "debug"} ${optionalString (u2f.authFile != null) "authfile=${u2f.authFile}"} ''
|
||||
+ ''${optionalString u2f.interactive "interactive"} ${optionalString u2f.cue "cue"} ${optionalString (u2f.appId != null) "appid=${u2f.appId}"} ${optionalString (u2f.origin != null) "origin=${u2f.origin}"}
|
||||
'') +
|
||||
optionalString cfg.usbAuth ''
|
||||
auth sufficient ${pkgs.pam_usb}/lib/security/pam_usb.so
|
||||
|
@ -895,6 +896,24 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
origin = mkOption {
|
||||
default = null;
|
||||
type = with types; nullOr str;
|
||||
description = ''
|
||||
By default <literal>pam-u2f</literal> module sets the origin
|
||||
to <literal>pam://$HOSTNAME</literal>.
|
||||
Setting origin to an host independent value will allow you to
|
||||
reuse credentials across machines
|
||||
|
||||
When using <command>pamu2fcfg</command>, you can specify your
|
||||
application ID with the <literal>-o</literal> flag.
|
||||
|
||||
More information can be found <link
|
||||
xlink:href="https://developers.yubico.com/pam-u2f/Manuals/pam_u2f.8.html">
|
||||
here</link>
|
||||
'';
|
||||
};
|
||||
|
||||
control = mkOption {
|
||||
default = "sufficient";
|
||||
type = types.enum [ "required" "requisite" "sufficient" "optional" ];
|
||||
|
|
|
@ -23,7 +23,11 @@ let
|
|||
infraContainer = pkgs.dockerTools.buildImage {
|
||||
name = "pause";
|
||||
tag = "latest";
|
||||
contents = top.package.pause;
|
||||
copyToRoot = pkgs.buildEnv {
|
||||
name = "image-root";
|
||||
pathsToLink = [ "/bin" ];
|
||||
paths = [ top.package.pause ];
|
||||
};
|
||||
config.Cmd = ["/bin/pause"];
|
||||
};
|
||||
|
||||
|
|
|
@ -156,12 +156,22 @@ in {
|
|||
reloadScript = ''
|
||||
echo "Asking Jenkins to reload config"
|
||||
curl_opts="--silent --fail --show-error"
|
||||
access_token=${if cfg.accessTokenFile != ""
|
||||
then "$(cat '${cfg.accessTokenFile}')"
|
||||
else cfg.accessToken}
|
||||
jenkins_url="http://${cfg.accessUser}:$access_token@${jenkinsCfg.listenAddress}:${toString jenkinsCfg.port}${jenkinsCfg.prefix}"
|
||||
crumb=$(curl $curl_opts "$jenkins_url"'/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)')
|
||||
curl $curl_opts -X POST -H "$crumb" "$jenkins_url"/reload
|
||||
access_token_file=${if cfg.accessTokenFile != ""
|
||||
then cfg.accessTokenFile
|
||||
else "$RUNTIME_DIRECTORY/jenkins_access_token.txt"}
|
||||
if [ "${cfg.accessToken}" != "" ]; then
|
||||
(umask 0077; printf "${cfg.accessToken}" >"$access_token_file")
|
||||
fi
|
||||
jenkins_url="http://${jenkinsCfg.listenAddress}:${toString jenkinsCfg.port}${jenkinsCfg.prefix}"
|
||||
auth_file="$RUNTIME_DIRECTORY/jenkins_auth_file.txt"
|
||||
trap 'rm -f "$auth_file"' EXIT
|
||||
(umask 0077; printf "${cfg.accessUser}:@password_placeholder@" >"$auth_file")
|
||||
"${pkgs.replace-secret}/bin/replace-secret" "@password_placeholder@" "$access_token_file" "$auth_file"
|
||||
|
||||
if ! "${pkgs.jenkins}/bin/jenkins-cli" -s "$jenkins_url" -auth "@$auth_file" reload-configuration; then
|
||||
echo "error: failed to reload configuration"
|
||||
exit 1
|
||||
fi
|
||||
'';
|
||||
in
|
||||
''
|
||||
|
|
|
@ -54,7 +54,7 @@ in
|
|||
config = mkIf cfg.enable {
|
||||
|
||||
services.greetd.settings.terminal.vt = mkDefault cfg.vt;
|
||||
services.greetd.settings.default_session = mkDefault "greeter";
|
||||
services.greetd.settings.default_session.user = mkDefault "greeter";
|
||||
|
||||
security.pam.services.greetd = {
|
||||
allowNullPassword = true;
|
||||
|
|
|
@ -19,13 +19,13 @@ let
|
|||
# https://gitlab.com/gitlab-org/gitlab/-/issues/360783#note_992870101.
|
||||
gitPackage =
|
||||
let
|
||||
version = "2.35.3";
|
||||
version = "2.35.4";
|
||||
in
|
||||
pkgs.git.overrideAttrs (oldAttrs: rec {
|
||||
inherit version;
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
|
||||
sha256 = "sha256-FenbT5vy7Z//MMtioAxcfAkBAV9asEjNtOiwTd7gD6I=";
|
||||
sha256 = "sha256-mv13OdNkXggeKQkJ+47QcJ6lYmcw6Qjri1ZJ2ETCTOk=";
|
||||
};
|
||||
});
|
||||
|
||||
|
|
|
@ -49,7 +49,10 @@ in
|
|||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
# This is mostly follows: https://github.com/jellyfin/jellyfin/blob/master/fedora/jellyfin.service
|
||||
# Upstream also disable some hardenings when running in LXC, we do the same with the isContainer option
|
||||
serviceConfig = rec {
|
||||
Type = "simple";
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
StateDirectory = "jellyfin";
|
||||
|
@ -57,48 +60,50 @@ in
|
|||
CacheDirectory = "jellyfin";
|
||||
CacheDirectoryMode = "0700";
|
||||
UMask = "0077";
|
||||
WorkingDirectory = "/var/lib/jellyfin";
|
||||
ExecStart = "${cfg.package}/bin/jellyfin --datadir '/var/lib/${StateDirectory}' --cachedir '/var/cache/${CacheDirectory}'";
|
||||
Restart = "on-failure";
|
||||
TimeoutSec = 15;
|
||||
SuccessExitStatus = ["0" "143"];
|
||||
|
||||
# Security options:
|
||||
|
||||
NoNewPrivileges = true;
|
||||
|
||||
AmbientCapabilities = "";
|
||||
CapabilityBoundingSet = "";
|
||||
|
||||
# ProtectClock= adds DeviceAllow=char-rtc r
|
||||
DeviceAllow = "";
|
||||
|
||||
LockPersonality = true;
|
||||
|
||||
PrivateTmp = true;
|
||||
# Disabled to allow Jellyfin to access hw accel devices endpoints
|
||||
# PrivateDevices = true;
|
||||
PrivateUsers = true;
|
||||
|
||||
# Disabled as it does not allow Jellyfin to interface with CUDA devices
|
||||
# ProtectClock = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectHostname = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
|
||||
RemoveIPC = true;
|
||||
|
||||
RestrictNamespaces = true;
|
||||
SystemCallArchitectures = "native";
|
||||
# AF_NETLINK needed because Jellyfin monitors the network connection
|
||||
RestrictAddressFamilies = [ "AF_NETLINK" "AF_INET" "AF_INET6" "AF_UNIX" ];
|
||||
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" "AF_NETLINK" ];
|
||||
RestrictNamespaces = !config.boot.isContainer;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
ProtectControlGroups = !config.boot.isContainer;
|
||||
ProtectHostname = true;
|
||||
ProtectKernelLogs = !config.boot.isContainer;
|
||||
ProtectKernelModules = !config.boot.isContainer;
|
||||
ProtectKernelTunables = !config.boot.isContainer;
|
||||
LockPersonality = true;
|
||||
PrivateTmp = !config.boot.isContainer;
|
||||
# needed for hardware accelaration
|
||||
PrivateDevices = false;
|
||||
PrivateUsers = true;
|
||||
RemoveIPC = true;
|
||||
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallErrorNumber = "EPERM";
|
||||
SystemCallFilter = [
|
||||
"@system-service"
|
||||
"~@cpu-emulation" "~@debug" "~@keyring" "~@memlock" "~@obsolete" "~@privileged" "~@setuid"
|
||||
"~@clock"
|
||||
"~@aio"
|
||||
"~@chown"
|
||||
"~@cpu-emulation"
|
||||
"~@debug"
|
||||
"~@keyring"
|
||||
"~@memlock"
|
||||
"~@module"
|
||||
"~@mount"
|
||||
"~@obsolete"
|
||||
"~@privileged"
|
||||
"~@raw-io"
|
||||
"~@reboot"
|
||||
"~@setuid"
|
||||
"~@swap"
|
||||
];
|
||||
SystemCallErrorNumber = "EPERM";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -201,7 +201,7 @@ in {
|
|||
serviceConfig = {
|
||||
ExecStart = "${cfg.package}/bin/netdata -P /run/netdata/netdata.pid -D -c /etc/netdata/netdata.conf";
|
||||
ExecReload = "${pkgs.util-linux}/bin/kill -s HUP -s USR1 -s USR2 $MAINPID";
|
||||
ExecPostStart = ''while [ "$(netdatacli ping)" != pong ]; do sleep 0.5; done'';
|
||||
ExecStartPost = ''while [ "$(netdatacli ping)" != pong ]; do sleep 0.5; done'';
|
||||
|
||||
TimeoutStopSec = 60;
|
||||
Restart = "on-failure";
|
||||
|
|
|
@ -5,164 +5,136 @@ with lib;
|
|||
|
||||
let
|
||||
cfg = config.services.minidlna;
|
||||
port = 8200;
|
||||
settingsFormat = pkgs.formats.keyValue { listsAsDuplicateKeys = true; };
|
||||
settingsFile = settingsFormat.generate "minidlna.conf" cfg.settings;
|
||||
in
|
||||
|
||||
{
|
||||
###### interface
|
||||
options = {
|
||||
services.minidlna.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description =
|
||||
''
|
||||
Whether to enable MiniDLNA, a simple DLNA server. It serves
|
||||
media files such as video and music to DLNA client devices
|
||||
such as televisions and media players.
|
||||
'';
|
||||
};
|
||||
options.services.minidlna.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to enable MiniDLNA, a simple DLNA server.
|
||||
It serves media files such as video and music to DLNA client devices
|
||||
such as televisions and media players. If you use the firewall consider
|
||||
adding the following: <literal>services.minidlna.openFirewall = true;</literal>
|
||||
'';
|
||||
};
|
||||
|
||||
services.minidlna.mediaDirs = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = [ "/data/media" "V,/home/alice/video" ];
|
||||
description =
|
||||
''
|
||||
Directories to be scanned for media files. The prefixes
|
||||
<literal>A,</literal>, <literal>V,</literal> and
|
||||
options.services.minidlna.openFirewall = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to open both HTTP (TCP) and SSDP (UDP) ports in the firewall.
|
||||
'';
|
||||
};
|
||||
|
||||
options.services.minidlna.settings = mkOption {
|
||||
default = {};
|
||||
description = ''
|
||||
The contents of MiniDLNA's configuration file.
|
||||
When the service is activated, a basic template is generated
|
||||
from the current options opened here.
|
||||
'';
|
||||
type = types.submodule {
|
||||
freeformType = settingsFormat.type;
|
||||
|
||||
options.media_dir = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = [ "/data/media" "V,/home/alice/video" ];
|
||||
description = ''
|
||||
Directories to be scanned for media files.
|
||||
The prefixes <literal>A,</literal>,<literal>V,</literal> and
|
||||
<literal>P,</literal> restrict a directory to audio, video
|
||||
or image files. The directories must be accessible to the
|
||||
or image files. The directories must be accessible to the
|
||||
<literal>minidlna</literal> user account.
|
||||
'';
|
||||
};
|
||||
|
||||
services.minidlna.friendlyName = mkOption {
|
||||
type = types.str;
|
||||
default = "${config.networking.hostName} MiniDLNA";
|
||||
defaultText = literalExpression ''"''${config.networking.hostName} MiniDLNA"'';
|
||||
example = "rpi3";
|
||||
description =
|
||||
''
|
||||
Name that the DLNA server presents to clients.
|
||||
'';
|
||||
};
|
||||
|
||||
services.minidlna.rootContainer = mkOption {
|
||||
type = types.str;
|
||||
default = ".";
|
||||
example = "B";
|
||||
description =
|
||||
''
|
||||
Use a different container as the root of the directory tree presented
|
||||
to clients. The possible values are:
|
||||
- "." - standard container
|
||||
- "B" - "Browse Directory"
|
||||
- "M" - "Music"
|
||||
- "P" - "Pictures"
|
||||
- "V" - "Video"
|
||||
- Or, you can specify the ObjectID of your desired root container
|
||||
(eg. 1$F for Music/Playlists)
|
||||
If you specify "B" and the client device is audio-only then
|
||||
"Music/Folders" will be used as root.
|
||||
'';
|
||||
};
|
||||
|
||||
services.minidlna.loglevel = mkOption {
|
||||
type = types.str;
|
||||
default = "warn";
|
||||
example = "general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn";
|
||||
description =
|
||||
''
|
||||
Defines the type of messages that should be logged, and down to
|
||||
which level of importance they should be considered.
|
||||
|
||||
The possible types are “artwork”, “database”, “general”, “http”,
|
||||
“inotify”, “metadata”, “scanner”, “ssdp” and “tivo”.
|
||||
|
||||
The levels are “off”, “fatal”, “error”, “warn”, “info” and
|
||||
“debug”, listed here in order of decreasing importance. “off”
|
||||
turns off logging messages entirely, “fatal” logs the most
|
||||
critical messages only, and so on down to “debug” that logs every
|
||||
single messages.
|
||||
|
||||
The types are comma-separated, followed by an equal sign (‘=’),
|
||||
followed by a level that applies to the preceding types. This can
|
||||
be repeated, separating each of these constructs with a comma.
|
||||
|
||||
Defaults to “general,artwork,database,inotify,scanner,metadata,
|
||||
http,ssdp,tivo=warn” which logs every type of message at the
|
||||
“warn” level.
|
||||
'';
|
||||
};
|
||||
|
||||
services.minidlna.announceInterval = mkOption {
|
||||
type = types.int;
|
||||
default = 895;
|
||||
description =
|
||||
''
|
||||
};
|
||||
options.notify_interval = mkOption {
|
||||
type = types.int;
|
||||
default = 90000;
|
||||
description = ''
|
||||
The interval between announces (in seconds).
|
||||
Instead of waiting on announces, one can open port UDP 1900 or
|
||||
set <literal>openFirewall</literal> option to use SSDP discovery.
|
||||
Furthermore announce interval has now been set as 90000 in order
|
||||
to prevent disconnects with certain clients and to rely solely
|
||||
on the SSDP method.
|
||||
|
||||
By default miniDLNA will announce its presence on the network
|
||||
approximately every 15 minutes.
|
||||
Lower values (e.g. 60 seconds) should be used if one does not
|
||||
want to utilize SSDP. By default miniDLNA will announce its
|
||||
presence on the network approximately every 15 minutes. Many
|
||||
people prefer shorter announce intervals on their home networks,
|
||||
especially when DLNA clients are started on demand.
|
||||
|
||||
Many people prefer shorter announce intervals (e.g. 60 seconds)
|
||||
on their home networks, especially when DLNA clients are
|
||||
started on demand.
|
||||
Some relevant information can be found here:
|
||||
https://sourceforge.net/p/minidlna/discussion/879957/thread/1389d197/
|
||||
'';
|
||||
};
|
||||
|
||||
services.minidlna.config = mkOption {
|
||||
type = types.lines;
|
||||
description =
|
||||
''
|
||||
The contents of MiniDLNA's configuration file.
|
||||
When the service is activated, a basic template is generated
|
||||
from the current options opened here.
|
||||
'';
|
||||
};
|
||||
|
||||
services.minidlna.extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
example = ''
|
||||
# Not exhaustive example
|
||||
# Support for streaming .jpg and .mp3 files to a TiVo supporting HMO.
|
||||
enable_tivo=no
|
||||
# SSDP notify interval, in seconds.
|
||||
notify_interval=10
|
||||
# maximum number of simultaneous connections
|
||||
# note: many clients open several simultaneous connections while
|
||||
# streaming
|
||||
max_connections=50
|
||||
# set this to yes to allow symlinks that point outside user-defined
|
||||
# media_dirs.
|
||||
wide_links=yes
|
||||
'';
|
||||
description =
|
||||
''
|
||||
Extra minidlna options not yet opened for configuration here
|
||||
(strict_dlna, model_number, model_name, etc...). This is appended
|
||||
to the current service already provided.
|
||||
'';
|
||||
};
|
||||
options.port = mkOption {
|
||||
type = types.port;
|
||||
default = 8200;
|
||||
description = "Port number for HTTP traffic (descriptions, SOAP, media transfer).";
|
||||
};
|
||||
options.db_dir = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/cache/minidlna";
|
||||
example = "/tmp/minidlna";
|
||||
description = "Specify the directory where you want MiniDLNA to store its database and album art cache.";
|
||||
};
|
||||
options.friendly_name = mkOption {
|
||||
type = types.str;
|
||||
default = "${config.networking.hostName} MiniDLNA";
|
||||
defaultText = literalExpression "config.networking.hostName";
|
||||
example = "rpi3";
|
||||
description = "Name that the DLNA server presents to clients.";
|
||||
};
|
||||
options.root_container = mkOption {
|
||||
type = types.str;
|
||||
default = ".";
|
||||
example = "B";
|
||||
description = "Use a different container as the root of the directory tree presented to clients.";
|
||||
};
|
||||
options.log_level = mkOption {
|
||||
type = types.str;
|
||||
default = "warn";
|
||||
example = "general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn";
|
||||
description = "Defines the type of messages that should be logged and down to which level of importance.";
|
||||
};
|
||||
options.inotify = mkOption {
|
||||
type = types.enum [ "yes" "no" ];
|
||||
default = "no";
|
||||
description = "Whether to enable inotify monitoring to automatically discover new files.";
|
||||
};
|
||||
options.enable_tivo = mkOption {
|
||||
type = types.enum [ "yes" "no" ];
|
||||
default = "no";
|
||||
description = "Support for streaming .jpg and .mp3 files to a TiVo supporting HMO.";
|
||||
};
|
||||
options.wide_links = mkOption {
|
||||
type = types.enum [ "yes" "no" ];
|
||||
default = "no";
|
||||
description = "Set this to yes to allow symlinks that point outside user-defined media_dirs.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
(mkRemovedOptionModule [ "services" "minidlna" "config" ] "")
|
||||
(mkRemovedOptionModule [ "services" "minidlna" "extraConfig" ] "")
|
||||
(mkRenamedOptionModule [ "services" "minidlna" "loglevel"] [ "services" "minidlna" "settings" "log_level" ])
|
||||
(mkRenamedOptionModule [ "services" "minidlna" "rootContainer"] [ "services" "minidlna" "settings" "root_container" ])
|
||||
(mkRenamedOptionModule [ "services" "minidlna" "mediaDirs"] [ "services" "minidlna" "settings" "media_dir" ])
|
||||
(mkRenamedOptionModule [ "services" "minidlna" "friendlyName"] [ "services" "minidlna" "settings" "friendly_name" ])
|
||||
(mkRenamedOptionModule [ "services" "minidlna" "announceInterval"] [ "services" "minidlna" "settings" "notify_interval" ])
|
||||
];
|
||||
|
||||
###### implementation
|
||||
config = mkIf cfg.enable {
|
||||
services.minidlna.config =
|
||||
''
|
||||
port=${toString port}
|
||||
friendly_name=${cfg.friendlyName}
|
||||
db_dir=/var/cache/minidlna
|
||||
log_level=${cfg.loglevel}
|
||||
inotify=yes
|
||||
root_container=${cfg.rootContainer}
|
||||
${concatMapStrings (dir: ''
|
||||
media_dir=${dir}
|
||||
'') cfg.mediaDirs}
|
||||
notify_interval=${toString cfg.announceInterval}
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.settings.port ];
|
||||
networking.firewall.allowedUDPPorts = mkIf cfg.openFirewall [ 1900 ];
|
||||
|
||||
users.users.minidlna = {
|
||||
description = "MiniDLNA daemon user";
|
||||
|
@ -186,7 +158,7 @@ in
|
|||
PIDFile = "/run/minidlna/pid";
|
||||
ExecStart =
|
||||
"${pkgs.minidlna}/sbin/minidlnad -S -P /run/minidlna/pid" +
|
||||
" -f ${pkgs.writeText "minidlna.conf" cfg.config}";
|
||||
" -f ${settingsFile}";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -46,6 +46,15 @@ in {
|
|||
description = "The mxisd/ma1sd package to use";
|
||||
};
|
||||
|
||||
environmentFile = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
Path to an environment-file which may contain secrets to be
|
||||
substituted via <package>envsubst</package>.
|
||||
'';
|
||||
};
|
||||
|
||||
dataDir = mkOption {
|
||||
type = types.str;
|
||||
default = "/var/lib/mxisd";
|
||||
|
@ -118,7 +127,12 @@ in {
|
|||
Type = "simple";
|
||||
User = "mxisd";
|
||||
Group = "mxisd";
|
||||
ExecStart = "${cfg.package}/bin/${executable} -c ${configFile}";
|
||||
EnvironmentFile = mkIf (cfg.environmentFile != null) [ cfg.environmentFile ];
|
||||
ExecStart = "${cfg.package}/bin/${executable} -c ${cfg.dataDir}/mxisd-config.yaml";
|
||||
ExecStartPre = "${pkgs.writeShellScript "mxisd-substitute-secrets" ''
|
||||
${pkgs.envsubst}/bin/envsubst -o ${cfg.dataDir}/mxisd-config.yaml \
|
||||
-i ${configFile}
|
||||
''}";
|
||||
WorkingDirectory = cfg.dataDir;
|
||||
Restart = "on-failure";
|
||||
};
|
||||
|
|
27
third_party/nixpkgs/nixos/modules/services/security/pass-secret-service.nix
vendored
Normal file
27
third_party/nixpkgs/nixos/modules/services/security/pass-secret-service.nix
vendored
Normal file
|
@ -0,0 +1,27 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.passSecretService;
|
||||
in
|
||||
{
|
||||
options.services.passSecretService = {
|
||||
enable = mkEnableOption "pass secret service";
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.pass-secret-service;
|
||||
defaultText = literalExpression "pkgs.pass-secret-service";
|
||||
description = "Which pass-secret-service package to use.";
|
||||
example = literalExpression "pkgs.pass-secret-service.override { python3 = pkgs.python310 }";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.packages = [ cfg.package ];
|
||||
services.dbus.packages = [ cfg.package ];
|
||||
};
|
||||
|
||||
meta.maintainers = with maintainers; [ aidalgol ];
|
||||
}
|
|
@ -51,6 +51,16 @@ let
|
|||
${cfg.extraConfig}
|
||||
'';
|
||||
|
||||
renderValue = x:
|
||||
if isList x then concatMapStringsSep "," (x: ''"${x}"'') x
|
||||
else if isString x && hasInfix "," x then ''"${x}"''
|
||||
else x;
|
||||
|
||||
ldapProxyConfig = pkgs.writeText "ldap-proxy.ini"
|
||||
(generators.toINI {}
|
||||
(flip mapAttrs cfg.ldap-proxy.settings
|
||||
(const (mapAttrs (const renderValue)))));
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
|
@ -172,7 +182,8 @@ in
|
|||
enable = mkEnableOption "PrivacyIDEA LDAP Proxy";
|
||||
|
||||
configFile = mkOption {
|
||||
type = types.path;
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
description = ''
|
||||
Path to PrivacyIDEA LDAP Proxy configuration (proxy.ini).
|
||||
'';
|
||||
|
@ -189,6 +200,26 @@ in
|
|||
default = "pi-ldap-proxy";
|
||||
description = "Group account under which PrivacyIDEA LDAP proxy runs.";
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
type = with types; attrsOf (attrsOf (oneOf [ str bool int (listOf str) ]));
|
||||
default = {};
|
||||
description = ''
|
||||
Attribute-set containing the settings for <package>privacyidea-ldap-proxy</package>.
|
||||
It's possible to pass secrets using env-vars as substitutes and
|
||||
use the option <xref linkend="opt-services.privacyidea.ldap-proxy.environmentFile" />
|
||||
to inject them via <package>envsubst</package>.
|
||||
'';
|
||||
};
|
||||
|
||||
environmentFile = mkOption {
|
||||
default = null;
|
||||
type = types.nullOr types.str;
|
||||
description = ''
|
||||
Environment file containing secrets to be substituted into
|
||||
<xref linkend="opt-services.privacyidea.ldap-proxy.settings" />.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -276,6 +307,18 @@ in
|
|||
|
||||
(mkIf cfg.ldap-proxy.enable {
|
||||
|
||||
assertions = [
|
||||
{ assertion = let
|
||||
xor = a: b: a && !b || !a && b;
|
||||
in xor (cfg.ldap-proxy.settings == {}) (cfg.ldap-proxy.configFile == null);
|
||||
message = "configFile & settings are mutually exclusive for services.privacyidea.ldap-proxy!";
|
||||
}
|
||||
];
|
||||
|
||||
warnings = mkIf (cfg.ldap-proxy.configFile != null) [
|
||||
"Using services.privacyidea.ldap-proxy.configFile is deprecated! Use the RFC42-style settings option instead!"
|
||||
];
|
||||
|
||||
systemd.services.privacyidea-ldap-proxy = let
|
||||
ldap-proxy-env = pkgs.python3.withPackages (ps: [ ps.privacyidea-ldap-proxy ]);
|
||||
in {
|
||||
|
@ -284,14 +327,27 @@ in
|
|||
serviceConfig = {
|
||||
User = cfg.ldap-proxy.user;
|
||||
Group = cfg.ldap-proxy.group;
|
||||
ExecStart = ''
|
||||
StateDirectory = "privacyidea-ldap-proxy";
|
||||
EnvironmentFile = mkIf (cfg.ldap-proxy.environmentFile != null)
|
||||
[ cfg.ldap-proxy.environmentFile ];
|
||||
ExecStartPre =
|
||||
"${pkgs.writeShellScript "substitute-secrets-ldap-proxy" ''
|
||||
${pkgs.envsubst}/bin/envsubst \
|
||||
-i ${ldapProxyConfig} \
|
||||
-o $STATE_DIRECTORY/ldap-proxy.ini
|
||||
''}";
|
||||
ExecStart = let
|
||||
configPath = if cfg.ldap-proxy.settings != {}
|
||||
then "%S/privacyidea-ldap-proxy/ldap-proxy.ini"
|
||||
else cfg.ldap-proxy.configFile;
|
||||
in ''
|
||||
${ldap-proxy-env}/bin/twistd \
|
||||
--nodaemon \
|
||||
--pidfile= \
|
||||
-u ${cfg.ldap-proxy.user} \
|
||||
-g ${cfg.ldap-proxy.group} \
|
||||
ldap-proxy \
|
||||
-c ${cfg.ldap-proxy.configFile}
|
||||
-c ${configPath}
|
||||
'';
|
||||
Restart = "always";
|
||||
};
|
||||
|
|
|
@ -8,21 +8,22 @@ let
|
|||
|
||||
pkg = cfg.package.override (optionalAttrs cfg.sso.enable {
|
||||
enableSSO = cfg.sso.enable;
|
||||
crowdProperties = ''
|
||||
application.name ${cfg.sso.applicationName}
|
||||
application.password ${cfg.sso.applicationPassword}
|
||||
application.login.url ${cfg.sso.crowd}/console/
|
||||
|
||||
crowd.server.url ${cfg.sso.crowd}/services/
|
||||
crowd.base.url ${cfg.sso.crowd}/
|
||||
|
||||
session.isauthenticated session.isauthenticated
|
||||
session.tokenkey session.tokenkey
|
||||
session.validationinterval ${toString cfg.sso.validationInterval}
|
||||
session.lastvalidation session.lastvalidation
|
||||
'';
|
||||
});
|
||||
|
||||
crowdProperties = pkgs.writeText "crowd.properties" ''
|
||||
application.name ${cfg.sso.applicationName}
|
||||
application.password @NIXOS_JIRA_CROWD_SSO_PWD@
|
||||
application.login.url ${cfg.sso.crowd}/console/
|
||||
|
||||
crowd.server.url ${cfg.sso.crowd}/services/
|
||||
crowd.base.url ${cfg.sso.crowd}/
|
||||
|
||||
session.isauthenticated session.isauthenticated
|
||||
session.tokenkey session.tokenkey
|
||||
session.validationinterval ${toString cfg.sso.validationInterval}
|
||||
session.lastvalidation session.lastvalidation
|
||||
'';
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
|
@ -112,9 +113,9 @@ in
|
|||
description = "Exact name of this JIRA instance in Crowd";
|
||||
};
|
||||
|
||||
applicationPassword = mkOption {
|
||||
applicationPasswordFile = mkOption {
|
||||
type = types.str;
|
||||
description = "Application password of this JIRA instance in Crowd";
|
||||
description = "Path to the file containing the application password of this JIRA instance in Crowd";
|
||||
};
|
||||
|
||||
validationInterval = mkOption {
|
||||
|
@ -181,6 +182,7 @@ in
|
|||
JIRA_HOME = cfg.home;
|
||||
JAVA_HOME = "${cfg.jrePackage}";
|
||||
CATALINA_OPTS = concatStringsSep " " cfg.catalinaOptions;
|
||||
JAVA_OPTS = mkIf cfg.sso.enable "-Dcrowd.properties=${cfg.home}/crowd.properties";
|
||||
};
|
||||
|
||||
preStart = ''
|
||||
|
@ -191,6 +193,14 @@ in
|
|||
-e 's,protocol="HTTP/1.1",protocol="HTTP/1.1" proxyName="${cfg.proxy.name}" proxyPort="${toString cfg.proxy.port}" scheme="${cfg.proxy.scheme}" secure="${toString cfg.proxy.secure}",' \
|
||||
'') + ''
|
||||
${pkg}/conf/server.xml.dist > ${cfg.home}/server.xml
|
||||
|
||||
${optionalString cfg.sso.enable ''
|
||||
install -m660 ${crowdProperties} ${cfg.home}/crowd.properties
|
||||
${pkgs.replace-secret}/bin/replace-secret \
|
||||
'@NIXOS_JIRA_CROWD_SSO_PWD@' \
|
||||
${cfg.sso.applicationPasswordFile} \
|
||||
${cfg.home}/crowd.properties
|
||||
''}
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
|
@ -204,4 +214,10 @@ in
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
(mkRemovedOptionModule [ "services" "jira" "sso" "applicationPassword" ] ''
|
||||
Use `applicationPasswordFile` instead!
|
||||
'')
|
||||
];
|
||||
}
|
||||
|
|
|
@ -354,6 +354,7 @@ in
|
|||
plasma-browser-integration
|
||||
konsole
|
||||
oxygen
|
||||
(lib.getBin qttools) # Expose qdbus in PATH
|
||||
];
|
||||
in
|
||||
requiredPackages
|
||||
|
@ -399,9 +400,10 @@ in
|
|||
services.accounts-daemon.enable = true;
|
||||
# when changing an account picture the accounts-daemon reads a temporary file containing the image which systemsettings5 may place under /tmp
|
||||
systemd.services.accounts-daemon.serviceConfig.PrivateTmp = false;
|
||||
services.power-profiles-daemon.enable = mkDefault true;
|
||||
services.system-config-printer.enable = mkIf config.services.printing.enable (mkDefault true);
|
||||
services.udisks2.enable = true;
|
||||
services.upower.enable = config.powerManagement.enable;
|
||||
services.system-config-printer.enable = mkIf config.services.printing.enable (mkDefault true);
|
||||
services.xserver.libinput.enable = mkDefault true;
|
||||
|
||||
# Extra UDEV rules used by Solid
|
||||
|
|
|
@ -264,8 +264,6 @@ def main() -> None:
|
|||
if installed_version < available_version:
|
||||
print("updating systemd-boot from %s to %s" % (installed_version, available_version))
|
||||
subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "update"])
|
||||
else:
|
||||
print("leaving systemd-boot %s in place (%s is not newer)" % (installed_version, available_version))
|
||||
|
||||
mkdir_p("@efiSysMountPoint@/efi/nixos")
|
||||
mkdir_p("@efiSysMountPoint@/loader/entries")
|
||||
|
|
|
@ -71,10 +71,6 @@ in
|
|||
package = mkOption {
|
||||
type = types.package;
|
||||
default = crioPackage;
|
||||
defaultText = literalDocBook ''
|
||||
<literal>pkgs.cri-o</literal> built with
|
||||
<literal>config.${opt.extraPackages}</literal>.
|
||||
'';
|
||||
internal = true;
|
||||
description = ''
|
||||
The final CRI-O package (including extra packages).
|
||||
|
|
|
@ -34,7 +34,8 @@ in
|
|||
package = mkOption {
|
||||
type = types.nullOr types.package;
|
||||
default = config.boot.kernelPackages.prl-tools;
|
||||
defaultText = literalExpression "config.boot.kernelPackages.prl-tools";
|
||||
defaultText = "config.boot.kernelPackages.prl-tools";
|
||||
example = literalExpression "config.boot.kernelPackages.prl-tools";
|
||||
description = ''
|
||||
Defines which package to use for prl-tools. Override to change the version.
|
||||
'';
|
||||
|
@ -44,27 +45,6 @@ in
|
|||
};
|
||||
|
||||
config = mkIf config.hardware.parallels.enable {
|
||||
services.xserver = {
|
||||
drivers = singleton
|
||||
{ name = "prlvideo"; modules = [ prl-tools ]; };
|
||||
|
||||
screenSection = ''
|
||||
Option "NoMTRR"
|
||||
'';
|
||||
|
||||
config = ''
|
||||
Section "InputClass"
|
||||
Identifier "prlmouse"
|
||||
MatchIsPointer "on"
|
||||
MatchTag "prlmouse"
|
||||
Driver "prlmouse"
|
||||
EndSection
|
||||
'';
|
||||
};
|
||||
|
||||
hardware.opengl.package = prl-tools;
|
||||
hardware.opengl.package32 = pkgs.pkgsi686Linux.linuxPackages.prl-tools.override { libsOnly = true; kernel = null; };
|
||||
hardware.opengl.setLdLibraryPath = true;
|
||||
|
||||
services.udev.packages = [ prl-tools ];
|
||||
|
||||
|
@ -72,37 +52,44 @@ in
|
|||
|
||||
boot.extraModulePackages = [ prl-tools ];
|
||||
|
||||
boot.kernelModules = [ "prl_tg" "prl_eth" "prl_fs" "prl_fs_freeze" ];
|
||||
boot.kernelModules = [ "prl_fs" "prl_fs_freeze" "prl_tg" ]
|
||||
++ optional (pkgs.stdenv.hostPlatform.system == "aarch64-linux") "prl_notifier";
|
||||
|
||||
services.timesyncd.enable = false;
|
||||
|
||||
systemd.services.prltoolsd = {
|
||||
description = "Parallels Tools' service";
|
||||
description = "Parallels Tools Service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ prl-tools ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${prl-tools}/bin/prltoolsd -f";
|
||||
PIDFile = "/var/run/prltoolsd.pid";
|
||||
WorkingDirectory = "${prl-tools}/bin";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.prlfsmountd = mkIf config.hardware.parallels.autoMountShares {
|
||||
description = "Parallels Shared Folders Daemon";
|
||||
description = "Parallels Guest File System Sharing Tool";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ prl-tools ];
|
||||
serviceConfig = rec {
|
||||
ExecStart = "${prl-tools}/sbin/prlfsmountd ${PIDFile}";
|
||||
ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p /media";
|
||||
ExecStopPost = "${prl-tools}/sbin/prlfsmountd -u";
|
||||
PIDFile = "/run/prlfsmountd.pid";
|
||||
WorkingDirectory = "${prl-tools}/bin";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.prlshprint = {
|
||||
description = "Parallels Shared Printer Tool";
|
||||
description = "Parallels Printing Tool";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
bindsTo = [ "cups.service" ];
|
||||
path = [ prl-tools ];
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
ExecStart = "${prl-tools}/bin/prlshprint";
|
||||
WorkingDirectory = "${prl-tools}/bin";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -110,43 +97,47 @@ in
|
|||
prlcc = {
|
||||
description = "Parallels Control Center";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
path = [ prl-tools ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${prl-tools}/bin/prlcc";
|
||||
WorkingDirectory = "${prl-tools}/bin";
|
||||
};
|
||||
};
|
||||
prldnd = {
|
||||
description = "Parallels Control Center";
|
||||
description = "Parallels Drag And Drop Tool";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
path = [ prl-tools ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${prl-tools}/bin/prldnd";
|
||||
};
|
||||
};
|
||||
prl_wmouse_d = {
|
||||
description = "Parallels Walking Mouse Daemon";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${prl-tools}/bin/prl_wmouse_d";
|
||||
WorkingDirectory = "${prl-tools}/bin";
|
||||
};
|
||||
};
|
||||
prlcp = {
|
||||
description = "Parallels CopyPaste Tool";
|
||||
description = "Parallels Copy Paste Tool";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
path = [ prl-tools ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${prl-tools}/bin/prlcp";
|
||||
Restart = "always";
|
||||
WorkingDirectory = "${prl-tools}/bin";
|
||||
};
|
||||
};
|
||||
prlsga = {
|
||||
description = "Parallels Shared Guest Applications Tool";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
path = [ prl-tools ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${prl-tools}/bin/prlsga";
|
||||
WorkingDirectory = "${prl-tools}/bin";
|
||||
};
|
||||
};
|
||||
prlshprof = {
|
||||
description = "Parallels Shared Profile Tool";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
path = [ prl-tools ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${prl-tools}/bin/prlshprof";
|
||||
WorkingDirectory = "${prl-tools}/bin";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -279,6 +279,7 @@ in {
|
|||
libresprite = handleTest ./libresprite.nix {};
|
||||
libreswan = handleTest ./libreswan.nix {};
|
||||
librewolf = handleTest ./firefox.nix { firefoxPackage = pkgs.librewolf; };
|
||||
libuiohook = handleTest ./libuiohook.nix {};
|
||||
lidarr = handleTest ./lidarr.nix {};
|
||||
lightdm = handleTest ./lightdm.nix {};
|
||||
limesurvey = handleTest ./limesurvey.nix {};
|
||||
|
@ -413,6 +414,7 @@ in {
|
|||
pam-oath-login = handleTest ./pam/pam-oath-login.nix {};
|
||||
pam-u2f = handleTest ./pam/pam-u2f.nix {};
|
||||
pam-ussh = handleTest ./pam/pam-ussh.nix {};
|
||||
pass-secret-service = handleTest ./pass-secret-service.nix {};
|
||||
pantalaimon = handleTest ./matrix/pantalaimon.nix {};
|
||||
pantheon = handleTest ./pantheon.nix {};
|
||||
paperless = handleTest ./paperless.nix {};
|
||||
|
|
15
third_party/nixpkgs/nixos/tests/jenkins.nix
vendored
15
third_party/nixpkgs/nixos/tests/jenkins.nix
vendored
|
@ -18,6 +18,8 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
|||
enable = true;
|
||||
jobBuilder = {
|
||||
enable = true;
|
||||
accessUser = "admin";
|
||||
accessTokenFile = "/var/lib/jenkins/secrets/initialAdminPassword";
|
||||
nixJobs = [
|
||||
{ job = {
|
||||
name = "job-1";
|
||||
|
@ -100,12 +102,8 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
|||
master.wait_until_succeeds("test -f /var/lib/jenkins/jobs/folder-1/config.xml")
|
||||
master.wait_until_succeeds("test -f /var/lib/jenkins/jobs/folder-1/jobs/job-2/config.xml")
|
||||
|
||||
# Wait until jenkins is ready, reload configuration and verify it also
|
||||
# sees the jobs.
|
||||
master.succeed("curl --fail ${jenkinsUrl}/cli")
|
||||
master.succeed("curl ${jenkinsUrl}/jnlpJars/jenkins-cli.jar -O")
|
||||
master.succeed("${pkgs.jre}/bin/java -jar jenkins-cli.jar -s ${jenkinsUrl} -auth admin:$(cat /var/lib/jenkins/secrets/initialAdminPassword) reload-configuration")
|
||||
out = master.succeed("${pkgs.jre}/bin/java -jar jenkins-cli.jar -s ${jenkinsUrl} -auth admin:$(cat /var/lib/jenkins/secrets/initialAdminPassword) list-jobs")
|
||||
# Verify that jenkins also sees the jobs.
|
||||
out = master.succeed("${pkgs.jenkins}/bin/jenkins-cli -s ${jenkinsUrl} -auth admin:$(cat /var/lib/jenkins/secrets/initialAdminPassword) list-jobs")
|
||||
jobs = [x.strip() for x in out.splitlines()]
|
||||
# Seeing jobs inside folders requires the Folders plugin
|
||||
# (https://plugins.jenkins.io/cloudbees-folder/), which we don't have
|
||||
|
@ -123,9 +121,8 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
|||
master.wait_until_fails("test -f /var/lib/jenkins/jobs/folder-1/config.xml")
|
||||
master.wait_until_fails("test -f /var/lib/jenkins/jobs/folder-1/jobs/job-2/config.xml")
|
||||
|
||||
# Reload jenkins' configuration and verify it also sees the jobs as removed.
|
||||
master.succeed("${pkgs.jre}/bin/java -jar jenkins-cli.jar -s ${jenkinsUrl} -auth admin:$(cat /var/lib/jenkins/secrets/initialAdminPassword) reload-configuration")
|
||||
out = master.succeed("${pkgs.jre}/bin/java -jar jenkins-cli.jar -s ${jenkinsUrl} -auth admin:$(cat /var/lib/jenkins/secrets/initialAdminPassword) list-jobs")
|
||||
# Verify that jenkins also sees the jobs as removed.
|
||||
out = master.succeed("${pkgs.jenkins}/bin/jenkins-cli -s ${jenkinsUrl} -auth admin:$(cat /var/lib/jenkins/secrets/initialAdminPassword) list-jobs")
|
||||
jobs = [x.strip() for x in out.splitlines()]
|
||||
assert jobs == [], f"jobs != []: {jobs}"
|
||||
'';
|
||||
|
|
|
@ -33,7 +33,11 @@ let
|
|||
redisImage = pkgs.dockerTools.buildImage {
|
||||
name = "redis";
|
||||
tag = "latest";
|
||||
contents = [ pkgs.redis pkgs.bind.host ];
|
||||
copyToRoot = pkgs.buildEnv {
|
||||
name = "image-root";
|
||||
pathsToLink = [ "/bin" ];
|
||||
paths = [ pkgs.redis pkgs.bind.host ];
|
||||
};
|
||||
config.Entrypoint = ["/bin/redis-server"];
|
||||
};
|
||||
|
||||
|
@ -54,7 +58,11 @@ let
|
|||
probeImage = pkgs.dockerTools.buildImage {
|
||||
name = "probe";
|
||||
tag = "latest";
|
||||
contents = [ pkgs.bind.host pkgs.busybox ];
|
||||
copyToRoot = pkgs.buildEnv {
|
||||
name = "image-root";
|
||||
pathsToLink = [ "/bin" ];
|
||||
paths = [ pkgs.bind.host pkgs.busybox ];
|
||||
};
|
||||
config.Entrypoint = ["/bin/tail"];
|
||||
};
|
||||
|
||||
|
|
|
@ -84,7 +84,11 @@ let
|
|||
kubectlImage = pkgs.dockerTools.buildImage {
|
||||
name = "kubectl";
|
||||
tag = "latest";
|
||||
contents = [ copyKubectl pkgs.busybox kubectlPod2 ];
|
||||
copyToRoot = pkgs.buildEnv {
|
||||
name = "image-root";
|
||||
pathsToLink = [ "/bin" ];
|
||||
paths = [ copyKubectl pkgs.busybox kubectlPod2 ];
|
||||
};
|
||||
config.Entrypoint = ["/bin/sh"];
|
||||
};
|
||||
|
||||
|
|
21
third_party/nixpkgs/nixos/tests/libuiohook.nix
vendored
Normal file
21
third_party/nixpkgs/nixos/tests/libuiohook.nix
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
name = "libuiohook";
|
||||
meta = with lib.maintainers; { maintainers = [ anoa ]; };
|
||||
|
||||
nodes.client = { nodes, ... }:
|
||||
let user = nodes.client.config.users.users.alice;
|
||||
in {
|
||||
imports = [ ./common/user-account.nix ./common/x11.nix ];
|
||||
|
||||
environment.systemPackages = [ pkgs.libuiohook.test ];
|
||||
|
||||
test-support.displayManager.auto.user = user.name;
|
||||
};
|
||||
|
||||
testScript = { nodes, ... }:
|
||||
let user = nodes.client.config.users.users.alice;
|
||||
in ''
|
||||
client.wait_for_x()
|
||||
client.succeed("su - alice -c ${pkgs.libuiohook.test}/share/uiohook_tests >&2 &")
|
||||
'';
|
||||
})
|
|
@ -12,6 +12,7 @@ import ../make-test-python.nix ({ ... }:
|
|||
debug = true;
|
||||
enable = true;
|
||||
interactive = true;
|
||||
origin = "nixos-test";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -19,7 +20,7 @@ import ../make-test-python.nix ({ ... }:
|
|||
''
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
machine.succeed(
|
||||
'egrep "auth required .*/lib/security/pam_u2f.so.*debug.*interactive.*cue" /etc/pam.d/ -R'
|
||||
'egrep "auth required .*/lib/security/pam_u2f.so.*debug.*interactive.*cue.*origin=nixos-test" /etc/pam.d/ -R'
|
||||
)
|
||||
'';
|
||||
})
|
||||
|
|
69
third_party/nixpkgs/nixos/tests/pass-secret-service.nix
vendored
Normal file
69
third_party/nixpkgs/nixos/tests/pass-secret-service.nix
vendored
Normal file
|
@ -0,0 +1,69 @@
|
|||
import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
name = "pass-secret-service";
|
||||
meta.maintainers = with lib; [ aidalgol ];
|
||||
|
||||
nodes.machine = { nodes, pkgs, ... }:
|
||||
{
|
||||
imports = [ ./common/user-account.nix ];
|
||||
|
||||
services.passSecretService.enable = true;
|
||||
|
||||
environment.systemPackages = [
|
||||
# Create a script that tries to make a request to the D-Bus secrets API.
|
||||
(pkgs.writers.writePython3Bin "secrets-dbus-init"
|
||||
{
|
||||
libraries = [ pkgs.python3Packages.secretstorage ];
|
||||
} ''
|
||||
import secretstorage
|
||||
print("Initializing dbus connection...")
|
||||
connection = secretstorage.dbus_init()
|
||||
print("Requesting default collection...")
|
||||
collection = secretstorage.get_default_collection(connection)
|
||||
print("Done! dbus-org.freedesktop.secrets should now be active.")
|
||||
'')
|
||||
pkgs.pass
|
||||
];
|
||||
|
||||
programs.gnupg = {
|
||||
agent.enable = true;
|
||||
agent.pinentryFlavor = "tty";
|
||||
dirmngr.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Some of the commands are run via a virtual console because they need to be
|
||||
# run under a real login session, with D-Bus running in the environment.
|
||||
testScript = { nodes, ... }:
|
||||
let
|
||||
user = nodes.machine.config.users.users.alice;
|
||||
gpg-uid = "alice@example.net";
|
||||
gpg-pw = "foobar9000";
|
||||
ready-file = "/tmp/secrets-dbus-init.done";
|
||||
in
|
||||
''
|
||||
# Initialise the pass(1) storage.
|
||||
machine.succeed("""
|
||||
sudo -u alice gpg --pinentry-mode loopback --batch --passphrase ${gpg-pw} \
|
||||
--quick-gen-key ${gpg-uid} \
|
||||
""")
|
||||
machine.succeed("sudo -u alice pass init ${gpg-uid}")
|
||||
|
||||
with subtest("Service is not running on login"):
|
||||
machine.wait_until_tty_matches("1", "login: ")
|
||||
machine.send_chars("alice\n")
|
||||
machine.wait_until_tty_matches("1", "login: alice")
|
||||
machine.wait_until_succeeds("pgrep login")
|
||||
machine.wait_until_tty_matches("1", "Password: ")
|
||||
machine.send_chars("${user.password}\n")
|
||||
machine.wait_until_succeeds("pgrep -u alice bash")
|
||||
|
||||
_, output = machine.systemctl("status dbus-org.freedesktop.secrets --no-pager", "alice")
|
||||
assert "Active: inactive (dead)" in output
|
||||
|
||||
with subtest("Service starts after a client tries to talk to the D-Bus API"):
|
||||
machine.send_chars("secrets-dbus-init; touch ${ready-file}\n")
|
||||
machine.wait_for_file("${ready-file}")
|
||||
_, output = machine.systemctl("status dbus-org.freedesktop.secrets --no-pager", "alice")
|
||||
assert "Active: active (running)" in output
|
||||
'';
|
||||
})
|
18
third_party/nixpkgs/nixos/tests/pgadmin4.nix
vendored
18
third_party/nixpkgs/nixos/tests/pgadmin4.nix
vendored
|
@ -107,11 +107,14 @@ import ./make-test-python.nix ({ pkgs, lib, buildDeps ? [ ], pythonEnv ? [ ], ..
|
|||
)
|
||||
|
||||
# don't bother to test LDAP authentification
|
||||
# exclude resql test due to recent postgres 14.4 update
|
||||
# see bugreport here https://redmine.postgresql.org/issues/7527
|
||||
with subtest("run browser test"):
|
||||
machine.succeed(
|
||||
'cd ${pgadmin4SrcDir}/pgadmin4-${pkgs.pgadmin4.version}/web \
|
||||
&& python regression/runtests.py --pkg browser --exclude \
|
||||
browser.tests.test_ldap_login.LDAPLoginTestCase,browser.tests.test_ldap_login'
|
||||
&& python regression/runtests.py \
|
||||
--pkg browser \
|
||||
--exclude browser.tests.test_ldap_login.LDAPLoginTestCase,browser.tests.test_ldap_login,resql'
|
||||
)
|
||||
|
||||
# fontconfig is necessary for chromium to run
|
||||
|
@ -123,10 +126,11 @@ import ./make-test-python.nix ({ pkgs, lib, buildDeps ? [ ], pythonEnv ? [ ], ..
|
|||
&& python regression/runtests.py --pkg feature_tests'
|
||||
)
|
||||
|
||||
with subtest("run resql test"):
|
||||
machine.succeed(
|
||||
'cd ${pgadmin4SrcDir}/pgadmin4-${pkgs.pgadmin4.version}/web \
|
||||
&& python regression/runtests.py --pkg resql'
|
||||
)
|
||||
# reactivate this test again, when the postgres 14.4 test has been fixed
|
||||
# with subtest("run resql test"):
|
||||
# machine.succeed(
|
||||
# 'cd ${pgadmin4SrcDir}/pgadmin4-${pkgs.pgadmin4.version}/web \
|
||||
# && python regression/runtests.py --pkg resql'
|
||||
# )
|
||||
'';
|
||||
})
|
||||
|
|
|
@ -10,15 +10,15 @@ in {
|
|||
services.unit = {
|
||||
enable = true;
|
||||
config = pkgs.lib.strings.toJSON {
|
||||
listeners."*:9080".application = "php_80";
|
||||
applications.php_80 = {
|
||||
type = "php 8.0";
|
||||
listeners."*:9081".application = "php_81";
|
||||
applications.php_81 = {
|
||||
type = "php 8.1";
|
||||
processes = 1;
|
||||
user = "testuser";
|
||||
group = "testgroup";
|
||||
root = "${testdir}/www";
|
||||
index = "info.php";
|
||||
options.file = "${pkgs.unit.usedPhp80}/lib/php.ini";
|
||||
options.file = "${pkgs.unit.usedPhp81}/lib/php.ini";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -34,14 +34,19 @@ in {
|
|||
};
|
||||
};
|
||||
testScript = ''
|
||||
machine.start()
|
||||
|
||||
machine.wait_for_unit("unit.service")
|
||||
machine.wait_for_open_port(9081)
|
||||
|
||||
# Check so we get an evaluated PHP back
|
||||
response = machine.succeed("curl -f -vvv -s http://127.0.0.1:9080/")
|
||||
assert "PHP Version ${pkgs.unit.usedPhp80.version}" in response, "PHP version not detected"
|
||||
response = machine.succeed("curl -f -vvv -s http://127.0.0.1:9081/")
|
||||
assert "PHP Version ${pkgs.unit.usedPhp81.version}" in response, "PHP version not detected"
|
||||
|
||||
# Check so we have database and some other extensions loaded
|
||||
for ext in ["json", "opcache", "pdo_mysql", "pdo_pgsql", "pdo_sqlite"]:
|
||||
assert ext in response, f"Missing {ext} extension"
|
||||
|
||||
machine.shutdown()
|
||||
'';
|
||||
})
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
{ lib, fetchFromGitHub, python3Packages, wrapQtAppsHook }:
|
||||
|
||||
let
|
||||
py = python3Packages;
|
||||
in py.buildPythonApplication rec {
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "friture";
|
||||
version = "0.49";
|
||||
|
||||
|
@ -13,10 +11,10 @@ in py.buildPythonApplication rec {
|
|||
sha256 = "sha256-xKgyBV/Qc+9PgXyxcT0xG1GXLC6KnjavJ/0SUE+9VSY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = (with py; [ numpy cython scipy ]) ++
|
||||
nativeBuildInputs = (with python3Packages; [ numpy cython scipy ]) ++
|
||||
[ wrapQtAppsHook ];
|
||||
|
||||
propagatedBuildInputs = with py; [
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
sounddevice
|
||||
pyopengl
|
||||
pyopengl-accelerate
|
||||
|
|
31
third_party/nixpkgs/pkgs/applications/audio/jack-autoconnect/default.nix
vendored
Normal file
31
third_party/nixpkgs/pkgs/applications/audio/jack-autoconnect/default.nix
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
{ lib, mkDerivation, fetchFromGitHub, pkg-config, qmake, qtbase, libjack2 }:
|
||||
mkDerivation rec {
|
||||
pname = "jack_autoconnect";
|
||||
|
||||
# It does not have any versions (yet?)
|
||||
version = "unstable-2021-02-01";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kripton";
|
||||
repo = pname;
|
||||
rev = "fe0c8f69149e30979e067646f80b9d326341c02b";
|
||||
sha256 = "sha256-imvNc498Q2W9RKmiOoNepSoJzIv2tGvFG6hx+seiifw=";
|
||||
};
|
||||
|
||||
buildInputs = [ qtbase libjack2 ];
|
||||
nativeBuildInputs = [ pkg-config qmake ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p -- "$out/bin"
|
||||
cp -- jack_autoconnect "$out/bin"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/kripton/jack_autoconnect";
|
||||
description =
|
||||
"Tiny application that reacts on port registrations by clients and connects them";
|
||||
maintainers = with maintainers; [ unclechu ];
|
||||
license = licenses.gpl2Only;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
|
@ -5,14 +5,14 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "qpwgraph";
|
||||
version = "0.2.5";
|
||||
version = "0.3.4";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
owner = "rncbc";
|
||||
repo = "qpwgraph";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-OYIBlTO1vXmmY4/ZacvsEQ5EnOfetBvnG2v5xL44czY=";
|
||||
sha256 = "sha256-JCnvwSredXO1WrTu4BIUaUTTjPcd5U/ZZcRbI/GiFfc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
|
||||
appimageTools.wrapType2 rec {
|
||||
pname = "sonixd";
|
||||
version = "0.15.1";
|
||||
version = "0.15.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/jeffvli/sonixd/releases/download/v${version}/Sonixd-${version}-linux-x86_64.AppImage";
|
||||
sha256 = "sha256-23WU1nwvrzyw0J+Pplm3JbsScjJxu+RhmwVoe/PjozY=";
|
||||
sha256 = "sha256-+4L3XAuR7T/z5a58SXre6yUiVi7TvSAs8vPgEC7hcIw=";
|
||||
};
|
||||
|
||||
extraInstallCommands = ''
|
||||
|
|
41
third_party/nixpkgs/pkgs/applications/audio/spotify-tui/0001-Add-Collection-SearchType.patch
vendored
Normal file
41
third_party/nixpkgs/pkgs/applications/audio/spotify-tui/0001-Add-Collection-SearchType.patch
vendored
Normal file
|
@ -0,0 +1,41 @@
|
|||
From 408e6a5170bbe9f854bf46e1cbae21265cf25294 Mon Sep 17 00:00:00 2001
|
||||
From: Florian Bruhin <me@the-compiler.org>
|
||||
Date: Mon, 25 Apr 2022 18:39:07 +0200
|
||||
Subject: [PATCH] Add Collection SearchType
|
||||
|
||||
Backport of https://github.com/ramsayleung/rspotify/pull/306
|
||||
---
|
||||
src/senum.rs | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/src/senum.rs b/src/senum.rs
|
||||
index c94c31c..79d8730 100644
|
||||
--- a/src/senum.rs
|
||||
+++ b/src/senum.rs
|
||||
@@ -87,6 +87,7 @@ pub enum Type {
|
||||
User,
|
||||
Show,
|
||||
Episode,
|
||||
+ Collection,
|
||||
}
|
||||
impl Type {
|
||||
pub fn as_str(&self) -> &str {
|
||||
@@ -98,6 +99,7 @@ pub fn as_str(&self) -> &str {
|
||||
Type::User => "user",
|
||||
Type::Show => "show",
|
||||
Type::Episode => "episode",
|
||||
+ Type::Collection => "collection",
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -112,6 +114,7 @@ fn from_str(s: &str) -> Result<Self, Self::Err> {
|
||||
"user" => Ok(Type::User),
|
||||
"show" => Ok(Type::Show),
|
||||
"episode" => Ok(Type::Episode),
|
||||
+ "collection" => Ok(Type::Collection),
|
||||
_ => Err(Error::new(ErrorKind::NoEnum(s.to_owned()))),
|
||||
}
|
||||
}
|
||||
--
|
||||
2.35.3
|
||||
|
11
third_party/nixpkgs/pkgs/applications/audio/spotify-tui/Cargo.lock.patch
vendored
Normal file
11
third_party/nixpkgs/pkgs/applications/audio/spotify-tui/Cargo.lock.patch
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- a/Cargo.lock 2022-04-27 17:25:49.017415644 +0300
|
||||
+++ b/Cargo.lock 2022-04-27 17:25:51.307433984 +0300
|
||||
@@ -1722,8 +1722,6 @@
|
||||
[[package]]
|
||||
name = "rspotify"
|
||||
version = "0.10.0"
|
||||
-source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "eefd7bb58b714606b30a490f751d7926942e2874eef5e82934d60d7a4a68dca4"
|
||||
dependencies = [
|
||||
"base64 0.10.1",
|
||||
"chrono",
|
12
third_party/nixpkgs/pkgs/applications/audio/spotify-tui/Cargo.toml.patch
vendored
Normal file
12
third_party/nixpkgs/pkgs/applications/audio/spotify-tui/Cargo.toml.patch
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
--- a/Cargo.toml 2022-04-25 18:20:04.329712912 +0200
|
||||
+++ b/Cargo.toml 2022-04-25 18:20:44.296429608 +0200
|
||||
@@ -29,6 +29,9 @@
|
||||
rand = "0.8.3"
|
||||
anyhow = "1.0.43"
|
||||
|
||||
+[patch.crates-io]
|
||||
+rspotify = { path = "./rspotify-0.10.0" }
|
||||
+
|
||||
[[bin]]
|
||||
bench = false
|
||||
path = "src/main.rs"
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchFromGitHub, rustPlatform, installShellFiles, pkg-config, openssl, python3, libxcb, AppKit, Security }:
|
||||
{ lib, stdenv, fetchFromGitHub, fetchCrate, rustPlatform, installShellFiles, pkg-config, openssl, python3, libxcb, AppKit, Security }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "spotify-tui";
|
||||
|
@ -11,7 +11,40 @@ rustPlatform.buildRustPackage rec {
|
|||
sha256 = "sha256-L5gg6tjQuYoAC89XfKE38KCFONwSAwfNoFEUPH4jNAI=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-iucI4/iMF+uXRlnMttobu4xo3IQXq7tGiSSN8eCrLM0=";
|
||||
# Use patched rspotify
|
||||
cargoPatches = [
|
||||
./Cargo.lock.patch
|
||||
];
|
||||
patches = [
|
||||
./Cargo.toml.patch
|
||||
];
|
||||
|
||||
preBuild = let
|
||||
rspotify = stdenv.mkDerivation rec {
|
||||
pname = "rspotify";
|
||||
version = "0.10.0";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-KDtqjVQlMHlhL1xXP3W1YG/YuX9pdCjwW/7g18469Ts=";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
installPhase = ''
|
||||
mkdir $out
|
||||
cp -R . $out
|
||||
'';
|
||||
|
||||
patches = [
|
||||
# add `collection` variant
|
||||
./0001-Add-Collection-SearchType.patch
|
||||
];
|
||||
};
|
||||
in ''
|
||||
ln -s ${rspotify} ./rspotify-${rspotify.version}
|
||||
'';
|
||||
|
||||
cargoSha256 = "sha256-S8zuVYcyYvrwggIvlpxNydhoN9kx6xLBwYJSHcbEK40=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ] ++ lib.optionals stdenv.isLinux [ pkg-config python3 ];
|
||||
buildInputs = [ ]
|
||||
|
|
|
@ -23,13 +23,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "tauon";
|
||||
version = "7.2.1";
|
||||
version = "7.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Taiko2k";
|
||||
repo = "TauonMusicBox";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-wEGdqMKLhKjnxNTgqNQpUpYkMk/FuRAKsWX+P/9nUG4=";
|
||||
sha256 = "sha256-g3mRVPOXU3N+MApLaHAAIIsVuVv2GeB1Nj//8tuS0oI=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -71,7 +71,6 @@ stdenv.mkDerivation rec {
|
|||
mpg123
|
||||
opusfile
|
||||
pango
|
||||
pulseaudio
|
||||
wavpack
|
||||
];
|
||||
|
||||
|
@ -100,6 +99,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
makeWrapperArgs = [
|
||||
"--prefix PATH : ${lib.makeBinPath [ffmpeg]}"
|
||||
"--prefix LD_LIBRARY_PATH : ${pulseaudio}/lib"
|
||||
"--prefix PYTHONPATH : $out/share/tauon"
|
||||
"--set GI_TYPELIB_PATH $GI_TYPELIB_PATH"
|
||||
];
|
||||
|
@ -116,7 +116,7 @@ stdenv.mkDerivation rec {
|
|||
install -Dm755 extra/tauonmb.desktop $out/share/applications/tauonmb.desktop
|
||||
mkdir -p $out/share/icons/hicolor/scalable/apps
|
||||
install -Dm644 extra/tauonmb{,-symbolic}.svg $out/share/icons/hicolor/scalable/apps
|
||||
'';
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "The Linux desktop music player from the future";
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitLab
|
||||
, python3
|
||||
, pkg-config
|
||||
, which
|
||||
, makeWrapper
|
||||
|
@ -12,19 +13,21 @@
|
|||
, vorbis-tools
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "uade123";
|
||||
version = "unstable-2021-05-21";
|
||||
version = "3.01";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "uade-music-player";
|
||||
repo = "uade";
|
||||
rev = "7169a46e777d19957cd7ff8ac31843203e725ddc";
|
||||
sha256 = "1dm7c924fy79y3wkb0qi71m1k6yw1x6j3whw7d0w4ka9hv6za03b";
|
||||
rev = "uade-${version}";
|
||||
sha256 = "0fam3g8mlzrirrac3iwcwsz9jmsqwdy7lkwwdr2q4pkq9cpmh8m5";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs .
|
||||
patchShebangs configure
|
||||
substituteInPlace configure \
|
||||
--replace 'PYTHON_SETUP_ARGS=""' 'PYTHON_SETUP_ARGS="--prefix=$out"'
|
||||
substituteInPlace src/frontends/mod2ogg/mod2ogg2.sh.in \
|
||||
--replace '-e stat' '-n stat' \
|
||||
--replace '/usr/local' "$out"
|
||||
|
@ -34,6 +37,7 @@ stdenv.mkDerivation {
|
|||
pkg-config
|
||||
which
|
||||
makeWrapper
|
||||
python3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
|
@ -43,6 +47,10 @@ stdenv.mkDerivation {
|
|||
lame
|
||||
flac
|
||||
vorbis-tools
|
||||
(python3.withPackages (p: with p; [
|
||||
pillow
|
||||
tqdm
|
||||
]))
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
|
@ -58,6 +66,8 @@ stdenv.mkDerivation {
|
|||
--prefix PATH : $out/bin:${lib.makeBinPath [ sox lame flac vorbis-tools ]}
|
||||
# This is an old script, don't break expectations by renaming it
|
||||
ln -s $out/bin/mod2ogg2{.sh,}
|
||||
wrapProgram $out/bin/generate_amiga_oscilloscope_view \
|
||||
--prefix PYTHONPATH : "$PYTHONPATH:$out/${python3.sitePackages}"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -14,16 +14,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "alfis";
|
||||
version = "0.7.4";
|
||||
version = "0.7.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Revertron";
|
||||
repo = "Alfis";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-mwiG9DwnCX/9REq/oNHi2n/l829Ozgum/WygIb+FV04=";
|
||||
sha256 = "sha256-g9oaUdmwHGU2EIqSYLGlSN8597ORTzm8XzTxBbiKUNA=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-ylSVyrI9LuctuoMZsZpIH7loBBjxE2onk6L19uV8zCQ=";
|
||||
cargoSha256 = "sha256-SNROmuChSOHUMhMCTKPOOuoYOATx9JEwuVP0mtGZ/G8=";
|
||||
|
||||
checkFlags = [
|
||||
# these want internet access, disable them
|
||||
|
|
35
third_party/nixpkgs/pkgs/applications/blockchains/framesh/default.nix
vendored
Normal file
35
third_party/nixpkgs/pkgs/applications/blockchains/framesh/default.nix
vendored
Normal file
|
@ -0,0 +1,35 @@
|
|||
{ lib, fetchurl, appimageTools }:
|
||||
|
||||
let
|
||||
pname = "framesh";
|
||||
version = "0.5.0-beta.20";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/floating/frame/releases/download/v${version}/Frame-${version}.AppImage";
|
||||
sha256 = "sha256-4PU3f5e9NJYnP49nVtCjbGXxWJDCJIArzuaLsWB3Cx0=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
inherit pname version src;
|
||||
};
|
||||
in
|
||||
appimageTools.wrapType2 {
|
||||
inherit pname version src;
|
||||
|
||||
extraInstallCommands = ''
|
||||
ln -s $out/bin/${pname}-${version} $out/bin/${pname}
|
||||
install -m 444 -D ${appimageContents}/frame.desktop $out/share/applications/frame.desktop
|
||||
install -m 444 -D ${appimageContents}/frame.png \
|
||||
$out/share/icons/hicolor/512x512/apps/frame.png
|
||||
substituteInPlace $out/share/applications/frame.desktop \
|
||||
--replace 'Exec=AppRun' 'Exec=${pname}'
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Native web3 interface that lets you sign data, securely manage accounts and transparently interact with dapps via web3 protocols like Ethereum and IPFS";
|
||||
homepage = "https://frame.sh/";
|
||||
downloadPage = "https://github.com/floating/frame/releases";
|
||||
license = lib.licenses.gpl3Only;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with lib.maintainers; [ nook ];
|
||||
};
|
||||
}
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "lndmanage";
|
||||
version = "0.14.1";
|
||||
version = "0.14.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bitromortac";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-c36AbND01bUr0Klme4fU7GrY1oYcmoEREQI9cwsK7YM=";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-G6KpF/c8FsXrqI0hB0fZlModQThnAOHrCv482UjRng0=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
|
|
|
@ -196,7 +196,7 @@ in runCommand
|
|||
{
|
||||
startScript = ''
|
||||
#!${bash}/bin/bash
|
||||
${fhsEnv}/bin/${drvName}-fhs-env ${androidStudio}/bin/studio.sh
|
||||
${fhsEnv}/bin/${drvName}-fhs-env ${androidStudio}/bin/studio.sh "$@"
|
||||
'';
|
||||
preferLocalBuild = true;
|
||||
allowSubstitutes = false;
|
||||
|
|
|
@ -39,10 +39,10 @@
|
|||
elpaBuild {
|
||||
pname = "ada-mode";
|
||||
ename = "ada-mode";
|
||||
version = "7.2.0";
|
||||
version = "7.2.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/ada-mode-7.2.0.tar";
|
||||
sha256 = "00mrcn98bah9cld78qz75mmmk1yrs9k4dbzf6r1x07pngz70fxm2";
|
||||
url = "https://elpa.gnu.org/packages/ada-mode-7.2.1.tar";
|
||||
sha256 = "1x9gkyi23xsq8zn0n8vb1xgkh85maj2cj95ravhkakb2cd9dmbjv";
|
||||
};
|
||||
packageRequires = [ emacs uniquify-files wisi ];
|
||||
meta = {
|
||||
|
@ -155,6 +155,21 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
aircon-theme = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "aircon-theme";
|
||||
ename = "aircon-theme";
|
||||
version = "0.0.5";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/aircon-theme-0.0.5.tar";
|
||||
sha256 = "0k9nsm64szi2hvngx9ciyjn8ic9qprfm3gmwp33f0kakq05ykpd1";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/aircon-theme.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
all = callPackage ({ elpaBuild, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "all";
|
||||
|
@ -478,10 +493,10 @@
|
|||
elpaBuild {
|
||||
pname = "cape";
|
||||
ename = "cape";
|
||||
version = "0.7";
|
||||
version = "0.8";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/cape-0.7.tar";
|
||||
sha256 = "1icgd5d55x7x7czw349v8m19mgq4yrx6j6zhbb666h2hdkbnykbg";
|
||||
url = "https://elpa.gnu.org/packages/cape-0.8.tar";
|
||||
sha256 = "03zc1c2r8h3p9aqk2y8pwysiawbx0f5vgz7582d9qnixdygni117";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -756,10 +771,10 @@
|
|||
elpaBuild {
|
||||
pname = "compat";
|
||||
ename = "compat";
|
||||
version = "28.1.1.1";
|
||||
version = "28.1.1.3";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/compat-28.1.1.1.tar";
|
||||
sha256 = "13ksa6q3m525gd6sdixmak6brfch2rhz8dzzmhvvdh1y04hcnam8";
|
||||
url = "https://elpa.gnu.org/packages/compat-28.1.1.3.tar";
|
||||
sha256 = "11g27n0103j1xmj1s3m49jcqxn4n4wd9pm69i2g3ikijxs1qw18n";
|
||||
};
|
||||
packageRequires = [ emacs nadvice ];
|
||||
meta = {
|
||||
|
@ -801,10 +816,10 @@
|
|||
elpaBuild {
|
||||
pname = "corfu";
|
||||
ename = "corfu";
|
||||
version = "0.25";
|
||||
version = "0.26";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/corfu-0.25.tar";
|
||||
sha256 = "1ix65l80q8id8vxkvx4wd780cav53lws2z1x3pnj4wmm0n4qwyd9";
|
||||
url = "https://elpa.gnu.org/packages/corfu-0.26.tar";
|
||||
sha256 = "13wsb0llrnmk65m27drnyaqzv9qicnxbpvqcanj0k90iv411kw21";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -876,10 +891,10 @@
|
|||
elpaBuild {
|
||||
pname = "crdt";
|
||||
ename = "crdt";
|
||||
version = "0.2.7";
|
||||
version = "0.3.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/crdt-0.2.7.tar";
|
||||
sha256 = "0f6v937zbxj4kci07dv0a1h4q1ak0qabkjq2j258ydxyivvqyvsw";
|
||||
url = "https://elpa.gnu.org/packages/crdt-0.3.0.tar";
|
||||
sha256 = "0fmrmpjqyzxcmx38kwl6mifq412qfgm9ak7j4f54j33kbp10hjj7";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
@ -921,10 +936,10 @@
|
|||
elpaBuild {
|
||||
pname = "csv-mode";
|
||||
ename = "csv-mode";
|
||||
version = "1.20";
|
||||
version = "1.21";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/csv-mode-1.20.tar";
|
||||
sha256 = "08im1llz04s3ckpj3c3j4wxq4g00fyld2m8ylnh878ss5izzs0lg";
|
||||
url = "https://elpa.gnu.org/packages/csv-mode-1.21.tar";
|
||||
sha256 = "11f01lyz6i133njigg53r890cic8y13kz7dswc8mj7m60a316dmv";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
meta = {
|
||||
|
@ -936,10 +951,10 @@
|
|||
elpaBuild {
|
||||
pname = "cursory";
|
||||
ename = "cursory";
|
||||
version = "0.1.4";
|
||||
version = "0.2.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/cursory-0.1.4.tar";
|
||||
sha256 = "0yjwn6kpxl7b3m8si4sqmdkhr8imcgbvwhwki2sxgybs75lxdg97";
|
||||
url = "https://elpa.gnu.org/packages/cursory-0.2.1.tar";
|
||||
sha256 = "12q1icz1npan9fjn0sy2zfs3d0iz6b34hqsfggm187igq4zj3rrb";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -1037,6 +1052,21 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
denote = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "denote";
|
||||
ename = "denote";
|
||||
version = "0.3.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/denote-0.3.1.tar";
|
||||
sha256 = "0zdxflmm62gkg6nbrpaxinwb60ghr19pvr3jbgnvbca3bd5yg5wk";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/denote.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
detached = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "detached";
|
||||
|
@ -1341,10 +1371,10 @@
|
|||
elpaBuild {
|
||||
pname = "eev";
|
||||
ename = "eev";
|
||||
version = "20220605";
|
||||
version = "20220626";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/eev-20220605.tar";
|
||||
sha256 = "1d8bmps72519hv3raqyjx1sbd7vmihckq8qrzd2v0rglx4smikdk";
|
||||
url = "https://elpa.gnu.org/packages/eev-20220626.tar";
|
||||
sha256 = "0n09dws1qy23a31s5iv75dzl6xy8m5m7qy9gf7sk1b3133ly4sf5";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -1499,10 +1529,10 @@
|
|||
elpaBuild {
|
||||
pname = "emms";
|
||||
ename = "emms";
|
||||
version = "10";
|
||||
version = "11";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/emms-10.tar";
|
||||
sha256 = "1lgjw9p799sl7nqnl2sk4g67ra10z2ldygx9kb8pmxjrx64mi3qm";
|
||||
url = "https://elpa.gnu.org/packages/emms-11.tar";
|
||||
sha256 = "000lqhsafyh1n293ksnlyavxv1pzl5pazds4sgxjcqd45lyn55ii";
|
||||
};
|
||||
packageRequires = [ cl-lib nadvice seq ];
|
||||
meta = {
|
||||
|
@ -1729,10 +1759,10 @@
|
|||
elpaBuild {
|
||||
pname = "fontaine";
|
||||
ename = "fontaine";
|
||||
version = "0.2.2";
|
||||
version = "0.3.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/fontaine-0.2.2.tar";
|
||||
sha256 = "14q10r5086pyknpm8kd9f0scwwbgygqjp8b08k6a4f30a3pl3rqi";
|
||||
url = "https://elpa.gnu.org/packages/fontaine-0.3.0.tar";
|
||||
sha256 = "0ixi48w3d0yvmw1103gj7iq2acj90p0qlyhna4hpfhnwa247lp2k";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -2333,10 +2363,10 @@
|
|||
elpaBuild {
|
||||
pname = "js2-mode";
|
||||
ename = "js2-mode";
|
||||
version = "20211229";
|
||||
version = "20220710";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/js2-mode-20211229.tar";
|
||||
sha256 = "0qf7z0mmrvlncf1ac6yiza5wmcaf588d53ma41vhj58adaahimz6";
|
||||
url = "https://elpa.gnu.org/packages/js2-mode-20220710.tar";
|
||||
sha256 = "1wvkqkfbnk3qanbz9167z8dik3667ihgyca8brbkh2b1ld10f9yq";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
meta = {
|
||||
|
@ -2393,10 +2423,10 @@
|
|||
elpaBuild {
|
||||
pname = "kind-icon";
|
||||
ename = "kind-icon";
|
||||
version = "0.1.5";
|
||||
version = "0.1.6";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/kind-icon-0.1.5.tar";
|
||||
sha256 = "0qajj89vkgc9gbgff6akzll53jy0kgkv6c9jvwpl32rbg8v0wp63";
|
||||
url = "https://elpa.gnu.org/packages/kind-icon-0.1.6.tar";
|
||||
sha256 = "0ac53qrz217b054z51244r7whvjmyrq4941ld0bgl9crssrhb588";
|
||||
};
|
||||
packageRequires = [ emacs svg-lib ];
|
||||
meta = {
|
||||
|
@ -2498,10 +2528,10 @@
|
|||
elpaBuild {
|
||||
pname = "lin";
|
||||
ename = "lin";
|
||||
version = "0.3.1";
|
||||
version = "0.4.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/lin-0.3.1.tar";
|
||||
sha256 = "1blk9vc9fyw6djqh0465bayv2s5s0ap7fps383ihmazmmii6mp2a";
|
||||
url = "https://elpa.gnu.org/packages/lin-0.4.0.tar";
|
||||
sha256 = "1fynn3fpf3c2yamlpp9j6rakgd21ivyvqrx0hmsgcyr115q5afm4";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -3205,10 +3235,10 @@
|
|||
elpaBuild {
|
||||
pname = "org-modern";
|
||||
ename = "org-modern";
|
||||
version = "0.3";
|
||||
version = "0.4";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/org-modern-0.3.tar";
|
||||
sha256 = "14f5grai6k9xbpyc33pcpgi6ka8pgy7vcnqqi77nclzq2yxhl9c1";
|
||||
url = "https://elpa.gnu.org/packages/org-modern-0.4.tar";
|
||||
sha256 = "0xn2vmlz43p9b1gscijwzhaxa44dsshlw31llhffqpxlw2amm1lf";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -3250,10 +3280,10 @@
|
|||
elpaBuild {
|
||||
pname = "org-transclusion";
|
||||
ename = "org-transclusion";
|
||||
version = "1.2.0";
|
||||
version = "1.3.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/org-transclusion-1.2.0.tar";
|
||||
sha256 = "1q36nqxynzh8ygvgw5nmg49c4yq8pgp6lcb6mdqs9paw8pglxcjf";
|
||||
url = "https://elpa.gnu.org/packages/org-transclusion-1.3.0.tar";
|
||||
sha256 = "1fgxpx5cikp03xzki55b7davx8m6zmrmrd0jzd69mv9gyw3bywg7";
|
||||
};
|
||||
packageRequires = [ emacs org ];
|
||||
meta = {
|
||||
|
@ -3580,10 +3610,10 @@
|
|||
elpaBuild {
|
||||
pname = "pyim";
|
||||
ename = "pyim";
|
||||
version = "4.2.1";
|
||||
version = "5.2.3";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/pyim-4.2.1.tar";
|
||||
sha256 = "15hsz1ji8xa7zqzzmbi0vk95vgsvl4dsd1rann04vfaz30a1rdzv";
|
||||
url = "https://elpa.gnu.org/packages/pyim-5.2.3.tar";
|
||||
sha256 = "189r0qkd8nv5zjg2ljbzbj086jb8xbl4yd1jliz4azaprv8fhqv0";
|
||||
};
|
||||
packageRequires = [ async emacs xr ];
|
||||
meta = {
|
||||
|
@ -3595,10 +3625,10 @@
|
|||
elpaBuild {
|
||||
pname = "pyim-basedict";
|
||||
ename = "pyim-basedict";
|
||||
version = "0.5.3";
|
||||
version = "0.5.4";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/pyim-basedict-0.5.3.tar";
|
||||
sha256 = "1x3zmcbp5yck5dxfms8d9ym0fdbvwr40fn8wrq0qfl9a58k8i5bx";
|
||||
url = "https://elpa.gnu.org/packages/pyim-basedict-0.5.4.tar";
|
||||
sha256 = "1zppp12217aakawgndy6daxpw1098lh7lsjar2wwd4qv4xs0d4p6";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
@ -3860,10 +3890,10 @@
|
|||
elpaBuild {
|
||||
pname = "rec-mode";
|
||||
ename = "rec-mode";
|
||||
version = "1.8.4";
|
||||
version = "1.9.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/rec-mode-1.8.4.tar";
|
||||
sha256 = "03n0g6inhj0mqqcqimh6nfi6rdzgh4w59vdjicvn880r5n8zwn4d";
|
||||
url = "https://elpa.gnu.org/packages/rec-mode-1.9.0.tar";
|
||||
sha256 = "1w1q6kh567fd8xismq9i6wr1y893lypd30l452yvydi1qjiq1n6x";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -3935,10 +3965,10 @@
|
|||
elpaBuild {
|
||||
pname = "rnc-mode";
|
||||
ename = "rnc-mode";
|
||||
version = "0.2";
|
||||
version = "0.3";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/rnc-mode-0.2.el";
|
||||
sha256 = "0xhvcfqjkb010wc7r218xcjidv1c8597vayyv09vk97z4qxqkrbd";
|
||||
url = "https://elpa.gnu.org/packages/rnc-mode-0.3.tar";
|
||||
sha256 = "1bd4pxaijcs0w8v9r7x9aiqyqf1rl46153dxl0ilhm3fc90iyf2r";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
@ -4061,10 +4091,10 @@
|
|||
elpaBuild {
|
||||
pname = "setup";
|
||||
ename = "setup";
|
||||
version = "1.2.0";
|
||||
version = "1.3.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/setup-1.2.0.tar";
|
||||
sha256 = "1fyzkm42gsvsjpk3vahfb7asfldarixm0wsw3g66q3ad0r7cbjnz";
|
||||
url = "https://elpa.gnu.org/packages/setup-1.3.0.tar";
|
||||
sha256 = "0r13ry73jm31j8fq7v1sh0k113fr4blfkiz85696bdpah2pnca87";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -4320,10 +4350,10 @@
|
|||
elpaBuild {
|
||||
pname = "sql-cassandra";
|
||||
ename = "sql-cassandra";
|
||||
version = "0.2.1";
|
||||
version = "0.2.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/sql-cassandra-0.2.1.tar";
|
||||
sha256 = "1w9jhh4gf5nnjq8p2zfdli81yqvnfjri4qlwxiwb913ah48vyi2l";
|
||||
url = "https://elpa.gnu.org/packages/sql-cassandra-0.2.2.tar";
|
||||
sha256 = "06h301fpqax24x295x06bz08ipjjnxs9smisyz82z08kgszq92c6";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -4549,10 +4579,10 @@
|
|||
elpaBuild {
|
||||
pname = "tempel";
|
||||
ename = "tempel";
|
||||
version = "0.3";
|
||||
version = "0.4";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/tempel-0.3.tar";
|
||||
sha256 = "0aa3f3sfvibp3wl401fdlww70axl9hxasbza70i44vqq0y9csv40";
|
||||
url = "https://elpa.gnu.org/packages/tempel-0.4.tar";
|
||||
sha256 = "002ng6x1qlhnk7vvpwjl8wkm869k0ihpbdgbnhqjsnpzln1gib0w";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -4613,10 +4643,10 @@
|
|||
elpaBuild {
|
||||
pname = "tmr";
|
||||
ename = "tmr";
|
||||
version = "0.3.0";
|
||||
version = "0.4.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/tmr-0.3.0.tar";
|
||||
sha256 = "1cv90hg7hsaffkcxryp9d5cyjvmfpxcmrw5knipad77yxzaf4s6b";
|
||||
url = "https://elpa.gnu.org/packages/tmr-0.4.0.tar";
|
||||
sha256 = "1s4q7gbqjhqsvwzcfqr9ykm2pdrjybsi2fanxm01vvmzwg2bi6d8";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -4643,10 +4673,10 @@
|
|||
elpaBuild {
|
||||
pname = "tramp";
|
||||
ename = "tramp";
|
||||
version = "2.5.2.5";
|
||||
version = "2.5.3";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/tramp-2.5.2.5.tar";
|
||||
sha256 = "05f59x7jl4m187y2cidhnfz7p8q85gav4xpipazfvm5dicxz4j7c";
|
||||
url = "https://elpa.gnu.org/packages/tramp-2.5.3.tar";
|
||||
sha256 = "16bs90h7b1d188v6glhfp0y4wgxvwn3dl6l4sbswlf1zq3y61zy7";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -4778,10 +4808,10 @@
|
|||
elpaBuild {
|
||||
pname = "uniquify-files";
|
||||
ename = "uniquify-files";
|
||||
version = "1.0.3";
|
||||
version = "1.0.4";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/uniquify-files-1.0.3.tar";
|
||||
sha256 = "1i7svplkw9wxiypw52chdry7f5gf992fb4yg8s7jy77v521fd2af";
|
||||
url = "https://elpa.gnu.org/packages/uniquify-files-1.0.4.tar";
|
||||
sha256 = "0ry52l9p2sz8nsfh15ffa25s46vqhna466ahmjmnmlihgjhdm85q";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -4862,10 +4892,10 @@
|
|||
elpaBuild {
|
||||
pname = "vc-got";
|
||||
ename = "vc-got";
|
||||
version = "1.1.1";
|
||||
version = "1.1.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/vc-got-1.1.1.tar";
|
||||
sha256 = "0f8rwd4scvlyn9i9xq7d2sly7r0ddzi8z565jx1h2lkcs5nbihcb";
|
||||
url = "https://elpa.gnu.org/packages/vc-got-1.1.2.tar";
|
||||
sha256 = "1824d5c217qimsg4aw8adjvv06gkhv5f3918fi0lkhya1jsvfrx9";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -4892,10 +4922,10 @@
|
|||
elpaBuild {
|
||||
pname = "vcard";
|
||||
ename = "vcard";
|
||||
version = "0.2.1";
|
||||
version = "0.2.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/vcard-0.2.1.tar";
|
||||
sha256 = "0nfrh1mz2h7h259kf7sj13z30kmjywfvs83ax5qjkfwxhqm03abf";
|
||||
url = "https://elpa.gnu.org/packages/vcard-0.2.2.tar";
|
||||
sha256 = "0f06qzmj91kdpdlhlykh7v7jx0xvwxg8072ys145g1mvh5l23yig";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -4954,10 +4984,10 @@
|
|||
elpaBuild {
|
||||
pname = "vertico";
|
||||
ename = "vertico";
|
||||
version = "0.24";
|
||||
version = "0.25";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/vertico-0.24.tar";
|
||||
sha256 = "17vsx1yijx9clly977lvc6y296kq8g859hqwwq1v8zh4k0wqr9hc";
|
||||
url = "https://elpa.gnu.org/packages/vertico-0.25.tar";
|
||||
sha256 = "1v0icwqp4ppa2j1k1fk4fc5zdzqb4hcdc7khjc1c31q0gad6l3xy";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -5187,10 +5217,10 @@
|
|||
elpaBuild {
|
||||
pname = "wisi";
|
||||
ename = "wisi";
|
||||
version = "3.1.7";
|
||||
version = "3.1.8";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/wisi-3.1.7.tar";
|
||||
sha256 = "1xraks3n97axc978qlgcwr4f7ib3lyr4bvb5lq5z099hd2g01qch";
|
||||
url = "https://elpa.gnu.org/packages/wisi-3.1.8.tar";
|
||||
sha256 = "1k4vfxjas79yv5xfnmjygf185zkypx65gpqlmxpvfgcmvl7dgbdy";
|
||||
};
|
||||
packageRequires = [ emacs seq ];
|
||||
meta = {
|
||||
|
@ -5282,10 +5312,10 @@
|
|||
elpaBuild {
|
||||
pname = "xr";
|
||||
ename = "xr";
|
||||
version = "1.22";
|
||||
version = "1.23";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/xr-1.22.tar";
|
||||
sha256 = "1l3bqgzvbamfs4n628kg789g7vjn4v81q570gzbw2cwjgk4s6xbj";
|
||||
url = "https://elpa.gnu.org/packages/xr-1.23.tar";
|
||||
sha256 = "1nz3fhd4qx8fxib78y41jvnzn27lf7mlvpkz565d5zc9q4mr300z";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
|
|
@ -49,10 +49,10 @@
|
|||
elpaBuild {
|
||||
pname = "annotate";
|
||||
ename = "annotate";
|
||||
version = "1.6.0";
|
||||
version = "1.7.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/annotate-1.6.0.tar";
|
||||
sha256 = "12843875nvrw5cs2pzag9i2k4vgajbs4rr56js7h6mx9w6jmg8hc";
|
||||
url = "https://elpa.nongnu.org/nongnu/annotate-1.7.0.tar";
|
||||
sha256 = "0bpicd0m9h1n56ywinfa0wykhx86sxn8i1f2j5vwhwcidap42qaa";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
@ -109,10 +109,10 @@
|
|||
elpaBuild {
|
||||
pname = "apropospriate-theme";
|
||||
ename = "apropospriate-theme";
|
||||
version = "0.1.1";
|
||||
version = "0.2.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/apropospriate-theme-0.1.1.tar";
|
||||
sha256 = "11m80gijxvg4jf9davjja3bvykv161ggsrg7q0bihr0gq0flxgd7";
|
||||
url = "https://elpa.nongnu.org/nongnu/apropospriate-theme-0.2.0.tar";
|
||||
sha256 = "1s4cvh24zj3wpdqc3lklvi1dkba3jf87nxrzq0s3l1rzhg21pfpj";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
@ -245,6 +245,21 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
cdlatex = callPackage ({ auctex, elpaBuild, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "cdlatex";
|
||||
ename = "cdlatex";
|
||||
version = "4.12";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/cdlatex-4.12.tar";
|
||||
sha256 = "1m8liqxz76r8f3b8hvyyn7kqgq0fkk5pv4pqgdscbgw36vpcbkry";
|
||||
};
|
||||
packageRequires = [ auctex ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/cdlatex.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
cider = callPackage ({ clojure-mode
|
||||
, elpaBuild
|
||||
, emacs
|
||||
|
@ -375,6 +390,25 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
cycle-at-point = callPackage ({ elpaBuild
|
||||
, emacs
|
||||
, fetchurl
|
||||
, lib
|
||||
, recomplete }:
|
||||
elpaBuild {
|
||||
pname = "cycle-at-point";
|
||||
ename = "cycle-at-point";
|
||||
version = "0.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/cycle-at-point-0.1.tar";
|
||||
sha256 = "0097w7nw8d1q7ad4b4qjk0svwxqg80jr2p27540vkir7289w59j3";
|
||||
};
|
||||
packageRequires = [ emacs recomplete ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/cycle-at-point.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
d-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "d-mode";
|
||||
|
@ -405,6 +439,36 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
diff-ansi = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "diff-ansi";
|
||||
ename = "diff-ansi";
|
||||
version = "0.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/diff-ansi-0.2.tar";
|
||||
sha256 = "1fcy89m6wkhc5hy4lqcd60ckrf9qwimilydjx083nackppdz1xlw";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/diff-ansi.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
doc-show-inline = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "doc-show-inline";
|
||||
ename = "doc-show-inline";
|
||||
version = "0.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/doc-show-inline-0.1.tar";
|
||||
sha256 = "11khy906vmhz445ryrdb63v0hjq0x59dn152j96vv9jlg5gqdi3b";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/doc-show-inline.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
dockerfile-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "dockerfile-mode";
|
||||
|
@ -450,6 +514,21 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
edit-indirect = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "edit-indirect";
|
||||
ename = "edit-indirect";
|
||||
version = "0.1.10";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/edit-indirect-0.1.10.tar";
|
||||
sha256 = "0mk6s5hc8n9s5c434im6r06mfgmdf5s44zlr9j3hfkjaic1lf45b";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/edit-indirect.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
editorconfig = callPackage ({ cl-lib ? null
|
||||
, elpaBuild
|
||||
, emacs
|
||||
|
@ -489,10 +568,10 @@
|
|||
elpaBuild {
|
||||
pname = "elpher";
|
||||
ename = "elpher";
|
||||
version = "3.4.1";
|
||||
version = "3.4.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/elpher-3.4.1.tar";
|
||||
sha256 = "1vayhcamdp8nn6hrgffd0yx9k9q3mckbcsfwclhyyfc0x1hcwf92";
|
||||
url = "https://elpa.nongnu.org/nongnu/elpher-3.4.2.tar";
|
||||
sha256 = "0q7a79jnlihjj936wi199pdxl0ydy04354y0mqpxms00r98hzr9d";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -652,10 +731,10 @@
|
|||
elpaBuild {
|
||||
pname = "evil-numbers";
|
||||
ename = "evil-numbers";
|
||||
version = "0.6";
|
||||
version = "0.7";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/evil-numbers-0.6.tar";
|
||||
sha256 = "0zl16ljb64cawcj11f4ndz941sllj8nhgjcb4w0r1afxbvpn5rss";
|
||||
url = "https://elpa.nongnu.org/nongnu/evil-numbers-0.7.tar";
|
||||
sha256 = "1kd60kc8762i9vyig179dnbmrjyw30bm06g26abndw2kjxaqjhr8";
|
||||
};
|
||||
packageRequires = [ emacs evil ];
|
||||
meta = {
|
||||
|
@ -703,10 +782,10 @@
|
|||
elpaBuild {
|
||||
pname = "flymake-popon";
|
||||
ename = "flymake-popon";
|
||||
version = "0.2";
|
||||
version = "0.3";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/flymake-popon-0.2.tar";
|
||||
sha256 = "08wpfia4q12nhc6l0xmdc54f1s73c0ds6hxwgkk5hjw906rpgn4a";
|
||||
url = "https://elpa.nongnu.org/nongnu/flymake-popon-0.3.tar";
|
||||
sha256 = "1cmimdkav8cdl7x6qplm4pvj2ifyb3lk8h2q624vh7cxxlh8yq0l";
|
||||
};
|
||||
packageRequires = [ emacs flymake popon posframe ];
|
||||
meta = {
|
||||
|
@ -1119,10 +1198,10 @@
|
|||
elpaBuild {
|
||||
pname = "helm";
|
||||
ename = "helm";
|
||||
version = "3.8.5";
|
||||
version = "3.8.6";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/helm-3.8.5.tar";
|
||||
sha256 = "1h71qcik375zhkk4rgcxj6ffnzpns2lvzwq82yfhmmhzrrxhds0z";
|
||||
url = "https://elpa.nongnu.org/nongnu/helm-3.8.6.tar";
|
||||
sha256 = "0h0l36wmzxi03viy0jd3zri84big0syiilvjm639nqhzsr1lbvy2";
|
||||
};
|
||||
packageRequires = [ helm-core popup ];
|
||||
meta = {
|
||||
|
@ -1134,10 +1213,10 @@
|
|||
elpaBuild {
|
||||
pname = "helm-core";
|
||||
ename = "helm-core";
|
||||
version = "3.8.5";
|
||||
version = "3.8.6";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/helm-core-3.8.5.tar";
|
||||
sha256 = "0117y2gazm8h5fxj23166a53w4r68r1mscgardk0y6xd6lz73yz9";
|
||||
url = "https://elpa.nongnu.org/nongnu/helm-core-3.8.6.tar";
|
||||
sha256 = "0yzzwdggd37m7kv0gh4amc7l5x0r5x2pxi3lfs36hq2hfsqlfkza";
|
||||
};
|
||||
packageRequires = [ async emacs ];
|
||||
meta = {
|
||||
|
@ -1163,6 +1242,21 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
hl-block-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "hl-block-mode";
|
||||
ename = "hl-block-mode";
|
||||
version = "0.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/hl-block-mode-0.1.tar";
|
||||
sha256 = "08b2n8i0qmjp5r6ijlg66g0j8aiwhrczxyf0ssr9jbga43k4swzq";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/hl-block-mode.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
htmlize = callPackage ({ elpaBuild, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "htmlize";
|
||||
|
@ -1178,6 +1272,21 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
idle-highlight-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "idle-highlight-mode";
|
||||
ename = "idle-highlight-mode";
|
||||
version = "1.1.3";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/idle-highlight-mode-1.1.3.tar";
|
||||
sha256 = "05w2rqc71h1f13ysdfjma90s35kj5d5i2szcw54cqyky8rymx5dp";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/idle-highlight-mode.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
idris-mode = callPackage ({ cl-lib ? null
|
||||
, elpaBuild
|
||||
, emacs
|
||||
|
@ -1221,10 +1330,10 @@
|
|||
elpaBuild {
|
||||
pname = "inf-clojure";
|
||||
ename = "inf-clojure";
|
||||
version = "3.1.0";
|
||||
version = "3.2.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/inf-clojure-3.1.0.tar";
|
||||
sha256 = "0jw6rzplicbv2l7si46naspzp5lqwj20b1nmfs9zal58z1gx6zjk";
|
||||
url = "https://elpa.nongnu.org/nongnu/inf-clojure-3.2.0.tar";
|
||||
sha256 = "1a9hr28l8cxf5j9b5z0mwds4jd36bhdqz9r86c85rylgaibx5ky7";
|
||||
};
|
||||
packageRequires = [ clojure-mode emacs ];
|
||||
meta = {
|
||||
|
@ -1232,6 +1341,36 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
inf-ruby = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "inf-ruby";
|
||||
ename = "inf-ruby";
|
||||
version = "2.6.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/inf-ruby-2.6.1.tar";
|
||||
sha256 = "0z57wwpm7wh04yp7za8fmv4ib56np629kmk4djs8qaz5bv494znr";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/inf-ruby.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
inkpot-theme = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "inkpot-theme";
|
||||
ename = "inkpot-theme";
|
||||
version = "0.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/inkpot-theme-0.1.tar";
|
||||
sha256 = "0ik7vkwqlsgxmdckd154kh82zg8jr41vwc0a200x9920l5mnfjq2";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/inkpot-theme.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
j-mode = callPackage ({ elpaBuild, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "j-mode";
|
||||
|
@ -1565,14 +1704,29 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
oblivion-theme = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "oblivion-theme";
|
||||
ename = "oblivion-theme";
|
||||
version = "0.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/oblivion-theme-0.1.tar";
|
||||
sha256 = "0095sc82nl5qxz5nlf2bxbynkxa3plcqr8dq187r70p0775jw46m";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/oblivion-theme.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
org-auto-tangle = callPackage ({ async, elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "org-auto-tangle";
|
||||
ename = "org-auto-tangle";
|
||||
version = "0.4.1";
|
||||
version = "0.5.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/org-auto-tangle-0.4.1.tar";
|
||||
sha256 = "169i1agnv66gkpgn5wxxri42610n2dp1gz9bfafk2n2a8b08mhn1";
|
||||
url = "https://elpa.nongnu.org/nongnu/org-auto-tangle-0.5.1.tar";
|
||||
sha256 = "12sy30yr8r3g7gmvcdsrrmy62lhvajg3gp62gj7p836kh9xllpsl";
|
||||
};
|
||||
packageRequires = [ async emacs ];
|
||||
meta = {
|
||||
|
@ -1805,10 +1959,10 @@
|
|||
elpaBuild {
|
||||
pname = "popon";
|
||||
ename = "popon";
|
||||
version = "0.4";
|
||||
version = "0.7";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/popon-0.4.tar";
|
||||
sha256 = "1c3brjhkdnpawi8jsc20jvhc1vl3l39da12rn3lfx2bfxvjvz76w";
|
||||
url = "https://elpa.nongnu.org/nongnu/popon-0.7.tar";
|
||||
sha256 = "0sr0cv9jlaj83sgk1cb7wd6r12g6gmzdjzm077gxa6jy9p4qrv0q";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -1846,6 +2000,21 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
proof-general = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "proof-general";
|
||||
ename = "proof-general";
|
||||
version = "4.5";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/proof-general-4.5.tar";
|
||||
sha256 = "13zy339yz6ijgkcnqxzcyg909z77w3capb3gim1riy3sqikvv04x";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/proof-general.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
prop-menu = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "prop-menu";
|
||||
|
@ -1891,6 +2060,21 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
recomplete = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "recomplete";
|
||||
ename = "recomplete";
|
||||
version = "0.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/recomplete-0.2.tar";
|
||||
sha256 = "09n21mx90wr53xlhy5mlca675ah9ynnnc2afzjjml98ll81f4k23";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/recomplete.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
request = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "request";
|
||||
|
@ -1925,10 +2109,10 @@
|
|||
elpaBuild {
|
||||
pname = "rust-mode";
|
||||
ename = "rust-mode";
|
||||
version = "1.0.4";
|
||||
version = "1.0.5";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/rust-mode-1.0.4.tar";
|
||||
sha256 = "137z04h29cgy1dmkf2cnchlfzqs4f5v3cc9gv9qxisw9dswlvdvk";
|
||||
url = "https://elpa.nongnu.org/nongnu/rust-mode-1.0.5.tar";
|
||||
sha256 = "16dw4mfgfazslsf8n9fir2xc3v3jpw9i7bbgcfbhgclm0g2w9j83";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -1970,6 +2154,36 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
scroll-on-drag = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "scroll-on-drag";
|
||||
ename = "scroll-on-drag";
|
||||
version = "0.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/scroll-on-drag-0.1.tar";
|
||||
sha256 = "06bpxfhdhsf6awhjcj21x8kb3g9n6j14s43cd03fp5gb0m5bs478";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/scroll-on-drag.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
scroll-on-jump = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "scroll-on-jump";
|
||||
ename = "scroll-on-jump";
|
||||
version = "0.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/scroll-on-jump-0.1.tar";
|
||||
sha256 = "0y6r0aa14sv8yh56w46s840bdkgq6y234qz1jbbsgklx42cw6zgg";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/scroll-on-jump.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
sesman = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "sesman";
|
||||
|
@ -2075,6 +2289,21 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
spell-fu = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "spell-fu";
|
||||
ename = "spell-fu";
|
||||
version = "0.3";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/spell-fu-0.3.tar";
|
||||
sha256 = "0yr7m0i89ymp93p4qx8a0y1ghg7ydg1479xgvsz71n35x4sbiwba";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/spell-fu.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
stylus-mode = callPackage ({ elpaBuild, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "stylus-mode";
|
||||
|
@ -2124,10 +2353,10 @@
|
|||
elpaBuild {
|
||||
pname = "swift-mode";
|
||||
ename = "swift-mode";
|
||||
version = "8.4.2";
|
||||
version = "8.6.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/swift-mode-8.4.2.tar";
|
||||
sha256 = "0rkri1414f2w2bw76dwnmylcdca6x9bkdvlq1aznz76ac259klji";
|
||||
url = "https://elpa.nongnu.org/nongnu/swift-mode-8.6.0.tar";
|
||||
sha256 = "0zasgv311mjc1iih9wv8vb8h53y2pjx24xsbdnn0wk8xcdk4z8j6";
|
||||
};
|
||||
packageRequires = [ emacs seq ];
|
||||
meta = {
|
||||
|
@ -2139,10 +2368,10 @@
|
|||
elpaBuild {
|
||||
pname = "swsw";
|
||||
ename = "swsw";
|
||||
version = "2.1.1";
|
||||
version = "2.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/swsw-2.1.1.tar";
|
||||
sha256 = "0k6cysa4pmxv1kmpn0fqvardbdfayj92cq0r3gxrx9pgqxlqwfix";
|
||||
url = "https://elpa.nongnu.org/nongnu/swsw-2.2.tar";
|
||||
sha256 = "0bxcpk5329g4xdfnx8n70q53v4aansxfcs3fdpzssayyyv4fk72m";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -2150,6 +2379,21 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
symbol-overlay = callPackage ({ elpaBuild, emacs, fetchurl, lib, seq }:
|
||||
elpaBuild {
|
||||
pname = "symbol-overlay";
|
||||
ename = "symbol-overlay";
|
||||
version = "4.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/symbol-overlay-4.1.tar";
|
||||
sha256 = "07gcg45y712dblidak2kxp7w0h0gf39hwzwbkpna66k4c4xjpig8";
|
||||
};
|
||||
packageRequires = [ emacs seq ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/symbol-overlay.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
systemd = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "systemd";
|
||||
|
@ -2291,6 +2535,36 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
undo-fu = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "undo-fu";
|
||||
ename = "undo-fu";
|
||||
version = "0.4";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/undo-fu-0.4.tar";
|
||||
sha256 = "15r0lkzbxgvnwdmaxgiwnik2z8622gdzmpxllv8pfr36y6jmsgs8";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/undo-fu.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
undo-fu-session = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "undo-fu-session";
|
||||
ename = "undo-fu-session";
|
||||
version = "0.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/undo-fu-session-0.2.tar";
|
||||
sha256 = "1vxyazcxw2gxvxh96grsff1lijsd5fh3pjzkbkj7axn3myavp374";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/undo-fu-session.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
vc-fossil = callPackage ({ elpaBuild, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "vc-fossil";
|
||||
|
@ -2340,10 +2614,10 @@
|
|||
elpaBuild {
|
||||
pname = "web-mode";
|
||||
ename = "web-mode";
|
||||
version = "17.2.2";
|
||||
version = "17.2.3";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/web-mode-17.2.2.tar";
|
||||
sha256 = "19ajwjcxv7vqysk085jyys77vry8nw7rzc7c43khyxb54qvg36i3";
|
||||
url = "https://elpa.nongnu.org/nongnu/web-mode-17.2.3.tar";
|
||||
sha256 = "1fvkr3yvhx67wkcynid7xppaci3m1d5ggdaii3d4dfp57wwz5c13";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -2438,10 +2712,10 @@
|
|||
elpaBuild {
|
||||
pname = "xah-fly-keys";
|
||||
ename = "xah-fly-keys";
|
||||
version = "17.13.20220526011611";
|
||||
version = "17.17.20220709145456";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.nongnu.org/nongnu/xah-fly-keys-17.13.20220526011611.tar";
|
||||
sha256 = "1lg8805s5y61jr6yrm44zdjm0nad6adc5xr78zm0i0qzigbhhdcq";
|
||||
url = "https://elpa.nongnu.org/nongnu/xah-fly-keys-17.17.20220709145456.tar";
|
||||
sha256 = "1npgdc9f1vj1d9nyfh30vskybqs2lwhd31b2a7i79ifrxs48kqr4";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -166,7 +166,7 @@ let
|
|||
};
|
||||
});
|
||||
|
||||
buildPycharm = { pname, version, src, license, description, wmClass, product, ... }:
|
||||
buildPycharm = { pname, version, src, license, description, wmClass, product, cythonSpeedup ? stdenv.isLinux, ... }:
|
||||
(mkJetBrainsProduct {
|
||||
inherit pname version src wmClass jdk product;
|
||||
productShort = "PyCharm";
|
||||
|
@ -189,6 +189,17 @@ let
|
|||
'';
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}).overrideAttrs (finalAttrs: previousAttrs: optionalAttrs cythonSpeedup {
|
||||
buildInputs = with python3.pkgs; [ python3 setuptools ];
|
||||
preInstall = ''
|
||||
echo "compiling cython debug speedups"
|
||||
if [[ -d plugins/python-ce ]]; then
|
||||
${python3.interpreter} plugins/python-ce/helpers/pydev/setup_cython.py build_ext --inplace
|
||||
else
|
||||
${python3.interpreter} plugins/python/helpers/pydev/setup_cython.py build_ext --inplace
|
||||
fi
|
||||
'';
|
||||
# See https://www.jetbrains.com/help/pycharm/2022.1/cython-speedups.html
|
||||
});
|
||||
|
||||
buildRider = { pname, version, src, license, description, wmClass, ... }:
|
||||
|
|
|
@ -1,26 +1,53 @@
|
|||
{ lib, stdenv, fetchFromGitHub, termbox, pcre, uthash, lua5_3, makeWrapper, installShellFiles }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, pcre
|
||||
, uthash
|
||||
, lua5_4
|
||||
, makeWrapper
|
||||
, installShellFiles
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mle";
|
||||
version = "1.4.3";
|
||||
version = "1.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "adsr";
|
||||
repo = "mle";
|
||||
rev = "v${version}";
|
||||
sha256 = "16dbwfdd6sqqn7jfaxd5wdy8y9ghbihnz6bgn3xhqcww8rj1sia1";
|
||||
sha256 = "1nhd00lsx9v12zdmps92magz76c2d8zzln3lxvzl4ng73gbvq3n0";
|
||||
};
|
||||
|
||||
# Fix location of Lua 5.3 header and library
|
||||
# Bug fixes found after v1.5.0 release
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "skip_locale_dep_test.patch";
|
||||
url = "https://github.com/adsr/mle/commit/e4dc4314b02a324701d9ae9873461d34cce041e5.patch";
|
||||
sha256 = "sha256-j3Z/n+2LqB9vEkWzvRVSOrF6yE+hk6f0dvEsTQ74erw=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "fix_input_trail.patch";
|
||||
url = "https://github.com/adsr/mle/commit/bc05ec0eee4143d824010c6688fce526550ed508.patch";
|
||||
sha256 = "sha256-dM63EBDQfHLAqGZk3C5NtNAv23nCTxXVW8XpLkAeEyQ=";
|
||||
})
|
||||
];
|
||||
|
||||
# Fix location of Lua 5.4 header and library
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile --replace "-llua5.3" "-llua";
|
||||
substituteInPlace mle.h --replace "<lua5.3/" "<";
|
||||
substituteInPlace Makefile --replace "-llua5.4" "-llua";
|
||||
substituteInPlace mle.h --replace "<lua5.4/" "<";
|
||||
patchShebangs tests/*
|
||||
'';
|
||||
|
||||
# Use select(2) instead of poll(2) (poll is returning POLLINVAL on macOS)
|
||||
# Enable compiler optimization
|
||||
CFLAGS = "-DTB_OPT_SELECT -O2";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper installShellFiles ];
|
||||
|
||||
buildInputs = [ termbox pcre uthash lua5_3 ];
|
||||
buildInputs = [ pcre uthash lua5_4 ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
|
@ -30,13 +57,8 @@ stdenv.mkDerivation rec {
|
|||
installManPage mle.1
|
||||
'';
|
||||
|
||||
postFixup = lib.optionalString stdenv.isDarwin ''
|
||||
wrapProgram $out/bin/mle --prefix DYLD_LIBRARY_PATH : ${termbox}/lib
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
broken = (stdenv.isLinux && stdenv.isAarch64);
|
||||
description = "Small, flexible terminal-based text editor";
|
||||
description = "Small, flexible, terminal-based text editor";
|
||||
homepage = "https://github.com/adsr/mle";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.unix;
|
||||
|
|
|
@ -14,11 +14,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pinegrow";
|
||||
version = "6.5";
|
||||
version = "6.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.pinegrow.com/PinegrowLinux64.${version}.zip";
|
||||
sha256 = "1l7cf5jgidpykaf68mzf92kywl1vxwl3fg43ibgr2rg4cnl1g82b";
|
||||
sha256 = "sha256-a3SwUNcMXl42+Gy3wjcx/KvVprgFAO0D0lFPohPV3Tk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
, fetchurl, libsecret }:
|
||||
|
||||
let
|
||||
version = "3.11.1";
|
||||
version = "3.23.69";
|
||||
pname = "standardnotes";
|
||||
name = "${pname}-${version}";
|
||||
throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
|
||||
|
@ -13,12 +13,12 @@ let
|
|||
}.${stdenv.hostPlatform.system} or throwSystem;
|
||||
|
||||
sha256 = {
|
||||
i686-linux = "3e83a7eef5c29877eeffefb832543b21627cf027ae6e7b4f662865b6b842649a";
|
||||
x86_64-linux = "fd461e98248a2181afd2ef94a41a291d20f7ffb20abeaf0cfcf81a9f94e27868";
|
||||
i686-linux = "sha256-/A2LjV8ky20bcKgs0ijwldryi5VkyROwz49vWYXYQus=";
|
||||
x86_64-linux = "sha256-fA9WH9qUtvAHF9hTFRtxQdpz2dpK0joD0zX9VYBo10g=";
|
||||
}.${stdenv.hostPlatform.system} or throwSystem;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/standardnotes/desktop/releases/download/v${version}/standard-notes-${version}-linux-${plat}.AppImage";
|
||||
url = "https://github.com/standardnotes/app/releases/download/%40standardnotes%2Fdesktop%40${version}/standard-notes-${version}-linux-${plat}.AppImage";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
|
@ -37,17 +37,14 @@ in appimageTools.wrapType2 rec {
|
|||
|
||||
extraInstallCommands = ''
|
||||
# directory in /nix/store so readonly
|
||||
cp -r ${appimageContents}/* $out
|
||||
cd $out
|
||||
chmod -R +w $out
|
||||
mv $out/bin/${name} $out/bin/${pname}
|
||||
|
||||
# fixup and install desktop file
|
||||
${desktop-file-utils}/bin/desktop-file-install --dir $out/share/applications \
|
||||
--set-key Exec --set-value ${pname} standard-notes.desktop
|
||||
mv usr/share/icons share
|
||||
|
||||
rm usr/lib/* AppRun standard-notes.desktop .so*
|
||||
--set-key Exec --set-value ${pname} ${appimageContents}/standard-notes.desktop
|
||||
ln -s ${appimageContents}/usr/share/icons share
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -59,6 +56,7 @@ in appimageTools.wrapType2 rec {
|
|||
homepage = "https://standardnotes.org";
|
||||
license = licenses.agpl3;
|
||||
maintainers = with maintainers; [ mgregoire chuangzhu ];
|
||||
sourceProvenance = [ sourceTypes.binaryNativeCode ];
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1066,5 +1066,6 @@ https://github.com/folke/zen-mode.nvim/,,
|
|||
https://github.com/jnurmine/zenburn/,,
|
||||
https://github.com/glepnir/zephyr-nvim/,,
|
||||
https://github.com/ziglang/zig.vim/,,
|
||||
https://github.com/mickael-menu/zk-nvim/,HEAD,
|
||||
https://github.com/troydm/zoomwintab.vim/,,
|
||||
https://github.com/nanotee/zoxide.vim/,,
|
||||
|
|
|
@ -588,6 +588,13 @@ in
|
|||
preBuild = "cd libretro";
|
||||
};
|
||||
|
||||
nxengine = mkLibRetroCore {
|
||||
core = "nxengine";
|
||||
description = "NXEngine libretro port";
|
||||
license = lib.licenses.gpl3Only;
|
||||
makefile = "Makefile";
|
||||
};
|
||||
|
||||
np2kai = mkLibRetroCore rec {
|
||||
core = "np2kai";
|
||||
src = getCoreSrc core;
|
||||
|
|
|
@ -307,6 +307,12 @@
|
|||
"sha256": "M3kGA1TU3xui6of9XgUspI+Zf+hjYP1d2mgKwxsy3IQ=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"nxengine": {
|
||||
"owner": "libretro",
|
||||
"repo": "nxengine-libretro",
|
||||
"rev": "bc692a392473a45f63cdccbb353c3445b530d671",
|
||||
"sha256": "tAZkYHRKL+mI6f7YCnaU0qTSOZGW2o20p6wovMK1n2k="
|
||||
},
|
||||
"o2em": {
|
||||
"owner": "libretro",
|
||||
"repo": "libretro-o2em",
|
||||
|
|
|
@ -59,6 +59,7 @@ CORES = {
|
|||
"mupen64plus": {"repo": "mupen64plus-libretro-nx"},
|
||||
"neocd": {"repo": "neocd_libretro"},
|
||||
"nestopia": {"repo": "nestopia"},
|
||||
"nxengine": {"repo": "nxengine-libretro"},
|
||||
"np2kai": {"repo": "NP2kai", "owner": "AZO234", "fetch_submodules": True},
|
||||
"o2em": {"repo": "libretro-o2em"},
|
||||
"opera": {"repo": "opera-libretro"},
|
||||
|
|
|
@ -9,10 +9,10 @@
|
|||
|
||||
let
|
||||
# Keep these separate so the update script can regex them
|
||||
rpcs3GitVersion = "13388-4a86638ce";
|
||||
rpcs3Version = "0.0.21-13388-4a86638ce";
|
||||
rpcs3Revision = "4a86638ce898e3bd68ade8e7ba794253782ea411";
|
||||
rpcs3Sha256 = "0bc1n0jy4a869mn1g5i008vb5m2a6qfhyf7lw0d0jiljgsppiys1";
|
||||
rpcs3GitVersion = "13907-cdef752a9";
|
||||
rpcs3Version = "0.0.23-13907-cdef752a9";
|
||||
rpcs3Revision = "cdef752a9c2004010279cd4a6d77b451b42cc6ab";
|
||||
rpcs3Sha256 = "1mw6k097rsiljaw34harhvr32dvrh4xv22ryinylijnsjlm3hcan";
|
||||
|
||||
ittapi = fetchFromGitHub {
|
||||
owner = "intel";
|
||||
|
|
|
@ -17,13 +17,13 @@
|
|||
|
||||
buildDotnetModule rec {
|
||||
pname = "ryujinx";
|
||||
version = "1.1.100"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
|
||||
version = "1.1.181"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Ryujinx";
|
||||
repo = "Ryujinx";
|
||||
rev = "26a881176eb6513a98889648e0d5b7fe647cd0e3";
|
||||
sha256 = "09wjygkdr9sr0hwv77czi0x5xw8y585k9pghdm5s3iqjn9gbb45k";
|
||||
rev = "6eb85e846f25ae36a39685d6ac91025deaea306c";
|
||||
sha256 = "0lc8hhcrad26sw2dx0lwml8lk2mxg4db4sgfxnd450xi2qd63kdc";
|
||||
};
|
||||
|
||||
projectFile = "Ryujinx.sln";
|
||||
|
|
100
third_party/nixpkgs/pkgs/applications/emulators/ryujinx/deps.nix
generated
vendored
100
third_party/nixpkgs/pkgs/applications/emulators/ryujinx/deps.nix
generated
vendored
|
@ -1,22 +1,60 @@
|
|||
{ fetchNuGet }: [
|
||||
(fetchNuGet { pname = "AtkSharp"; version = "3.22.25.128"; sha256 = "0fg01zi7v6127043jzxzihirsdp187pyj83gfa6p79cx763l7z94"; })
|
||||
(fetchNuGet { pname = "Avalonia"; version = "0.10.15"; sha256 = "02rf96gxpafbk0ilg3nxf0fas9gkpb25kzqc2lnbxp8h366qg431"; })
|
||||
(fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2020091801"; sha256 = "04jm83cz7vkhhr6n2c9hya2k8i2462xbf6np4bidk55as0jdq43a"; })
|
||||
(fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "0.10.15"; sha256 = "064l23dazs5aj8qj40py8vg362z3vpn2nxwh3m5h73qf85npyhgm"; })
|
||||
(fetchNuGet { pname = "Avalonia.Desktop"; version = "0.10.15"; sha256 = "0wgc46vg227bv7nsybc9mxkqv9xlz2bj08bdipkigjlf23g0x4p6"; })
|
||||
(fetchNuGet { pname = "Avalonia.Diagnostics"; version = "0.10.15"; sha256 = "0k3fq7nrfsx0l07mhnjnm0y2i0mydsnhjpa76jxsbh1kvi4mz56i"; })
|
||||
(fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "0.10.15"; sha256 = "1bq2ha1mmgsb9gxmsibr3i6alcg6y3kizxi07qh4wgw38c3fkwzs"; })
|
||||
(fetchNuGet { pname = "Avalonia.Markup.Xaml.Loader"; version = "0.10.15"; sha256 = "1qvay0wlpih6864hl6w85mskirs19k0xg513lxq2rhddqcnkh788"; })
|
||||
(fetchNuGet { pname = "Avalonia.Native"; version = "0.10.15"; sha256 = "0p0ih6ql5kyvpfhc6ll2mgy23kx0vwn88qji74713id493w2ab02"; })
|
||||
(fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "0.10.15"; sha256 = "1va9zwznfr161w2xjjg4swm5505685mdkxxs747l2s35mahl5072"; })
|
||||
(fetchNuGet { pname = "Avalonia.Skia"; version = "0.10.14"; sha256 = "1cvyg94avqdscniszshx5r3vfvx0cnna262sp89ad4bianmd4qkj"; })
|
||||
(fetchNuGet { pname = "Avalonia.Skia"; version = "0.10.15"; sha256 = "0xlnanssz24rcnybz1x0d3lclzmbzdjb9k0i37rd76dif3rgng0h"; })
|
||||
(fetchNuGet { pname = "Avalonia.Svg"; version = "0.10.14"; sha256 = "102567bgj41sxhl3igzpd7gb6kizc6nyqlar23d7xvisyr0z037j"; })
|
||||
(fetchNuGet { pname = "Avalonia.Svg.Skia"; version = "0.10.14"; sha256 = "1d8gkaw057xakaa50a100m8lf1njwv0mzrqzwidlfvjsiay2c28j"; })
|
||||
(fetchNuGet { pname = "Avalonia.Win32"; version = "0.10.15"; sha256 = "1lxaj8la8bwc7j4d3cc3q5jklycc647lzpm8610ya241y64gryww"; })
|
||||
(fetchNuGet { pname = "Avalonia.X11"; version = "0.10.15"; sha256 = "120d19i8ad3b2m1516v5r1bj4h7fddmad6szrbkbpd711x3sh6ka"; })
|
||||
(fetchNuGet { pname = "CairoSharp"; version = "3.22.25.128"; sha256 = "1rjdxd4fq5z3n51qx8vrcaf4i277ccc62jxk88xzbsxapdmjjdf9"; })
|
||||
(fetchNuGet { pname = "CommandLineParser"; version = "2.8.0"; sha256 = "1m32xyilv2b7k55jy8ddg08c20glbcj2yi545kxs9hj2ahanhrbb"; })
|
||||
(fetchNuGet { pname = "Concentus"; version = "1.1.7"; sha256 = "0y5z444wrbhlmsqpy2sxmajl1fbf74843lvgj3y6vz260dn2q0l0"; })
|
||||
(fetchNuGet { pname = "Crc32.NET"; version = "1.2.0"; sha256 = "0qaj3192k1vfji87zf50rhydn5mrzyzybrs2k4v7ap29k8i0vi5h"; })
|
||||
(fetchNuGet { pname = "DiscordRichPresence"; version = "1.0.175"; sha256 = "180sax976327d70qbinv07f65g3w2zbw80n49hckg8wd4rw209vd"; })
|
||||
(fetchNuGet { pname = "FFmpeg.AutoGen"; version = "4.4.1"; sha256 = "01j989g68arm2d8abq44hp0f22pp6azf2xi7wi7hv7m4sl0l9cwp"; })
|
||||
(fetchNuGet { pname = "DynamicData"; version = "7.9.4"; sha256 = "0mfmlsdd48dpwiphqhq8gsix2528mc6anp7rakd6vyzmig60f520"; })
|
||||
(fetchNuGet { pname = "Fizzler"; version = "1.2.0"; sha256 = "1b8kvqli5wql53ab9fwyg78h572z4f286s8rjb9xxmsyav1hsyll"; })
|
||||
(fetchNuGet { pname = "FluentAvaloniaUI"; version = "1.4.1"; sha256 = "1jddr3iqb6402gv4v9wr8zaqbd2lh7988znlk3l3bmkfdviiflsx"; })
|
||||
(fetchNuGet { pname = "GdkSharp"; version = "3.22.25.128"; sha256 = "0bmn0ddaw8797pnhpyl03h2zl8i5ha67yv38gly4ydy50az2xhj7"; })
|
||||
(fetchNuGet { pname = "GioSharp"; version = "3.22.25.128"; sha256 = "0syfa1f2hg7wsxln5lh86n8m1lihhprc51b6km91gkl25l5hw5bv"; })
|
||||
(fetchNuGet { pname = "GLibSharp"; version = "3.22.25.128"; sha256 = "1j8i5izk97ga30z1qpd765zqd2q5w71y8bhnkqq4bj59768fyxp5"; })
|
||||
(fetchNuGet { pname = "GtkSharp"; version = "3.22.25.128"; sha256 = "0z0wx0p3gc02r8d7y88k1rw307sb2vapbr1k1yc5qdc38fxz5jsy"; })
|
||||
(fetchNuGet { pname = "GtkSharp.Dependencies"; version = "1.1.1"; sha256 = "0ffywnc3ca1lwhxdnk99l238vsprsrsh678bgm238lb7ja7m52pw"; })
|
||||
(fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2"; sha256 = "12kxgnmv9ygmqzf92zcnw4dqz6l4m1wsaz5v9i7i88jja81k6l3a"; })
|
||||
(fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2-preview.178"; sha256 = "1p5nwzl7jpypsd6df7hgcf47r977anjlyv21wacmalsj6lvdgnvn"; })
|
||||
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.8.2-preview.178"; sha256 = "1402ylkxbgcnagcarqlfvg4gppy2pqs3bmin4n5mphva1g7bqb2p"; })
|
||||
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2"; sha256 = "0jkdqwjyhpxlkswd6pq45w4aix3ivl8937p68c1jl2y0m5p6259w"; })
|
||||
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2-preview.178"; sha256 = "0p8miaclnbfpacc1jaqxwfg0yfx9byagi4j4k91d9621vd19i8b2"; })
|
||||
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "2.8.2-preview.178"; sha256 = "1n9jay9sji04xly6n8bzz4591fgy8i65p21a8mv5ip9lsyj1c320"; })
|
||||
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2"; sha256 = "1g3i7rzns6xsiybsls3sifgnfr6ml148c2r8vs0hz4zlisyfr8pd"; })
|
||||
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2-preview.178"; sha256 = "1r5syii96wv8q558cvsqw3lr10cdw6677lyiy82p6i3if51v3mr7"; })
|
||||
(fetchNuGet { pname = "JetBrains.Annotations"; version = "10.3.0"; sha256 = "1grdx28ga9fp4hwwpwv354rizm8anfq4lp045q4ss41gvhggr3z8"; })
|
||||
(fetchNuGet { pname = "jp2masa.Avalonia.Flexbox"; version = "0.2.0"; sha256 = "1abck2gad29mgf9gwqgc6wr8iwl64v50n0sbxcj1bcxgkgndraiq"; })
|
||||
(fetchNuGet { pname = "LibHac"; version = "0.16.1"; sha256 = "131qnqa1asdmymwdvpjza6w646b05jzn1cxjdxgwh7qdcdb77xyx"; })
|
||||
(fetchNuGet { pname = "MicroCom.CodeGenerator.MSBuild"; version = "0.10.4"; sha256 = "1bdgy6g15d1mln1xpvs6sy0l2zvfs4hxw6nc3qm16qb8hdgvb73y"; })
|
||||
(fetchNuGet { pname = "MicroCom.Runtime"; version = "0.10.4"; sha256 = "0ccbzp0d01dcahm7ban7xyh1rk7k2pkml3l5i7s85cqk5lnczpw2"; })
|
||||
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.6"; sha256 = "0ndah9cqkgswhi60wrnni10j1d2hdg8jljij83lk1wbfqbng86jm"; })
|
||||
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.6"; sha256 = "0i00xs472gpxbrwx593z520sp8nv3lmqi8z3zrj9cshqckq8knnx"; })
|
||||
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "6.0.6"; sha256 = "1i66xw8h6qw1p0yf09hdy6l42bkhw3qi8q6zi7933mdkd4r3qr9n"; })
|
||||
(fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "2.9.6"; sha256 = "18mr1f0wpq0fir8vjnq0a8pz50zpnblr7sabff0yqx37c975934a"; })
|
||||
(fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.3"; sha256 = "09m4cpry8ivm9ga1abrxmvw16sslxhy2k5sl14zckhqb1j164im6"; })
|
||||
(fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.4.0"; sha256 = "12rn6gl4viycwk3pz5hp5df63g66zvba4hnkwr3f0876jj5ivmsw"; })
|
||||
(fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.2.0"; sha256 = "0ld6xxgaqc3c6zgyimlvpgrxncsykbz8irqs01jyj40rv150kp8s"; })
|
||||
(fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "3.4.0"; sha256 = "0rhylcwa95bxawcgixk64knv7p7xrykdjcabmx3gknk8hvj1ai9y"; })
|
||||
(fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "4.2.0"; sha256 = "0i1c7055j3f5k1765bl66amp72dcw0zapczfszdldbg91iqmmkxg"; })
|
||||
(fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "3.4.0"; sha256 = "1h2f0z9xnw987x8bydka1sd42ijqjx973md6v1gvpy1qc6ad244g"; })
|
||||
(fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "3.4.0"; sha256 = "195gqnpwqkg2wlvk8x6yzm7byrxfq9bki20xmhf6lzfsdw3z4mf2"; })
|
||||
(fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "16.8.0"; sha256 = "1y05sjk7wgd29a47v1yhn2s1lrd8wgazkilvmjbvivmrrm3fqjs8"; })
|
||||
(fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
|
||||
(fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; })
|
||||
(fetchNuGet { pname = "Microsoft.CSharp"; version = "4.5.0"; sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l"; })
|
||||
(fetchNuGet { pname = "Microsoft.DotNet.InternalAbstractions"; version = "1.0.0"; sha256 = "0mp8ihqlb7fsa789frjzidrfjc1lrhk88qp3xm5qvr7vf4wy4z8x"; })
|
||||
(fetchNuGet { pname = "Microsoft.IdentityModel.JsonWebTokens"; version = "6.15.0"; sha256 = "0dwx7dk8jr10784nriqbi364qbxzfwq0c6xia0ac5rzrp7179r4d"; })
|
||||
|
@ -31,6 +69,7 @@
|
|||
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
|
||||
(fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "16.8.0"; sha256 = "0ii9d88py6mjsxzj9v3zx4izh6rb9ma6s9kj85xmc0xrw7jc2g3m"; })
|
||||
|
@ -39,19 +78,21 @@
|
|||
(fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
|
||||
(fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.3.0"; sha256 = "1gxyzxam8163vk1kb6xzxjj4iwspjsz9zhgn1w9rjzciphaz0ig7"; })
|
||||
(fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.5.0"; sha256 = "1zapbz161ji8h82xiajgriq6zgzmb1f3ar517p2h63plhsq5gh2q"; })
|
||||
(fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "4.5.0"; sha256 = "0fnkv3ky12227zqg4zshx4kw2mvysq2ppxjibfw02cc3iprv4njq"; })
|
||||
(fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "6.0.0"; sha256 = "0c6pcj088g1yd1vs529q3ybgsd2vjlk5y1ic6dkmbhvrp5jibl9p"; })
|
||||
(fetchNuGet { pname = "MsgPack.Cli"; version = "1.0.1"; sha256 = "1dk2bs3g16lsxcjjm7gfx6jxa4667wccw94jlh2ql7y7smvh9z8r"; })
|
||||
(fetchNuGet { pname = "NETStandard.Library"; version = "1.6.0"; sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k"; })
|
||||
(fetchNuGet { pname = "NETStandard.Library"; version = "2.0.0"; sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy"; })
|
||||
(fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; })
|
||||
(fetchNuGet { pname = "Newtonsoft.Json"; version = "12.0.2"; sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5"; })
|
||||
(fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; })
|
||||
(fetchNuGet { pname = "NuGet.Frameworks"; version = "5.0.0"; sha256 = "18ijvmj13cwjdrrm52c8fpq021531zaz4mj4b4zapxaqzzxf2qjr"; })
|
||||
(fetchNuGet { pname = "NUnit"; version = "3.12.0"; sha256 = "1880j2xwavi8f28vxan3hyvdnph4nlh5sbmh285s4lc9l0b7bdk2"; })
|
||||
(fetchNuGet { pname = "NUnit3TestAdapter"; version = "3.17.0"; sha256 = "0kxc6z3b8ccdrcyqz88jm5yh5ch9nbg303v67q8sp5hhs8rl8nk6"; })
|
||||
(fetchNuGet { pname = "OpenTK.Core"; version = "4.5.0"; sha256 = "06qxczikp0aah20d4skk3g588dgh2vn2xffn0ajyyv0475m61s9m"; })
|
||||
(fetchNuGet { pname = "OpenTK.Graphics"; version = "4.5.0"; sha256 = "180g5c92fhhhpmwl6paihx4h1bil7akaihlz2qy124n28pf4s988"; })
|
||||
(fetchNuGet { pname = "OpenTK.Mathematics"; version = "4.5.0"; sha256 = "1h9dxhq1llxdbgdzsi87ijqgj2ilr3rv0zkxhaa65xrc5x8j8fva"; })
|
||||
(fetchNuGet { pname = "OpenTK.OpenAL"; version = "4.5.0"; sha256 = "0lqxpc3vnxglql42x2frvq5bpkl5cf3dpnf9nx6pr3q6qnhigkfb"; })
|
||||
(fetchNuGet { pname = "OpenTK.Core"; version = "4.7.2"; sha256 = "023jav5xdn532kdlkq8pqrvcjl98g1p9ggc8r85fk9bry5121pra"; })
|
||||
(fetchNuGet { pname = "OpenTK.Graphics"; version = "4.7.2"; sha256 = "1wnf9x45ga336vq4px2a2fmma4zc9xrcr4qwrsmsh3l4w0d9s6ps"; })
|
||||
(fetchNuGet { pname = "OpenTK.Mathematics"; version = "4.7.2"; sha256 = "0ay1a8spmy8pn5nlvvac796smp74hjpxm3swvxdrbqqg4l4xqlfz"; })
|
||||
(fetchNuGet { pname = "OpenTK.OpenAL"; version = "4.7.2"; sha256 = "1m0wgf4khikyz2pvns5d9ffwm7psxjn9r4h128aqlca1iyay23f6"; })
|
||||
(fetchNuGet { pname = "PangoSharp"; version = "3.22.25.128"; sha256 = "0dkl9j0yd65s5ds9xj5z6yb7yca7wlycqz25m8dng20d13sqr1zp"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; })
|
||||
|
@ -101,26 +142,46 @@
|
|||
(fetchNuGet { pname = "runtime.win.System.Net.Primitives"; version = "4.3.0"; sha256 = "1dixh195bi7473n17hspll6i562gghdz9m4jk8d4kzi1mlzjk9cf"; })
|
||||
(fetchNuGet { pname = "runtime.win.System.Net.Sockets"; version = "4.3.0"; sha256 = "0lr3zki831vs6qhk5wckv2b9qbfk9rcj0ds2926qvj1b9y9m6sck"; })
|
||||
(fetchNuGet { pname = "runtime.win.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1700famsxndccfbcdz9q14qb20p49lax67mqwpgy4gx3vja1yczr"; })
|
||||
(fetchNuGet { pname = "runtime.win7-x64.runtime.native.System.IO.Compression"; version = "4.3.0"; sha256 = "1dmbmksnxg12fk2p0k7rzy16448mddr2sfrnqs0rhhrzl0z22zi5"; })
|
||||
(fetchNuGet { pname = "runtime.win7.System.Private.Uri"; version = "4.3.0"; sha256 = "0bxkcmklp556dc43bra8ngc8wymcbbflcydi0xwq0j22gm66xf2m"; })
|
||||
(fetchNuGet { pname = "Ryujinx.Audio.OpenAL.Dependencies"; version = "1.21.0.1"; sha256 = "0z5k42h252nr60d02p2ww9190d7k1kzrb26vil4ydfhxqqqv6w9l"; })
|
||||
(fetchNuGet { pname = "Ryujinx.Graphics.Nvdec.Dependencies"; version = "4.4.0-build7"; sha256 = "0g1l3lgs0ffxp64ka81v6q1cgsdirl1qlf73255v29r3v337074m"; })
|
||||
(fetchNuGet { pname = "Ryujinx.Graphics.Nvdec.Dependencies"; version = "4.4.0-build9"; sha256 = "121zmh0byi22qsc9b25wv58kwcq6pmk7zf4f2rfafmdjvwx8bkxc"; })
|
||||
(fetchNuGet { pname = "Ryujinx.SDL2-CS"; version = "2.0.17-build18"; sha256 = "0j0vs6075c4fniydqxhpp18pg3x679mq463x4gxqgkri3vhpj4vl"; })
|
||||
(fetchNuGet { pname = "Ryujinx.Graphics.Nvdec.Dependencies"; version = "5.0.1-build10"; sha256 = "05r3fh92raaydf4vcih77ivymbs97kqwjlgqdpaxa11aqq0hq753"; })
|
||||
(fetchNuGet { pname = "Ryujinx.SDL2-CS"; version = "2.0.22-build20"; sha256 = "03d1rv0rlr2z7ynqixgj9xqlksplk1vsvq5wxjf5c6c6zcknx01r"; })
|
||||
(fetchNuGet { pname = "SharpZipLib"; version = "1.3.3"; sha256 = "1gij11wfj1mqm10631cjpnhzw882bnzx699jzwhdqakxm1610q8x"; })
|
||||
(fetchNuGet { pname = "ShimSkiaSharp"; version = "0.5.14"; sha256 = "0ym0ayik0vq2za9h0kr8mhjd9zk4hx25hrrfyyg9wrc164xa11qb"; })
|
||||
(fetchNuGet { pname = "SixLabors.Fonts"; version = "1.0.0-beta0013"; sha256 = "0r0aw8xxd32rwcawawcz6asiyggz02hnzg5hvz8gimq8hvwx1wql"; })
|
||||
(fetchNuGet { pname = "SixLabors.ImageSharp"; version = "1.0.4"; sha256 = "0fmgn414my76gjgp89qlc210a0lqvnvkvk2fcwnpwxdhqpfvyilr"; })
|
||||
(fetchNuGet { pname = "SixLabors.ImageSharp.Drawing"; version = "1.0.0-beta11"; sha256 = "0hl0rs3kr1zdnx3gdssxgli6fyvmwzcfp99f4db71s0i8j8b2bp5"; })
|
||||
(fetchNuGet { pname = "SkiaSharp"; version = "2.88.0"; sha256 = "0wqfgzyp2m4myqrni9rgchiqi95axbf279hlqjflrj4c9z2412ni"; })
|
||||
(fetchNuGet { pname = "SkiaSharp"; version = "2.88.1-preview.1"; sha256 = "1i1px67hcr9kygmbfq4b9nqzlwm7v2gapsp4isg9i19ax5g8dlhm"; })
|
||||
(fetchNuGet { pname = "SkiaSharp.HarfBuzz"; version = "2.88.0"; sha256 = "0ygkwlk2d59sqjvvw0s92hh92wxnm68rdlbp7wfs2gz5nipkgdvi"; })
|
||||
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.0-preview.178"; sha256 = "07kga1j51l3l302nvf537zg5clf6rflinjy0xd6i06cmhpkf3ksw"; })
|
||||
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.1-preview.1"; sha256 = "1r9qr3civk0ws1z7hg322qyr8yjm10853zfgs03szr2lvdqiy7d1"; })
|
||||
(fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.0"; sha256 = "0d0pdcm61jfy3fvgkxmm3hj9cijrwbmp6ky2af776m1l63ryii3q"; })
|
||||
(fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.1-preview.1"; sha256 = "1w55nrwpl42psn6klia5a9aw2j1n25hpw2fdhchypm9f0v2iz24h"; })
|
||||
(fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.0-preview.178"; sha256 = "09jmcg5k1vpsal8jfs90mwv0isf2y5wq3h4hd77rv6vffn5ic4sm"; })
|
||||
(fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.1-preview.1"; sha256 = "0mwj2yl4gn40lry03yqkj7sbi1drmm672dv88481sgah4c21lzrq"; })
|
||||
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.0"; sha256 = "135ni4rba4wy4wyzy9ip11f3dwb1ipn38z9ps1p9xhw8jc06y5vp"; })
|
||||
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.1-preview.1"; sha256 = "1k50abd147pif9z9lkckbbk91ga1vv6k4skjz2n7wpll6fn0fvlv"; })
|
||||
(fetchNuGet { pname = "SPB"; version = "0.0.4-build17"; sha256 = "0arp7mwdn1w67qx8a0m90xh8waj15154ynswrbsp5w4wmzkcss1i"; })
|
||||
(fetchNuGet { pname = "Svg.Custom"; version = "0.5.14"; sha256 = "1wjghs2n5hk7zszzk2p2a8m6ga2gc8sfd5mdqi15sbfkmwg2nbw7"; })
|
||||
(fetchNuGet { pname = "Svg.Model"; version = "0.5.14"; sha256 = "1xilk95bmnsl93sbr7pah0jrjrnccf1ikcn8s7rkm0yjkj382hc8"; })
|
||||
(fetchNuGet { pname = "Svg.Skia"; version = "0.5.14"; sha256 = "02wv040wi8ijw9mwg3c84f8bfyfv9n99ji8q1v2bs11b463zsyd1"; })
|
||||
(fetchNuGet { pname = "System.AppContext"; version = "4.1.0"; sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; })
|
||||
(fetchNuGet { pname = "System.Buffers"; version = "4.0.0"; sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr"; })
|
||||
(fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
|
||||
(fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; })
|
||||
(fetchNuGet { pname = "System.CodeDom"; version = "4.4.0"; sha256 = "1zgbafm5p380r50ap5iddp11kzhr9khrf2pnai6k593wjar74p1g"; })
|
||||
(fetchNuGet { pname = "System.CodeDom"; version = "6.0.0"; sha256 = "1i55cxp8ycc03dmxx4n22qi6jkwfl23cgffb95izq7bjar8avxxq"; })
|
||||
(fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
|
||||
(fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
|
||||
(fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.0.12"; sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; })
|
||||
(fetchNuGet { pname = "System.Collections.Immutable"; version = "1.5.0"; sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06"; })
|
||||
(fetchNuGet { pname = "System.Collections.Immutable"; version = "5.0.0"; sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; })
|
||||
(fetchNuGet { pname = "System.Collections.NonGeneric"; version = "4.3.0"; sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k"; })
|
||||
(fetchNuGet { pname = "System.Collections.Specialized"; version = "4.3.0"; sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20"; })
|
||||
(fetchNuGet { pname = "System.ComponentModel"; version = "4.3.0"; sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb"; })
|
||||
(fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.5.0"; sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p"; })
|
||||
(fetchNuGet { pname = "System.ComponentModel.EventBasedAsync"; version = "4.3.0"; sha256 = "1rv9bkb8yyhqqqrx6x95njv6mdxlbvv527b44mrd93g8fmgkifl7"; })
|
||||
(fetchNuGet { pname = "System.ComponentModel.Primitives"; version = "4.3.0"; sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0"; })
|
||||
(fetchNuGet { pname = "System.ComponentModel.TypeConverter"; version = "4.3.0"; sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x"; })
|
||||
|
@ -131,9 +192,10 @@
|
|||
(fetchNuGet { pname = "System.Diagnostics.Process"; version = "4.3.0"; sha256 = "0g4prsbkygq8m21naqmcp70f24a1ksyix3dihb1r1f71lpi3cfj7"; })
|
||||
(fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; })
|
||||
(fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.1.0"; sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; })
|
||||
(fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; })
|
||||
(fetchNuGet { pname = "System.Drawing.Common"; version = "4.5.0"; sha256 = "0knqa0zsm91nfr34br8gx5kjqq4v81zdhqkacvs2hzc8nqk0ddhc"; })
|
||||
(fetchNuGet { pname = "System.Drawing.Common"; version = "6.0.0"; sha256 = "02n8rzm58dac2np8b3xw8ychbvylja4nh6938l5k2fhyn40imlgz"; })
|
||||
(fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; })
|
||||
(fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; })
|
||||
(fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; })
|
||||
(fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
|
||||
(fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.0.1"; sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh"; })
|
||||
|
@ -151,25 +213,34 @@
|
|||
(fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; })
|
||||
(fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
|
||||
(fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
|
||||
(fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
|
||||
(fetchNuGet { pname = "System.Management"; version = "6.0.0"; sha256 = "0ra1g75ykapg6i5y0za721kpjd6xcq6dalijkdm6fsxxmz8iz4dr"; })
|
||||
(fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; })
|
||||
(fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; })
|
||||
(fetchNuGet { pname = "System.Net.Http"; version = "4.1.0"; sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb"; })
|
||||
(fetchNuGet { pname = "System.Net.NameResolution"; version = "4.3.0"; sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; })
|
||||
(fetchNuGet { pname = "System.Net.Primitives"; version = "4.0.11"; sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r"; })
|
||||
(fetchNuGet { pname = "System.Net.Sockets"; version = "4.1.0"; sha256 = "1385fvh8h29da5hh58jm1v78fzi9fi5vj93vhlm2kvqpfahvpqls"; })
|
||||
(fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.3.0"; sha256 = "05kji1mv4sl75iwmc613p873145nynm02xiajx8pn0h2kx53d23s"; })
|
||||
(fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.4.0"; sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; })
|
||||
(fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; })
|
||||
(fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12"; sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; })
|
||||
(fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; })
|
||||
(fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; })
|
||||
(fetchNuGet { pname = "System.Reactive"; version = "5.0.0"; sha256 = "1lafmpnadhiwxyd543kraxa3jfdpm6ipblxrjlibym9b1ykpr5ik"; })
|
||||
(fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; })
|
||||
(fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Emit"; version = "4.7.0"; sha256 = "121l1z2ypwg02yz84dy6gr82phpys0njk7yask3sihgy214w43qp"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.6.0"; sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Metadata"; version = "5.0.0"; sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
|
||||
(fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.1.0"; sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; })
|
||||
|
@ -178,7 +249,11 @@
|
|||
(fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
|
||||
(fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; })
|
||||
(fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
|
||||
(fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.2"; sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi"; })
|
||||
(fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.6.0"; sha256 = "0xmzi2gpbmgyfr75p24rqqsba3cmrqgmcv45lsqp5amgrdwd0f0m"; })
|
||||
(fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.0"; sha256 = "16r6sn4czfjk8qhnz7bnqlyiaaszr0ihinb7mq9zzr1wba257r54"; })
|
||||
(fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0"; sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x"; })
|
||||
(fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; })
|
||||
(fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; })
|
||||
(fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
|
||||
(fetchNuGet { pname = "System.Runtime.Handles"; version = "4.0.1"; sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; })
|
||||
|
@ -202,8 +277,11 @@
|
|||
(fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; })
|
||||
(fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; })
|
||||
(fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.5.0"; sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86"; })
|
||||
(fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.7.0"; sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d"; })
|
||||
(fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
|
||||
(fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
|
||||
(fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; })
|
||||
(fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "6.0.0"; sha256 = "0gm2kiz2ndm9xyzxgi0jhazgwslcs427waxgfa30m7yqll1kcrww"; })
|
||||
(fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; })
|
||||
(fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
|
||||
(fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; })
|
||||
|
@ -215,13 +293,17 @@
|
|||
(fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
|
||||
(fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; })
|
||||
(fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; })
|
||||
(fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.3"; sha256 = "0g7r6hm572ax8v28axrdxz1gnsblg6kszq17g51pj14a5rn2af7i"; })
|
||||
(fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; })
|
||||
(fetchNuGet { pname = "System.Threading.Thread"; version = "4.3.0"; sha256 = "0y2xiwdfcph7znm2ysxanrhbqqss6a3shi1z3c779pj2s523mjx4"; })
|
||||
(fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.3.0"; sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; })
|
||||
(fetchNuGet { pname = "System.Threading.Timer"; version = "4.0.1"; sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6"; })
|
||||
(fetchNuGet { pname = "System.ValueTuple"; version = "4.5.0"; sha256 = "00k8ja51d0f9wrq4vv5z2jhq8hy31kac2rg0rv06prylcybzl8cy"; })
|
||||
(fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11"; sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; })
|
||||
(fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; })
|
||||
(fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; })
|
||||
(fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.3.0"; sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; })
|
||||
(fetchNuGet { pname = "System.Xml.XPath"; version = "4.3.0"; sha256 = "1cv2m0p70774a0sd1zxc8fm8jk3i5zk2bla3riqvi8gsm0r4kpci"; })
|
||||
(fetchNuGet { pname = "System.Xml.XPath.XmlDocument"; version = "4.3.0"; sha256 = "1h9lh7qkp0lff33z847sdfjj8yaz98ylbnkbxlnsbflhj9xyfqrm"; })
|
||||
(fetchNuGet { pname = "Tmds.DBus"; version = "0.9.0"; sha256 = "0vvx6sg8lxm23g5jvm5wh2gfs95mv85vd52lkq7d1b89bdczczf3"; })
|
||||
]
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -I nixpkgs=../../../.. -i bash -p coreutils gnused curl common-updater-scripts nuget-to-nix nix-prefetch-git jq dotnet-sdk_6
|
||||
#! nix-shell -I nixpkgs=./. -i bash -p coreutils gnused curl common-updater-scripts nuget-to-nix nix-prefetch-git jq dotnet-sdk_6
|
||||
set -euo pipefail
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")"
|
||||
|
||||
|
@ -61,14 +61,14 @@ OLD_VERSION="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
|
|||
echo "comparing versions $OLD_VERSION -> $NEW_VERSION"
|
||||
if [[ "$OLD_VERSION" == "$NEW_VERSION" ]]; then
|
||||
echo "Already up to date!"
|
||||
if [[ "$1" != "--deps-only" ]]; then
|
||||
if [[ "${1-default}" != "--deps-only" ]]; then
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
cd ../../../..
|
||||
|
||||
if [[ "$1" != "--deps-only" ]]; then
|
||||
if [[ "${1-default}" != "--deps-only" ]]; then
|
||||
SHA="$(nix-prefetch-git https://github.com/ryujinx/ryujinx --rev "$COMMIT" --quiet | jq -r '.sha256')"
|
||||
update-source-version ryujinx "$NEW_VERSION" "$SHA" --rev="$COMMIT"
|
||||
fi
|
||||
|
|
34
third_party/nixpkgs/pkgs/applications/emulators/wibo/default.nix
vendored
Normal file
34
third_party/nixpkgs/pkgs/applications/emulators/wibo/default.nix
vendored
Normal file
|
@ -0,0 +1,34 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wibo";
|
||||
version = "0.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "decompals";
|
||||
repo = "WiBo";
|
||||
rev = version;
|
||||
sha256 = "sha256-zv+FiordPo7aho3RJqDEe/1sJtjVt6Vy665VeNul/Kw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Quick-and-dirty wrapper to run 32-bit windows EXEs on linux";
|
||||
longDescription = ''
|
||||
A minimal, low-fuss wrapper that can run really simple command-line
|
||||
32-bit Windows binaries on Linux - with less faff and less dependencies
|
||||
than WINE.
|
||||
'';
|
||||
homepage = "https://github.com/decompals/WiBo";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ r-burns ];
|
||||
platforms = [ "i686-linux" ];
|
||||
};
|
||||
}
|
|
@ -21,14 +21,14 @@ in rec {
|
|||
|
||||
## see http://wiki.winehq.org/Gecko
|
||||
gecko32 = fetchurl rec {
|
||||
version = "2.47.2";
|
||||
version = "2.47.3";
|
||||
url = "https://dl.winehq.org/wine/wine-gecko/${version}/wine-gecko-${version}-x86.msi";
|
||||
sha256 = "07d6nrk2g0614kvwdjym1wq21d2bwy3pscwikk80qhnd6rrww875";
|
||||
sha256 = "sha256-5bmwbTzjVWRqjS5y4ETjfh4MjRhGTrGYWtzRh6f0jgE=";
|
||||
};
|
||||
gecko64 = fetchurl rec {
|
||||
version = "2.47.2";
|
||||
version = "2.47.3";
|
||||
url = "https://dl.winehq.org/wine/wine-gecko/${version}/wine-gecko-${version}-x86_64.msi";
|
||||
sha256 = "0iffhvdawc499nbn4k99k33cr7g8sdfcvq8k3z1g6gw24h87d5h5";
|
||||
sha256 = "sha256-pT7pVDkrbR/j1oVF9uTiqXr7yNyLA6i0QzSVRc4TlnU=";
|
||||
};
|
||||
|
||||
## see http://wiki.winehq.org/Mono
|
||||
|
@ -46,9 +46,9 @@ in rec {
|
|||
|
||||
unstable = fetchurl rec {
|
||||
# NOTE: Don't forget to change the SHA256 for staging as well.
|
||||
version = "7.10";
|
||||
version = "7.13";
|
||||
url = "https://dl.winehq.org/wine/source/7.x/wine-${version}.tar.xz";
|
||||
sha256 = "sha256-P+skzYWYwQ9q9xHnSsK10kQrtNO4wHj506JTroc2SA0=";
|
||||
sha256 = "sha256-a/6+kz2qUJVprnmwv2ofG08H4b+K/Balm+4TdIuSymQ=";
|
||||
inherit (stable) gecko32 gecko64 patches;
|
||||
|
||||
mono = fetchurl rec {
|
||||
|
@ -61,7 +61,7 @@ in rec {
|
|||
staging = fetchFromGitHub rec {
|
||||
# https://github.com/wine-staging/wine-staging/releases
|
||||
inherit (unstable) version;
|
||||
sha256 = "sha256-5Pt98pla6t+B3FjB80hOWJUO64jY1EmOPQ0hEkFBWxY=";
|
||||
sha256 = "sha256-U1awbhJRT3aAJstyEjv2Dp20FqyQ4ntnFFRYJb12C/U=";
|
||||
owner = "wine-staging";
|
||||
repo = "wine-staging";
|
||||
rev = "v${version}";
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vkd3d";
|
||||
version = "1.3";
|
||||
version = "1.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dl.winehq.org/vkd3d/source/vkd3d-${version}.tar.xz";
|
||||
sha256 = "134b347806d34a4d2b39ea29ff1c2b38443793803a3adc50800855bb929fb8b2";
|
||||
sha256 = "sha256-yLqF9gSCyHPAVs9tuw6veRvIq30W1ipH83uYQbapCr0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ flex bison ];
|
||||
|
|
|
@ -5,23 +5,23 @@
|
|||
}:
|
||||
|
||||
let
|
||||
# Fetched from https://api.yuzu-emu.org/gamedb, last updated 2022-05-12
|
||||
# Fetched from https://api.yuzu-emu.org/gamedb, last updated 2022-07-14
|
||||
# Please make sure to update this when updating yuzu!
|
||||
compat-list = fetchurl {
|
||||
name = "yuzu-compat-list";
|
||||
url = "https://web.archive.org/web/20220512184801/https://api.yuzu-emu.org/gamedb";
|
||||
url = "https://web.archive.org/web/20220714160745/https://api.yuzu-emu.org/gamedb";
|
||||
sha256 = "sha256-anOmO7NscHDsQxT03+YbJEyBkXjhcSVGgKpDwt//GHw=";
|
||||
};
|
||||
in {
|
||||
mainline = libsForQt5.callPackage ./generic.nix rec {
|
||||
pname = "yuzu-mainline";
|
||||
version = "1014";
|
||||
version = "1092";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yuzu-emu";
|
||||
repo = "yuzu-mainline";
|
||||
rev = "mainline-0-${version}";
|
||||
sha256 = "1x3d1fjssadv4kybc6mk153jlvncsfgm5aipkq5n5i8sr7mmr3nw";
|
||||
sha256 = "1avcq924q0r8pfv1s0a88iyii7yixcxpb3yhlj0xg9zqnwp9r23y";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -30,13 +30,13 @@ in {
|
|||
|
||||
early-access = libsForQt5.callPackage ./generic.nix rec {
|
||||
pname = "yuzu-ea";
|
||||
version = "2725";
|
||||
version = "2841";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pineappleEA";
|
||||
repo = "pineapple-src";
|
||||
rev = "EA-${version}";
|
||||
sha256 = "1nmcl9y9chr7cdvnra5zs1v42d3i801hmsjdlz3fmp15n04bcjmp";
|
||||
sha256 = "16lrq9drv0x7gs1siq37m4zmh6d2g3vhnw9qcqajr9p0vmlpnh6l";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ updateEarlyAccess() {
|
|||
OLD_EA_HASH="$(getLocalHash "yuzu-ea")"
|
||||
|
||||
NEW_EA_VERSION="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \
|
||||
"https://api.github.com/repos/pineappleEA/pineapple-src/releases?per_page=1" | jq -r '.[0].name' | cut -d"-" -f2 | cut -d" " -f1)"
|
||||
"https://api.github.com/repos/pineappleEA/pineapple-src/releases?per_page=1" | jq -r '.[0].tag_name' | cut -d"-" -f2 | cut -d" " -f1)"
|
||||
|
||||
if [[ "${OLD_EA_VERSION}" = "${NEW_EA_VERSION}" ]]; then
|
||||
echo "yuzu-ea is already up to date!"
|
||||
|
|
|
@ -69,14 +69,14 @@ let
|
|||
six
|
||||
];
|
||||
in mkDerivation rec {
|
||||
version = "3.22.8";
|
||||
version = "3.22.9";
|
||||
pname = "qgis-ltr-unwrapped";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qgis";
|
||||
repo = "QGIS";
|
||||
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
|
||||
sha256 = "sha256-YxF7FzyNNt+bdk96g2sWWv9haqV0L6Ab96D0hV0BFrA=";
|
||||
sha256 = "sha256-QHdcK34e7tC0AUstE8pbsBHzHXbmOd3gI2/zqsxb6X4=";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -69,14 +69,14 @@ let
|
|||
six
|
||||
];
|
||||
in mkDerivation rec {
|
||||
version = "3.26.0";
|
||||
version = "3.26.1";
|
||||
pname = "qgis-unwrapped";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qgis";
|
||||
repo = "QGIS";
|
||||
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
|
||||
sha256 = "sha256-yHQi5ai7fdgznTf562Bj0QPE+SXg972O7+r01RY7itE=";
|
||||
sha256 = "sha256-FjMe/5uEbmSeQrAtkKvoGh4VlPkbGMHNzlCpn27C5CQ=";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -1,6 +1,25 @@
|
|||
{ lib, stdenv, fetchFromGitHub, pkg-config, libtool
|
||||
, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg, djvulibre
|
||||
, lcms2, openexr, libpng, liblqr1, librsvg, libtiff, libxml2, openjpeg, libwebp, fftw, libheif, libde265
|
||||
, bzip2Support ? true, bzip2
|
||||
, zlibSupport ? true, zlib
|
||||
, libX11Support ? !stdenv.hostPlatform.isMinGW, libX11
|
||||
, libXtSupport ? !stdenv.hostPlatform.isMinGW, libXt
|
||||
, fontconfigSupport ? true, fontconfig
|
||||
, freetypeSupport ? true, freetype
|
||||
, ghostscriptSupport ? false, ghostscript
|
||||
, libjpegSupport ? true, libjpeg
|
||||
, djvulibreSupport ? true, djvulibre
|
||||
, lcms2Support ? true, lcms2
|
||||
, openexrSupport ? !stdenv.hostPlatform.isMinGW, openexr
|
||||
, libpngSupport ? true, libpng
|
||||
, liblqr1Support ? true, liblqr1
|
||||
, librsvgSupport ? !stdenv.hostPlatform.isMinGW, librsvg
|
||||
, libtiffSupport ? true, libtiff
|
||||
, libxml2Support ? true, libxml2
|
||||
, openjpegSupport ? !stdenv.hostPlatform.isMinGW, openjpeg
|
||||
, libwebpSupport ? !stdenv.hostPlatform.isMinGW, libwebp
|
||||
, libheifSupport ? true, libheif
|
||||
, libde265Support ? true, libde265
|
||||
, fftw
|
||||
, ApplicationServices, Foundation
|
||||
}:
|
||||
|
||||
|
@ -30,35 +49,47 @@ stdenv.mkDerivation rec {
|
|||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
configureFlags =
|
||||
[ "--with-frozenpaths" ]
|
||||
++ (if arch != null then [ "--with-gcc-arch=${arch}" ] else [ "--without-gcc-arch" ])
|
||||
++ lib.optional (librsvg != null) "--with-rsvg"
|
||||
++ lib.optional (liblqr1 != null) "--with-lqr"
|
||||
++ lib.optionals (ghostscript != null)
|
||||
[ "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts"
|
||||
"--with-gslib"
|
||||
]
|
||||
++ lib.optionals (stdenv.hostPlatform.isMinGW)
|
||||
[ "--enable-static" "--disable-shared" ] # due to libxml2 being without DLLs ATM
|
||||
;
|
||||
configureFlags = [
|
||||
"--with-frozenpaths"
|
||||
(lib.withFeatureAs (arch != null) "gcc-arch" arch)
|
||||
(lib.withFeature librsvgSupport "rsvg")
|
||||
(lib.withFeature liblqr1Support "lqr")
|
||||
(lib.withFeatureAs ghostscriptSupport "gs-font-dir" "${ghostscript}/share/ghostscript/fonts")
|
||||
(lib.withFeature ghostscriptSupport "gslib")
|
||||
] ++ lib.optionals stdenv.hostPlatform.isMinGW [
|
||||
# due to libxml2 being without DLLs ATM
|
||||
"--enable-static" "--disable-shared"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config libtool ];
|
||||
|
||||
buildInputs =
|
||||
[ zlib fontconfig freetype ghostscript
|
||||
liblqr1 libpng libtiff libxml2 libheif libde265 djvulibre
|
||||
]
|
||||
++ lib.optionals (!stdenv.hostPlatform.isMinGW)
|
||||
[ openexr librsvg openjpeg ]
|
||||
++ lib.optionals stdenv.isDarwin
|
||||
[ ApplicationServices Foundation ];
|
||||
buildInputs = [ ]
|
||||
++ lib.optional zlibSupport zlib
|
||||
++ lib.optional fontconfigSupport fontconfig
|
||||
++ lib.optional ghostscriptSupport ghostscript
|
||||
++ lib.optional liblqr1Support liblqr1
|
||||
++ lib.optional libpngSupport libpng
|
||||
++ lib.optional libtiffSupport libtiff
|
||||
++ lib.optional libxml2Support libxml2
|
||||
++ lib.optional libheifSupport libheif
|
||||
++ lib.optional libde265Support libde265
|
||||
++ lib.optional djvulibreSupport djvulibre
|
||||
++ lib.optional openexrSupport openexr
|
||||
++ lib.optional librsvgSupport librsvg
|
||||
++ lib.optional openjpegSupport openjpeg
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
ApplicationServices
|
||||
Foundation
|
||||
];
|
||||
|
||||
propagatedBuildInputs =
|
||||
[ bzip2 freetype libjpeg lcms2 fftw ]
|
||||
++ lib.optionals (!stdenv.hostPlatform.isMinGW)
|
||||
[ libX11 libXext libXt libwebp ]
|
||||
;
|
||||
propagatedBuildInputs = [ fftw ]
|
||||
++ lib.optional bzip2Support bzip2
|
||||
++ lib.optional freetypeSupport freetype
|
||||
++ lib.optional libjpegSupport libjpeg
|
||||
++ lib.optional lcms2Support lcms2
|
||||
++ lib.optional libX11Support libX11
|
||||
++ lib.optional libXtSupport libXt
|
||||
++ lib.optional libwebpSupport libwebp;
|
||||
|
||||
doCheck = false; # fails 6 out of 76 tests
|
||||
|
||||
|
@ -72,7 +103,7 @@ stdenv.mkDerivation rec {
|
|||
substituteInPlace "$file" --replace ${pkg-config}/bin/pkg-config \
|
||||
"PKG_CONFIG_PATH='$dev/lib/pkgconfig' '${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config'"
|
||||
done
|
||||
'' + lib.optionalString (ghostscript != null) ''
|
||||
'' + lib.optionalString ghostscriptSupport ''
|
||||
for la in $out/lib/*.la; do
|
||||
sed 's|-lgs|-L${lib.getLib ghostscript}/lib -lgs|' -i $la
|
||||
done
|
||||
|
|
|
@ -1,133 +0,0 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, libtool
|
||||
, bzip2
|
||||
, zlib
|
||||
, libX11
|
||||
, libXext
|
||||
, libXt
|
||||
, fontconfig
|
||||
, freetype
|
||||
, ghostscript
|
||||
, libjpeg
|
||||
, djvulibre
|
||||
, lcms2
|
||||
, openexr
|
||||
, libjxl
|
||||
, libpng
|
||||
, liblqr1
|
||||
, libraw
|
||||
, librsvg
|
||||
, libtiff
|
||||
, libxml2
|
||||
, openjpeg
|
||||
, libwebp
|
||||
, libheif
|
||||
, potrace
|
||||
, curl
|
||||
, ApplicationServices
|
||||
, Foundation
|
||||
, testers
|
||||
, imagemagick
|
||||
}:
|
||||
|
||||
let
|
||||
arch =
|
||||
if stdenv.hostPlatform.system == "i686-linux" then "i686"
|
||||
else if stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "x86_64-darwin" then "x86-64"
|
||||
else if stdenv.hostPlatform.system == "armv7l-linux" then "armv7l"
|
||||
else if stdenv.hostPlatform.system == "aarch64-linux" || stdenv.hostPlatform.system == "aarch64-darwin" then "aarch64"
|
||||
else if stdenv.hostPlatform.system == "powerpc64le-linux" then "ppc64le"
|
||||
else null;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "imagemagick";
|
||||
version = "7.1.0-39";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ImageMagick";
|
||||
repo = "ImageMagick";
|
||||
rev = version;
|
||||
hash = "sha256-2KSsRkzaC3muNwH4GJfIiMy4pnSjh8waDpYRTuu6GG0=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
|
||||
outputMan = "out"; # it's tiny
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
configureFlags =
|
||||
[ "--with-frozenpaths" ]
|
||||
++ (if arch != null then [ "--with-gcc-arch=${arch}" ] else [ "--without-gcc-arch" ])
|
||||
++ lib.optional (librsvg != null) "--with-rsvg"
|
||||
++ lib.optional (liblqr1 != null) "--with-lqr"
|
||||
++ lib.optional (libjxl != null ) "--with-jxl"
|
||||
++ lib.optionals (ghostscript != null)
|
||||
[
|
||||
"--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts"
|
||||
"--with-gslib"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isMinGW
|
||||
[ "--enable-static" "--disable-shared" ] # due to libxml2 being without DLLs ATM
|
||||
;
|
||||
|
||||
nativeBuildInputs = [ pkg-config libtool ];
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
zlib
|
||||
fontconfig
|
||||
freetype
|
||||
ghostscript
|
||||
potrace
|
||||
liblqr1
|
||||
libpng
|
||||
libraw
|
||||
libtiff
|
||||
libxml2
|
||||
libheif
|
||||
djvulibre
|
||||
libjxl
|
||||
]
|
||||
++ lib.optionals (!stdenv.hostPlatform.isMinGW)
|
||||
[ openexr librsvg openjpeg ]
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
ApplicationServices
|
||||
Foundation
|
||||
];
|
||||
|
||||
propagatedBuildInputs =
|
||||
[ bzip2 freetype libjpeg lcms2 curl ]
|
||||
++ lib.optionals (!stdenv.hostPlatform.isMinGW)
|
||||
[ libX11 libXext libXt libwebp ]
|
||||
;
|
||||
|
||||
postInstall = ''
|
||||
(cd "$dev/include" && ln -s ImageMagick* ImageMagick)
|
||||
moveToOutput "bin/*-config" "$dev"
|
||||
moveToOutput "lib/ImageMagick-*/config-Q16HDRI" "$dev" # includes configure params
|
||||
for file in "$dev"/bin/*-config; do
|
||||
substituteInPlace "$file" --replace pkg-config \
|
||||
"PKG_CONFIG_PATH='$dev/lib/pkgconfig' '${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config'"
|
||||
done
|
||||
'' + lib.optionalString (ghostscript != null) ''
|
||||
for la in $out/lib/*.la; do
|
||||
sed 's|-lgs|-L${lib.getLib ghostscript}/lib -lgs|' -i $la
|
||||
done
|
||||
'';
|
||||
|
||||
passthru.tests.version =
|
||||
testers.testVersion { package = imagemagick; };
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://www.imagemagick.org/";
|
||||
description = "A software suite to create, edit, compose, or convert bitmap images";
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = with maintainers; [ erictapen dotlambda ];
|
||||
license = licenses.asl20;
|
||||
mainProgram = "magick";
|
||||
};
|
||||
}
|
132
third_party/nixpkgs/pkgs/applications/graphics/ImageMagick/default.nix
vendored
Normal file
132
third_party/nixpkgs/pkgs/applications/graphics/ImageMagick/default.nix
vendored
Normal file
|
@ -0,0 +1,132 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, libtool
|
||||
, bzip2Support ? true, bzip2
|
||||
, zlibSupport ? true, zlib
|
||||
, libX11Support ? !stdenv.hostPlatform.isMinGW, libX11
|
||||
, libXtSupport ? !stdenv.hostPlatform.isMinGW, libXt
|
||||
, fontconfigSupport ? true, fontconfig
|
||||
, freetypeSupport ? true, freetype
|
||||
, ghostscriptSupport ? false, ghostscript
|
||||
, libjpegSupport ? true, libjpeg
|
||||
, djvulibreSupport ? true, djvulibre
|
||||
, lcms2Support ? true, lcms2
|
||||
, openexrSupport ? !stdenv.hostPlatform.isMinGW, openexr
|
||||
, libjxlSupport ? true, libjxl
|
||||
, libpngSupport ? true, libpng
|
||||
, liblqr1Support ? true, liblqr1
|
||||
, librawSupport ? true, libraw
|
||||
, librsvgSupport ? !stdenv.hostPlatform.isMinGW, librsvg
|
||||
, libtiffSupport ? true, libtiff
|
||||
, libxml2Support ? true, libxml2
|
||||
, openjpegSupport ? !stdenv.hostPlatform.isMinGW, openjpeg
|
||||
, libwebpSupport ? !stdenv.hostPlatform.isMinGW, libwebp
|
||||
, libheifSupport ? true, libheif
|
||||
, potrace
|
||||
, curl
|
||||
, ApplicationServices
|
||||
, Foundation
|
||||
, testers
|
||||
, imagemagick
|
||||
}:
|
||||
|
||||
assert libXtSupport -> libX11Support;
|
||||
|
||||
let
|
||||
arch =
|
||||
if stdenv.hostPlatform.system == "i686-linux" then "i686"
|
||||
else if stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "x86_64-darwin" then "x86-64"
|
||||
else if stdenv.hostPlatform.system == "armv7l-linux" then "armv7l"
|
||||
else if stdenv.hostPlatform.system == "aarch64-linux" || stdenv.hostPlatform.system == "aarch64-darwin" then "aarch64"
|
||||
else if stdenv.hostPlatform.system == "powerpc64le-linux" then "ppc64le"
|
||||
else null;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "imagemagick";
|
||||
version = "7.1.0-43";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ImageMagick";
|
||||
repo = "ImageMagick";
|
||||
rev = builtins.replaceStrings [ "-" ] [ "." ] version;
|
||||
hash = "sha256-SOy7Ci1rzLB12ofSQBWmX86dfbr/ywsRPunHRswlAt4=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
|
||||
outputMan = "out"; # it's tiny
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
configureFlags = [
|
||||
"--with-frozenpaths"
|
||||
(lib.withFeatureAs (arch != null) "gcc-arch" arch)
|
||||
(lib.withFeature librsvgSupport "rsvg")
|
||||
(lib.withFeature liblqr1Support "lqr")
|
||||
(lib.withFeature libjxlSupport "jxl")
|
||||
(lib.withFeatureAs ghostscriptSupport "gs-font-dir" "${ghostscript}/share/ghostscript/fonts")
|
||||
(lib.withFeature ghostscriptSupport "gslib")
|
||||
] ++ lib.optionals stdenv.hostPlatform.isMinGW [
|
||||
# due to libxml2 being without DLLs ATM
|
||||
"--enable-static" "--disable-shared"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config libtool ];
|
||||
|
||||
buildInputs = [ potrace ]
|
||||
++ lib.optional zlibSupport zlib
|
||||
++ lib.optional fontconfigSupport fontconfig
|
||||
++ lib.optional ghostscriptSupport ghostscript
|
||||
++ lib.optional liblqr1Support liblqr1
|
||||
++ lib.optional libpngSupport libpng
|
||||
++ lib.optional librawSupport libraw
|
||||
++ lib.optional libtiffSupport libtiff
|
||||
++ lib.optional libxml2Support libxml2
|
||||
++ lib.optional libheifSupport libheif
|
||||
++ lib.optional djvulibreSupport djvulibre
|
||||
++ lib.optional libjxlSupport libjxl
|
||||
++ lib.optional openexrSupport openexr
|
||||
++ lib.optional librsvgSupport librsvg
|
||||
++ lib.optional openjpegSupport openjpeg
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
ApplicationServices
|
||||
Foundation
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ curl ]
|
||||
++ lib.optional bzip2Support bzip2
|
||||
++ lib.optional freetypeSupport freetype
|
||||
++ lib.optional libjpegSupport libjpeg
|
||||
++ lib.optional lcms2Support lcms2
|
||||
++ lib.optional libX11Support libX11
|
||||
++ lib.optional libXtSupport libXt
|
||||
++ lib.optional libwebpSupport libwebp;
|
||||
|
||||
postInstall = ''
|
||||
(cd "$dev/include" && ln -s ImageMagick* ImageMagick)
|
||||
moveToOutput "bin/*-config" "$dev"
|
||||
moveToOutput "lib/ImageMagick-*/config-Q16HDRI" "$dev" # includes configure params
|
||||
for file in "$dev"/bin/*-config; do
|
||||
substituteInPlace "$file" --replace pkg-config \
|
||||
"PKG_CONFIG_PATH='$dev/lib/pkgconfig' '${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config'"
|
||||
done
|
||||
'' + lib.optionalString ghostscriptSupport ''
|
||||
for la in $out/lib/*.la; do
|
||||
sed 's|-lgs|-L${lib.getLib ghostscript}/lib -lgs|' -i $la
|
||||
done
|
||||
'';
|
||||
|
||||
passthru.tests.version =
|
||||
testers.testVersion { package = imagemagick; };
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://www.imagemagick.org/";
|
||||
description = "A software suite to create, edit, compose, or convert bitmap images";
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = with maintainers; [ erictapen dotlambda ];
|
||||
license = licenses.asl20;
|
||||
mainProgram = "magick";
|
||||
};
|
||||
}
|
|
@ -10,14 +10,14 @@
|
|||
|
||||
python3Packages.buildPythonPackage rec {
|
||||
pname = "hydrus";
|
||||
version = "488d";
|
||||
version = "491";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hydrusnetwork";
|
||||
repo = "hydrus";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "sha256-FWiopOf+eabiWAfjQW83V7I/e5lOLUVW3djoQePHPRs=";
|
||||
sha256 = "sha256-ceKawn2jyfZPP4HzhkB1jIQoStCPRO/Ni/+Ys1R2FJQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -42,7 +42,7 @@ python3Packages.buildPythonPackage rec {
|
|||
pyopenssl
|
||||
pyside2
|
||||
pysocks
|
||||
pythonPackages.mpv
|
||||
python3Packages.mpv
|
||||
pyyaml
|
||||
qtpy
|
||||
requests
|
||||
|
|
|
@ -57,11 +57,11 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "inkscape";
|
||||
version = "1.2";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://media.inkscape.org/dl/resources/file/inkscape-${version}.tar.xz";
|
||||
sha256 = "jZsxFCVUlFZk7f7+LWtVkQpQmXZfcXanEQfDTx3N5q0=";
|
||||
sha256 = "Rs59oOunykutwdtw6cu2fgrfm7NCaH3G4ItcohuNTBs=";
|
||||
};
|
||||
|
||||
# Inkscape hits the ARGMAX when linking on macOS. It appears to be
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
{ lib, stdenv, mkDerivation, fetchFromGitLab, qmake, qtbase, qttools, qtserialport, libGLU }:
|
||||
mkDerivation rec {
|
||||
pname = "OSCAR";
|
||||
version = "1.3.1";
|
||||
version = "1.4.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "pholy";
|
||||
repo = "OSCAR-code";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-/70NoyiQ33RFdSTBAyi5c/JPZ2AV1/iRvkAZ6VjpUXw=";
|
||||
sha256 = "sha256-bgETkpyL0yhCD1FfTVN0s9RNOPkDp88W/1Gdxvu+Ons=";
|
||||
};
|
||||
|
||||
buildInputs = [ qtbase qttools qtserialport libGLU ];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, fetchFromGitHub
|
||||
{ lib, fetchFromGitHub, gitUpdater
|
||||
, meson, ninja, pkg-config, wrapGAppsHook
|
||||
, desktop-file-utils, gsettings-desktop-schemas, libnotify, libhandy, webkitgtk
|
||||
, python3Packages, gettext
|
||||
|
@ -95,6 +95,10 @@ python3Packages.buildPythonApplication rec {
|
|||
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||
'';
|
||||
|
||||
passthru.updateScript = gitUpdater {
|
||||
inherit pname version;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "An easy-to-use wineprefix manager";
|
||||
homepage = "https://usebottles.com/";
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "dasel";
|
||||
version = "1.24.3";
|
||||
version = "1.25.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TomWright";
|
||||
repo = "dasel";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-aAP5hyo4t5IX4wLwyNDuXxAYbAkS36S1UewYs9ZFJM4=";
|
||||
sha256 = "sha256-VAakbuAkH7kuAx16m2vo4exikI03inXBW3OEIs5WwSY=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-zli9SEBU6n0JusAquqb9+O2W4yPZS7zmC5PCebVSeIA=";
|
||||
|
|
79
third_party/nixpkgs/pkgs/applications/misc/dialect/default.nix
vendored
Normal file
79
third_party/nixpkgs/pkgs/applications/misc/dialect/default.nix
vendored
Normal file
|
@ -0,0 +1,79 @@
|
|||
{ lib
|
||||
, fetchFromGitHub
|
||||
, wrapGAppsHook4
|
||||
, python3
|
||||
, appstream-glib
|
||||
, blueprint-compiler
|
||||
, desktop-file-utils
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, glib
|
||||
, gtk4
|
||||
, gobject-introspection
|
||||
, gst_all_1
|
||||
, libsoup_3
|
||||
, libadwaita
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "dialect";
|
||||
version = "2.0.1";
|
||||
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dialect-app";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-Ke23QnvKpmyuaqkiBQL1cUa0T7lSfYPLFi6wa9G8LYk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
appstream-glib
|
||||
blueprint-compiler
|
||||
desktop-file-utils
|
||||
gobject-introspection
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk4
|
||||
glib
|
||||
gobject-introspection
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gst-plugins-base
|
||||
libsoup_3
|
||||
libadwaita
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
dbus-python
|
||||
gtts
|
||||
pygobject3
|
||||
];
|
||||
|
||||
# Prevent double wrapping, let the Python wrapper use the args in preFixup.
|
||||
dontWrapGApps = true;
|
||||
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||
'';
|
||||
|
||||
doCheck = false;
|
||||
|
||||
# handle setup hooks better
|
||||
strictDeps = false;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/dialect-app/dialect";
|
||||
description = "A translation app for GNOME";
|
||||
maintainers = with maintainers; [ linsui ];
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
|
@ -21,7 +21,7 @@
|
|||
}:
|
||||
|
||||
let
|
||||
version = "4.2.1";
|
||||
version = "4.2.2";
|
||||
|
||||
libsecp256k1_name =
|
||||
if stdenv.isLinux then "libsecp256k1.so.0"
|
||||
|
@ -37,7 +37,7 @@ let
|
|||
owner = "spesmilo";
|
||||
repo = "electrum";
|
||||
rev = version;
|
||||
sha256 = "sha256-BoikYSsQZAv8WswIr5nmBsGmjZbTXaLAbdO2QtPvc7c=";
|
||||
sha256 = "sha256-bFceOu+3SLtD2eY+aSBEn13xJw7a3aVwX39QfAuqVSo=";
|
||||
|
||||
postFetch = ''
|
||||
mv $out ./all
|
||||
|
@ -53,7 +53,7 @@ python3.pkgs.buildPythonApplication {
|
|||
|
||||
src = fetchurl {
|
||||
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
|
||||
sha256 = "sha256-2SxSTH9P380j2KaCbkXjgmQO7K2z81AG6PMA/EMggXA=";
|
||||
sha256 = "sha256-ucLLfqmTKO5Qpg+PnmcdQwht7cWMWJoFjQWnDecEtVs=";
|
||||
};
|
||||
|
||||
postUnpack = ''
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
buildPythonApplication rec {
|
||||
pname = "gallery_dl";
|
||||
version = "1.22.3";
|
||||
version = "1.22.4";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-6nveSEpi5fdlf6ooUXFrX1WaVDOQi6mvgDGAGgwi1zc=";
|
||||
sha256 = "sha256-dJbzhZQIaMBXVd2r40F/fZfokkSq8pVSsRrymxrIynk=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ requests yt-dlp ];
|
||||
|
|
|
@ -8,13 +8,13 @@ with lib;
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gammu";
|
||||
version = "1.40.0";
|
||||
version = "1.42.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gammu";
|
||||
repo = "gammu";
|
||||
rev = version;
|
||||
sha256 = "1jjaa9r3x6i8gv3yn1ngg815s6gsxblsw4wb5ddm77kamn2qyvpf";
|
||||
sha256 = "sha256-aeaGHVxOMiXRU6RHws+oAnzdO9RY1jw/X/xuGfSt76I=";
|
||||
};
|
||||
|
||||
patches = [ ./bashcomp-dir.patch ./systemd.patch ];
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
diff --git a/cmake/templates/gammu.spec.in b/cmake/templates/gammu.spec.in
|
||||
index 8302353..e3ca59a 100644
|
||||
index 25c08b3d6..86f72d8c7 100644
|
||||
--- a/cmake/templates/gammu.spec.in
|
||||
+++ b/cmake/templates/gammu.spec.in
|
||||
@@ -387,9 +387,9 @@ fi
|
||||
@@ -386,9 +386,9 @@ fi
|
||||
%doc %{_mandir}/man7/gammu-smsd-run.7*
|
||||
%doc %{_mandir}/man7/gammu-smsd-sql.7*
|
||||
%doc %{_mandir}/man7/gammu-smsd-tables.7*
|
||||
|
@ -16,13 +16,13 @@ index 8302353..e3ca59a 100644
|
|||
%files -n libGammu%{so_ver} -f libgammu.lang
|
||||
%defattr(-,root,root,-)
|
||||
diff --git a/contrib/CMakeLists.txt b/contrib/CMakeLists.txt
|
||||
index 78cc7fc..d674c36 100644
|
||||
index 378411086..b871e6525 100644
|
||||
--- a/contrib/CMakeLists.txt
|
||||
+++ b/contrib/CMakeLists.txt
|
||||
@@ -97,7 +97,7 @@ endif (INSTALL_BASH_COMPLETION)
|
||||
if (WITH_SYSTEMD)
|
||||
@@ -100,7 +100,7 @@ if (WITH_SYSTEMD)
|
||||
configure_file( init/gammu-smsd.service init/gammu-smsd.service )
|
||||
install (
|
||||
FILES init/gammu-smsd.service
|
||||
FILES ${CMAKE_CURRENT_BINARY_DIR}/init/gammu-smsd.service
|
||||
- DESTINATION "${SYSTEMD_SERVICES_INSTALL_DIR}"
|
||||
+ DESTINATION "${CMAKE_INSTALL_PREFIX}/systemd"
|
||||
COMPONENT "systemd"
|
||||
|
|
|
@ -96,7 +96,6 @@ stdenv.mkDerivation rec {
|
|||
'');
|
||||
|
||||
meta = with lib; {
|
||||
broken = stdenv.isDarwin;
|
||||
description = "Convert, upload and download data from GPS and Map programs";
|
||||
longDescription = ''
|
||||
GPSBabel converts waypoints, tracks, and routes between popular
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "hugo";
|
||||
version = "0.99.1";
|
||||
version = "0.101.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gohugoio";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-NFsXu4UxBmsSM6sNRSSoIUj6QjfB5iSXXbTNftakyHI=";
|
||||
sha256 = "sha256-Fodcefp8xdSV2tt6ZYaKdcLqVe2upEngQr6M+wV5wnw=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-A1ct8BjtKudNqfytCiaEGfgbRCMv45MIQxTka4ZFblg=";
|
||||
vendorSha256 = "sha256-tZQIKxY96G6ReegqjapJ2rLd7n92+axJ7F8UglF61eM=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
@ -33,7 +33,6 @@ buildGoModule rec {
|
|||
'';
|
||||
|
||||
meta = with lib; {
|
||||
broken = stdenv.isDarwin && stdenv.isx86_64;
|
||||
description = "A fast and modern static website engine";
|
||||
homepage = "https://gohugo.io";
|
||||
license = licenses.asl20;
|
||||
|
|
|
@ -15,12 +15,12 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mkgmap";
|
||||
version = "4904";
|
||||
version = "4905";
|
||||
|
||||
src = fetchsvn {
|
||||
url = "https://svn.mkgmap.org.uk/mkgmap/mkgmap/trunk";
|
||||
rev = version;
|
||||
sha256 = "sha256-43gJkpk19Ef3vUbRNt3VDstxCLJl6smsAjtcrovGjEE=";
|
||||
sha256 = "sha256-EYUysLit/bO/IjVmAbxqIvVFm9Ub50+RKFn7ZdspapU=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
251
third_party/nixpkgs/pkgs/applications/misc/openbangla-keyboard/Cargo.lock
generated
vendored
Normal file
251
third_party/nixpkgs/pkgs/applications/misc/openbangla-keyboard/Cargo.lock
generated
vendored
Normal file
|
@ -0,0 +1,251 @@
|
|||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "ahash"
|
||||
version = "0.3.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217"
|
||||
|
||||
[[package]]
|
||||
name = "aho-corasick"
|
||||
version = "0.7.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "autocfg"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-channel"
|
||||
version = "0.5.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4c02a4d71819009c192cf4872265391563fd6a84c81ff2c0f2a7026ca4c1d85c"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"crossbeam-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-deque"
|
||||
version = "0.8.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"crossbeam-epoch",
|
||||
"crossbeam-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-epoch"
|
||||
version = "0.9.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "07db9d94cbd326813772c968ccd25999e5f8ae22f4f8d1b11effa37ef6ce281d"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"cfg-if",
|
||||
"crossbeam-utils",
|
||||
"memoffset",
|
||||
"once_cell",
|
||||
"scopeguard",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-utils"
|
||||
version = "0.8.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7d82ee10ce34d7bc12c2122495e7593a9c41347ecdd64185af4ecf72cb1a7f83"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"once_cell",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "edit-distance"
|
||||
version = "2.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bbbaaaf38131deb9ca518a274a45bfdb8771f139517b073b16c2d3d32ae5037b"
|
||||
|
||||
[[package]]
|
||||
name = "either"
|
||||
version = "1.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be"
|
||||
|
||||
[[package]]
|
||||
name = "hashbrown"
|
||||
version = "0.8.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e91b62f79061a0bc2e046024cb7ba44b08419ed238ecbd9adbd787434b9e8c25"
|
||||
dependencies = [
|
||||
"ahash",
|
||||
"autocfg",
|
||||
"rayon",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hermit-abi"
|
||||
version = "0.1.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itoa"
|
||||
version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.126"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
|
||||
|
||||
[[package]]
|
||||
name = "memoffset"
|
||||
version = "0.6.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num_cpus"
|
||||
version = "1.13.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
|
||||
dependencies = [
|
||||
"hermit-abi",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.13.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
|
||||
|
||||
[[package]]
|
||||
name = "rayon"
|
||||
version = "1.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"crossbeam-deque",
|
||||
"either",
|
||||
"rayon-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rayon-core"
|
||||
version = "1.9.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f"
|
||||
dependencies = [
|
||||
"crossbeam-channel",
|
||||
"crossbeam-deque",
|
||||
"crossbeam-utils",
|
||||
"num_cpus",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex"
|
||||
version = "1.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
"regex-syntax",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex-syntax"
|
||||
version = "0.6.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
|
||||
|
||||
[[package]]
|
||||
name = "riti"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"edit-distance",
|
||||
"either",
|
||||
"hashbrown",
|
||||
"rayon",
|
||||
"regex",
|
||||
"rupantor",
|
||||
"serde_json",
|
||||
"stringplus",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rupantor"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "04eb802986005129b0946dbb4baa420bf14cea547c5ee6b57ba081d9e85f6a4b"
|
||||
dependencies = [
|
||||
"serde_json",
|
||||
"stringplus",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ryu"
|
||||
version = "1.0.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695"
|
||||
|
||||
[[package]]
|
||||
name = "scopeguard"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.139"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0171ebb889e45aa68b44aee0859b3eede84c6f5f5c228e6f140c0b2a0a46cad6"
|
||||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.82"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "82c2c1fdcd807d1098552c5b9a36e425e42e9fbd7c6a37a8425f390f781f7fa7"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"ryu",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "stringplus"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9057d3b491a3eee749e52560657c4d93b0badc04fb3fa8dae3c942c5c066f222"
|
72
third_party/nixpkgs/pkgs/applications/misc/openbangla-keyboard/default.nix
vendored
Normal file
72
third_party/nixpkgs/pkgs/applications/misc/openbangla-keyboard/default.nix
vendored
Normal file
|
@ -0,0 +1,72 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, pkg-config
|
||||
, rustPlatform
|
||||
, wrapQtAppsHook
|
||||
, ibus
|
||||
, qtbase
|
||||
, zstd
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "openbangla-keyboard";
|
||||
version = "2.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openbangla";
|
||||
repo = "openbangla-keyboard";
|
||||
rev = version;
|
||||
hash = "sha256-UoLiysaA0Wob/SLBqm36Txqb8k7bwoQ56h8ZufHR74I=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
rustPlatform.rust.cargo
|
||||
rustPlatform.rust.rustc
|
||||
rustPlatform.cargoSetupHook
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
ibus
|
||||
qtbase
|
||||
zstd
|
||||
];
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
postPatch = ''
|
||||
cp ${./Cargo.lock} Cargo.lock
|
||||
'';
|
||||
sourceRoot = "source/${cargoRoot}";
|
||||
sha256 = "sha256-01MWuUUirsgpoprMArRp3qxKNayPHTkYWk31nXcIC34=";
|
||||
};
|
||||
|
||||
cargoRoot = "src/engine/riti";
|
||||
postPatch = ''
|
||||
cp ${./Cargo.lock} ${cargoRoot}/Cargo.lock
|
||||
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace "/usr" "$out"
|
||||
|
||||
substituteInPlace src/shared/FileSystem.cpp \
|
||||
--replace "/usr" "$out"
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/bin
|
||||
ln -s $out/share/openbangla-keyboard/openbangla-gui $out/bin/openbangla-gui
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "An OpenSource, Unicode compliant Bengali Input Method";
|
||||
homepage = "https://openbangla.github.io/";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ hqurve ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
|
@ -1,26 +1,50 @@
|
|||
{ lib, fetchFromGitHub, python3, dbus, gnupg }:
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, python3
|
||||
, dbus
|
||||
, gnupg
|
||||
, coreutils
|
||||
, nixosTests
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "pass-secret-service";
|
||||
# PyPI has old alpha version. Since then the project has switched from using a
|
||||
# seemingly abandoned D-Bus package pydbus and started using maintained
|
||||
# dbus-next. So let's use latest from GitHub.
|
||||
version = "unstable-2020-04-12";
|
||||
version = "unstable-2022-03-21";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mdellweg";
|
||||
repo = "pass_secret_service";
|
||||
rev = "f6fbca6ac3ccd16bfec407d845ed9257adf74dfa";
|
||||
sha256 = "0rm4pbx1fiwds1v7f99khhh7x3inv9yniclwd95mrbgljk3cc6a4";
|
||||
rev = "149f8557e07098eee2f46561eea61e83255ac59b";
|
||||
sha256 = "sha256-+/pFi6+K8rl0Ihm6cp/emUQVtau6+Apl8/VEr9AI0Xs=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Only needed until https://github.com/mdellweg/pass_secret_service/pull/30
|
||||
# is merged.
|
||||
./int_from_bytes-deprecation-fix.patch
|
||||
];
|
||||
|
||||
# Need to specify session.conf file for tests because it won't be found under
|
||||
# /etc/ in check phase.
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile \
|
||||
--replace "dbus-run-session" "dbus-run-session --config-file=${dbus}/share/dbus-1/session.conf" \
|
||||
--replace '-p $(relpassstore)' '-p $(PASSWORD_STORE_DIR)'
|
||||
--replace '-p $(relpassstore)' '-p $(PASSWORD_STORE_DIR)' \
|
||||
--replace 'pytest-3' 'pytest'
|
||||
|
||||
substituteInPlace systemd/org.freedesktop.secrets.service \
|
||||
--replace "/bin/false" "${coreutils}/bin/false"
|
||||
substituteInPlace systemd/dbus-org.freedesktop.secrets.service \
|
||||
--replace "/usr/local" "$out"
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p "$out/share/dbus-1/services/" "$out/lib/systemd/user/"
|
||||
cp systemd/org.freedesktop.secrets.service "$out/share/dbus-1/services/"
|
||||
cp systemd/dbus-org.freedesktop.secrets.service "$out/lib/systemd/user/"
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
|
@ -44,17 +68,15 @@ python3.pkgs.buildPythonApplication rec {
|
|||
ps.pypass
|
||||
];
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
make test
|
||||
runHook postCheck
|
||||
'';
|
||||
checkTarget = "test";
|
||||
|
||||
passthru.tests.pass-secret-service = nixosTests.pass-secret-service;
|
||||
|
||||
meta = {
|
||||
description = "Libsecret D-Bus API with pass as the backend";
|
||||
homepage = "https://github.com/mdellweg/pass_secret_service/";
|
||||
license = lib.licenses.gpl3Only;
|
||||
platforms = lib.platforms.all;
|
||||
maintainers = with lib.maintainers; [ jluttine ];
|
||||
maintainers = with lib.maintainers; [ jluttine aidalgol ];
|
||||
};
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue