Merge master into staging-next
This commit is contained in:
commit
bba461b209
29 changed files with 422 additions and 145 deletions
|
@ -240,6 +240,11 @@ in mkLicense lset) ({
|
|||
fullName = "CeCILL Free Software License Agreement v2.0";
|
||||
};
|
||||
|
||||
cecill21 = {
|
||||
spdxId = "CECILL-2.1";
|
||||
fullName = "CeCILL Free Software License Agreement v2.1";
|
||||
};
|
||||
|
||||
cecill-b = {
|
||||
spdxId = "CECILL-B";
|
||||
fullName = "CeCILL-B Free Software License Agreement";
|
||||
|
|
|
@ -2599,6 +2599,10 @@
|
|||
githubId = 202798;
|
||||
name = "Pierre Bourdon";
|
||||
};
|
||||
delta = {
|
||||
email = "d4delta@outlook.fr";
|
||||
name = "Delta";
|
||||
};
|
||||
deltaevo = {
|
||||
email = "deltaduartedavid@gmail.com";
|
||||
github = "DeltaEvo";
|
||||
|
|
|
@ -97,7 +97,7 @@ in stdenv.mkDerivation {
|
|||
include <abstractions/nameservice>
|
||||
include <abstractions/ssl_certs>
|
||||
include "${apparmorRulesFromClosure { name = "transmission-daemon"; } ([
|
||||
curl libevent openssl pcre zlib
|
||||
curl libevent openssl pcre zlib libnatpmp miniupnpc
|
||||
] ++ lib.optionals enableSystemd [ systemd ]
|
||||
++ lib.optionals stdenv.isLinux [ inotify-tools ]
|
||||
)}"
|
||||
|
@ -116,6 +116,7 @@ in stdenv.mkDerivation {
|
|||
'';
|
||||
|
||||
passthru.tests = {
|
||||
apparmor = nixosTests.transmission; # starts the service with apparmor enabled
|
||||
smoke-test = nixosTests.bittorrent;
|
||||
};
|
||||
|
||||
|
|
|
@ -53,6 +53,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
"--with-rfb=no"
|
||||
"--with-vncsrv=no"
|
||||
"--with-nogui"
|
||||
|
||||
# These will always be "yes" on NixOS
|
||||
"--enable-ltdl-install=yes"
|
||||
|
|
|
@ -36,9 +36,12 @@ let
|
|||
echo "${metadata}" | base64 --decode > $out/metadata.json
|
||||
'';
|
||||
};
|
||||
buildCommand = ''
|
||||
dontBuild = true;
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/share/gnome-shell/extensions/
|
||||
cp -r -T $src $out/share/gnome-shell/extensions/${uuid}
|
||||
cp -r -T . $out/share/gnome-shell/extensions/${uuid}
|
||||
runHook postInstall
|
||||
'';
|
||||
meta = {
|
||||
description = builtins.head (lib.splitString "\n" description);
|
||||
|
|
|
@ -60,17 +60,24 @@ in rec {
|
|||
gnome38Extensions = mapUuidNames (produceExtensionsList "38");
|
||||
gnome40Extensions = mapUuidNames (produceExtensionsList "40");
|
||||
|
||||
gnomeExtensions = lib.recurseIntoAttrs (
|
||||
(mapReadableNames
|
||||
(lib.attrValues (gnome40Extensions // (callPackages ./manuallyPackaged.nix {})))
|
||||
)
|
||||
// lib.optionalAttrs (config.allowAliases or true) {
|
||||
gnomeExtensions = lib.trivial.pipe gnome40Extensions [
|
||||
# Apply some custom patches for automatically packaged extensions
|
||||
(callPackage ./extensionOverrides.nix {})
|
||||
# Add all manually packaged extensions
|
||||
(extensions: extensions // (callPackages ./manuallyPackaged.nix {}))
|
||||
# Map the extension UUIDs to readable names
|
||||
(lib.attrValues)
|
||||
(mapReadableNames)
|
||||
# Add some aliases
|
||||
(extensions: extensions // lib.optionalAttrs (config.allowAliases or true) {
|
||||
unite-shell = gnomeExtensions.unite; # added 2021-01-19
|
||||
arc-menu = gnomeExtensions.arcmenu; # added 2021-02-14
|
||||
|
||||
nohotcorner = throw "gnomeExtensions.nohotcorner removed since 2019-10-09: Since 3.34, it is a part of GNOME Shell configurable through GNOME Tweaks.";
|
||||
mediaplayer = throw "gnomeExtensions.mediaplayer deprecated since 2019-09-23: retired upstream https://github.com/JasonLG1979/gnome-shell-extensions-mediaplayer/blob/master/README.md";
|
||||
remove-dropdown-arrows = throw "gnomeExtensions.remove-dropdown-arrows removed since 2021-05-25: The extensions has not seen an update sine GNOME 3.34. Furthermore, the functionality it provides is obsolete as of GNOME 40.";
|
||||
}
|
||||
);
|
||||
})
|
||||
# Make the set "public"
|
||||
lib.recurseIntoAttrs
|
||||
];
|
||||
}
|
||||
|
|
32
pkgs/desktops/gnome/extensions/extensionOverrides.nix
Normal file
32
pkgs/desktops/gnome/extensions/extensionOverrides.nix
Normal file
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
lib,
|
||||
ddcutil,
|
||||
gjs,
|
||||
}:
|
||||
# A set of overrides for automatically packaged extensions that require some small fixes.
|
||||
# The input must be an attribute set with the extensions' UUIDs as keys and the extension
|
||||
# derivations as values. Output is the same, but with patches applied.
|
||||
#
|
||||
# Note that all source patches refer to the built extension as published on extensions.gnome.org, and not
|
||||
# the upstream repository's sources.
|
||||
super: super // {
|
||||
|
||||
"display-brightness-ddcutil@themightydeity.github.com" = super."display-brightness-ddcutil@themightydeity.github.com".overrideAttrs (old: {
|
||||
# Has a hard-coded path to a run-time dependency
|
||||
# https://github.com/NixOS/nixpkgs/issues/136111
|
||||
postPatch = ''
|
||||
substituteInPlace "extension.js" --replace "/usr/bin/ddcutil" "${ddcutil}/bin/ddcutil"
|
||||
'';
|
||||
});
|
||||
|
||||
"gnome-shell-screenshot@ttll.de" = super."gnome-shell-screenshot@ttll.de".overrideAttrs (old: {
|
||||
# Requires gjs
|
||||
# https://github.com/NixOS/nixpkgs/issues/136112
|
||||
postPatch = ''
|
||||
for file in *.js; do
|
||||
substituteInPlace $file --replace "gjs" "${gjs}/bin/gjs"
|
||||
done
|
||||
'';
|
||||
});
|
||||
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{ stdenv, lib, fetchFromGitHub, glib, gnome }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-shell-extension-tilingnome-unstable";
|
||||
pname = "gnome-shell-extension-tilingnome";
|
||||
version = "unstable-2019-09-19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
|
28
pkgs/development/ocaml-modules/lustre-v6/default.nix
Normal file
28
pkgs/development/ocaml-modules/lustre-v6/default.nix
Normal file
|
@ -0,0 +1,28 @@
|
|||
{ lib, buildDunePackage, fetchurl, ocaml_extlib, lutils, rdbg }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "lustre-v6";
|
||||
version = "6.103.3";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
minimalOCamlVersion = "4.05";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/pool/lustre-v6.6.103.3.tgz";
|
||||
sha512 = "8d452184ee68edda1b5a50717e6a5b13fb21f9204634fc5898280e27a1d79c97a6e7cc04424fc22f34cdd02ed3cc8774dca4f982faf342980b5f9fe0dc1a017d";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
ocaml_extlib
|
||||
lutils
|
||||
rdbg
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://www-verimag.imag.fr/lustre-v6.html";
|
||||
description = "Lustre V6 compiler";
|
||||
license = lib.licenses.cecill21;
|
||||
maintainers = [ lib.maintainers.delta ];
|
||||
};
|
||||
}
|
25
pkgs/development/ocaml-modules/lutils/default.nix
Normal file
25
pkgs/development/ocaml-modules/lutils/default.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{ lib, buildDunePackage, fetchurl, num }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "lutils";
|
||||
version = "1.51.2";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
minimalOCamlVersion = "4.02";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/pool/lutils.1.51.2.tgz";
|
||||
sha512 = "f94696be379c62e888410ec3d940c888ca4b607cf59c2e364e93a2a694da65ebe6d531107198b795e80eecc3c6865eedb02659c7e7c4e15c9b28d74aa35d09f8";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
num
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/lutils/";
|
||||
description = "Tools and libs shared by Verimag/synchronous tools (lustre, lutin, rdbg)";
|
||||
license = lib.licenses.cecill21;
|
||||
};
|
||||
}
|
|
@ -12,8 +12,8 @@
|
|||
let params =
|
||||
if lib.versionAtLeast ocaml.version "4.12"
|
||||
then {
|
||||
version = "1.7.0";
|
||||
sha256 = "1va2zj41znsr94bdw485vak96zrcvqwcrqf1sy8zipb6hdhbchya";
|
||||
version = "1.8.3";
|
||||
sha256 = "sha256-WO9ap78XZxJCi04LEBX+r21nfL2UdPiCLRMrJSI7FOk=";
|
||||
} else {
|
||||
version = "1.4.1";
|
||||
sha256 = "1ssyazc0yrdng98cypwa9m3nzfisdzpp7hqnx684rqj8f0g3gs6f";
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
, pp
|
||||
, csexp
|
||||
, cmdliner
|
||||
, ocamlformat-rpc-lib
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
|
@ -35,7 +36,7 @@ buildDunePackage rec {
|
|||
|
||||
buildInputs =
|
||||
if lib.versionAtLeast version "1.7.0" then
|
||||
[ pp re ppx_yojson_conv_lib octavius dune-build-info omd cmdliner ]
|
||||
[ pp re ppx_yojson_conv_lib octavius dune-build-info omd cmdliner ocamlformat-rpc-lib ]
|
||||
else
|
||||
[ cppo
|
||||
ppx_yojson_conv_lib
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
{ lib, fetchurl, buildDunePackage, csexp, sexplib0 }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "ocamlformat-rpc-lib";
|
||||
version = "0.19.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ocaml-ppx/ocamlformat/releases/download/${version}/ocamlformat-${version}.tbz";
|
||||
sha256 = "sha256-YvxGqujwpKM85/jXcm1xCb/2Fepvy1DRSC8h0g7lD0Y=";
|
||||
};
|
||||
|
||||
minimumOCamlVersion = "4.08";
|
||||
useDune2 = true;
|
||||
|
||||
propagatedBuildInputs = [ csexp sexplib0 ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/ocaml-ppx/ocamlformat";
|
||||
description = "Auto-formatter for OCaml code (RPC mode)";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ Zimmi48 marsam ];
|
||||
};
|
||||
}
|
31
pkgs/development/ocaml-modules/rdbg/default.nix
Normal file
31
pkgs/development/ocaml-modules/rdbg/default.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
{ lib, buildDunePackage, fetchurl, num, lutils, ounit}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "rdbg";
|
||||
version = "1.196.12";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
minimalOCamlVersion = "4.07";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/pool/rdbg.1.196.12.tgz";
|
||||
sha512 = "8e88034b1eda8f1233b4990adc9746782148254c93d8d0c99c246c0d50f306eeb6aa4afcfca8834acb3e268860647f47a24cc6a2d29fb45cac11f098e2ede275";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
num
|
||||
ounit
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
lutils
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/rdbg";
|
||||
description = "A programmable debugger that targets reactive programs for which a rdbg-plugin exists. Currently two plugins exist : one for Lustre, and one for Lutin (nb: both are synchronous programming languages)";
|
||||
license = lib.licenses.cecill21;
|
||||
maintainers = [ lib.maintainers.delta ];
|
||||
};
|
||||
}
|
38
pkgs/development/python-modules/asmog/default.nix
Normal file
38
pkgs/development/python-modules/asmog/default.nix
Normal file
|
@ -0,0 +1,38 @@
|
|||
{ lib
|
||||
, aiohttp
|
||||
, async-timeout
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "asmog";
|
||||
version = "0.0.6";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "14b8hdxcks6qyrqpp4mm77fvzznbskqn7fw9qgwgcqx81pg45iwk";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
async-timeout
|
||||
];
|
||||
|
||||
# Project doesn't ship the tests
|
||||
# https://github.com/kstaniek/python-ampio-smog-api/issues/2
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "asmog" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python module for Ampio Smog Sensors";
|
||||
homepage = "https://github.com/kstaniek/python-ampio-smog-api";
|
||||
license = with licenses; [ asl20 ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "clj-kondo";
|
||||
version = "2021.03.31";
|
||||
version = "2021.09.25";
|
||||
|
||||
reflectionJson = fetchurl {
|
||||
name = "reflection.json";
|
||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/clj-kondo/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
|
||||
sha256 = "sha256-XSs0u758wEuaqZvFIevBrL61YNPUJ9Sc1DS+O9agj94=";
|
||||
sha256 = "sha256-kS6bwsYH/cbjJlIeiDAy6QsAw+D1uHp26d4NBLfStjg=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
|
|
@ -17,11 +17,17 @@ stdenv.mkDerivation rec {
|
|||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/{bin,share/google-java-format}
|
||||
install -D ${src} $out/share/google-java-format/google-java-format.jar
|
||||
mkdir -p $out/{bin,share/${pname}}
|
||||
install -D ${src} $out/share/${pname}/google-java-format-${version}-all-deps.jar
|
||||
|
||||
makeWrapper ${jre}/bin/java $out/bin/google-java-format \
|
||||
--add-flags "-jar $out/share/google-java-format/google-java-format.jar"
|
||||
makeWrapper ${jre}/bin/java $out/bin/${pname} \
|
||||
--argv0 ${pname} \
|
||||
--add-flags "--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED" \
|
||||
--add-flags "--add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED" \
|
||||
--add-flags "--add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED" \
|
||||
--add-flags "--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED" \
|
||||
--add-flags "--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED" \
|
||||
--add-flags "-jar $out/share/${pname}/google-java-format-${version}-all-deps.jar"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
diff -Naur higan-110-old/higan/GNUmakefile higan-110-new/higan/GNUmakefile
|
||||
--- higan-110-old/higan/GNUmakefile 2020-04-15 11:06:00.279935557 -0300
|
||||
+++ higan-110-new/higan/GNUmakefile 2020-04-15 11:08:32.982417291 -0300
|
||||
@@ -11,7 +11,7 @@
|
||||
include $(nall.path)/GNUmakefile
|
||||
|
||||
ifeq ($(platform),local)
|
||||
- flags += -march=native
|
||||
+ flags +=
|
||||
endif
|
||||
|
||||
ifeq ($(platform),windows)
|
||||
diff -Naur higan-110-old/nall/GNUmakefile higan-110-new/nall/GNUmakefile
|
||||
--- higan-110-old/nall/GNUmakefile 2020-04-15 11:06:00.396935154 -0300
|
||||
+++ higan-110-new/nall/GNUmakefile 2020-04-15 11:10:37.738011488 -0300
|
||||
@@ -127,7 +127,8 @@
|
||||
|
||||
# linux settings
|
||||
ifeq ($(platform),linux)
|
||||
- options += -ldl
|
||||
+ flags += $(CXXFLAGS)
|
||||
+ options += $(LDFLAGS) -ldl
|
||||
endif
|
||||
|
||||
# bsd settings
|
8
pkgs/misc/emulators/higan/001-include-cmath.patch
Normal file
8
pkgs/misc/emulators/higan/001-include-cmath.patch
Normal file
|
@ -0,0 +1,8 @@
|
|||
diff -Naur source-old/higan/fc/ppu/ppu.cpp source-new/higan/fc/ppu/ppu.cpp
|
||||
--- source-old/higan/fc/ppu/ppu.cpp 1969-12-31 21:00:01.000000000 -0300
|
||||
+++ source-new/higan/fc/ppu/ppu.cpp 2021-09-29 22:23:19.107527772 -0300
|
||||
@@ -1,3 +1,4 @@
|
||||
+#include <cmath>
|
||||
#include <fc/fc.hpp>
|
||||
|
||||
namespace higan::Famicom {
|
24
pkgs/misc/emulators/higan/002-sips-to-png2icns.patch
Normal file
24
pkgs/misc/emulators/higan/002-sips-to-png2icns.patch
Normal file
|
@ -0,0 +1,24 @@
|
|||
diff -Naur source-old/higan-ui/GNUmakefile source-new/higan-ui/GNUmakefile
|
||||
--- source-old/higan-ui/GNUmakefile 1969-12-31 21:00:01.000000000 -0300
|
||||
+++ source-new/higan-ui/GNUmakefile 2021-09-29 22:35:35.744721052 -0300
|
||||
@@ -61,7 +61,7 @@
|
||||
mkdir -p $(output.path)/$(name).app/Contents/Resources/
|
||||
mv $(output.path)/$(name) $(output.path)/$(name).app/Contents/MacOS/$(name)
|
||||
cp resource/$(name).plist $(output.path)/$(name).app/Contents/Info.plist
|
||||
- sips -s format icns resource/$(name).png --out $(output.path)/$(name).app/Contents/Resources/$(name).icns
|
||||
+ png2icns $(output.path)/$(name).app/Contents/Resources/$(name).icns resource/$(name).png
|
||||
endif
|
||||
|
||||
verbose: nall.verbose ruby.verbose hiro.verbose all;
|
||||
diff -Naur source-old/icarus/GNUmakefile source-new/icarus/GNUmakefile
|
||||
--- source-old/icarus/GNUmakefile 1969-12-31 21:00:01.000000000 -0300
|
||||
+++ source-new/icarus/GNUmakefile 2021-09-29 22:35:53.639846113 -0300
|
||||
@@ -26,7 +26,7 @@
|
||||
mkdir -p $(output.path)/$(name).app/Contents/Resources/
|
||||
mv $(output.path)/$(name) $(output.path)/$(name).app/Contents/MacOS/$(name)
|
||||
cp resource/$(name).plist $(output.path)/$(name).app/Contents/Info.plist
|
||||
- sips -s format icns resource/$(name).png --out $(output.path)/$(name).app/Contents/Resources/$(name).icns
|
||||
+ png2icns $(output.path)/$(name).app/Contents/Resources/$(name).icns resource/$(name).png
|
||||
endif
|
||||
|
||||
verbose: hiro.verbose nall.verbose all;
|
|
@ -1,135 +1,156 @@
|
|||
{ lib, stdenv, fetchFromGitHub
|
||||
, pkg-config
|
||||
, libX11, libXv
|
||||
, udev
|
||||
, libGLU, libGL, SDL2
|
||||
, libao, openal, libpulseaudio
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, SDL2
|
||||
, alsa-lib
|
||||
, gtk2, gtksourceview
|
||||
, gtk3
|
||||
, gtksourceview3
|
||||
, libGL
|
||||
, libGLU
|
||||
, libX11
|
||||
, libXv
|
||||
, libao
|
||||
, libpulseaudio
|
||||
, openal
|
||||
, pkg-config
|
||||
, runtimeShell
|
||||
, udev
|
||||
# Darwin dependencies
|
||||
, libicns, Carbon, Cocoa, OpenGL, OpenAL}:
|
||||
, libicns
|
||||
, Carbon
|
||||
, Cocoa
|
||||
, OpenAL
|
||||
, OpenGL
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (lib) optionals;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
pname = "higan";
|
||||
version = "110";
|
||||
version = "115+unstable=2021-08-18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "higan-emu";
|
||||
repo = "higan";
|
||||
rev = "v${version}";
|
||||
sha256 = "11rvm53c3p2f6zk8xbyv2j51xp8zmqnch7zravhj3fk590qrjrr2";
|
||||
rev = "9bf1b3314b2bcc73cbc11d344b369c31562aff10";
|
||||
hash = "sha256-HZItJ97x20OjFKv2OVbMja7g+c1ZXcgcaC/XDe3vMZM=";
|
||||
};
|
||||
|
||||
patches = [ ./0001-change-flags.diff ];
|
||||
postPatch = ''
|
||||
sed '1i#include <cmath>' -i higan/fc/ppu/ppu.cpp
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
libicns
|
||||
];
|
||||
|
||||
for file in icarus/GNUmakefile higan/target-higan/GNUmakefile; do
|
||||
substituteInPlace "$file" \
|
||||
--replace 'sips -s format icns data/$(name).png --out out/$(name).app/Contents/Resources/$(name).icns' \
|
||||
'png2icns out/$(name).app/Contents/Resources/$(name).icns data/$(name).png'
|
||||
done
|
||||
'';
|
||||
buildInputs = [
|
||||
SDL2
|
||||
libao
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
alsa-lib
|
||||
gtk3
|
||||
gtksourceview3
|
||||
libGL
|
||||
libGLU
|
||||
libX11
|
||||
libXv
|
||||
libpulseaudio
|
||||
openal
|
||||
udev
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
Carbon
|
||||
Cocoa
|
||||
OpenAL
|
||||
OpenGL
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ]
|
||||
++ optionals stdenv.isDarwin [ libicns ];
|
||||
patches = [
|
||||
# Includes cmath header
|
||||
./001-include-cmath.patch
|
||||
# Uses png2icns instead of sips
|
||||
./002-sips-to-png2icns.patch
|
||||
];
|
||||
|
||||
buildInputs = [ SDL2 libao ]
|
||||
++ optionals stdenv.isLinux [ alsa-lib udev libpulseaudio openal
|
||||
gtk2 gtksourceview libX11 libXv
|
||||
libGLU libGL ]
|
||||
++ optionals stdenv.isDarwin [ Carbon Cocoa OpenGL OpenAL ];
|
||||
dontConfigure = true;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
buildPhase = ''
|
||||
make compiler=c++ -C higan openmp=true target=higan
|
||||
make compiler=c++ -C genius openmp=true
|
||||
make compiler=c++ -C icarus openmp=true
|
||||
runHook preBuild
|
||||
|
||||
make -j $NIX_BUILD_CORES compiler=${stdenv.cc.targetPrefix}c++ \
|
||||
platform=linux openmp=true hiro=gtk3 build=accuracy local=false \
|
||||
cores="cv fc gb gba md ms msx ngp pce sfc sg ws" -C higan-ui
|
||||
make -j $NIX_BUILD_CORES compiler=${stdenv.cc.targetPrefix}c++ \
|
||||
platform=linux openmp=true hiro=gtk3 -C icarus
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = (if stdenv.isDarwin then ''
|
||||
mkdir "$out"
|
||||
mv higan/out/higan.app "$out"/
|
||||
mv icarus/out/icarus.app "$out"/
|
||||
mv genius/out/genius.app "$out"/
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
'' + (if stdenv.isDarwin then ''
|
||||
mkdir ${placeholder "out"}
|
||||
mv higan/out/higan.app ${placeholder "out"}/
|
||||
mv icarus/out/icarus.app ${placeholder "out"}/
|
||||
'' else ''
|
||||
install -dm 755 "$out"/bin "$out"/share/applications "$out"/share/pixmaps
|
||||
install -d ${placeholder "out"}/bin
|
||||
install higan-ui/out/higan -t ${placeholder "out"}/bin/
|
||||
install icarus/out/icarus -t ${placeholder "out"}/bin/
|
||||
|
||||
install -m 755 higan/out/higan -t "$out"/bin/
|
||||
install -m 644 higan/target-higan/resource/higan.desktop \
|
||||
-t $out/share/applications/
|
||||
install -m 644 higan/target-higan/resource/higan.svg \
|
||||
$out/share/pixmaps/higan-icon.svg
|
||||
install -m 644 higan/target-higan/resource/higan.png \
|
||||
$out/share/pixmaps/higan-icon.png
|
||||
install -d ${placeholder "out"}/share/applications
|
||||
install higan-ui/resource/higan.desktop -t ${placeholder "out"}/share/applications/
|
||||
install icarus/resource/icarus.desktop -t ${placeholder "out"}/share/applications/
|
||||
|
||||
install -m 755 icarus/out/icarus -t "$out"/bin/
|
||||
install -m 644 icarus/data/icarus.desktop -t $out/share/applications/
|
||||
install -m 644 icarus/data/icarus.svg $out/share/pixmaps/icarus-icon.svg
|
||||
install -m 644 icarus/data/icarus.png $out/share/pixmaps/icarus-icon.png
|
||||
|
||||
install -m 755 genius/out/genius -t "$out"/bin/
|
||||
install -m 644 genius/data/genius.desktop -t $out/share/applications/
|
||||
install -m 644 genius/data/genius.svg $out/share/pixmaps/genius-icon.svg
|
||||
install -m 644 genius/data/genius.png $out/share/pixmaps/genius-icon.png
|
||||
install -d ${placeholder "out"}/share/pixmaps
|
||||
install higan/higan/resource/higan.svg ${placeholder "out"}/share/pixmaps/higan-icon.svg
|
||||
install higan/higan/resource/logo.png ${placeholder "out"}/share/pixmaps/higan-icon.png
|
||||
install icarus/resource/icarus.svg ${placeholder "out"}/share/pixmaps/icarus-icon.svg
|
||||
install icarus/resource/icarus.png ${placeholder "out"}/share/pixmaps/icarus-icon.png
|
||||
'') + ''
|
||||
mkdir -p "$out"/share/higan "$out"/share/icarus
|
||||
cp --recursive --no-dereference --preserve='links' --no-preserve='ownership' \
|
||||
higan/System/ "$out"/share/higan/
|
||||
cp --recursive --no-dereference --preserve='links' --no-preserve='ownership' \
|
||||
icarus/Database icarus/Firmware $out/share/icarus/
|
||||
'';
|
||||
install -d ${placeholder "out"}/share/higan
|
||||
cp -rd extras/ higan/System/ ${placeholder "out"}/share/higan/
|
||||
|
||||
fixupPhase = let
|
||||
dest = if stdenv.isDarwin
|
||||
then "\\$HOME/Library/Application Support/higan"
|
||||
else "\\$HOME/higan";
|
||||
in ''
|
||||
install -d ${placeholder "out"}/share/icarus
|
||||
cp -rd icarus/Database icarus/Firmware ${placeholder "out"}/share/icarus/
|
||||
'' + (
|
||||
# A dirty workaround, suggested by @cpages:
|
||||
# we create a first-run script to populate
|
||||
# $HOME with all the stuff needed at runtime
|
||||
|
||||
mkdir -p "$out"/bin
|
||||
cat <<EOF > $out/bin/higan-init.sh
|
||||
let
|
||||
dest = if stdenv.isDarwin
|
||||
then "\\$HOME/Library/Application Support/higan"
|
||||
else "\\$HOME/higan";
|
||||
in ''
|
||||
mkdir -p ${placeholder "out"}/bin
|
||||
cat <<EOF > ${placeholder "out"}/bin/higan-init.sh
|
||||
#!${runtimeShell}
|
||||
|
||||
cp --recursive --update $out/share/higan/System/ "${dest}"/
|
||||
cp --recursive --update ${placeholder "out"}/share/higan/System/ "${dest}"/
|
||||
|
||||
EOF
|
||||
|
||||
chmod +x $out/bin/higan-init.sh
|
||||
chmod +x ${placeholder "out"}/bin/higan-init.sh
|
||||
'') + ''
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/higan-emu/higan";
|
||||
description = "An open-source, cycle-accurate multi-system emulator";
|
||||
longDescription = ''
|
||||
higan is a multi-system game console emulator. The purpose of higan is to
|
||||
serve as hardware documentation in source code form: it is meant to be as
|
||||
accurate and complete as possible, with code that is easy to read and
|
||||
understand.
|
||||
higan is a multi-system emulator, originally developed by Near, with an
|
||||
uncompromising focus on accuracy and code readability.
|
||||
|
||||
It currently supports the following systems:
|
||||
- Famicom + Famicom Disk System
|
||||
- Super Famicom + Super Game Boy
|
||||
- Game Boy + Game Boy Color
|
||||
- Game Boy Advance + Game Boy Player
|
||||
- SG-1000 + SC-3000
|
||||
- Master System + Game Gear
|
||||
- Mega Drive + Mega CD
|
||||
- PC Engine + SuperGrafx
|
||||
- MSX + MSX2
|
||||
- ColecoVision
|
||||
- Neo Geo Pocket + Neo Geo Pocket Color
|
||||
- WonderSwan + WonderSwan Color + SwanCrystal + Pocket Challenge V2
|
||||
It currently emulates the following systems: Famicom, Famicom Disk System,
|
||||
Super Famicom, Super Game Boy, Game Boy, Game Boy Color, Game Boy Advance,
|
||||
Game Boy Player, SG-1000, SC-3000, Master System, Game Gear, Mega Drive,
|
||||
Mega CD, PC Engine, SuperGrafx, MSX, MSX2, ColecoVision, Neo Geo Pocket,
|
||||
Neo Geo Pocket Color, WonderSwan, WonderSwan Color, SwanCrystal, Pocket
|
||||
Challenge V2.
|
||||
'';
|
||||
homepage = "https://byuu.org/higan/";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ AndersonTorres ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
# TODO: Qt and GTK3+ support
|
||||
# TODO: select between Qt, GTK2 and GTK3
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
"ambiclimate" = ps: with ps; [ aiohttp-cors ambiclimate ];
|
||||
"ambient_station" = ps: with ps; [ aioambient ];
|
||||
"amcrest" = ps: with ps; [ amcrest ha-ffmpeg ];
|
||||
"ampio" = ps: with ps; [ ]; # missing inputs: asmog
|
||||
"ampio" = ps: with ps; [ asmog ];
|
||||
"analytics" = ps: with ps; [ aiohttp-cors sqlalchemy ];
|
||||
"android_ip_webcam" = ps: with ps; [ pydroid-ipcam ];
|
||||
"androidtv" = ps: with ps; [ adb-shell androidtv pure-python-adb ];
|
||||
|
|
|
@ -10,11 +10,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "exim";
|
||||
version = "4.94.2";
|
||||
version = "4.95";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://ftp.exim.org/pub/exim/exim4/${pname}-${version}.tar.xz";
|
||||
sha256 = "0x4j698gsawm8a3bz531pf1k6izyxfvry4hj5wb0aqphi7y62605";
|
||||
sha256 = "0rzi0kc3qiiaw8vnv5qrpwdvvh4sr5chns026xy99spjzx9vd76c";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, makeWrapper, iptables, iproute2, procps }:
|
||||
{ lib, stdenv, buildGoModule, fetchFromGitHub, makeWrapper, iptables, iproute2, procps }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "tailscale";
|
||||
|
@ -11,7 +11,7 @@ buildGoModule rec {
|
|||
sha256 = "sha256-66akb1ru2JJe23Cr8q9mkMmmgqtezqh+Mc8aA+Rovb8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
nativeBuildInputs = lib.optionals stdenv.isLinux [ makeWrapper ];
|
||||
|
||||
CGO_ENABLED = 0;
|
||||
|
||||
|
@ -25,7 +25,7 @@ buildGoModule rec {
|
|||
|
||||
ldflags = [ "-X tailscale.com/version.Long=${version}" "-X tailscale.com/version.Short=${version}" ];
|
||||
|
||||
postInstall = ''
|
||||
postInstall = lib.optionalString stdenv.isLinux ''
|
||||
wrapProgram $out/bin/tailscaled --prefix PATH : ${lib.makeBinPath [ iproute2 iptables ]}
|
||||
wrapProgram $out/bin/tailscale --suffix PATH : ${lib.makeBinPath [ procps ]}
|
||||
|
||||
|
@ -36,7 +36,6 @@ buildGoModule rec {
|
|||
meta = with lib; {
|
||||
homepage = "https://tailscale.com";
|
||||
description = "The node agent for Tailscale, a mesh VPN built on WireGuard";
|
||||
platforms = platforms.linux;
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ danderson mbaillie ];
|
||||
};
|
||||
|
|
29
pkgs/tools/misc/ledit/default.nix
Normal file
29
pkgs/tools/misc/ledit/default.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
{ lib, stdenv, fetchzip, ocaml, camlp5}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "ledit";
|
||||
version = "2.04";
|
||||
|
||||
src = fetchzip {
|
||||
url = "http://pauillac.inria.fr/~ddr/ledit/distrib/src/ledit-2.04.tgz";
|
||||
sha512 = "16vlv6rcsddwrvsqqiwxdfv5rxvblhrx0k84g7pjibi0an241yx8aqf8cj4f4sgl5xfs3frqrdf12zqwjf2h4jvk8jyhyar8n0nj3g0";
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
mkdir -p $out/bin
|
||||
substituteInPlace Makefile --replace /bin/rm rm --replace BINDIR=/usr/local/bin BINDIR=$out/bin
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
ocaml
|
||||
camlp5
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://pauillac.inria.fr/~ddr/ledit/";
|
||||
description = "A line editor, allowing to use shell commands with control characters like in emacs";
|
||||
license = licenses.bsd3;
|
||||
maintainers = [ maintainers.delta ];
|
||||
broken = lib.versionOlder ocaml.version "4.03";
|
||||
};
|
||||
}
|
|
@ -19,6 +19,8 @@ let
|
|||
|
||||
makeFlags = [ "PREFIX=$(out)" "INSTALLPREFIX=$(out)" ];
|
||||
|
||||
postInstall = ''chmod +x "$out"/lib/libminiupnpc.so'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://miniupnp.free.fr/";
|
||||
description = "A client that implements the UPnP Internet Gateway Device (IGD) specification";
|
||||
|
|
|
@ -708,7 +708,8 @@ with pkgs;
|
|||
inherit (darwin) signingUtils;
|
||||
};
|
||||
|
||||
vmTools = callPackage ../build-support/vm { };
|
||||
# No callPackage. In particular, we don't want `img` *package* in parameters.
|
||||
vmTools = makeOverridable (import ../build-support/vm) { inherit pkgs lib; };
|
||||
|
||||
releaseTools = callPackage ../build-support/release { };
|
||||
|
||||
|
@ -6921,6 +6922,10 @@ with pkgs;
|
|||
|
||||
leatherman = callPackage ../development/libraries/leatherman { };
|
||||
|
||||
ledit = callPackage ../tools/misc/ledit {
|
||||
inherit (ocamlPackages) camlp5;
|
||||
};
|
||||
|
||||
ledmon = callPackage ../tools/system/ledmon { };
|
||||
|
||||
leela = callPackage ../tools/graphics/leela { };
|
||||
|
@ -32636,7 +32641,6 @@ with pkgs;
|
|||
};
|
||||
|
||||
higan = callPackage ../misc/emulators/higan {
|
||||
inherit (gnome2) gtksourceview;
|
||||
inherit (darwin.apple_sdk.frameworks) Carbon Cocoa OpenGL OpenAL;
|
||||
};
|
||||
|
||||
|
|
|
@ -627,6 +627,10 @@ let
|
|||
|
||||
lua-ml = callPackage ../development/ocaml-modules/lua-ml { };
|
||||
|
||||
lustre-v6 = callPackage ../development/ocaml-modules/lustre-v6 { };
|
||||
|
||||
lutils = callPackage ../development/ocaml-modules/lutils { };
|
||||
|
||||
luv = callPackage ../development/ocaml-modules/luv {
|
||||
inherit (pkgs) file;
|
||||
};
|
||||
|
@ -847,6 +851,8 @@ let
|
|||
|
||||
frontc = callPackage ../development/ocaml-modules/frontc { };
|
||||
|
||||
ocamlformat-rpc-lib = callPackage ../development/ocaml-modules/ocamlformat-rpc-lib { };
|
||||
|
||||
ocamlfuse = callPackage ../development/ocaml-modules/ocamlfuse { };
|
||||
|
||||
ocaml-freestanding = callPackage ../development/ocaml-modules/ocaml-freestanding { };
|
||||
|
@ -1180,6 +1186,8 @@ let
|
|||
|
||||
randomconv = callPackage ../development/ocaml-modules/randomconv { };
|
||||
|
||||
rdbg = callPackage ../development/ocaml-modules/rdbg { };
|
||||
|
||||
re = callPackage ../development/ocaml-modules/re { };
|
||||
|
||||
react = callPackage ../development/ocaml-modules/react { };
|
||||
|
|
|
@ -579,6 +579,8 @@ in {
|
|||
|
||||
asgiref = callPackage ../development/python-modules/asgiref { };
|
||||
|
||||
asmog = callPackage ../development/python-modules/asmog { };
|
||||
|
||||
asn1 = callPackage ../development/python-modules/asn1 { };
|
||||
|
||||
asn1ate = callPackage ../development/python-modules/asn1ate { };
|
||||
|
|
Loading…
Reference in a new issue